B1 grouping: same-sender runs within 5 min collapse to one name + one avatar (last-of-run), tight padding, tail corner only on last bubble B2 day separators: Today/Yesterday/d MMM chip above each local day's first message, Column wraps the gesture widget (long-press preserved) B4 quick reactions: six preset emoji + full-picker button atop the long-press menu, wired to the existing sendReaction provider Verified end-to-end in headless Chromium on the production build; tapping a preset sends a real m.reaction (confirmed server-side). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
19 lines
669 B
Dart
19 lines
669 B
Dart
// Version: 2.1.0 | Created: 2026-04-01 | Updated: 2026-07-03
|
|
// App-wide constants. Change matrixBaseUrl for different environments.
|
|
|
|
abstract final class AppConfig {
|
|
static const String matrixBaseUrl = 'https://matrix.m8chat.au';
|
|
static const String matrixServerName = 'matrix.m8chat.au';
|
|
static const String livekitJwtUrl =
|
|
'https://matrix.m8chat.au/_matrix/livekit/jwt';
|
|
static const List<String> turnUrls = [
|
|
'turn:matrix.m8chat.au:3478',
|
|
'turns:matrix.m8chat.au:5349',
|
|
];
|
|
static const String appName = 'M8Chat';
|
|
static const String appVersion = '1.9.0';
|
|
|
|
// Jitsi conferencing
|
|
static const String jitsiDomain = 'conf.m8chat.au';
|
|
}
|