Josh Perez
fc425304fc
Moves the attach-file shortcut into the component
2021-10-15 14:51:58 -04: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
Josh Perez
b9134f8332
Actionable toasts
2021-10-06 14:00:51 -07:00
Fedor Indutny
3e31a7405b
Use physical keys+layout for shortcuts
2021-09-29 14:21:15 -07:00
Josh Perez
603c315c82
Moves AudioCapture into react
2021-09-29 13:23:06 -07:00
Evan Hahn
7b9a68b7f9
Upgrade zkgroup to v0.8.1
2021-09-28 09:30:30 -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
Fedor Indutny
af66a5b265
Truncate lastHeartbeat to day millis
2021-09-24 10:01:46 -07:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration
2021-09-23 17:49:05 -07:00
Evan Hahn
d2ef82686d
Notification improvements
2021-09-23 13:16:09 -05:00
Josh Perez
e6d952d105
Removes ToastView, new React toast
2021-09-22 16:59:54 -04:00
Fedor Indutny
b9d6497cb1
Better types for WebAPI
2021-09-21 17:58:03 -07:00
Josh Perez
4e6c415ad8
Ensure that delete logs timeout does not run after resolution
2021-09-20 20:25:29 -04:00
Josh Perez
e9ef239ff0
Move emoji loading into TS
2021-09-20 10:59:09 -07:00
Josh Perez
65ddf0a9e8
Import log instead of using it off of window
2021-09-17 14:27:53 -04: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
Evan Hahn
240585ef94
Allow duplicates in reaction palette
2021-09-13 10:04:45 -07:00
Fedor Indutny
c7e7d55af4
UUID-keyed lookups in SignalProtocolStore
2021-09-09 19:38:11 -07:00
Fedor Indutny
cd809a9922
Add changeNumber capability
2021-09-09 13:53:58 -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
c6278aa173
Lightbox: A number of tweaks
2021-09-07 09:12:26 -07:00
Fedor Indutny
c7873dd7ea
Reconnect websocket on e164 change
2021-09-02 16:47:42 -05:00
Evan Hahn
01b015680b
Move getMessageById
next to getMessagesById
2021-09-02 10:44:54 -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
Fedor Indutny
798533a417
Keep UI settings on heartbeat expiration
2021-08-30 14:39:57 -07:00
Evan Hahn
f86f753df9
Add durations
utility for computing durations
2021-08-26 09:10:58 -05:00
Scott Nonnenberg
9f1bd94627
New version startup: clear remote expiration, hydrate from remote config
2021-08-24 16:36:43 -07:00
Josh Perez
e9308bbafb
New option for control over update downloads
2021-08-19 15:56:29 -07:00
Josh Perez
aecb11247f
Removes old feature flags
2021-08-18 18:04:38 -07:00
Josh Perez
91af0dad78
Faster preferences window
2021-08-18 13:08:14 -07:00
Fedor Indutny
6343e7c902
Do not initialize receivedAtCounter
in connect
2021-08-17 16:15:45 -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
962515031d
Reduce number of SQL queries during conversation update
2021-08-16 11:56:27 -05:00
Evan Hahn
b0750e5f4e
Show "unplayed" dot on incoming audio messages
2021-08-12 13:15:55 -05: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
Fedor Indutny
cc5da98565
Ignore empty e164 in storage service
2021-08-06 11:20:11 -07:00
Scott Nonnenberg
5069f48cf0
Message Send Log: Increase retention length
2021-08-05 20:17:23 -04:00
Fedor Indutny
a001882d58
Change Phone Number notifications
2021-08-05 16:34:49 -07: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
c68fd3d727
confirmCode endpoint shouldn't reconnect socket
2021-08-04 13:12:35 -07:00
Fedor Indutny
6d04bfdf67
Fix undefined log function
2021-08-03 12:05:20 -05: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
Evan Hahn
73bcd3b531
Remove the word "receipt" from read syncs code
2021-08-02 11:47:59 -05:00
Fedor Indutny
eccace481b
Process read syncs after batches of messages
2021-07-30 15:39:41 -05:00
Fedor Indutny
03874a788f
Use smaller batches for receipts and syncs
2021-07-29 18:08:04 -07:00
Fedor Indutny
4a402126b4
Make sure to restore registration before relink
2021-07-29 01:19:26 -07:00
Fedor Indutny
1c1d0e2da0
Move to websocket for requests to signal server
2021-07-28 14:37:09 -07:00
Evan Hahn
8449f343a6
Fix send sync message bugs
2021-07-28 13:53:18 -05:00
Evan Hahn
14929fb408
Show "unplayed" dot on outgoing audio messages
2021-07-27 10:42:25 -05:00
Scott Nonnenberg
67d13e9ba8
More logging in addDeliveryIssue, properly wait in getProfiles
2021-07-26 17:00:16 -07:00
Fedor Indutny
9c6343e10d
Unify MessageReceiver and MessageReceiverInner
2021-07-23 13:47:03 -07:00
Fedor Indutny
fdec47d637
Use single WebAPI instance across the app
2021-07-23 10:23:50 -07:00
Evan Hahn
07f0efc45f
Rename "view sync" to "view once open sync"
2021-07-22 12:07:53 -05:00
Josh Perez
d9e90e9ea8
Improvements to shared library components
2021-07-21 13:45:41 -07:00
Josh Perez
56d5d283bd
Support for announcement-only groups
2021-07-20 13:18:35 -07:00
Evan Hahn
863ae9ed83
Combine DeliveryReceipts and MessageReceipts modifiers
2021-07-20 13:17:25 -07:00
Fedor Indutny
886e8966ff
Drop support for signaling key
2021-07-19 18:11:07 -07:00
Evan Hahn
c4a09b7507
Refactor outbound delivery state, take 2
...
This reverts commit ad217c808d
.
2021-07-19 17:44:49 -05:00
Scott Nonnenberg
7761d83055
Update timers whenever we mark messages read
2021-07-19 13:45:18 -07:00
Scott Nonnenberg
8415db499c
Initialize ConversationController earlier
2021-07-16 11:21:00 -07:00
Scott Nonnenberg
a42c41ed01
Message Send Log to enable comprehensive resend
2021-07-15 16:48:09 -07:00
Fedor Indutny
ad217c808d
Revert "Refactor outbound delivery state"
...
This reverts commit 9c48a95eb5
.
2021-07-12 16:51:45 -07:00
Evan Hahn
9c48a95eb5
Refactor outbound delivery state
2021-07-09 16:38:51 -05:00
Fedor Indutny
ddbbe3a6b1
More protobufjs migration
2021-07-09 12:36:10 -07:00
Fedor Indutny
299fe2af36
More protobufjs use
2021-07-02 14:21:24 -05:00
Scott Nonnenberg
615ae1ccf7
Refactor SendMessage.ts to named parameters
2021-07-02 13:34:17 -05:00
Fedor Indutny
71572db7a9
Get native theme through IPC not remote
2021-06-30 11:57:43 -07:00
Evan Hahn
af1f2ea449
Officially support the system tray on Windows
2021-06-29 12:18:03 -05:00
Evan Hahn
79aba6bff4
A couple cleanups in createSentMessage
2021-06-29 09:41:42 -05:00
Evan Hahn
c69b2d3ace
Add type for second parameter of createSentMessage
2021-06-28 12:15:48 -07:00
Josh Perez
01eabf9ec6
Option to send photos as high quality
2021-06-25 11:08:16 -05:00
Fedor Indutny
cf64fbdc7c
Fix Cmd+T navigation for left pane
2021-06-23 10:53:04 -07:00
Fedor Indutny
a6394e0c8b
Reconnect within MessageReceiver
2021-06-23 09:47:42 -05:00
Evan Hahn
0ec23be91b
Fix React warning when mounting <App>
2021-06-23 09:33:27 -05:00
Fedor Indutny
972a4cba0c
Show universal timer notification in open conversation
2021-06-22 09:18:22 -05:00
Evan Hahn
ca330899bb
Backfill missing expire times for incoming messages
2021-06-18 12:12:04 -07:00
Scott Nonnenberg
68f1023946
Move message.getPropsForBubble and friends to selectors
2021-06-17 10:15:10 -07:00
Evan Hahn
03a187097f
Disappearing message cleanups
2021-06-16 17:20:17 -05:00
Scott Nonnenberg
1520c80013
Remove messageCollection from Conversation model
2021-06-15 17:44:14 -07:00
Evan Hahn
9dd7e763c4
Remove references to non-existent messageExpired
action
2021-06-15 16:30:23 -07:00
Fedor Indutny
8f5086227a
Enforce stronger types for ArrayBuffers and storage
2021-06-14 17:09:37 -07:00
Fedor Indutny
61ac79e9ae
Log conversation job wait time and duration
2021-06-14 14:55:14 -07:00
Josh Perez
173771d34b
New top-level React root: <App />
2021-06-14 12:01:00 -07:00
Fedor Indutny
17e6ec468e
Faster WebSocket reconnects
2021-06-09 15:28:54 -07:00
Fedor Indutny
3cac4a19e1
Move to new getSendOptions location
2021-06-09 12:16:45 -07:00
Scott Nonnenberg
bff3f0c74a
Sender Key: Prepare for production
2021-06-08 14:51:58 -07:00
Scott Nonnenberg
f226822dff
Conversation: Prevent getProps errors on initial link
...
Co-authored-by: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com>
2021-06-08 16:31:35 -05:00
Josh Perez
d38a0042ba
Fix new link scenario where default color is not set
2021-06-07 15:17:44 -07:00
Josh Perez
d4875fd8f4
Remove isPrivate, isMe, isGroupV1, isGroupV2 from model
2021-06-07 09:39:13 -07:00
Josh Perez
bd46e3afd6
Fixes global chat color setting
2021-06-02 14:05:09 -07:00
Fedor Indutny
3776909c24
Fix storage upload for universal timers
2021-06-02 13:25:30 -07:00
Fedor Indutny
19f8042cd3
Universal Disappearing Messages
2021-06-01 13:45:43 -07:00
Scott Nonnenberg
5a4fc5e425
Sender Key: Disable capability and bug fixes
2021-06-01 12:40:09 -07:00
Scott Nonnenberg
ee513a1965
Support for message retry requests
2021-05-28 12:11:19 -07:00
Josh Perez
28f016ce48
Conversation Colors
2021-05-28 09:15:17 -07:00
Scott Nonnenberg
ee41e4f71d
A few small bugfixes
2021-05-27 13:47:39 -07:00
Evan Hahn
d4dc9b8e39
Message Requests: Add new "Report spam and block" button
2021-05-27 13:37:58 -07:00
Scott Nonnenberg
e6f1ec2b6b
Send support for Sender Key
2021-05-25 15:40:04 -07:00
Fedor Indutny
227f532ec2
Fix processing of cached envelopes
2021-05-24 14:30:56 -07:00
Fedor Indutny
25f4154cde
Add checks for unregistering message receiver
2021-05-24 12:01:45 -07:00
Fedor Indutny
6323dd6492
Go back to main process before delayed processing
2021-05-21 09:51:27 -05:00
Fedor Indutny
2abc331058
Fix in-memory transactions while accessing sessions
2021-05-20 17:37:10 -07:00
Scott Nonnenberg
38f9aef2af
On 401 response from Signal server, reconnect websocket
2021-05-20 17:37:09 -07:00
Fedor Indutny
fe505a7f2f
Fix hanging "Clear All Data" on Windows
2021-05-20 17:37:08 -07:00
Jacob Kiesel
75d54e7737
Add launch-on login option
...
See [#5244 ][0].
[0]: https://github.com/signalapp/Signal-Desktop/pull/5244
2021-05-11 15:59:21 -05:00
Evan Hahn
b41dab2704
Fix "open conversation menu" keyboard shortcut
2021-05-11 13:40:36 -05:00
Fedor Indutny
e51260a23f
Batch and de-duplicate profile key updates
2021-05-11 13:26:44 -05:00
Josh Perez
e0c324e4ba
Send/Receive support for reaction read syncs
2021-05-06 21:15:25 -04:00
Fedor Indutny
986d8a66bc
Show challenge when requested by server
2021-05-05 17:09:29 -07:00
Evan Hahn
8ef14e6f39
When incoming message should've been sealed sender, reply with profile key
2021-05-05 09:39:16 -07:00
Evan Hahn
c1730e055f
Remove 25 trivial WhatIsThis types
2021-05-03 09:38:20 -07:00
Evan Hahn
bbd7fd3854
Initial support for job queue
2021-04-29 18:02:27 -05:00
Evan Hahn
bf6487c5b9
Don't mark conversations as unregistered unless there's no UUID
2021-04-29 14:27:37 -07:00
Evan Hahn
013923d3c1
Remove CDS feature flag
2021-04-29 14:27:36 -07:00
Evan Hahn
e77dcf7f85
Don't create an unnecessary array in conversation batcher
2021-04-29 14:27:36 -07:00
Josh Perez
d203f125c6
Adds message forwarding
2021-04-27 18:35:35 -04:00
Josh Perez
5e2d48cc2f
Do not populate left pane on initial link
2021-04-20 19:16:49 -04:00
Fedor Indutny
1746d27b5e
Wait for appView
to be there in onEmpty
2021-04-15 11:17:28 -07:00
Evan Hahn
2ee5f57516
Ensure storage is ready before starting sender certificate service
2021-04-14 14:15:26 -07:00
Fedor Indutny
a4ff7ae240
Report more performance stats
2021-04-13 16:43:56 -07:00
Scott Nonnenberg
e0415de893
Don't always show an error on manual contact sync
2021-04-09 00:06:46 -04:00
Evan Hahn
a82fa86176
Fetch sender certificates on-demand
2021-04-09 00:06:46 -04:00
Fedor Indutny
6ff55914f0
Deduplicate conversations before passing to redux
...
Receiving a single message on conversations triggers ~4 updates.
However, since `.format()` is called on next tick - the value is going
to be the same regardless of which particular update triggered it. Batch
conversations and de-duplicate them before passing to redux to save
time.
2021-04-09 00:06:14 -04:00
Evan Hahn
f615b1a75f
Reject reactions with invalid number of graphemes
2021-04-08 23:53:18 -04:00
Fedor Indutny
37c8c1727f
Types, better-sqlite3, and worker_threads for our sqlite
2021-04-08 23:53:18 -04:00
Evan Hahn
b95dd207ca
Periodically refresh both sender certificates
2021-04-05 18:08:50 -04:00
Evan Hahn
99928ee831
Move refresh_sender_certificate.js to TypeScript
2021-04-05 18:08:50 -04:00
Fedor Indutny
cf50550936
Finish all renderer SQL queries switching to main
...
Don't switch to main process until all renderer SQL queries are
completed. If we switch while some of them are still running - we can
get SQL_BUSY from concurrent writes in main and renderer processes.
2021-04-05 18:08:50 -04:00
Evan Hahn
63ece2e9b4
Don't set or read reaction target phone number
2021-04-05 18:08:50 -04:00
Fedor Indutny
746e99b8c2
Flush all watchers on empty queue
2021-03-25 17:00:03 -07:00
Fedor Indutny
a75402d290
Add timestamp utilities with helpful names
2021-03-22 16:08:52 -05:00
Fedor Indutny
6fec6b2646
Fix attachments not loading for stickers/long messages
2021-03-19 16:57:36 -04:00
Evan Hahn
850e759579
Keeping profile data around longer in the face of errors
2021-03-19 16:57:36 -04:00
Evan Hahn
b725ed2ffb
Refresh profiles on app start (at most every 12 hours)
2021-03-19 16:57:36 -04:00
Fedor Indutny
59d1159c06
Set attachmentDownloadQueue = undefined
on empty
2021-03-19 16:57:35 -04:00
Josh Perez
62e04a1bbd
Fix for unread syncs and ooo reactions
2021-03-19 16:57:35 -04:00
Josh Perez
0bd3c78187
Do not batch single saveMessage calls after start-up
2021-03-19 16:57:35 -04:00
Josh Perez
f07da67c60
Toggle between db in renderer and in main
2021-03-19 16:57:35 -04:00
Josh Perez
468d491d34
Optimizations to the performance improvement changes
2021-03-19 16:57:35 -04:00
Evan Hahn
729d808f62
macOS: make conversation and main header draggable
2021-03-19 16:57:35 -04:00
Josh Perez
3cc6c5f5ad
Fix for missing replacement text in bodyRanges
2021-03-19 16:57:35 -04:00
Josh Perez
d82ce07942
Improve cold start performance
2021-03-19 16:57:35 -04:00
Fedor Indutny
a2a0d56270
Ensure a theme setting value is saved on first startup
2021-03-19 16:53:51 -04:00
Evan Hahn
dfa5005e7d
Update conversation header design
2021-03-19 16:53:51 -04:00
Scott Nonnenberg
d0e3a2ce29
background.ts/conversation_view.ts modules, Whisper.View/ToastView in TS
2021-03-19 16:53:51 -04:00
Scott Nonnenberg
2aa2aca9f2
A few bug fixes
2021-03-19 16:53:51 -04:00
Evan Hahn
06fb4fd0bc
Add "new conversation" composer for direct messages
2021-03-19 16:53:51 -04:00
Scott Nonnenberg
98e7e65d25
Automatic session reset
2021-03-19 16:53:51 -04:00
Evan Hahn
eb203ba929
Disable search keyboard shortcuts when main header isn't shown
2021-03-19 16:53:51 -04:00
Josh Perez
022a381397
onChangeTheme: Guard against uninitialized redux
2021-02-12 11:45:22 -08:00
Scott Nonnenberg
73d62a98e6
Fix composer reference in Ctrl-T shortcut handling
2021-02-12 10:38:58 -08:00
Josh Perez
34285054f6
Manual download of attachments with no blurHash
2021-02-11 17:50:11 -08:00
Evan Hahn
92e5ccd764
When initializing Redux, add 2 missing properties to conversations slice
2021-02-10 14:47:55 -08:00
david yang
2501584db6
Add keyboard shortcut to match other MacOS Chat Apps ( #4719 )
...
MacOS Messages and WhatsApp (amongst other messaging apps) use this Cmd + Shift + [/] to switch between convos. Would be great to have that in Signal as well.
2021-02-04 14:36:39 -08:00
Evan Hahn
ddebbf8121
Hide title bar on macOS
2021-02-01 12:01:25 -08:00
Scott Nonnenberg
a48b3e381e
Support for joining New Groups via invite links
2021-01-29 14:16:48 -08:00
Scott Nonnenberg
12c44d40a8
makeLookup: Allow for key of zero
2021-01-27 14:39:45 -08:00
Josh Perez
bba50c8427
Log app startup time
2021-01-25 18:29:00 -08:00
Scott Nonnenberg
cbc6c29479
Finish in-redux conversation lookups, getPropsForSearchResult moved
2021-01-25 18:28:58 -08:00
Evan Hahn
fff95d1262
Fix CI by updating license years and fixing a type error
2021-01-25 18:28:58 -08:00
Josh Perez
2529e208c1
Move confirmation_dialog_view to ts and React
...
* Moves confirmation_dialog_view to ts and React
* showConfirmationDialog API
2021-01-25 18:28:58 -08:00
Evan Hahn
8ace4b6321
Improve window activity detection, improving notification delivery
2021-01-25 18:28:57 -08:00
Scott Nonnenberg
8116a8561d
Show progress dialog during delete
2021-01-12 18:42:15 -06:00
Scott Nonnenberg
3a726ad311
Adjust timeouts for better performance
2021-01-11 13:59:46 -08:00
Scott Nonnenberg
3f58a9b762
Clean up UUID-handling to prepare for future
2020-12-09 17:26:37 -05:00
Evan Hahn
1098e59f87
Handle group calling event sync messages
2020-12-09 16:04:34 -06:00
Evan Hahn
a2f285d243
Put group calling behind a remote feature flag
2020-12-07 14:35:14 -06:00
Evan Hahn
23fed9ce63
Group calling SFU URL should be configurable
2020-12-07 13:40:11 -06:00
Evan Hahn
ec35bdc3e5
Don't peek group calls if feature flag is disabled
2020-12-07 14:19:59 -05:00
Evan Hahn
6d53cb1740
Group calling: Peek into a group call
2020-11-23 14:49:32 -05:00
Scott Nonnenberg
2c69f2c367
Support for GV1 -> GV2 migration
2020-11-23 14:48:12 -05:00
Scott Nonnenberg
26884432a2
Update TypeScript, Prettier and typescript-eslint for new TypeScript 3.8 syntax
2020-11-23 14:45:44 -05:00
Chris Svenningsen
d593f74241
New contact popup when clicking on group member or avatar
2020-11-11 09:36:05 -08:00
Scott Nonnenberg
cd599f92c8
background/connect: Prevent concurrent calls to connect
2020-11-11 10:24:29 -06:00
Evan Hahn
8bfaf598af
Add license headers across the project
2020-11-04 13:03:13 -06:00
Evan Hahn
decc93532b
Hide call buttons when on call
2020-11-04 13:03:13 -06:00
Scott Nonnenberg
29eaa7b9a2
Cleanup: Reactions, Delete for Everyone
2020-11-02 14:49:07 -08:00
Scott Nonnenberg
05f905fd10
A few small bugfixes
2020-10-30 10:56:03 -07:00
Scott Nonnenberg
fa2d300714
Show 'accept invite UI' for re-invite, calm progress spinner
2020-10-26 15:55:27 -07:00
Scott Nonnenberg
04b7a29229
Modern profile sharing in 1:1 and GroupV1 groups
2020-10-26 15:48:44 -07:00
Chris Svenningsen
e5fae1a346
Fix shortcuts with pinned chats
2020-10-15 19:00:15 -04:00
Scott Nonnenberg
0122cfd22a
Resilience to quick reconnects: always reprocess from cache first
2020-10-12 18:10:08 -04:00
Scott Nonnenberg
358ee4ab72
storage: Don't throw if we store undefined
2020-10-12 18:10:08 -04:00
Scott Nonnenberg
b914b59969
Disable obsolete feature flags
2020-10-12 18:10:08 -04:00
Scott Nonnenberg
d51a0b5ece
GroupsV2: Better group invite behavior
2020-10-12 18:10:08 -04:00
Chris Svenningsen
cf9764c85a
Consolidate checks for v2 Groups
2020-10-12 18:10:08 -04:00
Josh Perez
27759233e4
Storage Service Write: Improved conflict handling
2020-10-12 18:10:08 -04:00
Chris Svenningsen
b5df9b4067
Migrate messages, conversations, conversation_view, background to TS
...
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:07 -04:00