Commit Graph
100 Commits
Author SHA1 Message Date
William Casarin a30a79b1fc Fix tests 2023-05-14 11:20:28 -07:00
William Casarin 60260ae53b nwc: make delay 5 seconds instead of 3 2023-05-14 11:11:27 -07:00
William Casarin 1fff0abce5 Make it easier to tap zap button
Right now the tap target only covered the bolt, now it's bolt+amount
2023-05-14 11:04:56 -07:00
William Casarin b1fee253b4 nwc: fix bug where private nwc zaps weren't getting tracked properly
It was using the wrapper zap request id instead of the inner id. Fix
this type error by creating a ZapRequestId wrapper that makes sure it
uses the proper request id.
2023-05-14 10:52:37 -07:00
William Casarin e472e559a5 nwc: don't use yellow on the Zap Button for pending zaps
I just find this stressful
2023-05-14 10:49:54 -07:00
William Casarin 0091df8f77 nwc: fix broken test 2023-05-14 10:49:54 -07:00
William Casarin d0c67237dd nwc: remove requests from postbox
Since these are ephemeral events, there will never be command results,
so we need to remove them manually on NWC responses or else it will keep
trying to send them.

We should probably handle this for all ephemeral events in the postbox
somehow. We probably shouldn't use the postbox for ephemeral events
without response events.
2023-05-14 10:49:54 -07:00
William Casarin 1313880574 Add release Damus build scheme 2023-05-14 10:49:54 -07:00
William Casarin 122b528407 Add rigid haptic feedback when you zap cancel fails
This feels different than the soft haptic feedback so it should let
people know that cancelling is no longer possible
2023-05-14 10:49:54 -07:00
William Casarin 02d99f7340 postbox: try flushing events every second
relying on network activity for flushing is not reliable and is causing
delays in zapping
2023-05-14 10:49:54 -07:00
William Casarin 8fb5b4f49c misc logs 2023-05-14 00:03:51 -07:00
William Casarin ae4d9ab8ba nwc: make delay 3 seconds instead of 5 2023-05-14 00:03:51 -07:00
William Casarin 85262e1a4e nwc: fix response parsing 2023-05-14 00:03:51 -07:00
William Casarin 64a224135a nwc: always allow long press zap 2023-05-13 23:54:02 -07:00
William Casarin 69fc6694f1 nwc: turn pending zap orange when we have a NWC success
Orange means payment successful now, not just presence of zap

This introduces a paid pending state, which shows up as an orange timer
thing in the zaps view. This can be useful if the zap is never sent. We
don't want the user to think the payment didn't go through.
2023-05-13 23:30:03 -07:00
William Casarin 03691d0369 Pending Zaps
A fairly large change that replaces Zaps in the codebase with "Zapping"
which is a tagged union consisting of a resolved Zap and a Pending Zap.
These are both counted as Zaps everywhere in Damus, except pending zaps
can be cancelled (most of the time).
2023-05-13 21:33:34 -07:00
William Casarin 1518a0a16c zaps: ensure returned bolt11 is the correct amount 2023-05-13 19:51:06 -07:00
William Casarin dafa1ba4de test: add nwc and ephemeral relay test
This ensures that when paying with nwc, we get an ephemeral relay added
and a request queued in the postbox.
2023-05-10 16:24:02 -07:00
William Casarin bb32d72903 nwc: clear the zapper cache for our pubkey when we attach a new wallet 2023-05-10 14:07:24 -07:00
William Casarin f77a7bcb29 ui: show lud16 in attach wallet ui 2023-05-10 14:07:24 -07:00
William Casarin 5cce18c8b6 nwc: attach lud16 to profile when attaching wallet 2023-05-10 14:07:24 -07:00
William Casarin a5726d4650 nwc: add lud16 parameter
This will be used for auto-setting up the lightning wallet

