ff
hundehausen
ffe7daceb57342af434f1ff7607042db5ed4b9b90feb6fd460e0573d3487c006
Veganarchism. Monero is money. Privacy is not a crime. Give me Liberty, or give me Death!
Replying to Avatar Vitor Pamplona

#Amethyst v0.86.0: Draft Support

This version adds support for draft notes autosaved on your relays, a new simplified UI choice on Settings, changes the Discover tab algorithm to show the latest of chats and communities and much more.

Features:

- Draft notes for feeds, replies, live streams, public chats, NIP-04 DMs, GiftWrap DMs, polls and classifieds by nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5

- Adds autosave for Drafts by nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5

- Adds edit draft in the dropdown menu and the long press popup by nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5

- Adds a Draft feed screen for all posts

- Adds new algorithm to parse OpenGraph tags by nostr:npub168ghgug469n4r2tuyw05dmqhqv5jcwm7nxytn67afmz8qkc4a4zqsu2dlc

- Adds a Simplified UI setting to both feeds and chats

- Moves the username play button to the profile page.

- Adds link to the version notes when clicking in the version in the drawer

- Brings new git Issues and Patches to the Notification

- Filters out too many reposts of the same note when on the main feed

- Updates the bootstrap relay list

- Adds missing classes to support WebServer connections in the Video Playback

- Slightly reduces line height for improved readability

- Reduces the space between chat bubbles.

- Migrates shareable links from habla.news to njump.me

- Restructures the Discover Tab to show the Chats and Communities with the most recent new content.

- Adds a bot field to the user info

- Adds k-tag to the Deletion events

- Adds button to load Zap Splits from the cited users in the text

- Several accessibility improvements by nostr:npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef

Bug Fixes:

- Fixes the post cut-off when the post has massive string chars without spaces or new lines

- Fixes missing Fhir Classes on Release

- Don't show the button to edit the post if the author of the original post is not the logged in user

- Fixes crash parsing multiple results from Amber by nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5

- Fixes the load of edits on a new edit proposal

- Fixes forking information kept from a previous post

- Fixes search on binary content

- Fixes space after clickable user display

- Centers Blank Note when post was hidden by the user.

- Accepts JSON events with escaping errors

- Fixes the parsing of user metadata events several times due to large coroutine backlog

- Fixes Scheduled Tag in LiveStreams

- Fixes the isOnlineCheck for nostr nests.

- Fixes sorting contract issues when follow status and user names are the same between keys

- Fixes tickmarks on dropdowns

- Checks if a Classified is wellformed before rendering

- Fixes size and alignment of the text when the live stream video is not present.

- Fixes some imports for benchmarks

- Fixes infinite Quotation issue (3 quotes are allowed).

- Fixes crashing with too many videos in quoted posts.

- Fixes double Show More when the user has hidden a post and ALSO the user's followers have reported the post.

- Only shows OTS to the respective Edit

- Fixes a bug with the latest version of jackson

- Avoids showing machine-code errors when paying for zaps on external wallets

- Fixes too strict timing constraints for new posts (accepts up to a minute in the future)

- Fixes following of geotags

- Fixes lack of zap amount refresh after zapping a note.

- Fixes videos not being able to seekTo the zero position.

- Fixes layout issues of Blog Post summaries when images are not present.

- Doesn't show edits of blog posts in the User's Profile

- Fixes Amber's deep sleep: Adds a lifeCycleOwner listener to register external signers on resume

- Fixes missing context in some replies to blog posts.

- Adds a space after the Channel header in the reply rows

- Centralizes the counter after the list of participants in a live event.

- Fixes double mention to Community headers when seeing a reply to a community post.

- Fixes Chat preview images when no image has been set.

- Fixes the display or Zap Events when All Follows is selected in Notifications

- Fixes the reply event finder for the reply row of text notes

- Makes hidden cards full width on the discovery feed

- Fixes the width of muted messages on chat feeds.

- Fixes the feed updates after list selections on the Discovery pages.

- Realigns the reaction icons and texts between main feed and video feed.

- Fixes garbled URL preview for non-UTF-8 HTML by nostr:npub168ghgug469n4r2tuyw05dmqhqv5jcwm7nxytn67afmz8qkc4a4zqsu2dlc

- Adjusts icon sizes on the galleries

- Avoids publishing with two equal `t` hashtags when the user already writes them in lowercase

- Limits the size of image previews from opengraph from being too big

