Add conversation visibility toggle (Private/Shared)#5268
Add conversation visibility toggle (Private/Shared)#5268beastoin merged 1 commit intoBasedHardware:mainfrom
Conversation
38825b6 to
e4890c9
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0592dfc5b8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
e4890c9 to
44f097a
Compare
|
@codex review |
Greptile SummaryThis PR adds a visibility toggle feature that allows users to switch conversations between Private (only visible to the user) and Shared (publicly accessible via link). The implementation includes a new Key changes:
Critical issue found: Confidence Score: 3/5
Important Files Changed
Last reviewed commit: 579df70 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 579df7073c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
nice, pls mention me (beastoin) when the pr is ready |
|
@beastoin is ready, not sure about this regenerated language files |
|
@dmfilipenko Your editor reformatted all 34 ARB files from 4-space to 2-space indent, blowing the diff to ~98K lines for what's actually ~102 lines of changes. Run this to fix: We also added a pre-commit guard in #5273 so this won't happen again. by AI for @beastoin |
f895a79 to
d54be6d
Compare
|
@beastoin All 3 items from your review are fixed: 1. ARB indentation — Restored all 34 ARB files to 4-space indent using 2. Duplicate URL params — Removed redundant 3. Rollback logic — Changed from hardcoded opposite state to captured 4. Share flows — Verified both Branch is rebased on latest main and force-pushed. |
5459541 to
914946c
Compare
|
Extracted |
|
@codex review |
084bb02 to
e3fd9d3
Compare
| }); | ||
| return; | ||
| } | ||
| String content = 'https://h.omi.me/memories/${provider.conversation.id}'; |
There was a problem hiding this comment.
@beastoin is it an old link for sharing? I guess now it's /conversation>?
There was a problem hiding this comment.
- Redirect: /memories/:path* → /conversations/:path* (permanent 301)
It's safe
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 914946c5a9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Allow users to toggle conversation visibility between Private and Shared from the conversation detail page. Adds a visibility chip that opens a bottom sheet for switching states, with optimistic UI updates and rollback on API failure. Share flows sync visibility state across all entry points. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4f55618 to
94fef30
Compare
|
@beastoin all comments in review fixed |
|
#5268 (comment) This is not relevant to my changes. |
|
no worries, this is the end-to-end test of my agents so we can cover all the feature changes. since the set-private visibility affected the shared feature via web. to keep our prod high quality. |
|
Test results:
Shared — renders title, date, tabs: Private — blank 404: One bug: by AI for @beastoin |
|
@dmfilipenko Opened #5276 for a few follow-up improvements (API persistence in share flows, error feedback, loading state). No rush — happy to have you pick it up after this PR lands if you're interested. by AI for @beastoin |
|
Sure I will take a look on this
Best, Dmytro Filipenko
…On Mon 2. Mar 2026 at 11:47, Thinh ***@***.***> wrote:
*beastoin* left a comment (BasedHardware/omi#5268)
<#5268 (comment)>
@dmfilipenko <https://github.com/dmfilipenko> Opened #5276
<#5276> for a few follow-up
improvements (API persistence in share flows, error feedback, loading
state). No rush — happy to have you pick it up after this PR lands if
you're interested.
------------------------------
*by AI for @beastoin <https://github.com/beastoin>*
—
Reply to this email directly, view it on GitHub
<#5268 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAN46OBJRMAPS44UCJQXDWD4OVRCRAVCNFSM6AAAAACWDQ4VPOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTSOBTGU4TIOJXHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
@dmfilipenko Reviewed the updated commit — rollback logic and duplicate URL param both fixed, ARB indent cleaned up. Looks good to merge. @beastoin ready for your final call. by AI for @beastoin |
|
thanks, @dmfilipenko |


Problem
When a user shares a conversation (making it public via the share button), there is no way to make it private again from the app. The backend already supports
PATCH /v1/conversations/{id}/visibility, but the app never exposes a "make private" action.Solution
Add a visibility chip to the conversation detail page that toggles between Private and Shared:
Tapping the chip opens a bottom sheet (matching the existing folder chip pattern) where the user can switch visibility. When switching to Shared for the first time, the native share sheet opens automatically.
Screenshots
Screenshots will be added in a comment below.
Changes
conversation.dart— AddConversationVisibilityenum withprivate_/sharedvaluesconversation_detail_provider.dart— AddupdateVisibilityLocally()for optimistic updateswidgets.dart— Add visibility chip + bottom sheet UIpage.dart— Sync app bar share button with visibility statemixpanel.dart— AddconversationVisibilityChangedanalytics eventl10n/— Add translations for all 34 localesTest plan
🤖 Generated with Claude Code