Commit Graph
78 Commits
Author SHA1 Message Date
Bryan MontzandWilliam Casarin 4fecf72963 fix: endless connection attempt loop after user removes relay
This patch fixes an issue where, after the user removes a misbehaving
relay, the RelayConnection will keep trying to reconnect endlessly. You
can reproduce the issue prior to this change by adding the relay
wss://brb.io. It will fail to connect over and over. Then remove the
relay in the UI. In the console, you will see that it keeps trying to
connect, and the corresponding RelayConnection never gets deallocated.
After the change, it stops connecting and deallocates the
RelayConnection.

Changelog-Fixed: endless connection attempt loop after user removes relay
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-29 09:18:03 -07:00
Bryan MontzandWilliam Casarin 45ab394b09 fixed: relay detail view is not immediately available after adding new relay
Changelog-Fixed: relay detail view is not immediately available after adding new relay
Closes: https://github.com/damus-io/damus/issues/1369
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-16 07:56:18 -07:00
Bryan MontzandWilliam Casarin 47e7505573 fix typos
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-16 07:37:55 -07:00
Bryan MontzandWilliam Casarin 0f1390f412 Swift cleanup: remove duplicate or unnecessary initializers using default values
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-16 07:37:55 -07:00
Bryan MontzandWilliam Casarin 6bf5293701 Swift cleanup: don't capture case values only to ignore them in switch statements
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-16 07:37:55 -07:00
Bryan MontzandWilliam Casarin 3d6909bf62 Swift cleanup: simplify "Task.init {}" to "Task {}"
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Reviewed-by: William Casarin <jb55@jb55.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-16 07:37:55 -07:00
Bryan MontzandWilliam Casarin ecd8b64b8b Swift cleanup: prefer case list over fallthrough in switch statements
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-16 07:37:55 -07:00
Bryan MontzandWilliam Casarin 0c627ae0a0 Swift cleanup: "init (" -> "init("
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-16 07:37:55 -07:00
Bryan MontzandWilliam Casarin fdaf785869 fixed: icon color for developer mode setting is incorrect in low-light mode
Changelog-Fixed: icon color for developer mode setting is incorrect in low-light mode
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-13 07:24:44 -07:00
Bryan MontzandWilliam Casarin 07abc5c04b Fix issue where first row is always selected on Form views
Changlog-Fixed: Fix issue where first row is always selected on Form views
Signed-off-by: Bryan Montz <bryanmontz@me.com>
2023-07-10 07:54:47 -07:00
Bryan MontzandWilliam Casarin faaa3e3bd9 only show the relay log in developer mode
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-09 07:40:39 -07:00
Bryan MontzandWilliam Casarin 2d9f7128ee fix crash when adding line to log from background thread
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-09 07:40:39 -07:00
Bryan MontzandWilliam Casarin 51d71f11c1 replace RelayMetadatas with RelayModelCache in DamusState
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-09 07:40:39 -07:00
Bryan MontzandWilliam Casarin f619fef410 add RelayModel and RelayModelCache classes
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-09 07:40:39 -07:00
Bryan MontzandWilliam Casarin 91f02ccff5 add RelayLog to the bottom of the RelayDetailView
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-09 07:40:39 -07:00
Bryan MontzandWilliam Casarin a63ea1e22b add network state changes to RelayLogs
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-09 07:40:39 -07:00
Bryan MontzandWilliam Casarin 40e5e4a026 add a RelayLog to each RelayConnection and send events to it
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-09 07:40:39 -07:00
Bryan MontzandWilliam Casarin ef4aeb40e0 add RelayLog class
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-09 07:40:39 -07:00
Bryan MontzandWilliam Casarin 81b69bc2ea add explanatory footer to Developer Mode setting view
Signed-off-by: Bryan Montz <bryanmontz@me.com>
Reviewed-by: William Casarin <jb55@jb55.com>
2023-07-08 08:06:52 -07:00
Bryan MontzandWilliam Casarin d2efe06610 make "Copy Note JSON" a developer mode setting
Signed-off-by: Bryan Montz <bryanmontz@me.com>
2023-07-07 09:02:52 -07:00
Bryan MontzandWilliam Casarin ebcfe3c25f add developer mode view and setting
Signed-off-by: Bryan Montz <bryanmontz@me.com>
2023-07-07 09:02:52 -07:00
Bryan MontzandWilliam Casarin 7cd3aef157 Updated test target to deployment target of iOS 16.0
Changelog-Updated: Bumped minimum verison to iOS 16.0
Signed-off-by: Bryan Montz <bryanmontz@me.com>
2023-07-02 13:03:13 -07:00
Bryan MontzandWilliam Casarin 087d3e16a1 After loading the user's relays from their contact event, connect to new relays
Closes: #1298
2023-06-28 15:16:36 +02:00
Bryan MontzandWilliam Casarin 2d4ddc7b9c Fix crash related to VideoPlayer and CMTime
Closes: #1321
Changelog-Fixed: Fix crash related to VideoPlayer
2023-06-26 11:20:11 +02:00
Bryan MontzandWilliam Casarin 296d96d6df rename RelayStatus to RelayStatusView 2023-06-20 10:18:34 +02:00
Bryan MontzandWilliam Casarin 28854fdc93 simplify and fix issues with RelayStatus 2023-06-20 10:18:34 +02:00
Bryan MontzandWilliam Casarin 2901cc860f make RelayConnection's state observable 2023-06-20 10:18:34 +02:00
Bryan MontzandWilliam Casarin 71bb9d6c92 Add text description to WebSocket for state logging 2023-06-10 12:39:25 +02:00
Bryan MontzandWilliam Casarin fe4277e817 simplified call site usage of NostrFilter 2023-05-29 12:19:27 -07:00
Bryan Montz 61303f49ad fix zap test 2023-05-26 07:32:18 -05:00
Bryan Montz e10dc93233 add damus_donation to profile data model and update tests 2023-05-26 07:02:14 -05:00
Bryan Montz ea73c5252d Merge branch 'master' into user-cache 2023-05-26 06:46:47 -05:00
Bryan Montz 7e963c9025 synchronize access to network_pull_date_cache with a queue, writes with barrier flag 2023-05-26 06:38:20 -05:00
Bryan Montz 61ff7da2ae make database write async at the call site and update tests 2023-05-25 09:09:50 -05:00
Bryan Montz 7259641e26 speed optimizations: cache network_pull_date in memory and ensure writes on background queue 2023-05-25 08:20:41 -05:00
Bryan MontzandWilliam Casarin 812213ff2b Add Damus splash screen
Changelog-Updated: Add Damus splash screen
2023-05-24 15:17:08 -07:00
Bryan Montz 91113fbc6d allow models to fetch profiles when they get stale 2023-05-15 08:33:35 -05:00
Bryan Montz d58a1e0ba3 add ability to check the freshness of a PersistedProfile 2023-05-15 08:31:49 -05:00
Bryan Montz 3f7b0a4d6e add network pull date to PersistedProfile model for staleness checking 2023-05-15 08:29:06 -05:00
Bryan Montz bc315dd571 remove identical function 2023-05-15 07:33:49 -05:00
Bryan Montz 32431096f5 add tests for ProfileDatabase 2023-05-13 09:20:01 -05:00
Bryan Montz 6172347455 add ability to remove all cached Profiles in ProfileDatabase 2023-05-13 09:18:47 -05:00
Bryan Montz 31d327a085 add ability to retrieve count of cached Profiles 2023-05-13 09:18:23 -05:00
Bryan Montz b5ae7df795 add ability to change ProfileDatabase's storage URL 2023-05-13 09:17:41 -05:00
Bryan Montz 3b0bb48dd4 integrate ProfileDatabase with existing Profiles caching class 2023-05-12 07:21:59 -05:00
Bryan Montz 4646f0e23c add ProfileDatabase class to read and write profiles to disk 2023-05-12 07:21:25 -05:00
Bryan Montz 7027b7016c add two-way translation between existing Profile class and new PersistedProfile CoreData class 2023-05-12 07:19:43 -05:00
Bryan Montz 76c57af548 add managed object class to match new Profile CoreData model 2023-05-12 07:18:12 -05:00
Bryan Montz 7983157c38 add CoreData model for Profile 2023-05-12 07:15:30 -05:00
Bryan Montz ce599badee fix crash related to preloading events
Changelog-Fixed: fix crash related to preloading events
2023-05-09 23:39:41 -05:00
Bryan MontzandWilliam Casarin 43017828e2 fix user notifications from old events immediately shown on install and login
Changelog-Fixed: Fix user notifications from old events immediately shown on install and login
Closes: #1106
2023-05-08 11:02:12 -07:00
Bryan MontzandWilliam Casarin 9847f12c95 Remove unused code
Closes: #1105
2023-05-08 11:01:04 -07:00
Bryan MontzandWilliam Casarin f78eeb1f22 Fix npub search fails on the first try
Co-authored-by: William Casarin <jb55@jb55.com>
Changelog-Fixed: Fix npub search fails on the first try
Closes: #1044
Closes: #1100
2023-05-07 09:50:49 -07:00
Bryan MontzandWilliam Casarin 7a8bfffc29 Fix posts with no uploadedURLs always get two blank spaces at the end
Changelog-Fixed: Fix posts with no uploadedURLs always get two blank spaces at the end
Closes: #1101
2023-05-07 09:24:05 -07:00
Bryan MontzandWilliam Casarin e4860f3ba8 Replace Vault dependency with @KeychainStorage property wrapper
Changelog-Changed: replace Vault dependency with @KeychainStorage property wrapper
Closes: #1076
2023-05-04 15:57:02 -07:00
Bryan MontzandWilliam Casarin 03931ef70e Save keys when logging in and when creating new keypair
Changelog-Added: Save keys when logging in and when creating new keypair
Closes: #1042
2023-05-02 06:47:29 -07:00
Bryan MontzandWilliam Casarin c679be9644 Top-level tab state restoration
Changelog-Added: Top-level tab state restoration
Closes: #634
2023-05-01 15:22:54 -07:00
Bryan MontzandWilliam Casarin cb11087034 Fix Copy Link action does not dismiss ShareAction view
Changelog-Fixed: Fix Copy Link action does not dismiss ShareAction view
Closes: #1049
2023-05-01 15:20:10 -07:00
Bryan MontzandWilliam Casarin 0e94c48e26 Replace Starscream with URLSessionWebSocketTask
Changelog-Fixed: Fix slow reconnection issues
2023-04-24 18:11:07 -07:00
Bryan MontzandWilliam Casarin 1b6224e665 Show most recently bookmarked notes at the top
Changelog-Fixed: Show most recently bookmarked notes at the top
Closes: #854
2023-04-07 11:21:42 -07:00
Bryan MontzandWilliam Casarin 584a20ade1 Don't show NIP-05 validation error message when field is empty
Closes: #852
2023-04-04 10:32:30 -07:00
Bryan MontzandWilliam Casarin e11147b217 Simplify grey colors with an adaptable color in xcassets
Closes: #805
2023-03-27 12:39:13 -04:00
Bryan MontzandWilliam Casarin 252a77fd97 Reduce battery usage by using exp backoff on connections
Changelog-Changed: Reduce battery usage by using exp backoff on connections
2023-03-15 10:48:47 -06:00
Bryan MontzandWilliam Casarin cabe584938 fix "Replying to..." issues and improve related tests 2023-03-14 11:44:40 -06:00
Bryan MontzandWilliam Casarin b2b62828e3 Fix unexpected font size on PostView
Changelog-Fixed: Fix unexpected font size when posting
Closes: #761
2023-03-13 09:44:59 -06:00
Bryan MontzandWilliam Casarin 10c9e8ddbc Fix disappearing text on Thread view
Changelog-Fixed: Fix disappearing text on Thread view
Closes: #665
2023-03-05 15:22:42 -05:00
Bryan MontzandWilliam Casarin 89bb293acd Prune EventCache when iOS fires memory warning
Closes: #736
2023-03-05 14:50:12 -05:00
Bryan Montz 7c2e8a6cc5 Merge branch 'master' into exp-backoff 2023-02-27 06:23:38 -06:00
Bryan Montz 6c63f8f22a add unit tests for RelayPool 2023-02-25 07:34:31 -06:00
Bryan Montz 673358408a refinements to RelayConnection and RelayPool 2023-02-24 22:39:58 -06:00
Bryan Montz 0210ae5d61 fix build 2023-02-23 07:11:09 -06:00
Bryan Montz e5749c8748 apply exponential backoff to retrying stale relay connections to reduce energy use 2023-02-23 06:45:14 -06:00
Bryan MontzandWilliam Casarin 603a5a1814 Refinements to RelayConnection plus tests for creating requests
Closes: #644
2023-02-19 08:36:03 -08:00
Bryan MontzandWilliam Casarin ff1815cce0 refactor similar RepostsModel and ReactionsModel into one parent class
Closes: #650
2023-02-19 08:26:30 -08:00
Bryan MontzandWilliam Casarin f6d56179eb Image and color asset clean-up
Closes: #643
2023-02-18 09:29:20 -08:00
Bryan MontzandWilliam Casarin 193e922c9c code clean-up: @discardableResult, unused params, simplify getting specific relays from pool
Closes: #635
2023-02-18 09:22:09 -08:00
Bryan MontzandWilliam Casarin 4cdef502e9 profile: copy button polish
- Updated checkmark icon to SF Symbols
- Updated copy icon to one from SF Symbols

Changelog-Changed: Polished profile key copy buttons, added animation
Closes: #619
2023-02-16 06:13:59 -08:00
Bryan MontzandWilliam Casarin 1b4e54582f fixed tests 2023-02-16 06:07:04 -08:00