Commit Graph

259 Commits

Author SHA1 Message Date
Adam Brown 7e0d4d6013 add error handling to the image gallery 2022-10-09 15:40:07 +01:00
Adam Brown 9ec9797d17 providing more details to the import errors via dialog 2022-10-09 15:30:00 +01:00
Adam Brown 3a8c4c11ce adding dedicated error for missing room keys cipher 2022-10-09 15:09:56 +01:00
Adam Brown 0d0a5767d6 add subtitle to toggle item 2022-10-08 12:08:43 +01:00
Adam Brown 990cb08347 exposing option to enable/disable sending read receipts
Disabled by default
2022-10-08 11:35:14 +01:00
Adam Brown 0e4f6d6ac2 lifting hidden/private read receipt option to the view model 2022-10-08 11:09:08 +01:00
Adam Brown 43e53261b6 adding ability to opt in to on device logs, disabled by default 2022-10-08 11:07:30 +01:00
Adam Brown 31318037a7 providing a caching preferences abstraction to reading from an in memory value 2022-10-08 11:07:29 +01:00
Adam Brown 1e060dad44 fixing wrong in progress reply text colour for material you 2022-10-05 21:36:44 +01:00
Adam Brown 19724ea5b3 avoiding recalculating static toolbar height 2022-10-03 20:08:03 +01:00
Adam Brown eb497be421 avoiding recreating navigation callback on recomposition 2022-10-03 20:08:03 +01:00
Adam Brown 511273517e extracting flow extension for starting and ignoring future emissions 2022-10-03 20:08:03 +01:00
Adam Brown 8e336fd730 avoiding duplicated room event emissions when watching a specific room id 2022-10-03 20:08:03 +01:00
Adam Brown 03cb954ea8 computing the image size before sending to allow it to be used in local echos
- fixes local echo images changing size
2022-10-03 20:08:03 +01:00
Adam Brown 1efb1cf6c6 styling the inline composer rely to match the reply messages 2022-10-03 20:08:03 +01:00
Adam Brown d18c14b152 using bubble colour with alpha for the reply background + some tweaks to padding and corners 2022-10-03 20:08:03 +01:00
Adam Brown 98d0652616 adding button to dismiss inprogress reply 2022-10-03 20:08:03 +01:00
Adam Brown 933197dfd7 supporting local echos for text replies 2022-10-03 20:08:03 +01:00
Adam Brown cbf1e568a7 fixing test compilation error 2022-10-03 20:08:03 +01:00
Adam Brown aa277615e5 adding support for sending replies 2022-10-03 20:08:03 +01:00
Adam Brown 2486a1eef6 adding barebones styling to the reply box 2022-10-03 20:08:03 +01:00
Adam Brown 625a2f682f adding sliding reply animation 2022-10-03 20:08:03 +01:00
Adam Brown f4e852b628 flattening box layer 2022-10-03 20:08:03 +01:00
Adam Brown 65bc3d8100 moving the hint state to the field decoration 2022-10-03 20:08:03 +01:00
Adam Brown a919e1b966 adding swiping to start reply process 2022-10-03 20:08:03 +01:00
Adam Brown 86a8865cd1 updating to latest material3 lib 2022-10-03 20:08:03 +01:00
Adam Brown 9d4f0f4197 adding ability to show the raw exception information on login errors 2022-10-03 20:08:03 +01:00
Adam Brown c2b45d6fa9 temporarily removing no-op room settings toolbar overflow 2022-09-29 19:52:44 +01:00
Adam Brown c39a474774 fixing reply text being unreadable on some material/theme combinations 2022-09-29 19:47:54 +01:00
Adam Brown e0c1421fd5 fixing missing input cursor due to decoration box not taking the original text field into account 2022-09-29 17:42:31 +01:00
Adam Brown ff69156330 including room name in the image gallery toolbar 2022-09-29 16:43:40 +01:00
Adam Brown 14d625765c avoiding try emit 2022-09-29 16:25:33 +01:00
Adam Brown 415ea4b150 providing image gallery via DI graph 2022-09-29 16:24:17 +01:00
Adam Brown bd885823bd removing unused import 2022-09-29 15:12:53 +01:00
Adam Brown 3f956d1903 moving the image gallery to the messenger module and attaching to a attachment button 2022-09-29 14:32:04 +01:00
Adam Brown c61646bbd3 creating dedicated activity for image selection 2022-09-29 13:50:58 +01:00
Adam Brown 34e0415892 fixing performance issue when loading large lists of images 2022-09-29 13:11:40 +01:00
Adam Brown 6f89c71300 adding skeleton for image gallery folder viewing 2022-09-28 22:37:53 +01:00
Adam Brown debfc5e5f0 adding first pass at a image gallery component with folder fetching 2022-09-28 19:51:30 +01:00
Adam Brown 114aa9f785 persisting the decrypted images to the disk and enabling in memory image cache 2022-09-26 22:59:35 +01:00
Adam Brown 3c865179d7 improving image decrypting pipeline to use one less copy and adding smoke test to sending encrypted images 2022-09-21 22:42:04 +01:00
Adam Brown 2635a5f3e5 making the image fectching factory part of the dagger graph 2022-09-21 22:11:35 +01:00
Adam Brown 3c2a226555 extracting a dedicated media decrypter 2022-09-20 20:54:35 +01:00
Adam Brown f8f2eead36 ignoring tab taps when already on the tab page 2022-09-19 22:09:25 +01:00
Adam Brown 257f94830d fixing test compilation error 2022-09-19 20:52:30 +01:00
Adam Brown 3cec16e33a cleaning up messages theming 2022-09-15 20:06:17 +01:00
Adam Brown eff150aebc fixing crash when switching from the invitations screen to the conversation directory and back to the profile 2022-09-15 20:06:17 +01:00
Adam Brown e5eb597369 skipping first invite emission as we only want to render future invites 2022-09-15 20:06:17 +01:00
Adam Brown c8eaeff48f only showing material you option for android 12+ devices 2022-09-15 20:06:17 +01:00
Adam Brown e773bc35c4 rendering invites as notification which temporarily open the app on tap 2022-09-15 20:06:17 +01:00
Adam Brown ee91de4301 removing invites from the database after rejecting them and allowing them to fail with 403 (if the user no longer has access) 2022-09-15 20:06:17 +01:00
Adam Brown 40461f692f observe invite changes and render a ! badge on the profile bottom item 2022-09-15 20:06:17 +01:00
Adam Brown 50914aaeb4 fixing firebase classes being imported for foss variant
- the notification module was pulling in firebase for an annotation import, which in turn pulled in the .aar manifest entries and services etc, fixed by removing the unneeded dependency
2022-09-15 20:06:17 +01:00
Adam Brown 0c113896c1 adding material you toggle
- meant moving the base preferences to the core module and allowing the activity to recreate itself if the theme congifuration has changed
2022-09-08 20:06:08 +01:00
Adam Brown f646da9d1e making use of theme values for text colours 2022-09-08 20:06:08 +01:00
Adam Brown ef7af20853 applying dynamic colour scheme and fixing appbar/navbar quirks 2022-09-08 20:06:08 +01:00
Adam Brown 1a6f8b6b40 including material3 dependencies and attempting 1 for 1 swap of imports 2022-09-08 20:06:08 +01:00
Adam Brown f973e01a4e fixing broken settings view model tests and handling file opening errors 2022-09-04 14:13:36 +01:00
Adam Brown 25c8ac0716 improving key import messaging 2022-09-04 13:46:15 +01:00
Adam Brown 71af573d06 using the import result directly in the UI, will allow separate error displays per reason 2022-09-04 13:36:48 +01:00
Adam Brown 5b2243cfa9 providing progress during room key imports by switching to a flow 2022-09-04 12:43:03 +01:00
Adam Brown 1ed4248e13 updating tests 2022-08-18 21:33:22 +01:00
Adam Brown c6d68b7583 avoiding run blocking 2022-08-18 21:29:20 +01:00
Adam Brown 0c35481bda adding support for unified push 2022-08-18 21:25:38 +01:00
Adam Brown 41da7a2af9 abstracting the push token register/unregister 2022-08-18 17:56:01 +01:00
Adam Brown b69f2c69c0 abstracting the firebase push service to the push module 2022-08-17 19:16:45 +01:00
Adam Brown ac16306b1a using fullscreen preview when sending image 2022-08-09 22:18:03 +01:00
Adam Brown 934f80df1f updating test to reflect attachments change 2022-08-09 21:26:00 +01:00
Adam Brown 0730cd069c adding support for sending clear images 2022-08-09 21:12:43 +01:00
Adam Brown 9c99b6a0a9 Merge branch 'main' of github.com:ouchadam/helium into feature/share-images-via-small-talk 2022-07-28 22:08:44 +01:00
Adam Brown 3bbfd05fce applying when timestamp to the summary notification 2022-07-28 22:06:04 +01:00
Adam Brown 8c1265c957 avoiding notification overlap by only using alerting summary group instead of all notifications 2022-07-28 19:43:27 +01:00
Adam Brown 2a0f28d3b3 splitting dm and group notifications into separate channels
- adding notification system group
- only notifying the summary to avoid overlapping notifications
2022-07-26 22:48:24 +01:00
Adam Brown b0a438ee98 diffing historical event timestamps to avoid acting on them as new events
- fixes an issue where the database window would pull in legacy events after marking new events as read
2022-07-13 23:03:58 +01:00
Adam Brown 63618276b7 initialisating channels as part of the first notification emission rather than blocking application init 2022-07-13 18:32:10 +01:00
Adam Brown 6f18d48905 adding missing messaging style config 2022-07-13 18:24:17 +01:00
Adam Brown 9d5ef07f1b
Merge branch 'main' into feature/dep-updates 2022-07-11 22:55:03 +01:00
Adam Brown 671913fd69 using the same group alert behaviour for the summary 2022-07-11 21:08:24 +01:00
Adam Brown d8277c3f24 updating to kotlin 1.7.0 with separating compose compiler 2022-07-11 19:05:29 +01:00
Adam Brown a7a5d73bac merging with main 2022-06-13 19:10:02 +01:00
Adam Brown 1450a70283 Merge branch 'main' of github.com:ouchadam/helium into feature/share-images-via-small-talk 2022-06-13 19:05:41 +01:00
Adam Brown 173d34a535 updating timeline to take into account start syncing emissions 2022-06-13 18:54:56 +01:00
Adam Brown 83537b1367 handling the first sync without any local cache as a loading state rather than showing the empty view 2022-06-11 23:11:48 +01:00
Adam Brown e9ad0b4a64 Merge branch 'main' into feature/share-images-via-small-talk 2022-06-11 19:11:45 +01:00
Adam Brown 8261d53460 splitting core into core and compose core to allow for more modules to avoid the android plugin 2022-06-11 14:10:17 +01:00
Adam Brown 4a0d2cd42d prepping for kotlin 1.7.0 release, removing compose from modules that don't need it 2022-06-11 13:29:47 +01:00
Adam Brown 7415b278cd Merge branch 'main' into feature/share-images-via-small-talk 2022-06-11 10:35:51 +01:00
Adam Brown 65bf8c0d64 improved notification testing 2022-06-11 10:21:51 +01:00
Adam Brown 6fed8a35ce wip, passing the image urls down to the matrix client layer 2022-06-08 20:31:07 +01:00
Adam Brown 92ad630e45 Merge branch 'main' into feature/share-images-via-small-talk 2022-06-08 19:25:59 +01:00
Adam Brown bb47fcd9d6 adding tests around the notification usecase entry point 2022-06-08 19:21:20 +01:00
Adam Brown 8743052899 fixing replies and image messages jumping to the wrong position 2022-06-08 18:51:59 +01:00
Adam Brown e3ac2586ad fixing flickering images when typing 2022-06-08 18:41:23 +01:00
Adam Brown e6bd0f80dc fetching rooms and displaying when starting a share flow 2022-05-30 19:16:16 +01:00
Adam Brown 33ee1825cf adding smalltalk to the targetted share menu 2022-05-29 21:52:54 +01:00
Adam Brown 2ca96f21d2 adding barebones send intent handler activity 2022-05-29 19:53:45 +01:00
Adam Brown e1029dc497 adding tests around notification rendering 2022-05-29 16:10:00 +01:00
Adam Brown 4861c44e9c auto capitalising message entry 2022-05-26 19:14:54 +01:00
Adam Brown 94c26a0375 fixing wrong message content in summary along with message order
- also ensures alerts for the first new message in a room when other rooms with messages are already displayed
2022-05-23 22:52:32 +01:00
Adam Brown 30453e695d fixing the summary notification displaying when marking rooms as read and no other notifications are showing 2022-05-23 20:41:32 +01:00
Adam Brown 64bce44a12 extracting notification logic to its own class with unit tests 2022-05-23 20:28:02 +01:00
Adam Brown 165241f412 updating to coil 2 2022-05-21 12:38:28 +01:00
Adam Brown f3b1600d58 proccessing notifications so they correctly alert on changes and only display upon new messages 2022-05-21 12:18:25 +01:00
Adam Brown 7a10ae3232 fixing reading notification on other session not always being taken into account
- the sync wasn't being triggered for long enough, now we're waiting for 60 seconds or until the unread change
2022-05-21 11:47:42 +01:00
Adam Brown 6e2e377e51 including replies and image emoji in notifications and summaries 2022-05-16 22:55:31 +01:00
Adam Brown ffa8fad2b0 only notifying message notifications when they're new 2022-05-16 22:43:55 +01:00
Adam Brown cd0b3f567b using single instance of the clock to avoid recomposition lookups 2022-05-08 14:37:12 +01:00
Adam Brown 73331b3d1e launching the app when tapping the summary notification 2022-05-08 12:49:16 +01:00
Adam Brown 995377343b adding summary notification title and ensuring that it updates without pinging when the counts change 2022-05-08 12:36:53 +01:00
Adam Brown f2be4b8b95 forcing the notification rendering to occur on the main thread
- hopefully reduce the amount of individual notification popups when a collection of messages are received
2022-05-08 12:23:13 +01:00
Adam Brown a10f51aa08 adding an empty state to messages list 2022-04-26 22:16:07 +01:00
Adam Brown 42914ffe53 only notifying the summary notification if we've added new messages, avoids renotifying when marking rooms as read 2022-04-26 22:06:02 +01:00
Adam Brown f3f256e0d3 fixing notifications being dismissed early when there's only 1 left and fixes wrong room being opened when tapping notification 2022-04-26 21:57:56 +01:00
Adam Brown f71f7e9099 cancelling existing notification intents to reset the room id extra 2022-04-25 23:21:57 +01:00
Adam Brown 77bdfb4cd3 cleaning up dependency entries 2022-04-25 23:09:35 +01:00
Adam Brown 21be4a4b1d gracefully handling errors within the profile screen 2022-04-25 23:09:20 +01:00
Adam Brown 347074b10f allowing the image info to be missing and reusing scaling logic for other image messge types 2022-04-25 22:38:44 +01:00
Adam Brown d93e65d215 adding username/password autofill
- pulled in from  https://bryanherbst.com/2021/04/13/compose-autofill/
2022-04-25 13:07:34 +01:00
Adam Brown 05a41c7ddf add support for unencrypted images 2022-04-25 11:25:11 +01:00
Adam Brown e1411ed115 applying image message scaling 2022-04-25 10:58:45 +01:00
Adam Brown dccf8cc206 scrolling to top when select directory icon again 2022-04-13 21:33:16 +01:00
Adam Brown e1fd79de02 adding support for signing in to homeservers without wellknown setup 2022-04-13 21:05:08 +01:00
Adam Brown 32494b961b closing keyboard after entering imported rooms keys passphrase 2022-04-12 22:52:00 +01:00
Adam Brown 81d88b51fc setting push token via background scheduler which will automatically retry 2022-04-04 20:47:05 +01:00
Adam Brown 0aa157b5df adding beta dialog to mentioning clearing cache on upgrades 2022-04-03 22:46:36 +01:00
Adam Brown 9aa2fc0a0f adding a collapsable header to main conversation list 2022-04-03 00:04:12 +01:00
Adam Brown ee2643c003 catching errors when attempting to mark the current room as read
- fixes crash whilst offline
2022-04-02 22:58:06 +01:00
Adam Brown 9eae45c73a updating settings item tests 2022-04-01 21:12:29 +01:00
Adam Brown 0cb307a56d adding cache clearing to settings and avoiding delete crypto when clearing cache 2022-04-01 21:06:20 +01:00
Adam Brown 88bf6a2c78 Merge branch 'main' of github.com:ouchadam/helium 2022-04-01 20:53:40 +01:00
Adam Brown 215838007f closing keyboard when submitting login details 2022-04-01 20:50:55 +01:00
Adam Brown ff248fceb0 removing bubble self/other layer 2022-04-01 20:41:07 +01:00
Adam Brown b817929a2b rendering image in a bubble 2022-04-01 19:53:44 +01:00
Adam Brown d0b2627eb2 rendering images in the messenger 2022-03-31 22:23:43 +01:00
Adam Brown 5a6b7cf1c0 adding image type parsing and handling 2022-03-30 22:33:24 +01:00
Adam Brown 91cf19baad fixing sign out not resetting database or inmemory caches 2022-03-28 22:16:45 +01:00
Adam Brown c3839c05bc adding < 28 notification support by using the inbox style 2022-03-18 20:52:17 +00:00
Adam Brown 50f0ba4e3c only setting notification channel for supported android versions 2022-03-18 20:52:17 +00:00
Adam Brown f0a856eb20 adding room join/leaving based on sync status
- means the invitations page should work!
2022-03-17 23:01:40 +00:00
Adam Brown 271727dda7 only display message notifications if we've received a new one, not when marking old ones as read 2022-03-17 21:29:45 +00:00
Adam Brown 509667f595 fixing import keys not closing due to wrong callback being triggered 2022-03-17 20:37:01 +00:00
Adam Brown 38c9e33a59 accumulating and storing the invite event metadata for member and room names 2022-03-16 22:36:42 +00:00
Adam Brown be4fe82043 adding basic invitations list page via the profile 2022-03-13 22:53:58 +00:00
Adam Brown f79804e5ef using live counts for the invitations 2022-03-13 19:42:33 +00:00
Adam Brown 50e12c8c54 using combine instead of merge for syncing until the event appears 2022-03-13 19:04:49 +00:00
Adam Brown a8218b7e66 splitting the notification logic 2022-03-13 18:56:21 +00:00
Adam Brown 6725a0648e capping the unread count to 99+ 2022-03-13 18:56:09 +00:00
Adam Brown 7fff5face4 flattening directory use case syncing into the main logic, adding tests around directory view model 2022-03-13 17:36:52 +00:00
Adam Brown c6abba5638 adding tests around the timeline usecase 2022-03-13 14:12:13 +00:00
Adam Brown a863625672 fixing wrong transient import 2022-03-13 13:27:31 +00:00