Skip to content

Clarify share link disable behavior - #132

Merged
SunkenInTime merged 2 commits into
icarus-cloudfrom
cloud-beta/share-link-language
Aug 25, 2026
Merged

Clarify share link disable behavior#132
SunkenInTime merged 2 commits into
icarus-cloudfrom
cloud-beta/share-link-language

Conversation

@SunkenInTime

Copy link
Copy Markdown
Owner

Summary

  • replace user-facing revoke language with Disable link
  • state the actual boundary: disabling blocks new joins while existing collaborators keep access
  • use a link-off action and disabled status instead of deletion language
  • add stable role, create, copy, and disable controls for beta automation

The repository and Convex mutation remain named revokeShareLink; this PR changes only the user-facing contract and dialog automation surface.

Verification

  • fvm flutter test test/share/share_link_copy_test.dart
  • fvm flutter test (320 tests)
  • fvm flutter analyze (only the six pre-existing info notices)
  • fvm flutter build web --no-wasm-dry-run --no-tree-shake-icons
  • git diff --check

Manual path

  1. Open an owned cloud strategy or folder and choose Share.
  2. Verify the role selector and Create & copy action are discoverable.
  3. Disable an active link and verify the confirmation says new people cannot join, but existing collaborators keep access.
  4. Verify the link becomes DISABLED and copy/disable actions are unavailable.

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1b875f34-f80b-4413-a80a-69c82d0ef99b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This change updates share-link wording from revocation to disabling, explains that existing collaborators keep their access, and adds stable controls for share-link automation.

The validated access path preserves existing collaborator memberships when a link is disabled and rejects later attempts to redeem that link. The confirmation dialog displays the intended boundary text, and the focused Flutter test and analysis complete successfully.

T-Rex validation blocked

  • package: The real Flutter web view could not compile because lucide_icons_flutter-3.1.9 extends Flutter's final IconData. The disabled copy, disable, and accessibility controls therefore could not be exercised in a rendered dialog; their source guards were inspected, but they are not listed as fully verified behavior. Configure VMs

Confidence Score: 4/5

The verified disable flow protects existing collaborator access and blocks future use of the disabled link.

The access boundary was exercised with a source-backed revoke harness, focused Flutter testing, and static analysis. Full confidence is not possible because the application could not render on the web target to directly exercise disabled visual and accessibility controls.

Files Needing Attention: No changed file requires a code correction. Resolve the transitive Flutter web compilation issue before relying on browser-level verification of lib/widgets/dialogs/share_links_dialog.dart.

T-Rex T-Rex Logs

What T-Rex did

  • Captured an active share link with one existing viewer collaborator, ran the focused Flutter test, and observed that revoke patched only the link, the viewer membership remained, and a subsequent redemption was rejected.
  • After capture, executing the real revoke.handler in an in-memory Convex context patched only shareLinks.revokedAt and updatedAt on the link-1; the collaborator count stayed at 1, the role remained viewer, and a subsequent redemption produced SHARE_LINK_REVOKED.
  • The proof enumerates the exact copy path, shows the dialog uses that copy in the destructive confirmation, and confirms that revoke patches only shareLinks.revokedAt and updatedAt.
  • Attempted to render the real share dialog through the web-server target, but the app failed to compile before the dialog could render; copy and disable actions were not exercised.
  • Blocked UI render due to Flutter web compilation failing from lucide_icons_flutter-3.1.9 extending final IconData.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (2): Last reviewed commit: "Keep share actions accessible through se..." | Re-trigger Greptile

@SunkenInTime

Copy link
Copy Markdown
Owner Author

@greptileai

@SunkenInTime
SunkenInTime changed the base branch from cloud-beta/web-client to icarus-cloud August 25, 2026 06:25
@SunkenInTime
SunkenInTime merged commit fd91bbd into icarus-cloud Aug 25, 2026
3 checks passed
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.

1 participant