Compare commits

...

1035 Commits
5.30.x ... main

Author SHA1 Message Date
Alvaro Carrasco 6700d2f196 v5.63.0-beta.1 2022-10-05 19:44:30 -06:00
Alvaro Carrasco 0dfadaf732 Updated strings 2022-10-05 18:47:28 -06:00
Jim Gustafson 9dae967b6e
Update to RingRTC v2.21.2 2022-10-05 15:47:50 -07:00
Scott Nonnenberg 5e63d8aadf
Pipe device number through for sync'd sent story messages 2022-10-05 13:49:43 -07:00
Josh Perez b0203e8909
Do not allow send to announcement only groups 2022-10-05 15:43:37 -04:00
Evan Hahn 5219cdf2c9
Make 1 the minimum registration ID 2022-10-05 09:35:56 -07:00
Fedor Indutny e20ec013f5
Provide pni registration id in createAccount 2022-10-04 17:50:07 -07:00
Fedor Indutny ebafc933b9
Use X-Signal-Receive-Stories header 2022-10-04 17:48:25 -07:00
Alvaro c52fe3f377
Story - add caption 2022-10-04 17:17:15 -06:00
Alvaro 8fcd36e30a
Removed Note to Self story ring 2022-10-04 15:39:29 -06:00
Jamie Kyle 3e73b30a9d
Dont forward group story replies into conversation 2022-10-04 11:42:42 -07:00
Fedor Indutny 80f8f38e33
Fix storybook 2022-10-04 11:25:52 -07:00
Fedor Indutny 8b705d3b55
Sync `storiesDisabled` flag on AccountRecord 2022-10-04 10:53:36 -07:00
Josh Perez 3e57cb8549
Updates stories toggle in settings 2022-10-03 16:56:10 -07:00
Alvaro 458eb2ea81
Voice-note animation fixes 2022-10-03 17:43:44 -06:00
Alvaro 56f8842ed2
Fixed padding on call settings modal 2022-10-03 16:13:59 -07:00
Alvaro 44db76531e
markStoryRead: More logging in unusual cases 2022-10-03 16:10:20 -07:00
Fedor Indutny b65890b07d
Update to latest pino 2022-10-03 15:53:41 -07:00
Josh Perez 3cc122f756
Show proper distribution list name in story viewer 2022-10-03 15:22:01 -07:00
Jamie Kyle 6d56f8b8aa
support icu messageformat for translations 2022-10-03 14:19:54 -07:00
Alvaro Carrasco b5c514e1d1 Merge remote-tracking branch 'cgillesp/main' 2022-10-03 12:55:07 -06:00
Alvaro f533517672
Don't fallback to client-fanout on timeout, and more logs 2022-09-30 13:33:24 -07:00
Gillespie 364ae85079 Made sticker picker padding smaller so it doesn't overflow. 2022-09-30 13:20:12 -04:00
Scott Nonnenberg 2b2594c20a
Stories: Fix sender key persistence, pipe story: true into sends 2022-09-30 09:59:36 -07:00
Josh Perez 67c706a7ef
Ensure deleting conversation deletes story replies 2022-09-29 17:57:11 -07:00
Alvaro 00a720faa9
Refactored and cleaned up Modal and friends 2022-09-29 16:40:09 -06:00
Fedor Indutny f64426fbe0
Fix outside click in story replies 2022-09-29 13:13:45 -07:00
Fedor Indutny b449450098
Better fix for custom titlebar in RTL locale 2022-09-28 17:38:01 -07:00
Fedor Indutnyy 2e35f56f2c v5.62.0-beta.1 2022-09-28 11:41:08 -07:00
Fedor Indutnyy 49c6cc00e7 Add release notes for 5.62.x 2022-09-28 11:41:08 -07:00
Fedor Indutnyy 5cfaeeaae1 Add extra languages 2022-09-28 11:13:34 -07:00
Fedor Indutnyy 8793e0e1f2 Update strings 2022-09-28 10:55:55 -07:00
Alvaro ab153b30c8
Remove unused name on Avatar 2022-09-28 09:27:52 -07:00
Alvaro 0c120eaf3a
Disabled arrow-key navigation while displaying replies modal 2022-09-28 09:26:46 -07:00
dependabot[bot] a9af4ca3ee
Upgrade vm2 to v3.9.11 2022-09-28 09:14:24 -07:00
Fedor Indutny e79d8c1fd6
Disable hardware acceleration on linux 2022-09-27 17:55:42 -07:00
Fedor Indutny ffac571dd8
systemGivenName/systemFamilyName in ContactPill 2022-09-27 17:07:00 -06:00
Scott Nonnenberg 5957c111cf
Move to smartling for translation services 2022-09-27 14:01:06 -07:00
Fedor Indutny 620067342a
Fix archive icon in collapsed left pane 2022-09-27 13:40:24 -07:00
Fedor Indutny 0ab85a6094
Fix UI in PendingInvites 2022-09-27 13:31:55 -07:00
Fedor Indutny 698c7a7739
Fix click handling for stories 2022-09-27 13:24:21 -07:00
Fedor Indutny c0082adc56
Revert "Enable fullfsync mode in the database"
This reverts commit a2eac80034.
2022-09-27 13:15:53 -07:00
Fedor Indutny 124d671368
Fix titlebar position in RTL mode 2022-09-27 13:12:34 -07:00
Alvaro 1d2cb877e4
Better handling of long about messages in story viewer selector 2022-09-27 13:09:16 -07:00
Fedor Indutny 373f121887
Extend cleanSignedPreKeys to support PNI 2022-09-27 09:33:56 -07:00
Alvaro cfe66a2c0b
Re-arranged story viewer components to render meta above arrow-buttons 2022-09-26 18:49:18 -06:00
Alvaro 5baf3a7feb
Reverting left-alignment of toasts 2022-09-26 17:09:50 -07:00
Jim Gustafson b90aee22d1
Update to RingRTC v2.21.1 2022-09-26 13:48:21 -07:00
Alvaro ec454a9419
Handled ESC to go from stories to chats 2022-09-26 13:28:40 -07:00
Scott Nonnenberg 5ed5483dd7
Eliminate unknown groups and contacts from search results 2022-09-26 13:18:11 -07:00
Alvaro a921f267f5
Fixed Avatar storyRing and blur on storybook 2022-09-26 13:12:51 -06:00
Fedor Indutny 1aef9dadd7
Fix display of titlebar in fullscreen on Windows 2022-09-26 13:12:04 -06:00
Alvaro 22bf3ebcc0
Implemented ability to quickly add a user to a group 2022-09-26 09:24:52 -07:00
Josh Perez 190cd9408b v5.61.0-beta.1 2022-09-23 14:46:58 -04:00
Josh Perez 649faf0092 v5.61 release notes 2022-09-23 14:46:25 -04:00
Alvaro 0524a00471
Clamped story meta to a maximum width of the view port width 2022-09-23 07:39:00 -06:00
Scott Nonnenberg a7253be213
getUnreadByConversationAndMarkRead: Take 'now' param for reliable tests 2022-09-22 16:49:06 -07:00
Alvaro 77bf3a8669
Don't scroll to the bottom of story replies 2022-09-22 13:18:26 -07:00
Alvaro 004abd44b5
Filtered out sender from story Sent To list 2022-09-22 12:03:50 -07:00
Josh Perez d911439f0f
Include distribution list name on sent stories 2022-09-22 14:56:49 -04:00
Josh Perez 94ef800e33
Autoplay the hidden stories section 2022-09-22 14:56:39 -04:00
Alvaro 7edb9edfe1
Added missing fonts to _fontfaces.scss 2022-09-22 11:51:55 -07:00
Scott Nonnenberg 3e27bc091a
Reduce minimum window size to 300px by 200px 2022-09-22 09:43:36 -07:00
Josh Perez 89b5768775
Fixes story viewing for reduced motion users 2022-09-21 20:56:05 -04:00
Josh Perez 0be580e8e5
Fixes story play order 2022-09-21 20:55:23 -04:00
Alvaro 4308739bc0
Fixes expirationTimer i18n 2022-09-21 17:57:44 -06:00
Josh Perez af5a496994
Sort stories when they were read at 2022-09-21 17:54:48 -06:00
Josh Perez b04fbb6d8d
Do not allow replies to self story 2022-09-21 12:19:16 -07:00
Fedor Indutnyy d221895b3a Update strings 2022-09-21 10:06:24 -07:00
Fedor Indutny 59da9c7ae5
Stop using deprecated PniCredential 2022-09-21 09:18:48 -07:00
Josh Perez b7526d4e26
Use new story background colors 2022-09-21 08:48:04 -06:00
Scott Nonnenberg 041957ca63
Improve spacing on no-video one-participant call screen 2022-09-20 23:14:30 -04:00
Alvaro fe455a482f
Fixed story link preview tooltip fonts and avoid scaling them as the story scales 2022-09-20 18:32:37 -06:00
Fedor Indutny 249f5c37fc
Keep custom titlebar in full screen mode 2022-09-20 16:56:01 -07:00
Fedor Indutny e0ae5fc27c
Wait for contact sync in MessageReceiver 2022-09-20 16:53:38 -07:00
Fedor Indutny 53e17e8e08
Update to esbuild 0.15.8 2022-09-20 16:52:32 -07:00
Alvaro b4c9c3051b
Animated voice-note controls and used image x for playback rate 2022-09-19 17:28:10 -07:00
Fedor Indutny f9453c64dd
Test rate-limiting, stories in mock server 2022-09-19 15:08:55 -07:00
Scott Nonnenberg 450051e541
Only process signal domain links if they have hash/path/query 2022-09-19 13:42:37 -07:00
Scott Nonnenberg 5e9f3d5171
Unarchive conversation if another device sent a message to it 2022-09-19 13:40:03 -07:00
Fedor Indutny 1c670977d3
Disable remapping of 'minimize' to 'close' 2022-09-19 13:37:47 -07:00
Josh Perez e8d226766d
Change story text size to px 2022-09-19 12:48:10 -06:00
Fedor Indutny 62647a357f
Support unregisteredAtTimestamp in storage service 2022-09-19 11:47:49 -07:00
Scott Nonnenberg 6936cc1e2e
Don't include emoji name when searching; only use short_name 2022-09-19 09:34:20 -07:00
Scott Nonnenberg 46baf2a69b
_locales: Remove empty description fields 2022-09-16 14:59:00 -07:00
Jamie Kyle bbf4e74239
Init Danger/Endanger with Backbone/package.json versions rules 2022-09-16 11:32:28 -07:00
Scott Nonnenberg c6819a5438
Ensure that one emoji is added, when expected 2022-09-15 16:15:56 -07:00
Jamie Kyle b290b577d4
Remove unreachable code 2022-09-15 14:44:47 -07:00
Jamie Kyle 01587b0f39
Accept multiple images and videos in attachment picker 2022-09-15 14:40:48 -07:00
Alvaro 6cfe2a09df
Consecutive playback and per-conversation playback rate 2022-09-15 14:10:46 -06:00
Jamie Kyle eb10aafd7c
tsc:allowUnreachableCode, eslint:no-unreachable, assert->assertDev 2022-09-15 13:17:15 -06:00
Fedor Indutny f627a05cf8
Fix color pick in TextStoryCreator 2022-09-15 13:11:40 -06:00
dependabot[bot] eb9716a0d5
Upgrade minimist to v1.2.6 2022-09-15 11:36:59 -07:00
Fedor Indutny a6a80cebe9
Ignore "minimize" event on Linux 2022-09-15 11:34:51 -07:00
Fedor Indutny 635840cd99
Properly handle closing click events in modals 2022-09-14 18:58:35 -07:00
Scott Nonnenberg b348bf9b70 v5.60.0-beta.1 2022-09-14 18:16:02 -07:00
Scott Nonnenberg 625ce00a32 Update strings 2022-09-14 18:01:34 -07:00
Fedor Indutny e3f418105b
Improve challenge handling 2022-09-14 17:31:37 -07:00
Fedor Indutny e0852abcdc
Update electron to 20.1.4 2022-09-14 16:53:08 -07:00
Jamie Kyle 0086216c9d
Add eqeqeq rule but require == for null 2022-09-14 14:40:44 -07:00
jamiebuilds-signal 64a4d2e717
Improved reliability of strictAssert 2022-09-14 09:40:50 -07:00
Fedor Indutny 1a54d438c2
Separate flag for cdsi in beta channel 2022-09-13 21:07:47 -07:00
jamiebuilds-signal 5a8f484a03
Enable brace-style eslint rules 2022-09-13 14:48:09 -07:00
jamiebuilds-signal 73bdcdfd0a
Fix storyviewer title for groups 2022-09-13 15:33:53 -06:00
Fedor Indutny 3e6156ced7
Run checkForConflicts on a p-queue 2022-09-13 09:16:01 -07:00
Fedor Indutny a040330d89
Don't clear manually applied link preview 2022-09-13 08:08:28 -06:00
Scott Nonnenberg 8899ca9724
Improve logging in handleDataMessage and contact sync 2022-09-12 17:52:55 -07:00
Fedor Indutny 1465682555
Center "Disappearing Messages" in Create Group 2022-09-12 16:38:28 -07:00
jamiebuilds-signal 537955b009
Fix StoryViewer rendering "You" 2022-09-12 15:03:25 -07:00
Fedor Indutny 9bc4117259
Never pass negative speaker height to RingRTC 2022-09-12 13:50:13 -06:00
Scott Nonnenberg 380833447f
Stories: Don't drop 1:1 replies, always 24-hour expireTimer 2022-09-09 18:05:07 -06:00
Alvaro 383a0fd17f
Added the time remaining for disappearing messages and stories 2022-09-09 11:35:00 -07:00
Alvaro 134265496b
Fixed positioning of emoji popper - avoids range error 2022-09-09 11:15:28 -07:00
Fedor Indutny 692c5679f8
Update electron to 20.1.3 2022-09-08 16:39:48 -07:00
Fedor Indutny 1e825fd1e8
Fix recursion loop in sendStory 2022-09-08 16:17:38 -07:00
Alvaro Carrasco 8d7cbeef64 v5.59.0-beta.1 2022-09-08 17:07:07 -06:00
Scott Nonnenberg 9d50679473
Message.tsx: Don't let event propagate on generic attachment click 2022-09-08 15:09:40 -07:00
Fedor Indutnyy 34f2ce06c6 Update strings 2022-09-08 15:02:09 -07:00
Evan Hahn ef6dbf9485
Prevent text selection on left pane header 2022-09-08 09:48:31 -06:00
Scott Nonnenberg 928acbaf41
Sticker Creator: Use findIndex to determine cover sticker index 2022-09-07 16:10:15 -06:00
Fedor Indutny c76b6d66ca Preload correct font versions 2022-09-07 14:17:09 -07:00
Fedor Indutny ae01ad4276 Persist hasSetMyStoriesPrivacy in storage service 2022-09-07 14:17:09 -07:00
Scott Nonnenberg 03b750d072 Fix keyboard handling in ReactionPicker/Viewer and their child views 2022-09-07 14:17:09 -07:00
Fedor Indutnyy 0bf77fadd3 Update strings 2022-09-07 14:17:09 -07:00
Scott Nonnenberg 192c85bb0e getNextAttachmentDownloadJobs: Delete malformed jobs 2022-09-07 14:17:08 -07:00
Fedor Indutny 55a5c51236 Provide speakerHeight to ringrtc 2022-09-07 14:17:08 -07:00
Jordan Rose 618a7725fe Simplify logging 2022-09-07 14:17:03 -07:00
Scott Nonnenberg 56ffd7bc3f
Expire Timer: If we generated change, don't mark unread 2022-09-06 17:52:07 -06:00
Scott Nonnenberg 6a1b6f2e44
Protocol Filter: Catch and return 'invalid url' on all errors 2022-09-06 17:28:00 -06:00
Fedor Indutny b54c6f257d
Minimize and start Signal in tray 2022-09-06 15:09:52 -07:00
Evan Hahn aa86d8bf82
Lint .d.ts files 2022-09-06 13:51:34 -07:00
Scott Nonnenberg 6b82d67de1
Fix specificity for unread story ring styles 2022-09-01 18:27:26 -07:00
Scott Nonnenberg 6dd2b73855
Storage/getItemsState: Warn if not ready, log on success as well 2022-09-01 18:05:47 -07:00
Fedor Indutny 6c9848efcd
Move mocha timeout setup to test.js 2022-09-01 11:56:25 -07:00
Scott Nonnenberg 8bbd892693
Contact Sync: Consider undefined value as a disabled expire timer 2022-09-01 11:26:10 -07:00
Fedor Indutny a48ea4ab76
Re-order CI actions for macos 2022-09-01 11:15:24 -07:00
Fedor Indutny 0715cc6be3
Fix flaky test and add screenshots 2022-09-01 09:35:44 -07:00
Scott Nonnenberg 0ba23d4b62
Format all messages.json files in preparation for larger changes 2022-08-31 20:42:18 -07:00
Fedor Indutnyy db155b9752 v5.58.0-beta.1 2022-08-31 16:12:06 -07:00
Fedor Indutnyy 663949ad81 Update strings 2022-08-31 16:00:05 -07:00
Scott Nonnenberg c819d27ce9
Don't log call audio levels actions to console in dev mode 2022-08-31 15:58:05 -07:00
Scott Nonnenberg 1cb70547fb
Ensure non-visual attachments can be manually downloaded 2022-08-31 15:32:06 -07:00
Fedor Indutny dda21701c5
Pass proxyUrl to LegacyCDS 2022-08-31 13:45:58 -07:00
Alvaro dd12c4cba3
Fixed playback-speed button bug and updated layout 2022-08-31 14:42:09 -06:00
Fedor Indutny 2b5f0ffc10
Update Inter to 3.19 2022-08-31 12:57:21 -07:00
Fedor Indutny 206f65e67d
Use ContactPills in StoriesSettingsModal 2022-08-31 10:18:18 -06:00
Jim Gustafson 9e02a57d77
Update to RingRTC v2.21.0 2022-08-31 09:12:28 -07:00
Josh Perez 39143015c5
UI for when read receipts are turned off 2022-08-31 09:11:14 -07:00
Fedor Indutny 7632f31cf2
Show internal error toast on CDS errors 2022-08-30 17:03:42 -07:00
Evan Hahn 39354b11b7
Prefer `type` to `interface` in `.d.ts` files 2022-08-30 16:24:04 -05:00
Josh Perez 9d7eaa003f
Remove group from story feature 2022-08-30 12:13:32 -07:00
Fedor Indutny 0c13ee896a
Update node to 16.15.0 to match electron 2022-08-29 15:40:57 -07:00
Fedor Indutny e5f6de946f
Update electron to 20.1.0 2022-08-29 09:28:41 -07:00
Fedor Indutny b6f9ee94b5
Update libsignal-client to 0.20.0 2022-08-26 15:39:54 -07:00
Fedor Indutny c42df6312e
contactSync should depend on syncMessage.complete 2022-08-26 15:26:38 -07:00
Alvaro 299044f89f
Fixed joining ongoing video call by a non-admin on an announcement-only group 2022-08-26 09:02:47 -06:00
Alvaro 07ab071c3d
Increased conversation header clickable area 2022-08-25 17:56:20 -06:00
Alvaro ca6300a86a
Added last-message's author to group conversation list in left pane 2022-08-25 09:16:37 -07:00
Josh Perez eadef45290
Fix story group replies rendering 2022-08-25 12:10:56 -04:00
Josh Perez afc14aedd1
Use conversationId to hide/goToChat in StoryViewer 2022-08-25 11:32:54 -04:00
Fedor Indutny 7ce4beb270
Refactor contact sync processing 2022-08-24 22:04:42 -07:00
Josh Perez 76e73f63dc
My stories button improvements 2022-08-24 20:34:17 -04:00
Josh Perez 984f26c98e
Polish up the My Stories page 2022-08-24 20:33:16 -04:00
Josh Perez 68398823e3
Log when a story gets an expiration timer set 2022-08-24 16:34:10 -07:00
Josh Perez 1aa7d4cadb
Only show message/reaction sent toast for 1:1 replies 2022-08-24 14:39:44 -07:00
Josh Perez 981bbf1a3f
Change the MyStories sort order 2022-08-24 14:39:10 -07:00
Josh Perez 3eecd23c8d
Adjust text stories to fit more nicely 2022-08-24 14:35:32 -07:00
Fedor Indutnyy 3d7859c46b v5.57.0-beta.1 2022-08-24 14:18:10 -07:00
Fedor Indutnyy ca899d3ce1 Release notes 2022-08-24 14:18:10 -07:00
Fedor Indutny 604e733dce
Update legacy CDS enclaveId 2022-08-24 14:02:12 -07:00
Fedor Indutnyy 176c7886a4 Update strings 2022-08-24 13:46:10 -07:00
Josh Perez cdb453c659
Change avatar story ring color for light theme 2022-08-24 12:29:51 -06:00
Fedor Indutnyy 7d36e4ce35 Merge pull request #5976 2022-08-24 10:43:04 -07:00
Fedor Indutny 2237f08507
Fix signal.me links 2022-08-24 10:33:48 -07:00
Fedor Indutny 6e3ec163dc
Drop pnpChangeNumber capability 2022-08-24 09:34:00 -07:00
Josh Perez fef9e5b58e
@mention support for story replies 2022-08-23 11:02:51 -07:00
Josh Perez a4f727a5b2
Queue attachment downloads when receiving a view sync 2022-08-23 13:38:13 -04:00
Josh Perez 22b05b6d11
Clear stories notification after visiting stories view 2022-08-23 13:37:48 -04:00
Josh Perez f611256afc
First time My Stories post experience 2022-08-23 10:24:55 -07:00
Fedor Indutny c18fa35354
Remove unused CDSH code 2022-08-23 09:38:46 -07:00
Josh Perez 413b6dbd5c
Assert that retried UUID is still part of dlist 2022-08-23 12:37:16 -04:00
Jordan Rose a52bb25731
Typing while the emoji picker is up should enter search mode 2022-08-22 16:31:35 -07:00
Josh Perez e9f4e28b3d
Properly mark story messages as read locally 2022-08-22 15:13:30 -07:00
Josh Perez 6f7094bc19
Allow paging through My Stories 2022-08-22 13:44:23 -04:00
Josh Perez 70bdbe33d5
Group stories should have a different timestamp 2022-08-19 14:12:05 -07:00
Josh Perez f7f65de322
Improvements to the MyStories row 2022-08-19 11:36:47 -07:00
Scott Nonnenberg 6dd6a64d6c
ErrorBoundary improvements, StickerCreator logging/resiliency 2022-08-19 11:35:40 -07:00
Josh Perez 0fb45f045d
Handle Safety Number changes while sending a story 2022-08-19 14:05:31 -04:00
Fedor Indutny d036803df9
Mirror CDS requests 2022-08-18 17:31:12 -07:00
Josh Perez de84dc06c8
Fixes emoji-only rendering within a story reply context 2022-08-18 16:28:51 -07:00
Josh Perez bdcdf424e6
Dark mode only for SendStoryModal 2022-08-18 15:47:59 -07:00
Fedor Indutny 757af2cbbe
Include ACI+Access Keys pairs with CDSI requests 2022-08-18 13:44:53 -07:00
Alvaro 13046dc020
Added a playback speed button on voice notes 2022-08-18 11:43:44 -04:00
Alvaro bb9a7113f1
Made the emoji autocomplete aligned with the :word 2022-08-18 09:02:13 -06:00
Josh Perez 3436283165 Merge signalapp/Signal-Desktop#6036 2022-08-18 10:37:48 -04:00
Jordan Rose d15ae63396
Test that the zkgroup serverPublicParams are up to date 2022-08-17 16:31:18 -07:00
Josh Perez 0b5d643b9a v5.56.0-beta.1 2022-08-17 19:20:19 -04:00
Josh Perez a10ce8a4fe Updates translations 2022-08-17 19:20:12 -04:00
Josh Perez 5c819456c9 Rotate release notes for 5.56.x 2022-08-17 19:20:06 -04:00
Scott Nonnenberg 74374e4313
maybeMergeContacts/create: Put PNI into UUID field if no ACI 2022-08-17 16:12:38 -07:00
Fedor Indutny 15714f35ef
Rename remote config flag 2022-08-17 15:06:17 -07:00
Fedor Indutny 260ae89489
Update electron to 19.0.13 2022-08-17 13:59:04 -07:00
Josh Perez 5ec78374d1
Use just the timestamp for story expiration 2022-08-17 10:56:41 -07:00
Fedor Indutny 16222f6092
Reset pniCredential when our E164 changes 2022-08-17 09:22:59 -07:00
Jim Gustafson 9e4a0cfd9a
Update to RingRTC v2.20.14 2022-08-16 17:47:04 -07:00
Josh Perez 936ce91b2e
Move getUntrustedContacts out of conversation_view 2022-08-16 16:59:11 -07:00
Fedor Indutny 96c4cc4bcf
Introduce desktop.pnp.storageService flag 2022-08-16 16:58:17 -07:00
Fedor Indutny 647335086d
Use ourPni when creating our own contact 2022-08-16 16:52:34 -07:00
Fedor Indutny 5a3c04d630
Additional logging for calling service 2022-08-16 16:52:09 -07:00
Scott Nonnenberg 932043c58f
Make attachments more resilient, decrease websocket keepalive 2022-08-16 16:49:47 -07:00
Josh Perez ce77465d23
Mark stories as viewed if we have a view sync during modifyTargetMessage 2022-08-16 16:45:03 -07:00
Fedor Indutny 201c6f9078
Stop using textarea in DebugLogWindow 2022-08-16 16:19:28 -07:00
Fedor Indutny 1a50545084
Update electron to 19.0.12 2022-08-16 08:54:57 -06:00
Fedor Indutny d0264c844f
Fix handling of STICKER_PACK unknown records 2022-08-16 00:05:09 -07:00
Fedor Indutny 00cfd92dd0
Send and receive PniSignatureMessage 2022-08-15 14:53:33 -07:00
Alvaro 95be24e8f7
Make ESC key dismiss MediaEditor and TextStoryCreator modals 2022-08-15 13:35:30 -06:00
Josh Perez 385eb63fd5
Add a log indicating when a reaction was added to a story 2022-08-15 11:47:45 -07:00
Scott Nonnenberg 7399086939
Group Credentials: Request six days of data to account for clock skew 2022-08-15 09:34:27 -07:00
Josh Perez 1d0b1d806a
Only accept video/mp4 for story uploads 2022-08-12 16:44:10 -07:00
Josh Perez 6da4b03a1e
Single context menu open at a time 2022-08-12 14:32:27 -07:00
Josh Perez 933a1e2b39
Fix chevron clipping in storyviewer 2022-08-12 14:07:12 -06:00
Fedor Indutny 0a299ec7e5
Fix assertion in mergeStickerPackRecord 2022-08-12 15:44:09 -04:00
Scott Nonnenberg da28b4d6cd
getUnverified/getUntrusted: Return conversation array, not collection 2022-08-12 15:43:24 -04:00
Alvaro 3991b06256
Increased the distance to support contacts that may have even longer titles 2022-08-12 12:10:52 -04:00
Scott Nonnenberg a160fb7963
Unarchive conversations when we add a calling event to it 2022-08-11 17:28:55 -07:00
Josh Perez 584b39baa8
Avoid race conditions when queueing a story for download 2022-08-11 15:26:26 -07:00
Josh Perez 0a81376ca0
Do not accept stories without a name and no deletedAtTimestamp 2022-08-11 18:03:22 -04:00
Josh Perez f09b214016
Adjust story duration 2022-08-11 14:03:56 -07:00
Josh Perez f9c2e9b0af
softAssert that messageId is always a UUID 2022-08-11 14:02:25 -07:00
Fedor Indutny 465bdad2bf
Open inbox when linking and suddenly offline 2022-08-11 13:28:31 -07:00
Josh Perez f7b2627991
Fixes isHidden prop from not being present in StoryView 2022-08-11 12:38:24 -07:00
Josh Perez 7126cbd5e4
Do not allow MyStories to be deleted 2022-08-11 12:18:48 -07:00
Fedor Indutny 68a0c44e19
Register pnpChangeNumber capability 2022-08-11 09:52:24 -07:00
Fedor Indutny 32237d7008
Cancel throttled refreshRemoteConfig on link 2022-08-10 16:38:52 -07:00
Fedor Indutny 211e1f697b
Patch websocket to fix data after end issues 2022-08-10 16:21:30 -07:00
Fedor Indutnyy 12b1f31d32 v5.55.0-beta.1 2022-08-10 14:47:22 -07:00
Alvaro 4f1613e82e
Adding some <Emojify/> that were missing 2022-08-10 14:46:43 -07:00
Fedor Indutnyy 2cfa4b72da Update strings 2022-08-10 12:33:29 -07:00
Josh Perez 5b6874b882
Download your own story attachments. Hydrate story replies on receive 2022-08-10 11:48:52 -07:00
Scott Nonnenberg 269d170275
A number of additional merging fixes 2022-08-10 11:39:04 -07:00
Josh Perez ccc89545c5
Lets users send stories to groups 2022-08-10 14:37:19 -04:00
Alvaro d4b74db05c
Don't create preview icon for links with no image (quotes) 2022-08-10 10:48:33 -07:00
Josh Perez 35f682f4dc
Pass deletedAtTimestamp into dlist db call 2022-08-10 12:31:15 -04:00
Josh Perez 0ce4ea327b
Adjust close button positioning in story viewer 2022-08-09 16:46:56 -07:00
Scott Nonnenberg 5d45197fe2
Remove restriction on maybeMergeContacts, combineConversations fixes 2022-08-09 16:46:01 -07:00
Josh Perez 0fc5976117
For distribution lists make sure we only use convos with uuid 2022-08-09 16:45:39 -07:00
Scott Nonnenberg faf6c41332
Early preparations for PNP Contact Merging 2022-08-09 14:39:00 -07:00
Josh Perez 2f5dd73e58
Send stories to groups capability 2022-08-08 23:26:21 -04:00
Fedor Indutny 62962e4950
Support iasVersion 4 2022-08-08 18:09:44 -07:00
Alvaro aa2bb68d4a
Increased fuse search distance from 100 (default) to 150 2022-08-08 16:41:20 -06:00
Scott Nonnenberg 46428b5af6
Don't use original filenames when saving multi-attachment messages 2022-08-08 12:04:47 -07:00
Scott Nonnenberg fde917c983
A few fixes for the emoji bundled with stickers 2022-08-08 11:21:00 -07:00
Josh Perez 7a1686b915
Add a permanent add story button to MyStories 2022-08-05 16:24:49 -07:00
Josh Perez 71382b8f65
Do not count DOE stories in the unread count 2022-08-05 13:17:14 -04:00
Evan Hahn f735a9cfa7
Always respect DOE from your own devices 2022-08-05 09:05:30 -07:00
Josh Perez 5dc42122a8
Use <Message /> for group story replies 2022-08-04 21:29:44 -04:00
Josh Perez dca848389c
Sync stories sent to a group 2022-08-04 21:13:26 -04:00
Josh Perez 808118d1e4
Grab new story duration whenever messageId changes 2022-08-04 21:08:15 -04:00
Josh Perez 726e67ce95
Place calls on top of story viewer, pause stories while in call 2022-08-04 21:07:46 -04:00
Josh Perez 190db3580d
Drop incoming messages with a story context and no matching story 2022-08-04 15:15:53 -07:00
Scott Nonnenberg 276435f035
RoutineProfileRefresher: Track instances, only start() once, min sleep 2022-08-04 14:43:47 -07:00
Josh Perez 41081cb620
Filter out groups from signal connections 2022-08-04 13:26:29 -07:00
Josh Perez 7bc6bbc668
Send story images/video 2022-08-04 12:23:24 -07:00
Frazer Smith a1a4024079
ci(backport): update copyright year 2022-08-04 08:39:21 +01:00
Josh Perez fcf7406dd4
Adds error states to story images 2022-08-03 20:38:41 -04:00
Josh Perez 782838c591
Sync MyStories using the ID not the name 2022-08-03 20:10:05 -04:00
Fedor Indutny 6d1a27be5a
Upgrade electron to 19.0.11 2022-08-03 16:47:35 -07:00
Scott Nonnenberg 63ec6904bf v5.54.0-beta.1 2022-08-03 14:39:45 -07:00
Scott Nonnenberg 9328a56430 Update strings 2022-08-03 14:27:34 -07:00
Scott Nonnenberg 2596e5f61c Add release notes for v5.54 2022-08-03 14:16:17 -07:00
Josh Perez 8f47259b1b
Aligns context menu buttons correctly 2022-08-03 13:54:02 -07:00
Scott Nonnenberg 8bcb584ca5
Eliminate strange text layout in CAPTCHA dialog 2022-08-03 10:51:58 -07:00
Fedor Indutny b47a906211
Stickers in storage service 2022-08-03 10:10:49 -07:00
Fedor Indutny d8a7e99c81
Consistent log lines for WebAPI requests 2022-08-03 09:23:29 -07:00
Josh Perez 58a0cb7497
Contain story media within the viewer bounds 2022-08-03 08:53:23 -07:00
Josh Perez 9eff67446f
Send text attachment stories 2022-08-02 15:31:55 -04:00
Fedor Indutny 0340f4ee1d
Fix positioning of StoryViewer 2022-08-02 10:05:51 -07:00
Fedor Indutny b1818b234f
Update mock-server to 2.4.1 2022-08-02 09:32:19 -07:00
Fedor Indutny 2b0d3cab40
Remove `source` from Envelope 2022-08-02 09:19:21 -07:00
Scott Nonnenberg 3d94bf953c
AttachmentDownloads: Wait for job completion, validate active job list 2022-08-01 19:25:53 -07:00
Scott Nonnenberg 2b648b79a4
Upgrade to libsignal-client v0.19.2 2022-08-01 18:31:24 -07:00
Jim Gustafson e8c6f68e3f
Update to RingRTC v2.20.13 2022-08-01 09:02:55 -07:00
Josh Perez 3af478837d
Drop duplicate stories 2022-07-29 16:01:33 -07:00
Josh Perez c3bb3b152e
Update selectedStoryData whenever its story changes 2022-07-29 13:22:55 -07:00
Josh Perez 58aaf1d0e7
Improvements to sound on/off in story viewer 2022-07-29 15:27:02 -04:00
Josh Perez f1c9db543e
Ensure MyStories is part of the stories pane list 2022-07-29 15:26:40 -04:00
Josh Perez 76cff75730
Ensure we never fetch a deleted story 2022-07-29 11:12:47 -07:00
Josh Perez 7d2b91368d
Normalize the distribution list and UUIDs iOS sends us 2022-07-29 13:16:36 -04:00
Josh Perez 4a39264188
Use video screenshot as background blur in story viewer 2022-07-29 13:13:01 -04:00
Scott Nonnenberg 08b2aeb237
Move back to libsignal-client v0.18.1 2022-07-29 09:17:59 -07:00
Evan Hahn d25e3c37ed
Stop exporting `BLESSED_PACKS` 2022-07-29 07:36:16 -07:00
Josh Perez 4472de0660
Add additional protection for story captions 2022-07-28 17:25:50 -07:00
Josh Perez b13027d222
Fix theming of close button in StoryViewer 2022-07-28 17:25:21 -07:00
Josh Perez 0ea9d7d981
Increase story list padding 2022-07-28 17:17:30 -07:00
Josh Perez 32e694d8a4
When reacting to a group story keep the modal open 2022-07-28 17:17:00 -07:00
Josh Perez 0350692034
Group stories show group avatar in story list viewer 2022-07-28 17:16:30 -07:00
Josh Perez e7b3de8b28
Removes sender name on story group sends in list 2022-07-28 17:15:56 -07:00
Josh Perez f09e6dcc7d
Update views/replies chevron in story viewer 2022-07-28 17:15:20 -07:00
Josh Perez e1b60b927a
Make story timestamps always relative time 2022-07-28 17:13:39 -07:00
Josh Perez 473d57fb74
Delete a distribution lists members when list is deleted 2022-07-28 17:13:22 -07:00
Josh Perez d7ec2e9d82
Adds ErrorBoundary around stories 2022-07-28 17:10:07 -07:00
Josh Perez 37f9346f57
Ensure we are always using conversationId for story actions 2022-07-28 15:33:07 -04:00
dependabot[bot] 68adb736d3
Upgrade terser to v4.8.1 2022-07-28 11:59:41 -07:00
Fedor Indutny 79b48115e6 Handle PniChangeNumber 2022-07-28 14:50:10 -04:00
Josh Perez 412f07d2a2 v5.53.0-beta.1 2022-07-28 14:43:49 -04:00
Josh Perez 50fd71f8c8 Updates i18n strings 2022-07-28 14:43:32 -04:00
Fedor Indutny 7288b07e0a
Add comments to titlebar-related variables 2022-07-28 09:35:09 -07:00
Josh Perez 9fbbb7a8d2
Release notes for v5.53 2022-07-27 21:00:52 -04:00
Fedor Indutny 310eedca88
Update electron to 19.0.10 2022-07-27 13:56:18 -07:00
Scott Nonnenberg 3187468ba7
Always use - (not _) when dealing with locales 2022-07-26 13:06:34 -07:00
Scott Nonnenberg 67ddec65d9
Message.tsx: Use role=row for container, not role=button 2022-07-25 17:19:00 -07:00
mooons e22a08563e Generalize macOS arm64 platform name 2022-07-25 17:18:46 -07:00
Scott Nonnenberg 78ad890a20
Conversation.getProps: Allow for our own ACI to be missing 2022-07-25 14:08:31 -07:00
Scott Nonnenberg 1062126077 Request our PNI along with group credential fetch 2022-07-25 13:25:43 -07:00
Jim Gustafson 41a7327b1f
Update to RingRTC v2.20.12 2022-07-25 11:57:24 -07:00
Josh Perez 06476de6c9
Adds debugging information to stories 2022-07-25 11:55:44 -07:00
Josh Perez badf9d7dda
Stories improvements 2022-07-21 18:38:27 -07:00
Josh Perez 5dfe30d235
Add story entry points around the app 2022-07-21 17:44:35 -07:00
Josh Perez 1d5b361159
Drop incoming story messages if stories are turned off 2022-07-21 19:05:55 -04:00
Scott Nonnenberg 026f574fdb
Replace mentions with text when forwarding 2022-07-21 09:26:11 -07:00
Scott Nonnenberg 1f65a4491f
Use concurrency of one for queues with no options 2022-07-20 19:40:53 -07:00
Scott Nonnenberg 4cd05dc6c9
validateUnsealedEnvelope: On expire, log serverTimestamp vs. expiration 2022-07-20 17:15:26 -07:00
Josh Perez e321e1fea8
Edit distribution lists via story settings menu 2022-07-20 20:07:09 -04:00
Scott Nonnenberg 9986d10947 v5.52.0-beta.1 2022-07-20 16:12:51 -07:00
Scott Nonnenberg be5273e131 Update strings 2022-07-20 16:12:51 -07:00
Scott Nonnenberg c91bb0f0c3 Remove unused lint-deps exceptions 2022-07-20 16:12:51 -07:00
Josh Perez 581b841098
Add unread count to the stories badge 2022-07-20 19:06:15 -04:00
Josh Perez ea058371ed
Use casual for mock data 2022-07-20 17:29:09 -04:00
Evan Hahn f0bf3a075f
Remove call for public translations 2022-07-20 09:19:30 -07:00
Josh Perez 0d2e6493f5
Add a stories toggle to Preferences 2022-07-19 20:47:05 -04:00
Josh Perez 4d67c6b056
Protections on viewStory after we've unmounted 2022-07-19 13:38:32 -07:00
Fedor Indutny e2b217edbc
Fix storybook 2022-07-19 12:03:25 -07:00
Fedor Indutny fc10a39cb1
Update frameless-titlebar to 2.3.5 2022-07-18 23:16:47 -07:00
Fedor Indutny dc02633d9b
Titlebar fixes 2022-07-18 17:23:34 -07:00
Fedor Indutny 5c2016ec40
Refresh PNI on startup 2022-07-18 15:32:00 -07:00
Fedor Indutny a4cf2e0948
Always refetch profile key credential if expired 2022-07-18 13:05:41 -07:00
Scott Nonnenberg 2f252b8e26
Repair broken attachments with non-array 'data' fields 2022-07-18 13:01:43 -07:00
Scott Nonnenberg a0424be5bb
Wait for enqueueMessageForSend before resetting message input box 2022-07-18 12:30:18 -07:00
Scott Nonnenberg 1bb91758e6
Spell check: Restore english region support 2022-07-15 15:37:19 -07:00
Scott Nonnenberg 3cd77b0d53
main.ts: Fix main title bar check 2022-07-15 14:50:24 -07:00
Scott Nonnenberg 99d507a74d
Ensure that the GroupV1 Migration dialog shows 2022-07-15 14:50:02 -07:00
Scott Nonnenberg a2eac80034 Enable fullfsync mode in the database 2022-07-15 14:47:24 -07:00
Scott Nonnenberg 4b8a37f519
Fix missing titlebar on Windows 2022-07-14 12:07:45 -07:00
Scott Nonnenberg bfc56dd175
Introduce new Profile Fetch service, with centralized queueing 2022-07-13 17:46:46 -07:00
Scott Nonnenberg 535b466b43 v5.51.0-beta.1 2022-07-13 17:38:27 -07:00
Scott Nonnenberg e052915272 Update strings 2022-07-13 17:28:47 -07:00
Josh Perez 5639c1adea
DOE for stories 2022-07-13 16:09:18 -07:00
Josh Perez d7307934bc
Adjust some types 2022-07-12 17:37:21 -07:00
Josh Perez 9ce4b8977d
Show toast when reacting/replying to a Story 2022-07-12 09:41:41 -07:00
Scott Nonnenberg fc98d54326
Ensure that outgoing gift badges can be Viewed 2022-07-12 09:39:18 -07:00
Scott Nonnenberg 14591358f1
Simplify expireTimer change handling, queue for contact sync 2022-07-11 17:32:26 -07:00
Scott Nonnenberg 50222558bf
Remove emoji, mentions and links when calculating text direction 2022-07-11 16:34:55 -07:00
Fedor Indutny 07cc399550
Lazily fetch profiles when modifying groups 2022-07-11 11:50:14 -07:00
Josh Perez 712c9597c5
Fixes story reaction notification text 2022-07-11 11:35:55 -07:00
Scott Nonnenberg 0888b57744
Attachment downloads: Use filename if we have it, ignore index = 1 2022-07-08 16:10:16 -07:00
Scott Nonnenberg 1dc27a6144
enqueueMessageForSend: Capture storage service change on unarchive 2022-07-08 16:09:46 -07:00
Josh Perez 06b606cec3
Story creator improvements 2022-07-08 14:14:01 -07:00
Josh Perez 46aee24faa
Fix incoming story context quotes 2022-07-08 13:54:27 -07:00
Fedor Indutny a450e13a99
Fetch PNI group credentials 2022-07-08 13:46:25 -07:00
Scott Nonnenberg b9ba732724
Background message migration: Process just one batch at a time 2022-07-08 13:35:08 -07:00
Josh Perez 2105ee13f1 v5.50.0-beta.1 2022-07-08 15:09:00 -04:00
Josh Perez 3e2a30a818 Updates i18n strings 2022-07-08 15:08:40 -04:00
dependabot[bot] 73e466e33f
Upgrade moment to v2.29.4 2022-07-08 10:20:07 -07:00
Evan Hahn d37d191811
Update comment about maximum number of server locales 2022-07-08 09:14:21 -07:00
Scott Nonnenberg 2816b2f06f Revert "Potential fix for laggy scrolling"
This reverts commit 4f4df5bb32.
2022-07-08 08:19:48 -07:00
Josh Perez 664181cf9c
Fixes getStoryView selector 2022-07-07 14:59:08 -07:00
Fedor Indutny 4a15df5904
Properly close emoji picker when picking emoji 2022-07-07 14:39:22 -07:00
Josh Perez fcf75fdd1c
Fix video playback controls flicker 2022-07-07 14:07:00 -07:00
Fedor Indutny 4f4df5bb32
Potential fix for laggy scrolling 2022-07-07 10:05:09 -07:00
Josh Perez 778f3721a6
Do not update unread count for story messages 2022-07-07 09:48:05 -07:00
Fedor Indutny 565425c8b6
Correct identifier for story records 2022-07-06 17:34:13 -07:00
Fedor Indutny 3111b804de
Add an extra assert to Data.saveMessage 2022-07-06 15:53:25 -07:00
Josh Perez 3e644f45cf
Fixes story viewing behavior 2022-07-06 15:06:20 -04:00
Fedor Indutny c4b6eebcd6
Fix titlebar 2022-07-06 09:46:33 -07:00
Josh Perez 2d6d817f58
Fix story quote custom color 2022-07-06 12:34:01 -04:00
Fedor Indutny 5d1702c2fe
Localize accelerators in custom menu 2022-07-06 09:23:37 -07:00
Scott Nonnenberg 064f3dd0e0
updateSchema: Be resilient to invalid images 2022-07-05 17:28:00 -07:00
Scott Nonnenberg 5fcf97b43b
Introduce logging for unexpected incoming urgent values 2022-07-05 15:20:30 -07:00
Fedor Indutny f92be05b15
Titlebar fixes 2022-07-05 09:44:53 -07:00
Scott Nonnenberg f273333046
showMessageDetail: Add a backup in addition to transitionend handler 2022-07-05 09:30:55 -07:00
Jim Gustafson 06a8362541
Update to RingRTC v2.20.11 2022-07-01 10:44:35 -07:00
Scott Nonnenberg 06190b1434
Introduce new urgent property for outgoing messages 2022-07-01 09:55:13 -07:00
Josh Perez 6cd1e3fdfc
Start downloading story thumbnails 2022-06-30 22:36:40 -07:00
Josh Perez 9155784d56
Sync my stories with primary device 2022-06-30 20:52:03 -04:00
Josh Perez 7554d8326a v5.49.0-beta.1 2022-06-30 20:47:39 -04:00
Josh Perez ebac736de2 Updates strings 2022-06-30 20:47:22 -04:00
Scott Nonnenberg d99e29dd25
Ensure expireTimer updates in Note to Self are never unread 2022-06-30 17:18:18 -07:00
Fedor Indutny 9bcc3041cd
Update frameless-titlebar to 2.3.4 2022-06-30 15:43:59 -07:00
Fedor Indutny d8e32d39ff
Don't save window stats after shutdown request 2022-06-30 14:33:58 -07:00
Fedor Indutny fc60a8b13d
Update electron to 19.0.7 2022-06-30 14:29:56 -07:00
Fedor Indutny 40cbf61226
Close emoji picker when picking emoji 2022-06-30 13:47:23 -07:00
Fedor Indutny 1b6cd3d16b
Handle render-process-gone 2022-06-30 12:00:40 -07:00
Fedor Indutny d87dceced9
Update frameless-titlebar to 2.3.2 2022-06-30 09:19:16 -07:00
Scott Nonnenberg 8b30d24c18
CompositionInput: Use sendingRef to ensure we don't double-submit 2022-06-29 22:05:41 -04:00
Scott Nonnenberg 6a509bab72
Forward: Ensure we get the latest attachments with hydrated data 2022-06-28 14:24:42 -07:00
Scott Nonnenberg 101d53c4ea
getUUID: Return undefined if uuid is falsey 2022-06-27 17:37:56 -07:00
Fedor Indutny e0f479ca81
Fix sending to embedded contact 2022-06-27 17:37:05 -07:00
Scott Nonnenberg bae3394efc
Fix patches for protobufjs and got 2022-06-27 15:00:07 -07:00
Scott Nonnenberg 054e443071
Spellcheck: Use full locale, otherwise all which match base 2022-06-27 13:44:13 -07:00
dependabot[bot] 5d570e2d67
Upgrade shell-quote to v1.7.3 2022-06-27 12:00:22 -07:00
dependabot[bot] 5ecca0d388
Upgrade got to v11.8.5 2022-06-27 11:59:51 -07:00
Scott Nonnenberg c35f901387
models/messages.initialize: If no ourConversationId, skip migration 2022-06-27 10:27:20 -07:00
Scott Nonnenberg 09124446a6
updateCallHistoryForGroupCall: If exists, update left pane preview 2022-06-27 10:10:09 -07:00
Scott Nonnenberg 4568527232
Increase backstop queue timeouts across the app 2022-06-27 09:46:43 -07:00
Josh Perez c28313bd0c
Adds interaction tests for components 2022-06-24 12:52:48 -04:00
Fedor Indutny f9fb09b734
Fix titlebar button height 2022-06-23 17:40:45 -07:00
Scott Nonnenberg c8ef2bc626
Ensure modal overlay has the right z-index 2022-06-23 17:16:36 -07:00
Scott Nonnenberg 72bb01346f
Check that size is number, not truthiness of size 2022-06-23 15:42:19 -07:00
Fedor Indutnyy a74070f4ed v5.48.0-beta.1 2022-06-23 13:36:56 -07:00
Fedor Indutnyy d065afa277 Release notes for 5.48.x 2022-06-23 13:36:56 -07:00
Josh Perez 0a0a25498d
Repair old unexpired stories 2022-06-23 16:36:11 -04:00
Josh Perez a66c9f167b
Fix emoji picker popup z-index 2022-06-23 13:18:02 -07:00
Josh Perez 473318066c
Updates donate to signal copy 2022-06-23 13:17:36 -07:00
Fedor Indutnyy c7a24ecec0 Update strings 2022-06-23 12:48:24 -07:00
Fedor Indutny 96b864d6a9
Monkey-patch os.hostname on Windows 7 2022-06-23 12:15:27 -07:00
Scott Nonnenberg 82dad0d7f7
Include sticker creator in clean-transpile script 2022-06-23 11:11:36 -07:00
Evan Hahn 3f4061e2dc
Disable text selection on deleted-for-everyone messages 2022-06-23 09:18:02 -07:00
Scott Nonnenberg 7b1721b0d0
Use different copy for outgoing gift badges 2022-06-23 09:15:26 -07:00
Fedor Indutny 6b231346d9
Fix management of selectedMessage in redux 2022-06-23 09:12:17 -07:00
Fedor Indutny 6ad091bfe3
Shift titlebar on Windows 11 2022-06-23 08:40:36 -07:00
Fedor Indutny 9e16b06b65
Fix top position for Stories pane 2022-06-23 08:40:21 -07:00
Jim Gustafson 606e8fe48e
Update to RingRTC v2.20.10 2022-06-22 17:54:41 -07:00
Scott Nonnenberg b8d6a591d5
Reintroduce 'expired' event, simplify handling of View Once media 2022-06-22 17:21:38 -07:00
Scott Nonnenberg 4545eee8f5
Update to RingRTC v2.20.8 2022-06-22 11:59:41 -07:00
Scott Nonnenberg 07ee7f46b7
Fix Gift Badge expiration 2022-06-21 18:17:17 -07:00
Scott Nonnenberg 4cd86f558e
Revert RingRTC back to v2.20.0 2022-06-21 18:05:22 -07:00
Fedor Indutny 8c3657fb0a
Update frameless-titlebar to 2.3.0 2022-06-21 13:41:22 -07:00
Fedor Indutny 7c4344f43a
Fix PiP positioning 2022-06-21 08:59:47 -07:00
Fedor Indutny 8b87fe23e2
Fix UA string 2022-06-20 17:31:32 -07:00
Fedor Indutny 35e5eb847a
Better logging for expiration timer updates 2022-06-20 15:43:16 -07:00
Fedor Indutny f9163f410e
Update electron to 19.0.5 2022-06-20 14:18:42 -07:00
Fedor Indutny 63679f5af6
Increment and store message migration attempts 2022-06-20 14:18:23 -07:00
Scott Nonnenberg d547ef362e
Fetch latest group data on unblock of a group 2022-06-20 11:55:34 -07:00
Scott Nonnenberg 7dd9cabbbd
Update unread count on conversation open 2022-06-20 11:38:52 -07:00
Fedor Indutny 9407654262
Counteract zoom-level changes in custom titlebar 2022-06-20 11:26:31 -07:00
Fedor Indutny dacbee711f
Polyfill os.hostname() on Windows 7 2022-06-20 10:43:15 -07:00
Jim Gustafson f419e02756
Update to RingRTC v2.20.9 2022-06-17 17:34:46 -07:00
dependabot[bot] bf08c2646c
Upgrade browserslist to v4.20.4 2022-06-17 16:42:29 -07:00
dependabot[bot] 9ac917849e
Upgrade sharp to v0.30.5 2022-06-17 15:33:46 -07:00
dependabot[bot] 17a554a668
Upgrade protobufjs to v6.11.3 2022-06-17 14:46:12 -07:00
dependabot[bot] 66bd307cdd
Upgrade jpeg-js to v0.4.4 2022-06-17 14:03:30 -07:00
Josh Perez 3581f78913
Revert "Counteract zoom-level changes in custom titlebar"
This reverts commit 635aab838f.
2022-06-17 09:48:17 -07:00
Frazer Smith e5e93c609c
ci: fix invalid runner name 2022-06-17 13:48:38 +01:00
Frazer Smith a22d51b7c7
ci: update github actions 2022-06-17 13:47:57 +01:00
Josh Perez d970d427f8
Create text stories 2022-06-16 17:48:57 -07:00
Fedor Indutny 973b2264fe
Add to group by username 2022-06-16 17:38:28 -07:00
Jim Gustafson 8dd321d0b6
Update calling ringtone 2022-06-16 17:37:33 -07:00
Fedor Indutny 635aab838f
Counteract zoom-level changes in custom titlebar 2022-06-16 16:49:59 -07:00
Josh Perez aa23c2def2
Removes Inbox Backbone view 2022-06-16 15:12:50 -04:00
Josh Perez 603b76c3d9 v5.47.0-beta.1 2022-06-16 13:58:22 -04:00
Josh Perez ca2c8b35b7 Updates strings 2022-06-16 13:57:55 -04:00
Josh Perez bc612ca2c3
Release notes for v5.47.x 2022-06-16 13:15:43 -04:00
Fedor Indutny 0e5eb32152
Fix mentions alignment 2022-06-15 13:34:39 -07:00
Fedor Indutny 8b32811440
Add extra pixel to titlebar on Windows 11 2022-06-15 11:21:03 -07:00
Fedor Indutny 4b8cb9f040
Fix minor UI issues with composer 2022-06-15 10:53:08 -07:00
Scott Nonnenberg 3b2000a0ba
Force 'password-store' to 'basic' on all platforms 2022-06-15 09:40:01 -07:00
Scott Nonnenberg fbf7b939ab
Ensure all components of sticker creator startup are in package 2022-06-14 20:17:12 -07:00
Fedor Indutny 253e050262
CDSI Support 2022-06-14 18:15:33 -07:00
Scott Nonnenberg 038ec9e05d
Introduce new auto-updating staging channel 2022-06-14 15:08:38 -07:00
Fedor Indutny 4038d781d6
Reserve more room for calling button labels 2022-06-14 13:03:12 -07:00
Fedor Indutny 37cdc6e62d
Simplify quote alignment and position of toggle 2022-06-14 12:54:10 -07:00
Scott Nonnenberg 71d6a1d383
Conversation details: Unblock option for groups, update unblock style 2022-06-14 10:09:32 -07:00
Scott Nonnenberg 68f27c1c7c
Fix sticker creator in our new typescriptified world 2022-06-13 18:48:07 -07:00
Fedor Indutny f2af71f8b5
Fix minor UI issues 2022-06-13 16:37:29 -07:00
Fedor Indutny 0b4121528a
Clicking open menu should dismiss it 2022-06-13 16:25:19 -07:00
Scott Nonnenberg 2464e0a9c1
Convert signal.js and preload.js to Typescript 2022-06-13 14:39:35 -07:00
Scott Nonnenberg e18510e41c
Message: If collapsed in group, remove top margin on link previews 2022-06-13 14:29:10 -07:00
Josh Perez 410bc52fd0
Moves group link management actions to redux 2022-06-13 14:42:19 -04:00
Scott Nonnenberg 5c8b4bca7e
On send, disable message field before doing anything async 2022-06-13 09:30:14 -07:00
Fedor Indutny 740d8e4c96
Upgrade electron to 19.0.4 (#4206) 2022-06-10 13:50:22 -07:00
Fedor Indutny 531c208918
Remove title from the Windows titlebar 2022-06-10 12:26:10 -07:00
Fedor Indutny 6aeddb9301
Order unprocessed envelopes by receivedAtCounter 2022-06-10 09:09:21 -07:00
Scott Nonnenberg 924c271b13
Convert js/modules/types/message to Typescript 2022-06-09 18:10:20 -07:00
Fedor Indutny 9975758fde
Make sure windows with titlebar have OS class 2022-06-09 09:21:17 -07:00
Fedor Indutny 5634601554
Use patched frameless-titlebar on Windows 2022-06-08 15:00:32 -07:00
Scott Nonnenberg 79c52847cd Fix StickerButton
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
2022-06-08 14:40:08 -07:00
Josh Perez f1b05afe62 Merge signalapp/Signal-Desktop#5904 2022-06-06 22:06:07 -04:00
Vladislav Gorenkin 01efed8ec3 Open first search candidate on pressing "enter" key 2022-06-06 22:05:38 -04:00
Josh Perez 42eb4013d0
Upgrade react and storybook 2022-06-06 17:48:02 -07:00
Fedor Indutny 6476a4fe73
Erased messages should not stall attachment jobs 2022-06-06 15:13:21 -07:00
Evan Hahn 10a0abb8c2
Remove unused `activeConfirmationView` 2022-06-06 14:04:16 +00:00
Evan Hahn f50a6abe36
Remove unused `eslint-disable`s 2022-06-03 14:07:51 -07:00
Evan Hahn 63189f3f91
Convert `ReactWrapperView` to TypeScript 2022-06-03 09:33:39 -07:00
Jim Gustafson bb9a270bfd
Update to RingRTC v2.20.8 2022-06-03 09:32:35 -07:00
Evan Hahn 6bae8a24de
Convert `protocol_wrapper.js` to TypeScript 2022-06-03 09:30:03 -07:00
Evan Hahn d61b68279b
Remove unused `GroupMemberConversation` type declaration 2022-06-03 15:51:43 +00:00
Scott Nonnenberg d753fe8fcb
getUnreadByConversationAndMarkRead: Only query incoming messages 2022-06-02 18:09:13 -07:00
Fedor Indutny ecdc583f2a
Add debug log url when submitting it to Support 2022-06-02 16:24:35 -07:00
Scott Nonnenberg e09d148c1d
On Sender Key distribution message failure, don't update send status 2022-06-02 14:25:55 -07:00
Scott Nonnenberg db523f0684 v5.46.0-beta.1 2022-06-01 15:52:14 -07:00
Scott Nonnenberg e4aeea6167 Add release notes for 5.46.x 2022-06-01 15:38:22 -07:00
Scott Nonnenberg 8ab96635de Update strings, update to modern transifex tool 2022-06-01 15:38:00 -07:00
Fedor Indutny 8426610542
Update electron to 18.3.2 2022-06-01 13:49:17 -07:00
Evan Hahn 53d4a31311
Convert app loading message code to TypeScript 2022-06-01 12:57:30 -07:00
Evan Hahn d4bba46b2c
Convert "reliable trigger" to TypeScript 2022-06-01 12:54:51 -07:00
Evan Hahn fc99882f05
Remove reference to stickers_test.js 2022-06-01 11:47:05 -07:00
Scott Nonnenberg 0ff2272d13
getMessagePropStatus: Move back to isOutgoing for in/out check 2022-06-01 11:40:36 -07:00
Evan Hahn ab9a50357b
Convert libphonenumber utilities to TypeScript, removing unused ones 2022-06-01 10:48:16 -07:00
Evan Hahn 9c8fd2a714
Convert IndexedDB code to TypeScript 2022-06-01 09:51:30 -07:00
Scott Nonnenberg 638e3e3a58
Remove inboxCollection, ensure falsey active_at removes from badge count 2022-05-31 18:26:57 -07:00
Fedor Indutny 4a8cdbd687
Add crossorigin attribute to preloads 2022-05-31 17:00:23 -07:00
Evan Hahn 4f51baab06
Remove unused debug module 2022-05-31 16:58:01 -07:00
Evan Hahn c58f1eb503
Convert message schema migrator to TypeScript 2022-05-31 16:56:25 -07:00
Evan Hahn 2a2f44a73a
Convert message cleanup services to TypeScript 2022-05-31 16:53:14 -07:00
Scott Nonnenberg 16d180efac
Send just sync message if we've already sent to all recipients 2022-05-31 16:20:45 -07:00
Fedor Indutny a88560183b
Preload fonts, load scripts after body 2022-05-31 14:42:18 -07:00
Evan Hahn 8b9543aa67
Convert sticker tests to TypeScript 2022-05-31 21:34:28 +00:00
Evan Hahn 994e4606ba
Try making stream timeout tests more reliable 2022-05-31 13:02:48 -07:00
Scott Nonnenberg d446aa9e6b
Move to uuids for untrusted conversations needing verification 2022-05-31 12:46:56 -07:00
Evan Hahn d3f9b656dd
Convert `Whisper.View` tests to TypeScript 2022-05-31 18:47:08 +00:00
Evan Hahn 17389f4e01
Remove unused settings module 2022-05-31 10:38:23 -07:00
Evan Hahn 06dec4fec1
Convert i18n tests to TypeScript 2022-05-31 17:29:01 +00:00
Scott Nonnenberg 49bb1321e3
Sort groups you've left to the bottom of search 2022-05-31 09:28:31 -07:00
Scott Nonnenberg fcd0a186e0
If group avatar is the same, but URL changed, capture that new URL 2022-05-31 09:27:03 -07:00
Scott Nonnenberg 6f2b01d98b
Restore useful bubble for incoming messages with errors 2022-05-31 09:26:07 -07:00
Evan Hahn 6668348197
Rewrite `WallClockListener` as `onTimeTravel` 2022-05-31 09:22:31 -07:00
Evan Hahn 11cfb4f76f
Remove old `Whisper.Database` module 2022-05-27 15:12:01 -07:00
Jim Gustafson 1184756866
Update to RingRTC v2.20.7 2022-05-27 11:21:56 -07:00
Scott Nonnenberg 4f2c868b1e
Append 'password-store=basic' switch on startup 2022-05-26 17:38:33 -07:00
Scott Nonnenberg 6b66dad493
When floating loading spinner isn't visible, don't render it 2022-05-26 12:18:17 -07:00
Scott Nonnenberg ce7a2ded14
Make that theme values are in the expected range 2022-05-25 15:19:16 -07:00
Fedor Indutnyy c3e8db229f v5.45.0-beta.1 2022-05-25 13:48:50 -07:00
Fedor Indutnyy e1c6067f92 Release notes for 5.45.x 2022-05-25 13:48:50 -07:00
Fedor Indutnyy 1890ba2542 Update strings 2022-05-25 13:48:50 -07:00
Fedor Indutny 83b3ae9387
Expiration timer shouldn't count as unread on link 2022-05-25 13:48:23 -07:00
Fedor Indutny 7138daf5ef
Support keepMutedChatsArchived flag 2022-05-25 13:44:05 -07:00
Scott Nonnenberg e281fbe0e0
Fix left pane summary for gift badges 2022-05-25 12:39:31 -07:00
Fedor Indutny fcc60202c2
Populate sourceDevice field of ManifestRecord 2022-05-25 12:20:45 -07:00
Scott Nonnenberg 68f705e6ad
Reset MessageReceiver processed count after reporting it 2022-05-25 11:15:09 -07:00
Fedor Indutny bf6d9c6cda
Fix uncaught exception in logging 2022-05-25 11:04:01 -07:00
Fedor Indutny 80c90540f6
Restore call view mode after presentation end 2022-05-25 11:03:27 -07:00
Fedor Indutny 9e1528fa24
Update electron to 18.3.0 2022-05-23 17:06:03 -07:00
Fedor Indutny dfc310805a
Allow manually retrying attachment downloads 2022-05-23 16:07:41 -07:00
Evan Hahn 59b45399e4
Improve logic for app badge count 2022-05-23 15:21:14 -07:00
dependabot[bot] 95de40662b
Upgrade async to v2.6.4 2022-05-23 15:09:11 -07:00
Fedor Indutny 3be95e821e
Pass abortSignal to sendToGroup 2022-05-23 15:08:13 -07:00
Fedor Indutny 7afe3fcca2
Combine two redux batches in send flow 2022-05-23 15:04:33 -07:00
Fedor Indutny 494287a570
Fix audio indicator svg glitch 2022-05-23 15:00:01 -07:00
Fedor Indutny 9f8ea5b202
Take activeAt in account when using fuse.js index 2022-05-23 12:09:40 -07:00
Evan Hahn 28ab6e11f6
`isMuted` -> `isConversationMuted` 2022-05-23 18:37:53 +00:00
Evan Hahn 3f0ed541f6
Improvements to group calling video requests 2022-05-23 10:16:13 -07:00
Fedor Indutny 5c72c785a0
Stop retrying message send on 400 response 2022-05-23 09:27:40 -07:00
Jim Gustafson 3aa958533b
Update to RingRTC v2.20.6 2022-05-23 09:24:24 -07:00
Fedor Indutny 6452ff9d1e
Add extra padding to audio indicator 2022-05-20 18:42:12 -07:00
Fedor Indutny e6223b6a11
Dynamic audio level indicator 2022-05-18 23:28:51 -04:00
Fedor Indutny ac59dec5aa
Update electron to 18.2.4 2022-05-18 15:48:15 -07:00
Fedor Indutny e69857fc13
Mark messages as failed when running out of time 2022-05-18 13:44:51 -07:00
Fedor Indutny e86a312b74
Disable part of the migration 58 2022-05-18 09:44:43 -07:00
Scott Nonnenberg a114e4e210
Gift Badges: A few tweaks 2022-05-16 12:54:38 -07:00
Rashad Sookram 0a0b5a7bfe
Show loading state while joining a group call 2022-05-16 07:59:10 -07:00
Scott Nonnenberg dfd1190e8b
Groups: Show in left pane more often, proper join message 2022-05-16 07:53:54 -07:00
Fedor Indutnyy 4e76259917 v5.44.0-beta.1 2022-05-12 14:12:46 -07:00
Fedor Indutnyy 63fd6e1a06 Update strings 2022-05-12 14:12:34 -07:00
Fedor Indutny de9deb444a
Revert "Let CallingAudioIndicator background linger"
This reverts commit a924591a8c.
2022-05-12 14:03:43 -07:00
Fedor Indutny bdc4f53e91
Disable 2d canvas acceleration 2022-05-12 12:41:37 -07:00
Fedor Indutny f084834d67
Bless "Day by Day" sticker pack 2022-05-11 19:45:51 -07:00
Scott Nonnenberg 105508c50f
Update unread count when creating important local notifications 2022-05-11 19:45:20 -07:00
Josh Perez ddde85cdd8
Soft assert for hydrating story context 2022-05-11 16:47:19 -07:00
Fedor Indutny a924591a8c
Let CallingAudioIndicator background linger 2022-05-11 16:02:09 -07:00
Fedor Indutny b30c7f9c46
Dark theme loading screen 2022-05-11 15:58:14 -07:00
Scott Nonnenberg af2c884c9f
Timeline: Use messageChangeCounter to mark messages read less often 2022-05-11 15:41:45 -07:00
Scott Nonnenberg 69d0ed3309
Always provide isGroup/storyId to message-fetching functions 2022-05-11 15:20:47 -07:00
Fedor Indutny e1392a2cca
Update electron to 18.2.2 2022-05-11 14:02:41 -07:00
Josh Perez 253ab7517d
Always repair unexpired stories 2022-05-11 14:02:26 -07:00
Scott Nonnenberg 0ba6a0926e
Support for incoming gift badges 2022-05-11 13:59:58 -07:00
Scott Nonnenberg 6b4bea6330
Timeline: When scrolling far into history, discard newest messages 2022-05-10 13:19:58 -07:00
Josh Perez 0ca66d6e95
Adjust story replies for direct conversations 2022-05-10 15:02:21 -04:00
Josh Perez fa7b7fcd08
Adds keyboard shortcuts for calling 2022-05-10 11:14:08 -07:00
Fedor Indutny 1b052ad16b
Report process cpu/memory usage in debug log 2022-05-09 18:12:04 -07:00
Fedor Indutny 8f675cdc16
Change background of the "muted" icon 2022-05-09 16:51:57 -07:00
Josh Perez 3cc541db82
Remove focus handler from stories icon 2022-05-09 13:31:09 -07:00
Scott Nonnenberg 4c9134f5a5
Ensure source is not required for incoming sync messages 2022-05-09 11:55:11 -07:00
Josh Perez 144d594e31
Remove announcementGroup capability checks 2022-05-09 11:15:46 -07:00
Josh Perez dcf0c5284d
Adds some logging to detect story playback order 2022-05-09 12:38:32 -04:00
Josh Perez 85c8ff76dc
Adds playback bar to story viewer 2022-05-06 12:02:44 -07:00
Jim Gustafson 9817946afc
Update to RingRTC v2.20.5 2022-05-06 10:47:26 -07:00
Josh Perez bd6c2409cf
Change color of placeholder 2022-05-06 09:18:02 -07:00
Josh Perez 85df5cf1d8
Updates button styles for replies and views 2022-05-06 09:17:33 -07:00
Scott Nonnenberg 300cee2e24
JobQueue: If job data does not parse, delete it from database 2022-05-05 11:55:15 -07:00
Josh Perez 3f35e8c9d0
Disable jumbomoji for story replies 2022-05-05 10:09:38 -07:00
Josh Perez cbe6146673
Fix position of close button 2022-05-05 10:09:15 -07:00
Scott Nonnenberg 232004cdd1
sendNormalMessage: Only send just sync message in Note to Self, groups 2022-05-05 09:27:56 -07:00
Josh Perez 8b3f0e11db Merge signalapp/Signal-Desktop#5866 2022-05-04 21:33:53 -04:00
Josh Perez d82723fbb7 yarn.lock 2022-05-04 21:33:34 -04:00
Josh Perez fb21285ce3 Merge branch 'main' into pr/5866 2022-05-04 21:28:12 -04:00
Josh Perez 53c2305c4d v5.43.0-beta.1 2022-05-04 21:16:26 -04:00
Josh Perez 4228c39e76 Updates translations 2022-05-04 21:16:07 -04:00
Josh Perez 17126e2aac Merge signalapp/Signal-Desktop#5890 2022-05-04 18:09:24 -04:00
Josh Perez c6c6087357
Fixes bugs with the story viewer 2022-05-04 14:45:32 -04:00
Josh Perez 36c5de4600
Animated floating emojis 2022-05-04 10:43:22 -07:00
Josh Perez 7d8464757b
Story viewing improvements 2022-05-03 16:50:44 -07:00
Scott Nonnenberg d4e0f6a38d
Update conversation.unreadCount in just one place, from database 2022-05-03 13:24:31 -07:00
Josh Perez a9c788b689
Adds spacing to the story list 2022-05-03 12:08:36 -07:00
Scott Nonnenberg 364d690cf3
On database error: Escape copies error and quits, additional logging 2022-05-03 12:06:47 -07:00
Scott Nonnenberg dad4fffb4e
Notarization: Update electron-notarize and start using notarytool 2022-05-03 10:07:16 -07:00
Josh Perez ff87caf526
Fixes going to oldest unread story when viewing 2022-05-03 12:02:43 -04:00
Scott Nonnenberg 87a5ddc437
MediaGallery: Localize Media and Documents tab headers 2022-05-02 16:42:07 -07:00
Josh Perez a77861e5c4
Fix video playback in StoryViewer for multiple videos 2022-05-02 09:24:41 -07:00
Scott Nonnenberg e078a2ae54
Ensure that seenStatus is always updated along with readStatus 2022-04-29 16:42:47 -07:00
Jim Gustafson 925b89b3a9
Update to RingRTC v2.20.4 2022-04-29 12:58:25 -07:00
Josh Perez 4090e968b6
Log better errors when unable to show attachments 2022-04-29 14:48:26 -04:00
Josh Perez 6e7092c294
Functional context menu in story viewer 2022-04-29 13:43:24 -04:00
Fedor Indutny d6b58d23d6
Increment unprocessed attempts when fetching 2022-04-28 15:28:30 -07:00
Josh Perez 6d576ed901
Allow multiple reactions to stories 2022-04-28 18:06:28 -04:00
Fedor Indutny 42554ebaf0
Confirm group call update messages 2022-04-28 14:41:56 -07:00
Fedor Indutnyy f80b3b22e8 v5.42.0-beta.1 2022-04-28 12:39:51 -07:00
Fedor Indutnyy 54ab7feb18 Update strings 2022-04-28 12:39:40 -07:00
Dennis Ameling (he/him) 3445e06b00 Apply reasonCategory to exceptions 2022-04-28 21:06:58 +02:00
Dennis Ameling (he/him) c3f3553995 Use windows-latest CI runners 2022-04-28 21:06:58 +02:00
Dennis Ameling (he/him) dc66af4331 Update node-gyp to 9.0.0 2022-04-28 21:06:56 +02:00
Josh Perez 84411fee38
View next unread story improvements 2022-04-28 11:59:09 -07:00
Scott Nonnenberg 9d3498d938
Fix collapsed corners for link previews and image attachments 2022-04-27 16:03:50 -07:00
Fedor Indutny 65dc9d6afb
Fix "Cannot Update" dialog's retry button 2022-04-27 16:02:41 -07:00
Fedor Indutny 99de97a099
Update electron to 18.1.0 2022-04-27 14:15:57 -07:00
Fedor Indutny b116c45375
Bump fuse.js treshold value 2022-04-27 13:09:54 -07:00
Fedor Indutny de0450efe7
Add filter commands for finding conversations 2022-04-27 11:52:43 -07:00
Fedor Indutny 472df5821a
Cache paths resolved by createPathGetter 2022-04-27 11:40:58 -07:00
Jim Gustafson 1809efc31d
Update to RingRTC v2.20.2 2022-04-27 10:41:52 -07:00
Scott Nonnenberg 25282e3afa
getTotalUnreadForConversation: Add missing isGroup parameter 2022-04-27 10:41:24 -07:00
Fedor Indutny 5d65e3b36c
Revert update to electron 18.1.0
* Revert "Update electron-builder to 23.0.8"

This reverts commit c8842d94ec.

* Revert "Update to electron@18.1.0"

This reverts commit 5f3a62cbb6.
2022-04-26 18:15:43 -07:00
Fedor Indutny b7f0ec61b9
Resolve attachments folder before using it 2022-04-26 17:31:01 -07:00
Fedor Indutny 50100906f3
Fix flaky GV2 mock test 2022-04-26 17:30:44 -07:00
Fedor Indutny 0a24ca8d88
Fix handling of 206 status code in updater 2022-04-26 16:58:29 -07:00
Fedor Indutny c8842d94ec
Update electron-builder to 23.0.8 2022-04-25 17:15:10 -07:00
Scott Nonnenberg 1d26424f22
Challenge: If no retry-after header on 428, don't start timer for retry 2022-04-25 16:05:23 -07:00
Scott Nonnenberg 9921a07a0b
Prepare for branch move: development -> main 2022-04-25 15:53:31 -07:00
Fedor Indutny decf65078c
Fix screen reader interaction with message audio 2022-04-25 14:12:22 -07:00
Scott Nonnenberg 4c1b27c150
sendProfileKey: Be resilient to more kinds of errors 2022-04-25 14:03:47 -07:00
Josh Perez 2f44e33c9c
Move link notification to the conversation hero 2022-04-25 14:03:24 -07:00
Fedor Indutny 5f3a62cbb6
Update to electron@18.1.0 2022-04-25 13:58:01 -07:00
Fedor Indutny 40f16b98e2
Transcode link preview images 2022-04-25 13:56:59 -07:00
Fedor Indutny fd610a6300
Don't post extraneous verified change notification 2022-04-25 13:54:13 -07:00
Scott Nonnenberg 5e0534310e
Message.tsx: Don't handle clicks outside of container 2022-04-25 10:26:45 -07:00
Josh Perez d8708e4e73
Ensure that we resolve attachments before displaying them 2022-04-25 10:25:50 -07:00
Josh Perez 72f979ea1d
Fix story reply box interactions 2022-04-22 23:16:13 -04:00
Fedor Indutny 7775f7d806
Ignore PNI key upload errors for now 2022-04-22 12:02:23 -07:00
Josh Perez 9973c661d0
Attach storyContext to group story replies 2022-04-22 11:45:45 -07:00
Josh Perez 4602cef6da
Full width/height stories 2022-04-22 14:36:34 -04:00
Scott Nonnenberg 3a1df01c9e
New 'unseenStatus' field for certain secondary message types 2022-04-22 11:35:14 -07:00
Fedor Indutny ed9f54d7d6
Update libsignal-client to 0.16.0 2022-04-21 13:42:20 -07:00
Josh Perez 6c68c00578
Use useRefMerger in Input to avoid re-renders 2022-04-21 16:20:41 -04:00
Fedor Indutnyy 7344f480c1 v5.41.0-beta.1 2022-04-21 11:44:03 -07:00
Fedor Indutnyy ed013bf51c Release notes for 5.41.x 2022-04-21 11:43:38 -07:00
Fedor Indutnyy e0611f2104 Update strings 2022-04-21 11:41:40 -07:00
Payton Quinn 1087e9261d Fix dark mode for call settings 2022-04-20 21:56:26 -07:00
Josh Perez 4896ce32c3
Sync story read status from primary 2022-04-20 17:29:37 -07:00
Fedor Indutny da45f26d37
Drop verified syncs, use storage service for event 2022-04-20 19:41:52 -04:00
Josh Perez 8c4b875dca
Prune the story progress effect's dependency list 2022-04-20 19:38:38 -04:00
Josh Perez 774246b6e2
Drop story replies from group timeline 2022-04-20 16:33:38 -07:00
Fedor Indutny e5ba00b798
Initial GV2 mock tests 2022-04-20 12:35:53 -07:00
Scott Nonnenberg 34a27accfc
Timeline: Mark messages read sooner, and a little more often 2022-04-20 12:31:54 -07:00
Fedor Indutny 7821a872bd
Drop ContactRecords for our own ACI/PNI 2022-04-19 20:10:10 -07:00
Fedor Indutny e8d268b466
Clear previous pending pni identity events 2022-04-18 16:33:17 -07:00
Josh Perez d776deae01
Hidden stories list/unhide stories 2022-04-15 18:31:18 -04:00
Josh Perez c165bc964a v5.40.0-beta.1 2022-04-15 18:25:56 -04:00
Josh Perez 7ee0779c16 Updates translations 2022-04-15 18:25:38 -04:00
Josh Perez 85027e7ce5
Release notes for v5.40.x 2022-04-15 18:18:47 -04:00
Josh Perez e3d537cbd3
Render group stories 2022-04-14 20:08:46 -04:00
Scott Nonnenberg 14ab7b9e0d
Fetch profiles for conversations needing verification, more logging too 2022-04-14 15:27:16 -07:00
Fedor Indutny 6856e246e2
Don't update our own profile key from group state 2022-04-14 15:26:47 -07:00
Josh Perez 908ecda64f Merge signalapp/Signal-Desktop#5610 2022-04-14 14:49:05 -04:00
Fedor Indutny ea7f12d94e
Patch fallback 7z extraction in nsis 2022-04-14 11:41:08 -07:00
Scott Nonnenberg f572abf57d
Show expiration timer for incoming messages even if unread 2022-04-14 11:06:37 -07:00
Fedor Indutny c1682a98cc
Patch NSIS installer message 2022-04-14 11:06:09 -07:00
Josh Perez b550f64a4b Merge signalapp/Signal-Desktop#5633 2022-04-14 13:04:19 -04:00
Josh Perez 4015259def
Adds captions in the viewer 2022-04-14 13:02:12 -04:00
Fedor Indutny 247149c58e Support search for E164 without candidate contacts 2022-04-13 15:02:41 -07:00
Scott Nonnenberg 37c44fb631
Support for server-configurable maximum attachment size 2022-04-13 10:47:39 -07:00
Scott Nonnenberg 677548f3a3
getSuggestedFilename: January 2nd to fix test failure in some time zones 2022-04-13 10:45:49 -07:00
Fedor Indutny 610ebdd1e3
Batch storage item read requests 2022-04-12 17:50:17 -07:00
Chris Eager 2f5e4f1b98
Update message reporting to use sender ACI instead of E164 2022-04-12 12:54:04 -07:00
Scott Nonnenberg 8f630a52b5
Job Queue: Don't wait unless it's our first time in verify loop 2022-04-12 12:41:12 -07:00
Scott Nonnenberg a013e43299
Contact presence: Check for array with items, not truthiness 2022-04-12 12:37:10 -07:00
Josh Perez 1a9547c98f
Repair video playback in viewer 2022-04-12 12:29:30 -07:00
Fedor Indutny 42108c9ca9
Flush last conversation message save on shutdown 2022-04-12 11:16:58 -07:00
Josh Perez 0ccbf5e4bd
Move FocusTrap into the parent to allow scrolling list 2022-04-12 07:45:20 -07:00
Scott Nonnenberg 302604f67e
Restore ability to message someone from embedded contact 2022-04-11 17:26:09 -07:00
Fedor Indutny f77175f6b3
Fix spurious assert in groups.ts 2022-04-11 14:31:38 -07:00
Josh Perez 9f7ee9ae79
Force set expirationStartTimestamp on story messages 2022-04-11 14:28:01 -07:00
Scott Nonnenberg 7f89f6162f
Disable forward for messages with embedded contact 2022-04-11 13:57:44 -07:00
Fedor Indutny 6d816d01ad
Better tool for symbolication of crash reports 2022-04-11 11:46:02 -07:00
dependabot[bot] c82ce8f15f
Upgrade moment to v2.29.2 2022-04-11 11:33:36 -07:00
Scott Nonnenberg 9e54f55c22
Ensure that waitForAll functions catch and log thrown errors 2022-04-11 10:53:57 -07:00
Scott Nonnenberg 45fcf827dd
Don't apply custom color style if message is deleted for everyone 2022-04-11 09:45:50 -07:00
Yusuf Sahin HAMZA e150353f3f Improve archive helper text 2022-04-08 18:32:15 -04:00
Josh Perez 28c1346a25
Allow outside click for focustrap 2022-04-08 14:50:26 -04:00
Josh Perez 0f16ef5dd6
Do not try to download text attachments 2022-04-08 10:03:10 -07:00
Josh Perez 0a0fabd2ca
Changes story sort order 2022-04-08 11:40:15 -04:00
Scott Nonnenberg bb989455a7
ProfileEditor: Fix updating non-avatar with no avatar 2022-04-07 19:44:26 -07:00
Fedor Indutny 37d06ec7b9
Graceful handling of single-range diff download 2022-04-07 19:14:41 -07:00
Josh Perez d8e6516fb9
Fixes isAccepted logic when calling it for the first time 2022-04-07 19:12:35 -07:00
Fedor Indutny c3fa6b87fe
Use different commit of better-sqlite3 2022-04-07 17:12:22 -07:00
Josh Perez 2f8fb36229
Fixes calling overlay z-index issue 2022-04-07 16:27:20 -07:00
Fedor Indutny a15d84aade
Update better-sqlite3 2022-04-07 15:49:23 -07:00
Josh Perez b96b02593b
Add aria-label to all <Select /> instances 2022-04-07 17:40:57 -04:00
Josh Perez 9ffcd44e6d
Do not add non-messages to the timeline 2022-04-07 14:13:58 -07:00
Josh Perez 19bb3bc994
Adds keyboard affordance to story viewer 2022-04-07 14:11:33 -07:00
Fedor Indutnyy 09fbfe5421 v5.39.0-beta.1 2022-04-07 12:57:03 -07:00
Fedor Indutnyy ad89a80a87 Update strings 2022-04-07 12:56:54 -07:00
Fedor Indutnyy 43d51a3fb3 Release notes for 5.39.x 2022-04-07 12:48:02 -07:00
Fedor Indutny 4c798bf7b8
Update dependencies to support Emoji v14 2022-04-07 14:50:42 -04:00
Fedor Indutny e1e1cfb892
Use fuse.js for regular contact search 2022-04-07 11:47:12 -07:00
Fedor Indutny 085a698a73
Fix white screen when sharing screen 2022-04-07 10:52:04 -07:00
Scott Nonnenberg b50c96c0b5
Improve layout of various message bubbles 2022-04-07 09:58:15 -07:00
Jim Gustafson 933c07c9ce
Update to RingRTC v2.20.1 2022-04-06 17:36:09 -07:00
Fedor Indutny 5fdda012cd
Raise voice note time limit to one hour 2022-04-06 14:39:54 -07:00
Fedor Indutny 33b8b59c55
Another fix for single-sticker packs 2022-04-06 14:00:13 -07:00
Fedor Indutny 55c5f15cd9
Add Cannot_Update_Require_Manual dialog type 2022-04-06 11:27:17 -07:00
Fedor Indutny 6ddf7b913a
Manually asarUnpack sharp's binaries 2022-04-06 11:24:27 -07:00
Fedor Indutny d0ca8af729
Fix win32 uninstaller issues on 5.36.0 and 5.37.0 2022-04-06 11:13:43 -07:00
Fedor Indutnyy 3c6d50f351 Merge https://github.com/signalapp/Signal-Desktop/pull/5842 2022-04-06 10:24:56 -07:00
Josh Perez fc9bdf9398
Process text story messages 2022-04-05 21:18:07 -04:00
Fedor Indutny 11d54f6769
Fully notarize universal dmg instead of stapling 2022-04-05 17:56:53 -07:00
Fedor Indutny b8c1faf086
Staple .zip/.dmg build artifacts on macOS 2022-04-05 16:13:11 -07:00
Fedor Indutny 7eaba737c6
Fix storage service processing of verified status 2022-04-05 09:31:18 -07:00
Evan Hahn 6500804231
Fix minor errors in link preview comments 2022-04-05 09:07:50 -07:00
Fedor Indutny 9568d5792e
Allow adding to a group by phone number 2022-04-04 17:38:22 -07:00
Scott Nonnenberg 76a1a805ef
Basic support for forced colors/high contrast mode 2022-04-04 10:16:00 -07:00
dependabot[bot] b59e85bae5
Upgrade url-parse to v1.5.10 2022-04-01 15:23:26 -07:00
Fedor Indutny 140d19beb1
Fix single sticker stickerpack download 2022-03-31 18:07:30 -07:00
Scott Nonnenberg 85989fda3c
More peeking of group calls to prevent out-of-date member info 2022-03-31 18:06:56 -07:00
Scott Nonnenberg bb250d4fb5
startCall: wait for startOutgoingDirectCall before updating lobby 2022-03-31 18:06:35 -07:00
Fedor Indutnyy b066d04817 v5.38.0-beta.1 2022-03-31 16:31:49 -07:00
Fedor Indutnyy d43a6f1c91 Add release notes for 5.38 2022-03-31 16:31:36 -07:00
Fedor Indutnyy f83fdce735 Update strings 2022-03-31 16:30:28 -07:00
Fedor Indutny e4b5b75988
GroupV2: Don't apply last state from the logs if skipped 2022-03-31 11:22:40 -07:00
Vladislav Gorenkin d094a93191
Fix several shortcuts not working with non-EN keyboard layouts 2022-03-31 11:58:28 +06:00
Scott Nonnenberg 99687a4b5b
Remove support for legacyMessage 2022-03-30 20:07:55 -07:00
Scott Nonnenberg 97b03d8803
shouldCurrentMessageHideMetadata: Hide more often for less jumpiness 2022-03-30 20:07:14 -07:00
Josh Perez 16f0f4262a
Fix media not auto-downloading 2022-03-30 13:53:30 -07:00
Fedor Indutny a8962c7d20
Update electron to 17.3.1 2022-03-30 11:53:32 -07:00
Josh Perez 7316e880e8
Changes story message receiver acceptance logic 2 2022-03-29 18:38:17 -07:00
Scott Nonnenberg 42bd8cb4ce
getUntrustedConversations: Ensure we return conversationIds 2022-03-29 17:14:01 -07:00
Fedor Indutny 13f4948d4b
Introduce `requireManualUpdate` yaml flag 2022-03-29 15:46:18 -07:00
Fedor Indutny 2aac3b5cb9
Split `addSingleMessage` for better batching 2022-03-29 15:30:55 -07:00
Fedor Indutny f7c3a44056
Update electron to 17.3.0 2022-03-29 10:06:42 -07:00
Fedor Indutny 8b36e37d18
Update esbuild to 0.14.28, use es2020 target 2022-03-28 18:47:29 -07:00
Josh Perez 3b5cc26fec
Adds logic around downloading stories 2022-03-28 18:10:08 -07:00
Josh Perez 9d3f0072a5 Changes story message receiver acceptance logic 2022-03-28 17:35:56 -07:00
Scott Nonnenberg 006de5b1a5
Don't linkify when certain unicode formatting characters are present 2022-03-28 17:28:37 -07:00
Scott Nonnenberg e62606361d
Sort message-initiated timer updates before the initiating message 2022-03-28 17:25:11 -07:00
dependabot[bot] 918616e6ab
Upgrade plist to v3.0.5 2022-03-28 16:50:02 -07:00
Evan Hahn 555b9d8aa1
Upgrade webpack-cli to 4.92 and webpack-dev-server to 4.7.4 2022-03-28 16:18:00 -07:00
Fedor Indutny 03173a31da
Don't await profile fetches without changes 2022-03-28 16:05:47 -07:00
Scott Nonnenberg 1ad284d22c
Group disparate status together, but show metadata if different 2022-03-28 15:55:12 -07:00
Fedor Indutny 2602db97f0
Allow composing to contacts from groups 2022-03-28 14:13:24 -07:00
Fedor Indutny acda5b2cb3
Graceful renames, better errors in updater 2022-03-28 12:05:44 -07:00
Fedor Indutny a0ae7c1aa2
Request and handle PniIdentity sync message 2022-03-25 10:36:08 -07:00
Jordan Rose 5a107e1bc3
Update for @signalapp/libsignal-client rename 2022-03-24 14:47:21 -07:00
Fedor Indutny d18ed40a23
Don't pass full group to spoofing review dialog 2022-03-24 14:46:17 -07:00
Fedor Indutny ca3f8b7df0
Store receivedAtCounter separately for unprocessed 2022-03-24 14:28:56 -07:00
Fedor Indutny 0f5a01f2b2
Fetch full group state if last epoch is stale 2022-03-24 10:06:39 -07:00
Fedor Indutny e8651afa0b
Configure `Long` before requiring compiled protobuf 2022-03-24 10:05:48 -07:00
Fedor Indutny 6d97976179
Update electron to 17.2.0 2022-03-23 16:32:54 -07:00
Scott Nonnenberg 308cef086c v5.37.0-beta.1 2022-03-23 16:27:22 -07:00
Scott Nonnenberg 6eef476f28 Add release notes for 5.37 2022-03-23 16:27:14 -07:00
Scott Nonnenberg 23b3a22c75 Update strings 2022-03-23 16:13:20 -07:00
Fedor Indutny c5a3ffddf9
Limit number of GV2 banned members 2022-03-23 15:34:51 -07:00
Scott Nonnenberg 6a671e73f9
Suppress sticker pack installation errors on startup re-download 2022-03-23 14:33:48 -07:00
Fedor Indutny 2eaacac151
Use --force-long with pbjs 2022-03-23 13:49:27 -07:00
Scott Nonnenberg bb066d4a84
Reintroduce inline metadata with full RTL support 2022-03-23 13:23:28 -07:00
Scott Nonnenberg 801c70b298
Don't render metadata if message bubble is collapsed 2022-03-23 10:41:38 -07:00
dependabot[bot] 2b0c291b07
Upgrade node-forge to v1.3.0 2022-03-23 10:14:38 -07:00
Scott Nonnenberg 8a36891512
addSingleMessage: Only loadNewestMessages if conversation is loaded 2022-03-22 18:37:45 -07:00
Scott Nonnenberg 04ef741236
Fix rendering of messages with primarily RTL text 2022-03-22 17:12:06 -07:00
Fedor Indutny 110eeb0f63
Ignore node_modules in pprettier glob 2022-03-22 15:08:10 -07:00
Scott Nonnenberg e8e18ff7e4
Group messages by status, grouping everything delivered+ together 2022-03-22 14:17:21 -07:00
Fedor Indutny 356f123092
Use parallel-prettier for lint 2022-03-22 13:45:34 -07:00
Scott Nonnenberg 67702254fb
Message Select: New faster animation, lighter for incoming bubbles 2022-03-22 12:06:08 -07:00
Fedor Indutny 926a04d045
getProfile errors shouldn't stop group update 2022-03-22 12:00:31 -07:00
Scott Nonnenberg 2ccd425ae2
background: Initialize job queues earlier 2022-03-21 17:20:03 -07:00
Scott Nonnenberg 1d268da50b
Drop stories and their replies if feature flag is disabled 2022-03-21 16:17:55 -07:00
Fedor Indutny f536421390
Better merging for changed keys in storage service 2022-03-21 15:06:34 -07:00
Fedor Indutny e08d9baaba
Remove createNonBreakingLastSeparator 2022-03-21 14:46:20 -07:00
Fedor Indutny 35b5087dc0
Short-circuit storyId predicate to optimize query 2022-03-21 14:21:35 -07:00
Scott Nonnenberg bddd55d574
Challenge: Save conversationIds and start queues 2022-03-21 14:19:37 -07:00
Scott Nonnenberg c369e44d8e
Fix Contact Modal and improve Debug Log window 2022-03-21 11:41:48 -07:00
Jim Gustafson 5d051ae16a
Update to RingRTC v2.20.0 2022-03-18 11:11:30 -07:00
Fedor Indutny e0bccf6a79
Make final state assert more specific 2022-03-18 09:38:17 -07:00
Evan Hahn 8c7ab7363f
Update `author` name in package metadata 2022-03-17 14:22:51 -07:00
Fedor Indutny 5c675ea2c8
Fix z-index of CustomizingPreferredReactionsModal 2022-03-17 14:21:50 -07:00
Scott Nonnenberg 53ca6672a9
Timeline: Spacing and message selection tweaks 2022-03-17 14:20:40 -07:00
Fedor Indutnyy 0e31659682 Merge https://github.com/signalapp/Signal-Desktop/pull/5788 2022-03-17 09:36:51 -07:00
Fedor Indutny 8ab4c4e78d
Postpone routineProfileRefresh until empty 2022-03-16 17:52:05 -07:00
Fedor Indutny 0923cc6cb8
Do not reopen the last notification on reconnect 2022-03-16 17:51:19 -07:00
Fedor Indutny 64219f52ac
Request last group state when fetching delta 2022-03-16 17:45:38 -07:00
Evan Hahn 34e4b77f51
Increase space between non-grouped message bubbles 2022-03-16 14:16:33 -07:00
Fedor Indutny a9bf0cc0c9
Fix race condition in Timeline 2022-03-16 14:07:53 -07:00
Scott Nonnenberg 5a7196e464
Sticker pack download: require just one successful sticker download 2022-03-16 12:18:16 -07:00
Josh Perez 3620309f22
Show story replies in the timeline 2022-03-16 10:30:14 -07:00
Scott Nonnenberg 55716c5db6
Fix third item in Whats's New dialog 2022-03-16 09:48:33 -07:00
Fedor Indutny 36ce4f27a2
Optimize profile avatar uploads and sync urls 2022-03-15 17:14:20 -07:00
Scott Nonnenberg 703bb8a3a3
Introduce new 'Block request' button in timeline 2022-03-15 17:11:28 -07:00
Fedor Indutny 536dd0c7b0
Update electron to 17.1.2 2022-03-15 14:45:53 -07:00
Scott Nonnenberg f217730b84
Support for people banned from joining groups via link 2022-03-14 18:32:07 -07:00
dependabot[bot] 1b7496399b
Upgrade lodash-es to v4.17.21 2022-03-14 17:03:21 -07:00
Fedor Indutny e51e0d299e
Update esbuild to 0.14.27 2022-03-14 16:58:23 -07:00
Fedor Indutny f7b71eecee
Use valid uuid as a fallback in calling 2022-03-14 15:14:14 -07:00
Fedor Indutny c28971ee9e
Profile fetches shouldn't drop our own profile key 2022-03-14 14:50:08 -07:00
Dimitris Apostolou 718d0a7046
Fix typos 2022-03-13 11:10:17 +02:00
Josh Perez 2114c851c7
Include authorUuid when sending replies 2022-03-11 15:14:32 -08:00
Fedor Indutny 4123c12303
Drop unused downloadsPath 2022-03-11 14:49:16 -08:00
Evan Hahn 72c6c57186
If not enough messages are loaded (on tall screens), fix jankiness 2022-03-11 14:31:21 -08:00
Evan Hahn 6e77d4b2c8
Fix RTL message layout issue 2022-03-10 11:35:48 -08:00
Josh Perez d0898cb0c2
Do not set conversation expire timer on incoming story msgs 2022-03-09 18:20:01 -08:00
Evan Hahn 5c5a7b3b36
Fix audio capture spacing 2022-03-09 16:38:07 -08:00
Josh Perez 50e66b7725
Fix ContextMenu stories 2022-03-09 16:31:34 -08:00
Scott Nonnenberg 0e853ec7b7 v5.36.0-beta.1 2022-03-09 15:33:41 -08:00
Scott Nonnenberg b973c3ad9f Update strings 2022-03-09 15:30:10 -08:00
Scott Nonnenberg 01e58f75d3 Add release notes for 5.36 2022-03-09 15:30:10 -08:00
Josh Perez 93e85c89e1
Remove overflow-x from conversation list dates 2022-03-09 15:18:10 -08:00
Evan Hahn 3226156a45
Revert buggy timeline layout refactor 2022-03-09 14:44:57 -08:00
Fedor Indutny 81e991af80
Use explicit method names for universal timers 2022-03-09 14:20:08 -08:00
Evan Hahn cc44dca32b
Left-align audio message countdown and right-align metadata 2022-03-09 15:45:18 -06:00
Fedor Indutny 4a00ea46bc
Allow requesting profile without profileKey 2022-03-09 12:23:21 -08:00
Evan Hahn 80e445389f
Fix marking tall messages read 2022-03-09 12:05:07 -08:00
Josh Perez ed5da924e6
Adjust calling pip z-index 2022-03-09 11:33:43 -08:00
Fedor Indutny 0c8c332805
Use new CDS implementation in staging 2022-03-09 11:28:40 -08:00
Scott Nonnenberg 5774fdef9f
getTextAndMentionsFromOps: Trim start of first op if it's a string 2022-03-09 11:27:49 -08:00
Evan Hahn fd72385b9f
`<Timeline>` only needs whether someone is typing, not who 2022-03-09 13:15:15 -06:00
Evan Hahn 0b5e2e6768
Simplify positioning of timeline warnings 2022-03-09 12:47:13 -06:00
Fedor Indutny a72cf075ef
Optimize initial storage service fetch 2022-03-09 10:22:34 -08:00
dependabot[bot] cc51cdccc7
Upgrade simple-get to v3.1.1 2022-03-08 16:27:13 -08:00
dependabot[bot] bc3aff2a2d
Upgrade follow-redirects to v1.14.9 2022-03-08 16:26:38 -08:00
Evan Hahn 699720b38e
Fix warning in `useNowThatUpdatesEveryMinute` 2022-03-08 16:06:44 -08:00
Evan Hahn 0f85335af1
Fix incorrect icon for dark theme message buttons, on hover 2022-03-08 13:55:48 -08:00
Evan Hahn 4b6b9cce01
Fix timeline not scrolling to bottom reliably 2022-03-08 13:54:27 -08:00
Fedor Indutny feef67da5a
Add extra notary signature checks to zkgroup 2022-03-08 13:07:52 -08:00
Evan Hahn 944d60f40b
On conversation open, scroll to unread indicator if present 2022-03-08 14:05:05 -06:00
Evan Hahn efee887135
Don't try generating link previews for `debuglogs.org` 2022-03-08 14:04:44 -06:00
Josh Perez 4e48d7792b
Use a hook for the ever-updating now 2022-03-08 13:11:11 -06:00
Fedor Indutny f8724e91da
Remove useZip for now 2022-03-08 10:16:44 -08:00
Fedor Indutny 3399e0c823
Fix `useZip` location in package.json 2022-03-08 09:21:37 -08:00
Evan Hahn 224bbe0e8b
Upgrade node-forge to 1.2.1 2022-03-08 09:12:04 -08:00
Fedor Indutny 83afd8683b
Update electron to 17.1.1 2022-03-08 09:11:52 -08:00
Evan Hahn 8f1e8321d7
Fix floating date header image border overlap 2022-03-08 10:58:00 -06:00
Evan Hahn c527de0a8d
Collapse message bubbles when applicable 2022-03-08 08:32:42 -06:00
Fedor Indutny 16cd115530
Use zip compression for windows installer 2022-03-07 17:28:33 -08:00
Fedor Indutny 4f53a41340
Enable background throttling for beta users 2022-03-07 15:21:41 -08:00
Evan Hahn 0c28561473
Move link preview and MIME tests to TypeScript 2022-03-07 15:20:04 -08:00
Scott Nonnenberg 114316745d
Don't increment totalUnread count for sends or database loads 2022-03-04 20:39:40 -08:00
Scott Nonnenberg 4be2a33be5
Populate dataMessage on CallbackResultType when sending 1:1 messages 2022-03-04 17:39:37 -08:00
Scott Nonnenberg 78fd36e880
Ensure that only messages with storyId have a StoryContext 2022-03-04 15:20:47 -08:00
Jim Gustafson dc9d186a2a
Update to RingRTC v2.19.2 2022-03-04 16:36:00 -06:00
dependabot[bot] d58dae68a1
Upgrade url-parse to v1.5.10 2022-03-04 13:18:02 -08:00
dependabot[bot] 636223c3b6
Upgrade plist to v3.0.4 2022-03-04 13:17:13 -08:00
Josh Perez eb91eb6fec
Process incoming story messages 2022-03-04 13:14:52 -08:00
Fedor Indutny df7cdfacc7
Don't mkdir restore dir in updater 2022-03-04 11:59:47 -08:00
Evan Hahn effe5aae6f
Assume everyone is GV2-capable 2022-03-04 13:48:44 -06:00
Scott Nonnenberg 0a52318be6
Delete for everyone: Track sends and show failure states 2022-03-04 11:22:31 -08:00
Fedor Indutny 688cca1806
Update sqlcipher to 4.5.1 2022-03-04 11:08:36 -08:00
Fedor Indutny 51759a64f9
Unescape link preview description 2022-03-04 11:02:36 -08:00
Evan Hahn 88b14e0130
Simplify `prettier` invocations (`yarn format`, `yarn lint`) 2022-03-04 13:00:11 -06:00
Evan Hahn a3b1b696db
`<MessageTimestamp>`: make `timestamp` prop required 2022-03-03 20:35:59 -08:00
Fedor Indutny 26100ea562
Make updates atomic again 2022-03-03 14:34:51 -08:00
Fedor Indutny c87cb59676
Update electron-builder to 23.0.1 2022-03-03 14:16:44 -08:00
Evan Hahn 0c31ad25ef
Remove React Virtualized from `<Timeline>` 2022-03-03 14:23:10 -06:00
Josh Perez 1eafe79905 v5.35.0-beta.1 2022-03-02 19:47:01 -05:00
Josh Perez ec97ffff82 Updates translation strings 2022-03-02 19:46:21 -05:00
Josh Perez 11895cdd19
Release notes for v5.35.x 2022-03-02 19:40:56 -05:00
Fedor Indutny 8cc3605637
Fix generation of reaction ids 2022-03-02 15:39:51 -08:00
Fedor Indutny 3b4106d9dd
Change order of syncs during linking 2022-03-02 14:53:47 -08:00
Josh Perez 4f869e7900
Removes bold from font-body-1 2022-03-02 15:24:36 -06:00
Fedor Indutny fe9cdfbed9
Fix error handling during piping in updater 2022-03-02 11:48:07 -08:00
Josh Perez 34eb6a541d
Japanese specific fonts 2022-03-02 13:41:16 -05:00
Josh Perez 0872afba3d
Fallback for the SafetyNumberViewer 2022-03-02 10:24:28 -08:00
Fedor Indutny da7a76e03f
Pass go headers through in updater/differential 2022-03-02 10:06:58 -08:00
Jim Gustafson 637b67d9a5
Update to RingRTC v2.19.0
Co-authored-by: Evan Hahn <evanhahn@signal.org>
2022-03-02 11:28:29 -06:00
Josh Perez 91119a261a
Ignore hardware media keys 2022-03-02 10:57:23 -06:00
Fedor Indutny e7b4b9015c
Update TypeScript to 4.6.2 2022-03-02 10:55:35 -06:00
Scott Nonnenberg 71b2b6e30a
Conversation Queue: Fix conversationId added to untrusted list 2022-03-01 17:04:19 -08:00
Scott Nonnenberg 1656b61a82
Group Migration: Don't bump to top of list if we're not in group 2022-03-01 16:13:17 -08:00
Evan Hahn cfa0711909
Put "is speaking?" threshold in remote config; lower default 2022-03-01 17:39:09 -06:00
Fedor Indutny 2b0c98f943
Handle PNI keys from ProvisionMessage 2022-03-01 15:01:21 -08:00
Fedor Indutny 19441cd3f3
Optimize number of range requests in updater 2022-03-01 14:44:29 -08:00
Fedor Indutny 1a751c07fc
Remove warn log when no account record is fetched 2022-02-28 18:43:45 -08:00
Fedor Indutny 524f0cfaea
Update mock server and drop /etc/hosts requirement 2022-02-28 17:46:32 -06:00
Scott Nonnenberg dbed3cbd2b
Migrate and add migration/removed events if GV2 migration removed us 2022-02-28 14:32:50 -08:00
Evan Hahn 9b269cb43f
`<Message>`: avoid state change when cleaning up reaction root elements 2022-02-28 13:42:51 -08:00
Fedor Indutny 0260e61348
Move tsc from `yarn generate` to `yarn lint` 2022-02-28 13:28:20 -08:00
Fedor Indutny c30af0032b
Don't bundle large singular dependencies 2022-02-28 09:39:39 -08:00
Scott Nonnenberg 746f3618f3
A few updates to CONTRIBUTING.md 2022-02-25 18:00:59 -06:00
Evan Hahn e4be12bced
Remove `as any` workaround from smart components 2022-02-25 17:59:43 -06:00
Evan Hahn 74ce24db68
Upgrade React and ReactDOM to 16.14.0 2022-02-25 17:59:27 -06:00
Scott Nonnenberg fcb96bf92a
Simplify OutgoingIdentityKeyError, use it in getKeysForIdentifier 2022-02-25 15:39:24 -08:00
Evan Hahn e4b4a0cd1e
Clean up `Element#scrollIntoViewIfNeeded` type 2022-02-25 15:35:53 -08:00
Fedor Indutny 033b4830d1
Use checkAccountExistence 2022-02-25 15:20:48 -08:00
Fedor Indutny 5c9718f268
Hotwire preload.bundle.js to specific NODE_ENV 2022-02-25 12:36:42 -08:00
Fedor Indutny 163777f751
Move assert to a different Updater method 2022-02-25 11:02:09 -08:00
Fedor Indutny 29c2f77d40
Display differential download size in UI 2022-02-25 10:44:03 -08:00
Evan Hahn 052a8e65e2
Add "clean up timer if necessary" utility 2022-02-25 10:37:15 -08:00
Evan Hahn c2a65306e2
Add option to auto-remove unused lint-deps exceptions 2022-02-25 09:24:21 -06:00
Evan Hahn 41b4cce6ec
Show local speaking indicator for group calls 2022-02-25 09:24:05 -06:00
Evan Hahn dbb732e7cf
Remove old release notes (v5.26 through v5.31, inclusive) 2022-02-25 09:23:38 -06:00
Scott Nonnenberg fc62fd4564
Don't send to blocked users 2022-02-24 18:40:56 -08:00
Scott Nonnenberg de942e1af2
sendToGroup: Combine into final send result even in error scenarios 2022-02-24 17:22:19 -08:00
Fedor Indutny 1d89ffcc2d
Update mock-server, upload ci logs on failure 2022-02-24 17:21:56 -08:00
Fedor Indutny 21db47c423
Fix release note text 2022-02-24 16:27:25 -08:00
Jon Chambers 45289f519a
Accept HTTP/429 as a "rate-limited" status code 2022-02-24 16:26:58 -08:00
Scott Nonnenberg 7431f151b2
applyMessageRequestResponse: Don't leaveGroup in 1:1 conversations 2022-02-24 15:58:48 -08:00
Fedor Indutny 112de16d06
Fix clear button in AvatarEditor 2022-02-24 15:57:16 -08:00
Evan Hahn b1e48dca8f
Increase max size of resized stickers 2022-02-24 16:54:22 -06:00
Fedor Indutny f58d1332c4
Differential updates 2022-02-24 13:01:41 -08:00
Fedor Indutny c11e9350d5
Notarize in afterSign step instead of afterPack 2022-02-24 12:24:48 -08:00
Fedor Indutny edcd005f5e
Update electron to 17.1.0 2022-02-24 12:05:04 -08:00
Fedor Indutny ebd1ca5895
Always use profile keys from group state 2022-02-24 12:00:30 -08:00
Fedor Indutny 5e113f8975
Run notarization in afterPack script 2022-02-24 11:39:26 -08:00
Fedor Indutny eebd252b81
Change location of copied language packs 2022-02-24 11:28:46 -08:00
Evan Hahn d57cf86ffd
Media Editor: reset object position and rotation 2022-02-24 12:26:40 -06:00
Fedor Indutnyy d637985796 v5.34.0-beta.1 2022-02-23 18:09:27 -08:00
Fedor Indutny bae295a0f6
Fix sticker creator 2022-02-23 18:07:42 -08:00
Fedor Indutnyy 68c0076a12 Update translations 2022-02-23 17:18:02 -08:00
Fedor Indutny 31d2cce309
Prune frameworks folder before zipping release 2022-02-23 15:34:51 -08:00
Scott Nonnenberg 4763831d3e
background.ts: Introduce types for redux initialState 2022-02-23 12:48:40 -06:00
Scott Nonnenberg 3673b6d101
updateGroup: Update group attributes last, after notifications are added 2022-02-23 10:36:44 -08:00
Evan Hahn 1f191401aa
Use browser time formatting instead of Moment 2022-02-23 12:15:15 -06:00
Fedor Indutny 3ad6ff7f05
Remove setup menu items after QR code linking 2022-02-22 17:35:34 -08:00
Scott Nonnenberg 4ea709f2e4
Don't fetch profiles on conversation open if we've left group 2022-02-22 17:06:19 -08:00
Fedor Indutny 5453d10572
Improve conversion between typed arrays 2022-02-22 17:05:53 -08:00
Fedor Indutny 5d035dff86
Drop GV1 records when GV2 records are present 2022-02-22 14:30:59 -08:00
Scott Nonnenberg b33b5d2a30
profileKey: Check length of incoming values, clear on failed send/fetch 2022-02-22 14:34:57 -06:00
Evan Hahn b96c7e90fe
Remove `<Timeline>` logging when row count is 0 2022-02-22 14:32:47 -06:00
Scott Nonnenberg a1639f111e
envelopeTypeToCiphertextType: Handle all envelope types 2022-02-22 14:32:25 -06:00
Evan Hahn 811e38b633
Upgrade to Electron 17.0.1 2022-02-18 15:58:49 -06:00
Scott Nonnenberg 2de45a341b
hangup: Hang up all calls, warn if we can't find intended call 2022-02-18 10:27:15 -06:00
Evan Hahn 811f2f66c9
Fix z-index on group calling overflow scroll buttons 2022-02-16 12:47:19 -06:00
Evan Hahn aad371525a
Fix typo in Storybook action name
Co-authored-by: Ted Timmons <ted@perljam.net>

See [#5646][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5646
2022-02-16 12:43:45 -06:00
Scott Nonnenberg 30783c887c
Introduce new conversationJobQueue 2022-02-16 10:36:21 -08:00
Evan Hahn 37d4776472
v5.33.0-beta.1 2022-02-16 12:34:03 -06:00
Evan Hahn fd81d38931
Call details screen disable call buttons if call is active 2022-02-16 10:33:52 -08:00
Evan Hahn da68def79f
Update translations 2022-02-16 12:32:32 -06:00
Evan Hahn e39c5006b4
Update release notes for v5.33.0-beta.1 release 2022-02-16 10:11:03 -08:00
Scott Nonnenberg 0bb0e6e9fc
MessageReceiver: Extract cipherTextBytes/Type from non-sealed messages 2022-02-16 11:41:28 -06:00
dependabot[bot] ec3a3bd7b2
Upgrade vm2 (a subdependency) to 3.9.7
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Hahn <evanhahn@signal.org>
2022-02-16 09:53:07 -06:00
Evan Hahn 2c848d85bc
Don't mark messages read if a call is fullscreen 2022-02-15 17:00:47 -06:00
Evan Hahn 68537902fb
Fix Moment locales failing to load 2022-02-15 16:32:10 -06:00
Evan Hahn 191302d703
Fix node-fetch redirect issue for VoIP URLs 2022-02-15 12:44:41 -06:00
Evan Hahn ae5fc1df86
Fix group creation when clicking create button 2022-02-14 14:31:37 -08:00
Fedor Indutny a0b05f41e3
Dropped storage keys should not cause upload 2022-02-14 11:36:32 -08:00
Josh Perez 67209d8881
Consolidates the search inputs 2022-02-14 12:57:11 -05:00
Fedor Indutny 1b352531ca
Our conversation doesn't require profile sharing 2022-02-11 17:04:07 -08:00
Fedor Indutny 6281d52ec6
Storage service tests and benches in ts/test-mock 2022-02-11 14:32:51 -08:00
Evan Hahn 48137a498c
Timeline: Add alternate height measurement cache 2022-02-11 16:28:28 -06:00
Fedor Indutny 0174687542
Use esbuild 2022-02-11 13:38:52 -08:00
Scott Nonnenberg 3c1ccce9bd
Sender Key: Use sender key expire duration from remote config 2022-02-11 13:09:35 -08:00
Fedor Indutny e0205ffff8
Drop invalid storage service keys 2022-02-11 13:05:24 -08:00
Josh Perez 138580fedb
Do not attach files while voice recording in progress 2022-02-11 12:18:04 -08:00
Evan Hahn 8c85a9d37f
Build both Sass files at once 2022-02-11 11:33:06 -08:00
dependabot[bot] 028b4a4ce8
Upgrade node-fetch to 2.6.7 2022-02-11 11:32:37 -08:00
Evan Hahn eed3e8e316
Disable "Call Again" if already on a call 2022-02-11 12:21:45 -06:00
Evan Hahn ae3b12bea8
Switch from deprecated `node-sass` to `sass` 2022-02-11 10:59:24 -06:00
Scott Nonnenberg 2055aaf776 v5.32.0-beta.1 2022-02-10 14:07:45 -08:00
Scott Nonnenberg 0828d315c0 Add release notes for 5.32.x 2022-02-10 14:07:45 -08:00
Scott Nonnenberg 6bc3c0807d Update strings 2022-02-10 13:22:40 -08:00
Evan Hahn 7ff0aeacb8
Log if `<Timeline>` row count is 0 2022-02-10 13:35:05 -06:00
Evan Hahn 4e707c1b9a
Remove duplicated react-virtualized type 2022-02-10 12:59:09 -06:00
Evan Hahn af995c83b6
Change dark mode QR code screen to make scanning easier 2022-02-10 08:27:05 -08:00
Fedor Indutny bd9483ddee
Fetch profiles for pending members 2022-02-09 10:34:24 -08:00
Fedor Indutny 4d21e1e22b
Update storage service when sharing profile key 2022-02-09 10:29:33 -08:00
Evan Hahn ca540d3047
Update google-libphonenumber to 3.2.27 2022-02-09 09:21:15 -08:00
Evan Hahn f5a4cd9ce8
Peek group calls when opening conversations and leaving calls 2022-02-08 13:18:51 -06:00
Evan Hahn 5ce26eb91a
Speaking indicator for group calls
Co-authored-by: Peter Thatcher <peter@signal.org>
Co-authored-by: Jim Gustafson <jim@signal.org>
Co-authored-by: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2022-02-08 12:30:33 -06:00
Fedor Indutny cb5131420f
Update storageService logging 2022-02-08 10:00:18 -08:00
Scott Nonnenberg 0a18cc50bd
New queue for view once syncs, handleRetry improvements 2022-02-08 09:30:42 -08:00
Evan Hahn 571ee3cab6
Add "don't mark stale" GitHub label 2022-02-07 18:03:28 -06:00
Evan Hahn fc3f8220df
Fix timeline scrolling bug 2022-02-07 15:00:04 -08:00
Scott Nonnenberg 59d323d815
Expiration start timestamp cleanup: Cancel update when missing our UUID 2022-02-07 16:26:20 -06:00
Evan Hahn 45393b1ca5
Fix timeline crash when deleting the oldest visible message 2022-02-07 10:54:15 -08:00
Fedor Indutny 6de2710841
Use new server params for group log fetch 2022-02-04 13:42:20 -08:00
Fedor Indutny 0d19f9131b
Drop legacy feature flags 2022-02-04 13:33:09 -08:00
Fedor Indutny abcfa3cc35
Do not reset active_at after group fetch 2022-02-04 13:23:30 -08:00
Fedor Indutny e37c6e68ec
Sort conversations by active_at 2022-02-04 11:01:09 -08:00
Fedor Indutny 65e107fba5
Copy missing locale paks on build 2022-02-04 10:24:49 -08:00
Fedor Indutny 891e72a260
Make sure isPinned is in sync with storage service 2022-02-02 17:21:02 -08:00
Fedor Indutny 40983ca73e
Update electron to 16.0.8 2022-02-02 14:18:09 -08:00
Fedor Indutny fdbb2bfb36
Normalize UUID in ConversationModel.initialize 2022-02-02 13:41:29 -08:00
Josh Perez f03cf1ba0e v5.31.0-beta.1 2022-02-02 16:18:21 -05:00
Josh Perez 40191f88da
Release notes for v5.31.x 2022-02-02 16:15:54 -05:00
Fedor Indutny bbe56e0811
Erase storage service state on key change 2022-02-02 16:15:39 -05:00
Josh Perez 4de30786ec
Allow retry when cannot update 2022-02-02 16:13:56 -05:00
Josh Perez 909453b20b
Allow reactions in announcement only groups 2022-02-02 15:01:22 -05:00
Evan Hahn 60d348e7cb
Open all Signal links in app 2022-02-02 10:29:01 -08:00
Evan Hahn 07968ea42b
Use `isSameDay` and `isToday` utilities 2022-02-02 10:27:44 -08:00
Evan Hahn 2f1d47c79e
Fix emoji picker crash 2022-02-02 10:26:20 -08:00
Josh Perez 31c471c7be
Add some margin to zoom container in lightbox 2022-02-02 10:19:15 -08:00
Fedor Indutny 82305a0c4f
Use upload-artifact to upload logs on failure 2022-02-02 10:14:27 -08:00
Josh Perez a0c61e5b4a
Only show image editing icon in composition area 2022-02-02 09:31:16 -06:00
Josh Perez e79fb9d2e5
Fix lost focus when typing in archived message while searching 2022-02-02 09:30:39 -06:00
Fedor Indutny 089116d069
Use identity key from storage service 2022-02-01 18:26:23 -08:00
Evan Hahn 85ae41eb1c
Remove duplicate helper function from `missingCaseError` 2022-02-01 16:57:31 -08:00
Josh Perez b38590a4ac
Lightbox: Fix clicks outside of zoomable area 2022-02-01 15:49:36 -08:00
Evan Hahn 04c08a624b
Fix left pane timestamps not updating 2022-01-31 16:45:56 -06:00
Fedor Indutny c931102d12
First storage service test 2022-01-31 14:01:34 -08:00
Evan Hahn c5ad020de7
Fix "mark conversation read" optimization 2022-01-31 13:52:09 -08:00
Scott Nonnenberg 397753bbfe
sendContentMessageToGroup: Comprehensive error check before failover 2022-01-31 13:51:24 -08:00
Evan Hahn 05e5786883
Increase fallback `Retry-After` time to 1 minute 2022-01-31 15:09:58 -06:00
Fedor Indutny b6287f4839
Properly propagate 204 to fetchManifest 2022-01-31 11:58:20 -08:00
Josh Perez c857250b12
Left pane design tweaks 2022-01-31 09:45:04 -06:00
Evan Hahn 1c43e7501c
Simplify spellcheck download URL, disable spellcheck in most windows 2022-01-28 16:27:18 -06:00
Jim Gustafson ab9d33cf1a
Update to RingRTC v2.17.2 2022-01-28 13:55:36 -06:00
Evan Hahn bd41bdf3cb
Tweaks to floating date header fading 2022-01-28 12:31:20 -06:00
Evan Hahn a34291f9dc
Two CI tweaks 2022-01-27 16:28:41 -08:00
Josh Perez bf45182a39
New left pane search design 2022-01-27 16:12:26 -06:00
Evan Hahn babd61377b
Remove floating date header remote config flags 2022-01-27 13:50:01 -08:00
Fedor Indutny 53a27d022f
Create contacts during processing of group updates 2022-01-27 13:46:31 -08:00
Fedor Indutny 6578679166
Improve performance of isEmojiOnlyText 2022-01-27 13:28:04 -08:00
Evan Hahn 8fa4cd68d5
Fix timeline item sizing bug, and test timeline logic 2022-01-27 12:10:24 -08:00
Evan Hahn 3864b941b9
Tweak floating header fade-out times 2022-01-27 12:05:23 -08:00
Scott Nonnenberg 604a4d1ac2
Add second trusted issuer certificate authority 2022-01-27 10:17:39 -08:00
Fedor Indutny 437ef2d3a7
Fetch joinedAtVersion before change log fetch for new groups 2022-01-26 16:02:23 -08:00
Scott Nonnenberg 2603d53891
Improve storage service migration to new field understanding 2022-01-26 15:39:25 -08:00
Evan Hahn f9440bf594
Timeline date headers 2022-01-26 17:05:26 -06:00
Josh Perez 0fa069f260
Trim profile names when setting them 2022-01-26 13:58:00 -08:00
Scott Nonnenberg 5f34ece87c
TaskWithTimeout: After suspend, don't start timers for new tasks 2022-01-26 12:39:24 -08:00
Fedor Indutny 0cf28344a6
Enable background throttling for alpha users 2022-01-26 12:17:46 -08:00
Evan Hahn 28940d1a34
Remove white border around QR code in dark mode 2022-01-25 17:32:33 -06:00
Scott Nonnenberg 68a458ec4a
Honor preferContactAvatars field on AccountRecord 2022-01-25 09:44:45 -08:00
Evan Hahn f5eb17e0d1
Fix stuck safety number modal overlay 2022-01-24 17:39:18 -08:00
Fedor Indutny 3aa488c3d5
Avoid calling `tray.destroy()` when quitting 2022-01-24 16:18:53 -08:00
Fedor Indutny dff941adc7
Don't let unidentifiedStatus change e164 2022-01-24 15:54:12 -08:00
Fedor Indutny 3c836908aa
Revert "MessageReceiver: Pause processing of new messages on suspend"
This reverts commit d74424a3b8.
2022-01-24 15:50:32 -08:00
Fedor Indutny a2a9500728
Fix logging overflow 2022-01-24 15:36:05 -08:00
Evan Hahn 1e1cb26f08
Update badge placement on 52x52 avatars 2022-01-24 15:59:55 -06:00
Fedor Indutny 3bdb6977e6
Fix typo in unknownContact 2022-01-24 13:38:55 -08:00
Scott Nonnenberg 1c67df8b22
Fix incorrect translation key: unknownUser -> unnkownContact 2022-01-24 12:38:16 -08:00
Josh Perez 7a502ea776
Remove env vars 2022-01-24 12:37:24 -08:00
Josh Perez 44bfb77635
Hang up call when screen is locked 2022-01-24 12:32:09 -08:00
Evan Hahn 884bfc0594
Properly handle read syncs while offline 2022-01-21 17:04:30 -08:00
Josh Perez 7fb23a1f6d
Fixes media editor text color selection prior to entering text 2022-01-21 16:46:07 -06:00
Fedor Indutny 9f0ea1cbf7
Use message.groupV2.revision during first fetch 2022-01-21 14:34:32 -08:00
Josh Perez 24c77b48bd
Disallow paste/drop images when there is a link preview 2022-01-21 15:46:05 -06:00
Evan Hahn b9adee918f
Removed "received at" from message details for outbound messages 2022-01-21 11:51:40 -06:00
Scott Nonnenberg fb31a02d88
MessateReceiver.maybeUpdateTimestamp: Annotate group identifier for log 2022-01-20 18:09:03 -08:00
David Sanders 50dc534164 Simplify permissions popup IPC 2021-11-09 07:35:31 -08:00
David Sanders 9d7340ef3f Fix several race conditions in react-contextmenu 2021-10-29 14:21:06 -07:00
1466 changed files with 489286 additions and 487983 deletions

View File

@ -1,4 +1,3 @@
build/**
components/**
coverage/**
dist/**
@ -15,19 +14,17 @@ libtextsecure/components.js
libtextsecure/test/test.js
test/test.js
sticker-creator/dist/**
ts/protobuf/compiled.d.ts
# Third-party files
js/Mp3LameEncoder.min.js
js/WebAudioRecorderMp3.js
js/libphonenumber-util.js
# TypeScript generated files
app/**/*.js
ts/**/*.js
sticker-creator/**/*.js
!sticker-creator/preload.js
**/*.d.ts
.eslintrc.js
webpack.config.ts
preload.bundle.*

View File

@ -15,6 +15,14 @@ const rules = {
},
],
// No omitting braces, keep on the same line
'brace-style': ['error', '1tbs', { allowSingleLine: false }],
curly: ['error', 'all'],
// Always use === and !== except when directly comparing to null
// (which only will equal null or undefined)
eqeqeq: ['error', 'always', { null: 'never' }],
// prevents us from accidentally checking in exclusive tests (`.only`):
'mocha/no-exclusive-tests': 'error',
@ -28,6 +36,9 @@ const rules = {
// useful for unused or internal fields
'no-underscore-dangle': 'off',
// Temp: We have because TypeScript's `allowUnreachableCode` option is on.
'no-unreachable': 'error',
// though we have a logger, we still remap console to log to disk
'no-console': 'error',
@ -109,12 +120,19 @@ const rules = {
'`with` is disallowed in strict mode because it makes code impossible to predict and optimize.',
},
],
curly: 'error',
};
const typescriptRules = {
...rules,
// Override brace style to enable typescript-specific syntax
'brace-style': 'off',
'@typescript-eslint/brace-style': [
'error',
'1tbs',
{ allowSingleLine: false },
],
'@typescript-eslint/array-type': ['error', { default: 'generic' }],
'no-restricted-imports': 'off',
@ -122,12 +140,6 @@ const typescriptRules = {
'error',
{
paths: [
{
name: 'electron',
importNames: ['BrowserWindow'],
message: 'Please use createBrowserWindow',
allowTypeImports: true,
},
{
name: 'chai',
importNames: ['expect', 'should', 'Should'],
@ -173,7 +185,14 @@ module.exports = {
overrides: [
{
files: ['ts/**/*.ts', 'ts/**/*.tsx', 'app/**/*.ts'],
files: [
'ts/**/*.ts',
'ts/**/*.tsx',
'app/**/*.ts',
'sticker-creator/**/*.ts',
'sticker-creator/**/*.tsx',
'build/intl-linter/**/*.ts',
],
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
@ -193,27 +212,12 @@ module.exports = {
rules: typescriptRules,
},
{
files: ['sticker-creator/**/*.ts', 'sticker-creator/**/*.tsx'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './sticker-creator/tsconfig.json',
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 2018,
sourceType: 'module',
},
plugins: ['@typescript-eslint'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react/recommended',
'airbnb-typescript-prettier',
files: [
'**/*.stories.tsx',
'ts/build/**',
'ts/test-*/**',
'build/intl-linter/**/*.ts',
],
rules: typescriptRules,
},
{
files: ['**/*.stories.tsx', 'ts/build/**', 'ts/test-*/**'],
rules: {
...typescriptRules,
'import/no-extraneous-dependencies': 'off',
@ -223,4 +227,6 @@ module.exports = {
],
rules,
reportUnusedDisableDirectives: true,
};

View File

@ -16,7 +16,7 @@ contact_links:
url: https://community.signalusers.org/c/support/
about: Feel free to ask anything
- name: 📖 Contribution instructions
url: https://github.com/signalapp/Signal-Desktop/blob/development/CONTRIBUTING.md
url: https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md
about: Want to contribute to Signal Desktop? Start here.
- name: ❓ Other issue?
url: https://community.signalusers.org/

View File

@ -14,9 +14,9 @@ Remember, you can preview this before saving it.
### Contributor checklist:
- [ ] My contribution is **not** related to translations. _Please submit translation changes via our [Signal Desktop Transifex project](https://www.transifex.com/signalapp/signal-desktop/)._
- [ ] My contribution is **not** related to translations.
- [ ] My commits are in nice logical chunks with [good commit messages](http://chris.beams.io/posts/git-commit/)
- [ ] My changes are [rebased](https://medium.com/free-code-camp/git-rebase-and-the-golden-rule-explained-70715eccc372) on the latest [`development`](https://github.com/signalapp/Signal-Desktop/tree/development) branch
- [ ] My changes are [rebased](https://medium.com/free-code-camp/git-rebase-and-the-golden-rule-explained-70715eccc372) on the latest [`main`](https://github.com/signalapp/Signal-Desktop/tree/main) branch
- [ ] A `yarn ready` run passes successfully ([more about tests here](https://github.com/signalapp/Signal-Desktop/blob/master/CONTRIBUTING.md#tests))
- [ ] My changes are ready to be shipped to users

3
.github/stale.yml vendored
View File

@ -1,4 +1,4 @@
# Copyright 2021 Signal Messenger, LLC
# Copyright 2021-2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
# Configuration for probot-stale - https://github.com/probot/stale
@ -18,6 +18,7 @@ exemptLabels:
- Accessibility
- Bug
- Regression
- "Don't mark stale"
- "Feature Request"
- "Good starter task"
- "Upstream Change Needed"

View File

@ -1,4 +1,4 @@
# Copyright 2021 Signal Messenger, LLC
# Copyright 2021-2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: Backport
@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
token: ${{ secrets.AUTOMATED_GITHUB_PAT }}
repository: signalapp/Signal-Backport-Action-Private

View File

@ -1,4 +1,4 @@
# Copyright 2020-2021 Signal Messenger, LLC
# Copyright 2020-2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: Benchmark
@ -6,6 +6,7 @@ on:
push:
branches:
- development
- main
- '[0-9]+.[0-9]+.x'
pull_request:
@ -13,6 +14,7 @@ jobs:
linux:
runs-on: ubuntu-latest
if: ${{ github.repository == 'signalapp/Signal-Desktop-Private' }}
timeout-minutes: 30
steps:
- name: Get system specs
@ -20,32 +22,22 @@ jobs:
- name: Get other system specs
run: uname -a
- name: Configure git to use HTTPS
run: git config --global url."https://${{ secrets.AUTOMATED_GITHUB_PAT }}:x-oauth-basic@github.com".insteadOf ssh://git@github.com
- name: Clone Desktop repo
uses: actions/checkout@v2
- name: Clone Mock-Server repo
uses: actions/checkout@v2
with:
repository: 'signalapp/Mock-Signal-Server-Private'
path: 'Mock-Server'
ref: 'gamma'
token: ${{ secrets.AUTOMATED_GITHUB_PAT }}
uses: actions/checkout@v3
- name: Setup node.js
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: '16.9.1'
node-version: '16.15.0'
- name: Install global dependencies
run: npm install -g yarn@1.22.10 typescript@4.4.2 ts-node@10.2.1
run: npm install -g yarn@1.22.10
- name: Install xvfb
run: sudo apt-get install xvfb
- name: Cache Desktop node_modules
id: cache-desktop-modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
@ -54,82 +46,73 @@ jobs:
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Install Mock-Server node_modules
run: yarn install --frozen-lockfile
working-directory: Mock-Server
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
- name: Build typescript
run: yarn generate
- name: Bundle
run: yarn build:webpack
- name: Copy CI configuration
run: |
cp -rf ./Mock-Server/config/local-development.json \
./config/local-development.json
cp -rf ./config/local-development.json ./config/local-production.json
- name: Setup hosts
run: sudo echo "127.0.0.1 mock.signal.org" | sudo tee -a /etc/hosts
- name: Run startup benchmarks
run: |
set -o pipefail
rm -rf /tmp/mock
xvfb-run --auto-servernum ts-node Mock-Server/scripts/load-test.ts \
./node_modules/.bin/electron . | tee benchmark-startup.log || \
(cat /tmp/mock/logs/{app,main}.log && exit 1)
xvfb-run --auto-servernum node ts/test-mock/benchmarks/startup_bench.js |
tee benchmark-startup.log
timeout-minutes: 10
env:
NODE_ENV: production
RUN_COUNT: 10
ELECTRON_ENABLE_STACK_DUMPING: on
ARTIFACTS_DIR: artifacts/startup
- name: Run send benchmarks
run: |
set -o pipefail
rm -rf /tmp/mock
xvfb-run --auto-servernum ts-node Mock-Server/scripts/send-test.ts \
./node_modules/.bin/electron . | tee benchmark-send.log || \
(cat /tmp/mock/logs/{app,main}.log && exit 1)
xvfb-run --auto-servernum node ts/test-mock/benchmarks/send_bench.js |
tee benchmark-send.log
timeout-minutes: 10
env:
NODE_ENV: production
RUN_COUNT: 100
ELECTRON_ENABLE_STACK_DUMPING: on
ARTIFACTS_DIR: artifacts/send
- name: Run group send benchmarks
run: |
set -o pipefail
rm -rf /tmp/mock
xvfb-run --auto-servernum ts-node \
Mock-Server/scripts/group-send-test.ts \
./node_modules/.bin/electron . | tee benchmark-group-send.log || \
(cat /tmp/mock/logs/{app,main}.log && exit 1)
xvfb-run --auto-servernum node \
ts/test-mock/benchmarks/group_send_bench.js | \
tee benchmark-group-send.log
timeout-minutes: 10
env:
NODE_ENV: production
RUN_COUNT: 100
ELECTRON_ENABLE_STACK_DUMPING: on
ARTIFACTS_DIR: artifacts/group-send
- name: Run conversation open benchmarks
run: |
set -o pipefail
rm -rf /tmp/mock
xvfb-run --auto-servernum ts-node \
Mock-Server/scripts/convo-open-test.ts \
./node_modules/.bin/electron . | tee benchmark-convo-open.log || \
(cat /tmp/mock/logs/{app,main}.log && exit 1)
xvfb-run --auto-servernum node \
ts/test-mock/benchmarks/convo_open_bench.js | \
tee benchmark-convo-open.log
timeout-minutes: 10
env:
NODE_ENV: production
RUN_COUNT: 100
ELECTRON_ENABLE_STACK_DUMPING: on
ARTIFACTS_DIR: artifacts/convo-open
- name: Upload benchmark logs on failure
if: failure()
uses: actions/upload-artifact@v3
with:
name: logs
path: artifacts
- name: Clone benchmark repo
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
repository: 'signalapp/Signal-Desktop-Benchmarks-Private'
path: 'benchmark-results'

View File

@ -1,4 +1,4 @@
# Copyright 2020-2021 Signal Messenger, LLC
# Copyright 2020-2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: CI
@ -6,25 +6,27 @@ on:
push:
branches:
- development
- main
- '[0-9]+.[0-9]+.x'
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- run: lsb_release -a
- run: uname -a
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.9.1'
node-version: '16.15.0'
- run: npm install -g yarn@1.22.10
- name: Cache Desktop node_modules
id: cache-desktop-modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
@ -40,20 +42,21 @@ jobs:
macos:
needs: lint
runs-on: macos-11.0
if: github.ref == 'refs/heads/development' || github.ref == 'refs/heads/master'
runs-on: macos-latest
if: github.ref == 'refs/heads/development' || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'
timeout-minutes: 30
steps:
- run: uname -a
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.9.1'
node-version: '16.15.0'
- run: npm install -g yarn@1.22.10
- name: Cache Desktop node_modules
id: cache-desktop-modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
@ -63,13 +66,14 @@ jobs:
- run: yarn generate
- run: yarn prepare-beta-build
- run: yarn test-node
- run: yarn test-electron
timeout-minutes: 5
- run: yarn build
env:
DISABLE_INSPECT_FUSE: on
- name: Rebuild native modules for x64
run: yarn electron:install-app-deps
- run: yarn test-node
- run: yarn test-electron
- run: yarn test-release
env:
NODE_ENV: production
@ -77,20 +81,21 @@ jobs:
linux:
needs: lint
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- run: lsb_release -a
- run: uname -a
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.9.1'
node-version: '16.15.0'
- run: sudo apt-get install xvfb
- run: npm install -g yarn@1.22.10
- name: Cache Desktop node_modules
id: cache-desktop-modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
@ -105,6 +110,7 @@ jobs:
DISABLE_INSPECT_FUSE: on
- run: xvfb-run --auto-servernum yarn test-node
- run: xvfb-run --auto-servernum yarn test-electron
timeout-minutes: 5
env:
LANG: en_US
LANGUAGE: en_US
@ -115,20 +121,21 @@ jobs:
windows:
needs: lint
runs-on: windows-latest
timeout-minutes: 30
steps:
- run: systeminfo
- run: git config --global core.autocrlf false
- run: git config --global core.eol lf
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.9.1'
node-version: '16.15.0'
- run: npm install -g yarn@1.22.10
- name: Cache Desktop node_modules
id: cache-desktop-modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
@ -146,6 +153,65 @@ jobs:
env:
DISABLE_INSPECT_FUSE: on
- run: yarn test-electron
timeout-minutes: 5
- run: yarn test-release
env:
SIGNAL_ENV: production
mock-tests:
needs: lint
runs-on: ubuntu-latest
if: ${{ github.repository == 'signalapp/Signal-Desktop-Private' }}
timeout-minutes: 30
steps:
- name: Get system specs
run: lsb_release -a
- name: Get other system specs
run: uname -a
- name: Clone Desktop repo
uses: actions/checkout@v3
- name: Setup node.js
uses: actions/setup-node@v3
with:
node-version: '16.15.0'
- name: Install global dependencies
run: npm install -g yarn@1.22.10
- name: Install xvfb
run: sudo apt-get install xvfb
- name: Cache Desktop node_modules
id: cache-desktop-modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
- name: Install Desktop node_modules
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Build typescript
run: yarn generate
- name: Bundle
run: yarn build:webpack
- name: Run mock server tests
run: |
set -o pipefail
xvfb-run --auto-servernum yarn test-mock
timeout-minutes: 10
env:
NODE_ENV: production
DEBUG: mock:test:*
ARTIFACTS_DIR: artifacts/startup
- name: Upload mock server test logs on failure
if: failure()
uses: actions/upload-artifact@v2
with:
name: logs
path: artifacts

32
.github/workflows/danger.yml vendored Normal file
View File

@ -0,0 +1,32 @@
# Copyright 2020-2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: CI
on:
pull_request:
jobs:
danger:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # fetch all history
- uses: actions/setup-node@v3
with:
node-version: '16.15.0'
- run: npm install -g yarn@1.22.10
- name: Cache danger node_modules
id: cache-desktop-modules
uses: actions/cache@v3
with:
path: danger/node_modules
key: danger-${{ runner.os }}-${{ hashFiles('danger/package.json', 'danger/yarn.lock') }}
- name: Install danger node_modules
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
run: cd danger && yarn install --frozen-lockfile
- name: Run DangerJS
run: yarn danger:ci
env:
DANGER_GITHUB_API_TOKEN: ${{ secrets.AUTOMATED_GITHUB_PAT }}

4
.gitignore vendored
View File

@ -1,4 +1,5 @@
node_modules
node_modules_bkp
.sass-cache
coverage/*
build/curve25519_compiled.js
@ -16,6 +17,7 @@ release/
/start.sh
.eslintcache
tsconfig.tsbuildinfo
.smartling-source.sh
# generated files
js/components.js
@ -37,8 +39,10 @@ sticker-creator/**/*.js
# Sticker Creator
sticker-creator/dist/*
sticker-creator/**/*.js
# Editors
/.idea
/.vscode
*.sublime*
*.map

2
.nvmrc
View File

@ -1 +1 @@
16.9.1
16.15.0

View File

@ -3,6 +3,7 @@
# Generated files
app/**/*.js
sticker-creator/**/*.js
config/local-*.json
config/local.json
dist/**
@ -27,18 +28,13 @@ js/curve/**
js/Mp3LameEncoder.min.js
js/WebAudioRecorderMp3.js
# Test fixtures
test/fixtures.js
# Assets
/images/
/fixtures/
# Github workflows
.github/**
# Managed by Transifex:
# Note: the negate pattern only works because it's targeting the same depth as the
# glob on the previous line.
_locales/**/*.json
!_locales/en/messages.json
# Managed by package manager (`bower` and `yarn`/`npm`):
/bower.json
/package.json

9
.smartling-source-example.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
# Copyright 2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
# run this before yarn get-strings/push-strings:
# source .smartling-source.sh
export SMARTLING_USER="your token 'user identifier' here"
export SMARTLING_SECRET="your token secret here"

7
.smartling.yml Normal file
View File

@ -0,0 +1,7 @@
# Copyright 2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
# https://github.com/Smartling/smartling-cli/wiki/examples.md
account_id: '92ff14ad'
project_id: 'ef62d1ebb'

View File

@ -1,5 +0,0 @@
// Copyright 2019-2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import '@storybook/addon-knobs/register';
import '@storybook/addon-actions/register';

View File

@ -1,141 +0,0 @@
// Copyright 2019-2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
import { addDecorator, addParameters, configure } from '@storybook/react';
import { withKnobs, boolean, optionsKnob } from '@storybook/addon-knobs';
import classnames from 'classnames';
import * as styles from './styles.scss';
import messages from '../_locales/en/messages.json';
import { I18n } from '../sticker-creator/util/i18n';
import { ThemeType } from '../ts/types/Util';
import { ClassyProvider } from '../ts/components/PopperRootContext';
import { StorybookThemeContext } from './StorybookThemeContext';
const optionsConfig = {
display: 'inline-radio',
};
const persistKnob = id => knob => {
const value = knob(localStorage.getItem(id));
localStorage.setItem(id, value);
return value;
};
const makeThemeKnob = pane =>
persistKnob(`${pane}-pane-theme`)(localValue =>
optionsKnob(
`${pane} Pane Theme`,
{ Light: '', Dark: classnames('dark-theme', styles.darkTheme) },
localValue || '',
optionsConfig,
`${pane} Pane`
)
);
const parseThemeString = str => (str === '' ? ThemeType.light : ThemeType.dark);
const makeModeKnob = pane =>
persistKnob(`${pane}-pane-mode`)(localValue =>
optionsKnob(
`${pane} Pane Mode`,
{ Mouse: 'mouse-mode', Keyboard: 'keyboard-mode' },
localValue || 'mouse-mode',
optionsConfig,
`${pane} Pane`
)
);
addDecorator(withKnobs({ escapeHTML: false }));
addDecorator((storyFn /* , context */) => {
const contents = storyFn();
const firstPaneThemeString = makeThemeKnob('First');
const firstPaneTheme = parseThemeString(firstPaneThemeString);
const firstPaneMode = makeModeKnob('First');
const secondPane = persistKnob('second-pane-active')(localValue =>
boolean('Second Pane Active', localValue !== 'false', 'Second Pane')
);
const secondPaneThemeString = makeThemeKnob('Second');
const secondPaneTheme = parseThemeString(secondPaneThemeString);
const secondPaneMode = makeModeKnob('Second');
// Adding it to the body as well so that we can cover modals and other
// components that are rendered outside of this decorator container
if (firstPaneThemeString === '') {
document.body.classList.remove('dark-theme');
} else {
document.body.classList.add('dark-theme');
}
if (firstPaneMode === 'mouse-mode') {
document.body.classList.remove('keyboard-mode');
document.body.classList.add('mouse-mode');
} else {
document.body.classList.remove('mouse-mode');
document.body.classList.add('keyboard-mode');
}
document.body.classList.add('page-is-visible');
return (
<div className={styles.container}>
<StorybookThemeContext.Provider value={firstPaneTheme}>
<ClassyProvider themes={['dark']}>
<div
className={classnames(
styles.panel,
firstPaneThemeString,
firstPaneMode
)}
>
{contents}
</div>
</ClassyProvider>
</StorybookThemeContext.Provider>
{secondPane ? (
<div
className={classnames(
styles.panel,
secondPaneThemeString,
secondPaneMode
)}
>
<StorybookThemeContext.Provider value={secondPaneTheme}>
{contents}
</StorybookThemeContext.Provider>
</div>
) : null}
</div>
);
});
// Hack to enable hooks in stories: https://github.com/storybookjs/storybook/issues/5721#issuecomment-473869398
addDecorator(Story => <Story />);
addDecorator(story => <I18n messages={messages}>{story()}</I18n>);
addParameters({
axe: {
disabledRules: ['html-has-lang'],
},
});
configure(() => {
// Load main app stories
const tsComponentsContext = require.context(
'../ts/components',
true,
/\.stories.tsx?$/
);
tsComponentsContext.keys().forEach(f => tsComponentsContext(f));
// Load sticker creator stories
const stickerCreatorContext = require.context(
'../sticker-creator',
true,
/\.stories\.tsx?$/
);
stickerCreatorContext.keys().forEach(f => stickerCreatorContext(f));
}, module);

23
.storybook/main.js Normal file
View File

@ -0,0 +1,23 @@
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
module.exports = {
stories: [
'../ts/components/**/*.stories.tsx',
'../sticker-creator/**/*.stories.tsx',
],
addons: [
'@storybook/addon-a11y',
'@storybook/addon-actions',
'@storybook/addon-controls',
'@storybook/addon-measure',
'@storybook/addon-toolbars',
'@storybook/addon-viewport',
// This must be imported last.
'@storybook/addon-interactions',
// Deprecated! Please remove when all uses have been migrated to controls.
'@storybook/addon-knobs',
],
};

View File

@ -3,7 +3,15 @@
<!-- prettier-ignore -->
<link rel="stylesheet" href="../stylesheets/manifest.css" />
<link
href="../node_modules/@indutny/frameless-titlebar/dist/styles.css"
rel="stylesheet"
type="text/css"
/>
<script>
// eslint-disable-next-line
const noop = () => {};
window.SignalWindow = window.SignalWindow || {};
window.SignalWindow.log = {
fatal: console.error.bind(console),
@ -13,4 +21,28 @@
debug: console.debug.bind(console),
trace: console.trace.bind(console),
};
window.SignalContext = {
activeWindowService: {
isActive: () => true,
registerForActive: noop,
unregisterForActive: noop,
registerForChange: noop,
unregisterForChange: noop,
},
nativeThemeListener: {
getSystemValue: async () => 'light',
subscribe: noop,
unsubscribe: noop,
},
Settings: {
themeSetting: {
getValue: async () => 'light',
},
waitForChange: () => new Promise(noop),
},
OS: {
hasCustomTitleBar: () => false,
},
};
</script>

87
.storybook/preview.tsx Normal file
View File

@ -0,0 +1,87 @@
// Copyright 2019-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
import classnames from 'classnames';
import { withKnobs, boolean, optionsKnob } from '@storybook/addon-knobs';
import * as styles from './styles.scss';
import messages from '../_locales/en/messages.json';
import { ClassyProvider } from '../ts/components/PopperRootContext';
import { I18n } from '../sticker-creator/util/i18n';
import { StorybookThemeContext } from './StorybookThemeContext';
import { ThemeType } from '../ts/types/Util';
export const globalTypes = {
mode: {
name: 'Mode',
description: 'Application mode',
defaultValue: 'mouse',
toolbar: {
dynamicTitle: true,
icon: 'circlehollow',
items: ['mouse', 'keyboard'],
showName: true,
},
},
theme: {
name: 'Theme',
description: 'Global theme for components',
defaultValue: 'light',
toolbar: {
dynamicTitle: true,
icon: 'circlehollow',
items: ['light', 'dark'],
showName: true,
},
},
};
const withModeAndThemeProvider = (Story, context) => {
const theme =
context.globals.theme === 'light' ? ThemeType.light : ThemeType.dark;
const mode = context.globals.mode;
// Adding it to the body as well so that we can cover modals and other
// components that are rendered outside of this decorator container
if (theme === 'light') {
document.body.classList.remove('dark-theme');
} else {
document.body.classList.add('dark-theme');
}
if (mode === 'mouse') {
document.body.classList.remove('keyboard-mode');
document.body.classList.add('mouse-mode');
} else {
document.body.classList.remove('mouse-mode');
document.body.classList.add('keyboard-mode');
}
document.body.classList.add('page-is-visible');
return (
<div className={styles.container}>
<StorybookThemeContext.Provider value={theme}>
<Story {...context} />
</StorybookThemeContext.Provider>
</div>
);
};
const withI18n = (Story, context) => (
<I18n messages={messages} locale="en">
<Story {...context} />
</I18n>
);
export const decorators = [
withModeAndThemeProvider,
withI18n,
];
export const parameters = {
axe: {
disabledRules: ['html-has-lang'],
},
};

View File

@ -4,19 +4,10 @@
@import '../stylesheets/variables';
.container {
display: flex;
flex-direction: row;
align-items: stretch;
align-content: stretch;
width: 100vw;
height: 100vh;
}
.panel {
flex: 1;
padding: 16px;
align-items: stretch;
height: 100%;
overflow: auto;
width: 100%;
}
.dark-theme {

View File

@ -1,4 +1,4 @@
// Copyright 2019-2020 Signal Messenger, LLC
// Copyright 2019-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const webpack = require('webpack');
@ -10,11 +10,6 @@ module.exports = ({ config }) => {
);
config.module.rules.unshift(
{
test: /\.[jt]sx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
},
{
test: /\.scss$/,
loaders: [
@ -25,8 +20,6 @@ module.exports = ({ config }) => {
}
);
config.resolve.extensions = ['.tsx', '.ts', '.jsx', '.js'];
config.externals = {
net: 'net',
};

View File

@ -1,8 +0,0 @@
[main]
host = https://www.transifex.com
[signal-desktop.messagesjson-electron]
file_filter = _locales/<lang>/messages.json
source_file = _locales/en/messages.json
source_lang = en
type = CHROME

View File

@ -5,7 +5,6 @@ tests
powered-test
# asset directories
docs
doc
website
images

View File

@ -5,6 +5,34 @@
Signal Desktop makes use of the following open source projects.
## @formatjs/fast-memoize
License: MIT
## @indutny/frameless-titlebar
MIT License
Copyright (c) 2019 Cristian Ponce
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## @popperjs/core
License: MIT
@ -859,6 +887,53 @@ Signal Desktop makes use of the following open source projects.
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
## dicer
Copyright Brian White. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
## direction
(The MIT License)
Copyright (c) 2014 Titus Wormer <tituswormer@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
## emoji-datasource
The MIT License (MIT)
@ -2056,6 +2131,33 @@ Signal Desktop makes use of the following open source projects.
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
## mp4box
Copyright (c) 2012. Telecom ParisTech/TSI/MM/GPAC Cyril Concolato
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
## mustache
The MIT License
@ -2467,6 +2569,18 @@ Signal Desktop makes use of the following open source projects.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
## p-timeout
MIT License
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
## parchment
Copyright (c) 2015, Jason Chen
@ -2538,10 +2652,6 @@ Signal Desktop makes use of the following open source projects.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## pino-multi-stream
License: MIT
## protobufjs
This license applies to all parts of protobuf.js except those files
@ -2753,6 +2863,10 @@ Signal Desktop makes use of the following open source projects.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## react-intl
License: BSD-3-Clause
## react-measure
The MIT License (MIT)
@ -2877,6 +2991,29 @@ Signal Desktop makes use of the following open source projects.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## react-textarea-autosize
The MIT License (MIT)
Copyright (c) 2013 Andrey Popp
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
## react-virtualized
The MIT License (MIT)
@ -3045,30 +3182,6 @@ Signal Desktop makes use of the following open source projects.
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
## rotating-file-stream
The MIT License (MIT)
Copyright (c) 2015-2020 Daniele Ricci
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## sanitize.css
License: CC0-1.0
@ -3336,7 +3449,9 @@ Signal Desktop makes use of the following open source projects.
## typeface-inter
Copyright (c) 2016-2018 The Inter Project Authors (me@rsms.me)
Copyright (c) 2016-2020 The Inter Project Authors.
"Inter" is trademark of Rasmus Andersson.
https://github.com/rsms/inter
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:

View File

@ -1,4 +1,4 @@
<!-- Copyright 2015-2020 Signal Messenger, LLC -->
<!-- Copyright 2015-2022 Signal Messenger, LLC -->
<!-- SPDX-License-Identifier: AGPL-3.0-only -->
# Contributor Guidelines
@ -13,14 +13,15 @@ It's a good idea to gauge interest in your intended work by finding the current
for it or creating a new one yourself. You can use also that issue as a place to signal
your intentions and get feedback from the users most likely to appreciate your changes.
Once you've spent a little bit of time planning your solution, it's a good idea to go
Once you've spent a little bit of time planning your solution, you can go
back to the issue and talk about your approach. We'd be happy to provide feedback. [An
ounce of prevention, as they say!](https://www.goodreads.com/quotes/247269-an-ounce-of-prevention-is-worth-a-pound-of-cure)
## Developer Setup
First, you'll need [Node.js](https://nodejs.org/) which matches our current version.
You can check [`.nvmrc` in the `development` branch](https://github.com/signalapp/Signal-Desktop/blob/development/.nvmrc) to see what the current version is. If you have [nvm](https://github.com/creationix/nvm)
You can check [`.nvmrc` in the `main` branch](https://github.com/signalapp/Signal-Desktop/blob/main/.nvmrc)
to see what the current version is. If you have [nvm](https://github.com/creationix/nvm)
you can just run `nvm use` in the project directory and it will switch to the project's
desired Node.js version. [nvm for windows](https://github.com/coreybutler/nvm-windows) is
still useful, but it doesn't support `.nvmrc` files.
@ -47,17 +48,16 @@ Install the [Xcode Command-Line Tools](http://osxdaily.com/2014/02/12/install-co
1. Install `gcc`
1. Install `g++`
1. Install `make`
1. Install `git-lfs`
### All platforms
Now, run these commands in your preferred terminal in a good directory for development:
```
git lfs install # Setup Git LFS.
npm install --global yarn # Make sure you have have `yarn`
git clone https://github.com/signalapp/Signal-Desktop.git
cd Signal-Desktop
git-lfs install # Setup Git LFS.
npm install --global yarn # (only if you dont already have `yarn`)
yarn install --frozen-lockfile # Install and build dependencies (this will take a while)
yarn generate # Generate final JS and CSS assets
yarn build:webpack # Build parts of the app that use webpack (Sticker Creator)
@ -181,17 +181,9 @@ Please write tests! Our testing framework is
[mocha](http://mochajs.org/) and our assertion library is
[chai](http://chaijs.com/api/assert/).
The easiest way to run all tests at once is `yarn test`.
You can browse tests from the command line with `grunt unit-tests` or in an
interactive session with `NODE_ENV=test yarn run start`.
If you want to run the `libtextsecure` tests, you can run `yarn run test-electron`,
which also runs the unit tests.
To run Node.js tests, you can run `yarn test-server` from the command line. You can get
code coverage numbers for this kind of run via `yarn test-server-coverage`, then display
the report with `yarn open-coverage`.
The easiest way to run all tests at once is `yarn test`, which will run them on the
command line. You can run the client-side tests in an interactive session with
`NODE_ENV=test yarn run start`.
## Pull requests
@ -199,19 +191,16 @@ So you wanna make a pull request? Please observe the following guidelines.
- First, make sure that your `yarn ready` run passes - it's very similar to what our
Continuous Integration servers do to test the app.
- Please do not submit pull requests for translation fixes. Anyone can update
the translations in
[Transifex](https://www.transifex.com/projects/p/signal-desktop).
- Please do not submit pull requests for translation fixes.
- Never use plain strings right in the source code - pull them from `messages.json`!
You **only** need to modify the default locale
[`_locales/en/messages.json`](_locales/en/messages.json). Other locales are generated
automatically based on that file and then periodically uploaded to Transifex for
translation.
automatically based on that file and then periodically translated.
- [Rebase](https://nathanleclaire.com/blog/2014/09/14/dont-be-scared-of-git-rebase/) your
changes on the latest `development` branch, resolving any conflicts.
changes on the latest `main` branch, resolving any conflicts.
This ensures that your changes will merge cleanly when you open your PR.
- Be sure to add and run tests!
- Make sure the diff between our master and your branch contains only the
- Make sure the diff between the development branch and your branch contains only the
minimal set of changes needed to implement your feature or bugfix. This will
make it easier for the person reviewing your code to approve the changes.
Please do not submit a PR with commented out code or unfinished features.
@ -283,15 +272,3 @@ yarn build
```
Then, run the tests using `yarn test-release`.
## Translations
To pull the latest translations, follow these steps:
1. Download Transifex client:
https://docs.transifex.com/client/installing-the-client
2. Create Transifex account: https://transifex.com
3. Generate API token: https://www.transifex.com/user/settings/api/
4. Create `~/.transifexrc` configuration:
https://docs.transifex.com/client/client-configuration#-transifexrc
5. Run `yarn grunt tx`.

View File

@ -20,15 +20,9 @@ Please search for any [existing issues](https://github.com/signalapp/Signal-Desk
Please use our community forum: https://community.signalusers.org/
## Contributing Translations
Interested in helping to translate Signal? Contribute here:
https://www.transifex.com/projects/p/signal-desktop
## Contributing Code
Please see [CONTRIBUTING.md](https://github.com/signalapp/Signal-Desktop/blob/development/CONTRIBUTING.md)
Please see [CONTRIBUTING.md](https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md)
for setup instructions and guidelines for new contributors. Don't forget to sign the [CLA](https://signal.org/cla/).
## Contributing Funds

5864
_locales/af-ZA/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/az-AZ/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/bg-BG/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/bn-BD/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/bs-BA/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/et-EE/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/fa-IR/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/ga-IE/messages.json Normal file

File diff suppressed because it is too large Load Diff

5864
_locales/gl-ES/messages.json Normal file

File diff suppressed because it is too large Load Diff

5864
_locales/gu-IN/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/hi-IN/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/hr-HR/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/ka-GE/messages.json Normal file

File diff suppressed because it is too large Load Diff

5864
_locales/kk-KZ/messages.json Normal file

File diff suppressed because it is too large Load Diff

5864
_locales/km-KH/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/kn-IN/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/ky-KG/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/lt-LT/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/lv-LV/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/mk-MK/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/ml-IN/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/mr-IN/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/my/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/pa-IN/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5864
_locales/pt-BR/messages.json Normal file

File diff suppressed because it is too large Load Diff

5864
_locales/pt-PT/messages.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More