Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
9afaaa4
fix: brief description of what you changed
rohits1450 Feb 22, 2026
55ac9b3
chore: remove accidental font zip files
rohits1450 Feb 22, 2026
4cf2d6f
fix:adavnced story control - Pro Panels with presets and preset sharing
rohits1450 Feb 22, 2026
42911b4
feat: add Pro Panel with presets and preset sharing
rohits1450 Mar 1, 2026
e8b12c2
fix: resolve merge conflicts with upstream main
rohits1450 Mar 1, 2026
987a4a8
fix: resolve merge conflicts with upstream main
rohits1450 Mar 1, 2026
e3d9d5f
fix: resolve CodeRabbit review issues and hydration mismatch
rohits1450 Mar 1, 2026
57a9327
fix: address CodeRabbit nitpick comments for CSS and package.json
rohits1450 Mar 1, 2026
f291ef2
fix: enable Tailwind directives in Biome config
rohits1450 Mar 1, 2026
24537f9
fix: lint, JSDoc, model IDs, footer removal, route rename
rohits1450 Mar 1, 2026
0afc8d3
fix: resolve CI failures (ESLint, Lighthouse, dependency review)
rohits1450 Mar 1, 2026
73fef0a
style: apply Prettier formatting across codebase
rohits1450 Mar 1, 2026
502c710
fix: resolve new merge conflicts with upstream main
rohits1450 Mar 1, 2026
a59b349
style: fix Prettier formatting to pass CI lint checks
rohits1450 Mar 1, 2026
cd23870
fix: resolve merge conflicts with upstream main
rohits1450 Mar 1, 2026
fa4ba95
merge: sync feature/pro-panel with upstream/main (keep pro-panel chan…
rohits1450 Mar 5, 2026
42df796
fix: resolve lint/prettier errors and add missing Check/Copy imports …
rohits1450 Mar 5, 2026
43389de
feat(pro-panel): add accessibility, tooltips, rate limiting, and tests
rohits1450 Mar 6, 2026
4681e0f
Merge remote-tracking branch 'upstream/main' into feature/pro-panel
rohits1450 Mar 6, 2026
3512682
feat(pro-panel): enhanced tooltips, accessibility, API validation, an…
rohits1450 Mar 6, 2026
70d1eca
fix(api): resolve TS errors from upstream groq-service changes
rohits1450 Mar 6, 2026
c856d57
fix: prettier formatting and lint warnings
rohits1450 Mar 6, 2026
eba3dc3
fix(ci): pin wrangler version to 3.99.0 for stable deployments
rohits1450 Mar 6, 2026
66c8be3
fix(ci): correct deploy output directory to .vercel/output/static
rohits1450 Mar 6, 2026
9f23bad
fix(ci): let wrangler read output dir from wrangler.toml and fix bare…
rohits1450 Mar 6, 2026
871a9ef
fix(security): sanitize blob URLs in upload page to resolve CodeQL wa…
rohits1450 Mar 7, 2026
5b8aef5
fix: resolve ESLint errors and add missing @upstash/ratelimit dependency
rohits1450 Mar 7, 2026
1009cac
fix: add @upstash/ratelimit dependency and server-only guard to rate-…
rohits1450 Mar 7, 2026
2b8d998
fix(ci): explicitly install wrangler before deploy to avoid npx resol…
rohits1450 Mar 7, 2026
80c4827
fix(ci): remove next/font/google to avoid build-time font fetches; ex…
rohits1450 Mar 7, 2026
4a81687
fix(ci): replace wrangler-action with direct wrangler run to fix CLOU…
rohits1450 Mar 7, 2026
c54c86c
cloudfare issue solved
rohits1450 Mar 7, 2026
9075592
fix(api): replace any with typed body interface to resolve TS errors
rohits1450 Mar 7, 2026
d7701a6
Merge upstream/main into feature/pro-panel
rohits1450 Mar 8, 2026
122ddf4
Merge remote-tracking branch 'upstream/main' into feature/pro-panel
rohits1450 Mar 9, 2026
78e1b1b
fix(ci): fix CF Pages preview deployment URL and update env var names
rohits1450 Mar 9, 2026
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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
37 changes: 29 additions & 8 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
> **IMPORTANT:** Read this entire template and follow it fully.
> Pull requests that do **not** follow this template may be **closed and marked as blocked** until updated.
> Pull requests that do **not** follow this template may be **closed and marked as blocked** until
> updated.

---

## Description

**Issue Reference (e.g. Fixes #123):** ---

**Summary of Changes (high-level):**

- What did you change?
- Why was this change needed?
- Which part of the system is impacted (AI, Web, Smart Contracts, Docs, Infra, etc.)?

**Context / Motivation:**

- What problem or use case does this PR solve?
- Any relevant discussion, issue, or design doc links?

Expand All @@ -38,33 +42,41 @@ Select the relevant categories:
Tick everything that applies. Leave non‑applicable items unchecked.

**AI / Application Logic**

- [ ] I tested story generation end‑to‑end with a valid `GROQ_API_KEY`.
- [ ] I verified that prompts, model names, and parameters are up to date with current Groq APIs.
- [ ] I confirmed that error states and empty responses are handled gracefully (no unhandled exceptions).
- [ ] I confirmed that error states and empty responses are handled gracefully (no unhandled
exceptions).

**Web3 / Smart Contracts**

- [ ] I verified contract logic on the **Monad Testnet** (deploy + basic flows).
- [ ] I ran the smart contract tests in `smart_contracts` and they passed.
- [ ] I checked for potential reentrancy / overflow / access‑control issues in new or edited contracts.
- [ ] I checked for potential reentrancy / overflow / access‑control issues in new or edited
contracts.

**Frontend / UX / Accessibility**

- [ ] My changes follow the **Progressive Disclosure** (accordion / step‑based) UX where applicable.
- [ ] I verified the UI in **light and dark mode**.
- [ ] I checked keyboard navigation and focus states for interactive elements I touched.
- [ ] I ensured accessible labels (`aria-*`, alt text) and semantic HTML for new UI.

**Backend / Database**

- [ ] I ran backend startup locally without runtime errors.
- [ ] I validated new API routes with both success and failure cases.
- [ ] I considered database performance (indexes, query filters) for any new queries.
- [ ] I confirmed that new logic respects existing retry/health‑check behavior where relevant.

**Security & Privacy**

- [ ] No API keys, private keys, secrets, or `.env` files are committed.
- [ ] I avoided logging sensitive data (tokens, secrets, full payloads with PII).
- [ ] I considered common web vulnerabilities (XSS, CSRF, SSRF, injection) in my changes.

**Code Quality**

- [ ] I ran `npm run lint` (or equivalent) and resolved reported issues.
- [ ] I ran available tests for the areas I changed (frontend, backend, or contracts).
- [ ] I kept functions/components focused and avoided large “god” modules where possible.
Expand Down Expand Up @@ -95,7 +107,9 @@ If this PR affects UI flows, also describe the manual test steps you followed.

## Visual Proof (for UI / UX changes)

> Required for all visual changes. Attach screenshots or a short screen recording (GIF / video) that clearly shows:
> Required for all visual changes. Attach screenshots or a short screen recording (GIF / video) that
> clearly shows:
>
> - Before vs After (if applicable)
> - Different breakpoints (mobile + desktop)
> - Light and dark mode if supported
Expand All @@ -117,23 +131,30 @@ Tick all that apply to you for this PR:
## Review & Impact

**Breaking Changes**

- [ ] This PR introduces a breaking change (API / contract / DB).
- [ ] If yes, I have documented migration steps in the description above.

**Dependencies**

- [ ] I added or upgraded dependencies.
- [ ] I explained why these dependencies are needed and checked for license compatibility.

**Backward Compatibility / Migrations**

- [ ] Existing users can continue using GroqTales without manual steps.
- [ ] If a migration is required, steps are clearly described (DB migrations, contract redeploys, etc.).
- [ ] If a migration is required, steps are clearly described (DB migrations, contract redeploys,
etc.).

---

## Final Acknowledgements (Mandatory or will be marked invalid)

You must check all of the following before requesting review. These are **required**:

- [ ] **I confirm that the information and code in this PR are my original work or appropriately credited, and I have the right to contribute them under this repository’s license.**
- [ ] **I understand that by submitting this PR, I take full responsibility and accountability for the changes I am proposing.**
- [ ] **I have read and agree to follow the project’s Code of Conduct, Security Policy, and Contribution Guidelines for all discussions and follow‑up on this PR.**
- [ ] **I confirm that the information and code in this PR are my original work or appropriately
credited, and I have the right to contribute them under this repository’s license.**
- [ ] **I understand that by submitting this PR, I take full responsibility and accountability for
the changes I am proposing.**
- [ ] **I have read and agree to follow the project’s Code of Conduct, Security Policy, and
Contribution Guidelines for all discussions and follow‑up on this PR.**
2 changes: 1 addition & 1 deletion .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ jobs:
uses: actions/dependency-review-action@v4
with:
fail-on-severity: high
comment-summary-in-pr: false
comment-summary-in-pr: false
38 changes: 26 additions & 12 deletions .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,25 +48,34 @@ jobs:
NEXT_PUBLIC_SPLASH_IMAGE_URL: 'https://groqtales.xyz/splash.jpg'
NEXT_PUBLIC_SPLASH_BACKGROUND_COLOR: '#1a1a2e'

- name: Install Wrangler
run: npm install -g wrangler@3.99.0

- name: Deploy to Cloudflare Pages
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy out --project-name=groqtales --branch=main
run: wrangler pages deploy --project-name=groqtales --branch=main
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}

deploy-preview:
if: github.ref_name != 'main'
name: Build & Deploy to Cloudflare Pages (Preview)
runs-on: ubuntu-latest
environment:
name: preview
url: https://groqtales-preview.pages.dev
url: ${{ steps.deploy.outputs.url }}

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Compute branch slug
id: slug
run: |
SLUG=$(echo "${{ github.ref_name }}" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/-\+/-/g' | sed 's/^-//;s/-$//')
echo "value=$SLUG" >> $GITHUB_OUTPUT
echo "preview_url=https://${SLUG}.groqtales.pages.dev" >> $GITHUB_OUTPUT

- name: Setup Node.js 20
uses: actions/setup-node@v4
with:
Expand All @@ -83,7 +92,7 @@ jobs:
run: npm run cf-build
env:
NEXT_PUBLIC_BUILD_MODE: 'true'
NEXT_PUBLIC_URL: 'https://groqtales-preview.pages.dev'
NEXT_PUBLIC_URL: ${{ steps.slug.outputs.preview_url }}
NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }}
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }}
Expand All @@ -93,9 +102,14 @@ jobs:
NEXT_PUBLIC_SPLASH_IMAGE_URL: 'https://groqtales.xyz/splash.jpg'
NEXT_PUBLIC_SPLASH_BACKGROUND_COLOR: '#1a1a2e'

