Default avatar
npub1ahck...7v97
npub1ahck...7v97
Scan QR code from static image (#1566) PR'd this again cause it was just easier than figuring out my git issues. This PR allows users to open the link in a QR Code if it exists. Detects if there is a qr code and extracts that info, if it is an lnurl it'll append the lightning prefix so it can be opened by a lightning wallet. If it is a regular link it'll open a dialog to ask the user if they want to open the link, with the link displayed. If there is no link it show a dialog that says no qr code found. See these notes for video examples: scan-image-qr-2, 3 commits
Scan QR code from static image (#1550) This PR allows users to open the link in a QR Code if it exists. Detects if there is a qr code and extracts that info, if it is an lnurl it'll append the lightning prefix so it can be opened by a lightning wallet. If it is a regular link it'll open a dialog to ask the user if they want to open the link, with the link displayed. If there is no link it show a dialog that says no qr code found. See these notes for video examples: scan-image-qr, 1 commits
[#1530] Create new controls UI for video playback (#1537) Addresses #1530 Create a new controls UI layer for the DamusVideoPlayer, providing play/pause, volume control, content scale, playback rate controls, as well as a seek/timecode bar. <img width="594" alt="Screenshot 2023-09-05 at 11 42 46" src="https://github.com/damus-io/damus/assets/1031501/de89196e-0951-4a59-8430-99a8cd166e60"> <img width="586" alt="Screenshot 2023-09-05 at 11 42 55" src="https://github.com/damus-io/damus/assets/1031501/4a947870-640d-4c7e-89f7-1eab30326aa3"> Current features: - Scrub on the horizontal seek bar to change the playback time - Play/Pause button - Mute/Unmute button and volume vertical slider - Select playback rate from 0.5x up to 2.0x - Tap video to hide/show controls - Player has option to hide controls on startup - Player's video tap behavior can be customized Fixes: - The VideoPlayer has been reworked from frame-by-frame updating to an event-driven model, significantly improving performance and understandability. Known Issues: - This still suffers from [#1386] as that is a navigation/data model architecture issue, not specific to the video player. Note: - This feature DOES NOT INCLUDE A FIX FOR #1386 ! That fix will be provided in a future PR. Bounty: 100k satoshis(BTC) -> 0.001 BTC Payout Address: `bc1q5sxugecyhq5stxn4d79p4908hdr7ljcn35uyk7` <img width="341" alt="btc001" src="https://github.com/damus-io/damus/assets/1031501/54552b4f-ad4e-4842-b1a2-2ac44bf47ad7"> issue/1530-video-controls, 2 commits
Profiles in nostrdb (#1520) This adds profiles to nostrdb and replaces our in-memory and ProfileDatabase cache with it - Remove in-memory Profiles caches, nostrdb is as fast as an in-memory cache - Remove ProfileDatabase and just use nostrdb directly ## TODO - [ ] cache lnurl properly - [ ] add database versions for migrations nostrdb-profiles, 5 commits
Move the Block helper type to its own file (#1496) Move the Block helper type to its own file, collapse the various standalone functions for parsing block data, and refactor consumers to initialize a Block with given data and access its members as needed. This is a more "idiomatic" approach to these C-backed data structures, and moves a number of these functions, extensions, and types into `fileprivate` scope, removing them from the global symbols and generally cleaning up their interface and usage. I plan to continue these "cleanup and refactor" changes as I learn more about the repository. refactor/block-initializer, 1 commits
Adding zap icon to Eurothon hashtag (#1477) Adding the Zap ⚡️ icon to the Eurothon hashtag. I created a new property for Eurothon. I'm using the same svg icon file, just like the Zapathon hashtag. I couldn't test it because I don't have a macOS environment. Issue: #1474 eurothon-zap, 1 commits
Fixing counting -1 (#1473) Fix for issue #1467 The 'others' count is higher than pubkeys count Note json : `{ "pubkey": "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322", "content": "No, just so other people can hear and profit, that's the point of the podcast. But I see you're PNW too, coffee also works if we end up in the same vicinity!", "id": "2c271f78da9522a342f6178667e4dd30423cab65a559f1fd683071d130fc3477", "created_at": 1691611954, "sig": "de62016ad6260180f9f99b83773066c60db63790560e3bd6239995e26526d647a2776469f6de0855bd9deab8d2a42c1fcddd275b07f7b5924bb0d4a922f486e3", "kind": 1, "tags": [ [ "p", "61066504617ee79387021e18c89fb79d1ddbc3e7bff19cf2298f40466f8715e9", "wss:\\/\\/anon.computer", "atyh" ], [ "e", "b7f986c892a0f128c131ab90996fcb94fac2c80869cb88a5d021e0b2f3609045", "wss:\\/\\/offchain.pub", "root" ], [ "e", "ad8d909a66d848a6101d7482245f484c86e3d6597fcec19921e1cc0f5b6e94fb" ], [ "e", "18ebd3e8f86bf3f318ed0a71e3853855bde59f3be433e37a958b33be8273f8e6", "wss:\\/\\/offchain.pub", "reply" ], [ "client", "coracle" ] ] }` replay-counting-fix, 1 commits
Add nip 98 support for nostr.build (#1471) This change implements support for NIP-98 and uses it for uploads to nostr.build. It is also changing the nostr.build API end-point to V2. Implements #823 add-nip-98-support-nostr-build, 7 commits
[UX] Fix Issue 1238: Videos sounds can play over each other (#1266) Fix issue #1238 This is a Draft - current solution seems fairly robust - scroll away & video stops; scroll back & it starts over - ...but still investigating potentially more robust solutions i.e. whether it could be more responsive / sensitive to scrolling away even at higher scroll speed (as in below demo) Demo video of current fix in this post: [~1 min. / 50MB] UX-DamusVideoPlayer--Fix-Issue-1238--Videos-sounds-can-play-over-each-other, 1 commits
add relay logging (#1263) This PR adds relay logging to the RelayDetailView. Features: * list of events, most recent at the top * shows changes to RelayConnection's state * shows changes to network state * RelayDetailView updates live as lines are added to the log * logs persisted to disk for later investigation * line limit prevents unbounded file growth Here's how it looks when resuming after having the app in the background for a while and the relays need to reconnect: ![relay-log](https://github.com/damus-io/damus/assets/445882/fd788aae-ed44-49c5-9dd1-4e6c7398456e) relays, 5 commits
NostrScript (#1246) 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 nostrscript, 1 commits