William Casarin
c71b0ee916
blocks: pass keypair instead of privkey to avoid pubkey gen
...
Generating a pubkey is quite slow, so pass a keypair instead of privkey
2023-08-28 11:47:29 -07:00
William Casarin
981d500c25
status: click music urls to display in spotify
...
Changelog-Added: Click music statuses to display in spotify
2023-08-23 17:17:53 -07:00
William Casarin
23a8d6fb6b
status: fix status events not expiring locally
...
Changelog-Fixed: Fix status events not expiring locally
2023-08-23 16:11:48 -07:00
William Casarin
0338297bfe
Live Music & Generic Statuses
...
Changelog-Added: Added live music statuses
Changelog-Added: Added generic user statuses
2023-08-23 13:26:55 -07:00
William Casarin
21eda288c4
timeline: show renotes in Notes timelines
...
Changelog-Changed: Show renotes in Notes timeline
Fixes: https://github.com/damus-io/damus/issues/676
2023-08-07 08:24:02 -07:00
William Casarin
453d540255
search: find_event_with_subid
...
I needed this to find a bug in event decoding
2023-08-06 06:56:24 -07:00
William Casarin
cebd1f48ca
ndb: switch to nostrdb notes
...
This is a refactor of the codebase to use a more memory-efficient
representation of notes. It should also be much faster at decoding since
we're using a custom C json parser now.
Changelog-Changed: Improved memory usage and performance when processing events
2023-08-03 13:20:36 -07:00
William Casarin
7040235605
refactor: add Pubkey, Privkey, NoteId string aliases
...
This is a non-behavioral change in preparation for the actual switchover
from Strings to Ids. The purpose of this kit is to reduce the size of
the switchover commit which is going to be very large.
2023-07-31 05:38:19 -07:00
William Casarin
b40c595a7c
notify: switch over to new typesafe notifications
2023-07-30 11:02:44 -07:00
Joel Klabo
480921db20
Suggested Users to Follow
...
ui: Add Suggested Users Views and Helpers
ui: Add Logic to Launch Suggested User Screen
Changelog-Added: Suggested Users to Follow
2023-07-29 10:25:24 -07:00
William Casarin
2f8aa29e92
ndb: make NostrEvents immutable
...
Since we can't mutate NdbNotes, let's update the existing codebase to
generate and sign ids on NostrEvent constructions. This will allow us to
match NdbNote's constructor
2023-07-25 15:34:05 -07:00
William Casarin
e3c04465fc
ndb: move to uint32 for kind and created_at
2023-07-25 15:24:26 -07:00
William Casarin
d04f1c6867
login: allow user to login to deleted profile
...
If they every change their mind.
Changelog-Fixed: Allow user to login to deleted profile
2023-07-17 13:25:56 -07:00
Bryan Montz
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 Montz
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 Montz
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
William Casarin
731fdb108b
build: fix a few warnings and errors
2023-07-13 11:17:00 -07:00
William Casarin
31fa63debf
home: hide users and hashtags from home timeline when you unfollow
...
Add the ability to resubscribe to home filters so that it will be
updated when you follow and unfollow people
Changelog-Fixed: Hide users and hashtags from home timeline when you unfollow
2023-07-13 11:08:09 -07:00
William Casarin
bebaffd247
contacts: unify following logic
...
We are about to add hashtag following, so let's prepare handle_follow
for this. Generalize pubkey following to ReferenceId follows in the
handle_{follow,unfollow} functions.
We also split out the notification part into its own function.
2023-07-13 09:32:42 -07:00
William Casarin
1136808afa
contacts: generalize following to allow any reference
...
I noticed we are not using the PostBox when following new users. Not
good! This is probably why following users sometimes does not work.
Changelog-Fixed: Fixed a bug where following a user might not work due to poor connectivity
2023-07-13 09:04:55 -07:00
William Casarin
c0f9b0a8c0
views: allow embeddable views at top of timeline
...
This allows you to put stuff at the top of a timeline inside the scroll
view. We could also remove the scrollview from the timeline
eventually... but this works for now.
2023-07-13 06:56:23 -07:00
Bryan Montz
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 Montz
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
William Casarin
a04a401292
nscript: load script view
...
This allows you to open and run scripts for testing purposes, but only
from external links such as nostr:nscript...
2023-07-04 11:48:27 -07:00
6e964f71ff
Add trie-based user search cache to replace non-performant linear scans
...
Changelog-Added: Speed up user search
Tested-by: William Casarin <jb55@jb55.com >
Fixes : #1219
Closes : #1342
2023-07-03 12:06:01 -07:00
William Casarin
f702733654
nav: remove environmentObjects
...
environment objects are implicit arguments that cannot be checked by the
compiler. They are a common source of crashes. Use a main
NavigationCoordinator in DamusState for the core app, and pass in other
coordinators in the account setup view for the parts of the app that
don't have a DamusState.
2023-06-30 09:59:58 -07:00
Scott Penrose
69663b8207
A few more navigation links from rebase
2023-06-30 06:42:56 -07:00
Scott Penrose
a76ddea7da
Remove popToRoot when tapping damus:// internal links
2023-06-30 06:42:56 -07:00
Scott Penrose
0018e7ad57
Convert remaining navigation links
2023-06-30 06:42:56 -07:00
Scott Penrose
8258c5beb0
Convert ContentView navigation links
2023-06-30 06:42:56 -07:00
Scott Penrose
242455410e
Convert more NavigationLinks to router
2023-06-30 06:42:56 -07:00
Scott Penrose
f0b0eade37
Convert to NavigationStack
...
- Fixes linking issues on SideMenu and tab switching issues
- I currently bumped to iOS 16+ to get iterate and get this working.
2023-06-30 06:42:56 -07:00
William Casarin
abcff3b928
profile: allow post button on every profile and prefill user tag
...
Changelog-Added: Add post button to profile pages
2023-06-28 17:40:27 +02:00
William Casarin
c5846008f2
fix weird quirk with universe toolbar filter button
2023-06-24 08:27:12 +02:00
William Casarin
f090596067
nozaps: switch to global sheet when zapping
...
This fixes many popping bugs
Changelog-Fixed: Fix zap sheet popping
2023-06-23 20:46:27 +02:00
William Casarin
337c4de337
reduce ContentView redraws
...
Remove observability from the home model, and use inner models for
updating specific parts of the UI, such as notification dots on the tab
bar.
2023-06-23 11:51:51 +02:00
baa5454e2a
Rename all usages of the term Post as a noun to Note to conform to the Nostr spec
...
Changelog-Fixed: Rename all usages of the term Post as a noun to Note to conform to the Nostr spec
2023-06-10 11:42:25 +02:00
William Casarin
ba3a6b07b2
Fix warnings
2023-06-10 11:33:07 +02:00
William Casarin
a0caf9ce07
find_event: refactor with more explicit types
2023-06-07 08:06:06 +02:00
8ca377bec9
Add max length truncation to displayed profile attributes to mitigate spam
...
Changelog-Fixed: Add max length truncation to displayed profile attributes to mitigate spam
Fixes : #1237
2023-06-04 17:50:52 -04:00
952d6746d5
Add profile zaps
...
Refactor profile zaps to reuse same BOLT11 Lightning invoice logic as
note zaps, which fixes profile zaps from Cash App and Muun wallets
Changelog-Added: Add profile zaps
Changelog-Fixed: Fix profile zapping for Muun and Strike wallets
Closes : #1236
Fixes : #1067
2023-06-04 10:56:43 -07:00
William Casarin
6eecb5ef26
video-player: don't stop audio, mix with external media
2023-05-30 18:44:36 -07:00
Ben Weeks
973e9fe714
Custom iconography added for other areas of the app.
...
Changelog-Added: Custom iconography added for other areas of the app.
2023-05-29 14:47:05 -07:00
Bryan Montz
fe4277e817
simplified call site usage of NostrFilter
2023-05-29 12:19:27 -07:00
William Casarin
bffa42a13a
Supporter Badges
2023-05-15 11:57:37 -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
50e4452016
Fix nostr URL scheme to open properly even if there's already a different view open
...
Closes : #1130
Changelog-Fixed: Fix nostr URL scheme to open properly even if there's already a different view open
2023-05-14 11:36:46 -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
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
bb32d72903
nwc: clear the zapper cache for our pubkey when we attach a new wallet
2023-05-10 14:07:24 -07:00