Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions docs/API_VERSIONING_POLICY.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
# API Versioning Policy

<!--
## Overview

This project uses URL-based API versioning to protect clients from breaking changes.

- Stable API paths continue to be served at `/api/v1/*`
- Legacy paths under `/api/*` remain supported through a compatibility layer
- Older `/api/*` requests are rewritten to `/api/v1/*` and receive deprecation headers
- Older `/api/*` requests are rewritten to `/api/v1/*` and receive deprecation headers -->

## Versioning strategy

- New API routes are published under `/api/v1/`
- Future versions should be added under `/api/v2/`, `/api/v3/`, etc.
- Path-based versioning is the primary version selection mechanism
Expand Down
7 changes: 7 additions & 0 deletions docs/BUTTON_VARIANTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ import { Button, ButtonGroup } from '@/components';
import type { ButtonProps } from '@/components';
```

## Overview

This project uses URL-based API versioning to protect clients from breaking changes.

- Stable API paths continue to be served at `/api/v1/*`
- Legacy paths under `/api/*` remain supported through a compatibility layer
- Older `/api/*` requests are rewritten to `/api/v1/*` and receive deprecation headers
## Button

### Variants
Expand Down
8 changes: 8 additions & 0 deletions docs/DISCORD_OAUTH_INTEGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ The Discord OAuth integration allows users to authenticate using their Discord a

## Features

## Overview

This project uses URL-based API versioning to protect clients from breaking changes.

- Stable API paths continue to be served at `/api/v1/*`
- Legacy paths under `/api/*` remain supported through a compatibility layer
- Older `/api/*` requests are rewritten to `/api/v1/*` and receive deprecation headers

- **OAuth2 Flow**: Implements the standard Discord OAuth2 authorization code flow
- **Security**: Uses state parameter to prevent CSRF attacks
- **Email Verification**: Requires Discord accounts to have verified emails
Expand Down
4 changes: 2 additions & 2 deletions docs/NOTIFICATION_PERSISTENT_VOLUMES.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Notification Persistent Volumes

<!--
The production notification system stores durable notification data on a Kubernetes
PersistentVolumeClaim so pod restarts do not discard queued or cached notification
state.
state. -->

## Kubernetes Resources

Expand Down
4 changes: 4 additions & 0 deletions docs/RUNBOOKS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ Each section follows the same structure:
5. **Escalation** – who to page if the steps above don't resolve it within SLA.

---
<!--
The production notification system stores durable notification data on a Kubernetes
PersistentVolumeClaim so pod restarts do not discard queued or cached notification
state. -->

## Table of Contents

Expand Down
5 changes: 4 additions & 1 deletion docs/TIP_CANARY_RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ Summary

- **Purpose:** Enable percentage-based canary rollout for the Tip Receiving feature.
- **Mechanism:** Server-side feature flag evaluated per-request with deterministic user bucketing.

<!--
The production notification system stores durable notification data on a Kubernetes
PersistentVolumeClaim so pod restarts do not discard queued or cached notification
state. -->
Configuration

- Set the rollout percentage via environment variable `TIP_RECEIVING_CANARY_PERCENT` (0-100).
Expand Down
5 changes: 4 additions & 1 deletion docs/USER_SETTINGS_CAPABILITIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ This document describes the implementation of Capabilities for User Settings as
## Virtual Background Feature (v3)

### Overview

<!--
The production notification system stores durable notification data on a Kubernetes
PersistentVolumeClaim so pod restarts do not discard queued or cached notification
state. -->
The virtual background feature allows users to replace their actual background during video calls with various effects:

- **Blur**: Applies a blur effect to the background
Expand Down
5 changes: 4 additions & 1 deletion docs/ZOOM_PERFORMANCE_MONITORING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# Zoom Integration Performance Monitoring

This document details the Zoom Integration Performance Monitoring feature implemented in the TeachLink platform.

<!--
The production notification system stores durable notification data on a Kubernetes
PersistentVolumeClaim so pod restarts do not discard queued or cached notification
state. -->
## Overview

The Zoom Integration Performance Monitoring tracks real-time performance metrics of the Zoom Web Client SDK and REST API. This system allows administrators to proactively identify connection degradation, API outages, and SDK load issues that affect live online classes.
Expand Down
11 changes: 9 additions & 2 deletions docs/profile-performance.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
# Profile Page Performance

The profile route keeps its static shell server-rendered and limits client JavaScript to the tab interaction layer.
<!--
The profile route keeps its static shell server-rendered and limits client JavaScript to the tab interaction layer. -->

## Implementation

## Overview

This project uses URL-based API versioning to protect clients from breaking changes.

- Stable API paths continue to be served at `/api/v1/*`
- Legacy paths under `/api/*` remain supported through a compatibility layer
- Older `/api/*` requests are rewritten to `/api/v1/*` and receive deprecation headers
- `src/app/profile/page.tsx` is a server component that renders the page shell and profile header.
- `src/app/profile/components/ProfileTabs.tsx` owns the small client-side tab state.
- The default profile panel renders first, while settings and achievements are split into lazy-loaded tab panels.
Expand Down
Loading