Compare commits

...

1922 Commits
5.12.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
Fedor Indutnyy ec04e520ec v5.30.0-beta.1 2022-01-20 15:23:50 -08:00
Fedor Indutnyy 329d4335ef Add release notes 2022-01-20 15:23:22 -08:00
Fedor Indutnyy d3f36b6f0c Update strings 2022-01-20 15:21:43 -08:00
Scott Nonnenberg d74424a3b8
MessageReceiver: Pause processing of new messages on suspend 2022-01-20 14:47:06 -08:00
Fedor Indutny 8cd557ff91
Add extra logging for change phone number 2022-01-20 14:44:25 -08:00
Peter Thatcher bcd9f961ad
Allow screenshare video frames to be more stale 2022-01-20 12:43:58 -06:00
Fedor Indutny 1a313b88f8
Fix crash report location on Windows 2022-01-19 17:50:16 -08:00
Fedor Indutny 26421b8c18
Log conversation open time 2022-01-19 16:40:29 -08:00
Scott Nonnenberg f1586578ff
Properly handle groupIds in incoming block sync 2022-01-19 16:39:27 -08:00
Fedor Indutny a802188f33
Fix partial updates on Windows 2022-01-19 15:42:55 -08:00
Josh Perez 3eddd06e5c
Lightbox zoom improvements 2022-01-19 12:21:12 -08:00
Evan Hahn c1e3e87b99
Prohibit Chai `expect` or `should`; prefer `assert` 2022-01-19 11:19:08 -08:00
Fedor Indutny 885b4d4d2e
Trigger EnvelopeEvent for unsealed envelopes 2022-01-18 17:10:53 -08:00
Evan Hahn 15fbbf0a67
Remove `react-docgen-typescript` dependency 2022-01-18 12:52:53 -08:00
Jim Gustafson d8c071dca6
Update to RingRTC v2.17.0 2022-01-15 20:59:01 -06:00
Quentin Hibon c539cae382 Fix CONTRIBUTING.md link in README
See [#5740](https://github.com/signalapp/Signal-Desktop/pull/5740).
2022-01-15 19:45:27 -06:00
Fedor Indutny 145d9287d9
Add tentative prefix to crash report uploads 2022-01-14 13:50:45 -08:00
Scott Nonnenberg 90356d4c0f
Move a number of sync messages to jobs for retry 2022-01-14 13:34:52 -08:00
Evan Hahn 74aaf7819a
Capitalize "Now" in message metadata 2022-01-14 12:13:16 -08:00
Evan Hahn eba8d8d4b8
Render QR code with SVG, not canvas 2022-01-14 10:45:05 -06:00
Fedor Indutny 7486312e4e
Start worker threads after second instance check 2022-01-14 10:23:46 -06:00
Scott Nonnenberg 7a2cd61955
Calling Lobby: Ensure participant list can be dismissed 2022-01-14 10:16:07 -06:00
Evan Hahn f9faf9b759
Fix disabling spellcheck with `<Input>` 2022-01-13 15:27:14 -08:00
Evan Hahn 393b740fe6
Fix crash when changing your username 2022-01-13 13:25:20 -08:00
Fedor Indutny 48836d5761
Update @react-spring/web to 9.4.1 2022-01-13 10:31:13 -08:00
Fedor Indutny 31c6a2fc0d
More frequent message cleanup 2022-01-13 10:30:51 -08:00
Scott Nonnenberg 3448f7da92 v5.29.0-beta.1 2022-01-12 14:52:48 -08:00
Scott Nonnenberg b1c48b6c34 Add release notes for 5.29 2022-01-12 14:52:33 -08:00
Scott Nonnenberg 79af939aaa Update strings 2022-01-12 14:38:08 -08:00
Evan Hahn 05d48d2789
Shorten calling "automatically muted" string 2022-01-12 16:10:34 -06:00
Evan Hahn 2324a8230f
Fix test-node warning about empty folder 2022-01-12 12:50:44 -08:00
Fedor Indutny e5111c4565
Fix flaky test-release test 2022-01-12 11:15:58 -08:00
Evan Hahn 0a90380ac8
Remove "can resize left pane" flags 2022-01-12 11:35:47 -06:00
Evan Hahn a5a73e869c
Convert remaining main process tests to TypeScript 2022-01-11 17:10:35 -08:00
Fedor Indutny 8f2c663a12
Update electron to 16.0.7 2022-01-11 17:03:21 -08:00
Evan Hahn 41852a4026
Format `ts/**/.eslintrc.js` with Prettier 2022-01-11 17:01:55 -08:00
Evan Hahn 0c12607e79
Fix "did reaction fully send?" logic 2022-01-11 16:50:11 -08:00
Evan Hahn 2dded88081
Add comments explaining Fabric listeners 2022-01-11 17:18:19 -06:00
Evan Hahn ace90c9d7a
Update license year in README 2022-01-11 17:18:05 -06:00
Evan Hahn 3a463d3bfc
Use durations utility in parseRetryAfter 2022-01-11 17:17:41 -06:00
Fedor Indutny 91f1b62bc7
Detect startup after recent crashes 2022-01-11 12:02:46 -08:00
Scott Nonnenberg 02a732c511
getProfiles: Fetch a maximum of three profiles at at a time 2022-01-11 11:40:20 -08:00
Evan Hahn d9b951bfcb
Update base config logging, removal, and tests 2022-01-11 11:12:55 -08:00
Josh Perez 5a3c9c7332
Use app.getLocale to setup spellchecker locale 2022-01-11 11:05:22 -08:00
Evan Hahn 206f461370
Move menu tests to TypeScript 2022-01-11 09:28:04 -08:00
Jordan Rose a014337e72
In non-production builds, copy the linking QR code on double-click 2022-01-10 13:32:32 -06:00
Scott Nonnenberg 06165cb742
Include sender keys in SignalProtocolStore zones 2022-01-07 18:12:13 -08:00
Scott Nonnenberg a17e157e7b
Fix messages_unread index 2022-01-07 12:51:19 -08:00
Fedor Indutny fa8ff2ae4c
Fix messages_preview index 2022-01-07 11:51:41 -08:00
Fedor Indutny f49df88877
Update last conversation message after loading 2022-01-07 10:20:29 -08:00
Evan Hahn f8bbf5c998
Group calls: mute in the lobby if joining a large call 2022-01-07 12:01:23 -06:00
Evan Hahn 09af7eeece
Add workaround for fullscreen debug log causing unresponsive app 2022-01-07 09:30:47 -06:00
Josh Perez e741b7820a
Fix sticker creator 2022-01-06 15:34:53 -08:00
Evan Hahn 577d9a41cc
Log read sync and view sync timestamps 2022-01-06 16:14:16 -06:00
Evan Hahn 5eee11e89c
Respect changing PPI during screen share 2022-01-06 16:00:11 -06:00
Fedor Indutny e98b281644
Use serverTimestamp for delivery receipts 2022-01-06 12:12:53 -08:00
Evan Hahn b7c2e6d3e8
Remove M1 support from 5.28 release notes 2022-01-06 11:24:46 -08:00
Evan Hahn fa89d77313
Increase contrast of attachment close button in dark mode 2022-01-06 09:54:15 -08:00
Scott Nonnenberg c72c5a0bdc
Protocol filter: Support home path mapped to UNC share 2022-01-06 09:53:29 -08:00
Scott Nonnenberg 7d397167cd
updateSharedGroups: Make one database query, check for membership, sort 2022-01-06 09:20:54 -06:00
Evan Hahn fc3ebe40a7
Switch to low QR code error correction 2022-01-05 18:08:28 -06:00
Evan Hahn eb8687bd81
Add "Need help?" link to link screen 2022-01-05 16:13:33 -06:00
Scott Nonnenberg 62e9a1570a
Enable notifications for disappearing messages on macOS 12.0.1 and above 2022-01-05 13:52:06 -08:00
Evan Hahn c8d32f0327
Switch to qrcode-generator library 2022-01-05 09:59:59 -08:00
Evan Hahn 17bee00821 v5.28.0-beta.1 2022-01-05 10:10:13 -06:00
Evan Hahn 0fbaf05cd4
Update translations 2022-01-05 09:48:42 -06:00
Evan Hahn ea5571b025
Update release notes for 5.28 release 2022-01-04 17:44:26 -06:00
Evan Hahn 2f90608e1b
Improve "send anyway" experience when starting app 2022-01-04 14:24:18 -08:00
Scott Nonnenberg 54e252ecc2
Re-enable reaction notifications and improve message modifier typing 2022-01-04 09:27:16 -06:00
Fedor Indutny 14861aff50
Process manifest before persisting its version 2022-01-04 09:22:48 -06:00
Fedor Indutny 868092ac5f
Drop unused generated protobufjs methods 2022-01-03 19:29:41 -08:00
Fedor Indutny 46ddcc50f9
Update electron to 16.0.6 2022-01-03 17:43:42 -08:00
Evan Hahn dca2364ba4
Fix media editor undo state bugs 2022-01-03 17:29:19 -06:00
Evan Hahn 7273e580bd
Quiet React warning in mute modal 2022-01-03 13:44:45 -08:00
Fedor Indutny 2d596ac8b2
Switch SQL to main process on disconnect 2022-01-03 13:44:04 -08:00
Fedor Indutny 35530a4832
Fix sticker uninstall popup z-index 2021-12-28 12:23:27 -08:00
Fedor Indutny 7073f5660a
Don't run CI twice on pull requests 2021-12-23 19:50:07 +01:00
Fedor Indutny 08764c27dd
Include sharp dlls on windows 2021-12-22 20:51:15 +01:00
Fedor Indutny aabbd0c041
Patch got@11.8.2 to fix onCancel error 2021-12-21 22:49:54 +01:00
Fedor Indutny 9d04daff5f
Fix message_user_initiated 2021-12-21 22:49:40 +01:00
Fedor Indutny f5312b9463
Fix getUnreadReactionsAndMarkRead 2021-12-21 21:01:09 +01:00
Evan Hahn 327a38a552
Fix capitalization in media editor variable name 2021-12-21 00:31:38 +01:00
Scott Nonnenberg 0163ef203b
loadAndScroll: Use one transaction to pull all data: old/new/metrics 2021-12-20 22:05:13 +01:00
Scott Nonnenberg 60a53656af
Optimize a few queries 2021-12-20 22:04:02 +01:00
Fedor Indutny b08691b35b
Default to `system` `theme-setting` 2021-12-20 10:58:21 -06:00
Fedor Indutny 67339001a8
Fix getHtmlDocument for compressed documents 2021-12-20 17:45:57 +01:00
Fedor Indutny 3228e22428
Fix batching in getUnreadReactionsAndMarkRead 2021-12-20 16:15:36 +01:00
Fedor Indutny 9f15f26828
Support running test-electron manually 2021-12-17 15:12:42 -08:00
Evan Hahn 3fa911598b
Use Signal's spellcheck dictionary files 2021-12-17 14:24:54 -08:00
Evan Hahn fa9c523d39
Increase font size of last step of link flow 2021-12-17 16:23:39 -06:00
Jim Gustafson c6a4f6ec5c
Update to RingRTC v2.16.1 2021-12-17 22:47:56 +01:00
Fedor Indutny 8070b8b14f
Block WebAPI during active registration 2021-12-17 22:26:50 +01:00
Fedor Indutny 9e9e5274cf
Fuse electron at build time 2021-12-17 09:50:42 -08:00
Evan Hahn 770c80b9ee
Remove several @ts-ignores 2021-12-16 17:14:21 -08:00
Evan Hahn e0bd9f6958
Remove old `desktop.screensharing2` feature flag 2021-12-16 17:12:31 -08:00
Fedor Indutny afd6f3bc20
Compact universal builds for macOS 2021-12-16 16:11:18 -08:00
Scott Nonnenberg 9d1d219853
Fix yarn dev: add dev:sass and dev:sass-bridge 2021-12-16 14:17:08 -06:00
Evan Hahn ed96e603ab
Wait for `ConversationController` load in receipt and sync jobs 2021-12-16 09:45:56 -08:00
Scott Nonnenberg 29c3b8af89
Fix groupV2 change rendering in notifications and left pane 2021-12-16 09:44:54 -08:00
Evan Hahn 364f00f37a
Redesign device link screens 2021-12-16 16:02:22 +01:00
Scott Nonnenberg a023fc1bb0
Usernames: Fetch own username from /whoami not /profile 2021-12-15 12:02:55 -08:00
Evan Hahn 70ae5bb613
Fix Storybook by transforming TypeScript earlier 2021-12-15 19:08:04 +01:00
Fedor Indutny bd89956029
Update ChangeNumber--notification 2021-12-15 10:28:08 -06:00
Scott Nonnenberg 42cb570029
messages table: introduce new computed isStory field for index usage 2021-12-15 09:17:14 +01:00
Fedor Indutny e57ca66fd0
Update yarn.lock 2021-12-14 17:00:01 -08:00
Evan Hahn 97d42d5e7b
Enable media editor for everyone 2021-12-14 16:53:15 -08:00
Evan Hahn 71e9498961
Remove ADM2 feature flag 2021-12-14 20:24:43 +01:00
Evan Hahn 3ec96bde78 v5.27.0-beta.1 2021-12-14 13:01:28 -06:00
Evan Hahn c32917284a
Increase SystemTrayService test timeout to help CI reliability 2021-12-14 19:13:06 +01:00
Evan Hahn c8c0d405c2 Update translations 2021-12-14 11:33:24 -06:00
Evan Hahn 41334bce0b
Media editor: saving an image with a pending crop applies that crop 2021-12-14 09:08:44 -08:00
Scott Nonnenberg e74376b997
Remove Grunt in favor of ts/scripts 2021-12-14 10:43:46 -06:00
Evan Hahn 4e947211b2
Add release notes for v5.27.0-beta.1 release 2021-12-14 10:38:23 -06:00
Fedor Indutny 71ca3c0764
Drop old unprocessed envelopes 2021-12-13 17:25:44 -08:00
Evan Hahn 465b387a13
Update TypeScript ESLint dependencies 2021-12-13 17:15:24 -08:00
Fedor Indutny e60773cdf3
Display M1/Intel in About screen 2021-12-13 17:04:29 -06:00
Fedor Indutny 73c702515b
Remove unnecessary casts in conversations.ts 2021-12-13 12:23:52 -06:00
Evan Hahn 7d15dea6c2
Increase height of group call participant info gradient 2021-12-13 18:40:23 +01:00
Evan Hahn 43f843f9fc
Use `assert.isRejected` instead of custom `assertRejects` 2021-12-13 18:38:40 +01:00
Jordan Rose 683823a114
Group calls: Make renderVideoFrame generate less garbage 2021-12-10 18:21:28 -06:00
Fedor Indutny fed84be0b6
Fix crashes when playing media on legacy OS 2021-12-10 15:27:42 -08:00
Evan Hahn 2fe5ec6ab2
Convert `IdleDetector` to TypeScript 2021-12-10 15:20:24 -08:00
Evan Hahn ebcd3e3e43
Remove unused `getAllPrivateConversations` SQL function 2021-12-10 15:15:00 -08:00
Evan Hahn 0e3d12c457
Prevent display sleep while on a call 2021-12-10 16:53:10 -06:00
Scott Nonnenberg 34fd945f83
No Backbone in data layer; server/client interfaces are now similar 2021-12-10 16:51:54 -06:00
Evan Hahn 064bbfe97a
Media editor: add explicit "done" button to tools 2021-12-10 08:41:31 -06:00
Scott Nonnenberg 161b0e5379
Refactor sender key sends to allow distribution lists 2021-12-09 18:15:59 -08:00
Fedor Indutny 61a6f1b4cf
Reduce logging from rotateSignedPreKey 2021-12-09 11:45:21 -08:00
Evan Hahn 7abe36a166
Update collapsed left pane designs to minimize empty space 2021-12-09 12:50:13 -06:00
Evan Hahn 00fa07a070
Media editor: Remove buggy "click outside canvas" logic 2021-12-09 12:04:30 -06:00
Evan Hahn 2f88e4bdf5
Remove crop rect from media editor on export 2021-12-09 09:10:50 -06:00
Fedor Indutny bbc13d058e
Update electron to 16.0.4 2021-12-09 09:06:04 +01:00
Scott Nonnenberg ba043c422b
Theme: Don't update on startup of every new version 2021-12-08 16:32:00 -08:00
Scott Nonnenberg d72c816af9
Revert "Proper Japanese fonts"
This reverts commit d9990c162e.
2021-12-08 14:23:05 -08:00
Scott Nonnenberg fdc9885baa
Migration and data access functions for stories 2021-12-08 20:52:46 +01:00
Evan Hahn 9f4a01c535
Always show audio mute icon in group calls 2021-12-08 09:22:37 -06:00
Evan Hahn f9e98836b0
Retry delivery and read receipts for up to 24 hours 2021-12-07 14:41:40 -08:00
Josh Perez e81821f4a6
Fixes media editing undo 2021-12-07 14:37:18 -08:00
Josh Perez d9990c162e
Proper Japanese fonts 2021-12-07 14:36:47 -08:00
Scott Nonnenberg 983477c354
Startup: If we don't have core data available, show 'link device' screen 2021-12-07 20:20:40 +01:00
Fedor Indutny 419d1ca176
Fix sticker-creator 2021-12-07 19:46:08 +01:00
Fedor Indutny f720904ca5
Better error reporting in StickerGrid 2021-12-07 19:18:54 +01:00
Josh Perez 00e4a4c1fd
Use the right image dimensions when saving canvas 2021-12-07 12:09:25 -06:00
Josh Perez d658dc9025
Wrap calling button text 2021-12-07 10:00:26 -06:00
Josh Perez 93310de194
Always bring modified item to front in canvas 2021-12-07 09:56:02 -06:00
Scott Nonnenberg e8a2d1f2c9
Tell Chromium not to change gain during recording 2021-12-07 09:21:55 +01:00
Scott Nonnenberg b1ebc0f483
Show sender and device number in decryption error toast 2021-12-06 16:21:30 -08:00
Evan Hahn 01549b11d1
Don't request video for invisible group call participants 2021-12-06 17:06:13 -06:00
Fedor Indutny b4b65c4f00
Add v2 implementation of CDS HSM 2021-12-06 23:54:20 +01:00
Evan Hahn 56a8e79413
Remove Fabric's optional dependencies 2021-12-06 13:58:07 -08:00
Josh Perez 4c85c04d45
Adds all message actions to context menu 2021-12-06 13:52:47 -08:00
Fedor Indutny b71122c7f9
Use macOS Big Sur for CI 2021-12-06 13:50:49 -08:00
Fedor Indutny b8cd326bc9
Improve Rosetta detection 2021-12-06 10:10:15 -08:00
Fedor Indutny 3b70f4b0f1
Install cross-platform deps before packaging 2021-12-06 10:05:26 -08:00
Scott Nonnenberg 44872ac961
handleReaction: don't fetch/save across an await boundary 2021-12-06 18:22:44 +01:00
Josh Perez 5c8f740c2a
Check filename extension for heic/heif images 2021-12-06 18:20:27 +01:00
Josh Perez 69edaeabfb
Do not show window if launched as hidden 2021-12-06 18:19:47 +01:00
Evan Hahn 86937a1734
Upgrade humanize-duration to 3.27.1 2021-12-06 18:18:48 +01:00
Josh Perez 978f57f076
Add some logging around setting preferred reaction emojis 2021-12-06 11:39:48 -05:00
Josh Perez 2136c5311b
Fix default conversation color overrides 2021-12-03 18:10:03 -08:00
Fedor Indutny 4a011b71d9
Don't notarize releases in parallel 2021-12-04 00:07:19 +01:00
Fedor Indutny e46a1979c4
Use different z-index for app-loading-screen 2021-12-04 00:04:34 +01:00
Fedor Indutny 874a019227
M1 Support 2021-12-03 23:49:15 +01:00
Josh Perez dccd3fbf73
Media editor minor improvements 2021-12-03 14:28:56 -06:00
Jim Gustafson 38cdb9b289
Update to RingRTC v2.16.0 2021-12-03 14:22:58 -06:00
Josh Perez b87e05b1de
Fixes canvas re-renders 2021-12-03 13:05:11 -05:00
Evan Hahn c0dcce7c82
Clean up `AccountManager#registerSecondDevice` 2021-12-03 18:46:44 +01:00
Fedor Indutny ca1aef660f
Generate PNI key on standalone registration 2021-12-02 18:06:32 -08:00
Josh Perez 13de35bea2
Fix video forwarding 2021-12-02 17:05:32 -08:00
Josh Perez 97d9069876
Various z-index value fixes 2021-12-02 17:08:40 -06:00
Evan Hahn c88cb62464
Hide "delete for everyone" button for pending messages 2021-12-02 13:28:19 -08:00
Jordan Rose ee8d0196b1
Don't show a notification for non-ringing calls in muted groups 2021-12-02 14:49:31 -06:00
Josh Perez a0b3464e15 v5.26.0-beta.1 2021-12-02 13:47:33 -05:00
Josh Perez c9d749ab8e Updates translations 2021-12-02 13:43:10 -05:00
Josh Perez 5cca047910
Media editing improvements 2021-12-02 10:55:07 -06:00
Josh Perez 4701aeb79e
Release notes for v5.26 2021-12-02 10:51:04 -06:00
Fedor Indutny 48b3c655e8
Fix color of sticky footer in Modal 2021-12-01 19:13:26 -05:00
Evan Hahn ee93168028
Clean up contact utility file name 2021-12-01 15:37:37 -08:00
Josh Perez 5938be0bff
Get a handle on all our z-index values 2021-12-01 17:13:09 -06:00
Evan Hahn 6313b05da7
Add "can resize left pane" feature flags 2021-12-01 16:41:25 -06:00
Josh Perez cd91ed6f45
Do not allow attachments if there are link previews 2021-12-01 21:19:54 +01:00
Fedor Indutny 84407cb005
Use human-readable names for websockets 2021-12-01 19:55:17 +01:00
Josh Perez 27f4dc6177
Adjusts app min width to account for larger left pane 2021-12-01 12:19:10 -06:00
Evan Hahn e030b3d18c
Require badge props in `<Avatar>` to ensure no missing spots 2021-12-01 18:24:00 +01:00
Josh Perez 7affe313f0
Add image editor 2021-11-30 20:14:25 -06:00
Fedor Indutny 86d09917a3
Capture draft attachment's dimensions 2021-11-30 15:32:55 -08:00
Fedor Indutny 951796a389
Fix Redux update on conversation trigger 2021-11-30 17:16:13 -06:00
Fedor Indutny 518ebc315e
Ensure that message heights are always recomputed 2021-11-30 20:34:56 +01:00
Fedor Indutny 77924918df
Don't treat TimeoutError as a decryption error 2021-11-30 20:34:05 +01:00
Fedor Indutny 348012ef4c
Add PNI endpoints to WebAPI 2021-11-30 20:33:51 +01:00
Fedor Indutny 7c1ce3366d
Move StandaloneRegistration to React 2021-11-30 09:51:53 -08:00
Evan Hahn 67b17ec317
Hide "become a sustainer" button if you're already a sustainer 2021-11-30 17:29:57 +01:00
Jordan Rose 7edf3763a8
Hang up any active calls when quitting 2021-11-30 09:36:20 -06:00
Scott Nonnenberg 563f016245
When you send a message, scroll it into view 2021-11-30 12:25:24 +01:00
Evan Hahn a7ca634e87
Show badges in contact spoofing dialog 2021-11-30 11:07:24 +01:00
Fedor Indutny 599c7afe8b
Initialize `locale` earlier to avoid races 2021-11-29 10:04:14 -08:00
Josh Perez 29b4148889
Add 100 character buffer to read more 2021-11-29 16:42:26 +01:00
Josh Perez c9678c4877
Include badgeIds when writing profile data 2021-11-24 13:48:25 -05:00
Fedor Indutny 1ce39478a2
Update signal-client to 0.11.0 2021-11-24 09:39:47 +01:00
Fedor Indutny 76a30a5196
Use `throwOnTimeout` option for PQueue 2021-11-23 23:01:03 +01:00
Fedor Indutny bd6ee4b16d
Use strict @electron/fuses 2021-11-23 23:00:44 +01:00
Fedor Indutny a52530262f
Revert "When you send a message, scroll it into view"
This reverts commit a3525c16ef.
2021-11-23 14:09:07 +01:00
Scott Nonnenberg 3601279287
sendToGroup: Flow errors during key-fetching back up to original sender 2021-11-20 09:58:38 -06:00
Scott Nonnenberg 58e3dd9028
Conversation details label: Differentiate between group and 1:1 chat 2021-11-20 09:48:27 -06:00
Jim Gustafson f9ad013e16
Update to RingRTC v2.15.0 2021-11-20 09:47:35 -06:00
Evan Hahn d8b230e348
Tweak avatar badge sizing/placement 2021-11-20 09:41:48 -06:00
Evan Hahn 829604dbcf
Lighten modal background in dark mode 2021-11-20 09:41:32 -06:00
Evan Hahn e490d91cc4
Add badges to avatars in group dialogs 2021-11-20 09:41:21 -06:00
Scott Nonnenberg 7bb37dc63b
Draft attachments: Show image as generic attachment if too big 2021-11-19 13:19:42 -08:00
Fedor Indutny 555c6e6bfa
Add PNI to debug log 2021-11-19 09:34:50 -08:00
Fedor Indutny 4afe1475d5
Add separator to envelope log id 2021-11-19 09:21:29 -08:00
Scott Nonnenberg a3525c16ef
When you send a message, scroll it into view 2021-11-19 09:19:55 -08:00
Jim Gustafson b9518ed0c5
Update to RingRTC v2.14.3 2021-11-19 09:17:41 -06:00
Scott Nonnenberg 39e10efa39
Conversation last message/activity: Use IS/IS NOT to better handle NULL 2021-11-18 15:15:38 -08:00
Evan Hahn e5b40aa2ef
Show badges on group invites screen 2021-11-18 23:27:48 +01:00
Evan Hahn 864f9c8631
Tweak badge image logic for new server responses 2021-11-18 23:26:38 +01:00
Scott Nonnenberg 834023779e
onRetryRequest: Send only after session archive or found senderKey 2021-11-18 23:22:24 +01:00
Fedor Indutny b48477a19c
Use full name in ChangeNumberNotification 2021-11-18 23:11:33 +01:00
Evan Hahn 25cdebe15e
Rev user badges feature flag 2021-11-18 13:25:17 -08:00
Fedor Indutny d5ae3c94dd
Don't add change number notifications to ourselves 2021-11-18 21:26:53 +01:00
Evan Hahn 1ba48512f6
Update design for clicking on badges 2021-11-18 12:01:53 -08:00
Evan Hahn 80320d8825
"Search in $conversationName$" is now "Search chat" 2021-11-18 11:29:17 -08:00
Evan Hahn ab91cbf94d
Fix a translation description field 2021-11-18 09:54:45 -08:00
Evan Hahn 86a52c3cbf
Shrink "Become a Sustainer" font size in badge dialog 2021-11-18 09:53:39 -08:00
Evan Hahn c0444f66a1
Add badges to safety number change dialog 2021-11-17 15:58:34 -06:00
Evan Hahn 42b45a14b7
Show badges in beta (behind a new feature flag) 2021-11-17 15:25:17 -06:00
Fedor Indutny 54c60ebb4f
Treat "file is not a database" as database corruption 2021-11-17 13:17:45 -08:00
Evan Hahn c63bf11a8f
Show badges in reaction viewer 2021-11-17 22:11:46 +01:00
Evan Hahn 2cbcd59609
Add badges to all conversation lists 2021-11-17 22:11:21 +01:00
Evan Hahn 2c4dfc74c4
Disable pointer events for avatar badges 2021-11-17 20:06:27 +01:00
Evan Hahn 4dd9232c36
Add badges to @-mentions picker 2021-11-17 19:38:52 +01:00
Josh Perez 79913f7e10
Reset left pane drag state whenever mouse leaves window 2021-11-16 21:22:31 -06:00
Jim Gustafson 4f4431bc30
Update to RingRTC v2.14.2 2021-11-16 21:18:13 -06:00
Fedor Indutnyy 0da0b5fb3a v5.25.0-beta.1 2021-11-16 21:40:54 +01:00
Fedor Indutnyy 23bc0a9edc Update translations 2021-11-16 21:40:54 +01:00
Fedor Indutnyy 309e1efb30 Update "What's New" for v5.25 release 2021-11-16 21:40:53 +01:00
Fedor Indutny 70d3ed2371
Fix IPC error in sticker-creator 2021-11-16 21:40:29 +01:00
Evan Hahn 39cb71e2fd
Remove unused `<ContactListItem>` component 2021-11-16 11:36:50 -08:00
Fedor Indutny 670b995345
Add OS version to debuglog header 2021-11-16 11:36:07 -08:00
Evan Hahn 515943c46c
Add "become a sustainer" button and view to badge dialog 2021-11-16 10:45:16 -06:00
Evan Hahn a466b939bc
Show user badges on message details screen 2021-11-16 09:53:41 -06:00
Fedor Indutnyy 4a055d4b95 Update electron to 15.3.2 2021-11-16 09:56:00 +01:00
Scott Nonnenberg e45b3e97d0
Update protos with planned changes for stories 2021-11-15 17:20:09 -08:00
Scott Nonnenberg 1982d5c8db
Update several dependencies, remove a few as well 2021-11-15 16:49:34 -08:00
Fedor Indutny 5076972c5b
Add exhaustive UUIDKind checks to MessageReceiver 2021-11-15 16:10:18 -08:00
Fedor Indutny c6ee6a038e
Add stream timeout for attachment downloads 2021-11-15 23:54:59 +01:00
Evan Hahn 7d17158add
Show badges on message avatars where applicable 2021-11-15 16:53:42 -06:00
Scott Nonnenberg fbd7292663
Update username max/min lengths 2021-11-15 14:18:46 -08:00
Scott Nonnenberg a024ee4b96
Allow stage and send of video, even if we can't get screenshot 2021-11-15 13:54:33 -08:00
Evan Hahn 117cb074c7
Shrink badge image on badge dialog screen 2021-11-15 21:18:58 +01:00
Evan Hahn f4e336836f
Add user badges to typing bubbles, refactor typing logic 2021-11-15 21:01:58 +01:00
Evan Hahn ede34ecee3
Enable `noImplicitOverride` TypeScript compiler option 2021-11-12 15:44:20 -08:00
Evan Hahn 4490d9f2d0
Upgrade Reselect to 4.1.2
Co-authored-by: Fedor Indutnyy <indutny@signal.org>
2021-11-12 16:37:44 -06:00
Fedor Indutny 066a23a6a9
Preliminary support for destinationUuid field 2021-11-12 13:26:52 -08:00
Fedor Indutny bb15cfc622
Additional protocol changes for CDS v2 2021-11-12 21:45:30 +01:00
Fedor Indutny b35d330c0a
Add focus trap to CallingLobby 2021-11-12 20:34:02 +01:00
Scott Nonnenberg cbae7f8ee9
Search for username in compose mode 2021-11-11 17:17:29 -08:00
Evan Hahn 6731cc6629
Add recent Prettier upgrade to `git blame` ignore file 2021-11-11 16:52:50 -08:00
Scott Nonnenberg edab7c7d83
Remember message Read More state when scrolling in virtualized container 2021-11-11 15:45:47 -08:00
Scott Nonnenberg c5b5f2fe42
Handle duplicate requests to start recording a voice note 2021-11-11 15:33:35 -08:00
Evan Hahn 03631481e1 Format code with prettier 2021-11-11 17:13:46 -06:00
Evan Hahn da8ec83871
Update name/description heights in badge dialog 2021-11-11 15:01:12 -08:00
Fedor Indutny 910516f896
Display correct link in DialogUpdate 2021-11-11 16:46:16 -06:00
Evan Hahn 5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Fedor Indutny f204784afe
Prune invalid conversations from storage service 2021-11-11 13:38:02 -08:00
Evan Hahn d0f1b8892d
Show user badges in contact modal 2021-11-11 10:23:00 -06:00
Scott Nonnenberg 52ceb40d16
Don't show emoji chooser unless entered search text is 3+ characters 2021-11-11 16:59:18 +01:00
Jordan Rose 983713003d
Update to libsignal-client v0.10.1 with zkgroup included 2021-11-11 16:24:28 +01:00
Scott Nonnenberg 6445a01f2a
Fix broken Pending Invites screen 2021-11-10 15:01:06 -08:00
Jim Gustafson d2592de366
Update to RingRTC v2.14.1 2021-11-10 09:31:10 -06:00
Fedor Indutny 631e36dc0a
Use `invoke`/`handle` in `settingsChannel` 2021-11-09 16:56:56 -08:00
Evan Hahn 37992715cd
Remove caption editor 2021-11-09 16:25:29 -08:00
Fedor Indutny 6e394a84d6
Less strict uuid fetch in areWeAdmin 2021-11-09 15:48:27 -08:00
Evan Hahn 9ce8acc846
Update avatar badge placements to match designs 2021-11-09 21:34:47 +01:00
Fedor Indutny e50f76a909
Reduce amount of logging in 41st migration 2021-11-09 11:31:41 -06:00
Fedor Indutny f65c25b7d8
Downgrade sass-loader to 10.2.0 2021-11-09 10:53:37 -06:00
Evan Hahn ab543aea93
Add "should show badges" feature flag 2021-11-09 16:51:56 +01:00
David Sanders 50dc534164 Simplify permissions popup IPC 2021-11-09 07:35:31 -08:00
Jim Gustafson dd342e1f22
Update to RingRTC v2.14.0 2021-11-08 17:44:18 -06:00
Fedor Indutny 409bf1fc82
WebSocket API for CDS 2021-11-08 15:32:31 -08:00
Fedor Indutny 4cb1ea9e5d
Update electron to 15.3.1 2021-11-09 00:09:56 +01:00
Fedor Indutny 519ca05911
Update electron to 15.3.0 2021-11-08 22:43:37 +01:00
Evan Hahn 7de340a104
Show your preferred badge in the left pane and avatar popup 2021-11-08 17:29:54 +01:00
Evan Hahn f02b1ebce2
Use TypeScript's `ResizeObserver` types instead of `any` 2021-11-05 08:25:25 -05:00
Evan Hahn 0c83b1d26b
Group calls: when window is invisible, stop requesting video after 20 seconds 2021-11-04 16:55:30 -05:00
Evan Hahn 3bd3207e18
Add feature flag for ADM2 on Windows 2021-11-04 16:50:34 -05:00
Evan Hahn 8256170066
Fix `ConversationController` load race condition 2021-11-04 14:11:47 -07:00
Evan Hahn d6ffb08a63
Disable `class-methods-use-this` lint rule 2021-11-04 16:04:51 -05:00
Evan Hahn 569a14e897
Remove release notes prior to v5.23 2021-11-04 14:01:46 -07:00
Evan Hahn 0811367bd5
Message details: Render a fuller timestamp for outbound send state 2021-11-04 13:53:37 -07:00
Evan Hahn 1c52c106b1
Fix send state "updated at" timestamp for receipts 2021-11-04 13:49:38 -07:00
Evan Hahn b7682d2c79
Fix line-height on install screen 2021-11-04 13:34:19 -07:00
Scott Nonnenberg 4b6832bba5
Ensure multiple draft attachment adds don't stomp on each other 2021-11-03 18:38:46 -07:00
Evan Hahn c822c45310 v5.24.0-beta.1 2021-11-03 15:59:27 -05:00
Evan Hahn 6ec8f0f856
Update "What's New" for v5.24 release 2021-11-03 15:56:31 -05:00
Scott Nonnenberg d5152fe452
MESSAGES_RESET: Keep scrollToBottomCounter the same value 2021-11-03 11:43:22 -07:00
Evan Hahn 7df39cc8c5
Update translations 2021-11-03 12:06:40 -05:00
Evan Hahn 562d15dd14
Don't enqueue viewed receipt jobs for outgoing messages 2021-11-03 12:02:26 -05:00
Fedor Indutny 7f9beef055
Extra logging for GV2 UUID migration 2021-11-03 09:59:46 -05:00
Scott Nonnenberg 5bd7eda124
Scroll to bottom of conversation on message send 2021-11-02 19:00:54 -07:00
Fedor Indutny 254c87a1ac
Fix row height recomputation in Timeline 2021-11-02 16:42:35 -07:00
Evan Hahn f647c4e053
Display user badges 2021-11-02 16:01:13 -07:00
Fedor Indutny 927c22ef73
Update better-sqlite3 to update sqlcipher 2021-11-02 09:41:52 -07:00
Fedor Indutny 663cd77eac
Use react-redux's batch instead of react's 2021-11-01 16:38:08 -07:00
Scott Nonnenberg 3190f95fac
Usernames: Create/update/delete in profile editor 2021-11-01 12:13:35 -07:00
Evan Hahn a9cb621eb6
Various search UI improvements 2021-11-01 11:43:02 -07:00
Evan Hahn 630394d91d
Fix incorrect fallback for conversation details avatar lightbox 2021-11-01 11:40:28 -07:00
Evan Hahn 9ea8a456f2
Clean up timeout in `waitForOnline` 2021-11-01 11:38:26 -07:00
Patrick Demers 8477841fd6 Stop propagation of `keyDown` in `<StopPropagation>`
See [#5611][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5611.
2021-11-01 10:46:36 -05:00
Evan Hahn 8670a4d864
Retry outbound reactions for up to a day 2021-10-29 18:19:44 -05:00
David Sanders 9d7340ef3f Fix several race conditions in react-contextmenu 2021-10-29 14:21:06 -07:00
Evan Hahn 4a6b7968c1 v5.23.0-beta.1 2021-10-28 17:50:09 -05:00
Fedor Indutny 9458b399d8
Speed up getAuthor for message 2021-10-28 15:39:16 -07:00
Fedor Indutny 71ee0568c0
Changing storageID shouldn't cause rerender 2021-10-28 15:38:37 -07:00
Evan Hahn 09250abb1e
Update "What's New" for 5.23 (and any other bugfix-only releases) 2021-10-28 15:25:25 -07:00
Evan Hahn f4a25d0187
Update translations 2021-10-28 16:00:29 -05:00
Evan Hahn da3c7c7f3e
One-digit unread badges should be round 2021-10-28 13:20:52 -07:00
Fedor Indutny 17c0867e9d
Fix color of close button in call settings 2021-10-27 17:07:13 -07:00
Scott Nonnenberg 6dd67917e8
Settings window: Add interaction mode and tab focus state 2021-10-27 17:05:56 -07:00
Fedor Indutny d7edbabd48
Add about field to ConversationDetailsHeader 2021-10-27 16:33:06 -07:00
Scott Nonnenberg ddc98d8ee6
DataMessage.ProtocolVersion: Increase current/supported value 2021-10-27 17:18:25 -05:00
Evan Hahn ce35c870d4
Let Storybook stories fetch theme 2021-10-27 12:49:58 -07:00
Fedor Indutny 33090b5cbd
Bump better-sqlite3 2021-10-27 11:44:37 -07:00
Fedor Indutny 76d8b5e375
Get rid of `electron.remote` 2021-10-27 10:54:16 -07:00
Fedor Indutny 246583d274
Fix runtime error during SQL migration 2021-10-27 12:15:03 -05:00
Evan Hahn 30078ce3aa
Remove unnecessary cast in `UUID.prototype.toString` 2021-10-27 09:22:54 -07:00
David Sanders 79b3b6408e Fix microphone permission checking for audio recording
See [#5580][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5580
2021-10-27 11:16:09 -05:00
Evan Hahn 1dc353f089
Ignore emoji when removing reactions 2021-10-27 10:51:42 -05:00
Evan Hahn 90d8313614
Fix avatar type in conversation details panel 2021-10-27 10:50:58 -05:00
Fedor Indutny 63fcdbe787
Use UUIDs in group database schema 2021-10-26 15:59:08 -07:00
Evan Hahn 74fde10ff5
Prefer `import type` when importing types 2021-10-26 14:15:33 -05:00
Evan Hahn 0f635af8a9
Improve readability of unread indicator 2021-10-26 12:14:40 -07:00
Fedor Indutny d92911f475
Increase contrast ratio for unread badge 2021-10-25 17:02:13 -05:00
Scott Nonnenberg be862afd1a
base_config: Don't throw if loaded config file is empty 2021-10-25 14:41:44 -05:00
Scott Nonnenberg 53bc13a401
Accessibility fixes for ConversationDetails and AvatarPopup 2021-10-25 12:11:19 -07:00
Fedor Indutnyy 56031336a9 Revert "Use focus trap for CallingLobby"
This reverts commit b38b22f49d.
2021-10-25 12:06:13 -07:00
Fedor Indutny b38b22f49d
Use focus trap for CallingLobby 2021-10-25 09:58:09 -05:00
Scott Nonnenberg 191bfee18c
Show What's New dialog in app via Help -> Go to release notes 2021-10-22 17:41:45 -07:00
Josh Perez 3e38a4b761
Downgrade to electron v13.5.0 2021-10-22 20:24:20 -04:00
Evan Hahn 54373810ea
Fix `LeftPaneComposeHelper` type 2021-10-22 11:12:10 -07:00
Fedor Indutnyy 099bafe917 v5.22.0-beta.1 2021-10-21 16:00:55 -07:00
Fedor Indutnyy 4397f392ed v5.22 release notes 2021-10-21 15:58:57 -07:00
Fedor Indutnyy 29e1516714 Update translations 2021-10-21 15:57:04 -07:00
Fedor Indutny d359048747
Use read stream for fetching debug logs 2021-10-21 15:53:14 -07:00
Josh Perez dd3f5a65ce
Only focus read more in keyboard mode 2021-10-21 15:06:47 -07:00
Jim Gustafson df06e13041
Update to RingRTC v2.13.6 2021-10-21 16:58:40 -05:00
Josh Perez f31c5165d8
Open conversation details when clicking conversation header 2021-10-21 16:06:44 -05:00
Josh Perez 9ecf47594b
Tweaks to conversation details 2021-10-21 14:04:43 -07:00
Josh Perez dc5a17e962
Close toast when action is clicked 2021-10-21 13:14:26 -07:00
Fedor Indutny 1b1ed2cd05
Better reporting for DB corruption errors 2021-10-21 13:13:33 -07:00
Fedor Indutny 092c2fd0d7
Fix duplicate ids in BaseConversationListItem 2021-10-21 13:07:13 -07:00
Fedor Indutny 2c51c3fe84
Use console logger when regular is not available 2021-10-21 12:49:53 -07:00
Fedor Indutny b2407f8310
Center text in "Optimizing" window 2021-10-21 09:49:08 -05:00
Josh Perez 2e438aa876
Conversation details screen for 1:1 chats 2021-10-20 16:46:41 -07:00
Josh Perez 3a507349cd
Change electron version to v13.5.1 2021-10-20 19:42:39 -04:00
Scott Nonnenberg 51af6947d4
onDecryptionError/onRetryRequest: Don't run until queue is empty 2021-10-20 14:50:00 -07:00
Scott Nonnenberg fe49edce8a
updateGroup: Use hasMember instead of 'left' attribute for membership 2021-10-20 16:32:38 -05:00
Josh Perez b32d068e83
Affordances for really tall messages 2021-10-20 15:46:42 -05:00
Scott Nonnenberg 2e9eaa855a
main/second-instance: If logger isn't ready, skip further checks 2021-10-20 15:40:12 -05:00
Fedor Indutny 50c9b1bf7f
Cache system-tray-setting in ephemeral config 2021-10-20 14:56:49 -05:00
Scott Nonnenberg 25325622ed
getMessageDescriptor: Log more information if we can't find conversation 2021-10-19 18:34:35 -07:00
Evan Hahn 0b57bcd36c
DRY out path getters 2021-10-19 16:24:03 -07:00
Evan Hahn d372b47617
Remove media query from `<Message>` 2021-10-19 09:24:36 -07:00
Evan Hahn 755b549271
More chat list unread count tweaks 2021-10-19 08:53:30 -05:00
Evan Hahn 75248d8e2f
Disable start/call button if offline 2021-10-19 08:53:11 -05:00
Scott Nonnenberg f914556e4c
Ensure conversation is in left pane when creating a draft message 2021-10-18 19:09:55 -05:00
Evan Hahn 26ff754896
Improve logging of group call peeking failures 2021-10-18 18:14:24 -05:00
Evan Hahn f21ae5023a
Fix Storybook text knobs double-escaping text 2021-10-18 15:43:58 -07:00
Evan Hahn 54ffec00ed
Fix spacing in message search results 2021-10-18 15:43:03 -07:00
Will Golledge 2cd02855fc Fix "in contacts" tooltip exceeding desired boundary
See [#4907][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/4907
2021-10-18 17:10:22 -05:00
Fedor Indutny 54974b377a
Fix sticker-creator 2021-10-18 13:59:17 -07:00
Scott Nonnenberg 43825d3f55
getIdenticon: Use `conversation.getTitle()` for contact name 2021-10-17 16:46:54 -05:00
Josh Perez 9af523c4fc
Do not show timestamp if timestamp matches sent_at 2021-10-15 15:59:42 -07:00
Scott Nonnenberg efde909484
Delete reactions when their parent message is deleted 2021-10-15 15:54:31 -07:00
Jim Gustafson e6ca3872d1
Update to RingRTC v2.13.5 2021-10-15 13:27:25 -07:00
Josh Perez fc425304fc
Moves the attach-file shortcut into the component 2021-10-15 14:51:58 -04:00
Josh Perez ab1c31b64f
Release microphone immediately when cancelling recording 2021-10-15 14:51:33 -04:00
Josh Perez 9dc5214db7
Fix clear all data 2021-10-15 11:43:13 -07:00
Josh Perez d4e2911450
Resize debug log, rename save button 2021-10-15 11:11:59 -07:00
Josh Perez 354e69689b v5.21.0-beta.1 2021-10-14 21:21:56 -04:00
Josh Perez 611fbcf39a Updates translations 2021-10-14 21:14:10 -04:00
Josh Perez c1ac618e6b
v5.21 release notes 2021-10-14 20:51:10 -04:00
Evan Hahn 92f7259272
Respect proxies when fetching link previews 2021-10-14 15:49:36 -07:00
Evan Hahn 1f4d01f21a
Remove left pane width transition 2021-10-14 16:21:04 -05:00
Evan Hahn 0faeda28f0
Tweaks to left pane snapping logic 2021-10-14 16:19:50 -05:00
Evan Hahn 29e6ba8f10
Left pane spacing tweaks 2021-10-14 15:21:10 -05:00
Scott Nonnenberg da9df293c6
linkPreviewFetch: Increase maximum HTML we'll process to 1000*1024 bytes 2021-10-14 11:53:53 -07:00
Evan Hahn fe98f90d70
Only enable background throttling in development 2021-10-14 11:09:30 -07:00
Evan Hahn d6a81331bb
Fix jumpy outgoing messages 2021-10-14 09:54:20 -07:00
Josh Perez d0e8fbd5a6
Animates ModalHost overlay 2021-10-14 09:52:42 -07:00
Scott Nonnenberg cfc5407d03
Update to Electron 3.5.2 2021-10-14 09:48:53 -07:00
Evan Hahn 8f2ec1ace9
Stop wrapping archived conversation count 2021-10-14 09:47:57 -07:00
Evan Hahn fbb15ed42e
Update muted icon in conversation list 2021-10-14 10:48:48 -05:00
Evan Hahn c74315315b
Tweak conversation list header placement 2021-10-14 09:13:08 -05:00
Evan Hahn b980d99453
Assign fallback to avatar color, fixing "New group" icon 2021-10-13 17:13:13 -07:00
Evan Hahn e705ba136a
Update left pane status icon colors 2021-10-13 17:12:25 -07:00
Evan Hahn e76d9e9a6a
Remove unused `profile-name` CSS 2021-10-13 16:44:22 -07:00
Evan Hahn 95b761b62e
Log when message lacks `sent_at` or `timestamp` on send 2021-10-13 11:50:58 -07:00
Evan Hahn 99934ced90
Change left pane border color in light mode 2021-10-13 11:44:37 -07:00
Evan Hahn 99b4e8680f
Tweak selected conversation color in light mode 2021-10-13 11:43:30 -07:00
Scott Nonnenberg f60e9b9c9f
Sticker upload affordances, fix 'recent media' 2021-10-13 10:05:18 -07:00
Evan Hahn 21c00f51bd
Improve reaction types 2021-10-13 09:29:15 -07:00
Evan Hahn 35a54cdc02
Introduce a new design for the left pane 2021-10-12 16:59:08 -07:00
Evan Hahn d60600d6fb
Revert calling ringtone change
This reverts commit 6f7e5d6242.
2021-10-12 16:52:22 -07:00
Josh Perez a5e8226821
Shows message status timestamps if available 2021-10-12 16:40:42 -07:00
Evan Hahn c9a49ecb4b
WebAPI: Require options in `getProfile` 2021-10-12 14:32:38 -07:00
Josh Perez 7dca544295
Animate lightbox and better touch support 2021-10-12 15:25:09 -05:00
Josh Perez 7488fa5abc
Memoize toasts to unstick them in AudioCapture 2021-10-12 14:09:00 -05:00
Evan Hahn f4b0bade80
Fix avatar focus highlight 2021-10-12 14:07:58 -05:00
Josh Perez f5cce73611
Fix play button on videos 2021-10-12 12:06:39 -05:00
Evan Hahn ed518d0e82
Fix viewed status icon in left pane 2021-10-12 10:40:27 -05:00
Josh Perez b330b5cbb6
Center align conversation headers 2021-10-12 10:23:13 -05:00
Evan Hahn aec3b76117
Add additional logging in notification service 2021-10-12 10:19:07 -05:00
Evan Hahn ae1af09bf2
Move large input remaining count to avoid scrollbar 2021-10-08 11:35:59 -05:00
Josh Perez a25690b3bd
Exclude jumbo style for single emoji in quotes or attachments 2021-10-07 20:27:46 -04:00
Josh Perez 096849cc00
Adds aria attributes to the ConversationList 2021-10-07 19:52:48 -04:00
Josh Perez 8220ea4c87
Remove dead css 2021-10-07 16:46:11 -07:00
Josh Perez 75dab30367
Use SignalContext instead of SignalWindow 2021-10-07 19:28:47 -04:00
Josh Perez a70a8a88d6
Align single emoji send 2021-10-07 15:27:08 -07:00
Josh Perez b866e1a23d
Fix safety number viewer for contact modal 2021-10-07 17:45:58 -04:00
Josh Perez 3a722bb70f
Refine toast styles 2021-10-07 17:45:38 -04:00
Evan Hahn 5284497d4d
Hide participant list button on direct calls 2021-10-07 16:50:57 -04:00
Josh Perez 9f13fd7484
Fix @mentions on outgoing messages 2021-10-07 16:50:03 -04:00
Evan Hahn 940f009987
Bullet-proof tray icon against nonexistent icon file 2021-10-07 13:09:56 -07:00
Josh Perez 99b19d4b80
Fix z-index next/prev buttons on Lightbox 2021-10-07 13:08:07 -07:00
Josh Perez a363c6c0ea
Activate speaker view when screensharing, even while in PiP 2021-10-07 13:56:27 -05:00
Evan Hahn 1f4a3851bf
Fix race condition in `usePageVisibility` hook 2021-10-07 13:52:07 -05:00
Fedor Indutny 27573e6dce
Use non-throttled timeouts for websockets 2021-10-07 11:18:22 -07:00
Fedor Indutny 8cf6748dce
Delay initializing SQL in renderer 2021-10-07 11:16:51 -07:00
Fedor Indutny 0d5ef38e52
Fix uncaught error in copyStickerToAttachments 2021-10-07 10:08:55 -07:00
Josh Perez 0f9242670c
Fix safety number viewer for dark theme 2021-10-07 09:14:09 -07:00
Evan Hahn e346fb1f90
Persist `overlay` overflow in conversation list 2021-10-07 10:24:10 -05:00
Fedor Indutny a537204fc0
Remove ts/services/timers.ts 2021-10-06 14:59:34 -07:00
Evan Hahn 26eabf16a8 v5.20.0-beta.1 2021-10-06 16:58:58 -05:00
Evan Hahn b9acd0238d
Update release notes for v5.20.0 2021-10-06 14:53:06 -07:00
Evan Hahn 95404f27a0 Update translations 2021-10-06 16:07:02 -05:00
Josh Perez b9134f8332
Actionable toasts 2021-10-06 14:00:51 -07:00
Scott Nonnenberg d542f450a1
Focus-trap: Use allowOutsideClick where appropriate 2021-10-06 15:56:37 -05:00
Josh Perez 048e1e4cd7
Move the safety number viewer into modal 2021-10-06 16:27:14 -04:00
Evan Hahn 8c34d6ebc2
Improve sticker creator drop zone contrast 2021-10-06 15:23:18 -05:00
Fedor Indutny 4fefd3ccaf
Fix sticker creator 2021-10-06 13:29:20 -05:00
Josh Perez 7c9b8e919c
Render emoji like a sticker 2021-10-06 10:37:53 -07:00
Fedor Indutny 1466f9f1b2
Update got/form-data to latest 2021-10-06 09:25:22 -07:00
Josh Perez fa66ddde0f
Context isolation for the debug log window 2021-10-06 09:16:51 -07:00
Evan Hahn 0f9608d9a3
Add icon to the left pane archive button 2021-10-06 08:45:25 -07:00
Josh Perez 6f7e5d6242
Replace ringtone sound with something more chill 2021-10-05 19:41:05 -05:00
Evan Hahn c9d0773c0d
-webkit-line-clamp now works for RTL text; remove comments 2021-10-05 19:39:24 -05:00
Jim Gustafson 65a604bf36
Update to RingRTC v2.13.4 2021-10-05 17:03:11 -07:00
Evan Hahn 994f9644c4
Show "99+" in left pane unread count, instead of high values 2021-10-05 16:46:51 -07:00
Scott Nonnenberg bd380086a4
Send related emoji along with Sticker, fix SendMessage types 2021-10-05 17:10:08 -05:00
Evan Hahn 3c91dce993
Don't show group call start notifications more than once 2021-10-05 16:11:40 -05:00
Fedor Indutny d479427d88
Update limits for GroupDescriptionInput 2021-10-05 11:47:47 -07:00
Josh Perez f974490ff0 Add some spacing for +10 reactions 2021-10-05 11:28:18 -07:00
Fedor Indutny 6fb38b940a
Remove stale test 2021-10-05 11:26:59 -07:00
Fedor Indutny f2ba9e1a9b
Force update should skip version check 2021-10-05 10:50:48 -07:00
Josh Perez bcf1640587
Adds some padding around lightbox zooming 2021-10-05 10:28:32 -07:00
Evan Hahn 3eff5b73d2
Enable storage service for everyone 2021-10-05 12:04:28 -05:00
Josh Perez 5fdfa1c632
ConversationView in React 2021-10-05 09:47:06 -07:00
Fedor Indutny dddb3129cc
Optimize `removeKnownAttachments` 2021-10-05 09:36:07 -07:00
Fedor Indutny 4d180a26fe
Small fixes for LeftPaneDialog 2021-10-05 07:22:41 -07:00
Josh Perez 87ea95735e
Make triple dot menu work on really small screen widths 2021-10-05 08:58:34 -05:00
Josh Perez 48aaf9e4f3
Fix quote styles so they are uniform 2021-10-04 20:12:07 -04:00
Evan Hahn 8a765da6a3
Fix inverted sticker creator dropzone active text 2021-10-04 16:05:03 -07:00
Evan Hahn 2cf51502a8
Fix border around keyboard-focused sticker messages 2021-10-04 17:42:26 -05:00
Josh Perez 59f8243a0d
Do not show play button for undownloaded media 2021-10-04 15:29:11 -07:00
Josh Perez 9a9fc60103
Fix click propagating from reaction viewer to container 2021-10-04 15:56:34 -05:00
Josh Perez 54e7cd21fc
Adds touch support to lightbox 2021-10-04 15:12:14 -05:00
Scott Nonnenberg 48229332ea
Introduce focus traps for ModalHost, add button role to DropZone 2021-10-04 10:14:00 -07:00
Jim Gustafson adaeb81c32
Update to RingRTC v2.13.3 2021-10-04 09:03:20 -05:00
Josh Perez b8467da933
Fix avatar popup zIndex 2021-10-01 20:01:44 -04:00
Josh Perez bfe5a5edae
Do not process records if there are none to process 2021-10-01 20:01:30 -04:00
Evan Hahn 893a77a3ad
Fix render loop in `<Modal>`, clean up ref merger code 2021-10-01 16:53:00 -07:00
Evan Hahn 1366d09f11
Increase Spectron start timeout for reliability 2021-10-01 16:52:52 -05:00
Evan Hahn b239502813
Fix license header file enumeration 2021-10-01 16:52:36 -05:00
Josh Perez c99066de9b
Disallow multiline in About editing 2021-10-01 14:27:34 -05:00
Scott Nonnenberg 9a1430a460
Typescriptify main.js 2021-10-01 13:49:59 -05:00
Josh Perez e033fd2cf3
Fix background bleed through on color bubbles 2021-10-01 09:16:44 -07:00
Josh Perez f07decac5a
Fixes @mentions background for light-mode 2021-10-01 10:38:56 -04:00
Evan Hahn 9e856e19a0
Defend against destroyed window when updating zoom factor 2021-09-30 15:29:06 -07:00
Evan Hahn 03ec561891
Remove unused `new-conversation` class 2021-09-30 17:21:15 -05:00
Fedor Indutny 3534408c97
Fix various clipping issues with message buttons 2021-09-30 16:24:23 -05:00
Josh Perez 19e700aba3
Lightbox improvements 2021-09-30 17:18:56 -04:00
Josh Perez 31d1f25b18
Adds error dialog when voice recorder cannot start 2021-09-30 13:13:47 -07:00
Josh Perez 6614206921
Fixes lightbox header buttons 2021-09-30 14:50:33 -04:00
Evan Hahn af510c9096
Upgrade zkgroup to v0.8.2 2021-09-30 11:06:03 -07:00
Josh Perez cf0da96791
Save image/jpeg images as .jpg 2021-09-30 12:43:27 -04:00
Evan Hahn ffe7cc578b
Update v5.19 release notes 2021-09-30 09:38:59 -07:00
Evan Hahn 14b42f0f11
Remove unused "inactive" class from inbox view 2021-09-30 09:37:55 -07:00
Fedor Indutnyy 9120266acd v5.19.0-beta.1 2021-09-29 17:16:16 -07:00
Fedor Indutnyy 8c16341d44 Update release notes for 5.19 2021-09-29 17:16:16 -07:00
Fedor Indutnyy 41f73ec8c5 Update translations 2021-09-29 16:32:22 -07:00
Fedor Indutny a2dff82de2
Coalesce typing indicators when blocked 2021-09-29 15:46:35 -07:00
Fedor Indutny 1f0e38f649
Use physical keys for voice message shortcut 2021-09-29 15:21:51 -07:00
Fedor Indutny 3e31a7405b Use physical keys+layout for shortcuts 2021-09-29 14:21:15 -07:00
Josh Perez b6cfe0933d
Adds open/close animations to dialogs and modals 2021-09-29 16:59:37 -04:00
Evan Hahn fc066e05df
Don't show "group call started" notifications for muted conversations 2021-09-29 15:29:40 -05:00
Josh Perez 603c315c82
Moves AudioCapture into react 2021-09-29 13:23:06 -07:00
Evan Hahn c170d04ffa
Enable customization of preferred reactions for everyone 2021-09-29 13:21:26 -07:00
Scott Nonnenberg 1e3de45af6
Fix blank avatars, duplicate recent media, static message details 2021-09-29 13:18:27 -07:00
Fedor Indutny 5c1776e00e
Autofocus "choose group member" modal input 2021-09-29 14:29:02 -05:00
Fedor Indutny bdf1287403
Subscribe to theme change in settings 2021-09-29 11:37:30 -07:00
Evan Hahn 64fc234490
Use new audio device module in alpha and beta 2021-09-29 13:30:42 -05:00
Evan Hahn f3e07e5376
Remove redundant incoming call bar code 2021-09-29 13:30:22 -05:00
Scott Nonnenberg 25dd060a4d Stale Bot: Exclude 'Feature Request' label 2021-09-28 17:30:15 -07:00
Fedor Indutny eec669f284
Remove unused code from WebAPI 2021-09-28 16:38:55 -07:00
Fedor Indutny cd710bb8d2
Add jitter support to BackOff class 2021-09-28 15:12:43 -07:00
Fedor Indutny 1191288107
Fix MessageAudio spinner 2021-09-28 15:12:19 -07:00
Fedor Indutny 29de067c0e
Consistent sorting for messages in reducer 2021-09-28 15:11:01 -07:00
Fedor Indutny 0291830d16
Annotate WebAPI logs with request subtype 2021-09-28 13:55:50 -07:00
Josh Perez 68cef84c29
Massively zoom in on images, adds panning 2021-09-28 13:27:35 -07:00
Fedor Indutny 68b5064cb1
Fix translations in app-builder-lib 2021-09-28 14:02:05 -05:00
Evan Hahn 942ce16610
In prerelease, enable background throttling when not on a call 2021-09-28 14:00:22 -05:00
Fedor Indutny 2f7226e200
Remove key caching from Timeline 2021-09-28 11:32:54 -07:00
Evan Hahn 1303fd009e
Upgrade RingRTC to v2.13.2 2021-09-28 13:16:58 -05:00
Evan Hahn e11f11782c
Add alt text for link screen QR code 2021-09-28 12:17:12 -05:00
Evan Hahn e32503eed4
Import `AudioDevice` and `VideoFrameSource` directly from RingRTC 2021-09-28 11:37:03 -05:00
Evan Hahn ed222fee9a
Poll for devices when joining a group call 2021-09-28 11:35:40 -05:00
Fedor Indutny 377cdb3281
Fix flaky TaskWithTimeout test 2021-09-28 09:31:12 -07:00
Evan Hahn 7b9a68b7f9
Upgrade zkgroup to v0.8.1 2021-09-28 09:30:30 -07:00
Fedor Indutnyy a92550b50f Merge "Have settings window update on theme changes" 2021-09-27 13:24:19 -07:00
Fedor Indutnyy 5dafb4c11c Merge "Fix logging typo" 2021-09-27 13:21:57 -07:00
Fedor Indutnyy 8f9e50c3fa Merge "Respect system theme in debug log modal" 2021-09-27 13:09:22 -07:00
Fedor Indutnyy abb73435b0 Fix typos and bugs in messages.json 2021-09-27 12:44:40 -07:00
Scott Nonnenberg 2f68defa4b
AvatarPreview: Use avatarPath directly if provided 2021-09-27 12:16:42 -07:00
Fedor Indutny 8d1ab9fd69
Consistent scheduling of sendToGroup 2021-09-27 11:29:06 -07:00
Fedor Indutny af387095be
API to suspend/resume tasks with timeout 2021-09-27 11:22:46 -07:00
Scott Nonnenberg cf4c81b11c
Clear stale sender certificates 2021-09-27 10:31:34 -07:00
Josh Perez 9888e6d38f
Move common utils out of conversation view 2021-09-27 11:29:00 -05:00
Evan Hahn 9791fa43ef
Improve handling of 413 HTTP responses 2021-09-27 09:44:09 -05:00
Evan Hahn 8b98035cbf
Remove unused "messageRetry" send type 2021-09-24 15:14:54 -07:00
Fedor Indutny a6e3d5cbae
Display thumbnails for video attachments 2021-09-24 13:47:47 -07:00
Evan Hahn 47634acc3d
Fix inversion of audio notification preference 2021-09-24 15:11:16 -05:00
Josh Perez 1c3c971cf4 Moves DraftAttachments into redux 2021-09-24 16:03:32 -04:00
Evan Hahn f81f61af4e
Draw attention even if notifications are otherwise disabled 2021-09-24 14:01:29 -05:00
Fedor Indutny af66a5b265
Truncate lastHeartbeat to day millis 2021-09-24 10:01:46 -07:00
Evan Hahn 7adfd1a4e7
Fix compile error: use `bytesToUuid` in calling service 2021-09-24 09:32:01 -07:00
Evan Hahn 9aa0de5b6c
When a group call starts, show an OS notification 2021-09-24 09:01:01 -05:00
David Sanders 70afb58510 Respect system theme in debug log modal 2021-09-24 03:01:22 -07:00
David Sanders 5ff562b097 Have settings window update on theme changes 2021-09-24 01:45:33 -07:00
Josh Perez 68b711b360
Auto close toasts onClick 2021-09-23 22:08:01 -04:00
Fedor Indutny 4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Fedor Indutny daf75190b8
Upgrade @signalapp/signal-client to 0.9.5 2021-09-23 17:06:57 -07:00
Mr-Update 80a35c6df2
Update messages.json
I have made the desired correction.
2021-09-23 23:40:25 +02:00
Quentin Hibon 9d38470046
Fix logging typo 2021-09-23 23:07:51 +02:00
Evan Hahn bf572cab9c
Properly initialize session reset send states 2021-09-23 13:21:35 -07:00
Fedor Indutny 90bf5ee206
Add translations for NSIS installer 2021-09-23 15:13:49 -05:00
Evan Hahn d2ef82686d
Notification improvements 2021-09-23 13:16:09 -05:00
Evan Hahn 04a4e6e5ff
Upgrade RingRTC to v2.13.1 2021-09-23 08:49:33 -07:00
Fedor Indutny dbd427396c
Convert js/modules/types/contact.js to TypeScript 2021-09-23 09:26:25 -05:00
Mr-Update 3568da779e
Update messages.json
I have made the desired corrections.
2021-09-22 23:16:27 +02:00
Josh Perez e6d952d105
Removes ToastView, new React toast 2021-09-22 16:59:54 -04:00
Fedor Indutny 024a3521e1
Fix quote content-type for GIFs 2021-09-22 13:15:48 -05:00
Scott Nonnenberg 1913752fa0 v5.18.0-beta.1 2021-09-22 09:02:50 -07:00
Scott Nonnenberg 24497ca0f1 Update release notes for 5.18 2021-09-22 09:02:50 -07:00
Scott Nonnenberg f970edc7aa Update strings 2021-09-22 09:02:50 -07:00
Fedor Indutny b9d6497cb1
Better types for WebAPI 2021-09-21 17:58:03 -07:00
Josh Perez c05d23e628
Modernize ContactModal 2021-09-21 15:37:10 -07:00
Josh Perez 1d2fcde49f
Moves navigateTo to util 2021-09-21 16:45:25 -04:00
Fedor Indutny b64908d01d
Fix sticker-creator startup issue 2021-09-21 12:17:17 -07:00
Evan Hahn 7937280971
Fix `<Modal>` scroll event handler 2021-09-21 09:25:21 -07:00
Evan Hahn a68e3a6d20
Improve staged attachment designs 2021-09-20 18:23:55 -07:00
Josh Perez 4e6c415ad8
Ensure that delete logs timeout does not run after resolution 2021-09-20 20:25:29 -04:00
Evan Hahn 4e43459d34
Improve types for `ConversationType`'s `lastMessage` 2021-09-20 14:20:53 -05:00
Fedor Indutny c19a801b89
Use consistent check for timeline height recomputation 2021-09-20 14:19:55 -05:00
Scott Nonnenberg 250a89d953
Additional logging, new ability to force Conversation 'change' event 2021-09-20 11:51:30 -07:00
Josh Perez e9ef239ff0
Move emoji loading into TS 2021-09-20 10:59:09 -07:00
Evan Hahn 48daaaa81d
Ensure `getLastConversationPreview` never returns expired messages 2021-09-20 10:57:59 -07:00
Josh Perez 1b9d8dcb11
Ensure that both window and SignalWindow are defined 2021-09-20 10:29:37 -07:00
Josh Perez e86a6119cd
Moves stringToArrayBuffer into util folder 2021-09-20 12:27:15 -04:00
Mr-Update b22dca0be9
Update messages.json
- Some typos corrected
- "description" line moved behind "message" line in "message--getNotificationText--text-with-emoji" and "EmojiPicker--skin-tone"
- "GroupV2--member-privilege--demote--other--unknown" syntax corrected ("placeholders" was absent)
2021-09-19 00:28:46 +02:00
Josh Perez 829e42ca6e
Move i18n setup to TypeScript 2021-09-17 20:30:08 -04:00
Fedor Indutny 4dcbb7352f
CallScreen interactivity fixes 2021-09-17 20:20:29 -04:00
Josh Perez 427055ea47
Associate form control with label for choose group members 2021-09-17 19:48:57 -04:00
Fedor Indutny b83c00f43f
Defer unprocessed item attempt update 2021-09-17 16:11:24 -07:00
Josh Perez 7b5faa1cc1
Permissions popup context iso 2021-09-17 18:24:21 -04:00
Fedor Indutny f3715411c6
Small UI fixes for left pane dialogs 2021-09-17 17:20:49 -05:00
Josh Perez 6c906d5da8
Enables context isolation for loading window 2021-09-17 18:12:58 -04:00
Josh Perez ccfb9579ad
Fixes storybook loading 2021-09-17 17:54:41 -04:00
Josh Perez 277992a468
Make scrollbar overlay content in left pane 2021-09-17 14:03:18 -07:00
Scott Nonnenberg e2454ef7c5
Improve a few strings, highlight back button on focus, proper key value 2021-09-17 13:57:54 -07:00
Josh Perez 65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Fedor Indutny 8eb0dd3116
Add NSIS retry dialog string to _locales 2021-09-17 09:38:30 -07:00
Evan Hahn 7e7078e11a Fix lint error in <Linkify> stories 2021-09-17 11:28:26 -05:00
Quentin Hibon 756af78d57 Make emoji text matching case-insensitive
See [#5186][5186].

[5186]: https://github.com/signalapp/Signal-Desktop/pull/5186
2021-09-17 11:21:33 -05:00
jojomatik 51d85e58eb Linkify additional TLDs
See [#5170][0].

[0]: #5170
2021-09-17 10:14:42 -05:00
Jonathan Fung 160eca4795 Allow media grid item images to fill container
See [#5291][0]. Fixes [#5241][1].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5291
[1]: https://github.com/signalapp/Signal-Desktop/issues/5241
2021-09-17 08:46:19 -05:00
Evan Hahn 09d729a780
Support emoji 13.1 2021-09-16 16:25:11 -07:00
Fedor Indutny ce0ccc9b58
Disable jumbomoji in quotes 2021-09-16 15:45:32 -07:00
Josh Perez 346590a8fb
Adds probot/stale config 2021-09-16 18:42:57 -04:00
Josh Perez 0f9b72d1db
Ensure single upload for storage service 2021-09-16 18:25:49 -04:00
Fedor Indutny cea72201c6
Maximize image when zooming in lightbox 2021-09-16 14:54:53 -07:00
Fedor Indutny 87b56fcfd0
Use logger interface in main sql worker 2021-09-16 14:54:06 -07:00
Josh Perez 04aad09590
Fixes contextmenu hover glitch 2021-09-16 14:51:57 -07:00
Evan Hahn 9ff1c1e50d
Recompute hero row size when it appears 2021-09-16 14:47:08 -07:00
Evan Hahn 11855d1585
Make `onHeightChange` a required prop of `<ConversationHero>` 2021-09-16 14:44:00 -07:00
Evan Hahn 89fc7d2c0c
Improve `yarn test-electron` experience 2021-09-16 14:40:27 -07:00
Evan Hahn f9095d372a
Upgrade electron-mocha to v10.1.0 2021-09-16 14:00:52 -07:00
Evan Hahn fda21edd23
Remove unnecessary disables of `consistent-return` lint rule 2021-09-16 15:25:55 -05:00
Fedor Indutny f937eba94e
Update socket status more eagerly 2021-09-16 13:18:42 -07:00
Evan Hahn 3cf6ea882b
Remove unnecessary `any` casts from `ts/Crypto.ts` 2021-09-16 09:28:29 -07:00
Evan Hahn 139e17f695
Update title text for reaction customization 2021-09-16 11:16:04 -05:00
Evan Hahn eed7aff925
Remove unnecessary props from `<ContactName>` 2021-09-16 11:15:43 -05:00
Josh Perez 43685d15c6
Context isolation for About, ScreenShare, Preferences 2021-09-16 11:52:56 -04:00
Fedor Indutny 59ca63cd2e
Use `audio.ended` in MessageAudio.tsx 2021-09-16 08:02:23 -07:00
Josh Perez a5f44bc46c
Only log to console if process.stdout is available 2021-09-16 07:33:17 -07:00
Evan Hahn 20be8a11fe
Read and write preferred reactions to storage 2021-09-15 11:59:51 -07:00
Evan Hahn 4e3b64ef64
Visual tweaks for reaction customization 2021-09-15 11:49:16 -07:00
Fedor Indutny 3f7957c20d
Self-repairing message counter 2021-09-15 11:45:22 -07:00
Fedor Indutny 5780c3d4b8
Fix socket management for unlinkAndDisconnect 2021-09-15 11:44:27 -07:00
Fedor Indutny 039bd072ed
Extra tests for SignalProtocolStore migration 2021-09-15 11:43:34 -07:00
Evan Hahn ce1daef9f3
Fix `<UniversalTimerNotification>` stories 2021-09-15 09:04:42 -07:00
Evan Hahn 487d71464a
Remove `FontFace` type definitions 2021-09-15 08:50:17 -05:00
Evan Hahn 195392491e
Make the dots in the reaction picker's "more" button circles 2021-09-14 11:46:34 -07:00
Scott Nonnenberg 29a3a2ac58
WhatsNew: Save build creation time, use as displayed date 2021-09-13 14:00:32 -05:00
Evan Hahn 240585ef94
Allow duplicates in reaction palette 2021-09-13 10:04:45 -07:00
Fedor Indutny 5a57e2b704
Fix action propagation to timeline items 2021-09-12 19:36:41 -07:00
Jim Gustafson 9ffa29ca0d
Update to RingRTC v2.13.0 2021-09-12 11:58:50 -05:00
Evan Hahn bfa0bbf7da
Add "call back", "call again" buttons to timeline 2021-09-10 16:59:41 -07:00
Evan Hahn d94f1151b1
Respect "rules of hooks" in `<SmartCustomizingPreferredReactionsModal>` 2021-09-10 15:50:56 -07:00
Evan Hahn 4ef56667e2
Move `MAX_MESSAGE_SIZE` assertion 2021-09-10 13:16:53 -07:00
Evan Hahn 57c41ad5f1
Log message send errors, if present 2021-09-10 13:13:45 -07:00
Scott Nonnenberg 9d4edb5893
WebsocketResources: Increase maximum outgoing message size 2021-09-10 13:43:53 -05:00
Evan Hahn 0e0982147c
Show recent emoji in the customize reaction emoji picker 2021-09-10 11:43:17 -07:00
Scott Nonnenberg 5fb78e1986
ConversationDetails: Prevent block/leave of group if only admin 2021-09-10 11:18:37 -07:00
Evan Hahn 84ac7dd2df
To fix Storybook, make `<Message>` take `renderReactionPicker` 2021-09-10 11:00:31 -07:00
Evan Hahn 58c18ac420
Design updates to calling lobby 2021-09-10 12:24:05 -05:00
Fedor Indutny 091f3653e7
Ensure conversation id in storeSession 2021-09-10 10:17:32 -07:00
Evan Hahn 87747ebae2
Attach GV2 info to sync messages, if present 2021-09-10 10:02:55 -07:00
Evan Hahn 49434d7a81
Update eslint-plugin-mocha to 9.0.0 2021-09-10 09:22:13 -07:00
Evan Hahn fbedda194c
Handle missing conversation in SQL migration 41 2021-09-10 09:19:45 -07:00
Scott Nonnenberg 6efb6da937
Render disappearing message countdown even if deleted for everyone 2021-09-10 09:23:04 -05:00
Fedor Indutny c7e7d55af4
UUID-keyed lookups in SignalProtocolStore 2021-09-09 19:38:11 -07:00
Scott Nonnenberg 6323aedd9b
Draw attention even if notifications are disabled 2021-09-09 17:32:12 -07:00
Evan Hahn e2392433e0
Preferred reactions: store raw emoji, gate on feature flag 2021-09-09 16:47:30 -07:00
Evan Hahn 9b45b3dae2
Fix comment above `StorageAccessType` 2021-09-09 17:08:56 -05:00
Evan Hahn 8064560a5f
Update to new provisioning URL scheme 2021-09-09 17:08:19 -05:00
Fedor Indutny a67335272c
Update Electron to 13.3.0 2021-09-09 16:43:00 -05:00
Evan Hahn 99daad3f3f
Fix outbound ring cancelation in lobby 2021-09-09 16:15:05 -05:00
Fedor Indutny cd809a9922
Add changeNumber capability 2021-09-09 13:53:58 -07:00
Evan Hahn 4f1188e213
Save skin tone changes in reaction picker 2021-09-09 13:53:26 -07:00
Fedor Indutny 1a682fa297
Recompute row heights on coalesced updates 2021-09-09 13:47:11 -07:00
Fedor Indutnyy dee900479f Merge remote-tracking branch 'hiqua/patch-3' into development 2021-09-09 11:54:52 -07:00
Evan Hahn 759c043c12
Make <ReactionPicker> skin tone story more obvious 2021-09-09 09:32:16 -07:00
Evan Hahn f28456c160
Let users customize the preferred reaction palette 2021-09-09 09:29:01 -07:00
Fedor Indutny 7a5385e00a
Flush message counter on shutdown 2021-09-08 16:28:18 -07:00
Scott Nonnenberg bd47720864
ConversationView.hasFiles: Exclude pending attachments by default 2021-09-08 16:23:44 -07:00
Fedor Indutny 7510be0caf
Detect database corruption consistently 2021-09-08 13:39:14 -07:00
Evan Hahn 1184098b42
Fix reactions i18n key 2021-09-08 09:25:16 -07:00
Quentin Hibon cbfe2c5ef8
Mention packaging in bug report template 2021-09-08 07:48:04 +02:00
Scott Nonnenberg 9ada9f6a47
Fix Connecting spinner in dark mode, maintain draft attachment order 2021-09-07 17:11:17 -07:00
Evan Hahn 561bc0695f
Update reaction picker visuals 2021-09-07 14:30:58 -07:00
Fedor Indutny 1a3f87f7f6
Fix call order when closing sqlite in renderer 2021-09-07 14:21:55 -07:00
Evan Hahn a3eed6191e
Ensure messages are sent in order, even with errors 2021-09-07 15:39:14 -05:00
Evan Hahn 634f4a8bb7
Fix error in `<ConversationListItem>` 2021-09-07 15:38:37 -05:00
Evan Hahn 7f34bedd87
Styling adjustments to timeline notifications 2021-09-07 12:55:03 -07:00
Fedor Indutny 4bed918cf8
Reorder IPC callbacks for settings window 2021-09-07 14:42:17 -05:00
Fedor Indutny 5c7972893c
Add missing strings to `_locales` folder 2021-09-07 14:41:14 -05:00
Scott Nonnenberg 71b50aae00
Message: Don't propagate sender avatar click event 2021-09-07 14:38:32 -05:00
Evan Hahn 0c741adbe4
Fix when outbound message expire timers are set 2021-09-07 11:36:19 -05:00
Evan Hahn cc52a94c76
Make sure RingRTC has our UUID 2021-09-07 09:21:17 -07:00
Evan Hahn bae84b6b67
Prevent outbound group ring if the feature flag is disabled 2021-09-07 09:20:13 -07:00
Scott Nonnenberg c6278aa173
Lightbox: A number of tweaks 2021-09-07 09:12:26 -07:00
Evan Hahn 82f1920ce2
Support `??` operator in Storybook 2021-09-03 14:39:46 -07:00
Scott Nonnenberg fb6c43747d v5.17.0-beta.1 2021-09-02 17:45:03 -07:00
Scott Nonnenberg 36f86af616 Release Notes for 5.17 2021-09-02 17:45:03 -07:00
Scott Nonnenberg ee5f276e0c
Update proxy-agent to 5.0.0, move @types/pino to dev dependencies 2021-09-02 17:29:15 -07:00
Scott Nonnenberg bc1b172f2e Update strings 2021-09-02 17:28:51 -07:00
Fedor Indutny 63dda5bf19
Use `isNumber` in handleDataMessage 2021-09-02 16:47:23 -07:00
Scott Nonnenberg 1dda705c52
Mandatory profile sharing: Don't disable react/reply in GroupV2 groups 2021-09-02 16:29:46 -07:00
Fedor Indutny 0793aa6b43
Track zoom factor changes through IPC 2021-09-02 16:29:16 -07:00
Evan Hahn 3e18a8a337
Don't ring large groups 2021-09-02 15:34:38 -07:00
Evan Hahn 1f45bce0a2
When a job fails, respect the `Retry-After` header if applicable 2021-09-02 17:31:21 -05:00
Fedor Indutny c7873dd7ea
Reconnect websocket on e164 change 2021-09-02 16:47:42 -05:00
Fedor Indutny 30075f18fc
Fix lightbox for tap-to-view GIFs 2021-09-02 16:38:46 -05:00
Evan Hahn ddc591e962
Add stories for timeline notifications with long names 2021-09-02 16:23:27 -05:00
Scott Nonnenberg 5bf3720d1d
Update to libsignal-client@0.9.0, handle new invalid registration error 2021-09-02 13:44:34 -07:00
Scott Nonnenberg 9ca9f743c3
One lightbox at a time; proper dismiss of "read more" screen; proper in-progress draft HEIC images 2021-09-02 14:35:23 -05:00
Evan Hahn 01b015680b
Move `getMessageById` next to `getMessagesById` 2021-09-02 10:44:54 -07:00
Evan Hahn 8e0b94e720
Use `missingCaseError` in `groupMediaItemsByDate` 2021-09-02 10:43:56 -07:00
Evan Hahn 808ade2a8c
Fix rendering of long names in `<DeliveryIssueNotification>` 2021-09-02 12:34:00 -05:00
Fedor Indutny c7b7a355ba
Clear sender certificate on E164 change 2021-09-02 10:12:11 -07:00
Evan Hahn d88128b146
Remove extra license header comment from a story 2021-09-02 10:08:08 -07:00
Evan Hahn c251726698
Fix rendering of long names in `<ProfileChangeNotification>` 2021-09-02 11:07:30 -05:00
Evan Hahn f82012f129
Strip Exif data without Sharp 2021-09-02 08:59:42 -07:00
Scott Nonnenberg 30c3b7630c
Settings window: Don't show until everything is rendered 2021-09-02 10:48:53 -05:00
Evan Hahn bf25a5db0b
Properly remove `data` from written draft attachments 2021-09-01 15:53:00 -07:00
Evan Hahn eed873d4e0
Update RingRTC to v2.12.0 2021-09-01 17:31:43 -05:00
Evan Hahn ce922eed7d
Hide "leave group" button if you've already left 2021-09-01 16:08:33 -05:00
Fedor Indutny 0cb340fd1e
Set `contenteditable` earlier in mentions blot 2021-09-01 15:42:12 -05:00
Evan Hahn 15cad32862
Update `groupMediaItemsByDate` test to (hopefully) improve reliability 2021-09-01 13:33:08 -07:00
Scott Nonnenberg b36f40fe89
`maybeAddAttachment`: Add pending attachment for all file types 2021-09-01 08:55:54 -05:00
Fedor Indutny 1858b15588
Hide previous/next buttons in fullscreen lightbox 2021-08-31 20:19:18 -05:00
Fedor Indutny 6f3191117f
Batch deleteSentProtoRecipient queries 2021-08-31 14:35:01 -07:00
Fedor Indutny b71e4875e6
Use yarn for benchmarks CI 2021-08-31 13:59:24 -07:00
Evan Hahn a85dd1be36
Retry outbound "normal" messages for up to a day 2021-08-31 13:58:39 -07:00
Fedor Indutny 62cf51c060
Pass mode in `unlinkAndDisconnect` event listener 2021-08-31 13:34:32 -07:00
Evan Hahn 9890a51f25
Upgrade @typescript-eslint dependencies to v4.30.0 2021-08-31 09:47:57 -07:00
Evan Hahn 02518d2e16
Remove unnecessary `Array.from` from `markConversationRead` 2021-08-31 09:47:15 -07:00
Evan Hahn 41c78240fd
Handle `null` values in read sync jobs 2021-08-30 17:59:34 -05:00
Fedor Indutny 798533a417
Keep UI settings on heartbeat expiration 2021-08-30 14:39:57 -07:00
Scott Nonnenberg dcf29078f4
ConversationView: Improve types 2021-08-30 14:32:56 -07:00
Fedor Indutny c765d3202c
Fix benchmarks CI 2021-08-30 10:48:09 -07:00
Evan Hahn 480e5b58c7
Handle missing `Retry-After` header with challenge errors 2021-08-30 11:39:25 -05:00
Evan Hahn 7f50fcdb54
Improve performance when rendering many emoji 2021-08-30 11:39:03 -05:00
Evan Hahn 6f242eca57
Handle signal.me links 2021-08-28 08:27:38 -05:00
Fedor Indutny 4273ddb6d0
Use https git clones in workflows 2021-08-27 15:06:51 -07:00
zznidar 4995c400ce Update Android version instructions in GitHub issue template
See [#5483][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5483
2021-08-27 16:53:54 -05:00
Evan Hahn ed11361b64
Speed up left pane message preview for long messages 2021-08-27 13:49:45 -07:00
Fedor Indutny a43abe628a
Update TypeScript to 4.4.2 2021-08-27 15:21:42 -05:00
Evan Hahn 853e27e9eb
Fix incorrect comment in `JobQueue#add` 2021-08-27 15:20:16 -05:00
Evan Hahn 7d7dce3d16 v5.16.0-beta.1 2021-08-26 16:49:04 -05:00
Josh Perez c6b4f14f3b
Fixes no group description unless admin 2021-08-26 16:12:07 -05:00
Josh Perez 9f87543388
Style the left pane scrollbar 2021-08-26 16:05:43 -05:00
Josh Perez 2b08cbfdfe
Streamlined system messages 2021-08-26 13:51:55 -07:00
Josh Perez 1973224adb
Fixes flakey CI 2021-08-26 13:42:25 -07:00
Evan Hahn d2503ffeff
Update release notes for v5.16 release 2021-08-26 13:41:43 -07:00
Evan Hahn 58fc86b4b8
Add "how to apply these terms to your new programs" section to license 2021-08-26 14:31:16 -05:00
Evan Hahn 9e9a815a2b
ESLint: allow `for..of` 2021-08-26 13:18:00 -05:00
Scott Nonnenberg ff4aa228f6
Move to `desktop.sendSenderKey3` feature flag 2021-08-26 11:34:33 -05:00
Evan Hahn 46f7025e41
Update translations 2021-08-26 11:29:16 -05:00
Fedor Indutny 4c6c869c86
Drop extraneous db query 2021-08-26 09:17:57 -07:00
Evan Hahn 598513e037
Fix unintentional removal of group call without ringer 2021-08-26 08:45:11 -07:00
Fedor Indutny 9236f59524
Log additional latency information on sends 2021-08-26 08:36:08 -07:00
Evan Hahn 418ce2eb51
`ConversationView` shouldn't load link previews after unload 2021-08-26 08:34:58 -07:00
Evan Hahn f86f753df9
Add `durations` utility for computing durations 2021-08-26 09:10:58 -05:00
Evan Hahn c6aa668a9b
Log errors when jobs fail 2021-08-25 16:58:33 -07:00
Fedor Indutny fff4e9e97f
Simplify envelope drop due to stopped processing 2021-08-25 16:10:09 -07:00
Evan Hahn 0e7f641dc1
Let users ring members when starting a group call
Co-Authored-By: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2021-08-25 16:42:51 -05:00
Josh Perez 4afe4649ec
Fixes save in lightbox 2021-08-25 14:08:32 -07:00
Evan Hahn 2d16542f4d
Restore "wave" typing indicator animation 2021-08-25 14:02:32 -05:00
Josh Perez e76f603233
Moves identicon svg to TS 2021-08-24 17:17:51 -07:00
Josh Perez 347f542ac0
Derive default conversation color from storage 2021-08-24 17:15:12 -07:00
Josh Perez 8f4a2026e4
Adds additional logging to profile sharing enable/disable 2021-08-24 16:37:17 -07:00
Scott Nonnenberg 9f1bd94627
New version startup: clear remote expiration, hydrate from remote config 2021-08-24 16:36:43 -07:00
Josh Perez 2fe142b6d3
Allows clicking on label to edit checkbox 2021-08-24 14:48:38 -07:00
Josh Perez 28f5a2bd1c
Fixes view once videos in lightbox 2021-08-24 14:47:14 -07:00
Ehren Kret 425404cd6e
Update chat server URLs 2021-08-24 17:32:46 -04:00
Fedor Indutny b7ccd12245
Run resumed zone jobs concurrently 2021-08-24 14:07:40 -07:00
Josh Perez e15227aa7c
Remove pending update listeners prior to setting a new one 2021-08-24 14:01:55 -07:00
Josh Perez c304cb84fe
Restores ESC to close preferences 2021-08-24 14:00:56 -07:00
Josh Perez 424d8785b6
Restyle relink dialog 2021-08-24 13:59:44 -07:00
Josh Perez 8045a83374
Refine the clear all data experience 2021-08-24 15:57:34 -05:00
Fedor Indutny 488ac22860
Display dialog on corrupted database 2021-08-24 13:31:06 -07:00
Evan Hahn 547ccd167c
Fix icon clipping on calling header buttons 2021-08-24 15:16:26 -05:00
Evan Hahn 48cc2b5f11
Preserve blob content type when stripping EXIF data 2021-08-24 14:38:20 -05:00
Fedor Indutny fab883c2a6
Don't hide call controls when hovered 2021-08-24 11:38:03 -07:00
Fedor Indutny 9012091d21
Start unauthenticated socket timer after request 2021-08-24 08:58:40 -07:00
Josh Perez 4371996362
Reduce the amount of storage service conflicts 2021-08-23 19:17:36 -04:00
Evan Hahn 52328c2634
Add type for ConversationModel#getGroupV1Info 2021-08-23 16:15:34 -07:00
Josh Perez d5d808651a
Improved Lightbox experience 2021-08-23 16:14:53 -07:00
Josh Perez d80e738fb1
Fix 'install now' click after download 2021-08-23 15:45:11 -07:00
Josh Perez 81c57107ce
Do not transcode images if they meet the size thresholds 2021-08-23 14:24:52 -07:00
Fedor Indutny 9066067aa4
More benchmarks in CI 2021-08-23 12:03:25 -07:00
Evan Hahn aae221a641
Cancel link preview loading when unloading conversation view 2021-08-23 11:40:49 -07:00
Evan Hahn f0c7804929
Upgrade p-queue to v6.6.2 2021-08-23 12:12:05 -05:00
Josh Perez 10d220182d
Hides the little black square at the corner of preferences 2021-08-23 12:18:45 -04:00
Josh Perez be378d2b23
Add missing translations 2021-08-23 09:19:18 -05:00
Evan Hahn 9a54a8672d
Speed up `lint-deps` slightly 2021-08-23 09:18:21 -05:00
Evan Hahn 75ea2b0ccb
Make group call participant titles unselectable 2021-08-23 08:17:28 -05:00
Josh Perez 353fea5d66
Disables auto-download updates on Linux 2021-08-20 16:41:58 -05:00
Josh Perez 0e2885a5a6
Properly cancel image encoding 2021-08-20 13:33:06 -07:00
Evan Hahn 70d059beeb
Keep reaction poppers visible at all times 2021-08-20 14:36:27 -05:00
Scott Nonnenberg f11c366f53
AccountManager: Simplify key rotation pre-check 2021-08-20 11:27:12 -07:00
Evan Hahn 79c976668b
Receive rings for group calls 2021-08-20 09:06:15 -07:00
Fedor Indutny fe040a2873
Rename ContactType to EmbeddedContactType 2021-08-19 20:56:39 -05:00
Josh Perez 017a0fa807 v5.15.0-beta.1 2021-08-19 20:53:24 -04:00
Josh Perez c497b5b57d Updates translations 2021-08-19 20:52:33 -04:00
Josh Perez e9308bbafb
New option for control over update downloads 2021-08-19 15:56:29 -07:00
Fedor Indutny 80c1ad6ee3
Don't mutate state in TimelineItem 2021-08-19 13:14:41 -07:00
Fedor Indutny 1cc7c5dc2d
Move `getAlwaysRelayCalls` to `window.Events` 2021-08-19 11:41:24 -07:00
Evan Hahn 4b810d5c3e
`<ConversationHero>`: only call `onHeightChange` when certain props change 2021-08-19 11:36:09 -05:00
Fedor Indutny 65f0f87bad
Speed-up senderKey membership check 2021-08-19 08:52:08 -07:00
Josh Perez aecb11247f
Removes old feature flags 2021-08-18 18:04:38 -07:00
Evan Hahn 778c8b4220
Conversation header: fix check if anyone else is in the call 2021-08-18 17:14:30 -07:00
Fedor Indutny f5a85a0488
Disable websocket in sticker-creator 2021-08-18 17:13:32 -07:00
Fedor Indutny 19f4bdd337
Update signal-client to 0.8.4 2021-08-18 17:04:40 -07:00
Evan Hahn 1965228e54
Call lobby: don't flip avatar when video is off 2021-08-18 16:06:26 -05:00
Josh Perez 91af0dad78
Faster preferences window 2021-08-18 13:08:14 -07:00
Fedor Indutny ac55b8d643
Close database in renderer 2021-08-18 09:52:48 -07:00
Evan Hahn f3ba979246
Attempt to fix `<ConversationHero>` re-rendering 2021-08-18 09:38:47 -07:00
Fedor Indutny 7a8363c7c8
Additional render optimizations 2021-08-18 08:34:22 -05:00
Fedor Indutny 6343e7c902
Do not initialize `receivedAtCounter` in `connect` 2021-08-17 16:15:45 -07:00
Fedor Indutny d222376b8f
Run WAL checkpoint on exit 2021-08-17 14:55:34 -07:00
Evan Hahn 763c35e546
Update call lobby UI to match new designs 2021-08-17 16:45:18 -05:00
Fedor Indutny 50c4fa06cc
Change error boundary notification text 2021-08-17 14:49:22 -05:00
Evan Hahn ed83061651
Improve @mentions tokenization 2021-08-17 13:55:25 -05:00
Fedor Indutny 6dcceb81ac
Use stable keys for rendering timeline 2021-08-17 11:41:12 -07:00
Scott Nonnenberg 4a6d28e118
MessageReceiver: Drop blocked senders only after processing SKDMs 2021-08-17 11:40:55 -07:00
Scott Nonnenberg 5f3af9f123
sendToGroup: Save conversation before removing senderKey 2021-08-17 11:35:49 -07:00
Evan Hahn fe12ca936f
Update better-sqlite3 types 2021-08-17 11:17:16 -05:00
Evan Hahn 520a213bf6
Update RingRTC to v2.11.0 2021-08-17 11:16:48 -05:00
Fedor Indutny 784e5d5eee
Sort sender key devices for future optimization 2021-08-17 08:45:57 -07:00
Evan Hahn 75f0cd50be
Send viewed receipt when you start listening to an audio message 2021-08-17 08:43:26 -07:00
Fedor Indutny caf544b3a1
Fetch `hasGroupLink` from Redux in conversation details 2021-08-17 09:10:27 -05:00
Evan Hahn 502dad8f6f
Handle maxGroupCallRingSize remote config flag 2021-08-17 09:01:27 -05:00
Fedor Indutny f5a3d4bc8a
Fix various read sync inconsistencies 2021-08-16 17:16:00 -07:00
Evan Hahn 5075fa241f
ConversationView: some simple type improvements 2021-08-16 14:35:54 -07:00
Josh Perez b72d7b436e
Fixes license headers test, adds them in 2021-08-16 16:03:10 -05:00
Fedor Indutny e7be409961
Fix late view/read sync logic 2021-08-16 10:18:16 -07:00
Fedor Indutny 962515031d
Reduce number of SQL queries during conversation update 2021-08-16 11:56:27 -05:00
Josh Perez 765b3eddc4
Bundle heic worker for unpacked asar 2021-08-16 12:34:25 -04:00
Evan Hahn b054802758
Make isEditingAvatar impossible unless you're on the right step 2021-08-16 09:33:27 -05:00
Evan Hahn 264bdaaaaf
Update screensharing icon 2021-08-16 09:32:47 -05:00
Evan Hahn 6c25f3a463
Fix broken link previews 2021-08-13 16:21:14 -05:00
Scott Nonnenberg 8213c1dae5
aptly.sh: auto-detect first run, configurable apt location 2021-08-13 14:02:37 -07:00
Fedor Indutny b2e2e6d8eb
Fallback to sent_at when serverTimestamp is empty 2021-08-13 09:02:28 -07:00
Evan Hahn b7447cda29
Better housekeeping for link previews 2021-08-13 10:01:56 -05:00
Evan Hahn b0750e5f4e
Show "unplayed" dot on incoming audio messages 2021-08-12 13:15:55 -05:00
Evan Hahn 9fd191ae00
Add more logging for view-once message interactions 2021-08-12 09:20:22 -07:00
Fedor Indutny 3b5820b96a
Use different CI file/folder names 2021-08-11 20:20:01 -07:00
Scott Nonnenberg f96246fecf v5.14.0-beta.1 2021-08-11 16:53:52 -07:00
Scott Nonnenberg 8767578c9e Update languages. New: lv and ml 2021-08-11 16:44:04 -07:00
Fedor Indutny d41e61a96b
Optimize render part 2 2021-08-11 16:06:20 -07:00
Scott Nonnenberg 3f1adec614
removeAllConfiguration: Use json_remove instead of json_patch 2021-08-11 13:11:31 -07:00
Fedor Indutny 61b7eebfcf
Modernize Benchmarks CI 2021-08-11 12:29:07 -07:00
Fedor Indutny 12c78c742f
Optimize rendering 2021-08-11 09:23:21 -07:00
Scott Nonnenberg 81f06e2404
Sender Key: Hardcode senderKey to true, during link and thereafter 2021-08-10 17:41:27 -07:00
Fedor Indutny 0d3e3851e2
Send profileKeys less frequently 2021-08-10 17:16:12 -07:00
Scott Nonnenberg f431f15a5e
Calling: Clear activeCall only for incoming prering/ringing calls 2021-08-10 19:16:18 -04:00
Scott Nonnenberg 1d91f59368
Bless new 'My Daily Life' sticker pack by Plastic Thing 2021-08-10 19:15:58 -04:00
Scott Nonnenberg f985d55d5c
Calling: Never show lobby for incoming call 2021-08-10 10:15:35 -07:00
Fedor Indutny 8703b0e020
Reduce log file size 2021-08-09 15:04:17 -07:00
Josh Perez 9078919545
Transcode heic/heif images 2021-08-09 13:06:21 -07:00
Fedor Indutny 440fb69efc
Better logging for early read syncs 2021-08-09 12:59:14 -07:00
Fedor Indutny 68b8877654
Fix benchmark CI 2021-08-09 12:58:43 -07:00
Scott Nonnenberg a36977ff5c
Log: Show both enabled/disabled and value for flags 2021-08-06 17:34:48 -07:00
Fedor Indutny 46b1e8d0e7
Cache onHeightChange property of message 2021-08-06 14:43:18 -07:00
Josh Perez 78447a0018
Improvements to Avatar rendering 2021-08-06 17:35:25 -04:00
Scott Nonnenberg 35625f4200
Groups: Force a fetch right now if our update runs into a conflict 2021-08-06 14:25:15 -07:00
Scott Nonnenberg 7ce89414bf
Support for alpha build channel 2021-08-06 14:21:01 -07:00
Fedor Indutny c0ab1dff11
Change conversation color assert to warning 2021-08-06 12:36:54 -07:00
Fedor Indutny 669005ace7
Fix multirecipient sends 2021-08-06 12:19:00 -07:00
Fedor Indutny cc5da98565
Ignore empty e164 in storage service 2021-08-06 11:20:11 -07:00
Josh Perez 9db8765b6c v5.13.0-beta.1 2021-08-05 20:42:55 -04:00
Josh Perez 16e524b5ed Updates translations 2021-08-05 20:41:40 -04:00
Scott Nonnenberg 5069f48cf0
Message Send Log: Increase retention length 2021-08-05 20:17:23 -04:00
Josh Perez 12d2b1bf7c
Avatar defaults and colors 2021-08-05 20:17:05 -04:00
Fedor Indutny a001882d58
Change Phone Number notifications 2021-08-05 16:34:49 -07:00
Evan Hahn 4b82ac387b
Incoming call bar design updates 2021-08-05 18:31:34 -05:00
Scott Nonnenberg 3d8976d030
requestResend: Show decryption error toast only for RESENDABLE/DEFAULT 2021-08-05 10:25:59 -07:00
Josh Perez db0c9f0f49
Allows you to turn off announcements only if already on 2021-08-05 10:23:50 -07:00
Evan Hahn 4e4fed2563
Use `aws` in `$PATH` for aptly deploy 2021-08-05 10:23:08 -07:00
Scott Nonnenberg ebb87b12d5
Standardize feature flag for internal testing 2021-08-05 10:00:33 -07:00
Evan Hahn 0af53ef120
Fix extra prop in <AvatarPopup> 2021-08-05 11:14:57 -05:00
Quentin Hibon 0588b9c8d9 Update CONTRIBUTING.md with new Python version
See [#5216][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5216
2021-08-05 11:08:33 -05:00
Evan Hahn b95a6b6cb1
Fix React warning in `<CallingButton>` stories 2021-08-05 10:22:00 -05:00
Evan Hahn 6b290a0f0c
@mentions notifications 2021-08-05 07:35:33 -05:00
Scott Nonnenberg 3bbe859452
Partially revert "Sender Key: Prepare for testing in beta"
Partial revert of commit ab5a12fded
2021-08-04 16:49:05 -07:00
Fedor Indutny 674ea824c2
Update electron, electron-builder, @electron/fuses 2021-08-04 15:15:38 -07:00
Fedor Indutny c68fd3d727
confirmCode endpoint shouldn't reconnect socket 2021-08-04 13:12:35 -07:00
Scott Nonnenberg f048066693
Sender Key: Flags to disable, send to unrestricted 2021-08-03 18:02:35 -07:00
Fedor Indutny d5810d6bac
Support more WebSocket endpoints 2021-08-03 17:37:17 -07:00
Scott Nonnenberg 0fb3951078
_maybeMigrateSession: Directly update cache or save session if needed 2021-08-03 15:42:23 -07:00
Scott Nonnenberg a78d30cb5a
Simplify signed prekey handling - always save for 30 days, always save five 2021-08-03 15:26:00 -07:00
Evan Hahn 402dda0e67
Remove `tar` dependency\ 2021-08-03 15:20:17 -07:00
dependabot-preview[bot] 7b22428a6f
Bump tar from 4.4.8 to 4.4.15 2021-08-03 16:31:16 -05:00
Fedor Indutny 6d04bfdf67
Fix undefined log function 2021-08-03 12:05:20 -05:00
Evan Hahn 3b476fb60d
Fix tooltip placement bugs by upgrading Popper 2021-08-03 12:04:49 -05:00
Rik Smeets 26b7652492 Don't close emoji picker when Ctrl key is pressed
See [#5431][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5431
2021-08-03 10:05:22 -05:00
Evan Hahn f33a0db32c
Convert the loading window to TypeScript 2021-08-03 09:28:45 -05:00
Scott Nonnenberg 310f0dc88f
Sender Key: Proper 409-handling, save new members earlier 2021-08-02 17:42:00 -07:00
Scott Nonnenberg ab5a12fded
Sender Key: Prepare for testing in beta 2021-08-02 19:12:49 -05:00
Fedor Indutny c5de4c6284
Revert "Process read syncs after batches of messages"
This reverts commit eccace481b.
2021-08-02 15:47:33 -07:00
Fedor Indutny 6637fc2b95
Migrate sourceDevice from TEXT to INTEGER 2021-08-02 14:55:31 -07:00
Evan Hahn eccd682920
Remove unused ConversationModel#getName 2021-08-02 14:26:54 -07:00
Scott Nonnenberg bcb9d2d2f3
Modernize DeliveryIssueDialog, fix outline clipping in Modal 2021-08-02 14:19:18 -07:00
Fedor Indutny 21ffb7c054 Unseal envelope in a separate step for better logs 2021-08-02 14:17:56 -07:00
Fedor Indutny 907e1d32ec
Handle message render errors in timeline 2021-08-02 13:55:47 -07:00
Evan Hahn 1891375c6c
Remove "delete for everyone" option from failed messages 2021-08-02 12:26:48 -07:00
Fedor Indutny f82639dc3a
Suspend AudioContext to save resources 2021-08-02 13:31:01 -05:00
Evan Hahn 73bcd3b531
Remove the word "receipt" from read syncs code 2021-08-02 11:47:59 -05:00
Fedor Indutny 926283a114
Fix uncaught error in `markMessageRead` 2021-07-30 15:13:52 -07:00
Fedor Indutny eccace481b
Process read syncs after batches of messages 2021-07-30 15:39:41 -05:00
Scott Nonnenberg bf7da5ca2e
DeliveryIssueDialog: Add learn more button linking to support 2021-07-30 13:30:59 -07:00
Evan Hahn d0bf9f929b
Remove unused getExpiresAt function 2021-07-30 14:54:34 -05:00
Scott Nonnenberg 68eac613d7
Use 'aws s3 rsync' to upload linux builds, not aptly 2021-07-30 15:53:57 -04:00
Scott Nonnenberg 0ab09711a4
Track performance of message sends 2021-07-30 11:37:03 -07:00
Evan Hahn 2d3b1918b3
Decrease GPU usage when window is invisible 2021-07-30 13:35:43 -05:00
Scott Nonnenberg 9fb8114691
Sender Key: Track registrationIds in senderKeyState 2021-07-30 11:35:25 -07:00
Evan Hahn 689542a9b4
Show additional data in debug log header 2021-07-30 09:43:16 -07:00
Fedor Indutny 03874a788f
Use smaller batches for receipts and syncs 2021-07-29 18:08:04 -07:00
Evan Hahn 8775c711ae
Mark many of SendMessage's arguments as readonly 2021-07-29 12:00:11 -07:00
Fedor Indutny 93f60ee5a6
Don't forget to cleanup in-memory sticker pack 2021-07-29 11:59:26 -07:00
Fedor Indutny d4a30a0165
Properly handle connection timeout on unauthenticated websocket 2021-07-29 09:25:21 -07:00
Evan Hahn 8cadc40975
Replace MessageModel#isUnread with isMessageUnread utility 2021-07-29 09:29:07 -05:00
Fedor Indutny 0acefaa656
Add assert to messages endpoint 2021-07-29 01:20:18 -07:00
Fedor Indutny 4a402126b4
Make sure to restore registration before relink 2021-07-29 01:19:26 -07:00
Evan Hahn b826097237
Show window titlebar in test 2021-07-28 16:46:25 -07:00
Fedor Indutny 6e4a3561f1
Redecode unknown protobuf fields before writing 2021-07-28 16:44:58 -07:00
2224 changed files with 571917 additions and 441678 deletions

View File

@ -1,12 +0,0 @@
{
"S3PublishEndpoints": {
"signal-desktop-apt": {
"region": "us-east-1",
"bucket": "updates.signal.org",
"prefix": "desktop/apt",
"acl": "public-read",
"plusWorkaround": false,
"disableMultiDel": false
}
}
}

View File

@ -8,8 +8,10 @@ module.exports = {
plugins: [
'react-hot-loader/babel',
'lodash',
'@babel/plugin-transform-typescript',
'@babel/plugin-proposal-class-properties',
'@babel/plugin-proposal-optional-chaining',
'@babel/plugin-proposal-nullish-coalescing-operator',
// This plugin converts commonjs to esmodules which is required for
// importing commonjs modules from esmodules in storybook. As a part of
// converting to TypeScript we should use esmodules and can eventually

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

@ -1,4 +1,4 @@
// Copyright 2018-2021 Signal Messenger, LLC
// Copyright 2018-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// For reference: https://github.com/airbnb/javascript
@ -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',
@ -23,10 +31,14 @@ const rules = {
// it helps readability to put public API at top,
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': 'off',
// 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',
@ -44,6 +56,8 @@ const rules = {
],
'no-continue': 'off',
'lines-between-class-members': 'off',
'class-methods-use-this': 'off',
// Prettier overrides:
'arrow-parens': 'off',
@ -95,11 +109,6 @@ const rules = {
message:
'for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.',
},
{
selector: 'ForOfStatement',
message:
'iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations.',
},
{
selector: 'LabeledStatement',
message:
@ -111,14 +120,36 @@ 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',
'@typescript-eslint/no-restricted-imports': [
'error',
{
paths: [
{
name: 'chai',
importNames: ['expect', 'should', 'Should'],
message: 'Please use assert',
allowTypeImports: true,
},
],
},
],
// Overrides recommended by typescript-eslint
// https://github.com/typescript-eslint/typescript-eslint/releases/tag/v4.0.0
'@typescript-eslint/no-redeclare': 'error',
@ -133,6 +164,8 @@ const typescriptRules = {
// Upgrade from a warning
'@typescript-eslint/explicit-module-boundary-types': 'error',
'@typescript-eslint/consistent-type-imports': 'error',
// Already enforced by TypeScript
'consistent-return': 'off',
};
@ -152,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',
@ -172,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',
@ -202,4 +227,6 @@ module.exports = {
],
rules,
reportUnusedDisableDirectives: true,
};

View File

@ -27,6 +27,17 @@ Lastly, be sure to preview your issue before saving. Thanks!
https://github.com/signalapp/Signal-Desktop/issues?utf8=%E2%9C%93&q=is%3Aissue
Replace [ ] with [X] once you've searched
-->
- [ ] I am using Signal-Desktop as provided by the Signal team, not a 3rd-party package.
<!--
If you're using a 3rd-party package, please report it to them first.
For flatpak:
- https://github.com/flathub/org.signal.Signal/issues
For snap:
- https://github.com/flathub/org.signal.Signal/issues
For archlinux:
- https://aur.archlinux.org/packages/signal-desktop-beta/
etc.
-->
---
@ -69,7 +80,7 @@ Operating System:
Linked Device Version:
<!-- Android: Settings -> Advanced, iOS: Settings -> General -> About -->
<!-- Android: Settings -> Help, iOS: Settings -> General -> About -->
### Link to Debug Log

View File

@ -1,3 +1,6 @@
# Copyright 2021 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
blank_issues_enabled: false
contact_links:
- name: ✨ Feature request
@ -13,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

71
.github/stale.yml vendored Normal file
View File

@ -0,0 +1,71 @@
# Copyright 2021-2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 90
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 7
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
onlyLabels: []
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- Accessibility
- Bug
- Regression
- "Don't mark stale"
- "Feature Request"
- "Good starter task"
- "Upstream Change Needed"
- "PR: Needs Review"
- "PR: Ready to Merge"
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: false
# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: true
# Label to use when marking as stale
staleLabel: stale
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
This issue has been closed due to inactivity.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 5
# Limit to only `issues` or `pulls`
# only: issues
# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
# pulls:
# daysUntilStale: 30
# markComment: >
# This pull request has been automatically marked as stale because it has not had
# recent activity. It will be closed if no further activity occurs. Thank you
# for your contributions.
# issues:
# exemptLabels:
# - confirmed

View File

@ -1,5 +1,4 @@
# Copyright 2021 Signal Messenger, LLC
# Copyright 2021-2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: Backport
@ -16,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,14 +1,20 @@
# Copyright 2020-2021 Signal Messenger, LLC
# Copyright 2020-2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: Benchmark
on: push
on:
push:
branches:
- development
- main
- '[0-9]+.[0-9]+.x'
pull_request:
jobs:
linux:
runs-on: ubuntu-latest
if: ${{ github.repository == 'signalapp/Signal-Desktop-Private' }}
timeout-minutes: 30
steps:
- name: Get system specs
@ -17,72 +23,109 @@ jobs:
run: uname -a
- 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'
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: '14.16.0'
node-version: '16.15.0'
- name: Install global dependencies
run: npm install -g yarn@1.22.10 ts-node
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('yarn.lock', 'patches/**') }}
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: Install Mock-Server node_modules
run: npm ci
working-directory: Mock-Server
- name: Build typescript
run: yarn grunt
run: yarn generate
- name: Bundle
run: yarn build:webpack
- name: Copy CI configuration
run: cp -rf ./Mock-Server/config/local-development.json ./config/
- name: Setup hosts
run: sudo echo "127.0.0.1 mock.signal.org" | sudo tee -a /etc/hosts
- name: Run benchmarks
- name: Run startup benchmarks
run: |
xvfb-run --auto-servernum \
ts-node Mock-Server/scripts/load-test.ts ./node_modules/.bin/electron . | tee benchmark.log || \
(cat /home/runner/.config/Signal-mock/logs/{app,main}.log && exit 1)
set -o pipefail
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: Clone benchmark branch
uses: actions/checkout@v2
- name: Run send benchmarks
run: |
set -o pipefail
rm -rf /tmp/mock
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 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 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@v3
with:
repository: 'signalapp/Signal-Desktop-Benchmarks-Private'
path: 'benchmark-results'
token: ${{ secrets.AUTOMATED_GITHUB_PAT }}
- name: Push benchmark branch
- name: Push benchmark repo
working-directory: benchmark-results
run: |
npm ci
node ./bin/collect.js ../benchmark.log data.json
node ./bin/collect.js ../benchmark-startup.log data/startup.json
node ./bin/collect.js ../benchmark-send.log data/send.json
node ./bin/collect.js ../benchmark-group-send.log data/group-send.json
node ./bin/collect.js ../benchmark-convo-open.log data/convo-open.json
npm run build
git config --global user.email "no-reply@signal.org"
git config --global user.name "Signal Bot"

View File

@ -1,28 +1,35 @@
# Copyright 2020-2021 Signal Messenger, LLC
# Copyright 2020-2022 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: CI
on: [push, pull_request]
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: '14.16.0'
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('yarn.lock', 'patches/**') }}
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
@ -36,55 +43,62 @@ jobs:
macos:
needs: lint
runs-on: macos-latest
if: github.ref == 'refs/heads/development' || github.ref == 'refs/heads/master'
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: '14.16.0'
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('yarn.lock', 'patches/**') }}
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
- run: yarn generate
- run: yarn prepare-beta-build
- run: yarn build
- run: yarn test-node
- run: yarn test-electron
- run: yarn grunt test-release:osx
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-release
env:
NODE_ENV: production
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: '14.16.0'
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('yarn.lock', 'patches/**') }}
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
@ -92,48 +106,112 @@ jobs:
- run: yarn generate
- run: yarn prepare-beta-build
- run: yarn build
env:
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
- run: xvfb-run --auto-servernum yarn grunt test-release:linux
- run: xvfb-run --auto-servernum yarn test-release
env:
NODE_ENV: production
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: '14.16.0'
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('yarn.lock') }}-${{ hashFiles('patches/**') }}
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
- run: yarn generate
- run: node build\grunt.js
- run: yarn test-node
- run: copy package.json temp.json
- run: del package.json
- run: type temp.json | findstr /v certificateSubjectName | findstr /v certificateSha1 > package.json
- run: yarn prepare-beta-build
- run: yarn build
- run: node build\grunt.js test
- run: node build\grunt.js test-release:win
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 }}

View File

@ -1,28 +0,0 @@
# Copyright 2020-2021 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: Snyk
on:
schedule:
- cron: '0 12 * * *'
jobs:
snyk:
runs-on: ubuntu-latest
if: github.repository != 'signalapp/Signal-Desktop'
steps:
- run: lsb_release -a
- run: uname -a
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14.16.0'
- run: npm install -g yarn@1.22.10
- run: npm install -g snyk@1.316.1
- run: yarn install --frozen-lockfile
- run: snyk auth "$SNYK_TOKEN"
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
- run: snyk test --show-vulnerable-paths=all

17
.gitignore vendored
View File

@ -1,4 +1,5 @@
node_modules
node_modules_bkp
.sass-cache
coverage/*
build/curve25519_compiled.js
@ -11,19 +12,21 @@ config/local-*.json
release/
/dev-app-update.yml
.nyc_output/
*.sublime*
/sql/
/start.sh
.eslintcache
tsconfig.tsbuildinfo
.smartling-source.sh
# generated files
js/components.js
js/util_worker.js
libtextsecure/components.js
libtextsecure/test/test.js
stylesheets/*.css
test/test.js
/storybook-static/
preload.bundle.*
ts/sql/mainWorker.bundle.js.LICENSE.txt
# React / TypeScript
app/*.js
@ -36,8 +39,10 @@ sticker-creator/**/*.js
# Sticker Creator
sticker-creator/dist/*
sticker-creator/**/*.js
# Editors
/.idea
/storybook-static/
preload.bundle.*
ts/sql/mainWorker.bundle.js.LICENSE.txt
/.vscode
*.sublime*
*.map

2
.nvmrc
View File

@ -1 +1 @@
14.16.0
16.15.0

View File

@ -3,6 +3,7 @@
# Generated files
app/**/*.js
sticker-creator/**/*.js
config/local-*.json
config/local.json
dist/**
@ -13,6 +14,7 @@ libtextsecure/test/test.js
stylesheets/*.css
test/test.js
ts/**/*.js
!ts/**/.eslintrc.js
ts/protobuf/*.d.ts
ts/protobuf/*.js
stylesheets/manifest.css
@ -26,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'

184
.snyk
View File

@ -1,184 +0,0 @@
# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.
version: v1.13.5
ignore: {}
patch:
'npm:moment:20170905':
- bunyan > moment:
patched: '2020-04-30T19:26:25.236Z'
'npm:debug:20170905':
- websocket > debug:
patched: '2020-04-30T19:26:25.236Z'
- ref-array-napi > array-index > debug:
patched: '2020-04-30T19:26:25.236Z'
- babel-template > babel-traverse > debug:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-traverse > debug:
patched: '2020-04-30T19:26:25.236Z'
- zkgroup > ref-array-napi > array-index > debug:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-template > babel-traverse > debug:
patched: '2020-04-30T19:26:25.236Z'
- array-index > debug:
patched: '2020-04-30T19:26:25.236Z'
SNYK-JS-LODASH-450202:
- babel-template > lodash:
patched: '2020-04-30T19:26:25.236Z'
- babel-generator > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- babel-template > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-generator > lodash:
patched: '2020-04-30T19:26:25.236Z'
- babel-template > babel-traverse > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-traverse > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-template > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-generator > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- babel-template > babel-traverse > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-traverse > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-template > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-template > babel-traverse > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-template > babel-traverse > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- lodash:
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/generator > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/generator > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/template > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/generator > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/template > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/generator > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/helper-function-name > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/helper-split-export-declaration > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/generator > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/helper-function-name > @babel/template > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/generator > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/helper-function-name > @babel/helper-get-function-arity > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/helper-function-name > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/helper-split-export-declaration > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@emotion/core > @emotion/css > babel-plugin-emotion > @babel/helper-module-imports > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/helper-function-name > @babel/template > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/helper-function-name > @babel/helper-get-function-arity > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- babel-generator > lodash:
patched: '2020-04-30T19:26:25.236Z'
SNYK-JS-LODASH-567746:
- babel-template > lodash:
patched: '2020-04-30T19:26:25.236Z'
- babel-generator > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- babel-template > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-generator > lodash:
patched: '2020-04-30T19:26:25.236Z'
- babel-template > babel-traverse > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-traverse > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-template > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-generator > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- babel-template > babel-traverse > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-traverse > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-template > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-template > babel-traverse > lodash:
patched: '2020-04-30T19:26:25.236Z'
- istanbul-lib-instrument > babel-template > babel-traverse > babel-types > lodash:
patched: '2020-04-30T19:26:25.236Z'
- lodash:
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/generator > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/generator > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/template > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/generator > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/template > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/generator > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/helper-function-name > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/helper-split-export-declaration > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/generator > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/helper-function-name > @babel/template > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/generator > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/traverse > @babel/helper-function-name > @babel/helper-get-function-arity > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/helper-function-name > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/helper-split-export-declaration > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@emotion/core > @emotion/css > babel-plugin-emotion > @babel/helper-module-imports > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/helper-function-name > @babel/template > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- '@babel/core > @babel/helpers > @babel/traverse > @babel/helper-function-name > @babel/helper-get-function-arity > @babel/types > lodash':
patched: '2020-04-30T19:26:25.236Z'
- babel-generator > lodash:
patched: '2020-04-30T19:26:25.236Z'

7
.storybook/StorybookThemeContext.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Context } from 'react';
import type { ThemeType } from '../ts/types/Util';
export const StorybookThemeContext: Context<ThemeType>;

View File

@ -0,0 +1,7 @@
// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createContext } from 'react';
import { ThemeType } from '../ts/types/Util';
export const StorybookThemeContext = createContext(ThemeType.light);

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,121 +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 { ClassyProvider } from '../ts/components/PopperRootContext';
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 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);
addDecorator((storyFn /* , context */) => {
const contents = storyFn();
const firstPaneTheme = makeThemeKnob('First');
const firstPaneMode = makeModeKnob('First');
const secondPane = persistKnob('second-pane-active')(localValue =>
boolean('Second Pane Active', localValue !== 'false', 'Second Pane')
);
const secondPaneTheme = makeThemeKnob('Second');
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 (firstPaneTheme === '') {
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');
}
return (
<div className={styles.container}>
<ClassyProvider themes={['dark']}>
<div
className={classnames(styles.panel, firstPaneTheme, firstPaneMode)}
>
{contents}
</div>
</ClassyProvider>
{secondPane ? (
<div
className={classnames(styles.panel, secondPaneTheme, secondPaneMode)}
>
{contents}
</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

@ -1,10 +1,19 @@
<!-- Copyright 2019-2021 Signal Messenger, LLC -->
<!-- Copyright 2019-2022 Signal Messenger, LLC -->
<!-- SPDX-License-Identifier: AGPL-3.0-only -->
<!-- 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>
window.log = {
// eslint-disable-next-line
const noop = () => {};
window.SignalWindow = window.SignalWindow || {};
window.SignalWindow.log = {
fatal: console.error.bind(console),
error: console.error.bind(console),
warn: console.warn.bind(console),
@ -12,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,6 +1,8 @@
// Copyright 2019-2020 Signal Messenger, LLC
// Copyright 2019-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const webpack = require('webpack');
module.exports = ({ config }) => {
config.entry.unshift(
'!!style-loader!css-loader!sanitize.css',
@ -8,11 +10,6 @@ module.exports = ({ config }) => {
);
config.module.rules.unshift(
{
test: /\.[jt]sx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
},
{
test: /\.scss$/,
loaders: [
@ -23,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

@ -1,27 +1,19 @@
<!-- Copyright 2020-2021 Signal Messenger, LLC -->
<!-- Copyright 2020-2022 Signal Messenger, LLC -->
<!-- SPDX-License-Identifier: AGPL-3.0-only -->
# Acknowledgments
Signal Desktop makes use of the following open source projects.
## @sindresorhus/is
## @formatjs/fast-memoize
License: MIT
## @indutny/frameless-titlebar
MIT License
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (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.
## @types/pino
MIT License
Copyright (c) Microsoft Corporation.
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
@ -39,9 +31,49 @@ Signal Desktop makes use of the following open source projects.
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
SOFTWARE.
## @types/pino-multi-stream
## @popperjs/core
License: MIT
## @react-spring/web
MIT License
Copyright (c) 2018-present Paul Henschel, react-spring, all contributors
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.
## @sindresorhus/is
MIT License
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (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.
## @types/fabric
MIT License
@ -515,6 +547,31 @@ 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.
## bezier-easing
Copyright (c) 2014 Gaëtan Renaudeau
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.
## blob-util
Apache License
@ -830,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)
@ -920,6 +1024,25 @@ 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.
## fabric
Copyright (c) 2008-2015 Printio (Juriy Zaytsev, Maxim Chernyak)
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 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 NON INFRINGEMENT. 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.
## fast-glob
The MIT License (MIT)
@ -998,6 +1121,30 @@ 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.
## focus-trap-react
The MIT License (MIT)
Copyright (c) 2015 David Clark
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.
## form-data
Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors
@ -1490,6 +1637,10 @@ 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.
## heic-convert
License: ISC
## history
MIT License
@ -1980,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
@ -2355,18 +2533,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.
## os-locale
MIT License
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (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.
## p-map
MIT License
@ -2395,7 +2561,19 @@ Signal Desktop makes use of the following open source projects.
MIT License
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
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.
## 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:
@ -2474,14 +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
## popper.js
License: MIT
## protobufjs
This license applies to all parts of protobuf.js except those files
@ -2528,6 +2698,10 @@ Signal Desktop makes use of the following open source projects.
License: MIT
## qrcode-generator
License: MIT
## quill
Copyright (c) 2014, Jason Chen
@ -2689,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)
@ -2813,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)
@ -2981,34 +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-filename
License: WTFPL OR ISC
## sanitize.css
License: CC0-1.0
@ -3225,11 +3398,9 @@ Signal Desktop makes use of the following open source projects.
See the License for the specific language governing permissions and
limitations under the License.
## tar
## split2
The ISC License
Copyright (c) Isaac Z. Schlueter and Contributors
Copyright (c) 2014-2018, Matteo Collina <hello@matteocollina.com>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
@ -3276,33 +3447,11 @@ Signal Desktop makes use of the following open source projects.
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
## tmp
The MIT License (MIT)
Copyright (c) 2014 KARASZI István
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.
## 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.
@ -43,23 +44,22 @@ Install the [Xcode Command-Line Tools](http://osxdaily.com/2014/02/12/install-co
### Linux
1. Pick your favorite package manager.
1. Install `python` (Python 2.7+)
1. Install `python` (Python 3.6+)
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 grunt # Generate final JS and CSS assets
yarn generate # Generate final JS and CSS assets
yarn build:webpack # Build parts of the app that use webpack (Sticker Creator)
yarn test # A good idea to make sure tests run first
yarn start # Start Signal!
@ -72,13 +72,14 @@ is no automatic restart mechanism. Alternatively, keep the developer tools open
(Windows & Linux).
Also, note that the assets loaded by the application are not necessarily the same files
youre touching. You may not see your changes until you run `yarn grunt` on the
youre touching. You may not see your changes until you run `yarn generate` on the
command-line like you did during setup. You can make it easier on yourself by generating
the latest built assets when you change a file. Run this in its own terminal instance
while you make changes:
the latest built assets when you change a file. Run each of these in their own terminal
instance while you make changes - they'll run until you stop them:
```
yarn grunt dev # runs until you stop it, re-generating built assets on file changes
yarn transpile --watch # recompiles when you change .ts files
yarn sass-manifest --watch # recompiles when you change .scss files
```
If you miss the `git-lfs` step, run `yarn cache clean` and remove `node_modules` before trying again.
@ -180,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
@ -198,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.
@ -246,7 +236,7 @@ iOS and Android apps are locked to the production servers. To test all scenarios
staging, your best bet is to pull down the development version of the iOS or Android app,
and register it with one of your extra phone numbers:
First, build Signal for Android or iOS from source, and point its service URL to `textsecure-service-staging.whispersystems.org`:
First, build Signal for Android or iOS from source, and point its service URL to `chat.staging.signal.org`:
**on Android:** Replace the `SIGNAL_URL` value in [build.gradle](https://github.com/signalapp/Signal-Android/blob/master/build.gradle)
@ -281,16 +271,4 @@ yarn generate
yarn build
```
Then, run the tests using `grunt test-release:osx --dir=release`, replacing `osx` with `linux` or `win` depending on your platform.
## 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`.
Then, run the tests using `yarn test-release`.

View File

@ -1,415 +0,0 @@
// Copyright 2014-2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const { join } = require('path');
const importOnce = require('node-sass-import-once');
const rimraf = require('rimraf');
const mkdirp = require('mkdirp');
const spectron = require('spectron');
const asar = require('asar');
const fs = require('fs');
const assert = require('assert');
const sass = require('node-sass');
const packageJson = require('./package.json');
/* eslint-disable more/no-then, no-console */
module.exports = grunt => {
const bower = grunt.file.readJSON('bower.json');
const components = [];
// eslint-disable-next-line guard-for-in, no-restricted-syntax
for (const i in bower.concat.app) {
components.push(bower.concat.app[i]);
}
grunt.loadNpmTasks('grunt-sass');
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
components: {
src: components,
dest: 'js/components.js',
},
test: {
src: [
'node_modules/mocha/mocha.js',
'node_modules/chai/chai.js',
'test/_test.js',
],
dest: 'test/test.js',
},
libtextsecuretest: {
src: [
'node_modules/jquery/dist/jquery.js',
'node_modules/mocha/mocha.js',
'node_modules/chai/chai.js',
'libtextsecure/test/_test.js',
],
dest: 'libtextsecure/test/test.js',
},
},
sass: {
options: {
implementation: sass,
sourceMap: true,
importer: importOnce,
},
dev: {
files: {
'stylesheets/manifest.css': 'stylesheets/manifest.scss',
'stylesheets/manifest_bridge.css': 'stylesheets/manifest_bridge.scss',
},
},
},
copy: {
deps: {
files: [
{
src: 'components/mp3lameencoder/lib/Mp3LameEncoder.js',
dest: 'js/Mp3LameEncoder.min.js',
},
{
src: 'components/webaudiorecorder/lib/WebAudioRecorderMp3.js',
dest: 'js/WebAudioRecorderMp3.js',
},
],
},
},
watch: {
protobuf: {
files: ['./protos/SignalService.proto'],
tasks: ['exec:build-protobuf'],
},
sass: {
files: ['./stylesheets/*.scss', './stylesheets/**/*.scss'],
tasks: ['sass'],
},
},
exec: {
'tx-pull-mostly-translated': {
cmd: 'tx pull --all --use-git-timestamps --minimum-perc=80',
},
'tx-pull-any-existing-translation': {
cmd: 'tx pull --use-git-timestamps',
},
transpile: {
cmd: 'yarn transpile',
},
'build-protobuf': {
cmd: 'yarn build-protobuf',
},
},
'test-release': {
osx: {
archive: `mac/${packageJson.productName}.app/Contents/Resources/app.asar`,
exe: `mac/${packageJson.productName}.app/Contents/MacOS/${packageJson.productName}`,
},
mas: {
archive: 'mas/Signal.app/Contents/Resources/app.asar',
exe: `mas/${packageJson.productName}.app/Contents/MacOS/${packageJson.productName}`,
},
linux: {
archive: 'linux-unpacked/resources/app.asar',
exe: `linux-unpacked/${packageJson.name}`,
},
win: {
archive: 'win-unpacked/resources/app.asar',
exe: `win-unpacked/${packageJson.productName}.exe`,
},
},
gitinfo: {}, // to be populated by grunt gitinfo
});
Object.keys(grunt.config.get('pkg').devDependencies).forEach(key => {
if (/^grunt(?!(-cli)?$)/.test(key)) {
// ignore grunt and grunt-cli
grunt.loadNpmTasks(key);
}
});
// Transifex does not understand placeholders, so this task patches all non-en
// locales with missing placeholders
grunt.registerTask('locale-patch', () => {
const en = grunt.file.readJSON('_locales/en/messages.json');
grunt.file.recurse('_locales', (abspath, rootdir, subdir, filename) => {
if (subdir === 'en' || filename !== 'messages.json') {
return;
}
const messages = grunt.file.readJSON(abspath);
// eslint-disable-next-line no-restricted-syntax
for (const key in messages) {
if (en[key] !== undefined && messages[key] !== undefined) {
if (
en[key].placeholders !== undefined &&
messages[key].placeholders === undefined
) {
messages[key].placeholders = en[key].placeholders;
}
}
}
grunt.file.write(abspath, `${JSON.stringify(messages, null, 4)}\n`);
});
});
grunt.registerTask('getExpireTime', () => {
grunt.task.requires('gitinfo');
const gitinfo = grunt.config.get('gitinfo');
const committed = gitinfo.local.branch.current.lastCommitTime;
const time = Date.parse(committed) + 1000 * 60 * 60 * 24 * 90;
grunt.file.write(
'config/local-production.json',
`${JSON.stringify({ buildExpiration: time })}\n`
);
});
grunt.registerTask('clean-release', () => {
rimraf.sync('release');
mkdirp.sync('release');
});
function runTests(environment, cb) {
let failure;
const { Application } = spectron;
const electronBinary =
process.platform === 'win32' ? 'electron.cmd' : 'electron';
const path = join(__dirname, 'node_modules', '.bin', electronBinary);
const args = [join(__dirname, 'main.js')];
console.log('Starting path', path, 'with args', args);
const app = new Application({
path,
args,
env: {
NODE_ENV: environment,
},
requireName: 'unused',
});
function getMochaResults() {
// eslint-disable-next-line no-undef
return window.mochaResults;
}
app
.start()
.then(() => {
console.log('App started. Now waiting for test results...');
return app.client.waitUntil(
() =>
app.client
.execute(getMochaResults)
.then(data => Boolean(data.value)),
25000,
'Expected to find window.mochaResults set!'
);
})
.then(() => app.client.execute(getMochaResults))
.then(data => {
const results = data.value;
if (!results) {
failure = () => grunt.fail.fatal("Couldn't extract test results.");
return app.client.log('browser');
}
if (results.failures > 0) {
console.error(results.reports);
failure = () =>
grunt.fail.fatal(`Found ${results.failures} failing unit tests.`);
return app.client.log('browser');
}
grunt.log.ok(`${results.passes} tests passed.`);
return null;
})
.then(logs => {
if (logs) {
console.error();
console.error('Because tests failed, printing browser logs:');
console.error(logs);
}
})
.catch(error => {
failure = () =>
grunt.fail.fatal(
`Something went wrong: ${error.message} ${error.stack}`
);
})
.then(() => {
// We need to use the failure variable and this early stop to clean up before
// shutting down. Grunt's fail methods are the only way to set the return value,
// but they shut the process down immediately!
if (failure) {
console.log();
console.log('Main process logs:');
return app.client.getMainProcessLogs().then(logs => {
logs.forEach(log => {
console.log(log);
});
return app.stop();
});
}
return app.stop();
})
.then(() => {
if (failure) {
failure();
}
cb();
})
.catch(error => {
console.error('Second-level error:', error.message, error.stack);
if (failure) {
failure();
}
cb();
});
}
grunt.registerTask(
'unit-tests',
'Run unit tests w/Electron',
function thisNeeded() {
const environment = grunt.option('env') || 'test';
const done = this.async();
runTests(environment, done);
}
);
grunt.registerTask(
'lib-unit-tests',
'Run libtextsecure unit tests w/Electron',
function thisNeeded() {
const environment = grunt.option('env') || 'test-lib';
const done = this.async();
runTests(environment, done);
}
);
grunt.registerMultiTask(
'test-release',
'Test packaged releases',
function thisNeeded() {
const dir = grunt.option('dir') || 'release';
const environment = grunt.option('env') || 'production';
const config = this.data;
const archive = [dir, config.archive].join('/');
const files = [
'config/default.json',
`config/${environment}.json`,
`config/local-${environment}.json`,
];
console.log(this.target, archive);
const releaseFiles = files.concat(config.files || []);
releaseFiles.forEach(fileName => {
console.log(fileName);
try {
asar.statFile(archive, fileName);
return true;
} catch (e) {
console.log(e);
throw new Error(`Missing file ${fileName}`);
}
});
if (config.appUpdateYML) {
const appUpdateYML = [dir, config.appUpdateYML].join('/');
if (fs.existsSync(appUpdateYML)) {
console.log('auto update ok');
} else {
throw new Error(`Missing auto update config ${appUpdateYML}`);
}
}
const done = this.async();
// A simple test to verify a visible window is opened with a title
const { Application } = spectron;
const path = [dir, config.exe].join('/');
console.log('Starting path', path);
const app = new Application({
path,
});
const sleep = millis =>
new Promise(resolve => setTimeout(resolve, millis));
Promise.race([app.start(), sleep(15000)])
.then(() => {
if (!app.isRunning()) {
throw new Error('Application failed to start');
}
return app.client.getWindowCount();
})
.then(count => {
assert.equal(count, 1);
console.log('window opened');
})
.then(() =>
// Verify the window's title
app.client.waitUntil(
async () =>
(await app.client.getTitle()) === packageJson.productName,
{
timeoutMsg: `Expected window title to be ${JSON.stringify(
packageJson.productName
)}`,
}
)
)
.then(() => {
console.log('title ok');
})
.then(() => {
assert(
app.chromeDriver.logLines.indexOf(`NODE_ENV ${environment}`) > -1
);
console.log('environment ok');
})
.then(
() =>
// Successfully completed test
app.stop(),
error =>
// Test failed!
app.stop().then(() => {
grunt.fail.fatal(`Test failed: ${error.message} ${error.stack}`);
})
)
.catch(error => {
console.log('Main process logs:');
app.client.getMainProcessLogs().then(logs => {
logs.forEach(log => {
console.log(log);
});
// Test failed!
grunt.fail.fatal(`Failure! ${error.message} ${error.stack}`);
});
})
.then(done);
}
);
grunt.registerTask('tx', [
'exec:tx-pull-mostly-translated',
'exec:tx-pull-any-existing-translation',
'locale-patch',
]);
grunt.registerTask('dev', ['default', 'watch']);
grunt.registerTask('test', ['unit-tests', 'lib-unit-tests']);
grunt.registerTask('date', ['gitinfo', 'getExpireTime']);
grunt.registerTask('default', [
'exec:build-protobuf',
'exec:transpile',
'concat',
'copy:deps',
'sass',
'date',
]);
};

42
LICENSE
View File

@ -617,3 +617,45 @@ Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.

View File

@ -1,4 +1,4 @@
<!-- Copyright 2014-2021 Signal Messenger, LLC -->
<!-- Copyright 2014-2022 Signal Messenger, LLC -->
<!-- SPDX-License-Identifier: AGPL-3.0-only -->
# Signal Desktop
@ -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/master/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
@ -46,6 +40,6 @@ The form and manner of this distribution makes it eligible for export under the
## License
Copyright 20132021 Signal, a 501c3 nonprofit
Copyright 20132022 Signal, a 501c3 nonprofit
Licensed under the AGPLv3: https://opensource.org/licenses/agpl-3.0

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

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

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

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

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

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

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