Join Nostr
2025-08-13 20:28:30 UTC

jb55 on Nostr: my 2 year old, 200+ commit PR finally landed to get damus ios updated to the latest ...

my 2 year old, 200+ commit PR finally landed to get damus ios updated to the latest version of #nostrdb.

This will allow us to have notedeck-level performance and offline-first capabilities

iOS now has a fully powered embedded relay like how android and notedeck do.

This will enable powerful new features like local profile search which i want to add soon.

Thanks for finally getting this over the finish line!

Changes

Askia Linder (2):

  • User section will be the last section in MutedView.
  • Handle npub correctly in draft notes

Charlie Fish (1):

  • nostrdb/tce: add AUTH to-client-event

Daniel D’Aquino (36):

  • Fix issue with balance loading appearance
  • Add send feature
  • Display wallet response error if available
  • Implement max budget setting for Coinos one-click wallets
  • Add .build to .gitignore
  • Integrate follow packs into onboarding suggestions
  • CI: Fix UI tests to include new onboarding steps
  • ui: Stabilize ImageCarousel height when swiping between images
  • nostrdb: Fix heap buffer overflow
  • Create NostrDB streaming and async lookup interfaces
  • Wait for note in NostrDB before rendering it
  • Enable address sanitizer for debug configuration
  • Add justfile
  • Temporarily disable broken tests
  • Fix broken DM rendering
  • Fix incorrect buffer size argument in block parsing
  • Fix blocks_size calculation
  • Improve lifetime handling in collectBlocks
  • Make NdbBlock ~Copyable for better lifetime safety
  • Do not show images twice
  • Fix stack corruption in bech32 parsing
  • Remove deprecated nrelay uses from tests
  • Update Invoice tests to use the new blocks interface, and fix reverse blocks iteration indexing
  • Prevent crash from ndb search test
  • Disable invoice block parsing tests
  • Disable bai kanji test
  • Reword subscript out-of-bounds assertion
  • Fix nprofile parsing failure
  • Fix highlight comment rendering
  • Render profile bios
  • Fix app swap crash
  • Fix quoted note regression
  • Fix regressions in note content rendering logic
  • Verify events at RelayConnection
  • Fix MAX_PREFIX parameter on bolt11 parsing logic
  • Fix edge case around bolt11 invoice parsing

Ken Sedgwick (1):

  • nostrdb: Only log to stdout if NDB_LOG is defined

Rusty Russell (18):

  • nostrdb: bolt11: move utf8_check into local function.
  • nostrdb: Makefile: build using ccan/ versions of files.
  • nostrdb: src: delete copies outside ccan/ dirs.
  • nostrdb: Makefile: fix missing dependencies on bolt11 headers.
  • nostrdb: bolt11: update to latest version from CLN
  • nostrdb: bolt11: remove unneeded fields.
  • nostrdb: content_parser: fix incorrect comment.
  • nostrdb: nostrdb: fix ndb_builder_find_str.
  • nostrdb: ccan: copy ccan files into their own subdirectory.
  • nostrdb: bolt11: move utf8_check into local function.
  • nostrdb: Makefile: build using ccan/ versions of files.
  • nostrdb: ccan: sync with normal versions.
  • nostrdb: ccan: update to latest.
  • nostrdb: Makefile: fix missing dependencies on bolt11 headers.
  • nostrdb: bolt11: update to latest version from CLN
  • nostrdb: bolt11: remove unneeded fields.
  • nostrdb: content_parser: fix incorrect comment.
  • nostrdb: nostrdb: fix ndb_builder_find_str.

Swift (1):

  • Fix stretchy banner header in Edit profile

