William Casarin
cf3a9a576d
test: move existing url tests to UrlTests
2023-08-06 13:50:20 -07:00
William Casarin
e397fc069b
make: add tags target
2023-08-06 13:50:20 -07:00
William Casarin
2529797dfb
todo: add local todo helper
2023-08-06 13:50:20 -07:00
William Casarin
bd2193251f
build: fix some build issues with the last revert
...
Fixes: 1a2ac976a3 ("Fix old notifications always appearing on first start")
2023-08-06 11:30:28 -07:00
William Casarin
1a2ac976a3
Fix old notifications always appearing on first start
...
Revert "home: debounce last notified"
This is technically incorrect, as debouncing can prevent saving
important events.
The proper way to do this is to save it locally in memory, and then
debouncing the saving itself. Will do this soon.
Reverts: a9b4cfd424
Fixes: https://github.com/damus-io/damus/issues/1439
Changelog-Fixed: Fixed old notifications always appearing on first start
2023-08-06 09:22:28 -07:00
William Casarin
d4faacb99f
relays: strip trailing / from relay urls
...
Fixes: https://github.com/damus-io/damus/issues/1443
Changelog-Fixed: Fix issue with slashes on relay urls causing relay connection problems
2023-08-06 09:07:33 -07:00
William Casarin
a73271e3d4
debug: remove note size debug
...
ThreadSanitizer was complaining about a data race
2023-08-06 09:07:33 -07:00
William Casarin
624a7b4e88
notifications: fix rare crash with local notification
...
This shouldn't happen, but I found a log that crashed here, so we will
fix this anyways.
Changelog-Fixed: Fix rare crash triggered by local notifications
2023-08-06 08:33:51 -07:00
William Casarin
5b9803d234
script: add build-git-hash.txt build output
...
Otherwise we get warnings
2023-08-06 07:54:23 -07:00
William Casarin
3098d4b4fa
bar: fix crash when long pressing emoji selection
...
Changelog-Fixed: Fix crash when long-pressing reactions
2023-08-06 07:10:01 -07:00
William Casarin
0178478199
decoding: fix decoding of large events like nostr reports
...
I was trying to do an initial malloc that was somewhat efficient. Looks
like our ndb_builder needs a bit more space when allocating the
ndb_note.
Changelog-Fixed: Fixed nostr reporting decoding
2023-08-06 06:56:24 -07:00
William Casarin
d489bcc586
test: add test for failing nostr report event
2023-08-06 06:56:24 -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
14ba33674b
setting: adjustable font size for jack the zapper
...
Changelog-Added: Adjustable font size
2023-08-03 18:38:20 -07:00
William Casarin
c0f4e3fe03
v1.6 (9)
2023-08-03 17:25:52 -07:00
William Casarin
dae2e8ef56
Revert "Fix for missing bottom half of a note"
...
This reverts commit 39dce64131 .
2023-08-03 17:23:53 -07:00
William Casarin
b2d2fbee0d
v1.6-8 changelog
2023-08-03 13:36: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
55bbe8f855
disable nostrscript test for now
2023-08-03 13:15:32 -07:00
William Casarin
b556257edd
util: add structured logger
2023-08-03 12:17:56 -07:00
William Casarin
6e6c1eb7b6
ndb: make AsciiCharacter a CustomStringConvertible
2023-08-01 21:53:19 -07:00
William Casarin
07dfa3b1fb
ndb: update nostrdb
...
This include various fixes for parsing and key decoding
2023-08-01 21:53:19 -07:00
William Casarin
88306d00a3
key: generate a FullKeypair when generating new keys
2023-08-01 21:53:19 -07:00
William Casarin
616de2eebc
state: improve damus state init
...
It's a bit cleaner now
2023-08-01 21:53:19 -07:00
William Casarin
709aab549b
nav: fix nav crashes and buggyness
...
just use the hashable for equality
Changelog-Fixed: Fix nav crashing and buggyness
2023-08-01 21:53:05 -07:00
William Casarin
15ab9f7135
scroll: allow any hashable target
2023-08-01 21:52:23 -07:00
William Casarin
d4aa8a5602
config: show git hash in version info
...
This will be useful for sanity checks and bisecting
2023-08-01 09:29:09 -07:00
William Casarin
a9b4cfd424
home: debounce last notified
...
Calling UserDefaults fast in a loop is not good
2023-07-31 05:38:19 -07:00
William Casarin
2b99f94d13
profiledb: disable database lookups for now
...
This is causing extremely bad lag in the UI
2023-07-31 05:38:19 -07:00
William Casarin
66e204eb91
notifications: don't do expensive id calculation
2023-07-31 05:38:19 -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
f9d21ef901
test: rename test_event to test_note
2023-07-31 05:38:19 -07:00
William Casarin
a08d0a5a19
ndb: more id transition helpers
2023-07-31 04:08:07 -07:00
William Casarin
ff20cc4767
tests: enable code coverage
2023-07-31 03:25:50 -07:00
William Casarin
aacb336002
Update Translations
2023-07-30 11:57:18 -07:00
William Casarin
b40c595a7c
notify: switch over to new typesafe notifications
2023-07-30 11:02:44 -07:00
William Casarin
80063af19a
notify: add typesafe notifications
2023-07-30 11:02:44 -07:00
William Casarin
df3b94a1fc
notify: add typesafe notify class
2023-07-30 11:02:44 -07:00
William Casarin
06a66a3709
add some type aliases to make the ndb move more incremental
2023-07-30 10:52:02 -07:00
William Casarin
1463ce5e3a
profile: don't notify on notice
...
this is just a waste of cpu at this point and could cause main thread
blocking issues
2023-07-30 10:52:02 -07:00
William Casarin
593d0e2abe
ndb: sync up a few remaining NdbNote tag differences
2023-07-25 16:22:25 -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
54d40f7ffd
ndb: move hexchar into header
...
since it's used in a few places
2023-07-25 15:23:36 -07:00
William Casarin
2053033b25
ndb: make note equatble
...
We need this for the switchover
2023-07-24 13:09:27 -07:00
William Casarin
45801f3e6c
ndb: rename NostrEvent to NostrEventOld
...
This facilitates the switch to NdbNote by allowing us to switch back and
forth to fix things.
2023-07-24 13:08:55 -07:00
William Casarin
2d44f2744b
ndb: switch to computed property for tags
...
this will allows us to change less code on the switchover
2023-07-24 13:08:18 -07:00
William Casarin
04e408bfea
ndb: implement a few more event things
...
We're basically done. Time to try the switch-over
2023-07-24 12:41:12 -07:00
William Casarin
b3c87bdc07
test: remove unused var
2023-07-24 12:40:04 -07:00
William Casarin
b5dd90b36a
notes: generalize event_is_reply a bit
...
so that it works with NdbNote as well
2023-07-24 12:39:55 -07:00
William Casarin
6fa9149939
ndb: avoid double constructor on References
2023-07-24 11:05:18 -07:00
William Casarin
1e9e4a7f3a
ndb: implement eventref building from ndb notes
2023-07-24 10:55:34 -07:00
William Casarin
c8e236b6d5
ndb/test: add more test coverage on char iter
2023-07-23 12:21:36 -07:00
William Casarin
e8d0f1db8d
test: fix some ndb test warnings
2023-07-23 12:12:42 -07:00
William Casarin
99b5dc94cb
ndb: copy over perf improvements
2023-07-23 12:11:08 -07:00
William Casarin
e34351ca37
ndb: fix iterators, pack id tags, more tests
2023-07-23 11:55:36 -07:00
William Casarin
1a33d639ed
test: remove some unused perf tests
2023-07-23 11:54:58 -07:00
William Casarin
5c1043b4e5
ndb: add cchar constructors to AsciiCharacter
...
This will be used for the cchar iterator
2023-07-23 11:54:07 -07:00
William Casarin
23b5763a6b
git: ignore perf baselines
...
this is system-dependent
2023-07-23 11:50:02 -07:00
William Casarin
dd65209a20
Revert "ndb: remove TagIterators and just use sequences"
...
This reverts commit f0d07c3663 .
2023-07-23 10:56:12 -07:00
William Casarin
f0d07c3663
ndb: remove TagIterators and just use sequences
...
Still learning...
2023-07-22 21:12:53 -07:00
William Casarin
b3119fa41e
test: small test fix
2023-07-22 17:23:11 -07:00
William Casarin
7ec8da6c73
ndb: start implementing existing NostrEvent functionality
...
We eventually want to switch over to NdbNote instead of NostrEvent. To
facilitate this, the plan is to eventually make NostrEvent an alias of
NdbNote. For this to work, let's make sure the NostrEvent extensions are
implemented on NdbNote.
We will likely switch away from string properties as well, but for now
we will try to emulate as much as possible to make sure everything is
working first.
2023-07-22 17:19:47 -07:00
William Casarin
9e659c49b5
ndb/test: add a few more tests
2023-07-22 17:19:47 -07:00
William Casarin
c72666b352
ndb: add subscript and count for TagsSequence
...
These are helpful
2023-07-22 17:19:47 -07:00
William Casarin
1854e10486
mentions: add ndb mention parser
2023-07-22 17:19:47 -07:00
William Casarin
58e2fb40ef
iter: make safer by using NdbNote instead of unsafe pointers
...
If we have an owned note, we could lose track of the lifetime and then
crash. Let's make sure we always have an NdbNote instead
2023-07-22 17:19:47 -07:00
William Casarin
af7ea7024f
misc: don't immediately hex encode event commitment
...
keep it separate for now, since we're moving to more low level. We
probably won't even use this, but this is cleaner logicwise anyway.
2023-07-22 17:19:47 -07:00
William Casarin
0263c11a94
ndb: add content and owned_size
2023-07-22 17:19:47 -07:00
William Casarin
6d43754e71
ndb: add pubkey to NdbNote
2023-07-22 17:19:47 -07:00
William Casarin
4da23390f8
ndb: update lib
2023-07-22 17:19:47 -07:00
William Casarin
c74993366b
move copyndb to the right folder
2023-07-22 17:19:47 -07:00
William Casarin
ad0e1f28b7
test: fix build and tests
2023-07-21 15:26:03 -07:00
William Casarin
61051ee853
nostrdb: add initial swift integration
2023-07-21 15:02:01 -07:00
William Casarin
dc7826c4e5
c: add nostrdb c lib
2023-07-21 15:02:01 -07:00
William Casarin
4eee715bcd
c: add jsmn json parser
...
This is used by the nostrdb lib. Let's add it here.
This doesn't unescape things, so we'll still need to do that manually.
2023-07-21 14:56:24 -07:00
William Casarin
08bea16be0
c: add new cursor util
...
this is used by nostrdb as well. so add it here ahead of time.
2023-07-21 14:55:54 -07:00
William Casarin
8f04b12a90
c: add copy nostrdb devtool
2023-07-21 14:55:54 -07:00
William Casarin
9cfed9f3aa
c: update protoverse_cursor to jb55_cursor
...
Will be using this in the new db implementation
2023-07-21 14:39:21 -07:00
William Casarin
123ca3b802
test: add my contact list for as json parsing test data
2023-07-21 14:39:21 -07:00
William Casarin
5e7b1f4ff3
event: separate logic from data using extensions
...
I'm not a huge fan of this pattern but it's getting messy in here
2023-07-21 14:39:11 -07:00
William Casarin
11b9062865
test: fix some warnings
2023-07-19 10:04:25 -07:00
William Casarin
5c5b55bf67
v1.6 (7) changelog
2023-07-17 14:39:27 -07:00
William Casarin
dd6c082a8e
v1.6 (7)
2023-07-17 14:35:54 -07:00
William Casarin
2a4ee6c48c
zaps: don't spam lnurls when validate zaps
...
lnurls.lookup_or_fetch not fetched lnurl1dp68gurn8ghj7um9dej8xct5wvhxcmmv9uh8wetvdskkkmn0wahz7mrww4excup0df3r2dg3mj444
fetching static payreq lnurl1dp68gurn8ghj7um9dej8xct5wvhxcmmv9uh8wetvdskkkmn0wahz7mrww4excup0df3r2dg3mj444
lnurls.lookup_or_fetch already fetching lnurl1dp68gurn8ghj7um9dej8xct5wvhxcmmv9uh8wetvdskkkmn0wahz7mrww4excup0df3r2dg3mj444
lnurls.lookup_or_fetch already fetching lnurl1dp68gurn8ghj7um9dej8xct5wvhxcmmv9uh8wetvdskkkmn0wahz7mrww4excup0df3r2dg3mj444
lnurls.lookup_or_fetch already fetching lnurl1dp68gurn8ghj7um9dej8xct5wvhxcmmv9uh8wetvdskkkmn0wahz7mrww4excup0df3r2dg3mj444
lnurls.lookup_or_fetch already fetching lnurl1dp68gurn8ghj7um9dej8xct5wvhxcmmv9uh8wetvdskkkmn0wahz7mrww4excup0df3r2dg3mj444
Changelog-Fixed: Don't spam lnurls when validating zaps
2023-07-17 14:12:41 -07:00
William Casarin
fa520d48d3
zap: remove unnecessary main thread dispatches when zapping
2023-07-17 14:11:23 -07:00
William Casarin
160b293359
performance: don't spam nip05 validation on startup
...
Since we don't show these on events anymore, we don't need to spam nip05
validation. We can just check when we go to the profile page
Changelog-Fixed: Eliminate nostr address validation bandwidth on startup
2023-07-17 13:25:56 -07:00
William Casarin
7d17b9b476
nip05: hide nip05 username if it matches the username
2023-07-17 13:25:56 -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
William Casarin
5c87dd5bbb
nip05: remove clickable option
...
they're always clickable now
2023-07-17 13:25:56 -07:00
William Casarin
12febf9671
view: extract ProfileEditButton to its own file
...
profile view file is getting cray cray
2023-07-17 13:25:56 -07:00
William Casarin
4033ad66ba
test: fix crash in ci
2023-07-17 13:25:56 -07:00
William Casarin
2c0296cce3
project: bump deployment target
...
not sure how this is different than the previous setting that was
updated.
Cc: Bryan Montz <bryanmontz@me.com >
2023-07-17 13:25:56 -07:00
William Casarin
080aaf2d1b
nip05: show username and support _ usernames
...
Changelog-Added: Show nostr address username and support abbreviated _ usernames
2023-07-17 11:01:57 -07:00
William Casarin
0e55b08b6c
Revert removing nip05 badges on profiles
...
Changelog-Added: Re-add nip05 badges to profiles
This partially reverts commit 7ae7584135 .
2023-07-17 10:52:20 -07:00
William Casarin
ff70cb7ebf
posting: don't prepad user tag if its a newline
...
This fixes one more edgecase with the tag prepend logic.
2023-07-17 10:45:05 -07:00
William Casarin
fe82134a75
posting: switch to new tested composition logic
...
This switches to the new post composition logic in the post view. It
adds a space at the begging of a mention if it is needed.
We still need to make the state in these view more pure so we can test
more of the posting logic like cursor positions after posting, etc.
Changelog-Added: Add space when tagging users in posts if needed
Changelog-Fixed: Fix issue where typing cc@bob would produce brokenb ccnostr:bob mention
2023-07-17 10:25:09 -07:00
William Casarin
60a0c21272
test: add post composition tests
...
This adds post composition tests so that we can avoid composition bugs.
This still does not capture all of the dynamics of post composition,
because it ignores much of the mutable cursor position and related state
when editing posts.
We will need to make post editing more pure and less mutable in the
future to get test coverage on those.
2023-07-17 10:25:09 -07:00
William Casarin
8242ca27d2
profile: make constructor args optional
...
This makes it easier to create one-off profiles for testing. eg:
Profile(name: "jb55")
2023-07-17 10:25:09 -07:00
William Casarin
c7baa153af
posting: add some functions for appending mention tags
...
These are easy-to-test functions for appending user tags to attributed
strings. We will use these in the next couple of commits to replace the
existing buggy functionality.
2023-07-17 10:25:09 -07:00