Skip to content

study groups under activities#76

Open
Ananya44444 wants to merge 2 commits into
alphaonelabs:mainfrom
Ananya44444:newstudy
Open

study groups under activities#76
Ananya44444 wants to merge 2 commits into
alphaonelabs:mainfrom
Ananya44444:newstudy

Conversation

@Ananya44444

@Ananya44444 Ananya44444 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Integrates Study Groups into the Activities engine

Screen.Recording.2026-07-09.031316.1.1.mp4

Integrated Study Groups into the Activities experience across the UI and routing layers. Updated dashboard and Host Hub activity card metadata so study_group uses the correct icon and styling, added “study groups” to the Host Hub description and create-activity type selector, and extended server-side routing to treat study-group URLs as activity routes with redirects for deep links. Added tests covering study-group page serving and redirect behavior.

Copilot AI review requested due to automatic review settings July 8, 2026 21:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Ananya44444, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 51 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository: alphaonelabs/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: bf538510-ad74-4763-af01-dbe3e62f6ba0

📥 Commits

Reviewing files that changed from the base of the PR and between 1fd4a4e and 8eb2849.

📒 Files selected for processing (1)
  • tests/test_dispatcher.py

Walkthrough

This PR adds a "study_group" activity type across the dashboard and teach pages (icon/color mappings, dropdown option, hero text), and updates the worker to route "/study-groups" URLs to "/activity" pages via redirect and legacy prefix rewriting, with new dispatcher tests.

Changes

Study group support

Layer / File(s) Summary
Frontend study_group styling
public/dashboard.html, public/teach.html
Adds study_group entries to typeIcon/typeColor maps, a new dropdown option, and updated hero text mentioning study groups; meetup icon mapping is removed in teach.html.
Worker routing for study-groups
src/worker.py
Removes /study-groups from SSR_RECORD_PAGES, extends legacy prefix rewriting for /study-groups/ and /study-group/ to /activity/, and adds a GET redirect for /study-groups?/<slug-or-id> to /activity/<slug-or-id>.
Dispatcher test coverage
tests/test_dispatcher.py
Adds TestStudyGroupRedirection verifying static serving and redirect behavior for study-groups routes.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant Dispatcher
  participant StaticHandler
  Client->>Dispatcher: GET /study-groups/slug
  Dispatcher->>Dispatcher: match /study-groups?/<slug>
  Dispatcher-->>Client: 302 redirect to /activity/slug
  Client->>Dispatcher: GET /study-groups
  Dispatcher->>StaticHandler: serve static HTML
  StaticHandler-->>Client: 200 response
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: integrating study groups into the activities flow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/worker.py`:
- Around line 6084-6089: Add test coverage for the singular study-group redirect
handled in worker.py by the route-matching logic in the GET branch that uses
re.fullmatch(r"/study-groups?/([^/]+)", route_path) and
_redirect_to_current_route. Extend the existing redirect tests to verify that a
request to /study-group/<slug> (singular) is redirected to /activity/<slug> just
like the plural form, so the regex behavior is covered for both variants.

In `@tests/test_dispatcher.py`:
- Around line 260-282: Add test coverage in TestStudyGroupRedirection for the
singular /study-group/<slug> route, since the dispatcher regex in
worker._dispatch matches it but no test currently exercises that path. Follow
the existing make_env, MockRequest, and set_static_content pattern, then assert
the response is a 302 redirect from /study-group/my-awesome-group to the
corresponding /activity/my-awesome-group Location.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: alphaonelabs/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 50104de4-a987-4b5c-966f-4d068a51877d

📥 Commits

Reviewing files that changed from the base of the PR and between 31d637d and 1fd4a4e.

📒 Files selected for processing (4)
  • public/dashboard.html
  • public/teach.html
  • src/worker.py
  • tests/test_dispatcher.py

Comment thread src/worker.py
Comment thread tests/test_dispatcher.py
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