Skip to content

Add VYRA social app and VYRA Chat messenger - #8

Open
BGOODED wants to merge 4 commits into
mainfrom
ccr-b6d7f221-pbive6
Open

BGOODED wants to merge 4 commits into
mainfrom
ccr-b6d7f221-pbive6

Conversation

@BGOODED

@BGOODED BGOODED commented Oct 30, 2026

Copy link
Copy Markdown
Owner

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

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

No deployments
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.

2 participants