See https://github.com/nostr-protocol/nips/pull/513
2023-05-10 14:07:24 -07:00
William Casarin 370a5feb4e ui: add Nostr Wallet Connect views 2023-05-10 14:07:24 -07:00
William Casarin fe3d976cdb nwc: pay with nwc if we have it configured 2023-05-10 14:07:24 -07:00
William Casarin 996312cf1c settings: Add nostr_wallet_connect setting
Stored in the keychain for security
2023-05-10 14:07:24 -07:00
William Casarin d0216bbce6 nwc: Add WalletModel
This model will be used for controlling the logic in the Wallet views
2023-05-10 14:07:24 -07:00
William Casarin 4d2b79057d nwc: add Nostr Wallet Connect logic
- WalletConnectURL parses nostrwalletconnect:// urls
- Add support for parsing and creating NWC requests
2023-05-10 14:07:24 -07:00
William Casarin ca2bf20eb7 info: add nostrwalletconnect uri handlers
We will need this to handle nostrwalletconnect:// links
2023-05-10 14:07:24 -07:00
William Casarin 9093bdec2d home: add some more helper functions 2023-05-10 14:07:24 -07:00
William Casarin baed6adf49 refactor: ensure make_metadata_event has full keypair 2023-05-10 14:07:23 -07:00
William Casarin f068833c5e colors: add adaptableBlack
Used in template icons
2023-05-10 14:07:23 -07:00
William Casarin c3808cd21f icons: convert to template images 2023-05-10 14:07:23 -07:00
William Casarin acbd09bf6f ------ ephemeral relays -------
Add docs
2023-05-10 13:31:53 -07:00
William Casarin 1fe54380b8 relay: make RelayInfo encoding more flexible
So that we don't fail relay list decoding as easy
2023-05-10 13:25:46 -07:00
William Casarin fe6d7e5118 relay: split descriptors to {our,all}_descriptors
Now that we have ephemeral relays, we don't want them used everywhere
2023-05-10 13:25:40 -07:00
William Casarin 1367be0d10 relay: handle ephemeral relays in PostBox
We need to make sure ephemeral relay events (not ephemeral events) are
handled properly in the postbox. Make sure we pass the proper
skip_ephemeral flag to the relay pool if we add something like a NWC
event to the PostBox. Events are not sent to ephemeral relays by
default.
2023-05-10 12:01:26 -07:00
William Casarin 32a1a24e39 pool: skip ephemeral relays by default
Also filter relays by read/write once we introduce that
2023-05-10 12:01:26 -07:00
William Casarin 7267662330 relay: introduce ephemeral relays
Epehmeral relays are relays that are connected in your relay pool but
not a part of your official relay list. This will be used by
nostr-wallet-connect to communicate with an NWC relay to pay invoices.
2023-05-10 12:01:26 -07:00
William Casarin 1da0a8ee52 nostr: add is_{read,write} helpers on requests
This will be handy in the future when we properly filter relay lists by
RelayInfo
2023-05-10 12:01:26 -07:00
William Casarin 23aab6710a Fix DM sorting test 2023-05-10 11:01:40 -07:00
William Casarin 221fffe523 Fix tests
This reverts commit dff5987d3c.
2023-05-09 20:23:08 -07:00
William Casarin 5d72b4d007 dms: generalize create_dm into create_encrypted_event
We will need this for encrypting notes other than DMs (NWC)
2023-05-09 18:57:04 -07:00
William Casarin dff5987d3c settings: mark UserSettings as changed in KeychainStorage properties
Maybe this isn't strictly needed at the moment, but to remain consistent
with the Settings and StringSettings property wrapper we will do this.
2023-05-09 18:57:04 -07:00
William Casarin bfffd63dab ui: use darker border colors in BigButton
Might need to update the other buttons as well in the share sheet
2023-05-09 18:57:04 -07:00
William Casarin 1db425fd69 ui: add AlbyButton
This will be used for alby's nostr wallet connect implementation
2023-05-09 18:57:04 -07:00
William Casarin 27caffd91f ui: add alby logo for the AlbyButton 2023-05-09 18:57:04 -07:00
William Casarin a13efb7832 ui: move gradient components to their own group 2023-05-09 18:57:04 -07:00
William Casarin e3b3c9dedd ui: add QR CodeScanner helpers 2023-05-09 18:57:04 -07:00
William Casarin 904fe2bc0a pool: ocd change
I'm not a fan of $0, etc
2023-05-09 18:57:04 -07:00
William Casarin ccd76066d1 switch to v1.5 2023-05-08 12:38:08 -07:00
William Casarin 4ccc763072 Fix changelog 2023-05-08 11:55:44 -07:00
William Casarin 484ebd655b Merge remote-tracking branch 'github/master' 2023-05-08 11:53:21 -07:00
William Casarin 1582eb2e2f v1.4.3 changelog 2023-05-08 11:52:05 -07:00
William Casarin f95498a6fa v1.4.3 - AppStore release 2023-05-08 11:47:19 -07:00
William Casarin 5f64f54ef5 Fix previews in DMs
TODO: maybe we need to just add this to NoteContentView?

