Commit Graph
5169 Commits
Author SHA1 Message Date
evgeny d72a2c092e Log avatar preparation generation and teardown state 2026-10-27 12:28:12 +01:00
evgeny 90d6f78a9e Resolve Qt 5 collection deduction in avatar and settings code 2026-10-27 12:26:58 +01:00
evgeny f54aa17e55 Observe buttonless pointer moves to cancel interrupted crop drags 2026-10-27 12:25:03 +01:00
evgeny 803d5f6583 Trace crop pointer state when a drag loses its button 2026-10-27 12:23:12 +01:00
evgeny 8c30c8e6ce Isolate avatar preparation generations and guard reentrant signals 2026-10-27 12:19:31 +01:00
evgeny d307492d22 Cover avatar preparation cancellation and reentrant owner deletion 2026-10-27 12:17:06 +01:00
evgeny b95d3628bf Check crop preview rendering and interrupted drags 2026-10-27 12:15:17 +01:00
evgeny 0a69864d10 Guard avatar upload controls across nested file and crop dialogs 2026-10-27 12:15:17 +01:00
evgeny 9c782be562 Bound avatar crop geometry and protect asynchronous preview lifetime 2026-10-27 12:10:36 +01:00
evgeny bfc280310d Cover avatar crop input bounds and modal owner lifetime 2026-10-27 12:07:36 +01:00
evgeny c25ed7c243 Report readable causes for malformed avatar blobs 2026-10-27 11:57:30 +01:00
evgeny 138de8d446 Document retryable avatar snapshot read failures 2026-10-27 11:57:30 +01:00
evgeny 90a588cfc1 Separate unpublished avatars from malformed published storage 2026-10-27 11:57:30 +01:00
evgeny 7d4da3a54d Treat an unpublished avatar as a successful empty read 2026-10-27 11:57:30 +01:00
evgeny a701580d54 Exercise main window destruction inside channel settings exec 2026-10-27 11:57:30 +01:00
evgeny bd105c630d Validate avatar read recovery and bounded typed blobs 2026-10-27 11:57:30 +01:00
evgeny 6106fc1b5d Keep transient SQLite failures out of the avatar cache 2026-10-27 11:57:30 +01:00
evgeny 905d30ceaf Distinguish failed avatar reads from committed empty blobs 2026-10-27 11:57:30 +01:00
evgeny 95e88ac66f Reproduce avatar cache poisoning after a transient SQL read error 2026-10-27 11:57:30 +01:00
evgeny 9fdd2dc9fb Specify the native channel ID range in GUI contracts 2026-10-27 11:57:30 +01:00
evgeny d4a969dc38 Match channel IDs to the native signed integer range 2026-10-27 11:57:30 +01:00
evgeny cf4a209837 Own group avatar commands and preserve pending result identity 2026-10-27 11:57:30 +01:00
evgeny 6c0aa98508 Cover group avatar publication ownership and result correlation 2026-10-27 11:57:30 +01:00
evgeny ddb373d445 Exercise settings retries and deletion changes during confirmation 2026-10-27 11:57:30 +01:00
evgeny cba3f4f75a Translate channel settings availability and queue errors 2026-10-27 11:57:30 +01:00
evgeny 3c6200f9c3 Keep channel settings alive safely across the main window loop 2026-10-27 11:57:30 +01:00
evgeny 74bcf91407 Own channel settings requests and guard nested dialogs 2026-10-27 11:57:30 +01:00
evgeny 271cfcd2f8 Cover channel settings queue failures and nested dialog lifetime 2026-10-27 11:57:30 +01:00
evgeny f12c7d072a test(chat): read complete media manifests with JSON whitespace 2026-10-27 11:48:09 +01:00
evgeny 9b24c1f012 fix(chat): preserve media and local state on incomplete database reads 2026-10-27 11:48:09 +01:00
evgeny 7c050eb7ef fix(chat): publish complete peer caches and clean pending JOIN state 2026-10-27 11:48:09 +01:00
evgeny ce3287ac94 fix(chat): verify incoming JOIN profiles before local insertion 2026-10-27 11:48:09 +01:00
evgeny 054ade0dcd fix(chat): select invite peers and read signed addresses consistently 2026-10-27 11:48:09 +01:00
evgeny 1efd8fb26c fix(chat): validate headless requests and complete media replies safely 2026-10-27 11:48:09 +01:00
evgeny c73090759f fix(chat): commit global names with signed node and member profiles 2026-10-27 11:48:09 +01:00
evgeny 0656f24a7c fix(chat): own Whisper jobs per instance and defer route UI events 2026-10-27 11:48:09 +01:00
evgeny cb9c04ff61 test(chat): distinguish route event deletion flag from routing API 2026-10-27 11:48:09 +01:00
evgeny 33556fefea test(chat): exercise channel deletion from a topology notification 2026-10-27 11:48:09 +01:00
evgeny 189ae43a7c docs(chat): distinguish committed core readiness from complete service startup 2026-10-27 11:48:09 +01:00
evgeny a4edd34695 fix(chat): retain SQL error codes when SQLite supplies no message 2026-10-27 11:48:09 +01:00
evgeny e28386c868 fix(chat): reject outer transactions before preparing shared service resources 2026-10-27 11:48:09 +01:00
evgeny 8151fc5a9c test(chat): cover startup admission, saved channel activation, and owner-close recovery 2026-10-27 11:48:09 +01:00
evgeny 1c6d203754 fix(chat): diagnose channel catalog failures with SQL status and shape 2026-10-27 11:48:09 +01:00
evgeny fb7846780b test(chat): verify startup metadata rollback and required callback allocation failures 2026-10-27 11:48:09 +01:00
evgeny 3b0ae79527 refactor(chat): keep the chat identity bound to its core instance 2026-10-27 11:48:09 +01:00
evgeny 6c777d4426 fix(chat): reject inconsistent repeated core initialization 2026-10-27 11:48:09 +01:00
evgeny 63406a9742 refactor(chat): borrow SQLite exclusively from the running core 2026-10-27 11:48:09 +01:00
evgeny 6f9723f8ce fix(chat): commit startup metadata before activating channels and publishing readiness 2026-10-27 11:48:09 +01:00
evgeny e3bd66f0b7 test(chat): reproduce ready startup after a required subscription fails 2026-10-27 11:48:09 +01:00
evgeny ed00f1ad9a fix(chat): require both member notification subscriptions at startup 2026-10-27 11:48:09 +01:00