Terry Yiu (19):

  • Add privacy-based redaction to wallet view
  • Add privacy-based redaction to nsec in key settings view
  • Fix wallet transactions to always show profile display name unless there is no pubkey
  • Hide end previewables when hashtags are present
  • Add web of trust reply sorting in threads to mitigate spam
  • Add tip in threads to inform users what trusted network means
  • Rename Friends of Friends to Trusted Network and add popover tips to DMs and Notifications toolbars on Trusted Network button
  • Export strings for translation
  • Export strings for translation
  • Fix localizable strings in FollowPackView
  • Remove incorrect Thai translation for notes_from_three_and_others
  • Fix note rendering to include non-media link previews with image, video, and icon removed when media previews are disabled
  • Remove image, video, and icon from non-media link previews if media links are present to reduce screen clutter
  • Export strings for translation
  • Export strings for translation
  • Fix #nsfw tag filtering to be case insensitive
  • Add relay hints to tags and identifiers
  • Fix note content rendering to not remove whitespace before hashtag
  • Add relay count and relay view to events

Transifex (22):

  • Translate Localizable.strings in nl
  • Translate Localizable.stringsdict in nl
  • Translate Localizable.stringsdict in nl
  • Translate Localizable.strings in nl
  • Translate Localizable.stringsdict in th
  • Translate Localizable.strings in th
  • Translate Localizable.stringsdict in th
  • Translate Localizable.stringsdict in th
  • Translate Localizable.strings in th
  • Translate Localizable.strings in nl
  • Translate Localizable.strings in ja
  • Translate Localizable.stringsdict in ja
  • Translate Localizable.strings in ja
  • Translate Localizable.strings in nl
  • Translate Localizable.strings in nl
  • Translate Localizable.strings in th
  • Translate Localizable.strings in de
  • Translate Localizable.stringsdict in de
  • Translate Localizable.stringsdict in de
  • Translate Localizable.stringsdict in de
  • Translate Localizable.strings in de
  • Translate Localizable.strings in de

