Skip to content

Merge latest changes#1

Open
timweine wants to merge 172 commits intotimweine:masterfrom
miantiao-me:master
Open

Merge latest changes#1
timweine wants to merge 172 commits intotimweine:masterfrom
miantiao-me:master

Conversation

@timweine
Copy link
Owner

@timweine timweine commented Nov 3, 2025

Note

Removes Tailwind config, adds two packages to onlyBuiltDependencies, and performs minor code/comment and JSON formatting updates.

  • Build/Tooling:
    • Remove tailwind.config.js.
    • Update pnpm-workspace.yaml onlyBuiltDependencies to include @tailwindcss/oxide and maplibre-gl.
  • Server:
    • Adjust UAParser option typings in server/utils/access-log.ts using @ts-expect-error.
  • Data:
    • Reformat public/colos.json to pretty JSON.

Written by Cursor Bugbot for commit 342da35. This will update automatically on new commits. Configure here.

WuChenDi and others added 30 commits August 7, 2025 22:11
- Upgrade Nuxt from 3.17.4 to 4.0.3
- Remove future.compatibilityVersion configuration
build(nuxt): upgrade Nuxt version
Added instructions for naming datasets and updating wrangler.jsonc.
Streamlines project documentation by replacing verbose AGENT.md with a more focused AGENTS.md guide that:

- Simplifies project structure explanation
- Clarifies development workflow and commands
- Updates coding standards and conventions
- Provides clearer testing and PR guidelines
- Reorganizes security and configuration guidance

Removes redundant symlinks to create a single source of truth for project guidelines.
Updates package version for next release iteration.
miantiao-me and others added 30 commits February 9, 2026 19:23
feat: add optional custom 404 redirect when slug is not found
Replaces intersection observer with requestIdleCallback for simpler deferred globe initialization, reducing complexity and improving initial page load.

Extracts sphere tessellation logic into a separate module and prebuilds geometry at build time, loading it as a binary asset at runtime. This eliminates redundant computation during page initialization.

Scales texture resolution based on container size to avoid generating unnecessarily large textures on smaller viewports, reducing memory usage and GPU processing time.

Adds OffscreenCanvas support for texture generation where available, enabling background rendering without blocking the main thread.

Fixes texture seam artifacts by adjusting shader UV wrapping and clamping horizontal wrap mode to edge instead of repeat.

Adds build:sphere script to generate precomputed sphere geometry binary.
Sets notFoundRedirect to empty string by default instead of reading from environment variable, effectively disabling custom 404 redirects unless explicitly configured.

Updates example configuration to show a placeholder value and removes redundant documentation example to simplify configuration guidance.
Synchronizes filter selection with URL parameters to ensure proper state restoration when filters are cleared or updated from the store. Prevents desync between UI and URL state.

Corrects date range restoration logic to prioritize custom time ranges over presets, preventing preset values from overriding explicit time selections.

Adds cache headers for static geographic data files to improve performance and reduce server load for immutable resources.

Prevents infinite redirect loops by bypassing redirect check when already on the not-found redirect path.

Updates cache control for cloaking responses to use no-store directive for better privacy compliance.

Expands API documentation to include missing link configuration options for cloaking, query parameter handling, and password protection.
Increments package version for new release
Replaces invalid 'ubuntu-slim' runner with 'ubuntu-latest' to ensure the duplicate issues workflow executes properly.

The ubuntu-slim runner type does not exist in GitHub Actions, causing workflow failures.
Enhances the version update notification by displaying both the available new version and the currently installed version. This provides users with complete context about their upgrade path, making it easier to understand the version delta at a glance.

Updates all locale files (de-DE, en-US, fr-FR, vi-VN, zh-CN, zh-TW) to include a {current} placeholder in the update message string, and modifies the sidebar component to pass the current version value to the translation function.
Replaces the duplicate-issues workflow with a more comprehensive issue-assistant that combines multiple functions into one.

The new workflow checks both documentation and existing issues, then posts a single consolidated comment when relevant information is found. This reduces noise by avoiding multiple comments and provides a better user experience with documentation references alongside duplicate detection.
feat(i18n): add Portuguese (PT) and Portuguese (BR) translations
Co-authored-by: miantiao-me <2959393+miantiao-me@users.noreply.github.com>
feat: add Italian (it-IT) language support
feat(migrate): add manual backup button to R2
…-issue

fix: allow removing a password from a link on edit
Fixes an issue where optional fields (comment, title, description, image, cloaking, redirectWithQuery, password, expiration) could not be removed from links during editing.

Previously, only the password field was explicitly deleted when undefined. Now all optional fields are properly removed from the link object when not provided in the edit request, allowing users to clear these fields through the UI.

Also adds translations for manual backup feature in Italian and Portuguese locales.
Introduces a new "unsafe" flag for links that displays a warning page before redirecting visitors. Users must explicitly confirm to continue to the destination.

Adds optional automatic detection via DNS over HTTPS (DoH) when NUXT_SAFE_BROWSING_DOH is configured. If a destination domain resolves to 0.0.0.0, the link is automatically marked as unsafe during creation or editing.

Implements warning page UI with options to go back or confirm continuation. For password-protected links, the unsafe warning appears after successful password entry.

Includes API parameter support for manual unsafe marking, localization updates across all supported languages, and visual indicators in the dashboard link list.
Defines proper TypeScript prop interface for the error page to receive NuxtError object, enabling proper type checking and access to error details within the component.
Introduces internationalization for password protection and unsafe warning pages by resolving the user's locale from the Accept-Language header.

Refactors HTML generation functions to accept locale options and use translated strings from REDIRECT_TRANSLATIONS. Updates page styling to use a dark theme with improved visual hierarchy and accessibility.

Extracts repeated header-setting logic into a reusable sendNoStoreHtml helper function to reduce code duplication across password and unsafe warning flows.
Improves AI-generated URL slugs by incorporating page content alongside the URL itself. Fetches page markdown and includes it in the AI prompt context, enabling more meaningful and descriptive slug generation based on actual page content rather than URL alone.

Updates the AI prompt to clarify that SLUG derivation should consider both URL and page content when available, removing the strict limitation of using only URL information.
Removes markdown code block wrappers that may surround AI-generated content before parsing. This prevents deserialization errors when the AI model returns valid JSON wrapped in triple backticks with language identifiers.

Extracts the actual content from patterns like ```json\n{...}\n``` to ensure clean parsing of the response data.
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.