- name: Install Wrangler
run: npm install -g wrangler@3.99.0

- name: Deploy to Cloudflare Pages
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy out --project-name=groqtales --branch=${{ github.ref_name }}
id: deploy
run: |
wrangler pages deploy --project-name=groqtales --branch="${{ github.ref_name }}"
echo "url=${{ steps.slug.outputs.preview_url }}" >> $GITHUB_OUTPUT
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
6 changes: 3 additions & 3 deletions .github/workflows/license-compliance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: License Compliance Check

on:
push:
branches: [ master, main, develop ]
branches: [master, main, develop]
pull_request:
branches: [ master, main, develop ]
branches: [master, main, develop]
schedule:
- cron: '0 9 * * 1'

Expand Down Expand Up @@ -35,4 +35,4 @@ jobs:
id: license-check
run: |
echo "Checking licenses for compliance..."
license-checker --production --summary --failOn "GPL;AGPL;LGPL;NGPL"
license-checker --production --summary --failOn "GPL;AGPL;LGPL;NGPL"
7 changes: 3 additions & 4 deletions .github/workflows/lighthouse-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,12 @@ jobs:
# Lower threshold temporarily because this PR focuses on dev environment setup,
# not frontend performance optimizations. Performance tuning will be handled separately.
run: |
npx -y serve@latest out -l 3000 &
sleep 5
lhci autorun \
--collect.startServerCommand="npx next start -p 3000" \
--collect.startServerReadyPattern="Ready" \
--collect.startServerReadyTimeout=30000 \
--collect.numberOfRuns=3 \
--collect.url="http://localhost:3000/" \
--collect.url="http://localhost:3000/nft-gallery" \
--collect.numberOfRuns=3 \
--collect.settings.chromeFlags="--no-sandbox --disable-dev-shm-usage --headless" \
--assert.assertions.categories:performance="error" \
--assert.assertions.categories:performance.minScore=0.5 \
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/pr-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name: PR CI — Tests & Cloudflare Build Check