I don't want to do this just yet though because I'm about to cut a
release and I don't want to introduce new bugs.
2023-05-08 11:14:56 -07:00
William Casarin 0da10eb716 build 23 2023-05-08 10:56:35 -07:00
William Casarin 9b99e00804 Reconnect on failed ping and remove reconnect timer
I think this does it
2023-05-07 12:00:37 -07:00
William Casarin a4d4ad72e6 build 22 2023-05-07 11:28:33 -07:00
William Casarin 8c55f23ea8 Don't put reconnect logic in ping
It seems to be very bad
2023-05-07 11:28:33 -07:00
William Casarin b43aca8abb build 21 changelog 2023-05-07 10:39:26 -07:00
William Casarin 86687b6289 v1.4.3-21 2023-05-07 10:38:21 -07:00
William Casarin 84174ef9ad Ping relays on resume, if there's an error then try to reconnect
This is an attempt to fix the fail-to-reconnect issues. Let's see if it works.
2023-05-07 10:28:36 -07:00
William Casarin a007e18add Dismiss bookmarks view when switching tabs
Changelog-Fixed: Dismiss bookmarks view when switching tabs
2023-05-07 09:30:05 -07:00
William Casarin 0f5e1dfb81 Properly scroll DM view when keyboard is open
Less DM jank!

Changelog-Fixed: Properly scroll DM view when keyboard is open
2023-05-05 16:13:17 -07:00
William Casarin a5cb10ddaa HomeView: refactor
Trying to clean this view up a bit
2023-05-05 14:24:24 -07:00
William Casarin 4402d4bdf5 dms: use lazyvstack
It gets too poppy otherwise

Changelog-Fixed: Made DMs less poppy
2023-05-05 14:24:11 -07:00
William Casarin 0f89d98513 Revert "Added new icons for hashtags and updated the current ones to use a proper ratio."
This breaks the look of some hashtags

This reverts commit c7129531c2.
2023-05-05 08:53:57 -07:00
William Casarin 21be1416f7 Don't preload pfps, it's not thread safe? 2023-05-05 08:38:03 -07:00
William Casarin 9efdda43f2 Ensure we have proper sizes on iconography 2023-05-05 08:31:47 -07:00
William Casarin 27fb4e797d v1.4.3-20 changelog 2023-05-04 09:08:40 -07:00
William Casarin e6b4b2a437 v1.4.3-20 2023-05-04 09:05:59 -07:00
William Casarin add1e6104e Add webp image support
Kingfisher already supports this... wtf we doing

Changelog-Added: Add webp image support
2023-05-03 17:29:26 -07:00
William Casarin 5c557bc87d Don't process blurhash if we already have image cached
Changelog-Fixed: Don't process blurhash if we already have image cached
2023-05-03 17:29:26 -07:00
William Casarin af407f7eea Home now dismisses reactions view
Changelog-Fixed: Home now dismisses reactions view
2023-05-03 17:29:26 -07:00
William Casarin ac2e7d108d refactor sidemenu items 2023-05-03 17:29:26 -07:00
William Casarin 39a324fd1e Optimize json processing and preloading
- Preload events when added to the EventHolder queue
- Remove relative time formatting from preloader. Just do it when event appears
- Process incoming json in a background queue by default