- Fixes NPE with the cached state.

- Increases the push notification max delay to 15 minutes

- Fixes controller comparison for keep playing

- Fixes tag markers for replies in DMs

- Fixes layout of the reply row in chats

- Fixes lack of blurhash preview in some videos

- Fixes the lack of following mark on user pictures in chats

- Fixes the UI spacing for channels

- Fixes the use of filters that didn't discriminate the relay type setup

- Holds the state of Show More when switching edits and translations

- Renders DMs and live chats in the feed if they show up there

- Fixes contract violation when sorting users

Updated translations:

- Spanish by nostr:npub1luhyzgce7qtcs6r6v00ryjxza8av8u4dzh3avg0zks38tjktnmxspxq903

- French by nostr:npub106efcyntxc5qwl3w8krrhyt626m59ya2nk9f40px5s968u5xdwhsjsr8fz

- Dutch by nostr:npub1w4la29u3zv09r6crx5u8yxax0ffxgekzdm2egzjkjckef7xc83fs0ftxcd

- Swahili by nostr:npub1q6ps7m94jfdastx2tx76sj8sq4nxdhlsgmzns2tr4xt6ydx6grzspm0kxr

- Chinese by nostr:npub1raspu6ag9kfcw9jz0rz4z693qwmqe5sx6jdhhuvkwz5zy8rygztqnwfhd7

- Bengali by nostr:npub13qtw3yu0uc9r4yj5x0rhgy8nj5q0uyeq0pavkgt9ly69uuzxgkfqwvx23t

- Hungarian by nostr:npub1ww8kjxz2akn82qptdpl7glywnchhkx3x04hez3d3rye397turrhssenvtp

- Czech, German, Swedish and Portuguese by nostr:npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef

- Arabic by nostr:npub13qtw3yu0uc9r4yj5x0rhgy8nj5q0uyeq0pavkgt9ly69uuzxgkfqwvx23t

- Thai by nostr:npub1tr66yvqghfdgwv9yxhmg7xx6pvgvu5uvdc42tgdhsys8vvzdt8msev06fl and nostr:npub1vm0kq43djwdd4psjgdjgn9z6fm836c35dv7eg7x74z3n3ueq83jqhkxp8e

Performance Improvements:

- Switches Robohash to Precompiled SVGs in order to reduce the memory burned of creating Strings with SVGs on the fly

- Restructures Data Access filters and LocalCache to use a ConcurrentSkipList instead of ConcurrentHashMap

- Only download video, image and audio files in NIP-94

- Updated hashtag icons for performance

- Avoids checks if a filter has changed before generating JSon strings

- Cleans up User Metadata upon receipt instead of in every rendering

- Simpler/Faster UserDisplay renderings

- Reduces video cache from 10 to 4 videos

- Removes coroutine use for Hashtags

- Brings the ZapForwarding icon to Compose

- Simplifies the algorithm to check if chatroom sender intersects with the follow list

- Avoids serializing temporary fields on Quartz

- Refactors views to the video and chat feeds

- Restructures NoteCompose for performance

- Restructures markAsRead to minimize threading cost

- Adds a large benchmark test for duplicate events

- Optimizing the performance of Highlight rendering

- After memory cleanup, only trigger liveData when it actually changes

- Minimizes memory use to calculate zaps

- Avoids triggering an error when decoding invalid hexes

- Reduces the amount of co-routines being launched in each LiveData update

- Migrates channel list and channel notes to LargeCache

- Removes the use of data classes to speed up comparisons

- Improves Nostr filter to bring public chat messages and avoid public chat creation and metadata updates

- Removes jsoup from dependencies

- Removes the need to observe author changes to event after loaded

- Turns hashtag icons into programmable vectors

- Moves the Following Vector to a native composable

- Removes unnecessary modifier layouts from the top bar

- Uses the cached thread pool instead of the scheduled thread pool for translation services

- Avoids launching coroutines that were just launched

- Makes a cache for Media Items

- Only changes the keep playing status if different

- Reduces recompositions after video/image hash verification

- Avoiding feed jitter when pressing the notification button twice

Code Quality Improvements:

- Breaks massive NoteCompose down into each event type

- Removes the release drafter plugin on actions. Too buggy

- Removes dependency of the Robohash from CryptoUtils

- Improves Preview helper classes

- Updates secp256k1KmpJniAndroid, compose, zoomable, media3, jackson and firebase libs

- Updates AGP to 8.3.1

