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
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
Suhail Saqan
d11cd76e6a
Add multiple reaction support
...
Changelog-Added: Add support for multiple reactions
Closes: https://github.com/damus-io/damus/issues/1335
2023-07-29 10:03:55 -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
e34351ca37
ndb: fix iterators, pack id tags, more tests
2023-07-23 11:55:36 -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
6d43754e71
ndb: add pubkey to NdbNote
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
dd6c082a8e
v1.6 (7)
2023-07-17 14:35:54 -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
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
ff654c4e11
test: add text attribute testing function
...
This will be used for testing attributed strings
2023-07-17 10:25:09 -07:00
William Casarin
fd59407171
test: fix old markdown tests
2023-07-17 10:25:09 -07:00
William Casarin
cd7998b69d
v1.6 (6)
2023-07-16 15:33:00 -07:00
William Casarin
bd4c29604f
Fix broken markdown renderer
...
This switches away from the old markdown renderer to the new one at
https://github.com/damus-io/swift-markdown-ui
Changelog-Fixed: Fix broken markdown renderer
2023-07-16 15:27:24 -07:00
William Casarin
fc640b85ed
add swift-markdown-ui
...
We will be using this lib which is much better than the builtin
framework for markdown rendering. We use a modified version that removes
html tag rendering which looks horrible.
2023-07-16 15:25:09 -07:00
William Casarin
fb2a69acd8
project: fix test fixtures
2023-07-14 13:07:52 -07:00
Terry Yiu
8a9e3ea76b
Fix localization issues and export strings for translation
...
Changelog-Fixed: Fix localization issues and export strings for translation
Signed-off-by: Terry Yiu <git@tyiu.xyz>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-07-14 09:34:29 -07:00
William Casarin
9879c78e41
build 5 because I broked something
2023-07-13 15:43:21 -07:00
William Casarin
e36747a81a
v1.6 (4)
2023-07-13 11:13:50 -07:00
William Casarin
17df2972d9
ui: add follow hashtag ui on search view
2023-07-13 11:08:04 -07:00
William Casarin
7b73a54de5
test: switch to test data file
...
We only added the file before, let's actually use it now
2023-07-13 07:32:27 -07:00
William Casarin
7046fe0d4f
ui: add DamusBackground helper
...
We will be using this in more places
2023-07-13 06:56:23 -07:00
William Casarin
69922b1d77
Remove LoadMoreButton
...
Was an old unused thing
2023-07-12 08:21:44 -07:00
William Casarin
7f9371d85f
v1.6 (3)
2023-07-11 12:58:15 -07:00
William Casarin
031c7823ae
refactor: move hashtag tests to their own file
2023-07-11 07:21:16 -07:00
William Casarin
45d9121ed7
fix project issues
2023-07-10 20:56:52 -07:00
William Casarin
374610a21a
artifacts: allow unseparated note artifacts
...
This is needed for longform events. Right now we treat unseparated note
artifacts as a list of blocks, but we will likely need to render these
blocks into lists of attributed texts with image blocks inbetween.
2023-07-10 18:24:43 -07:00
William Casarin
4d995fd04c
Longform Notes
2023-07-10 17:39:13 -07:00
William Casarin
518886912c
refactor: carve out TextEvent body into EventShell
...
We'll need this for other event types
2023-07-10 17:39:13 -07:00
Joel Klabo
bf95a8b328
Banner Image Upload
...
Changelog-Added: Enable banner image editing
2023-07-10 17:27:42 -07:00
William Casarin
15d633a42f
project: update to recommend settings
2023-07-10 11:08:20 -07:00
Terry Yiu
140c3505ba
Update translations
2023-07-09 15:36:35 -04: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
Bryan Montz
f619fef410
add RelayModel and RelayModelCache classes
...
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
ef4aeb40e0
add RelayLog class
...
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
ebcfe3c25f
add developer mode view and setting
...
Signed-off-by: Bryan Montz <bryanmontz@me.com>
2023-07-07 09:02:52 -07:00
William Casarin
3451e7d88f
v1.6
2023-07-04 12:18:33 -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
William Casarin
30e33a01c1
nostrscript: add a helper function
2023-07-03 16:59:50 -07:00
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
Bryan Montz
7cd3aef157
Updated test target to deployment target of iOS 16.0
...
Changelog-Updated: Bumped minimum verison to iOS 16.0
Signed-off-by: Bryan Montz <bryanmontz@me.com>
2023-07-02 13:03:13 -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
82c53e43e5
v1.5 (8)
2023-06-27 06:30:50 +02:00
William Casarin
1e2326cccf
v1.5 (7)
...
rip zap button
2023-06-27 05:35:53 +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
b70bf1f647
v1.5-6
2023-06-25 09:38:46 +02:00
William Casarin
a641f972ff
v1.5-5
2023-06-24 08:38:02 +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
William Casarin
e885f38c54
refactor: switch CustomizeZapView to use a model
...
Changelog-Fixed: Fix CustomizeZapView from randomly disappearing
2023-06-23 11:51:51 +02:00
William Casarin
4d43e590e0
view: Add ZapUserView
...
This will be used to make it clear that we are zapping a user
2023-06-22 10:23:56 +02:00
William Casarin
6ec533b0cd
view: Add AboutView
...
This will be used by different views for the user's about section
2023-06-20 17:00:48 +02:00
Bryan Montz
296d96d6df
rename RelayStatus to RelayStatusView
2023-06-20 10:18:34 +02:00
William Casarin
bcdd0b4e23
Revert "Add Inter font"
...
This reverts commit 271e3ad54a
.
2023-06-12 11:25:27 +02:00
Ben Weeks
271e3ad54a
Add Inter font
...
ChangeLog-Changed: Switch to new font (Inter)
2023-06-10 12:38:13 +02:00
William Casarin
043eb5b436
Show zap comments in threads and show top zap
...
Changelog-Added: Top zaps
Changelog-Added: Show zap comments in threads
2023-06-09 10:11:25 +02:00
Terry Yiu
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
Terry Yiu
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
809a08ef63
v1.5 (3)
2023-05-30 19:40:37 -07:00
William Casarin
57e6f083b8
Revert "Updated UI to use custom font"
...
This reverts commit 020a00bf7e
.
2023-05-30 19:35:21 -07:00
William Casarin
6aa28fce6c
v1.5-2
2023-05-30 18:04:21 -07:00
William Casarin
88b04fde09
xcode: remove .git ext from package
2023-05-30 17:58:48 -07:00
William Casarin
6214ab8d8f
video: add DamusVideoPlayer view
2023-05-29 17:11:14 -07:00
William Casarin
4d95d36a1e
Add GSPlayer + VideoPlayer
2023-05-29 17:10:14 -07:00
Ben Weeks
06ba0f7387
Add ability to show multiple posts per user in Universe
...
ChangeLog-Added: Add ability to show multiple posts per user in Universe
Closes : #1198
Fixes : #1189
2023-05-29 15:35:29 -07:00
ericholguin
90c22fdabd
components: added reusable gradient button style
2023-05-29 14:38:24 -07:00
ericholguin
dfd1032cd8
gradients: add pink gradient
2023-05-29 14:38:24 -07:00
ericholguin
a0e1e16f17
gradients: add damus logo gradient
2023-05-29 14:38:24 -07:00
Ben Weeks
020a00bf7e
Updated UI to use custom font
...
Changelog-Changed: Updated UI to use custom font
2023-05-29 14:38:24 -07:00
Bryan Montz
ea73c5252d
Merge branch 'master' into user-cache
2023-05-26 06:46:47 -05:00
Bryan Montz
812213ff2b
Add Damus splash screen
...
Changelog-Updated: Add Damus splash screen
2023-05-24 15:17:08 -07:00
William Casarin
bffa42a13a
Supporter Badges
2023-05-15 11:57:37 -07:00
William Casarin
af912b1a0e
v1.5-1
2023-05-15 09:59:22 -07:00
William Casarin
1313880574
Add release Damus build scheme
2023-05-14 10:49:54 -07:00
Bryan Montz
32431096f5
add tests for ProfileDatabase
2023-05-13 09:20:01 -05:00
Bryan Montz
4646f0e23c
add ProfileDatabase class to read and write profiles to disk
2023-05-12 07:21:25 -05:00
Bryan Montz
76c57af548
add managed object class to match new Profile CoreData model
2023-05-12 07:18:12 -05:00
Bryan Montz
7983157c38
add CoreData model for Profile
2023-05-12 07:15:30 -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
William Casarin
370a5feb4e
ui: add Nostr Wallet Connect views
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
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
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
ccd76066d1
switch to v1.5
2023-05-08 12:38:08 -07:00
William Casarin
f95498a6fa
v1.4.3 - AppStore release
2023-05-08 11:47:19 -07:00
Bryan Montz
9847f12c95
Remove unused code
...
Closes : #1105
2023-05-08 11:01:04 -07:00
William Casarin
0da10eb716
build 23
2023-05-08 10:56:35 -07:00
William Casarin
a4d4ad72e6
build 22
2023-05-07 11:28:33 -07:00
William Casarin
86687b6289
v1.4.3-21
2023-05-07 10:38:21 -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
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