-
![](https://cdn.jb55.com/img/red-me.jpg)
@ jb55
2025-02-08 20:20:46
This period of the Damus OpenSats grant has been productive, and encompasses the work past our alpha release of Notedeck. Since we sent our last report on Dec 5, this encompasses all the work after then.
Damus is supported by the OpenSats LTS grant, which allows us to continue working on the goodies below. Thank you!
## Damus Notedeck
### Added
- Initial algo timelines (William Casarin) [#712](https://github.com/damus-io/notedeck/pull/712)
- Initial support for local-network P2P nostr: multicast support (William Casarin) [#626](https://github.com/damus-io/notedeck/pull/626)
- First steps toward the notedeck browser: multiple app support [#565](https://github.com/damus-io/notedeck/pull/565)
- Clicking a mention now opens profile page (William Casarin) [5a241d730](https://github.com/damus-io/notedeck/commit/5a241d730e3d83f8057e211485edfde2f3c96e54)
- Note previews when hovering reply descriptions (William Casarin) [#591](https://github.com/damus-io/notedeck/pull/591)
- Various Android updates and compatibility improvements (Ken Sedgwick, William Casarin)
- Media uploads (kernelkind) [#662](https://github.com/damus-io/notedeck/pull/662)
- Profile editing (kernelkind) [#625](https://github.com/damus-io/notedeck/pull/625)
- Add hashtags to posts (Daniel Saxton) [#592](https://github.com/damus-io/notedeck/pull/592)
- Enhanced command-line interface for user interactions (Ken Sedgwick)
- Debug features for user relay-list and mute list synchronization (Ken Sedgwick)
### Changed
- Major timeline cache refactor (William Casarin) [#653](https://github.com/damus-io/notedeck/pull/653)
- Increased ping intervals for network performance (William Casarin)
- Migrated to egui v0.29.1 (William Casarin) [#551](https://github.com/damus-io/notedeck/pull/551)
- Switch to only notes & replies on some tabs (William Casarin) [#598](https://github.com/damus-io/notedeck/pull/598)
- Only show column delete button when not navigating (William Casarin)
- Pointer interactions enhancements in UI (William Casarin)
- Show profile pictures in column headers (William Casarin)
- Show usernames in user columns (William Casarin)
- Add confirmation when deleting columns (kernelkind)
- Enhance Android build and performance (Ken Sedgwick)
- Image cache handling using sha256 hash (kieran)
- Introduction of decks_cache and improvements (kernelkind)
- Nostrdb update for async support (Ken Sedgwick)
- Persistent theme setup across sessions (kernelkind)
- Tombstone muted notes (Ken)
### Fixed
- Fix GIT_COMMIT_HASH compilation issue (William Casarin)
- Fix avatar alignment in profile previews (William Casarin)
- Fix broken quote repost hitbox (William Casarin)
- Fix crash when navigating in debug mode (William Casarin)
- Fix long delays when reconnecting (William Casarin)
- Fix repost button size (William Casarin)
- Fixed since kind filters (kernelkind)
- Clippy warnings resolved (Dimitris Apostolou)
## Damus iOS
Work continued on the iOS side. While I was not directly involved in the work since the last report, I have been directing and managing its development.
### Added
- Render Gif and video files while composing posts (Swift Coder)
- Purple members who have been active for more than a year now get a special badge (Daniel D’Aquino)
- Add profile info text in stretchable banner with follow button (Swift Coder)
- Paste Gif image similar to jpeg and png files (Swift Coder)
### Changed
- Improved clarity of the mute button to indicate it can be used for blocking a user (Daniel D’Aquino)
- Made the microphone access request message more clear to users (Daniel D’Aquino)
- Improved UX around the label for searching words (Daniel D’Aquino)
- Improved accessibility support on some elements (Daniel D’Aquino)
### Fixed
- Fixed issue where the "next" button would appear hidden and hard to click on the create account view (Daniel D’Aquino)
- Fix non scrollable wallet screen (Swift Coder)
- Fixed suggested users category titles to be localizable (Terry Yiu)
- Fixed GradientFollowButton to have consistent width and autoscale text limited to 1 line (Terry Yiu)
- Fixed right-to-left localization issues (Terry Yiu)
- Fixed AddMuteItemView to trim leading and trailing whitespaces from mute text and disallow adding text with only whitespaces (Terry Yiu)
- Fixed SideMenuView text to autoscale and limit to 1 line (Terry Yiu)
- Fixed an issue where a profile would need to be input twice in the search to be found (Daniel D’Aquino)
- Fixed non-breaking spaces in localized strings (Terry Yiu)
- Fixed localization issue on Add mute item button (Terry Yiu)
- Replace non-breaking spaces with regular spaces as Apple's NSLocalizedString macro does not seem to work with it (Terry Yiu)
- Fixed localization issues in RelayConfigView (Terry Yiu)
- Fix duplicate uploads (Swift Coder)
- Remove duplicate pubkey from Follow Suggestion list (Swift Coder)
- Fix Page control indicator (Swift Coder)
- Fix damus sharing issues (Swift Coder)
- Fixed issue where banner edit button is unclickable (Daniel D’Aquino)
- Handle empty notification pages by displaying suitable text (Swift Coder)
## Nostrdb
nostrdb, the engine that powers [notecrumbs](https://github.com/damus-io/notecrumbs), damus iOS, and notedeck, continued to improve:
### Added
- Added nip50 fulltext searching (William Casarin) [#68](https://github.com/damus-io/nostrdb/pull/68), [demo](nostr:nevent1qqsp3rx83t5h0vdhu4txru76uycfnaegfj3wg6wncamkarcnrccssvcpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzqvhpsfmr23gwhv795lgjc8uw0v44z3pe4sg2vlh08k0an3wx3cj9efqkkv)
- Added async migrations (William Casarin) [#59](https://github.com/damus-io/nostrdb/pull/59)
- Implement author queries (William Casarin) [#57](https://github.com/damus-io/nostrdb/pull/57)
- Make `ndb` threadsafe (William Casarin) [#56](https://github.com/damus-io/nostrdb/pull/56)
## Nostrdb Rust
Our nostrdb rust bindings also had improvements
- Async! Adding efficient, poll-based stream support (William Casarin): [#25](https://github.com/damus-io/nostrdb-rs/pull/25)
## Notecrumbs
Notecrumbs, the njump-style opengraph server that powers the damus.io links, got an update that upgraded it to async nostrdb
- Switch to async nostrdb-rs (William Casarin) [#16](https://github.com/damus-io/notecrumbs/pull/16)
## How money was used
- relay.damus.io server costs
- Living expenses
## Next quarter
Our goal for next update: zaps, android version, lists, outbox model for notedeck. Olas images in damus iOS, continue switching Damus iOS over to local relay model so we can add outbox support.