Skip to content

Develop - #14

Merged
r0073rr0r merged 15 commits into
mainfrom
develop
Aug 21, 2026
Merged

Develop#14
r0073rr0r merged 15 commits into
mainfrom
develop

Conversation

@r0073rr0r

Copy link
Copy Markdown
Contributor

Pull Request

Summary

  • Describe the change
  • Reference any related issues

Checklist

  • Tests added or updated (if applicable)
  • Documentation updated (if applicable)
  • UI changes include screenshots (if applicable)

Install global FlutterError/PlatformDispatcher handlers that record uncaught
errors on device, sanitized of passwords, tokens, SASL/PASS/AUTHENTICATE
arguments, PEM blocks and long opaque tokens. A new Crash reports screen in
Settings lists the retained reports and lets the user email one to
contact@androidircx.com through their own mail client — nothing is sent
automatically and no analytics SDK is used.
The test polled only ~10ms for the session to reach closed, which was too
short on slow CI runners and failed intermittently. Wait up to ~3s for the
real completion condition (closed status, 4 bytes transferred, finished log).
Long-pressing a channel tab opens a note dialog whose free-text memo is
stored on device, keyed by network and channel (mirrors the RN channelNotes
store). The dialog owns its text controller so it is disposed safely after
the exit animation.
Add a note action to the channel user-actions sheet: a free-text memo per
nick stored on device, keyed by network and lowercased nick, shown as the
sheet subtitle when present. The actions sheet now scrolls so it never
overflows on short screens.
Persisted mask rules (nick or nick!user@host wildcards, optional channel and
network scope) grant a channel mode to matching users when they join a
channel where we hold the needed privilege. Rules can be toggled per nick
from the channel user-actions sheet and managed on a new Auto-mode lists
screen in the drawer.
Tapping a video/audio attachment (or a media URL) now opens an in-app player
built on video_player instead of leaving the app, with play/pause, a scrubber
and position. Audio hides the video surface. The tap routing is extracted
into a testable attachmentTapAction().
Enabling app lock now prompts for fingerprint/PIN first and only turns on
after it succeeds, so a device without a working screen lock can never lock
the user out. Enabling it while the app is open no longer immediately locks
the screen — the lock engages on the next background/resume.
/autovoice, /autoop, /autohalfop (and un- variants) add or remove mask rules
for the current network, /autolist prints the configured rules. Registered in
the command service for autocomplete and help.
Add an "Import from file" action to the client-certificate section of the
network form. It reads a PEM file via the document picker, splits combined
certificate/key bundles into the cert and key fields, and points users to the
openssl conversion command for binary .p12/.pfx files.
Move Connections (server directory, identity profiles) to the top and Help to
the very bottom, with consistent spacing between all sections. Make the
settings widget tests scroll to each control by key instead of using fixed
drag offsets so they are robust to section order.
Carry a base64 PKCS#12 bundle (plus its password) through the network form,
secret storage and ClientCertificate to the TLS SecurityContext, which parses
PKCS#12 natively for SASL EXTERNAL/CertFP. Importing a binary .p12/.pfx now
loads it directly instead of asking the user to convert to PEM; PEM files still
split into the certificate and key fields.
Register the video_player macOS plugin and pick up the Flutter migrator's
android.builtInKotlin/newDsl gradle flags added during the build.
Move to the AGP 9 DSL: migrate kotlinOptions to the Kotlin compilerOptions
DSL (jvmTarget 17) and drop the migrator's newDsl compatibility flag. Ignore
the Kotlin build session directory. Release appbundle builds and all tests
pass on the new toolchain.
@r0073rr0r
r0073rr0r merged commit 541163d into main Aug 21, 2026
2 checks passed
@r0073rr0r
r0073rr0r deleted the develop branch August 21, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant