Commit Graph
100 Commits
Author SHA1 Message Date
William Casarin 52ca33ef6a script: fetch popular users 2023-05-24 18:26:18 -07:00
William Casarin 47a74257c8 nwc debugging 2023-05-24 15:16:45 -07:00
William Casarin 1b161fefd0 nwc: make sure to support nostr+walletconnect scheme
not sure why we have 2 schemes
2023-05-15 12:54:42 -07:00
William Casarin 0b9a274e67 postbox: change initial retry_after from 2 to 10 seconds 2023-05-15 12:54:09 -07:00
William Casarin 2bbbb5db65 Fix a few bugs with donations 2023-05-15 12:53:36 -07:00
William Casarin bffa42a13a Supporter Badges 2023-05-15 11:57:37 -07:00
William Casarin 8097cfdfb8 Include donation_amount on profile 2023-05-15 09:59:51 -07:00
William Casarin af912b1a0e v1.5-1 2023-05-15 09:59:22 -07:00
William Casarin 51cd34c9c2 c: move parse_digit to remove warning 2023-05-15 09:59:10 -07:00
William Casarin a6745af519 Implement damus zap split donations using NWC 2023-05-15 09:41:26 -07:00
William Casarin 631220fdcb ui: add support damus ui in WalletView
This appears after you've connected your wallet
2023-05-14 22:24:12 -07:00
William Casarin 5aa0d6c3e1 settings: add donation_percent to settings
This will be used in damus donations splits
2023-05-14 22:24:12 -07:00
William Casarin ec50c75062 ui: expose raw LinearGradient in DamusGradient
This will be used in background-fill applications
2023-05-14 20:47:53 -07:00
William Casarin 0293b61d7a Rename 'Connect to Alby' to 'Attach Alby Wallet' 2023-05-14 14:07:04 -07:00
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