William Casarin
97f10e865f
NostrScript
...
NostrScript is a WebAssembly implementation that interacts with Damus.
It enables dynamic scripting that can be used to power custom list views,
enabling pluggable algorithms.
The web has JavaScript, Damus has NostrScript. NostrScripts can be
written in any language that compiles to WASM.
This commit adds a WASM interpreter I've written as a mostly-single C
file for portability and embeddability. In the future we could
JIT-compile these for optimal performance if NostrScripts get large and
complicated. For now an interpreter is simple enough for algorithm list
view plugins.
Changelog-Added: Add initial NostrScript implementation
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-03 14:31:38 -07:00
Terry Yiu
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
Terry Yiu
7cae61a86a
Fix missing profile zap notification text
...
Changelog-Fixed: Fix missing profile zap notification text
Closes : #1332
2023-06-28 14:48:06 +02:00
Terry Yiu
cfe14fac23
Deduplicate users in group notifications
...
Changelog-Fixed: Deduplicate users in notifications
Closes : #1326
2023-06-26 11:31:36 +02:00
Terry Yiu
422167f7aa
Add indication of followers you know in a profile
...
Changelog-Added: Add indication of followers you know in a profile
2023-06-25 09:38:57 +02:00
William Casarin
62bf767be5
nozaps: fix some tests
2023-06-23 20:46:27 +02:00
William Casarin
a5b2a5c8b9
tests: disable invalid tests
2023-06-23 20:46:27 +02:00
Terry Yiu
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
Terry Yiu
14977fe3dd
Replace indexed mentions with NIP-27
...
Changelog-Fixed: Replace indexed mentions with NIP-27
Closes : #1213
2023-06-07 06:22:38 +02:00
Bryan Montz
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
61ff7da2ae
make database write async at the call site and update tests
2023-05-25 09:09:50 -05:00
Terry Yiu
1769b08147
Fix reaction notification title to be consistent with ReactionView
...
Changelog-Fixed: Fix reaction notification title to be consistent with ReactionView
Closes : #1137
2023-05-24 15:20:02 -07:00
William Casarin
a30a79b1fc
Fix tests
2023-05-14 11:20:28 -07:00
William Casarin
0091df8f77
nwc: fix broken test
2023-05-14 10:49:54 -07:00
Bryan Montz
32431096f5
add tests for ProfileDatabase
2023-05-13 09:20:01 -05: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
Joshua Jiang
c439100a86
Fix parse mention without space in content
...
Changelog-Fixed: Fix parse mention without space in content
Closes : #936
Fixes : #992
2023-05-05 11:20:20 -07:00
Terry Yiu
34970b38bb
Fix plurality on sats
2023-05-05 09:00:02 -07:00
Bryan Montz
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
William Casarin
7940e6fd32
Fix tests
2023-04-23 04:36:16 -07:00
Terry Yiu
66641fc9ae
Add setting to hide reactions
...
Changelog-Added: Add setting to hide reactions
2023-04-20 08:20:50 -07:00
Terry Yiu
bff3c0dd52
Improve sats numeric entry for zaps
...
Changelog-Changed: Add number formatting for sats entry and use selected zaps amount from picker as placeholder
Changelog-Fixed: Do not allow non-numeric characters for sats amount and fix numeric entry for other number systems for all locales
2023-04-17 15:20:14 -07:00
William Casarin
b5a3697d78
Refactor direct messages model
...
We can track the pubkey in the DirectMessageModel instead of having a
janky tuple.
2023-04-15 12:41:00 -07:00
William Casarin
e8d63768c1
Fix note mention test
2023-04-11 10:27:11 -07:00
William Casarin
1f648057d5
Add another bech32 test
2023-04-11 10:23:34 -07:00
William Casarin
0866c70346
Fix tests
2023-04-10 16:09:43 -07:00
William Casarin
8a230861bf
remove broken test
2023-04-09 22:45:21 -07:00
William Casarin
13354b0eb5
Refactor NIP19 implementation and add tests
...
Closes : #837
2023-04-09 22:03:51 -07:00
William Casarin
b131c74ee3
Add prefix and suffix string trimming functions
...
This is needed to fix extraneous whitespace issues in image posts
2023-04-05 12:48:03 -07:00
Terry Yiu
08b7e50bd8
Fix localization issues and import translations
2023-03-31 10:10:26 -04:00
William Casarin
9091cb1aae
Revert "Reduce battery usage by using exp backoff on connections"
...
This is causing pretty bad fail to reconnect issues
This reverts commit 252a77fd97
, reversing
changes made to a611a5d252
.
2023-03-17 07:54:29 -06:00
Swift
a574dcb27c
Add image uploader
...
Changelog-Added: Add image uploader
2023-03-15 17:12:05 -06:00
Bryan Montz
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
William Casarin
a611a5d252
Fix tests
2023-03-15 09:43:48 -06:00
Bryan Montz
cabe584938
fix "Replying to..." issues and improve related tests
2023-03-14 11:44:40 -06:00
William Casarin
77f5268336
Private Zaps
...
This adds private zaps, which have messages and authors encrypted to
the target. Keys are deterministically generated so that both the
receiver and sender can decrypt.
Changelog-Added: Private Zaps
2023-03-01 09:56:25 -08:00
Bryan Montz
7c2e8a6cc5
Merge branch 'master' into exp-backoff
2023-02-27 06:23:38 -06:00
Terry Yiu
77bcd1b715
Fix localization and add tests for EventGroupView
2023-02-27 10:20:50 +13:00
Bryan Montz
6c63f8f22a
add unit tests for RelayPool
2023-02-25 07:34:31 -06:00
Terry Yiu
5cd4c2d75e
Fix localization issues, add tests, import translations, and add zh-CN and zh-TW
...
Closes : #689
2023-02-24 12:44:54 -08:00
Bryan Montz
603a5a1814
Refinements to RelayConnection plus tests for creating requests
...
Closes : #644
2023-02-19 08:36:03 -08:00
Bryan Montz
1b4e54582f
fixed tests
2023-02-16 06:07:04 -08:00
Gert Goet
f0df4aa218
Strip common punctuations from URLs
...
Changelog-Fixed: Fix punctuation getting included in some urls
Closes : #575
2023-02-13 10:03:35 -08:00
Gert Goet
bb9fc6f905
Always stop at first whitespace
2023-02-13 10:03:17 -08:00
William Casarin
4f2bacfaab
Configurable zap amount
2023-02-10 13:52:27 -08:00
William Casarin
d5b6d935e8
fix tests
2023-02-10 11:08:28 -08:00
William Casarin
10596ddb09
Relay Filters
...
wip
2023-02-09 14:23:18 -08:00
Joel Klabo
1f79c20973
Add Missing Contacts Parameter
...
Closes : #533
2023-02-06 10:04:44 -08:00
William Casarin
006f8d79e0
Lightning Zaps
...
Added initial lightning zaps/tipping integration
Changelog-Added: Receive Lightning Zaps
2023-02-02 15:51:57 -08:00
William Casarin
552bd9cae5
Implement NIP-21 URI handling
...
Changelog-Added: Added nostr: uri handling
2023-01-28 08:31:11 -08:00
William Casarin
2a8b9f75c1
Initial NIP-51 Mute List Implementation
2023-01-25 09:53:59 -08:00
William Casarin
9d2ff2fe65
Fix commas and emojis getting included in hashtags
...
Changelog-Fixed: Fix commands and emojis getting included in hashtags
2023-01-22 09:57:00 -08:00
Joel Klabo
13ea42a2e2
Don't Parse URL with Only Whitespace
2023-01-22 09:49:41 -08:00
Thomas Rademaker
77c2abc524
fix broken test
2023-01-22 09:25:16 -08:00
William Casarin
9a40fd595d
Add some DM sorting tests
...
They didn't help me fix the problem, but maybe they are still useful
somehow
2023-01-14 17:23:35 -08:00
Lionello Lunesu
e9380c3821
Fix ascii shrug guy
...
Changelog-Fixed: Fix ascii shrug guy
Closes : #238
2023-01-03 23:05:41 -08:00
Lionello Lunesu
42f484bc64
Fix detection of email addresses in profiles
...
Signed-off-by: Lionello Lunesu <lio+git@lunesu.com>
Changelog-Fixed: Fix detection of email addresses in profiles
Closes : #225
2023-01-03 10:55:25 -08:00
Terry Yiu
8428f0af43
Fix relative time test
...
Closes : #218
2023-01-02 18:30:56 -08:00
Terry Yiu
badbd8a92e
Fix flakey TimeAgo test by anchoring locale to en_US
...
Closes : #210
2023-01-02 08:22:17 -08:00
Terry Yiu
4f4557e4b6
Replace deprecated Data.withUnsafeMutableBytes call
...
Closes : #214
2023-01-02 08:19:47 -08:00
William Casarin
2aaa58ada6
Fix relative date tests
2023-01-01 11:32:04 -08:00
William Casarin
5a956248f9
bolt11: fix bug where text not showing after invoice
...
Changelog-Fixed: Fix but where text was not showing after invoices
2023-01-01 11:31:36 -08:00
William Casarin
cf615b82b2
bolt11: fix any amount invoices
2023-01-01 11:02:44 -08:00
William Casarin
6f5f86114b
Parse links in profiles
...
Changelog-Added: Parse links in profiles
2022-12-31 13:03:52 -08:00
Terry Yiu
0b27a49e32
Internationalize time ago since string
...
Switches to using standard date component formatting abbreviations and
enables it to be localized to non-English locales
Closes : #194
Changelog-Changed: Internationalize relative dates
2022-12-31 09:46:16 -08:00
Lio李歐
a94b698e9d
Merge branch 'master' into profile-markdown
2022-12-29 09:57:54 -08:00
Lionello Lunesu
75c67bc1e9
Make links clickable in profile view
2022-12-28 13:29:18 -08:00
Pablo Fernandez
205774f684
Fix when calling parse_hex_char out of bounds
...
Closes : #158
Changelog-Fixed: Fix crash with @ sign in some posts
2022-12-28 12:44:47 -08:00
William Casarin
f351632440
bolt11: parse lightning prefixes on lightning invoice
...
Changelog-Fixed: Parse lightning prefixes on lightning invoice
2022-12-19 22:24:39 -08:00
William Casarin
9b7057de36
make url and invoice parsing case-insensitive
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-10-19 09:51:25 -07:00
William Casarin
c6ab1de639
Add bolt11 parser and Invoice View
...
Changelog-Added: Display bolt11 invoice widgets on posts
2022-10-19 07:46:05 -07:00
William Casarin
eb99e6c323
Rewrite note parsing in C
...
This eliminates any parsing choppyness
Fixes : #32
Signed-off-by: William Casarin <jb55@jb55.com>
2022-10-17 15:22:28 -07:00
William Casarin
a47645929e
Inline image loading
...
Changelog-Added: Added inline image loading
Signed-off-by: William Casarin <jb55@jb55.com>
2022-10-16 16:11:27 -07:00
William Casarin
cb70ab532c
Use the t
tag for hashtags
...
Changelog-Changed: #hashtags now use the `t` tag instead of `hashtag`
Signed-off-by: William Casarin <jb55@jb55.com>
2022-08-19 07:38:13 -07:00
William Casarin
df5d6557f2
add link test
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-08-07 19:31:02 -07:00
William Casarin
61f5d1009e
mentions: fix bech32 mentions at end
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-08-07 07:09:11 -07:00
William Casarin
adacdbb764
switch to bech32 everywhere
...
You can now use @npub, @note or @nsec to reference notes and pubkeys
Changelog-Changed: use bech32 ids everywhere
Signed-off-by: William Casarin <jb55@jb55.com>
2022-08-06 23:01:56 -07:00
William Casarin
e6db7369cd
Fix hashtag parsing
...
Changelog-Fixed: No longer parse hashtags in urls
Signed-off-by: William Casarin <jb55@jb55.com>
2022-07-28 13:11:58 -07:00
William Casarin
2fc6e7ef22
fix parsing mention indices > 9
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-06-06 08:55:32 -07:00
William Casarin
097cc54bba
extract HomeModel from ContentView
...
huge refactor
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-24 12:57:40 -07:00
William Casarin
2920325639
initial CreateAccountView
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-21 19:44:04 -07:00
William Casarin
cac139fff1
hashtags working
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-09 11:43:18 -07:00
William Casarin
cf7cba09bd
parse hashtags
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-08 20:34:57 -07:00
William Casarin
812abba8d4
fix incredible bug lol
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-08 19:31:40 -07:00
William Casarin
5e63eca0e9
simplify like refs
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-08 19:01:42 -07:00
William Casarin
8896d19f40
initial reply revamp
...
It now understands mentions
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-08 10:25:50 -07:00
William Casarin
4db06b015c
event mentions working
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-07 17:48:00 -07:00
William Casarin
0ad17c05fe
add some more tests
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-07 13:54:27 -07:00
William Casarin
0eb1372937
more mention progress
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-07 13:50:19 -07:00
William Casarin
73652513d9
initial mention parsing
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-04 21:33:08 -07:00
William Casarin
96d8d854e2
test invalid mention
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-04 16:54:10 -07:00
William Casarin
cfc21219d3
more mention parsing tests
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-04 16:52:01 -07:00
William Casarin
f42bc2e91e
likes, mention parsing, lots of stuff
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-05-04 16:26:10 -07:00
William Casarin
f4bb07081f
initial commit
...
Signed-off-by: William Casarin <jb55@jb55.com>
2022-04-02 16:57:42 -07:00