Skip to content
Closed
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 28 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# .dockerignore
node_modules
**/node_modules
.next
.git
.gitignore
Expand All @@ -16,9 +17,33 @@ yarn-error.log*
.DS_Store
Thumbs.db
README.md
docker-compose*.yml
Dockerfile*
docker/docker-compose*.yml
docker/Dockerfile*
.dockerignore
.github
.turbo
uploads/
.sisyphus
.sisyphus
**/ios
**/android

# Exclude dist directories except packages/trpc/dist (type declarations needed for build)
apps/web/dist
packages/api/dist
packages/auth/dist
packages/config/dist
packages/db/dist
packages/i18n/dist
packages/queue/dist
packages/shared/dist
packages/shared-react/dist
packages/shared-server/dist
packages/ui/dist
tooling/**/dist

# Mobile app
apps/mobile/

# OpenSpec artifacts — not needed in Docker build
openspec/
docs/
3 changes: 2 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ REDIS_URL=redis://localhost:6379 # Redis connection URL for real-time events a
NEXT_PUBLIC_LOG_LEVEL=info # trace, debug, info, warn, error, fatal (default: info in prod, debug in dev)

# Optional
UPLOADS_DIR=/app/uploads # Defaults to ./uploads
UPLOADS_DIR=/app/uploads # Defaults to ./.runtime/uploads in development, /app/uploads in production
# YT_DLP_BIN_DIR=/app/bin # Defaults to ./.runtime/bin in development, /app/bin in production
# NEXT_PUBLIC_LOG_LEVEL=info # trace, debug, info, warn, error, fatal
# TRUSTED_ORIGINS=http://192.168.1.100:3000,https://norish.example.com # Additional trusted origins, comma separated. Useful when behind a proxy or using multiple domains.

Expand Down
40 changes: 0 additions & 40 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Bug Report
description: Create a report to help us improve
labels: ["bug"]
body:
- type: dropdown
id: platform
attributes:
label: Platform
description: Which platform is this bug related to?
options:
- Web
- Mobile
validations:
required: true

- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true

- type: textarea
id: reproduce
attributes:
label: To reproduce
description: Steps to reproduce the behavior
placeholder: |
1. Go to '...'
2. Click on '...'
3. See error
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true

- type: textarea
id: screenshots
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your problem.

- type: textarea
id: environment
attributes:
label: Environment
description: Please provide details about your environment.
placeholder: |
- OS: e.g. macOS 15, iOS 18, Android 15
- Browser: e.g. Chrome 130, Safari 18
- App version: e.g. 0.17.0

- type: textarea
id: additional
attributes:
label: Additional context
description: Add any other context about the problem here.
19 changes: 0 additions & 19 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Feature Request
description: Suggest an idea for this project
labels: ["enhancement"]
body:
- type: dropdown
id: platform
attributes:
label: Platform
description: Which platform is this feature for?
options:
- Web
- Mobile
- Both
validations:
required: true

- type: textarea
id: problem
attributes:
label: Is your feature request related to a problem?
description: A clear and concise description of what the problem is.
placeholder: I'm always frustrated when [...]

- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.

- type: textarea
id: additional
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
17 changes: 3 additions & 14 deletions .github/workflows/docker-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24.13.1

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.30.1
run_install: false

- name: Install dependencies
run: pnpm install
- name: Setup toolchain and install dependencies
uses: ./tooling/github/setup

- name: Build production
run: pnpm run build:prod
run: pnpm run build

- name: Free up disk space
run: |
Expand Down
39 changes: 39 additions & 0 deletions .github/workflows/issue-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Auto-label issues by platform

on:
issues:
types: [opened]

permissions:
issues: write

jobs:
label:
runs-on: ubuntu-latest
steps:
- name: Add platform label
uses: actions/github-script@v7
with:
script: |
const body = context.payload.issue.body || '';
const labels = [];

// Match the platform dropdown selection from issue forms
if (/### Platform\s*\n\s*Web/i.test(body)) {
labels.push('platform: web');
}
if (/### Platform\s*\n\s*Mobile/i.test(body)) {
labels.push('platform: mobile');
}
if (/### Platform\s*\n\s*Both/i.test(body)) {
labels.push('platform: web', 'platform: mobile');
}

if (labels.length > 0) {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: labels,
});
}
Loading
Loading