William Casarin (182):

  • nostrdb/build: fix additional compiler errors
  • nostrdb/stream: actually use file pointer in stream api
  • c: move cursor.h to nostrdb subdir
  • nostrdb/api: don't expose many internals, like note
  • nostrdb/cursor: fix warning that build.rs is complaining about
  • nostrdb/rust: initial api for Ndb and NdbConfig
  • nostrdb/build: fix constness on config pointer in ingester thread
  • nostrdb/re-apply ispunct crash fix
  • c: move compiler to nostrdb dir
  • nostrdb: add supporting files before the move commit
  • nostrdb: add supporting files for the bolt11 parser
  • c: move c files into nostrdb in prep for switchover
  • nostrdb: port everything over to be in as sync as possible
  • nostrdb: move everything to src
  • nostrdb/add initial content parser
  • nostrdb/add libnostrdb.a
  • nostrdb/cursor: re-apply infinite loop bug fix
  • nostrdb/test: disable migrate for now
  • nostrdb/varint: switch to 64 bit varints
  • nostrdb/fix build
  • nostrdb/fix github action
  • nostrdb/make: cleanup a bit, separate bench running
  • nostrdb/block: add bolt11 invoice encoding/decoding
  • nostrdb/bech32: retab
  • nostrdb/nostr_bech32: only parse up to raw bech32 buffers
  • nostrdb/cursor: add malloc_slice
  • nostrdb/cursor: add pull_varint_u32
  • nostrdb/cursor: fix empty string pushing in push_c_str
  • nostrdb/cursor: fix some warnings
  • nostrdb/cursor: add align function
  • nostrdb/search: switch to cursor_align function
  • nostrdb/Inital embedded content parser
  • nostrdb/nostr_bech32: parse in one pass
  • nostrdb/bech32: add some initial tests
  • nostrdb/content_parser: add initial db decoders
  • nostrdb/blocks: add note block iterator
  • nostrdb/bech32: fix big in bech32 size parsing
  • nostrdb/parser: fix bech32 block decoding
  • nostrdb/invoice: fix crash in any-amount invoice parsing
  • nostrdb/header: move bech32 around
  • nostrdb/blocks: add total_size
  • nostrdb/blocks: add ndb_blocks_free
  • nostrdb/blocks: actually set the note block version
  • nostrdb/blocks: write note blocks on ingest
  • nostrdb/blocks: expose block iterator internals
  • nostrdb/fix clang compile issue
  • nostrdb/fix: don't write the owned flag to the DB
  • nostrdb/blocks: add ndb_blocks_flags function
  • nostrdb/disable lmdb download
  • nostrdb/Initial nostrdb relay subscriptions
  • nostrdb/test: switch reaction test to use subscriptions
  • nostrdb/search: don't enforce sequential tokens
  • nostrdb/subs: subs and monitor cleanup
  • nostrdb/filters: add ndb_filter_group_init function
  • nostrdb/debug: add a few more debug statement
  • nostrdb/subs: notify on profile notes as well
  • nostrdb/subs: always fail when calling wait_for_notes on a subid of 0
  • nostrdb/filter: sort filter elements
  • nostrdb/filter: use binary search for large contact list filters
  • nostrdb/filters: remove ndb_filter_group from public API
  • nostrdb/ocd: small cleanup
  • nostrdb/filter: don't allow adding id elements on kinds
  • nostrdb/cursor: remove old array code
  • nostrdb/query: extract ndb_cursor_start
  • nostrdb/cursor: fix bug when pushing last element
  • nostrdb/Initial nostrdb queries
  • nostrdb/query: implement kind queries
  • nostrdb/debug: add print_kind_keys helper
  • nostrdb/cleanup: remove old dbscan stuff
  • nostrdb/filter: rename FILTER_GENERIC to FILTER_TAG
  • nostrdb/index: make sure kind index is DUPSORT + INTEGERDUP
  • nostrdb/Query Plans
  • nostrdb/ndb: add inital query command
  • nostrdb/query: support until for kind query plans
  • nostrdb/ndb: measure query performance
  • nostrdb/fix macos build
  • nostrdb/perf: add some flamegraph helpers to makefile
  • nostrdb/filter: don't end field if we don't have one active
  • nostrdb/query: add tag index and tag queries
  • nostrdb: strblock: add typedef
  • nostrdb: header: add ptr helpers for swift
  • nostrdb: blocks: add word count interface
  • nostrdb: tce: fix build for previous TCE change
  • nostrdb: port kernelkind's to the new bech32 parser
  • nostrdb: queue: switch to prot_queue_try_pop_all
  • nostrdb: ndb: add ndb_poll_for_notes
  • nostrdb: filters: copy filter metadata into subscription
  • nostrdb: silence annoying debug
  • nostrdb: return number of items popped when polling
  • nostrdb: query: include note size in query results
  • nostrdb: filter: add ndb_filter_end
  • nostrdb: filter: use relative data offsets for easy cloning
  • nostrdb: filter: add ndb_filter_clone
  • nostrdb: filter: make sure to return clone errors
  • nostrdb: filter: make sure clone copies metadata
  • nostrdb: random: add getrandom fallback for android
  • nostrdb: fix a few note size compile issues
  • nostrdb: cores: just set to 2 on unknown platforms
  • nostrdb: plan: add created_at query plan
  • nostrdb: plan: use a less efficient plan for author query plans
  • nostrdb: fix dubious looking parens logic
  • nostrdb: build: fix compile warning
  • nostrdb: add ndb_unsubscribe
  • nostrdb: add ability to register a subscription callback
  • nostrdb: fix realloc corruption
  • nostrdb: api: add ndb_note_json
  • nostrdb: ndb: dump json in filters and fulltext queries
  • nostrdb: ndb_note_json: return length
  • nostrdb: fix note content parsing bug with damus.io urls
  • nostrdb: debug: improve tag index display
  • nostrdb: fix bech32 parsing and add test
  • nostrdb: Fix issue where id tag filters are pushed as strings
  • nostrdb: add ndb_filter_json method
  • nostrdb: make more things const
  • nostrdb: expose ndb_filter_get_elements
  • nostrdb: expose filter introspection methods
  • nostrdb: ndb_filter_from_json
  • nostrdb: filter: allow mutable int elements
  • nostrdb: filter: retain const variant of get_int_elemnet
  • nostrdb: content_parser: fix blocks_size
  • nostrdb: resync with repo
  • nostrdb: filter: allow mutable int elements
  • nostrdb: filter: retain const variant of get_int_elemnet
  • nostrdb: print search keys to stdout
  • nostrdb: ingest: support kind 6 reposts
  • nostrdb: add ndb_subscription_filters
  • nostrdb: rename get_elems to find_elements
  • nostrdb: add ndb_filter_eq
  • nostrdb: ndb_filter_is_subset_of
  • nostrdb: ndbfilter{eq,is_subset_of}: make interfaces const
  • nostrdb: fix windows build
  • nostrdb: windows: fix threading bugs
  • nostrdb: fix heap corruption on windows
  • nostrdb: mem: reduce default queue size
  • nostrdb: make the subscription monitor threadsafe
  • nostrdb: rename: ndb_u64_tsid to ndb_u64_ts
  • nostrdb: misc: move some functions around
  • nostrdb: introduce ndb_id_u64_ts
  • nostrdb: add ndb_db_is_index
  • nostrdb: add note pubkey and pubkey_kind indices
  • nostrdb: migrate notes to have pubkey indices
  • nostrdb: always show migration text
  • nostrdb: ids: fix typo in ndb_query_plan_execute_ids
  • nostrdb: simplify ndb_query_plan_execute_ids
  • nostrdb: earlier since check in ndb_query_plan_execute_created_at
  • nostrdb: add authors query plan
  • nostrdb: migration: dont fail v3 -> v4 on 0 migrations
  • nostrdb: leak: fix memory leak when failing to write like stats
  • nostrdb: writer: rename any_note to needs_commit
  • nostrdb: flags: make some indexes optional
  • nostrdb: migrations: make migrations asyncronous
  • nostrdb: bug: add missing break statement
  • nostrdb: subs: fix memory leak in ndb_subscribe
  • nostrdb: monitor: lock monitor when we're freeing subscriptions
  • nostrdb: query: add missing since check to kind query
  • nostrdb: filter: introduce ndb_filter_init_with
  • nostrdb: remove ndb_writer_queue_note (dead code)
  • nostrdb: refactor: use kind variable for clarity
  • nostrdb: add is_replaceable_kind helper
  • nostrdb: debug: fix debug logs
  • nostrdb: filter: fix ndb_filter_init_with and make public
  • nostrdb: nip50: add support for search field in filters
  • nostrdb: filter: add ndb_filter_find_search helper
  • nostrdb: refactor: a few small formatting changes
  • nostrdb: search: sort search terms from largest to smallest
  • nostrdb: nip50: add filter argument to fulltext search
  • nostrdb: Implement nip50 fulltext searching
  • nostrdb: fix compile issues on macOS
  • nostrdb: print-search-keys: add size of key information
  • nostrdb: nip19: add kind to naddr & nevent
  • nostrdb: cleanup previous patch
  • nostrdb: fix iOS crash on latest version
  • c: re-add damus-only C stuff
  • c: remove some unused files from project
  • optimized id matching function
  • Switch over to use use blocks from nostrdb
  • Fix relay compile issue
  • ndb: add subscription callback initializers
  • test: fix broken tests
  • add assert to catch potential bug
  • project: remove some references
  • fixes

Yasuhiro Matsumoto (1):

  • nostrdb/add "import -"

askeew (1):

  • Fix display issues with pasted or uploaded images

ericholguin (3):

  • Follow Packs
  • Update README
  • refactor: Adding structure

franzap (1):

  • nostrdb: bug: use indices[i] as index is not defined

kernelkind (1):

  • nostrdb/parser: handle period at end of url

shuoer86 (1):

  • nostrdb/Fix typos

pushed to damus:refs/heads/master