Skip to content

feat: Enable OS-level file sharing integration - #1468

Draft
Pecacheu wants to merge 30 commits into
mainfrom
feat/share
Draft

Pecacheu wants to merge 30 commits into
mainfrom
feat/share

Conversation

@Pecacheu

@Pecacheu Pecacheu commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Prerequisites:

This uses the fancy new Web Share API to bring Stoat PWA even closer to feeling like a native app. This is my preferred way to share files from my phone on Discord/Telegram/SMS/other IM apps, rather than clicking the Upload button I like to go to the app I was actually browsing/viewing/editing the file in, and share it directly from there to my app and contact of choice. Fewer button clicks and no potential forced intermediate download step if I was editing something in the cloud that's not even downloaded to the device, and want to then directly to someone.

It took more work than I'd like to admit to get the fancy scrollbar working inside the modal instead of it going off the end of the screen lmao. But now, this alternate scrollable modal mode can be used in other places too! I went ahead and implemented it in the AddBot AddMembersToGroup modals. The appearance only changes on small screens, such that the modal doesn't go past the edge of the screen anymore (this was previously creating TWO stacked scrollbars, but now it maintains only one internal scrollbar.)

How was this PR tested?

Sharing stuffs to various peeps from 3 different Android devices (not tested on iOS yet.)

Screenshots & Screencasts (if appropriate)

-> ->

Checklist:

  • I have carefully read the contributing guidelines
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
  • I have no unrelated changes in the PR
  • I have confirmed that any new dependencies are strictly necessary
  • I have written tests for new code (if applicable)
  • I have followed naming conventions/patterns in the surrounding code

Please declare, if any, LLM usage involved in creating this PR

Dw I'll share the answer with you.

@Pecacheu Pecacheu changed the title feat: Sharing feat: Enable OS-level file sharing integration Aug 8, 2026
@Pecacheu
Pecacheu force-pushed the feat/share branch 3 times, most recently from 37ac770 to 526b3d9 Compare August 8, 2026 17:37
@Pecacheu Pecacheu changed the title feat: Enable OS-level file sharing integration feat: Enable OS-level file sharing integration Aug 8, 2026
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
@Pecacheu
Pecacheu force-pushed the feat/share branch 2 times, most recently from 7b0a74f to 3a94b1d Compare August 28, 2026 07:03
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
@Pecacheu
Pecacheu force-pushed the feat/share branch 4 times, most recently from 24e5529 to e302f78 Compare August 30, 2026 02:11
- Don't add extra asymmetrical padding when server has image banner
- Remove padding from top of first channel in sidebar for visual alignment w/ top of message view
- Fix header padding bug previous fix caused on mobile

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Pecacheu and others added 13 commits September 5, 2026 10:42
- Add symbol to icon to spot mature channels easier
- Refactor ServerSidebar to use symbols
- Fix symbol prop overrides not all working

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: AsrayeDev <asrayeofficial@gmail.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
- "Add an account" button in Settings -> My Account
- "Switch Accounts" button in user context menu, if multiple accounts are stored
- "Log out" button only logs out the current account, switches to next stored one if present
- Account tokens stored via modified schema for 'auth' key in Auth manager
- Last known name and pfp are cached, because alt accounts might not have privilege to fetch them from the API

fix: Apply patches from multiuser
fix: TS error caused by rebase

fix: Move unused host var to multi-instance PR
- Define class var at top
- Remove debug lines

refactor: Use new breakpoints on login screen
fix: Lifecycle transitions slightly borked by PR 1197, causing random logouts
fix: Separate logout wo/ delSes

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
- Fix using wrong lingui macro
- Add loading screen to cli sync and login wait

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
- Fix inst relPath being empty string at root instead of /

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
…s loaded)

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
- Add search

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
…become desynced when typing in search box

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
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