- Deletes the old Settings local db

- Refactors some of the old display name structure

- Refactors Relay classes.

- Isolates the LargeCache forEach method to allow quick time measurements on filters

- Reorganizes classes in the commons lib

- Fixes test cases for nip96 uploaders

- Removes unused addMargin param

- Refactoring caching systems for the Compose layer

- Aligns the BOM between implementation and tests

- Refactors the use of dividers out of components

- Refactors composables to load events, check hidden and check report

- Fix Kotlin encryptDecryptTest to decrypt with swapped private and public keys to follow NIP-44 documentation by nostr:npub1yaul8k059377u9lsu67de7y637w4jtgeuwcmh5n7788l6xnlnrgs3tvjmf

- Finishes the migration of People List updates from LiveData to Flow

- Migrates all Refreshable feeds to the Refreshable box component

- Refactors cache methods in GiftWraps

- Migrates Media3 Videos to the DefaultMediaSourceFactory

Download:

- [Play Edition](https://github.com/vitorpamplona/amethyst/releases/download/v0.86.0/amethyst-googleplay-universal-v0.86.0.apk )

- [FOSS Edition - No translations](https://github.com/vitorpamplona/amethyst/releases/download/v0.86.0/amethyst-fdroid-universal-v0.86.0.apk )

/n/Vegan it's like a Subreddit 🙂

Oh wow the #vegan bubble on nostr that's awesome! ❤️

Syncing my Monero Node v0.18.3.3 on my GrapheneOS Pixel 8 on public WiFi of my train secured by the Tor network. It feels good man.

The researcher Rucknium analyzed the flooding #Monero transactions in March 2024. He points out, that the effective ring size has decreased from 16 to 5.5 in that time.

Read his paper:

https://github.com/Rucknium/misc-research/blob/main/Monero-Black-Marble-Flood/pdf/monero-black-marble-flood.pdf

Running Monero v0.18.3.2 with Termux on GrapheneOS behind Tor. It is unstoppable.

Traveling with Deutsche Bahn

#moneroof #offenbach #meetup

Developing TipXMR again.

I installed and played arounf with Samourais Monero - Bitcoin Atomic Swap GUI. I haven't used it yet, but I want to try it.

Has someone already tried it?

https://code.samourai.io/wallet/comit-swaps-java

#m=image%2Fjpeg&dim=1352x878&alt=Bitcoin+Monero+Atomic+Swap&blurhash=rC7_1hoLRjW%3DRPadaeoIt7%3Faj%40ofoIt8WXj%5Df%2CV%40%7Eqs%3ARjWrads.axV%40kC%3FHofozjFozbIj%5BbIae%7Eqs%3ARjR%2BRiaeayjYt7%3Faf%2BkCoet7WXj%5BbIWB&x=468a1a42173185264939759e86f62314c894cad1060f38965ff4dc6df55e371d

GM!

Thank you to everyone for the support (likes, zaps, follows etc.), it really means a lot! Seeing interactions from developers of #security and #privacy technologies is a massive bonus.

This is a personal account so I will not always be discussing GrapheneOS, but I will be working the best I can with you all.

Users of open projects and software like #nostr , cryptocurrencies and other privacy and security projects make up some of the most loyal users of #GrapheneOS and support of the project (such as social media growth, content creation and donations) helps to keep project development stable and add improvements at a faster rate by having funds for developers. It will be great to interact with other users and assist with questions and answers.

GrapheneOS' objective is to have the best mobile security and privacy operating system with #Android app compatibility. Examples of this work is adding leading hardening and privacy features that haven't yet been implemented by OEMs (like integration of MTE, additional app permission controls, hardened kernel and memory allocator) and designing features that come with lack of utility or the sacrifice of your security. We avoid security theater.

Likewise, the project's developments have helped open source software in various ways, such as some of the work being moved upstream to projects like AOSP or to related operating systems like DivestOS, or in disclosing security issues to OEMs. We hope users of outside #nostr continue their overwhelming support where GrapheneOS has helped you, the same way our various software projects helps others.

nostr:nevent1qqsrege6up2clk5xjcfnwpvvh257nwqzxct2f4hxzcfzny9eusn4vqsppamhxue69uhkummnw3ezumt0d5pzps26tfjesmn6ksf5mm36hpf9fkjut49sfeutfutvs2phrykn25v9qvzqqqqqqyga80cw

Will there be an official GrapheneOS Account on Nostr?