Repository navigation
Conversation
Two companion apps built from the VYRA designs, served as extra pages next to ALEXCE (/vyra/ and /vyra/chat/) and sharing one local account: - VYRA: home feed with stories, posts, likes, comments, sharing and groups; friends and requests; create post; profile. - VYRA Chat: inbox, direct and group chats (text, photos, voice notes, emoji), calls history and call screen, contacts, contact details. - Shared settings: edit profile, account, security and devices, privacy and blocked accounts, notifications and quiet hours, chats & calls, language (English/Myanmar), theme and text size, data & help. Data is kept in localStorage until a backend is connected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018dHaDGR5SynifV91JAxizk
Design: - Stories: visible gradient rings, smaller bubbles, two-line labels. - Photo viewer shows the whole photo, centred. - Burmese weekday/month names (Chromium has no Intl data for "my"). - Myanmar text no longer clips or breaks mid-word (account values, panel titles, quiet hours, theme labels, sheet buttons). - Group avatars keep their size on the call screen; single-letter initials on small avatars; compact chat header actions. - Illustrated chat wallpapers; localized birthday field; group card menu; forward button on image messages; call control states. Core: - Photos and voice notes are stored in IndexedDB instead of localStorage, so saving no longer stops after a few dozen photos. - Save immediately on pagehide/visibilitychange; warn once when full. - Recorder ignores a permission prompt that finishes after leaving the chat; transparent images get a white background. - New account after deletion keeps language/theme and opens home. - Messenger contact lists include all friends. - Route ids like "constructor" show Not found; screens are wrapped in an error boundary. - Correct country codes in masked phone numbers, emoji-safe initials, iPad/Android tablet detection, no duplicate history entries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018dHaDGR5SynifV91JAxizk
Behaviour: - Forwarding/sharing into a chat no longer clears its unread count. - Blocked people can't be called from call history or a typed link; unknown call ids no longer start the camera or log a call. - Blocked group members don't "type" or reply. - Privacy keeps unsaved choices across a visit to Blocked accounts; Edit profile saves only its own fields and rejects future birthdays. - Deleted photo posts and replaced stories free their IndexedDB files; Clear cache prunes unreferenced media. - Forward sheet lists groups and all friends, most recent first. - Emoji insert at the cursor; only one voice note plays at a time; the message list stays pinned to the newest message. - Copy failures show a message (with a fallback copy method); deleting a post from its own page goes back instead of "not found". - Replace Object.hasOwn so older Safari/Chrome don't crash. Accessibility: - Sheets, photo viewer and stories move, trap and return focus. - Route changes focus the new heading and set the tab title. - Dark theme, language and text size apply before first paint. - WCAG AA text contrast for coral fills and muted text. - Story viewer can pause (starts paused with reduced motion). - Screen readers hear who sent each message; filters use toggle buttons; radio groups support arrow keys; toast is announced. - No overflow at 320px, including the largest text size. Myanmar: grammar and wording fixes, consistent digits, localized device labels and sample bio, plain Chats & Calls heading. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018dHaDGR5SynifV91JAxizk
- Emoji go at the end of a saved draft until the field has been focused (a fresh textarea reports its caret at 0). - Route focus no longer takes focus away from a screen that focused a field itself, such as the Create post box. - The chat list only jumps down for a newly sent message, not when another tab re-saves the same conversation. - Privacy drafts are kept on Privacy's own history entry, so an abandoned draft never comes back on a later visit. - Clear cache refreshes the storage figure after pruning media. - Modals un-inert the page before the next screen takes focus, and keep Tab inside with edge sentinels instead of a keydown trap (Shift+Tab within time fields works again). - Screens without a visible title get a heading for screen readers and a matching tab title (chat, call, create post, post page). - Dark-theme wallpapers and message times have readable contrast; Myanmar theme labels fit at 320px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018dHaDGR5SynifV91JAxizk
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two companion apps built from the VYRA designs, served as extra pages
next to ALEXCE (/vyra/ and /vyra/chat/) and sharing one local account:
groups; friends and requests; create post; profile.
emoji), calls history and call screen, contacts, contact details.
and blocked accounts, notifications and quiet hours, chats & calls,
language (English/Myanmar), theme and text size, data & help.
Data is kept in localStorage until a backend is connected.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_018dHaDGR5SynifV91JAxizk