- Convert filteredTransactions from cold Flow to StateFlow via stateIn()
to ensure reliable state updates with collectAsState()
- Add 30s timeout to NWC requests (fetchBalance, fetchTransactions,
loadMoreTransactions) so loading state resets if wallet doesn't respond
https://claude.ai/code/session_01CdNY7qYDRHJr1jhAFvVgzj
- Upload APK as a GitHub prerelease asset for direct .apk download
(no zip wrapping like artifacts)
- Remove commit comment, only comment on open PRs
- Clean up existing release with same tag before creating
https://claude.ai/code/session_0138kUcZaPQoQcAc7nA1KDbf
Use the artifact-id output from upload-artifact to construct a direct
GitHub artifact download URL. No third-party service needed — the URL
points to the artifact on GitHub which triggers a download when clicked.
https://claude.ai/code/session_0138kUcZaPQoQcAc7nA1KDbf
GitHub artifact URLs require authentication and don't provide direct
file downloads. nightly.link proxies artifact downloads, giving a
direct download link that works for anyone without GitHub login.
https://claude.ai/code/session_0138kUcZaPQoQcAc7nA1KDbf
The Claude Code web egress proxy does not include dl.google.com in its
allowlist, causing the session-start hook to abort entirely (due to
set -euo pipefail) when Android SDK downloads fail. This cascading
failure also prevented local.properties creation and ANDROID_HOME export.
Additionally, JAVA_TOOL_OPTIONS contains nonProxyHosts entries for
*.google.com and *.googleapis.com, which causes the JVM to bypass the
proxy for Google Maven, resulting in connection failures.
Changes:
- Remove set -euo pipefail; use per-section error handling instead
- Fix JAVA_TOOL_OPTIONS: strip *.google.com from nonProxyHosts
- Fix no_proxy: remove *.google.com and *.googleapis.com entries
- Move local.properties and env exports before SDK download section
- Make SDK downloads non-fatal with clear warning messages
- Install standalone ktlint as fallback for spotlessApply
- Create spotless-apply wrapper script for proxy-blocked environments
- Update Stop hook to fall back to spotless-apply when Gradle fails
https://claude.ai/code/session_01HeWiRdKDTnMGfEBUegk3d1
Add PR commenting to the build-benchmark-apk workflow. When a build
completes, it now finds any open PR for the branch and posts a comment
with a direct download link to the benchmark APK artifact.
https://claude.ai/code/session_0138kUcZaPQoQcAc7nA1KDbf
Adds filter chips (All / Zaps / Non-Zaps) to the transactions list.
Zap transactions are identified by having nostr metadata. The filter
is applied client-side via a combined Flow in WalletViewModel.
https://claude.ai/code/session_01CdNY7qYDRHJr1jhAFvVgzj
Add infinite scroll pagination to the wallet transactions screen.
When the user scrolls within 5 items of the bottom, the next page of
transactions is automatically fetched and appended. Uses the existing
NWC list_transactions limit/offset support and total_count to know
when all transactions have been loaded.
https://claude.ai/code/session_01CdNY7qYDRHJr1jhAFvVgzj
* 'main' of https://github.com/vitorpamplona/amethyst:
New Crowdin translations by GitHub Action
drawerGesturesEnabled is true whenever the drawer is in transition (target != current)
Split the logic between onPreScroll and onPostScroll
New Crowdin translations by GitHub Action
New Crowdin translations by GitHub Action
Unnecessary ?. / ?: / !! on non-null Missing @OptIn annotations Parameter name mismatches Icons.Filled.* / Icons.AutoMirrored.* No cast needed / remove inline LocalLifecycleOwner import fix NIP-51 name() → title() Chess gameId → startEventId Nullable DecimalFormat safe calls DelicateCoroutinesApi opt-in
use 50/50 split for pager vs dock zones
fix: allow swipe-to-close when drawer is open on pager screens