on:
pull_request:
branches: ["main"]
branches: ['main']
types: [opened, synchronize, reopened]

permissions:
Expand All @@ -24,7 +24,7 @@ jobs:
- name: Setup Node.js 20
uses: actions/setup-node@v4
with:
node-version: "20"
node-version: '20'

- name: Install Dependencies
run: npm install --legacy-peer-deps
Expand All @@ -43,7 +43,7 @@ jobs:
- name: Setup Node.js 20
uses: actions/setup-node@v4
with:
node-version: "20"
node-version: '20'

- name: Install Dependencies
run: npm install --legacy-peer-deps
Expand All @@ -63,30 +63,30 @@ jobs:
- name: Setup Node.js 20
uses: actions/setup-node@v4
with:
node-version: "20"
node-version: '20'

- name: Install Dependencies
run: npm install --legacy-peer-deps

- name: Build for Cloudflare Pages (dry run)
run: npm run cf-build
env:
NEXT_PUBLIC_BUILD_MODE: "true"
NEXT_PUBLIC_URL: "https://groqtales.xyz"
NEXT_PUBLIC_BUILD_MODE: 'true'
NEXT_PUBLIC_URL: 'https://groqtales.xyz'
NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }}
NEXT_PUBLIC_GROQ_API_KEY: ${{ secrets.NEXT_PUBLIC_GROQ_API_KEY }}
NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }}
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }}
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID: ${{ secrets.NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID }}
NEXT_PUBLIC_IMAGE_URL: "https://groqtales.xyz/images"
NEXT_PUBLIC_SPLASH_IMAGE_URL: "https://groqtales.xyz/splash.jpg"
NEXT_PUBLIC_SPLASH_BACKGROUND_COLOR: "#1a1a2e"
NEXT_PUBLIC_IMAGE_URL: 'https://groqtales.xyz/images'
NEXT_PUBLIC_SPLASH_IMAGE_URL: 'https://groqtales.xyz/splash.jpg'
NEXT_PUBLIC_SPLASH_BACKGROUND_COLOR: '#1a1a2e'

- name: Verify Build Output Exists
run: |
if [ -d "out" ]; then
if [ -d ".vercel/output/static" ]; then
echo "✅ Build output directory exists"
du -sh out
du -sh .vercel/output/static
else
echo "❌ Build output directory not found!"
exit 1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/welcome.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,4 @@ jobs:
pull_number: pr.number,
reviewers: filteredReviewers
});
}
}
6 changes: 3 additions & 3 deletions .github/workflows/wiki-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
paths:
- 'wiki/**'
branches:
- main
- main

permissions:
contents: write
Expand All @@ -16,10 +16,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Sync Wiki
uses: newrelic/wiki-sync-action@v1.0.0
with:
source: wiki
destination: wiki
token: ${{ secrets.GITHUB_TOKEN }}
token: ${{ secrets.GITHUB_TOKEN }}
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
node_modules/
/.pnp
.pnp.js
.yarn/install-state.gz
Expand Down Expand Up @@ -104,6 +104,14 @@ sitemap.xml
/public/sitemap.xml
/out/sitemap.xml

# Font demo files
another-danger-rohit/
another-danger-rohit.zip

# Generated files
/public/sitemap*.xml
/public/robots.txt

# Generated files (PWA service workers only)
/public/sw.js
/public/workbox-*.js
Expand Down
Loading