Commit Graph
436 Commits
Author SHA1 Message Date
hamster1963 056c357b6e feat: implement backend error handling and improve error messaging in Server component 2026-07-05 13:17:36 +08:00
hamster1963 d295d549da refactor: optimize ServerDetail loading and update MapTooltip positioning logic 2026-07-05 04:19:39 +08:00
hamster1963 6c7ba30cee feat: refactor DashCommand to use useMemo for shortcuts and server commands
feat: optimize GlobalMap component with useMemo for country data processing

feat: enhance ServerCard and ServerCardInline components with memoization

feat: improve ServiceTracker component by processing service data with useMemo

feat: add VirtualServerList component for efficient rendering of server lists

refactor: update Servers page to utilize VirtualServerList for better performance

test: add tests for DashCommand and GlobalMap components, including virtualization checks
2026-07-05 04:09:22 +08:00
hamster1963 8f3a2f3eb3 chore(deps): update @radix-ui/react-dialog, react-router-dom, @tailwindcss/postcss, @vitejs/plugin-react, tailwindcss, and vite to latest versions 2026-07-02 17:47:22 +08:00
Copilot 9f2f6d9d29 Set build target to safari15 for iOS Safari compatibility (#76)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-02 17:44:52 +08:00
仓鼠 8d58f41856 Implement scroll position management for navigation (#73)
* feat: implement scroll position management for main page navigation

* fix: import saveMainPageScrollPosition in ServerCard and ServerCardInline components

* feat: save scroll position when navigating to server from DashCommand

* fix: prevent restoring stale scroll positions without main page origin
2026-06-20 16:21:32 +08:00
hamster1963 5a4e47d520 chore(deps): update @radix-ui/react-dialog, react-router-dom, @vitest/coverage-v8, and vitest to latest versions 2026-06-20 00:53:33 +08:00
hamster1963 bdabc0158b feat: integrate NumericText component for improved numeric display in ServerDetailOverview 2026-06-20 00:48:30 +08:00
hamster1963 03977c4b4d refactor: update websocket context to use structured data and lazy load components
- Changed websocket context to use `lastData` instead of `lastMessage` for better type safety and clarity.
- Updated components to handle the new websocket data structure, including `DashCommand`, `Header`, `ServerDetail`, and various chart components.
- Introduced lazy loading for `NotFound`, `ServerDetail`, and `NetworkChart` components to improve performance.
- Added skeleton loading states for `ServerDetail` to enhance user experience during data fetching.
- Updated tests to reflect changes in websocket data handling and component structure.
2026-06-20 00:48:30 +08:00
dependabot[bot] f2b13da7b1 chore(deps): bump actions/checkout from 6 to 7 in the all group (#71)
Bumps the all group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 23:03:21 +08:00
hamster1963 21d60076ce fix(api): enhance token refresh handling with CSRF token support 2026-06-15 18:51:19 +08:00
hamster1963 ea19d3cc27 chore(deps): update tailwindcss and postcss to version 4.3.1 2026-06-15 18:46:36 +08:00
hamster1963 f536d4ecf5 fix(api): implement CSRF token handling for refresh token requests 2026-06-15 18:45:29 +08:00
hamster1963 5720af9108 test: add unit tests for various components and utilities
- Created tests for formatBytes function to ensure correct formatting of byte values.
- Implemented tests for InjectContext to validate resource injection and cleanup.
- Added tests for logo-class helpers to verify platform alias mappings.
- Developed tests for nezha-api functions to check API response handling.
- Introduced tests for static geographic data to validate country coordinates and GeoJSON structure.
- Created comprehensive tests for utility functions including date formatting and public note parsing.
- Added tests for Server page to ensure correct rendering and functionality.
- Implemented tests for simple pages including error handling and navigation.
- Set up testing environment with Vitest and configured coverage reporting.
2026-06-15 11:29:48 +08:00
hamster1963 5670811991 chore(deps): update biome and radix-ui packages to latest versions 2026-06-10 15:21:26 +08:00
hamster1963 a3afa04c69 feat(i18n): add translation for "All" in GroupSwitch component for English, Simplified Chinese, and Traditional Chinese 2026-06-10 15:19:34 +08:00
hamster1963 575c14dfe5 fix: update sort label translation in Servers component 2026-06-10 15:19:20 +08:00
hamster1963 78c412a517 fix: update formatBytes function to return "0 KiB" for zero bytes and streamline size array 2026-06-10 15:04:05 +08:00
hamster1963 6015e616fa feat: add @numeric-text/react for improved numeric display in Header and ServerOverview components 2026-06-10 15:04:00 +08:00
hamster1963 c6e58167a3 chore(deps): update @radix-ui/react-dialog and react-router-dom to latest versions 2026-06-10 13:23:39 +08:00
hamster1963 eb682dc75f refactor: remove framer-motion dependencies and implement custom active indicator for improved performance and animations 2026-06-10 13:23:10 +08:00
hamster1963 8e0f7a2fb6 fix(deps): remove bun.lock 2026-06-10 13:22:54 +08:00
hamster1963 67f70ab7d3 fix: add service fetching and conditional rendering for service button 2026-06-06 19:11:23 +08:00
hamster1963 3c9613a179 fix: remove animations from CommandDialog content for improved performance 2026-06-06 18:36:33 +08:00
hamster1963 f9e4c12a6a fix: enhance dropdown menu styling for improved animations and transitions 2026-06-06 18:34:22 +08:00
dependabot[bot] 00dc5c99dd chore(deps): bump the all group with 7 updates (#68)
Bumps the all group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4` | `6` |
| [pnpm/action-setup](https://github.com/pnpm/action-setup) | `4` | `6` |
| [actions/setup-node](https://github.com/actions/setup-node) | `4` | `6` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `2` | `3` |
| [oven-sh/setup-bun](https://github.com/oven-sh/setup-bun) | `1` | `2` |
| [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) | `5` | `7` |
| [actions/github-script](https://github.com/actions/github-script) | `7` | `9` |


Updates `actions/checkout` from 4 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

Updates `pnpm/action-setup` from 4 to 6
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v6)

Updates `actions/setup-node` from 4 to 6
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v6)

Updates `softprops/action-gh-release` from 2 to 3
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v2...v3)

Updates `oven-sh/setup-bun` from 1 to 2
- [Release notes](https://github.com/oven-sh/setup-bun/releases)
- [Commits](https://github.com/oven-sh/setup-bun/compare/v1...v2)

Updates `stefanzweifel/git-auto-commit-action` from 5 to 7
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v5...v7)

Updates `actions/github-script` from 7 to 9
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v9)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: pnpm/action-setup
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: softprops/action-gh-release
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: oven-sh/setup-bun
  dependency-version: '2'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: actions/github-script
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 11:26:53 +08:00
仓鼠 8a2d8d67bd Refactor CI workflows and add Dependabot configuration (#67)
* fix: remove duplicate pnpm setup step in CI and build workflows

* fix: remove version specification for pnpm setup in CI and build workflows

* feat: add Dependabot configuration for GitHub Actions updates

* chore: auto-fix linting and formatting issues
2026-06-04 11:24:59 +08:00
hamster1963 20adf873fc fix: update pnpm version in CI workflow to ensure compatibility 2026-06-04 11:15:11 +08:00
hamster1963 70532eb44d fix: improve theme management and styling for better user experience 2026-06-04 11:11:49 +08:00
hamster1963 c8b7dcc8a8 fix: update build workflow to use Node.js and pnpm, and upgrade react-router-dom version 2026-06-04 10:24:16 +08:00
hamster1963 ad0682bbf1 fix: add sorting labels and types for multiple languages in translation files 2026-06-01 15:20:35 +08:00
hamster1963 631390586b fix: update sort controls styling for improved visibility and consistency 2026-06-01 15:13:21 +08:00
hamster1963 f323f4248b fix: simplify sorting UI by removing popover and integrating sort controls directly 2026-06-01 15:07:55 +08:00
hamster1963 eac9d6a245 fix: enhance sorting functionality and UI for server list 2026-06-01 14:51:01 +08:00
hamster1963 33ba092345 fix: update button padding and hover styles for improved user interaction 2026-06-01 11:58:33 +08:00
hamster1963 30fb1fbe30 fix: update tooltip styling for improved visual consistency 2026-06-01 11:53:15 +08:00
hamster1963 d69190abd5 fix: improve card styling and hover effects across components 2026-06-01 11:53:11 +08:00
hamster1963 57aaba3918 fix: enhance loading state handling in NetworkChart component 2026-06-01 11:19:41 +08:00
hamster1963 fcaff0bae0 fix: add responsive container handling for chart components 2026-05-31 20:05:35 +08:00
2d46fb6b86 fix: support per-server max/from/to in cycle transfer stats (#64)
* Initial plan

* fix: support per-server max/from/to values in cycle transfer stats

When the Nezha backend has multiple transfer rules within one alert rule,
the API may return per-server max values (as a map) instead of a single
max value. Update the TypeScript interface and CycleTransferStats component
to handle both formats:
- Single value (number/string): used for all servers (current behavior)
- Per-server map ({[serverId]: value}): uses the correct value per server

Fixes #63

Agent-Logs-Url: https://github.com/hamster1963/nezha-dash-v2/sessions/88f98dad-c2eb-4728-ac98-e02a95d5144d

Co-authored-by: hamster1963 <71394853+hamster1963@users.noreply.github.com>

* fix: update schema version in biome.json and improve null checks in components

* chore: auto-fix linting and formatting issues

* fix: guard null/zero in CycleTransferStats per-server map lookups

Agent-Logs-Url: https://github.com/hamster1963/nezha-dash-v2/sessions/2fb2306b-8011-487d-b284-9768778db8c3

Co-authored-by: hamster1963 <71394853+hamster1963@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hamster1963 <71394853+hamster1963@users.noreply.github.com>
Co-authored-by: hamster1963 <1410514192@qq.com>
2026-05-26 01:34:02 +08:00
hamster1963 f69f480d3b fix: enhance sorting functionality by adding forced sort type and order handling 2026-05-25 01:57:50 +08:00
hamster1963 4b0106c011 fix: simplify className usage for icons in Server component 2026-05-25 01:42:49 +08:00
hamster1963 a1b382c3eb fix: update dependencies in package.json to latest versions 2026-05-25 01:42:43 +08:00
hamster1963 2dcf6fb9d8 fix: remove unused prerelease condition from GitHub Actions workflow 2026-04-02 17:31:50 +08:00
hamster1963 9a21a664c9 fix: add draft condition for release based on tag naming conventions 2026-04-02 17:29:48 +08:00
ffb6102211 Translations update from Hosted Weblate (#62)
* Translated using Weblate (Ukrainian)

Currently translated at 2.9% (3 of 103 strings)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Japanese)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Zilong Liu <2821624044@qq.com>
Co-authored-by: Руслан Пузич <visp80@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/nezha/user-frontend/uk/
Translation: Nezha/User frontend

* Translated using Weblate (Ukrainian)

Currently translated at 11.6% (12 of 103 strings)

Translation: Nezha/User frontend
Translate-URL: https://hosted.weblate.org/projects/nezha/user-frontend/uk/

* Added translation using Weblate (Galician)

* Translated using Weblate (Galician)

Currently translated at 100.0% (103 of 103 strings)

Translation: Nezha/User frontend
Translate-URL: https://hosted.weblate.org/projects/nezha/user-frontend/gl/

* Translated using Weblate (Ukrainian)

Currently translated at 50.4% (52 of 103 strings)

Translation: Nezha/User frontend
Translate-URL: https://hosted.weblate.org/projects/nezha/user-frontend/uk/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (103 of 103 strings)

Translation: Nezha/User frontend
Translate-URL: https://hosted.weblate.org/projects/nezha/user-frontend/id/

* chore: auto-fix linting and formatting issues

---------

Co-authored-by: Zilong Liu <2821624044@qq.com>
Co-authored-by: Руслан Пузич <visp80@gmail.com>
Co-authored-by: nlimeres <dynosaurioprogramador@gmail.com>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: weblate <1607653+weblate@users.noreply.github.com>
Co-authored-by: 仓鼠 <71394853+hamster1963@users.noreply.github.com>
2026-04-02 17:19:50 +08:00
hamster1963 f7662d2751 chore: add CI workflow and update dependencies in package.json and vite.config.ts 2026-04-02 17:17:16 +08:00
Copilotandhamster1963 e4ba96ea76 fix: default network chart period to 1d instead of 30d (#61)
* Initial plan

* fix: change network chart default period from 30d to 1d

Co-authored-by: hamster1963 <71394853+hamster1963@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hamster1963 <71394853+hamster1963@users.noreply.github.com>
2026-03-10 15:30:42 +08:00
hamster1963 d7f4f61001 chore: bump version to 2.0.2 in package.json 2026-02-25 17:22:27 +08:00
eceadb6bff fix: Update service to use display_index as the main sort order (#60)
* fix: Update service to use display_index as the main sort order

* chore: auto-fix linting and formatting issues

* Update src/types/nezha-api.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: huYang <306061454@qq.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-02-25 17:20:42 +08:00