Skip to content

stage update#337

Merged
FloB95 merged 38 commits intostagefrom
main
Mar 13, 2026
Merged

stage update#337
FloB95 merged 38 commits intostagefrom
main

Conversation

@FloB95
Copy link
Copy Markdown
Owner

@FloB95 FloB95 commented Mar 13, 2026

No description provided.

FloB95 and others added 30 commits March 4, 2026 22:33
Add hover cards for WiFi (SSID, masked password, encryption badge),
EPC/Bank (IBAN, BIC, amount, purpose), and Location (address, coordinates).
Redesign existing vCard, Event, and Email cards with consistent style:
colored icon header, structured label-value rows. Show vCard hover card
for static QR codes too. Remove redundant inline icons from trigger text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add copy-to-clipboard button on hover for URLs in content column (short URLs, destination URLs, static URLs)
- Add truncation-aware tooltips for names, URLs, and tags (only shown when text is actually cropped)
- Constrain name column width and use text-foreground for content column
- Fix dynamic URL display: proper truncation, arrow icon visibility, and min-width constraints
- Add useIsTruncated hook and TruncatedLink/CopyUrlButton reusable components
- Update translations for copy URL feature across all 8 locales

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ix mobile layout

- Hide redundant content type select dropdown in edit mode
- Add content type icon (link, wifi, etc.) inside the name input field
- Remove inner padding on mobile for compact/edit mode to prevent overflow
- Truncate short URL text on narrow screens
- Add min-w-0 to flex child for proper shrinking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ews, and displays

Centralize short URL resolution through useShortUrlLink hook and ensure
qrCodeData (with custom domain baked in) is passed to all QR code render
points. Fixes dashboard list downloads, detail/edit page previews, share
page rendering, and URL display across generator and editor components.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…red image

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…n script

Enable preview image generation for QR codes and templates that have custom
images by downloading from S3 and converting to base64 data URLs. Add
nodeCanvas shim to prevent JSDOM hangs during server-side rendering. Remove
the "skip if image" guards from event handlers. Add standalone script to
regenerate all missing preview images.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Compute qrCodeData from content for all QR codes where it's null before
generating previews. Resolves short URLs and custom domains for dynamic
QR codes. Pre-loads lookup tables for efficient batch processing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ompleted backfill

- Remove qrCodeData backfill phase (already completed for all records)
- Add parallel processing with 20 concurrent workers instead of sequential loop
- Increase DB connection pool to match concurrency
- Reduce console noise to progress logs every 500 items
- Remove unused table definitions, imports, and FRONTEND_URL env requirement
- Clean up debug logging in qr-code-image strategy

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds native Sentry.logger calls to all log levels so logs appear in
Sentry's Logs view. Eagerly resolves ErrorReporter (Sentry.init) at
application startup to ensure Sentry is initialized before any log calls.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tracks unauthorized request attempts per IP in Redis and blocks IPs
that exceed the threshold. Integrates as a Fastify onRequest hook and
tracks UnauthorizedError responses in the error handler.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: claude-flow <ruv@ruv.net>
Co-Authored-By: claude-flow <ruv@ruv.net>
… API

Co-Authored-By: claude-flow <ruv@ruv.net>
…orting

Co-Authored-By: claude-flow <ruv@ruv.net>
add MySQL, Redis, and MinIO service containers to CI pipeline
Add standalone short URL management with create, edit, delete, list, and detail views.
Includes PostHog event tracking, Sentry error reporting, default domain pre-selection,
DomainSelector refactored to derive system domain from env, and full i18n translations
for all 8 locales.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add dedicated product pages for URL Shortener, QR Codes, and Analytics
with hero sections, feature details, mockups, FAQs, and CTAs. Update
header with products dropdown menu, footer with product links, and
sitemap. Refine short URL dashboard, fix Zod v4 import in ApiError,
add stats bar to home page, and update all 8 locale dictionaries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix delete error toast showing confirmation title instead of error message
- Fix invalid Tailwind class hover:gray-200 → hover:bg-gray-200 in button
- Fix toggle mutation refetching wrong query key (qrCodes → shortUrls)
- Fix stale detail page after short URL edit (add onSuccess + router.refresh)
- Fix TypeScript errors in ProductStatsBar regex destructuring
- UI: Badge component usage, drawer z-index, header/mobile menu, language nav dropdown-up variant

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add HTTP URL validation for QR code and short URL DTOs, expand backend
test coverage for edge cases, and polish frontend components including
product pages, dashboard UI, and i18n translations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add full tagging system for short URLs (entity, use case, policy, controller,
tests), improve short URL list filtering with tag/search/sort support,
update plan config limits, and refine various dashboard UI components.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tion guards

- Fix tag update toast showing "QR code tags" for short URL tags (all 8 locales)
- Replace hardcoded English error string in ShortUrlTagBadges with i18n key
- Add page clamping in ShortUrlList when result set shrinks after deletion
- Add mutation pending guard in ShortUrlTagBadges to prevent concurrent updates
- Use invalidateQueries instead of refetchQueries for short URL tag mutations
- Add rich text link support for API keys description
- Remove duplicate "doc" path from locale prefix regex in proxy

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
FloB95 and others added 8 commits March 12, 2026 14:30
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…k, fix minor issues

- Switch frontend links from next/link to @/i18n/navigation Link with locale-stripped paths
- Move addUserToRequest middleware from per-route preHandler to global Fastify hook
- Use repository.generateId() instead of crypto.randomUUID() in stripe webhook service
- Add hideLanguageNav prop to Footer for legal/docs layouts
- Fix Header products dropdown using openProducts handler
- Fix LanguageNav path handling (usePathname already strips locale)
- Set EPC form validation mode to onTouched
- Move WiFi password disabled prop to input element level

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nd clean up update views

- Move Zod validation hooks from preValidation to preHandler phase in backend route registration
- Add httpUrl validation with max length to URL input forms (create & edit)
- Disable submit buttons when forms have no changes (short URL, tags, QR code, templates)
- Add latestQrCode tracking to template update flow for proper change detection
- Remove QrPreview buttons from QR code and template update views
- Make validateContentHttpUrls basePath configurable for reuse in frontend

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The NameDialog did not close when submitting via Enter key. Also raised
z-index of dialog, alert-dialog, and sheet overlays from z-50 to z-[110]
so they render above the sticky header (z-[100]).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace skeleton-based loading on refetch with a modern overlay loader
featuring the QRcodly logo SVG with animated data modules. Tables now
keep previous data visible (opacity + blur) during refetch instead of
flashing skeletons. Applied consistently across all dashboard tables
(QR codes, short URLs, templates, tags, custom domains).

Also fix QR code list not refreshing after toggling short URL active state.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@FloB95 FloB95 merged commit 3a3a7e0 into stage Mar 13, 2026
6 checks passed
@github-actions github-actions Bot added the chore Simple change label Mar 13, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 13, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (5)
  • main
  • feature/*
  • chore/*
  • bugfix/*
  • develop

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 0c20f87e-042a-4f3c-8885-40054e952a73

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch main
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Simple change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant