on cf27930 help sign in
cf27930Refactor chat view to use bottom bar wrapper and styled componentsiko aa4406bFix image path in README2026.04.21.1239iko 08721cbRefactor chat view to use Grid layout and ItemsRepeater for messagesiko 7523d53Replace sleep-based polling with STM retry and heartbeat for low-latency message deliveryiko 4caa595Fix server hanging by replacing MessageOrigin ADT with originServer fieldiko 8f74adfFix server poll blocking indefinitely by returning empty events instead of retryiko e4d8d76Send profile on first outgoing message to new contactiko 10b423cAnimate button shadow when transitioning from disabled to enablediko f8f0401Initialize contact DisplayName to truncated public key on creationiko 6cd8d15Add contact added date tracking for sorting contacts without messagesiko d6c4b4eFix button disabled state display and simplify contact naming logiciko ebc16ebFix Grid sizing and reformat conversation list items in ViewConversationsiko 4e3635cAutomatically reauthenticate when token expires during poll or sendiko f931cbcUse STM binding for matchingMsgs list comprehensioniko c27355aRestore messages TVar binding to fix list comprehension type mismatchiko 5d79340Fix STM type mismatch in pollOnce by using let-in chains instead of do-yieldiko 4543779Use STM retry for instant poll notifications instead of sleep-based polling loopiko 5feb666Replace ListBox with ScrollViewer+VStack to fix conversation view not updating on new messagesiko d9813d4Migrate to Donald for data access and fix profile message propagation for unknown sendersiko 68c43e5Sort contacts by last message and anchor list to bottomiko 9d1c525Hard-code long poll timeout to 20 secondsiko 1fa6993Add public key validation with real-time UI feedback on add contact screeniko f170fffExtract button logic into reusable variants, add text wrapping to labels, simplify AddContact flowiko e966f38Fix 'Style already has a parent' error by creating fresh style instances per textFieldiko abee433Remove margin from conversation bariko edcb4daMake text fields stretch vertically with centered text and always-white backgroundiko 8560d1fAdd iOS keyboard avoidance by tracking keyboard height and adjusting page paddingiko c4559f6Extract backButton component and use withBottomBar layout for Add Contact pageiko 7704455Replace back button text with left.png iconiko 0ff7467Show QR code with user's public key mnemonic on Add Contact pageiko cacfe3dForward queued messages when recipients come online on remote serversiko 7373014Fix error handling, polling backoff, and cache evictioniko 9e1d695Improve database safety, memory management, and error handlingiko 5ed090dRefactor: fix error logging, make Store async, extract Protocol, unify Crypto, cache bitmaps, add schema versioningiko 8f3a00eExtract Grid with bottom bar into reusable withBottomBar layout functioniko 9eb5982Extract views and types into dedicated modulesiko 79c6f03Clean up commented code and whitespace in viewConversationsiko c7fca72Make smallImageButton square with fixed 48x48 dimensionsiko 5aa2735Refactor conversations UI with ListBox layout and add small button componentsiko b10cab7Extract UI component constants and create reusable text field components with button variantsiko 095199eImplement direct libsodium P/Invoke bindings for iOS and configure native HTTP handleriko db5a276Fix iOS clipboard support and resolve Fabulous.Avalonia version incompatibilityiko 4faf45fFix macOS app launch by setting DOTNET_ROOT and running executable directlyiko 611d819Use Dapper.FSharp DSL for outbox database operationsiko 646fbc7Implement persistent message queue with sequential background flush loopiko 2216c16Fix app icons on macOS and iOS by launching .app bundle and adding asset catalog rootiko 791e96cAdd CLAUDE.md with project overview and build instructionsiko 54111f6Don't update profile photo when picker is cancellediko 7a81a43Implement native iOS photo picker using PHPickerViewController instead of file pickeriko 177a234Fix iOS letterboxing by adding UILaunchScreen dict to support full-screen launchiko