Skip to content

Comments

Early access features#120

Open
infeo wants to merge 2 commits intodevelopfrom
feature/early-access-features
Open

Early access features#120
infeo wants to merge 2 commits intodevelopfrom
feature/early-access-features

Conversation

@infeo
Copy link
Member

@infeo infeo commented Feb 23, 2026

and "Coming soon" section.

Features to be included:

  • Hub Users and Groups
  • Hub Emergency Access
  • Files-in-use

@coderabbitai
Copy link

coderabbitai bot commented Feb 23, 2026

Walkthrough

This pull request introduces a new "Coming Soon" documentation section, restructures user and group management documentation from a Keycloak-centric approach to an in-UI admin interface workflow, and adds an announcement pill to the homepage. The changes include a new documentation category configuration, an index page with placeholders for upcoming features (Hub 1.5.0 and Desktop 1.19.0), significant content reorganization in the user-group-management documentation (shifting from external IAM management to in-UI workflows), new CSS styling for announcement pills, and a React component update to display the announcement on the homepage.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Early access features' is directly related to the main change: adding an early access/coming soon section with documented features.
Description check ✅ Passed The description is related to the changeset, mentioning the 'Coming soon' section and listing features to be included, which aligns with the PR objectives.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/early-access-features

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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
src/pages/index.tsx (1)

18-22: Redundant wrapper <div> — the parent already centers inline-block children

The parent container has the text--center utility class (which sets text-align: center), so the display: inline-block pill will center itself without an extra block-level wrapper. The <div> adds no semantic value.

♻️ Proposed simplification
-        <div>
-          <Link to="/coming-soon" className={styles.announcementPill}>
-            ✨ Coming Soon →
-          </Link>
-        </div>
+        <Link to="/coming-soon" className={styles.announcementPill}>
+          ✨ Coming Soon →
+        </Link>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/index.tsx` around lines 18 - 22, Remove the redundant block-level
wrapper around the announcement pill: instead of wrapping the Link (the element
using className={styles.announcementPill}) in an extra <div>, render the Link
directly as a child of the parent container that already has the text--center
utility; this keeps the inline-block pill centered and removes the unnecessary
DOM node while preserving the existing Link, its text ("✨ Coming Soon →") and
the announcementPill class.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/hub/user-group-management.md`:
- Line 177: The sentence in the Hub docs contains a compound adjective that
needs suspended hyphenation; change "user and group related tasks" to "user- and
group-related tasks" in the sentence starting "You can access the Keycloak
management interface..." so the compound adjectives are correctly hyphenated.
- Around line 170-189: The release note's ":::info Enterprise Feature"
admonition is never closed and the ":::warning" was unintentionally nested;
close the enterprise info block immediately after its content by adding a
matching closing token (:::) right after the paragraph that ends with "Visit
[cryptomator.org](https://cryptomator.org/hub/) for more information about
Enterprise features.", then move the standalone ":::warning" admonition (the
paragraph about the `admin` and `syncer` accounts) outside and below that closed
info block so it applies globally; ensure you only use three-colon tokens
consistently (:::info ... ::: and :::warning ... :::) to properly open and close
each admonition.

In `@src/pages/index.module.css`:
- Around line 1-16: Add an explicit keyboard focus style and a smooth hover
transition to the .announcementPill to ensure accessible focus indication and
avoid abrupt hover changes: update the .announcementPill selector to include a
transition for background-color (and optionally color), and add a
.announcementPill:focus-visible rule that sets a clear, high-contrast outline or
box-shadow (and preserve border-radius) so keyboard users see a visible focus
ring; ensure :focus-visible only applies to the .announcementPill element and
does not rely on browser defaults.

---

Nitpick comments:
In `@src/pages/index.tsx`:
- Around line 18-22: Remove the redundant block-level wrapper around the
announcement pill: instead of wrapping the Link (the element using
className={styles.announcementPill}) in an extra <div>, render the Link directly
as a child of the parent container that already has the text--center utility;
this keeps the inline-block pill centered and removes the unnecessary DOM node
while preserving the existing Link, its text ("✨ Coming Soon →") and the
announcementPill class.
ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1123f66 and 5015685.

