Skip to content

Release 1.0.11 - #24

Merged
r0073rr0r merged 12 commits into
mainfrom
develop
Aug 28, 2026
Merged

Release 1.0.11#24
r0073rr0r merged 12 commits into
mainfrom
develop

Conversation

@r0073rr0r

Copy link
Copy Markdown
Contributor

IRC client parity sprint: per-network text encoding, message font picker, message format editor, per-event sounds, DCC transfers modal, reaction sending, channel settings screen, command aliases editor, offline message queue, connection quality indicator, keyboard shortcuts, kick/ban preset editor, writing options, diagnostics section, battery optimization UX, and per-channel notification rules with vibration/LED.

Version 1.0.11+15, 515 tests green, flutter analyze clean.

- Allow dismissing the green connected status banner in chat once the
  connection is stable; error/reconnect states stay visible
- Move Premium & ads section right below Connections for free users and
  down above Help after a permanent no-ads purchase
- Bump version to 1.0.10+14 and sync app version constants
- Add widget tests for banner dismissal and settings section ordering
- Decode incoming lines and encode outgoing lines with a per-network
  charset (ISO-8859-x, Windows-125x, KOI8, GBK, Big5) via enough_convert
- Optional prefer-UTF-8 mode decodes UTF-8 lines first and falls back to
  the legacy charset per line; sends stay UTF-8 in that mode
- Split socket bytes into lines before decoding so multi-byte characters
  never straddle chunk boundaries
- Text encoding picker + fallback toggle in the network form
- New messageFontFamily setting ('system' default) with Android family
  choices: sans-serif variants, serif, monospace
- Replaces the monospace switch in Settings → Appearance; legacy
  monospaceMessages still applies when family is 'system' and stored
  settings without the new key migrate to 'monospace' automatically
- New Settings → Appearance → Message format screen with live preview
- Timestamp format (24h/12h, with/without seconds) and position
  (before/after nick) settings applied to the chat message list
- Nick decoration styles: plain, <nick>, nick:, [nick]
- SoundService plays bundled WAV sounds (from the previous app) for IRC
  events: mention, PM, notice, join, kick, CTCP, connect/disconnect,
  send, error, and DCC offers, with master volume and per-event toggles
- Settings → Notifications → Sounds screen with preview playback
- Session controller triggers sounds independently of notification
  permission gating; connection sounds fire once per phase change
- audioplayers backend, injectable player for tests
- Chat app bar shows a transfers icon with an active-session badge
  whenever DCC sessions exist
- Bottom sheet lists all sessions with live progress, speed/ETA, and
  per-session open-tab and cancel actions
- closeDccSessionByTab lets the modal cancel any session, not just the
  active tab's
- Quick-reaction emoji row on long-press for messages with a msgid
- reactToMessage sends the draft/react TAGMSG (RN-compatible
  msgid;emoji tag format) and records the local reaction immediately
…presets

- ChannelSettingsScreen (tab options → Channel settings): topic, auto-join
  toggle persisted to the network config, local note editor, recent log
- Command aliases editor in Settings → Writing: user aliases persist,
  expand in the composer, and can shadow built-in shortcuts
- Offline outbox: messages typed while disconnected queue with a notice
  and flush in order after registration completes
- Connection quality: app bar status shows lag and good/ok/slow rating
- Kick/ban preset reasons are user-editable in Settings → Channels and
  feed the moderation dialog
- Composer autocorrect, keyboard suggestions, and sentence
  capitalization toggles in Settings → Writing
- Hardware keyboard shortcuts: Ctrl+Tab / Alt+arrows switch tabs, Tab
  accepts the first nick-completion suggestion
- Advanced section: app version row and copy-diagnostics action
- Battery optimization exemption request in Settings → Permissions so
  background connections survive Doze
- Per-channel/query override in channel settings: default, all
  messages, mentions only, or muted — applied to both notifications
  and event sounds, persisted per network
- "All messages" promotes regular channel chat to a highlight
  notification; "muted" silences even highlights
- Android highlight/query/error notification channels now enable
  vibration and the notification LED at creation; Settings →
  Notifications links to the system channel configuration
- Bump version to 1.0.11+15
# Conflicts:
#	lib/app/app.dart
#	lib/core/app/app_version.dart
#	lib/features/chat/presentation/chat_screen.dart
#	lib/features/settings/presentation/settings_screen.dart
#	pubspec.yaml
@r0073rr0r
r0073rr0r merged commit f85ea0a into main Aug 28, 2026
2 checks passed
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