Changelog-Fixed: Fix wrong relative times on events
Changelog-Changed: Preload events when they are queued
2023-05-03 10:36:10 -07:00
William Casarin 3b541f2ec1 Fix small bug in like counters 2023-05-03 06:36:42 -07:00
William Casarin 80ea37a102 Don't spam reconnects on error 2023-05-03 06:36:33 -07:00
William Casarin 91fc0039eb build 19 2023-05-02 08:23:58 -07:00
William Casarin 8eb013f1f7 Search hashtags automatically
Changelog-Changed: Search hashtags automatically
2023-05-02 08:22:36 -07:00
William Casarin 4f459d128a Load profiles in hashtag searches
Changelog-Fixed: Load profiles in hashtag searched
2023-05-02 07:53:06 -07:00
William Casarin 58e53631c6 Use cached note language in search model
We should never call event.note_language on the main thread
2023-05-02 07:53:06 -07:00
William Casarin 7b2e178f5b Fix warning 2023-05-02 07:53:06 -07:00
William Casarin da99130b78 build 18 2023-05-02 07:51:29 -07:00
William Casarin b79d361016 Preload profile pictures while scrolling
Changelog-Added: Preload profile pictures while scrolling
2023-05-02 07:33:54 -07:00
William Casarin 4889c0a7d9 Fix weird #\[0] artifacts appearing in posts and translated from english bugs
This changes the preloader to load things right away and fixes a bunch
of bugs

Changelog-Fixed: Fix weird #\[0] artifacts appearing in posts
Changelog-Fixed: Fix "translated from english" bugs
2023-05-02 06:48:02 -07:00
William Casarin 61c9732acd Fix crash when loading DMs in the background
Changelog-Fixed: Fix crash when loading DMs in the background
2023-05-02 06:48:02 -07:00
William Casarin ee6c080af8 Fix blurhash appearing behind loaded images when swiping on carousel
Changelog-Fixed: Fixed blurhash appearing behind loaded images when swiping on carousel
2023-05-02 06:48:02 -07:00
William Casarin a18ba86157 refactor: remove redundant rectangle in ImageCarousel 2023-05-02 06:48:02 -07:00
William Casarin 5b97906138 build 17 2023-04-30 22:30:25 -07:00
William Casarin c74d3e4938 fix some translation bugs 2023-04-30 22:04:33 -07:00
William Casarin df6911f9cb cache note language 2023-04-30 21:40:11 -07:00
William Casarin 1ca0519e25 Event Preloading
Changelog-Added: Added event preloading when scrolling
Changelog-Added: Preload images so they don't pop in
Changelog-Fixed: Fixed preview elements popping in
Changelog-Changed: Cached various UI elements so its not as laggy
Changelog-Fixed: Fixed glitchy preview
2023-04-30 20:06:38 -07:00
William Casarin c87f19b479 v1.4.3-15 changelog 2023-04-29 08:46:43 -07:00
William Casarin 68ed3d7796 Fix nip10 thread incompatibility for clients that add more than one reply tag
Changelog-Fixed: Fix thread incompatibility for clients that add more than one reply tag
2023-04-29 07:49:10 -07:00
William Casarin 2aee84c65f Add q tag to quote renotes
Changelog-Added: Add q tag to quoted renotes
2023-04-28 17:54:44 -07:00
William Casarin 76c6ac0f0b Add referencedid helpers 2023-04-28 17:54:44 -07:00
William Casarin be08083b88 Load zaps instantly on events
Refactor our event cache a bit and add zap caching

Changelog-Changed: Load zaps instantly on events
2023-04-28 17:25:31 -07:00
William Casarin c2325a5e39 always process events 2023-04-28 13:03:26 -07:00
William Casarin 3eb544e40d build 13 2023-04-28 13:00:44 -07:00