⛔ Files ignored due to path filters (7)
  • static/img/hub/group-add-member.png is excluded by !**/*.png
  • static/img/hub/group-create.png is excluded by !**/*.png
  • static/img/hub/group-detail.png is excluded by !**/*.png
  • static/img/hub/group-list.png is excluded by !**/*.png
  • static/img/hub/user-create.png is excluded by !**/*.png
  • static/img/hub/user-detail.png is excluded by !**/*.png
  • static/img/hub/user-list.png is excluded by !**/*.png
📒 Files selected for processing (5)
  • docs/coming-soon/_category_.json
  • docs/coming-soon/index.md
  • docs/hub/user-group-management.md
  • src/pages/index.module.css
  • src/pages/index.tsx

Comment on lines +170 to +189
:::info Enterprise Feature
Connecting external identity and access management (IAM) solutions is available as an Enterprise feature. This allows you to:

- Synchronize users and groups from LDAP or Active Directory
- Delegate authentication via OpenID Connect or SAML
- Keep your user management centralized in your existing IAM

Cryptomator Hub supports user avatars. As an administrator, you can enable this feature in the administration area by creating a user "picture" profile attribute in the "User Profile" setting in the Realm in Keycloak. See [Keycloak Documentation](https://www.keycloak.org/ui-customization/avatars#_setting_a_picture_attribute_from_the_admin_console) for more information.
You can access the Keycloak management interface from the admin section of Hub. There you can perform all user and group related tasks, such as
[creating new users](https://www.keycloak.org/docs/latest/server_admin/index.html#proc-creating-user_server_administration_guide),
[deleting users](https://www.keycloak.org/docs/latest/server_admin/index.html#proc-deleting-user_server_administration_guide) or
[managing groups](https://www.keycloak.org/docs/latest/server_admin/index.html#proc-managing-groups_server_administration_guide).

Setting up LDAP synchronization is described in the [Keycloak documentation](https://www.keycloak.org/docs/latest/server_admin/#_ldap).
For OpenID Connect and SAML, the Keycloak documentation provides [general information](https://www.keycloak.org/docs/latest/server_admin/#_identity_broker).

Visit [cryptomator.org](https://cryptomator.org/hub/) for more information about Enterprise features.

When enabled, users can define their avatar in their Keycloak profile page. The avatar is then displayed in Cryptomator Hub, for example in the vault member list.
The avatar needs to be provided as a URL (e.g. https://path_to_image.png) or as a Base64 encoded data image (e.g. `data:image/svg+xml;base64,content`).
:::warning
Regardless of your IAM setup, your Hub instance always contains two system users: `admin` and `syncer`. **Do not edit or delete them!** These accounts are required for administration and synchronization tasks.
:::
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

:::info Enterprise Feature is never closed — the :::warning must be outside it

Docusaurus admonitions can be nested, but require more colons for each parent level. Using the same three colons means :::warning (line 187) opens a nested directive inside the still-open :::info Enterprise Feature (line 170). The ::: at line 189 then closes only the inner warning, leaving the outer :::info unclosed and extending implicitly to the end of the file.

Beyond the parse problem, the warning text ("Regardless of your IAM setup…") applies to every user — not only enterprise users — so it should live after the enterprise info block, not inside it.

🐛 Proposed fix — close the info block before the warning
 Visit [cryptomator.org](https://cryptomator.org/hub/) for more information about Enterprise features.

+:::
+
 :::warning
 Regardless of your IAM setup, your Hub instance always contains two system users: `admin` and `syncer`. **Do not edit or delete them!** These accounts are required for administration and synchronization tasks.
 :::
🧰 Tools
🪛 LanguageTool

[grammar] ~177-~177: Use a hyphen to join words.
Context: ...There you can perform all user and group related tasks, such as [creating new use...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/hub/user-group-management.md` around lines 170 - 189, The release note's
":::info Enterprise Feature" admonition is never closed and the ":::warning" was
unintentionally nested; close the enterprise info block immediately after its
content by adding a matching closing token (:::) right after the paragraph that
ends with "Visit [cryptomator.org](https://cryptomator.org/hub/) for more
information about Enterprise features.", then move the standalone ":::warning"
admonition (the paragraph about the `admin` and `syncer` accounts) outside and
below that closed info block so it applies globally; ensure you only use
three-colon tokens consistently (:::info ... ::: and :::warning ... :::) to
properly open and close each admonition.

- Keep your user management centralized in your existing IAM

Cryptomator Hub supports user avatars. As an administrator, you can enable this feature in the administration area by creating a user "picture" profile attribute in the "User Profile" setting in the Realm in Keycloak. See [Keycloak Documentation](https://www.keycloak.org/ui-customization/avatars#_setting_a_picture_attribute_from_the_admin_console) for more information.
You can access the Keycloak management interface from the admin section of Hub. There you can perform all user and group related tasks, such as
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Minor grammar: hyphenate the compound adjective

"user and group related tasks" should be "user- and group-related tasks" (suspended hyphen).

✏️ Proposed fix
-There you can perform all user and group related tasks, such as
+There you can perform all user- and group-related tasks, such as
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
You can access the Keycloak management interface from the admin section of Hub. There you can perform all user and group related tasks, such as
You can access the Keycloak management interface from the admin section of Hub. There you can perform all user- and group-related tasks, such as
🧰 Tools
🪛 LanguageTool

[grammar] ~177-~177: Use a hyphen to join words.
Context: ...There you can perform all user and group related tasks, such as [creating new use...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/hub/user-group-management.md` at line 177, The sentence in the Hub docs
contains a compound adjective that needs suspended hyphenation; change "user and
group related tasks" to "user- and group-related tasks" in the sentence starting
"You can access the Keycloak management interface..." so the compound adjectives
are correctly hyphenated.

Comment on lines +1 to +16
.announcementPill {
display: inline-block;
padding: 0.4rem 1rem;
margin-bottom: 1rem;
border-radius: 2rem;
background-color: rgba(255, 255, 255, 0.15);
color: white;
font-size: 0.9rem;
text-decoration: none;
}

.announcementPill:hover {
background-color: rgba(255, 255, 255, 0.25);
color: white;
text-decoration: none;
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add a :focus-visible style for keyboard accessibility

There is no explicit focus indicator for the announcement pill. Docusaurus or the browser's default may be overridden or low-contrast against the primary hero background; adding an explicit outline ensures keyboard users always get a visible focus ring.

♿ Proposed addition
 .announcementPill:hover {
   background-color: rgba(255, 255, 255, 0.25);
   color: white;
   text-decoration: none;
 }
+
+.announcementPill:focus-visible {
+  outline: 2px solid white;
+  outline-offset: 3px;
+}

You may also want to add a transition for the hover background change to avoid the abrupt opacity jump:

 .announcementPill {
   display: inline-block;
   padding: 0.4rem 1rem;
   margin-bottom: 1rem;
   border-radius: 2rem;
   background-color: rgba(255, 255, 255, 0.15);
   color: white;
   font-size: 0.9rem;
   text-decoration: none;
+  transition: background-color 0.2s ease;
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.announcementPill {
display: inline-block;
padding: 0.4rem 1rem;
margin-bottom: 1rem;
border-radius: 2rem;
background-color: rgba(255, 255, 255, 0.15);
color: white;
font-size: 0.9rem;
text-decoration: none;
}
.announcementPill:hover {
background-color: rgba(255, 255, 255, 0.25);
color: white;
text-decoration: none;
}
.announcementPill {
display: inline-block;
padding: 0.4rem 1rem;
margin-bottom: 1rem;
border-radius: 2rem;
background-color: rgba(255, 255, 255, 0.15);
color: white;
font-size: 0.9rem;
text-decoration: none;
transition: background-color 0.2s ease;
}
.announcementPill:hover {
background-color: rgba(255, 255, 255, 0.25);
color: white;
text-decoration: none;
}
.announcementPill:focus-visible {
outline: 2px solid white;
outline-offset: 3px;
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/index.module.css` around lines 1 - 16, Add an explicit keyboard
focus style and a smooth hover transition to the .announcementPill to ensure
accessible focus indication and avoid abrupt hover changes: update the
.announcementPill selector to include a transition for background-color (and
optionally color), and add a .announcementPill:focus-visible rule that sets a
clear, high-contrast outline or box-shadow (and preserve border-radius) so
keyboard users see a visible focus ring; ensure :focus-visible only applies to
the .announcementPill element and does not rely on browser defaults.

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