Compare commits

...
4963 Commits
Author SHA1 Message Date
Thomas Camlong 4fdd1fe351 Replace entire codebase with homarr-labs/homarr 2026-01-15 21:54:44 +01:00
Thomas Camlong c5bc3b1559 Merge remote-tracking branch 'upstream/main' into no-idea 2026-01-15 21:54:35 +01:00
Releases Homarr 830e84d546 chore(release): 1.50.0 [skip ci] 2026-01-09 19:20:08 +00:00
homarr-releases[bot] 5b5aa3caac chore(release): automatic release v1.50.0 2026-01-09 19:19:08 +00:00
homarr-update-contributors[bot] 69fb4c6856 chore: update contributors (#4817)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2026-01-09 12:40:05 +00:00
a2a34124ae feat(users): add libravatar / gravatar support (#4277)
Co-authored-by: HeapReaper <kelivn@heapreaper.nl>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2026-01-09 13:10:52 +01:00
homarr-crowdin[bot] 717e17c9f8 chore(lang): update translations from crowdin (#4809)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-01-08 20:14:29 +01:00
homarr-renovate[bot] dabb2bb782 fix(deps): update dependency @tabler/icons-react to ^3.36.1 (#4812)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-07 14:33:10 +00:00
homarr-renovate[bot] 35042a783c fix(deps): update dependency next-intl to v4.7.0 (#4806)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-06 19:32:00 +00:00
homarr-renovate[bot] 9e63e3443a fix(deps): update dependency ldapts to v8.1.2 (#4805)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-06 19:30:33 +00:00
Matti AirasandClaude Opus 4.5 0dc61a88b8 feat(auth): extend API key authentication to tRPC endpoints (#4732)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 18:43:17 +01:00
homarr-renovate[bot] c8ecf5f0a1 fix(deps): update dependency ldapts to v8.1.0 (#4804)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-05 17:31:37 +00:00
homarr-renovate[bot] 413e846133 fix(deps): update dependency @tanstack/react-query to ^5.90.16 (#4799)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-05 16:36:01 +00:00
homarr-renovate[bot] 6e572e3fc5 chore(deps): update pnpm to v10.27.0 (#4802)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-05 15:53:40 +00:00
homarr-crowdin[bot] 96e2f4fcca chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-01-04 01:02:35 +00:00
homarr-renovate[bot] ea848bdd0b fix(deps): update dependency @tanstack/react-query to ^5.90.15 (#4794)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-03 22:27:38 +00:00
homarr-renovate[bot]andMeier Lukas f0a2551fdf fix(deps): update dependency typescript-eslint to ^8.51.0 (#4795)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2026-01-03 23:17:05 +01:00
homarr-renovate[bot]andMeier Lukas 35e0198b5d fix(deps): update dependency @tabler/icons-react to ^3.36.0 (#4707)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2026-01-03 21:49:56 +01:00
Meier Lukas c13e3a1d0a chore: adjust codeowners for renovate managed files to no owner instead of homarr-labs/none (#4792) 2026-01-03 21:22:57 +01:00
Releases Homarr 0270dae3d6 chore(release): 1.49.1 [skip ci] 2026-01-03 13:06:04 +00:00
homarr-releases[bot] 19a4bee334 chore(release): automatic release v1.49.1 2026-01-03 13:05:10 +00:00
Meier Lukas 60f9d4e6e6 fix(unraid): temperature of disks can be null (#4788) 2026-01-03 13:44:24 +01:00
Meier Lukas 7d3322576c fix(db): connection issue do to missing host and name of db when connecting with host (#4786) 2026-01-03 13:44:01 +01:00
homarr-renovate[bot] 1842e5fff5 fix(deps): update dependency ldapts to v8.0.36 (#4790)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-03 03:30:32 +00:00
homarr-renovate[bot] 1b70973084 fix(deps): update dependency react-error-boundary to ^6.0.1 (#4791)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-03 01:50:19 +00:00
Meier Lukas b4ac3fc346 chore: update docs sitemap 2026-01-02 22:46:00 +01:00
Meier Lukas 4904f5c270 chore: update bug_report template versions 2026-01-02 22:45:23 +01:00
Releases Homarr 15b4dfed0f chore(release): 1.49.0 [skip ci] 2026-01-02 19:14:39 +00:00
homarr-releases[bot] a853463ade chore(release): automatic release v1.49.0 2026-01-02 19:13:35 +00:00
homarr-update-contributors[bot] 9dd00370ff chore: update integrations list readme (#4784)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2026-01-02 19:58:13 +01:00
homarr-renovate[bot] fad478c549 fix(deps): update dependency @xterm/xterm to v6 (#4757)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-02 19:56:25 +01:00
ManuelandMeier Lukas 9b0dd6d6ce feat: unraid integration (#4439)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2026-01-02 19:54:47 +01:00
homarr-renovate[bot] acb0bc68d2 chore(deps): update dependency vite-tsconfig-paths to v6 (#4709)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-02 19:50:27 +01:00
homarr-renovate[bot] 45d2102d38 chore(deps): update dependency esbuild@&lt;&#x3d;0.24.2 to >=0.27.2 (#4735)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-02 19:23:07 +01:00
homarr-renovate[bot] 72baf965b4 chore(deps): update dependency esbuild to ^0.27.2 (#4734)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-02 19:23:01 +01:00
homarr-crowdin[bot] 808ace3983 chore(lang): update translations from crowdin (#4767)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-01-02 18:34:13 +01:00
homarr-renovate[bot] 1e5d38fd3c fix(deps): update tanstack-query monorepo (#4782)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-02 16:34:55 +00:00
homarr-update-contributors[bot] bf44a8ecb1 chore: update contributors (#4783)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2026-01-02 14:13:47 +00:00
homarr-renovate[bot] 236fa35f7e fix(deps): update dependency isomorphic-dompurify to ^2.35.0 (#4779)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-01 20:35:52 +00:00
homarr-renovate[bot] a004bfbb9e chore(deps): update dependency jsdom to ^27.4.0 (#4776)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-01 20:33:57 +00:00
homarr-renovate[bot] e574dd70f1 fix(deps): update dependency ldapts to v8.0.35 (#4768)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-01 20:33:15 +00:00
homarr-renovate[bot] 249d929435 chore(deps): update dependency hono@&lt;4.6.5 to >=4.11.3 (#4775)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-01 20:32:51 +00:00
homarr-renovate[bot] e40a11608c fix(deps): update testcontainers-node monorepo to ^11.11.0 (#4781)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-01-01 19:26:11 +00:00
homarr-renovate[bot] 1f1a5f2583 chore(deps): update dependency hono@&lt;4.6.5 to >=4.11.2 (#4770)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-31 04:45:58 +00:00
homarr-renovate[bot] d00270046a fix(deps): update dependency jotai to ^2.16.1 (#4772)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-31 03:35:42 +00:00
homarr-renovate[bot] 809bf559fe fix(deps): update dependency ldapts to v8.0.34 (#4765)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-29 21:27:36 +00:00
homarr-renovate[bot] 67600ff687 chore(deps): update pnpm to v10.26.2 (#4761)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-28 22:28:04 +00:00
homarr-renovate[bot] 9191430229 fix(deps): update turbo monorepo to ^2.7.2 (#4764)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-28 21:27:50 +00:00
homarr-renovate[bot] 49afb82446 fix(deps): update dependency ldapts to v8.0.32 (#4762)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-28 14:28:18 +00:00
Derek Mäekask f04f53759b fix: add orphaned status for containers with invalid stats (#4441)
- Add 'orphaned' container state to handle containers with null/undefined cpu_stats.online_cpus
- Display orphaned containers with gray badge in UI
- Prevent 'Cannot read properties of undefined (reading online_cpus)' error
- Add translations for 'orphaned' status in all supported languages
- Containers with invalid stats are now marked as orphaned instead of causing errors
2025-12-28 14:13:12 +01:00
homarr-renovate[bot] 7712ab410b fix(deps): update nextjs monorepo to v16.1.1 (#4759)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-27 19:24:09 +00:00
homarr-renovate[bot] 1c727e59af fix(deps): update dependency @xterm/addon-fit to v0.11.0 (#4756)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-27 18:40:08 +00:00
homarr-renovate[bot] 8b096939e4 fix(deps): update dependency ldapts to v8.0.31 (#4755)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-27 18:37:27 +00:00
homarr-renovate[bot] adaa8039dd fix(deps): update dependency typescript-eslint to ^8.50.1 (#4758)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-27 17:25:33 +00:00
Releases Homarr 5463402f5c chore(release): 1.48.0 [skip ci] 2025-12-26 19:17:04 +00:00
homarr-releases[bot] 5baa183718 chore(release): automatic release v1.48.0 2025-12-26 19:16:01 +00:00
homarr-renovate[bot] 93bf9ab84b fix(deps): update trpc monorepo to ^11.8.1 (#4750)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-26 12:50:49 +00:00
homarr-update-contributors[bot] 4ff98e3803 chore: update contributors (#4753)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-12-26 12:37:33 +00:00
homarr-renovate[bot] d8db0169a1 fix(deps): update turbo monorepo to ^2.7.1 (#4751)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-25 23:28:39 +00:00
homarr-renovate[bot] 96c2c0d604 fix(deps): update dependency ldapts to v8.0.30 (#4749)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-25 17:26:42 +00:00
Meier Lukas 5a57115ca0 feat(http): add proxy support (#4721) 2025-12-25 11:32:14 +01:00
homarr-renovate[bot] 707a4dad83 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.54.0 (#4748)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-25 10:31:00 +00:00
homarr-renovate[bot] 5dd7400684 fix(deps): update dependency ldapts to v8.0.29 (#4747)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-25 09:31:47 +00:00
homarr-renovate[bot] 6b774f47d0 fix(deps): update dependency sass to ^1.97.1 (#4746)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-24 22:28:25 +00:00
homarr-renovate[bot] adbe707c73 fix(deps): update tiptap monorepo to v3.14.0 (#4744)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-24 21:29:30 +00:00
homarr-renovate[bot] 75c545344a fix(deps): update dependency ldapts to v8.0.28 (#4743)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-24 21:27:03 +00:00
homarr-renovate[bot] 7c399f4073 chore(deps): update pnpm to v10.26.1 (#4742)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-24 20:31:05 +00:00
homarr-renovate[bot] 5d659a3ebb fix(deps): update turbo monorepo to ^2.7.0 (#4745)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-24 19:26:16 +00:00
homarr-renovate[bot] 99f2842a5a fix(deps): update nextjs monorepo to v16.1.0 (#4739)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-23 18:40:54 +00:00
homarr-renovate[bot] f34bdce644 fix(deps): update dependency mysql2 to v3.16.0 (#4731)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-23 16:23:11 +00:00
homarr-renovate[bot] 8891ac4239 fix(deps): update dependency ldapts to v8.0.27 (#4737)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-23 04:45:56 +00:00
homarr-crowdin[bot] 602c37574e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-12-22 00:58:49 +00:00
homarr-renovate[bot] f4d782abef fix(deps): update dependency next-intl to v4.6.1 (#4730)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-21 17:25:42 +00:00
homarr-renovate[bot] a20b479a42 chore(deps): update vitest monorepo to ^4.0.16 (#4728)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-21 15:27:45 +00:00
homarr-renovate[bot] 68dc6844fd fix(deps): update dependency zod to ^4.2.1 (#4722)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-21 09:37:08 +00:00
homarr-renovate[bot] 88baad8143 fix(deps): update dependency sass to ^1.97.0 (#4726)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-21 09:34:37 +00:00
homarr-renovate[bot] ef12b2b5c2 fix(deps): update dependency ldapts to v8.0.25 (#4724)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-21 06:40:05 +00:00
homarr-renovate[bot] 551a7ea469 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.53.5 (#4723)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-21 06:39:51 +00:00
Manuel fbb5298cb0 feat: enable dns caching by default (#4706) 2025-12-20 21:07:57 +01:00
homarr-renovate[bot] 2dc8feae7e fix(deps): update dependency typescript-eslint to ^8.50.0 (#4720)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-20 17:25:20 +00:00
homarr-renovate[bot] 6e39524f9d fix(deps): update dependency zod to ^4.2.0 (#4712)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-20 13:37:00 +00:00
homarr-renovate[bot] b699f28177 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.3.0 (#4713)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-20 13:35:32 +00:00
homarr-renovate[bot] de39c7e85b chore(deps): update pnpm to v10.26.0 (#4715)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-20 12:48:32 +00:00
homarr-renovate[bot] e9c33cdd5a chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.53.4 (#4714)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-20 12:47:56 +00:00
homarr-renovate[bot] 648f7e2c77 fix(deps): update dependency ldapts to v8.0.24 (#4711)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-20 07:28:01 +00:00
homarr-renovate[bot] 41f40149b3 chore(deps): update dependency hono@&lt;4.6.5 to >=4.11.1 (#4708)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-20 07:27:41 +00:00
homarr-renovate[bot] 689523a194 fix(deps): update dependency @t3-oss/env-nextjs to ^0.13.10 (#4710)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-20 05:28:31 +00:00
Releases Homarr 2ea0437a97 chore(release): 1.47.0 [skip ci] 2025-12-19 19:35:16 +00:00
homarr-releases[bot] df3a3f94c8 chore(release): automatic release v1.47.0 2025-12-19 19:34:14 +00:00
Meier Lukas 47d7458143 fix: reference to prebuilt-debian action does not work 2025-12-19 20:27:34 +01:00
Meier Lukas 6f0dbae121 refactor(http): move to core package (#4690) 2025-12-19 16:37:21 +01:00
Meier Lukas a0a11e3570 fix(boards): selection menu not shown to users without change access (#4689) 2025-12-19 16:36:45 +01:00
Meier Lukas f4bb90013a refactor(dns): move to core package (#4687) 2025-12-19 09:55:41 +01:00
Meier Lukas 2b971b9392 refactor(certificates): move to core package (#4686) 2025-12-19 09:49:12 +01:00
Manuel 949a006b35 Update CODEOWNERS to assign files to @homarr-labs/none 2025-12-19 09:01:22 +01:00
Manuel 5011e5299e chore: exclude maintainers from renovate automerge (#4698) 2025-12-19 08:59:22 +01:00
homarr-renovate[bot] db337b2525 fix(deps): update dependency ldapts to v8.0.23 (#4701)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-19 06:41:15 +00:00
homarr-renovate[bot] 7710c09f0d chore(deps): update dependency @types/node to ^24.10.4 (#4699)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-19 04:42:49 +00:00
homarr-renovate[bot] 391d725191 fix(deps): update dependency ldapts to v8.0.22 (#4700)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-19 03:32:08 +00:00
homarr-renovate[bot] 1f44845df4 fix(deps): update trpc monorepo to ^11.8.0 (#4697)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-18 19:26:34 +00:00
homarr-renovate[bot] b005cf045f chore(deps): update dependency hono@&lt;4.6.5 to >=4.11.0 (#4696)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-18 12:57:27 +00:00
homarr-renovate[bot] 7f6eaa0b1f fix(deps): update dependency ldapts to v8.0.21 (#4695)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-18 05:31:27 +00:00
homarr-renovate[bot] 8afe7014e7 chore(deps): update dependency @semantic-release/npm to ^13.1.3 (#4692)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-18 03:28:54 +00:00
homarr-renovate[bot] f1da25d204 chore(deps): update node.js (#4693)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-18 01:49:39 +00:00
homarr-renovate[bot] 36901e80ab chore(deps): update dependency eslint to ^9.39.2 (#4694)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-17 23:28:50 +00:00
Meier Lukas 266aefd980 ci: publish additional build artifact for debian systems (#4679) 2025-12-17 20:28:27 +01:00
Meier Lukas ac6fed9946 ci: configure timeouts for all jobs (#4685) 2025-12-17 20:27:51 +01:00
homarr-renovate[bot] 611b65e8bd fix(deps): update dependency fast-xml-parser to ^5.3.3 (#4683)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-17 19:27:47 +00:00
ManuelandMeier Lukas 08e9f7d8d8 feat: #4452 improve calendar design (#4461)
* feat: #4452 improve calendar design

* fix: format issues

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-12-17 19:16:56 +00:00
homarr-renovate[bot] 1ff6fac71b fix(deps): update dependency next-intl to v4.6.0 (#4691)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-17 14:32:06 +00:00
Meier Lukas 298a96054e refactor(db): move to core package (#4589) 2025-12-17 08:59:52 +01:00
homarr-crowdin[bot] e954ea861c chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-12-17 07:05:30 +00:00
homarr-renovate[bot] 703c8ccc06 fix(deps): update dependency ldapts to v8.0.20 (#4684)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-17 06:43:06 +00:00
homarr-renovate[bot] 9adf113042 chore(deps): update node.js to v24.12.0 (#4662)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-16 23:29:59 +00:00
homarr-renovate[bot] 4c7185646d fix(deps): update react monorepo to v19.2.3 (#4680)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-16 23:28:52 +00:00
Meier Lukas d348abfe4a refactor(logs): move to core package (#4586) 2025-12-16 23:37:44 +01:00
Meier Lukas d86af072bf fix(tdarr): array parse error (#4678) 2025-12-16 22:39:28 +01:00
Meier Lukas 423da9eeb8 fix(invites): creation with custom expiration not working (#4677) 2025-12-16 22:35:42 +01:00
Meier Lukas 17fc7a043b fix(stock-price): use previous-close for change calculation (#4674) 2025-12-16 22:35:31 +01:00
homarr-renovate[bot] 82e79f2627 fix(deps): update react monorepo to v19.2.2 (#4676)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-16 21:32:12 +00:00
homarr-renovate[bot] 8ed771d300 fix(deps): update dependency ldapts to v8.0.19 (#4669)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-16 21:30:17 +00:00
homarr-renovate[bot] bdfc150115 fix(deps): update dependency sass to ^1.96.0 (#4668)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-16 20:34:22 +00:00
homarr-renovate[bot] 4d593f5b9d fix(deps): update dependency swagger-ui-react to ^5.31.0 (#4672)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-16 20:32:54 +00:00
homarr-crowdin[bot] 369dc898d0 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-12-16 00:56:28 +00:00
Meier Lukas 7445c826b8 chore: update bug-report template
Added new versions to the bug report template.
2025-12-15 23:47:46 +01:00
homarr-renovate[bot] cf5aabd49f chore(deps): update dependency @types/pg to ^8.16.0 (#4665)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-15 20:33:50 +00:00
homarr-renovate[bot] f63500961f fix(deps): update dependency drizzle-orm to ^0.45.1 (#4663)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-15 15:34:03 +00:00
homarr-renovate[bot] e327c660b2 fix(deps): update dependency sass to ^1.95.1 (#4661)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-15 07:47:56 +00:00
homarr-renovate[bot] c880ce9bd9 fix(deps): update testcontainers-node monorepo to ^11.10.0 (#4659)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-15 07:45:43 +00:00
homarr-crowdin[bot] b932a8dae3 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-12-15 00:58:19 +00:00
homarr-renovate[bot] 4aef85ba60 fix(deps): update dependency jotai to ^2.16.0 (#4655)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-14 20:55:25 +00:00
homarr-renovate[bot] 790e272214 chore(deps): update peter-evans/create-pull-request action to v8 (#4657)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-14 21:54:33 +01:00
homarr-renovate[bot] d0652f7cf5 fix(deps): update mantine monorepo to ^8.3.10 (#4651)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-14 09:29:25 +00:00
homarr-renovate[bot] 4bd142e09c fix(deps): update dependency ldapts to v8.0.18 (#4653)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-14 09:28:45 +00:00
homarr-renovate[bot] 844a5c93f6 chore(deps): update dependency hono@&lt;4.6.5 to >=4.10.8 (#4652)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-14 08:34:54 +00:00
homarr-renovate[bot] 640d5e6a8e chore(deps): update dependency @types/node to ^24.10.2 (#4649)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-14 03:46:39 +00:00
homarr-renovate[bot] 5d5c18b364 fix(deps): update dependency isomorphic-dompurify to ^2.34.0 (#4650)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-14 01:59:22 +00:00
homarr-renovate[bot] 6deab2ecec fix(deps): update dependency dns-caching to ^0.2.9 (#4648)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 22:27:11 +00:00
homarr-renovate[bot] 220cb669a1 fix(deps): update dependency typescript-eslint to ^8.49.0 (#4645)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 20:30:13 +00:00
homarr-renovate[bot] eb760da8b3 fix(deps): update dependency sass to ^1.95.0 (#4647)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 20:29:55 +00:00
homarr-renovate[bot] e561948657 chore(deps): update pnpm to v10.25.0 (#4644)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 19:23:36 +00:00
homarr-renovate[bot] 7e91d12439 fix(deps): update dependency sass to ^1.94.3 (#4646)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 18:35:35 +00:00
homarr-renovate[bot] 36f60fd844 chore(deps): update dependency jsdom to ^27.3.0 (#4643)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 14:26:18 +00:00
Meier Lukas 10627453d5 fix(downloads): improve progress to only show 100 percent if fully completed (#4621) 2025-12-13 14:27:35 +01:00
homarr-renovate[bot] c09da85f3a fix(deps): update dependency ldapts to v8.0.17 (#4642)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 11:24:34 +00:00
homarr-renovate[bot] ada5597cf3 fix(deps): update dependency ldapts to v8.0.16 (#4640)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 10:55:07 +00:00
homarr-renovate[bot] fca0aa8735 chore(deps): update dependency @vitejs/plugin-react to ^5.1.2 (#4641)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 10:54:28 +00:00
Meier Lukas 479f083ab8 fix(iframe-widget): permission selection not applying to any origin (#4616) 2025-12-13 11:50:33 +01:00
Meier Lukas 866d3f674d chore(typescript): update to target ES2024 (#4620) 2025-12-13 11:48:32 +01:00
homarr-renovate[bot] e106eec0ee chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.2.7 (#4639)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-13 03:24:33 +00:00
homarr-crowdin[bot] baabb43fff chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-12-13 00:51:35 +00:00
Releases Homarr b0e0b1d43f chore(release): 1.46.0 [skip ci] 2025-12-12 19:17:52 +00:00
homarr-releases[bot] cc403b89eb chore(release): automatic release v1.46.0 2025-12-12 19:16:55 +00:00
Meier Lukas dd24925d90 feat(docker): add widget options to sort containers (#4636) 2025-12-12 19:59:28 +01:00
ManuelandMeier Lukas 984b29d951 ci: publish build archives to release for bare metal installs (#4535)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-12-12 19:51:19 +01:00
Meier Lukas 2b2c0e7e3a fix(deps): update next monorepo to v16.0.10 [security] (#4634) 2025-12-12 15:44:35 +01:00
homarr-update-contributors[bot] e7b3be2edb chore: update contributors (#4633)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-12-12 12:38:42 +00:00
homarr-renovate[bot] 3b1c564a5a fix(deps): update dependency winston to v3.19.0 (#4632)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-12 08:39:42 +00:00
homarr-renovate[bot] e37325f5e0 fix(deps): update dependency ldapts to v8.0.14 (#4627)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-11 21:31:12 +00:00
homarr-renovate[bot] 8a14a6cb45 fix(deps): update dependency ldapts to v8.0.13 (#4626)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-11 00:37:25 +01:00
homarr-renovate[bot]andMeier Lukas d111eee0e0 fix(deps): update tiptap monorepo to v3 (major) (#3612)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-12-11 00:35:55 +01:00
Meier Lukas 0b4ca93aa1 fix(transmission): total download incorrect for cross seeded torrents (#3211) 2025-12-10 20:50:39 +01:00
Meier Lukas 6a908397cd fix(plex): test connection not fully checking connection (#4617) 2025-12-10 13:28:28 +01:00
homarr-renovate[bot] 85689caf6c fix(deps): update turbo monorepo to ^2.6.3 (#4622)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-09 18:13:32 +00:00
homarr-renovate[bot]andMeier Lukas cab5d19141 fix(deps): update dependency drizzle-orm to ^0.45.0 (#4619)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-12-09 19:07:54 +01:00
homarr-renovate[bot] 5cbab28099 fix(deps): update dependency drizzle-kit to ^0.31.8 (#4618)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-09 16:39:05 +01:00
Meier Lukas 1dd9694719 fix: format issues 2025-12-09 16:34:54 +01:00
Copilotandajnart 681aee05f0 fix: add autocomplete and id attributes for password manager compatibility (#4602)
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-12-09 15:59:33 +01:00
homarr-renovate[bot] c3ed7090c2 chore(deps): update dependency esbuild@&lt;&#x3d;0.24.2 to >=0.27.1 (#4611)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-09 15:51:42 +01:00
homarr-renovate[bot]andMeier Lukas a20248d0b6 fix(deps): update dependency better-sqlite3 to ^12.5.0 (#4569)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-12-09 15:51:11 +01:00
homarr-crowdin[bot] 5a95cd3753 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-12-09 14:49:00 +00:00
homarr-renovate[bot] efc0384b37 fix(deps): update dependency @tanstack/react-query to ^5.90.12 (#4615)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-09 14:48:34 +00:00
homarr-renovate[bot] fb04875253 chore(deps): update dependency esbuild to ^0.27.1 (#4610)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-09 15:46:59 +01:00
homarr-renovate[bot] 4689ec9933 fix(deps): update dependency ldapts to v8.0.12 (#4613)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-09 05:29:10 +00:00
TobiasandMeier Lukas d084dfb470 fix: improve run script (#4609)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-12-08 22:59:59 +01:00
homarr-renovate[bot] 7de45e6fe5 fix(deps): update turbo monorepo to ^2.6.2 (#4612)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-08 21:26:08 +00:00
homarr-renovate[bot] f6d16fe44b fix(deps): update react monorepo to v19.2.1 (#4608)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-08 16:36:42 +00:00
Releases Homarr 340f5606a9 chore(release): 1.45.3 [skip ci] 2025-12-08 16:11:13 +00:00
homarr-releases[bot] ca9478dce7 chore(release): automatic release v1.45.3 2025-12-08 16:10:20 +00:00
Meier Lukas 1bb3654bf7 Merge commit from fork 2025-12-08 16:54:15 +01:00
homarr-renovate[bot]andMeier Lukas d88c6027fe fix(deps): update dependency typescript-eslint to ^8.48.1 (#4438)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-12-08 16:52:25 +01:00
homarr-renovate[bot] 020cbd72d3 fix(deps): update dependency glob to v13 (#4584)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-08 15:50:54 +01:00
homarr-renovate[bot] aed2025b30 chore(deps): update vitest monorepo to ^4.0.15 (#4603)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-08 13:24:28 +00:00
homarr-renovate[bot]andMeier Lukas 54809823e9 fix(deps): update dependency prettier to ^3.7.4 (#4582)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-12-08 14:19:46 +01:00
homarr-renovate[bot] 4f92e5265a fix(deps): update dependency next-intl to v4.5.8 (#4606)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-08 11:38:56 +00:00
homarr-renovate[bot] 234266ebd9 chore(deps): update actions/checkout action to v6 (#4601)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-07 17:36:30 +01:00
homarr-renovate[bot] 6b28aa86d0 fix(deps): update dependency next-intl to v4.5.7 (#4598)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-07 01:59:48 +00:00
homarr-renovate[bot] ed638d4767 fix(deps): update dependency jotai to ^2.15.2 (#4597)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-07 01:59:14 +00:00
homarr-renovate[bot] a2f7d63d2a chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.2.6 (#4595)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-07 01:58:21 +00:00
homarr-crowdin[bot] 9639f44560 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-12-07 00:59:37 +00:00
Releases Homarr bc087e6e60 chore(release): 1.45.2 [skip ci] 2025-12-05 19:17:05 +00:00
homarr-releases[bot] d347d4455b chore(release): automatic release v1.45.2 2025-12-05 19:16:11 +00:00
Meier Lukas 10572ca962 fix: disable react-compiler due to issue with mantine-react-table data updates (#4593) 2025-12-05 19:10:23 +01:00
homarr-update-contributors[bot] d350e48998 chore: update contributors (#4591)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-12-05 14:56:10 +00:00
DZ945brH 2c48b18968 fix: add ipv6 support for internal nginx proxy 2025-12-05 13:04:17 +01:00
Meier Lukas 069ed0a267 chore: update bug-report template 2025-12-03 23:42:06 +01:00
Releases Homarr a3e53ec291 chore(release): 1.45.1 [skip ci] 2025-12-03 17:43:49 +00:00
homarr-releases[bot] 38a1c9ca83 chore(release): automatic release v1.45.1 2025-12-03 17:42:39 +00:00
Meier Lukas b40deba9ff fix(security): rce vulnerability in nextjs 2025-12-03 18:33:01 +01:00
homarr-renovate[bot] d5d59dd256 fix(deps): update mantine monorepo to ^8.3.9 (#4576)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 13:44:52 +00:00
homarr-renovate[bot] 3453482ed4 fix(deps): update trpc monorepo to ^11.7.2 (#4579)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 12:57:36 +00:00
homarr-renovate[bot] d2c1dc3cc1 fix(deps): update dependency swagger-ui-react to ^5.30.3 (#4574)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 12:54:17 +00:00
homarr-renovate[bot] 59bcbc8b4d fix(deps): update tanstack-query monorepo (#4578)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 11:33:29 +00:00
homarr-renovate[bot] b2c46d33d6 fix(deps): update dependency chroma-js to ^3.2.0 (#4585)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 11:28:54 +00:00
homarr-renovate[bot] ca01a31fe5 fix(deps): update dependency isomorphic-dompurify to ^2.33.0 (#4581)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:53:13 +00:00
homarr-renovate[bot] deb5e9d960 fix(deps): update dependency superjson to v2.2.6 (#4573)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:48:15 +00:00
homarr-renovate[bot] 16f12d98e6 fix(deps): update nextjs monorepo to v16.0.5 (#4577)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:45:55 +00:00
homarr-renovate[bot] 10bdd74b2b fix(deps): update testcontainers-node monorepo to ^11.9.0 (#4583)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:35:20 +00:00
Meier Lukas a91955a35b chore(docs): update sitemap 2025-12-03 11:31:46 +01:00
Meier Lukas 87deba417f chore: update bug-report template 2025-12-03 11:30:41 +01:00
homarr-renovate[bot] 220f68ee04 chore(deps): update pnpm to v10.24.0 (#4580)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:27:50 +00:00
homarr-renovate[bot] d6fc46df3b fix(deps): update dependency chroma-js to ^3.1.4 (#4570)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:24:55 +00:00
homarr-renovate[bot] 7a8c50fa4c fix(deps): update dependency sass to ^1.94.2 (#4572)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:24:23 +00:00
homarr-renovate[bot] 59eecaf842 chore(deps): update vitest monorepo to ^4.0.14 (#4568)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:12:54 +00:00
homarr-renovate[bot] 879a77ff2a fix(deps): update dependency zod to ^4.1.13 (#4575)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:10:53 +00:00
homarr-renovate[bot] b53bcb77e9 chore(deps): update dependency prettier-plugin-packagejson to ^2.5.20 (#4566)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:06:51 +00:00
homarr-renovate[bot] 3062ddafbe fix(deps): update dependency next-intl to v4.5.6 (#4571)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:06:32 +00:00
homarr-renovate[bot] 7f782220a1 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.2.4 (#4567)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:06:17 +00:00
homarr-renovate[bot] aa2ec5d221 chore(deps): update dependency hono@&lt;4.6.5 to >=4.10.7 (#4565)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 10:00:23 +00:00
homarr-renovate[bot] e6db47aaab chore(deps): update dependency @types/react to v19.2.7 (#4564)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-12-03 09:59:46 +00:00
homarr-crowdin[bot] f3d2026746 chore(lang): update translations from crowdin (#4560)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-12-01 10:43:38 +01:00
homarr-crowdin[bot] ed31e32150 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-11-29 00:50:15 +00:00
Releases Homarr d07730b5f8 chore(release): 1.45.0 [skip ci] 2025-11-28 19:15:49 +00:00
homarr-releases[bot] 681236ec3b chore(release): automatic release v1.45.0 2025-11-28 19:14:48 +00:00
Meier Lukas 524e1a485b fix(security): restrict modification of entrypoint script (#4555) 2025-11-28 18:34:51 +01:00
homarr-renovate[bot] 2bc6964f7e fix(deps): update dependency next-intl to v4.5.5 (#4542)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-28 17:27:04 +00:00
Meier Lukas 21de817dba chore(deps): security hardening (#4551) 2025-11-28 18:09:10 +01:00
homarr-update-contributors[bot] b15d96e8dd chore: update contributors (#4554)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-11-28 12:36:13 +00:00
Noah Croghan 99949fe095 fix: Add fallback when no icon in Minecraft Server widget (#4544) (#4545) 2025-11-27 17:06:31 +01:00
homarr-crowdin[bot] 85d4931538 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-11-26 00:52:18 +00:00
homarr-renovate[bot] 77a86ead41 fix(deps): update dependency next-intl to v4.5.4 (#4540)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-24 13:02:10 +00:00
homarr-renovate[bot] 27ca124d2a chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.53.3 (#4537)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-24 09:51:55 +00:00
homarr-renovate[bot] 3ca6cb18eb chore(deps): update dependency @types/dockerode to ^3.3.47 (#4539)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-24 09:39:01 +00:00
homarr-crowdin[bot] 245bab7cdd chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-11-24 00:56:25 +00:00
homarr-renovate[bot] 18a6bfd69d fix(deps): update dependency glob to v12 (#4530)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-23 20:07:39 +01:00
homarr-renovate[bot] c4e6528e6c chore(deps): update dependency @types/react to v19.2.6 (#4532)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-23 04:47:11 +00:00
homarr-renovate[bot] 24c985424e fix(deps): update dependency glob to ^11.1.0 (#4529)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-23 04:06:56 +00:00
homarr-renovate[bot] 292e36fec5 fix(deps): update dependency sass to ^1.94.1 (#4531)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-23 02:19:13 +00:00
homarr-renovate[bot] 7eee48ae88 chore(deps): update vitest monorepo to ^4.0.10 (#4528)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-22 13:34:54 +00:00
homarr-renovate[bot] 1b09b588f3 chore(deps): update dependency form-data@&gt;&#x3d;4.0.0 &lt;4.0.4 to >=4.0.5 (#4525)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-22 10:42:15 +00:00
ManuelandCopilot Autofix powered by AI 22fb696f25 ci(security): missing permissions for workflow (#4474)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-11-22 10:39:45 +00:00
generalmat82andMeier Lukas 60ab98ae36 feat(docker): hide containers with label homarr.hide (#4506)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-11-22 11:32:31 +01:00
homarr-renovate[bot] 9a3feb404c fix(deps): update dependency zod-validation-error to v5 (#4437)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-22 10:35:43 +01:00
homarr-renovate[bot] 9c5c4f33ef chore(deps): update node.js to v24.11.1 (#4502)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-22 10:34:17 +01:00
homarr-crowdin[bot] 3ec0c4097a chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-11-22 00:49:38 +00:00
homarr-renovate[bot] e87170ae6e fix(deps): update dependency @tanstack/react-query to ^5.90.10 (#4523)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-21 21:29:15 +00:00
Meier Lukas 30fedcb6f1 chore: update bug-report template 2025-11-21 22:14:37 +01:00
Releases Homarr 6cc1209fc0 chore(release): 1.44.0 [skip ci] 2025-11-21 19:17:06 +00:00
homarr-releases[bot] 2b8fdc0281 chore(release): automatic release v1.44.0 2025-11-21 19:16:09 +00:00
Meier Lukas d9cc35b985 fix(media-requests): incorrect availability mapping (#4520) 2025-11-21 19:05:51 +01:00
Meier Lukas 5a418d73bd fix(iframe): allow clicking links within (#4521) 2025-11-21 19:05:24 +01:00
homarr-renovate[bot] ded4e72e54 fix(deps): update mantine monorepo to ^8.3.8 (#4516)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-20 11:30:16 +00:00
homarr-renovate[bot] de3602da84 chore(deps): update dependency @semantic-release/npm to ^13.1.2 (#4513)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-19 23:30:39 +00:00
homarr-renovate[bot] c80075f1c3 chore(deps): update dependency @types/react to v19.2.5 (#4515)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-19 22:32:13 +00:00
homarr-renovate[bot] be52cb82fd chore(deps): update vitest monorepo to ^4.0.9 (#4509)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-19 21:28:39 +00:00
homarr-renovate[bot] 9304d73054 chore(deps): update dependency hono@&lt;4.6.5 to >=4.10.6 (#4512)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-19 21:27:46 +00:00
homarr-renovate[bot] 912f9ff884 chore(deps): update dependency @types/dockerode to ^3.3.46 (#4514)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-19 20:33:11 +00:00
homarr-renovate[bot] 5e57a4906b fix(deps): update dependency fast-xml-parser to ^5.3.2 (#4510)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-19 09:36:42 +00:00
homarr-renovate[bot] b3db5d5f7b fix(deps): update dependency @tanstack/react-query to ^5.90.9 (#4508)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-19 08:41:31 +00:00
homarr-renovate[bot] ebc5bd170d chore(deps): update dependency glob to v11.1.0 [security] (#4500)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-19 03:19:15 +00:00
homarr-renovate[bot] b4f9fb8b46 fix(deps): update dependency drizzle-kit to ^0.31.7 (#4507)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-18 23:31:02 +00:00
homarr-renovate[bot] 7d0c1a14fd fix(deps): update nextjs monorepo to v16.0.3 (#4504)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-18 22:34:27 +00:00
Meier Lukas c89e35e13c feat(pi-hole): support no-auth (#4480) 2025-11-18 21:05:00 +01:00
homarr-renovate[bot] 8ea6cffb53 fix(deps): update dependency @tanstack/react-query-next-experimental to ^5.91.0 (#4505)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-18 17:39:07 +00:00
homarr-renovate[bot] 1bb96ce5cf chore(deps): update pnpm to v10.22.0 (#4495)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-18 17:38:36 +00:00
homarr-renovate[bot] 6da511bc2e chore(deps): update dependency @types/react to v19.2.4 (#4501)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-18 17:36:32 +00:00
homarr-renovate[bot] 064277373c fix(deps): update dependency next-intl to v4.5.3 (#4503)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-18 17:34:29 +00:00
homarr-crowdin[bot] 88fd0a63b6 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-11-18 00:51:48 +00:00
homarr-renovate[bot] 7fd5bf0699 chore(deps): update dependency jsdom to ^27.2.0 (#4492)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-17 14:35:27 +00:00
homarr-renovate[bot] 1bfa9d7158 chore(deps): update dependency @vitejs/plugin-react to ^5.1.1 (#4493)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-17 13:43:40 +00:00
homarr-renovate[bot] 57140f2c71 chore(deps): update dependency @types/react-dom to v19.2.3 (#4491)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-17 13:43:26 +00:00
homarr-renovate[bot] a5b6203be6 fix(deps): update dependency @tanstack/react-query to ^5.90.8 (#4494)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-17 13:00:35 +00:00
homarr-renovate[bot] aae81d3120 chore(deps): update dependency node to v24.11.1 (#4490)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-17 02:07:01 +00:00
homarr-crowdin[bot] 0fb01c90e9 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-11-17 00:53:59 +00:00
homarr-renovate[bot] 06942ecbcd fix(deps): update dependency next-intl to v4.5.1 (#4484)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-16 16:38:54 +00:00
homarr-renovate[bot] 006dee9e9b chore(deps): update node.js to v24.11.1 (#4481)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-16 16:37:12 +00:00
homarr-renovate[bot] f2df9839f1 chore(deps): update dependency @types/react to v19.2.3 (#4487)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-16 16:36:19 +00:00
homarr-renovate[bot] dcc23e721a chore(deps): update dependency hono@&lt;4.6.5 to >=4.10.5 (#4485)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-16 16:35:49 +00:00
homarr-renovate[bot] 64657d831c fix(deps): update testcontainers-node monorepo to ^11.8.1 (#4486)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-16 15:30:16 +00:00
homarr-renovate[bot] cd124d6e83 fix(deps): update turbo monorepo to ^2.6.1 (#4483)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-16 06:43:04 +00:00
homarr-renovate[bot] 19ecedea43 fix(deps): update dependency sass to ^1.94.0 (#4482)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-16 02:12:03 +00:00
homarr-renovate[bot] 5b55a4751b chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.53.2 (#4479)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-15 09:30:25 +00:00
homarr-renovate[bot] 266b9ffd1b chore(deps): update pnpm to v10.21.0 (#4478)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-15 02:01:31 +00:00
homarr-renovate[bot] 7a3a05b172 chore(deps): update dependency esbuild@&lt;&#x3d;0.24.2 to >=0.27.0 (#4477)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-14 20:36:02 +00:00
homarr-renovate[bot] a62c1385e3 chore(deps): update dependency esbuild to ^0.27.0 (#4476)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-14 19:28:44 +00:00
Releases Homarr 0bba7be8d5 chore(release): 1.43.3 [skip ci] 2025-11-14 19:16:15 +00:00
homarr-releases[bot] 96b556f558 chore(release): automatic release v1.43.3 2025-11-14 19:15:12 +00:00
Manuel aaa23f3732 Merge commit from fork
* fix: sanitize user-media svg api endpoint using isomorphic dompurify

* fix: add iframe sandbox to prevent priviledge escalation
2025-11-14 18:00:15 +01:00
homarr-update-contributors[bot] d33cfe211a chore: update contributors (#4473)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-11-14 12:36:49 +00:00
homarr-renovate[bot] e7071bf2bf fix(deps): update dependency fastify to ^5.6.2 (#4471)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-14 10:35:22 +00:00
homarr-renovate[bot] 8a87dbad59 fix(deps): update mantine monorepo to ^8.3.7 (#4472)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-14 09:35:28 +00:00
homarr-renovate[bot] 6a5f069383 chore(deps): update dependency esbuild@&lt;&#x3d;0.24.2 to >=0.26.0 (#4470)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-14 04:37:00 +00:00
homarr-renovate[bot] d8e4255733 chore(deps): update dependency esbuild to ^0.26.0 (#4469)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-14 03:25:59 +00:00
homarr-crowdin[bot] 1916eacb4d chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-11-14 00:52:23 +00:00
AartSchinkelandMeier Lukas c30c98b153 fix(stock-price): ignore missing data points in price history (#4429)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-11-13 22:07:23 +01:00
homarr-renovate[bot] 89aed57645 chore(deps): update semantic-release monorepo (#4464)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-13 14:33:37 +00:00
homarr-renovate[bot] 251d1d0da3 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.53.1 (#4465)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-12 22:31:40 +00:00
homarr-renovate[bot] 51ce5da45b fix(deps): update dependency next-intl to v4.5.0 (#4462)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-12 17:33:22 +00:00
homarr-renovate[bot] eff2202e92 chore(deps): update vitest monorepo to ^4.0.8 (#4459)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-12 17:32:42 +00:00
homarr-renovate[bot] bb25410a40 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.2.2 (#4457)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-12 17:31:53 +00:00
homarr-renovate[bot] 1a56a56989 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.53.0 (#4463)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-12 16:42:50 +00:00
homarr-renovate[bot] ddfed18acf fix(deps): update dependency @ctrl/qbittorrent to ^9.11.0 (#4456)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-11 07:32:42 +00:00
homarr-renovate[bot] 7bc2f87f31 fix(deps): update dependency @tanstack/react-query to ^5.90.7 (#4451)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-11 05:33:17 +00:00
homarr-renovate[bot] 05a9d26138 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.2.1 (#4454)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-11 04:37:45 +00:00
homarr-renovate[bot] 4f96cdf9f7 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.2.0 (#4449)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-10 15:13:48 +00:00
ManuelandMeier Lukas 1c1f8a48d2 fix(users): next button in create form always disabled (#4443)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-11-10 16:02:14 +01:00
homarr-renovate[bot] f648af0e2b fix(deps): update testcontainers-node monorepo to ^11.8.0 (#4450)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-10 10:36:35 +00:00
homarr-crowdin[bot] 35ca0571ad chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-11-10 00:55:24 +00:00
homarr-renovate[bot] 92a91329c9 chore(deps): update dependency axios@&gt;&#x3d;1.0.0 &lt;1.8.2 to >=1.13.2 (#4447)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-09 20:31:57 +00:00
homarr-renovate[bot] 23edb55c67 chore(deps): update dependency eslint to ^9.39.1 (#4440)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-09 16:34:41 +00:00
homarr-renovate[bot] 8449d606d7 chore(deps): update vitest monorepo to ^4.0.7 (#4444)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-09 15:28:38 +00:00
homarr-renovate[bot] d3edfcf3dc fix(deps): update dependency swagger-ui-react to ^5.30.2 (#4442)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-09 10:30:28 +00:00
homarr-renovate[bot] 65f2e825fd fix(deps): update dependency fast-xml-parser to ^5.3.1 (#4435)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-08 19:36:33 +00:00
homarr-renovate[bot] 286f4e764a chore(deps): update dependency @types/node to ^24.10.0 (#4434)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-08 01:57:46 +00:00
Releases Homarr def87f36fd chore(release): 1.43.2 [skip ci] 2025-11-07 19:16:38 +00:00
homarr-releases[bot] 5adc2049cc chore(release): automatic release v1.43.2 2025-11-07 19:15:38 +00:00
homarr-renovate[bot] 5f9054b162 fix(deps): update dependency @tanstack/react-query to ^5.90.6 (#4427)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-07 03:23:11 +00:00
homarr-renovate[bot] b450ff6877 chore(deps): update dependency esbuild@&lt;&#x3d;0.24.2 to >=0.25.12 (#4431)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-07 02:04:23 +00:00
homarr-renovate[bot] 97052b8bff chore(deps): update dependency esbuild to ^0.25.12 (#4430)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-07 02:03:50 +00:00
homarr-renovate[bot] 07af9d8673 fix(deps): update dependency jotai to ^2.15.1 (#4426)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-06 06:44:55 +00:00
homarr-renovate[bot] 4516f27fa6 fix(deps): update dependency @gitbeaker/rest to ^43.8.0 (#4425)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-06 06:44:37 +00:00
homarr-renovate[bot] f2164272a5 fix(deps): update dependency sass to ^1.93.3 (#4421)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-06 02:05:33 +00:00
homarr-renovate[bot] 50caa1fcf9 chore(deps): update vitest monorepo to ^4.0.6 (#4420)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 23:30:24 +00:00
homarr-renovate[bot] 742ef66e3c fix(deps): update turbo monorepo to ^2.6.0 (#4422)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 22:34:14 +00:00
homarr-renovate[bot] 0d10b2b99a chore(deps): update dependency @semantic-release/github to ^12.0.1 (#4423)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 22:31:09 +00:00
homarr-renovate[bot] 2ff32627f4 chore(deps): update dependency eslint to ^9.39.0 (#4424)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 21:32:12 +00:00
homarr-renovate[bot] d9b14db6a1 fix(deps): update dependency swagger-ui-react to ^5.30.1 (#4418)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 09:36:37 +00:00
homarr-renovate[bot] 186e3e445d fix(deps): update dependency octokit to ^5.0.5 (#4413)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 09:35:58 +00:00
homarr-renovate[bot] 160c20a9a6 fix(deps): update dependency tsdav to ^2.1.6 (#4417)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 08:43:04 +00:00
homarr-renovate[bot] 97cbade713 fix(deps): update dependency dayjs to ^1.11.19 (#4414)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 07:32:10 +00:00
homarr-renovate[bot] 816c6a0329 chore(deps): update dependency jsdom to ^27.1.0 (#4416)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 06:44:28 +00:00
homarr-renovate[bot] 018a33b078 fix(deps): update dependency @octokit/auth-app to ^8.1.2 (#4412)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-05 02:04:46 +00:00
homarr-renovate[bot] 168458e9e1 chore(deps): update actions/setup-node action to v6 (#4320)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-04 22:15:15 +01:00
homarr-renovate[bot] ebc64f3090 chore(deps): update dependency dotenv-cli to v11 (#4402)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-04 22:13:26 +01:00
homarr-renovate[bot]andMeier Lukas d255492bb7 chore(deps): update vitest monorepo to v4 (major) (#4367)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-11-04 22:03:43 +01:00
homarr-renovate[bot]andMeier Lukas dcf960fa97 fix(deps): update dependency @gitbeaker/rest to ^43.7.0 (#4386)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-11-04 21:28:11 +01:00
homarr-renovate[bot]andMeier Lukas 6ce23a6e97 fix(deps): update nextjs monorepo to v16 (major) (#4363)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-11-04 21:26:44 +01:00
homarr-renovate[bot] a43ac18bef chore(deps): update node.js to v24 (#4395)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-04 21:14:13 +01:00
homarr-renovate[bot] 881d0d1219 chore(deps): update dependency hono@&lt;4.6.5 to >=4.10.4 (#4410)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-04 19:03:28 +00:00
homarr-crowdin[bot] 3fff8b88b3 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-11-04 00:50:14 +00:00
homarr-renovate[bot] 57d1a91866 fix(deps): update dependency @ctrl/deluge to ^7.5.0 (#4407)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-03 21:18:41 +00:00
homarr-renovate[bot] d34f9e5b3e fix(deps): update tiptap monorepo to v2.27.1 (#4405)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-03 16:37:13 +00:00
homarr-renovate[bot] cf89a03f0c chore(deps): update dependency axios@&gt;&#x3d;1.0.0 &lt;1.8.2 to >=1.13.1 (#4401)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-03 10:36:04 +00:00
homarr-renovate[bot] f4caddfd56 fix(deps): update tiptap monorepo to v2.27.0 (#4404)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-03 09:38:19 +00:00
homarr-renovate[bot] 9e2bbb8a3f fix(deps): update mantine monorepo to ^8.3.6 (#4403)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-03 06:45:35 +00:00
homarr-renovate[bot] 6dbd2802c9 chore(deps): update pnpm to v10.20.0 (#4400)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-02 18:37:28 +00:00
homarr-renovate[bot] 19e25a095f fix(deps): update dependency superjson to v2.2.5 (#4398)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-02 17:26:14 +00:00
homarr-renovate[bot] 4c4e901e7d fix(deps): update dependency @jellyfin/sdk to ^0.13.0 (#4399)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-02 16:34:38 +00:00
homarr-renovate[bot] 5aca5d1b0a fix(deps): update trpc monorepo to ^11.7.1 (#4396)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-02 14:27:23 +00:00
homarr-renovate[bot] 59434ee33a fix(deps): update dependency drizzle-kit to ^0.31.6 (#4397)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-02 13:34:04 +00:00
homarr-renovate[bot] b59ee77c28 chore(deps): update node.js to v22.21.1 (#4355)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-02 02:09:11 +00:00
homarr-renovate[bot] 5effee8148 chore(deps): update dependency @types/pg to ^8.15.6 (#4394)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-02 02:08:59 +00:00
homarr-renovate[bot] ba82853f5c chore(deps): update dependency @types/chroma-js to v3.1.2 (#4393)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-01 21:26:47 +00:00
homarr-renovate[bot] 1491b0fe0e chore(deps): update dependency axios@&gt;&#x3d;1.0.0 &lt;1.8.2 to >=1.13.0 (#4392)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-01 16:33:43 +00:00
homarr-renovate[bot] b51e285c92 fix(deps): update dependency swagger-ui-react to ^5.30.0 (#4391)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-11-01 12:51:55 +00:00
Meier Lukas 6d9726e19e chore: update bug report template 2025-10-31 23:35:49 +01:00
Releases Homarr 145bea727f chore(release): 1.43.1 [skip ci] 2025-10-31 19:14:59 +00:00
homarr-releases[bot] 5b7de36642 chore(release): automatic release v1.43.1 2025-10-31 19:13:48 +00:00
Meier Lukas 6f3b7ec491 fix(media-releases): support more media type mappings for jellyfin and emby (#4382) 2025-10-31 16:56:15 +01:00
homarr-update-contributors[bot] bbfc6e48fe chore: update contributors (#4389)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-10-31 12:36:00 +00:00
homarr-renovate[bot] 2fe36564c2 fix(deps): update dependency @auth/drizzle-adapter to ^1.11.1 (#4388)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-31 04:38:56 +00:00
homarr-renovate[bot] 747bb922cc fix(deps): update dependency @auth/core to ^0.41.1 (#4387)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-31 03:22:51 +00:00
homarr-renovate[bot] 24def99827 fix(deps): update trpc monorepo to ^11.7.0 (#4385)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-30 17:29:32 +00:00
castielwaverly e0526c5ea7 fix(releases-widget): Search multiple docker hub pages for releases (#4158) 2025-10-29 19:33:50 +01:00
homarr-renovate[bot] 9e4b93abcf chore(deps): update dependency node to v24 (#4368)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-29 18:30:02 +01:00
homarr-renovate[bot] c544d6ec2e fix(deps): update dependency next-auth to v5.0.0-beta.30 [security] (#4379)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-29 12:55:30 +00:00
homarr-renovate[bot] 2c0c589bb5 chore(deps): update dependency @vitejs/plugin-react to ^5.1.0 (#4377)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-29 09:34:20 +00:00
homarr-renovate[bot] 8242bfc95c fix(deps): update dependency drizzle-orm to ^0.44.7 (#4372)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-29 06:46:08 +00:00
homarr-renovate[bot] 3a06ce7553 chore(deps): update dependency @types/dockerode to ^3.3.45 (#4376)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-29 05:33:31 +00:00
homarr-renovate[bot] c18d04616e chore(deps): update dependency @types/cookies to v0.9.2 (#4375)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-29 04:39:02 +00:00
homarr-crowdin[bot] 6e5fbde23b chore(lang): update translations from crowdin (#4362)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-28 16:13:39 +01:00
homarr-renovate[bot] 136ed8e8b4 fix(deps): update tiptap monorepo to v2.26.4 (#4371)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-28 13:43:01 +00:00
homarr-renovate[bot] 920a33861f chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.1.12 (#4370)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-28 07:32:04 +00:00
homarr-renovate[bot] 7329135fd8 fix(deps): update testcontainers-node monorepo to ^11.7.2 (#4366)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-27 13:00:55 +00:00
homarr-renovate[bot] 18cc04e7f2 fix(deps): update dependency superjson to v2.2.3 (#4364)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-27 11:28:47 +00:00
homarr-renovate[bot] ce6338840c fix(deps): update dependency next-intl to v4.4.0 (#4365)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-27 10:36:32 +00:00
homarr-renovate[bot] 6e6c912225 fix(deps): update dependency mysql2 to v3.15.3 (#4360)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-26 19:33:05 +00:00
homarr-renovate[bot] 554d19a458 fix(deps): update dependency @jellyfin/sdk to ^0.12.0 (#4359)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-26 17:12:05 +00:00
homarr-renovate[bot] 0491598d59 chore(deps): update pnpm to v10.19.0 (#4358)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-26 14:28:32 +00:00
homarr-renovate[bot] 3c4c26ee21 fix(deps): update dependency ioredis to v5.8.2 (#4357)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-26 14:28:07 +00:00
homarr-renovate[bot] 29da5cc905 chore(deps): update dependency node to v22.21.0 (#4354)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-26 03:23:45 +00:00
homarr-renovate[bot] f96cbe0652 fix(deps): update dependency typescript-eslint to ^8.46.2 (#4352)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-26 03:23:16 +00:00
homarr-renovate[bot] fc46d88071 chore(deps): update dependency @types/node to ^22.18.12 (#4350)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-26 02:06:12 +00:00
homarr-crowdin[bot] 1abece05ae chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-26 00:53:29 +00:00
Meier Lukas 945d2a1244 chore: update bug report template 2025-10-25 10:06:52 +02:00
homarr-crowdin[bot] d9d9afd5e3 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-25 08:03:49 +00:00
homarr-renovate[bot] ddb8a99631 chore(deps): update node.js to v22.21.0 (#4349)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-25 08:02:56 +00:00
homarr-renovate[bot] ef18c58f5b fix(deps): update dependency node-ical to ^0.22.1 (#4346)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-25 10:02:42 +02:00
homarr-renovate[bot] 94eafddc72 chore(deps): update semantic-release monorepo (#4318)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-25 10:01:51 +02:00
homarr-renovate[bot] 074d27e37e fix(deps): update dependency @paralleldrive/cuid2 to v3 (#4343)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-25 10:00:19 +02:00
homarr-renovate[bot] b030c128c1 chore(deps): update dependency hono@&lt;4.6.5 to >=4.10.3 [security] (#4347)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-24 21:22:24 +00:00
Releases Homarr 0ca225d790 chore(release): 1.43.0 [skip ci] 2025-10-24 19:16:03 +00:00
homarr-releases[bot] cd391c6b08 chore(release): automatic release v1.43.0 2025-10-24 19:14:56 +00:00
homarr-renovate[bot] 7281b4ae32 fix(deps): update dependency node-ical to ^0.22.0 (#4344)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-24 18:40:53 +00:00
homarr-renovate[bot] 4cab12b80a fix(deps): update dependency @tanstack/react-query to ^5.90.5 (#4316)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-24 18:39:45 +00:00
Meier Lukas 172db0e3f9 feat(integrations): add app linking (#4338) 2025-10-24 20:21:27 +02:00
homarr-renovate[bot] 6f0b5d7e04 chore(deps): update dependency jsdom to ^27.0.1 (#4341)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-23 16:56:22 +00:00
homarr-renovate[bot] 6d5153e5dc chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.52.5 (#4342)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-23 16:55:56 +00:00
homarr-renovate[bot] ee8d49c7e4 chore(deps): update dependency hono@&lt;4.6.5 to >=4.10.2 [security] (#4337)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-22 22:21:01 +00:00
homarr-renovate[bot] c9637021f0 chore(deps): update dependency eslint to ^9.38.0 (#4339)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-22 21:17:18 +00:00
homarr-renovate[bot] bd983701b7 fix(deps): update dependency octokit to ^5.0.4 (#4340)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-22 20:36:10 +00:00
homarr-renovate[bot] e7598ee0e1 chore(deps): update dependency @types/node to ^22.18.11 (#4334)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-22 17:14:28 +02:00
homarr-crowdin[bot] 26a11e5d62 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-22 15:04:16 +00:00
homarr-renovate[bot] 0df6e8fb20 fix(deps): update nextjs monorepo to v15.5.6 (#4314)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-22 14:37:02 +00:00
homarr-renovate[bot] c2453b6c96 chore(deps): update dependency hono@&lt;4.6.5 to >=4.10.1 (#4332)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-22 14:35:23 +00:00
homarr-renovate[bot] fb4b8f7ca3 fix(deps): update dependency swagger-ui-react to ^5.29.5 (#4335)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-22 13:45:28 +00:00
homarr-renovate[bot] 592412d240 chore(deps): update dependency hono@&lt;4.6.5 to >=4.10.0 (#4308)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-21 22:28:55 +00:00
homarr-renovate[bot] eb717da792 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.1.11 [security] (#4328)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-20 22:23:40 +00:00
Meier Lukas ed5127de64 ci(renovate): add config validation job (#4303) 2025-10-20 19:18:22 +02:00
homarr-crowdin[bot] e1b4186aa2 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-20 11:08:44 +00:00
homarr-renovate[bot] 63c5c9ca98 fix(deps): update mantine monorepo to ^8.3.5 (#4291)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-20 04:39:14 +00:00
homarr-renovate[bot] b0e44943a3 chore(deps): update dependency esbuild to ^0.25.11 (#4325)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-20 04:37:22 +00:00
homarr-renovate[bot] 448272091b chore(deps): update dependency esbuild@&lt;&#x3d;0.24.2 to >=0.25.11 (#4326)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-20 03:29:55 +00:00
homarr-renovate[bot] ceec6d2789 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.1.10 (#4323)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-19 13:34:19 +00:00
homarr-renovate[bot] e216ae3a70 chore(deps): update pnpm to v10.18.3 (#4322)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-19 10:29:49 +00:00
homarr-crowdin[bot] ce26cdf2b2 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-19 00:55:57 +00:00
Meier Lukas d66be5ff82 chore: update bug report template 2025-10-18 20:45:30 +02:00
Releases Homarr d6e463f6e4 chore(release): 1.42.1 [skip ci] 2025-10-18 18:31:36 +00:00
homarr-releases[bot] f643a185f6 chore(release): automatic release v1.42.1 2025-10-18 18:30:40 +00:00
Meier Lukas 9aa2d5ccd8 fix(docker): stats not working (#4311) 2025-10-18 20:29:11 +02:00
homarr-renovate[bot] f78eaa533e fix(deps): update dependency typescript-eslint to ^8.46.1 (#4313)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-18 17:26:43 +00:00
homarr-renovate[bot] 857b46bc33 fix(deps): update nextjs monorepo to v15.5.5 (#4312)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-18 16:36:12 +00:00
homarr-renovate[bot] 3f87bbd42b fix(deps): update dependency @ctrl/qbittorrent to ^9.10.0 (#4310)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-18 15:29:18 +00:00
homarr-renovate[bot] 9c1059afe6 chore(deps): update dependency @types/react-dom to v19.2.2 (#4309)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-18 15:28:34 +00:00
homarr-crowdin[bot] 4e1f7c5785 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-18 13:14:06 +00:00
homarr-renovate[bot] 6e37416e76 chore(deps): update dependency hono@&lt;4.6.5 to >=4.9.12 (#4307)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-18 09:33:02 +00:00
Meier Lukas 27de0ce2a2 chore(renovate): prevent special characters in branch name 2025-10-17 23:05:56 +02:00
Meier Lukas 90784116e8 chore: update bug report template
Added new version option 1.42.0 to bug report template.
2025-10-17 22:49:14 +02:00
Releases Homarr d8a2ab74d2 chore(release): 1.42.0 [skip ci] 2025-10-17 19:15:33 +00:00
homarr-releases[bot] 4dabc98bd4 chore(release): automatic release v1.42.0 2025-10-17 19:14:09 +00:00
homarr-update-contributors[bot] 84909b2535 chore: update contributors (#4300)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-10-17 12:35:12 +00:00
homarr-renovate[bot] f2540c7d8e chore(deps): update dependency @types/node to ^22.18.10 (#4289)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-16 14:26:31 +00:00
homarr-renovate[bot] 0e63ffe611 chore(deps): update dependency hono@&lt;4.6.5 to >=4.9.11 (#4298)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-16 13:00:11 +00:00
homarr-crowdin[bot] 0b120455fd chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-16 00:50:00 +00:00
homarr-renovate[bot] fde68f8bcc fix(deps): update dependency swagger-ui-react to ^5.29.4 (#4293)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-15 13:00:10 +00:00
homarr-renovate[bot] 38e368fdbc fix(deps): update tiptap monorepo to v2.26.3 (#4292)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-14 23:30:27 +00:00
homarr-renovate[bot] 94533c667c fix(deps): update mantine monorepo to ^8.3.4 (#4290)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-14 19:27:59 +00:00
homarr-renovate[bot] cd25bdfc0e chore(deps): update dependency @types/node to ^22.18.9 (#4288)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-14 18:42:56 +00:00
homarr-renovate[bot] 3a7c8d5e19 fix(deps): update dependency next-intl to v4.3.12 (#4274)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-14 17:27:31 +00:00
homarr-renovate[bot] 1afbdd0511 chore(deps): update pnpm to v10.18.2 (#4262)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-14 16:37:03 +00:00
homarr-crowdin[bot] 1fa60cbea6 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-14 00:48:41 +00:00
homarr-crowdin[bot] 3cbb664bc0 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-13 22:01:32 +00:00
Meier Lukas a80c5d40e0 fix(plex): tv show links not working (#4272) 2025-10-13 23:52:52 +02:00
Meier Lukas cccec5e195 fix(docker-widget): memory usage wrong (#4266) 2025-10-13 23:52:40 +02:00
Meier Lukas afca8007f1 feat(nextcloud): reuse color from event for indicator (#4270) 2025-10-13 23:52:27 +02:00
Meier Lukas 5c86930220 feat(users): allow profile picture change for external providers (#4275) 2025-10-13 23:52:17 +02:00
Meier Lukas 35a8ac820f fix(users): profile picture upload limit wrong (#4276) 2025-10-13 23:52:05 +02:00
homarr-renovate[bot] cd5d9c66ca fix(deps): update dependency @auth/drizzle-adapter to ^1.11.0 (#4283)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-13 18:41:36 +00:00
homarr-renovate[bot] 60370a7e33 fix(deps): update dependency @auth/core to ^0.41.0 (#4282)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-13 17:28:20 +00:00
Thomas Camlong 6f06d53da8 Merge pull request #2322 from ajnart/archive-readme-text 2025-10-13 15:40:29 +02:00
homarr-renovate[bot] 65ccfdfb13 fix(deps): update dependency mysql2 to v3.15.2 (#4280)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-13 08:42:02 +00:00
homarr-renovate[bot] f792b2a553 fix(deps): update dependency next-intl to v4.3.11 (#4273)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-12 10:51:20 +00:00
homarr-renovate[bot] 5d402f88d2 fix(deps): update dependency next-intl to v4.3.10 (#4271)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-12 09:28:56 +00:00
homarr-renovate[bot] 7a7b3a32f8 chore(deps): update react monorepo (#4269)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-12 06:33:55 +00:00
homarr-renovate[bot] d80f070ba3 fix(deps): update dependency trpc-to-openapi to ^3.1.0 (#4268)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-12 02:01:30 +00:00
homarr-renovate[bot] d7182b9cf5 chore(deps): update dependency @types/react to v19.2.1 (#4236)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-12 02:00:11 +00:00
homarr-crowdin[bot] 6a199561b6 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-12 00:50:43 +00:00
Meier Lukas 7e5f4e59a9 fix(management): improve homepage (#4260) 2025-10-11 22:55:56 +02:00
Meier Lukas 1b7e67dd97 fix(calendar): recurring events not working (#4265) 2025-10-11 22:54:51 +02:00
homarr-renovate[bot] 0aede0dec3 fix(deps): update dependency typescript-eslint to ^8.46.0 (#4264)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-11 17:26:36 +00:00
homarr-renovate[bot] e8877169f8 fix(deps): update dependency zod to ^4.1.12 (#4263)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-11 17:26:06 +00:00
homarr-renovate[bot] 4ffbea3b52 fix(deps): update dependency ioredis to v5.8.1 (#4259)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-11 16:11:48 +00:00
homarr-renovate[bot] fab57e6fbd chore(deps): update pnpm to v10.18.1 (#4240)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-11 12:48:47 +00:00
homarr-renovate[bot] c2b2b098a1 fix(deps): update dependency @ctrl/qbittorrent to ^9.9.1 (#4229)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-11 01:52:48 +00:00
homarr-crowdin[bot] 4f74395000 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-11 00:46:35 +00:00
Meier Lukas 073ede3aad chore: update bug report template 2025-10-10 23:09:36 +02:00
Releases Homarr 40f9ce0530 chore(release): 1.41.0 [skip ci] 2025-10-10 19:15:36 +00:00
homarr-releases[bot] 92802a37db chore(release): automatic release v1.41.0 2025-10-10 19:14:15 +00:00
Meier Lukas 4c2e352aca feat(dynamic-sections): add custom css classes option (#4256) 2025-10-10 19:59:41 +02:00
Meier Lukas 3b708c5ebd feat(integrations): allow changing secret kinds of existing integration (#4254) 2025-10-10 19:59:23 +02:00
Meier Lukas 50a23d76e3 feat(weather-widget): add imperial windspeed option (#4253) 2025-10-10 19:59:05 +02:00
homarr-renovate[bot] 6d0a1452a6 chore(deps): update dependency hono@&lt;4.6.5 to >=4.9.10 (#4255)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-10 14:30:52 +00:00
homarr-update-contributors[bot] a9f73bc279 chore: update contributors (#4252)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-10-10 12:35:36 +00:00
homarr-renovate[bot] 76bc24b06a fix(deps): update dependency eslint-plugin-react-hooks to v6 (#4231)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-10 13:43:07 +02:00
homarr-crowdin[bot] 196a9b4b6d chore(lang): update translations from crowdin (#4250)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-10 13:41:03 +02:00
Meier Lukas eb39eea87f chore: update bug report template 2025-10-10 13:40:09 +02:00
homarr-renovate[bot] e0fe6d5b81 chore(deps): update dependency eslint to ^9.37.0 (#4249)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-09 12:24:54 +00:00
homarr-renovate[bot] 530335eecc chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.52.4 (#4244)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-08 18:42:31 +00:00
homarr-renovate[bot] c35c15c635 fix(deps): update dependency fast-xml-parser to ^5.3.0 (#4245)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-08 17:33:46 +00:00
homarr-renovate[bot] e7267548fe fix(deps): update dependency swagger-ui-react to ^5.29.3 (#4238)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-08 17:31:57 +00:00
homarr-renovate[bot] ec09fb70a9 fix(deps): update dependency @kubernetes/client-node to ^1.4.0 (#4247)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-08 16:38:39 +00:00
homarr-renovate[bot] 7e500f772d fix(deps): update testcontainers-node monorepo to ^11.7.1 (#4213)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-08 11:21:30 +00:00
homarr-renovate[bot] c9841dfb47 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.1.9 (#4235)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-08 01:55:12 +00:00
homarr-crowdin[bot] 6aa127e57a chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-08 00:48:02 +00:00
homarr-crowdin[bot] bd6761cb75 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-07 20:57:52 +00:00
homarr-renovate[bot] 982a0c96a5 fix(deps): update mantine monorepo to ^8.3.3 (#4242)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-07 19:28:00 +00:00
homarr-renovate[bot] 0ff0b17c28 chore(deps): update pnpm to v10.18.0 (#4239)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-07 15:33:42 +00:00
homarr-renovate[bot] 055770c5e8 fix(deps): update dependency swagger-ui-react to ^5.29.2 (#4212)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-07 10:32:59 +00:00
homarr-renovate[bot] 3934252053 fix(deps): update dependency drizzle-orm to ^0.44.6 (#4237)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-07 10:32:37 +00:00
homarr-renovate[bot] 35172fa910 fix(deps): update react monorepo to v19.2.0 (#4230)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-07 07:35:22 +00:00
homarr-renovate[bot] 9e059a9632 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.1.8 (#4234)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-07 06:43:09 +00:00
homarr-renovate[bot] 82cd072753 chore(deps): update react monorepo (#4221)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-06 17:29:00 +00:00
homarr-renovate[bot] ee05137351 fix(deps): update dependency @ctrl/qbittorrent to ^9.9.0 (#4228)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-06 08:40:41 +00:00
homarr-renovate[bot] d9de9694c0 fix(deps): update dependency winston to v3.18.3 (#4222)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-06 07:33:09 +00:00
homarr-renovate[bot] 915a759d7e chore(deps): update dependency @types/node to ^22.18.8 (#4225)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-06 07:32:12 +00:00
homarr-renovate[bot] cf2977f821 fix(deps): update dependency @ctrl/deluge to ^7.4.0 (#4227)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-06 06:43:46 +00:00
homarr-crowdin[bot] c072e19150 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-06 00:49:37 +00:00
homarr-renovate[bot] 4da24060c9 chore(deps): update dependency typescript to ^5.9.3 (#4223)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-05 21:27:02 +00:00
homarr-renovate[bot] 84ace42aa5 fix(deps): update dependency winston to v3.18.1 (#4220)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-05 07:28:09 +00:00
homarr-renovate[bot] 040786353d chore(deps): update dependency @types/react to v19.1.16 (#4207)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-05 06:39:12 +00:00
homarr-renovate[bot] e1162c7907 fix(deps): update dependency winston to v3.18.0 (#4219)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-05 04:37:00 +00:00
homarr-renovate[bot] e827f6653f fix(deps): update dependency typescript-eslint to ^8.45.0 (#4215)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-05 04:36:38 +00:00
homarr-renovate[bot] 67184890ec chore(deps): update dependency cross-env to ^10.1.0 (#4216)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-05 03:24:19 +00:00
homarr-renovate[bot] 340f8f98e4 fix(deps): update dependency dockerode to ^4.0.9 (#4214)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-05 03:20:13 +00:00
homarr-renovate[bot] 5955ae6f8b fix(deps): update dependency @octokit/auth-app to ^8.1.1 (#4217)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-05 03:19:25 +00:00
homarr-renovate[bot] af448f0085 fix(deps): update dependency dotenv to ^17.2.3 (#4218)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-05 02:05:41 +00:00
homarr-crowdin[bot] b4cfc3bf8b chore(lang): update translations from crowdin (#4203)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-04 15:13:35 +02:00
homarr-renovate[bot] a21fbd26da fix(deps): update testcontainers-node monorepo to ^11.7.0 (#4211)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-04 08:36:05 +00:00
homarr-renovate[bot] eb7a3a31f0 fix(deps): update dependency swagger-ui-react to ^5.29.1 (#4210)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-04 08:34:49 +00:00
Releases Homarr 6ce712794a chore(release): 1.40.0 [skip ci] 2025-10-03 19:14:43 +00:00
homarr-releases[bot] aa67e109dd chore(release): automatic release v1.40.0 2025-10-03 19:13:40 +00:00
homarr-renovate[bot] 24c8dde969 chore(deps): update dependency @types/react to v19.1.15 (#4197)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-03 12:54:48 +00:00
homarr-update-contributors[bot] fdf48d6184 chore: update contributors (#4205)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-10-03 12:34:22 +00:00
Meier Lukas 6e93c3b608 feat(media-server): add stats for nerds (#4170) 2025-10-02 19:54:53 +02:00
Meier Lukas dcb845b609 feat(medias): support upload of multiple items (#4169) 2025-10-02 19:54:40 +02:00
Meier Lukas f82f343631 feat(about): add hotkeys list (#4165) 2025-10-02 19:54:30 +02:00
Meier Lukas b76003de9b feat(media-transcoding): add periodic live updates (#4166) 2025-10-02 19:54:20 +02:00
Meier Lukas 514034d184 feat(translations): add crowdin live support (#4177) 2025-10-02 19:54:08 +02:00
homarr-renovate[bot] 878f8f3d60 chore(deps): update dependency @vitejs/plugin-react to ^5.0.4 (#4202)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-02 14:31:47 +00:00
homarr-renovate[bot] 2540c94697 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.52.3 (#4200)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-02 07:29:42 +00:00
homarr-renovate[bot] 8a552b81d8 chore(deps): update dependency hono@&lt;4.6.5 to >=4.9.9 (#4199)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-02 01:54:52 +00:00
homarr-crowdin[bot] 0dd076e6c9 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-10-02 00:47:34 +00:00
homarr-renovate[bot] b81a62127e chore(deps): update dependency @types/react to v19.1.14 (#4196)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-01 18:41:19 +00:00
homarr-renovate[bot] 2ec0ffec5e fix(deps): update dependency drizzle-kit to ^0.31.5 (#4195)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-10-01 12:59:49 +00:00
homarr-renovate[bot] 82c31efc02 fix(deps): update dependency jotai to ^2.15.0 (#4192)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-30 16:37:46 +00:00
homarr-renovate[bot] b7b79d8722 fix(deps): update trpc monorepo to ^11.6.0 (#4188)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-30 01:54:38 +00:00
homarr-renovate[bot] 88651171ad chore(deps): update dependency node to v22.20.0 (#4183)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-29 22:21:10 +00:00
homarr-renovate[bot] 026d9b8418 fix(deps): update dependency mysql2 to v3.15.1 (#4185)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-29 18:42:03 +00:00
homarr-renovate[bot] 89a1cc84bc fix(deps): update turbo monorepo to ^2.5.8 (#4180)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-29 03:15:31 +00:00
homarr-renovate[bot] bd6655b585 chore(deps): update node.js to v22.20.0 (#4182)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-29 02:01:38 +00:00
homarr-crowdin[bot] faacdc03d4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-29 00:50:12 +00:00
homarr-renovate[bot] 6d3005fb70 fix(deps): update dependency sass to ^1.93.2 (#4171)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-28 22:21:55 +00:00
homarr-renovate[bot] 82ce369c04 fix(deps): update turbo monorepo to ^2.5.7 (#4176)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-28 18:39:39 +00:00
homarr-renovate[bot] 6932f3198a fix(deps): update mantine monorepo to ^8.3.2 (#4179)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-28 18:37:57 +00:00
homarr-renovate[bot] 333ef48351 fix(deps): update nextjs monorepo to v15.5.4 (#4178)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-28 17:26:25 +00:00
homarr-crowdin[bot]andMeier Lukas ca1b3383e8 chore(lang): updated translations from crowdin
* ci: add write permission to download translations

* chore(lang): update translations from crowdin

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-28 12:05:13 +00:00
homarr-renovate[bot] bb47f163d3 fix(deps): update dependency ioredis to v5.8.0 (#4174)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-28 08:57:22 +00:00
homarr-renovate[bot] 5f4734ef6b fix(deps): update tanstack-query monorepo to ^5.90.2 (#4163)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-28 08:34:23 +00:00
homarr-renovate[bot] 1346370ce3 fix(deps): update tiptap monorepo to v2.26.2 (#4173)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-28 07:27:23 +00:00
homarr-renovate[bot] 4da3aa43f3 fix(deps): update dependency better-sqlite3 to ^12.4.1 (#4162)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-28 02:06:07 +00:00
homarr-renovate[bot] 319aafe35d fix(deps): update dependency fastify to ^5.6.1 (#4167)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-28 02:05:49 +00:00
homarr-renovate[bot] 16dff3f982 fix(deps): update dependency typescript-eslint to ^8.44.1 (#4168)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-27 23:31:06 +00:00
homarr-renovate[bot] 2049b90c5b fix(deps): update dependency sass to ^1.93.1 (#4149)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-27 22:27:11 +00:00
homarr-renovate[bot] 4ebfb33f45 chore(deps): update pnpm to v10.17.1 (#4136)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-27 14:20:50 +00:00
homarr-renovate[bot] d42d81d03c chore(deps): update dependency nanoid@&gt;&#x3d;4.0.0 &lt;5.0.9 to >=5.1.6 (#4164)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-27 10:45:33 +00:00
homarr-renovate[bot] e5dddc8444 fix(deps): update tanstack-query monorepo to ^5.90.1 (#4161)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-27 08:36:29 +00:00
homarr-renovate[bot] 0b797c1fd0 fix(deps): update dependency better-sqlite3 to ^12.3.0 (#4160)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-27 07:26:22 +00:00
Meier Lukas 2e56d9a6c7 chore: update bug report template 2025-09-26 23:40:02 +02:00
Releases Homarr 499bdf110a chore(release): 1.39.0 [skip ci] 2025-09-26 19:15:07 +00:00
homarr-releases[bot] 993a0d78ef chore(release): automatic release v1.39.0 2025-09-26 19:13:45 +00:00
Meier Lukas 5b32f1eb79 feat(weather): add periodic live updates (#4155) 2025-09-26 20:42:13 +02:00
castielwaverly 0b15561f20 fix: Recalculate time ago on re-render (#4107) 2025-09-26 20:30:56 +02:00
Meier Lukas 2443d7300b feat(calendar): add periodic live updates (#4154) 2025-09-26 20:03:34 +02:00
Meier Lukas 0a908de1e7 feat(calendar): add homeassistant support (#4152) 2025-09-26 17:34:33 +02:00
homarr-update-contributors[bot] e1a232b37a chore: update contributors (#4153)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-09-26 12:39:02 +00:00
Meier Lukas c8a6cdae81 fix(calendar): support multi-day events (#4151) 2025-09-25 21:55:20 +02:00
homarr-renovate[bot] f0a0b9bca1 fix(deps): update dependency zod to ^4.1.11 (#4128)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-25 19:27:40 +00:00
Meier Lukas 3aea77a64f chore(docs): update sitemap 2025-09-25 21:08:37 +02:00
Meier Lukas b7d1d4ceef fix(calendar): missing badge for sonarr series (#4150) 2025-09-25 20:19:21 +02:00
homarr-renovate[bot] aced8c77bb fix(deps): update dependency sass to ^1.93.0 (#4147)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-25 15:23:12 +00:00
homarr-renovate[bot] 717d4ccff2 chore(deps): update dependency semantic-release to ^24.2.9 (#4146)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-24 20:34:42 +00:00
homarr-renovate[bot] 441e1ceba2 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.52.2 (#4144)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-24 21:50:50 +02:00
homarr-renovate[bot] 9ad8c6dbf1 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.1.7 (#4140)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-24 21:49:15 +02:00
homarr-renovate[bot] c17e5e8774 chore(deps): update dependency eslint to ^9.36.0 (#4145)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-24 16:39:21 +00:00
homarr-renovate[bot] 0c577a6f11 fix(deps): update dependency zod-validation-error to ^4.0.2 (#4142)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-24 10:35:41 +00:00
homarr-renovate[bot] a5ec293dda chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.51.0 (#4112)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-24 09:33:50 +00:00
homarr-renovate[bot] 484f0bdca4 fix(deps): update dependency dns-caching to ^0.2.7 (#4137)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-23 11:21:20 +00:00
homarr-renovate[bot] 7e4bde03e4 chore(deps): update dependency hono@&lt;4.6.5 to >=4.9.8 (#4141)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-23 09:33:29 +00:00
homarr-renovate[bot] 2c3f7c02d6 chore(deps): update dependency @types/node to ^22.18.6 (#4127)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-23 05:30:14 +00:00
homarr-renovate[bot] 1892987976 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.1.6 (#4139)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-23 04:36:03 +00:00
homarr-renovate[bot] bd5065ba88 chore(deps): update dependency esbuild to ^0.25.10 (#4134)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-22 17:28:44 +00:00
homarr-renovate[bot] 9b63fb6df6 chore(deps): update dependency @vitejs/plugin-react to ^5.0.3 (#4129)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-22 17:25:57 +00:00
homarr-renovate[bot] 588f8a4faa chore(deps): update dependency esbuild@&lt;&#x3d;0.24.2 to >=0.25.10 (#4135)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-22 16:42:37 +00:00
homarr-renovate[bot] cf892f517f fix(deps): update dependency mysql2 to v3.15.0 (#4125)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-22 16:25:37 +00:00
homarr-renovate[bot] 3eb2b3795b chore(deps): update pnpm to v10.17.0 (#4133)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-22 16:19:21 +00:00
homarr-renovate[bot] 2c3856a2a9 fix(deps): update dependency dns-caching to ^0.2.6 (#4131)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-22 16:14:26 +00:00
homarr-renovate[bot] 83df2ec58b fix(deps): update testcontainers-node monorepo to ^11.6.0 (#4130)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-22 10:34:51 +00:00
homarr-renovate[bot] 303067b0c8 fix(deps): update dependency zod to ^4.1.9 (#4094)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-21 22:29:44 +00:00
homarr-renovate[bot] 9b8ec975e4 chore(deps): update dependency @types/dockerode to ^3.3.44 (#4126)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-21 22:29:15 +00:00
homarr-renovate[bot] 92811db400 chore(deps): update dependency @types/node to ^22.18.5 (#4117)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-21 22:28:12 +00:00
homarr-renovate[bot] eb85804cff fix(deps): update dependency @ctrl/deluge to ^7.3.0 (#4121)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-21 16:38:14 +00:00
homarr-renovate[bot] 25e32e0010 chore(deps): update dependency tar-fs@&gt;&#x3d;3.0.0 &lt;3.0.9 to >=3.1.1 (#4124)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-21 16:34:31 +00:00
homarr-renovate[bot] 4af13a8d32 chore(deps): update dependency tar-fs@&gt;&#x3d;2.0.0 &lt;2.1.3 to >=3.1.1 (#4123)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-21 15:28:08 +00:00
homarr-renovate[bot] 11f29d8def fix(deps): update tanstack-query monorepo to ^5.89.0 (#4122)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-21 09:28:40 +00:00
homarr-renovate[bot] c0ed041bdf fix(deps): update dependency @ctrl/qbittorrent to ^9.8.0 (#4118)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-21 07:30:25 +00:00
homarr-renovate[bot] 2eb82108a8 fix(deps): update dependency @ctrl/transmission to ^7.4.0 (#4120)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-21 06:41:05 +00:00
homarr-renovate[bot] 034dcacb08 fix(deps): update dependency next-intl to v4.3.9 (#4096)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-20 21:26:27 +00:00
homarr-renovate[bot] 966e1ac81e chore(deps): update dependency @types/node to ^22.18.4 (#4116)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-20 21:25:25 +00:00
homarr-renovate[bot] bcc71e6eaa fix(deps): update dependency node-ical to ^0.21.0 (#4111)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-20 20:33:50 +00:00
homarr-renovate[bot] 61ae703014 fix(deps): update dependency @tabler/icons-react to ^3.35.0 (#4115)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-20 19:24:29 +00:00
homarr-renovate[bot] 7ea746bed1 fix(deps): update dependency typescript-eslint to ^8.44.0 (#4114)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-20 17:25:55 +00:00
homarr-renovate[bot] c0197d0e96 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.50.2 (#4110)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-20 07:27:51 +00:00
Meier Lukas 75f9ead209 chore: update bug report template 2025-09-19 21:34:27 +02:00
Releases Homarr c9983ad5a9 chore(release): 1.38.0 [skip ci] 2025-09-19 19:14:52 +00:00
homarr-releases[bot] 5045c64fe2 chore(release): automatic release v1.38.0 2025-09-19 19:13:45 +00:00
homarr-renovate[bot] 69d6ffd9ce chore(deps): update dependency jsdom to v27 (#4102)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-19 17:03:36 +02:00
Meier Lukas 3c2e6a852f feat(system-resources-widget): add has-shadow option (#4093) 2025-09-19 16:58:46 +02:00
Meier Lukas 312e084e2c feat(system-resources-widget): add label display mode option (#4086) 2025-09-19 16:19:58 +02:00
homarr-renovate[bot] 2a67d2f9da chore(deps): update dependency @types/react to v19.1.13 (#4100)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-19 16:16:06 +02:00
homarr-renovate[bot] a81634d239 chore(deps): update dependency @types/node to ^22.18.3 (#4101)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-19 16:15:30 +02:00
homarr-renovate[bot] 288e37553c chore(deps): update pnpm to v10.16.1 (#4098)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-19 16:14:31 +02:00
homarr-renovate[bot] 03545cee52 chore(deps): update dependency axios@&gt;&#x3d;1.0.0 &lt;1.8.2 to >=1.12.2 (#4104)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-19 16:13:34 +02:00
homarr-update-contributors[bot] 88c718eb41 chore: update contributors (#4103)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-09-19 16:12:49 +02:00
homarr-update-contributors[bot] ccf7e540dc chore: update integrations list readme (#4099)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-09-17 19:51:13 +02:00
Meier Lukas 9f2b868fce feat(redis): add database index environment variable (#4092) 2025-09-17 19:08:00 +02:00
Nicolas NewmanandMeier Lukas fedbff3fd1 feat(integrations): add ICal (#3980)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-09-17 18:57:50 +02:00
homarr-renovate[bot] 0a1a75dc5f chore(deps): update pnpm to v10.16.0 (#4097)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-17 13:39:05 +00:00
homarr-renovate[bot] 2d3af7afca fix(deps): update dependency next-intl to v4.3.8 (#4095)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-17 11:26:44 +00:00
homarr-renovate[bot] 6e31e25671 fix(deps): update dependency zod to ^4.1.8 (#4090)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-16 21:21:51 +00:00
homarr-renovate[bot] 12b2b82b4e fix(deps): update tanstack-query monorepo to ^5.87.4 (#4071)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-16 07:22:08 +00:00
homarr-renovate[bot] 94fb9b2502 fix(deps): update nextjs monorepo to v15.5.3 (#4087)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-16 06:29:06 +00:00
homarr-renovate[bot] 687cfd4cc7 fix(deps): update dependency zod to ^4.1.7 (#4089)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-16 06:28:48 +00:00
homarr-renovate[bot] 5babf0b240 chore(deps): update dependency @semantic-release/github to ^11.0.6 (#4088)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-16 05:21:44 +00:00
homarr-renovate[bot] 4287d1743b fix(deps): update dependency undici to v7.16.0 (#4083)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-14 17:18:49 +00:00
homarr-renovate[bot] b749dc110d chore(deps): update dependency proxmox-api&gt;undici to v7.16.0 (#4082)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-14 17:18:22 +00:00
homarr-renovate[bot] 0e563fc47f fix(deps): update dependency swagger-ui-react to ^5.29.0 (#4081)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-14 14:28:15 +00:00
Meier Lukas 1d485cf26c docs(readme): add screenshot of example dashboard (#4077) 2025-09-14 15:59:16 +02:00
Meier Lukas 69b46959aa ci(on-release): update bug report template failing (#4073) 2025-09-14 00:49:52 +02:00
Meier Lukas fe676daad2 feat(tasks): add one second interval (#4074) 2025-09-14 00:45:23 +02:00
homarr-renovate[bot] 43d5a27552 fix(deps): update dependency dockerode to ^4.0.8 (#4076)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-13 22:19:17 +00:00
homarr-renovate[bot] 809fbd5176 fix(deps): update dependency typescript-eslint to ^8.43.0 (#4075)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-13 17:17:35 +00:00
Meier Lukas 5c65e1a75f chore: update bug report template 2025-09-13 17:20:11 +02:00
Meier Lukas 86cf290c31 refactor(ci): migrate tibdex/github-app-token to actions/create-github-app-token (#4072) 2025-09-13 17:15:33 +02:00
Meier Lukas b398be0303 ci(stability-days): still runs for renovate branches 2025-09-13 14:37:18 +02:00
homarr-renovate[bot] 1412b6c0d3 fix(deps): update mantine monorepo to ^8.3.1 (#4070)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-13 12:31:01 +00:00
Meier Lukas 6b3672a04d fix(system-resources-widget): chart resizing not working well (#4069) 2025-09-13 14:13:34 +02:00
Meier Lukas b30cc21dbe feat(system-resources-widget): add visible charts option (#4069) 2025-09-13 14:13:18 +02:00
homarr-renovate[bot] 8c24da8732 fix(deps): update mantine monorepo to ^8.3.0 (#4068)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-13 11:16:56 +00:00
Meier Lukas cb7a6abca7 feat(notebook-widget): add confirmation on dismiss (#4064) 2025-09-13 12:32:21 +02:00
homarr-renovate[bot] cd4c236e5e fix(deps): update dependency mysql2 to v3.14.5 (#4067)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-13 09:19:52 +00:00
homarr-renovate[bot] 6880d61d6b fix(deps): update dependency jotai to ^2.14.0 (#4066)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-13 06:24:47 +00:00
homarr-crowdin[bot] 764d5eb0ea chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-13 00:46:30 +00:00
Meier Lukas b7d7767343 chore(docs): update sitemap 2025-09-13 01:11:55 +02:00
homarr-renovate[bot] f7d6f3d9e1 chore(deps): update dependency hono@&lt;4.6.5 to >=4.9.7 [security] (#4063)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-12 22:24:32 +00:00
Meier Lukas 3b7e3da17c ci: add missing if for pnpm action-setup (#4062) 2025-09-12 23:28:39 +02:00
Meier Lukasandhomarr-renovate[bot] f360c9768a chore(deps): update actions/setup-node action to v5 (#4060)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-12 21:59:37 +02:00
homarr-update-contributors[bot] 8df7fdcab4 chore: update contributors (#4061)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-09-12 19:54:34 +00:00
Releases Homarr b8f0d9a21f chore(release): 1.37.0 [skip ci] 2025-09-12 19:19:10 +00:00
homarr-releases[bot] 73a50fa687 chore(release): automatic release v1.37.0 2025-09-12 19:18:10 +00:00
Meier Lukas 78626121dd revert(deps): update actions/setup-node action to v5 (#4058) 2025-09-12 21:16:25 +02:00
homarr-releases[bot] c69602ff07 chore(release): automatic release v1.37.0 2025-09-12 19:13:23 +00:00
homarr-update-contributors[bot] 7c22e1d05d chore: update integrations list readme (#4056)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-09-12 19:22:10 +02:00
ManuelandMeier Lukas dc08bacebf feat(integrations): add truenas (#3745)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-09-12 19:18:20 +02:00
Meier Lukas 26eb2c08c9 fix(update-checker): cached through updates (#4046) 2025-09-12 18:50:41 +02:00
Meier Lukas f7471b6c63 fix(boards): issues with old-import board name containing spaces (#4052) 2025-09-12 18:44:37 +02:00
homarr-renovate[bot] 3703f428b0 chore(deps): update dependency axios@&gt;&#x3d;1.0.0 &lt;1.8.2 to >=1.12.1 [security] (#4055)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-12 16:43:21 +00:00
homarr-renovate[bot] 1019657a63 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.50.1 (#4054)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-12 16:52:58 +02:00
homarr-crowdin[bot] 789ac65cbd chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-11 00:48:42 +00:00
homarr-renovate[bot] d7902f80c2 chore(deps): update dependency semantic-release to ^24.2.8 (#4048)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-10 23:20:34 +00:00
homarr-renovate[bot] 44d4cec3ff chore(deps): update dependency @semantic-release/release-notes-generator to ^14.1.0 (#4047)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-10 22:20:12 +00:00
Meier Lukas a843f6043b fix(api): page is crashing (#4039) 2025-09-10 21:18:59 +02:00
Meier Lukas bfcbffbdc6 feat(integration): add github app authentication (#3968) 2025-09-10 21:17:36 +02:00
Meier Lukas 4d57c7ca13 fix(plex-integration): unknown badge shown for added tv-shows (#4032) 2025-09-10 20:46:42 +02:00
homarr-renovate[bot] a7976e9d70 fix(deps): update trpc monorepo to ^11.5.1 (#4045)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-10 17:19:30 +00:00
homarr-renovate[bot] a149d8c3c1 fix(deps): update dependency fastify to ^5.6.0 (#4042)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-10 16:25:35 +00:00
homarr-renovate[bot] 3e1285cacd chore(deps): update dependency eslint to ^9.35.0 (#4044)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-10 16:25:12 +00:00
homarr-renovate[bot] 5b24eb3074 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.1.5 [security] (#4041)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-10 16:24:34 +00:00
homarr-renovate[bot] 6389fd8807 chore(deps): update babel monorepo to >=7.28.4 (#4043)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-10 15:21:47 +00:00
homarr-renovate[bot] 1d9eb9bf24 chore(deps): update actions/setup-node action to v5 (#4033)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-09 21:36:11 +02:00
homarr-renovate[bot] 3c9f7ecbf8 chore(deps): update dependency @types/node to ^22.18.1 (#4036)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-09 19:30:11 +00:00
homarr-renovate[bot] cd90eaae9d fix(deps): update dependency next-intl to v4.3.7 (#4038)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-09 19:19:22 +00:00
homarr-renovate[bot] fbb86c452d fix(deps): update dependency @extractus/feed-extractor to v7.1.7 (#4034)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-09 19:10:14 +00:00
homarr-renovate[bot] a1b5f5ceea fix(deps): update dependency next-intl to v4.3.6 (#4035)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-09 19:09:12 +00:00
Meier Lukas eb5af11643 fix(adguard-integration): parse error with protection_disabled_duration field (#4018) 2025-09-08 16:09:42 +02:00
Meier Lukas 7ac2a81f94 fix(iframe): disable scrolling not working (#4017) 2025-09-08 16:09:12 +02:00
homarr-renovate[bot] ecf1bd98b7 fix(deps): update dependency swagger-ui-react to ^5.28.1 (#4029)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-08 10:22:50 +00:00
homarr-renovate[bot] 8231efa281 fix(deps): update dependency sass to ^1.92.1 (#4031)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-08 10:22:21 +00:00
homarr-renovate[bot] 1323bb276f fix(deps): update dependency dotenv to ^17.2.2 (#4024)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-08 10:01:47 +00:00
homarr-renovate[bot] 2eef4a8304 fix(deps): update dependency sass to ^1.92.0 (#4025)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-08 10:01:15 +00:00
homarr-crowdin[bot] 842f4f6284 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-08 10:01:00 +00:00
homarr-renovate[bot] 4fc38bcd5b fix(deps): update dependency @gitbeaker/rest to ^43.5.0 (#4023)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-07 16:21:29 +00:00
homarr-renovate[bot] 99179e4e7d fix(deps): update dependency typescript-eslint to ^8.42.0 (#4022)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-07 13:24:28 +00:00
homarr-crowdin[bot] 8fa245910c chore(lang): update translations from crowdin (#4021)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-07 14:28:54 +02:00
homarr-renovate[bot] b50ec029fa chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to >=7.1.4 (#4016)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-06 11:17:10 +00:00
homarr-renovate[bot] 8bf278f603 fix(deps): update dependency mysql2 to v3.14.4 (#4013)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-06 10:42:44 +00:00
Meier Lukas de33439b22 fix(video-widget): hls videos not working (#4015) 2025-09-06 12:29:30 +02:00
homarr-renovate[bot] b65ec27c0d chore(deps): update pnpm to v10.15.1 (#4014)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-06 10:19:12 +00:00
homarr-crowdin[bot] 1f4a9037d7 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-06 00:46:43 +00:00
homarr-renovate[bot] e70074b219 fix(deps): update dependency @ctrl/deluge to ^7.2.0 (#4009)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-05 23:19:40 +00:00
homarr-renovate[bot] bc94e34ada fix(deps): update dependency @ctrl/transmission to ^7.3.0 (#4011)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-05 22:19:45 +00:00
Meier Lukas d9440087b7 chore: update bug report template 2025-09-05 23:23:09 +02:00
homarr-renovate[bot] 32b2a09ab4 fix(deps): update dependency @ctrl/qbittorrent to ^9.7.0 (#4010)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-05 21:19:04 +00:00
Releases Homarr 5d8e2a3c7b chore(release): 1.36.1 [skip ci] 2025-09-05 21:14:37 +00:00
Meier Lukas dd67dd794a chore(release): hotfix for dns-caching (#4008) 2025-09-05 23:13:20 +02:00
Meier Lukas 10668ee359 fix(dns): disable caching by default (#4007) 2025-09-05 23:05:30 +02:00
Meier Lukas d5eb812b72 chore: update bug report template 2025-09-05 22:55:05 +02:00
Releases Homarr 2ac96a11b7 chore(release): 1.36.0 [skip ci] 2025-09-05 19:14:50 +00:00
homarr-releases[bot] 52f0b86e7b chore(release): automatic release v1.36.0 2025-09-05 19:13:51 +00:00
homarr-renovate[bot] d7146d82d1 fix(deps): update tanstack-query monorepo to ^5.87.1 (#3997)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-05 17:19:13 +00:00
homarr-renovate[bot] eef6b86ad6 fix(deps): update mantine monorepo to ^8.2.8 (#4004)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-05 16:23:46 +00:00
Meier Lukas 9cb8261ddc fix(header): avatar menu flashes when opening on mobile (#3999) 2025-09-05 18:17:30 +02:00
Meier Lukas d4f73d2b39 ci: add job to skip renovate stability days for non renovate prs (#3967) 2025-09-05 18:17:07 +02:00
homarr-update-contributors[bot] e4f14140a3 chore: update contributors (#4003)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-09-05 18:16:33 +02:00
homarr-crowdin[bot] b77d8114ab chore(lang): update translations from crowdin (#3995)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-05 11:51:50 +02:00
homarr-renovate[bot] 0df1555b50 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.50.0 (#4002)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-05 08:25:05 +00:00
b2eb2c32f6 feat(rss-widget): add hide description option (#4000)
Co-authored-by: HeapReaper <kelivn@heapreaper.nl>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-09-04 22:57:24 +02:00
homarr-renovate[bot] b34440470f chore(deps): update dependency hono@&lt;4.6.5 to >=4.9.6 [security] (#3994)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-04 20:53:48 +02:00
Meier Lukas 047654351a fix(deps): tsx breaks imports like dns-caching (#3998) 2025-09-04 20:07:13 +02:00
homarr-renovate[bot] 4e4483c42d fix(deps): update tanstack-query monorepo to ^5.85.6 (#3996)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-04 17:06:31 +00:00
homarr-renovate[bot] 5e92e66803 fix(deps): update dependency dayjs to ^1.11.18 (#3982)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-04 04:17:26 +00:00
homarr-renovate[bot] 83fec579e7 chore(deps): update dependency @semantic-release/github to ^11.0.5 (#3993)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-03 20:54:28 +00:00
Meier Lukas 1a30ccc857 Merge branch 'main' into dev 2025-09-03 21:08:58 +02:00
Meier Lukas 0ee023adf3 chore: update bug report template 2025-09-03 21:06:34 +02:00
Releases Homarr 1bcab1797b chore(release): 1.35.1 [skip ci] 2025-09-03 18:53:33 +00:00
Meier Lukas 8ff29b82e5 fix(db): increase integration kind limit from 16 to 64 characters 2025-09-03 20:51:28 +02:00
Meier Lukas fb6b5e88ff fix: add dns caching (#3736) 2025-09-03 17:37:18 +02:00
homarr-crowdin[bot] ca488f8210 chore(lang): update translations from crowdin (#3989)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-03 17:21:36 +02:00
Meier Lukas d317cacbe8 feat(widget): show name in edit modal (#3970) 2025-09-02 21:53:57 +02:00
Meier Lukas 65b9ddd771 fix(widgets): improve integration selection (#3969) 2025-09-02 21:52:47 +02:00
oussama Dahmazandoussama Dahmaz 3e59c20dba feat(kubernetes): add Talos providers (#3979)
Co-authored-by: oussama Dahmaz <dahmaz@MacBook-Pro-de-odahmaz.local>
2025-09-02 20:29:18 +02:00
homarr-renovate[bot] d2e9b5e983 fix(deps): update dependency swagger-ui-react to ^5.28.0 (#3985)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-02 17:18:51 +00:00
homarr-renovate[bot] 75683c206d fix(deps): update dependency zod-form-data to ^3.0.1 (#3986)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-02 16:24:06 +00:00
homarr-renovate[bot] a3dde2e7ee fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.7.0 (#3977)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-02 12:29:49 +00:00
homarr-renovate[bot] 7b26a386eb chore(deps): update dependency @vitejs/plugin-react to ^5.0.2 (#3981)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-02 06:29:04 +00:00
homarr-renovate[bot] 032f7ffd29 fix(deps): update dependency dayjs to ^1.11.15 (#3975)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-02 05:21:51 +00:00
homarr-renovate[bot] 2b1a3de8df fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.6.3 (#3976)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-09-01 14:21:33 +00:00
homarr-crowdin[bot] 4823c0db8b chore(lang): update translations from crowdin (#3973)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-09-01 06:28:14 +02:00
homarr-renovate[bot] b0fe8a9f65 fix(deps): update nextjs monorepo to v15.5.2 (#3972)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-31 23:14:02 +00:00
homarr-renovate[bot] a1def95852 fix(deps): update nextjs monorepo to v15.5.1 (#3971)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-31 18:25:39 +00:00
homarr-renovate[bot] 9c2d50de91 chore(deps): update dependency vite@&gt;&#x3d;5.0.0 &lt;&#x3d;5.4.18 to v7 (#3954)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-31 11:51:35 +02:00
homarr-renovate[bot] 0e5f43c1c3 fix(deps): update dependency sass to ^1.91.0 (#3965)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-31 09:46:55 +00:00
homarr-renovate[bot] 42071e36ca chore(deps): update dependency tar-fs@&gt;&#x3d;2.0.0 &lt;2.1.3 to v3 (#3953)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-31 11:42:41 +02:00
homarr-crowdin[bot] de7699689f chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-31 11:18:34 +02:00
homarr-renovate[bot] be0e78371e fix(deps): update dependency typescript-eslint to ^8.41.0 (#3963)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 18:54:54 +00:00
homarr-renovate[bot] ea4960e113 fix(deps): update dependency drizzle-orm to ^0.44.5 (#3962)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 16:35:30 +00:00
homarr-renovate[bot] 916542210d fix(deps): update dependency zod to ^4.1.5 (#3961)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 13:26:09 +00:00
homarr-renovate[bot] 94eb6772b9 fix(deps): update dependency zod to ^4.1.1 (#3950)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 12:35:09 +00:00
homarr-renovate[bot] afe10b8715 chore(deps): update node.js (#3959)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 12:34:03 +00:00
homarr-renovate[bot] 99bfc4a0b6 chore(deps): update react monorepo (#3955)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 12:32:23 +00:00
homarr-renovate[bot] d58faf5976 chore(deps): update dependency hono@&lt;4.6.5 to >=4.9.5 (#3958)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 12:31:21 +00:00
homarr-renovate[bot] cf98156bdc chore(deps): update dependency brace-expansion@&gt;&#x3d;2.0.0 &lt;&#x3d;2.0.1 to v4 (#3952)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 13:49:20 +02:00
homarr-renovate[bot] f166d153fe fix(deps): update dependency undici to v7.15.0 (#3949)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 11:30:46 +00:00
homarr-renovate[bot] dc9a83ba3c chore(deps): update dependency proxmox-api&gt;undici to v7.15.0 (#3945)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 11:30:15 +00:00
homarr-renovate[bot] 0e3c6f0f97 chore(deps): update dependency @types/node to ^22.18.0 (#3956)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 11:08:51 +00:00
homarr-renovate[bot] 51b06922bd chore(deps): update babel monorepo to >=7.28.3 (#3940)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 11:08:30 +00:00
homarr-renovate[bot] 9f3e68fdfe fix(deps): update dependency @testcontainers/postgresql to ^11.5.1 (#3948)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 11:07:59 +00:00
homarr-renovate[bot] 88eed15faf fix(deps): update trpc monorepo to ^11.5.0 (#3951)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:59:36 +00:00
homarr-renovate[bot] f277ceb302 chore(deps): update dependency tar-fs@&gt;&#x3d;3.0.0 &lt;3.0.9 to >=3.1.0 (#3947)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:55:42 +00:00
homarr-renovate[bot] e0c9c0fab7 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.49.0 (#3957)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:47:51 +00:00
homarr-renovate[bot] 21bde0f3ea chore(deps): update dependency eslint to ^9.34.0 (#3942)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:47:27 +00:00
homarr-renovate[bot] 5d908093ce fix(deps): update mantine monorepo to ^8.2.7 (#3939)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:39:01 +00:00
homarr-renovate[bot] 6081a5af13 chore(deps): update dependency hono@&lt;4.6.5 to >=4.9.4 (#3943)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:31:01 +00:00
homarr-renovate[bot] a488efc6f8 chore(deps): update dependency nanoid@&gt;&#x3d;4.0.0 &lt;5.0.9 to >=5.1.5 (#3944)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:29:14 +00:00
homarr-renovate[bot] 24e4d718e2 chore(deps): update dependency rollup@&gt;&#x3d;4.0.0 &lt;4.22.4 to >=4.48.1 (#3946)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:26:07 +00:00
homarr-renovate[bot] 71c75a3507 chore(deps): update dependency esbuild@&lt;&#x3d;0.24.2 to >=0.25.9 (#3935)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:24:11 +00:00
homarr-renovate[bot] 5bd6757e22 chore(deps): update dependency axios@&gt;&#x3d;1.0.0 &lt;1.8.2 to >=1.11.0 (#3941)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:21:29 +00:00
homarr-renovate[bot] 81a7f3e93d fix(deps): update dependency next-intl to v4.3.5 (#3937)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:19:47 +00:00
homarr-renovate[bot] 93186c3be1 fix(deps): update dependency tsx to v4.20.5 (#3938)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:18:23 +00:00
homarr-renovate[bot] e695bccfc0 chore(deps): update dependency @types/react to v19.1.11 (#3933)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:17:37 +00:00
homarr-crowdin[bot] a12a86b672 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-30 10:16:49 +00:00
homarr-renovate[bot] feee4b3ad7 chore(deps): update dependency tmp@&lt;&#x3d;0.2.3 to >=0.2.5 (#3936)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:14:49 +00:00
homarr-renovate[bot] 36f2181643 chore(deps): update dependency concurrently to ^9.2.1 (#3934)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:11:46 +00:00
homarr-renovate[bot] bc746b67b4 chore(deps): update dependency @types/dockerode to ^3.3.43 (#3931)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:10:17 +00:00
homarr-renovate[bot] 0fb7fd4292 chore(deps): update dependency @types/pg to ^8.15.5 (#3932)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-30 10:07:30 +00:00
Meier Lukas 51f3cd2ce7 chore: update bug report template 2025-08-29 21:28:56 +02:00
homarr-renovate[bot] 8dea07250f chore(deps): update dependency brace-expansion@&gt;&#x3d;1.0.0 &lt;&#x3d;1.1.11 to v4 [security] (#3927)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-29 21:28:19 +02:00
Releases Homarr 51bbc89f52 chore(release): 1.35.0 [skip ci] 2025-08-29 19:14:23 +00:00
homarr-releases[bot] cbd0cf3dee chore(release): automatic release v1.35.0 2025-08-29 19:13:35 +00:00
Meier Lukas c3461677e8 feat(app-widget): show description in widget (#3876) 2025-08-29 20:50:51 +02:00
Yuichi NakaiandMeier Lukas 5168cba8e4 feat(db): support postgresql database (#3643)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-08-29 20:30:03 +02:00
Copilotandajnart a4aa2aea90 fix: system resources widget opacity support for transparent backgrounds (#3835)
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-08-29 20:18:22 +02:00
Meier Lukas 10feaa37ce feat(env): improve support for instances without internet connection (#3915) 2025-08-29 19:58:01 +02:00
Meier Lukas 84f1e78701 fix(security): deepsource issues (#3919) 2025-08-29 19:14:41 +02:00
Meier Lukas 97bc092aea fix(api): document generation not working with nextjs (#3920) 2025-08-29 19:14:27 +02:00
homarr-update-contributors[bot] d9f0983f0d chore: update contributors (#3924)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-08-29 12:35:02 +00:00
homarr-crowdin[bot] 6847b31060 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-26 19:08:14 +00:00
homarr-crowdin[bot] 52d18dc132 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-24 13:40:03 +00:00
homarr-crowdin[bot] 5489590ebd chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-23 19:55:56 +00:00
Meier Lukas cd8c726c52 chore: update bug report template 2025-08-23 21:36:09 +02:00
Releases Homarr e179b28bc0 chore(release): 1.34.0 [skip ci] 2025-08-22 19:16:20 +00:00
homarr-releases[bot] 3218cd2333 chore(release): automatic release v1.34.0 2025-08-22 19:14:51 +00:00
homarr-update-contributors[bot] 8d5d258905 chore: update contributors (#3903)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-08-22 12:33:59 +00:00
homarr-crowdin[bot] d2ac99765b chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-22 03:29:26 +00:00
homarr-crowdin[bot] 00d979931b chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-21 00:49:56 +00:00
Meier Lukas 6fb32a6061 ci: add on-release workflow to trigger docs-release, update bug-report-template and update security-policy (#3881) 2025-08-20 20:37:22 +02:00
homarr-renovate[bot] 1451c3c41e fix(deps): update nextjs monorepo to v15.5.0 (#3896)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-20 18:18:09 +00:00
Meier Lukas 498acdcdc1 fix(nextcloud): integration ignores trusted certificates (#3893) 2025-08-20 20:12:13 +02:00
homarr-crowdin[bot] afdf9d9c0f chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-20 00:49:44 +00:00
homarr-renovate[bot] f2ff90b6e2 chore(deps): update pnpm to v10.15.0 (#3891)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-19 18:36:38 +00:00
homarr-renovate[bot] fad7207efe fix(deps): update tanstack-query monorepo to ^5.85.5 (#3890)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-19 12:35:41 +00:00
homarr-renovate[bot] 683e817493 fix(deps): update nextjs monorepo to v15.4.7 (#3886)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-19 11:19:23 +00:00
homarr-renovate[bot] de98156d84 chore(deps): update dependency @vitejs/plugin-react to ^5.0.1 (#3888)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-19 10:22:14 +00:00
homarr-renovate[bot] 7685438790 fix(deps): update tanstack-query monorepo to ^5.85.4 (#3889)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-19 09:23:12 +00:00
homarr-renovate[bot] 1a8e40e1f9 fix(deps): update dependency typescript-eslint to ^8.40.0 (#3884)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-18 18:28:44 +00:00
homarr-crowdin[bot] 1c32bb73bb chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-18 00:58:31 +00:00
Meier Lukas acd09c8c02 feat(app-widget): add layout option (#3875) 2025-08-17 17:49:05 +02:00
homarr-renovate[bot] d7b2298d14 fix(deps): update dependency undici to v7.14.0 (#3879)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-17 15:00:18 +00:00
homarr-renovate[bot] 20a2ea8968 chore(deps): update dependency proxmox-api&gt;undici to v7.14.0 (#3878)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-17 13:30:51 +00:00
homarr-renovate[bot] 7e700b2732 fix(deps): update mantine monorepo to ^8.2.5 (#3874)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-17 09:20:44 +00:00
Meier Lukas adad43f9fe chore(issue-template): add version 1.33.0 2025-08-17 11:07:01 +02:00
Meier Lukas 950636e81d feat(app-widget): multiline description (#3873) 2025-08-16 23:39:20 +02:00
homarr-renovate[bot] a88f1c3cba chore(deps): update amannn/action-semantic-pull-request action to v6 (#3852)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-16 14:09:23 +02:00
homarr-renovate[bot] 09fdb167a7 fix(deps): update dependency zod-validation-error to v4 (#3670)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-16 14:08:06 +02:00
homarr-renovate[bot] 72cdba79cb fix(deps): update dependency mantine-form-zod-resolver to ^1.3.0 (#3868)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-16 03:17:53 +00:00
homarr-renovate[bot] 82fcdae7e5 fix(deps): update dependency zod to ^4.0.17 (#3867)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-16 01:14:49 +00:00
homarr-crowdin[bot] 7c4ad40198 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-16 00:50:29 +00:00
homarr-renovate[bot] 2457f9e4a7 fix(deps): update dependency trpc-to-openapi to ^3.0.1 (#3761)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-15 19:18:34 +00:00
homarr-renovate[bot] dc43a015c4 fix(deps): update dependency drizzle-zod to ^0.8.3 (#3866)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-15 19:18:19 +00:00
Releases Homarr f281b45cf8 chore(release): 1.33.0 [skip ci] 2025-08-15 19:17:28 +00:00
homarr-releases[bot] 8417ddebd7 chore(release): automatic release v1.33.0 2025-08-15 19:15:03 +00:00
9d14fcba36 feat(tasks): replace card layout with table interface for better UX (#3804)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-08-15 20:57:07 +02:00
Leandro Scardua 063b9a87c7 add correct path (#3848) 2025-08-15 18:20:24 +00:00
Meier Lukasandhomarr-renovate[bot] 5c99622fa8 fix(deps): upgrade zod to v4 and fix breaking changes (#3461)
* fix(deps): update dependency drizzle-zod to ^0.8.2

* chore: update zod to v4 import

* fix: path is no longer available in transform context

* fix: AnyZodObject does no longer exist

* fix: auth env.ts using wrong createEnv and remove unused file env-validation.ts

* fix: required_error no longer exists on z.string

* fix: zod error map is deprecated and replaced with config

* fix: default requires callback now

* fix: migrate zod resolver for mantine

* fix: remove unused form translation file

* fix: wrong enum type

* fix: record now requires two arguments

* fix: add-confirm-password-refinement type issues

* fix: add missing first record argument for entityStateSchema

* fix: migrate superrefine to check

* fix(deps): upgrade zod-form-data to v3

* fix: migrate superRefine to check for mediaUploadSchema

* fix: authProvidersSchema default is array

* fix: use stringbool instead of custom implementation

* fix: record requires first argument

* fix: migrate superRefine to check for certificate router

* fix: confirm pasword refinement is overwriting types

* fix: email optional not working

* fix: migrate intersection to object converter

* fix: safe parse return value rename

* fix: easier access for min and max number value

* fix: migrate superRefine to check for oldmarr import file

* fix: inference of enum shape for old-import board-size wrong

* fix: errors renamed to issues

* chore: address pull request feedback

* fix: zod form requires object

* fix: inference for use-zod-form not working

* fix: remove unnecessary convertion

* fix(deps): upgrade trpc-to-openapi to v3

* fix: build error

* fix: migrate missing zod imports to v4

* fix: migrate zod records to v4

* fix: missing core package dependency in api module

* fix: unable to convert custom zod schema to openapi schema

* fix(deps): upgrade zod to v4

* chore(renovate): enable zod dependency updates

* test: add simple unit test for convertIntersectionToZodObject

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-15 18:15:58 +00:00
Meier Lukas b7455d18ed fix(dashdot): disabled widgets cause parse errors (#3861) 2025-08-15 18:11:57 +00:00
homarr-renovate[bot] 12ced491b3 chore(deps): update dependency @types/node to ^22.17.2 (#3863)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-15 13:34:06 +00:00
homarr-renovate[bot] 98d344c4b7 fix(deps): update turbo monorepo to ^2.5.6 (#3865)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-15 12:36:17 +00:00
homarr-update-contributors[bot] f36ae8b52b chore: update contributors (#3864)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-08-15 12:34:37 +00:00
homarr-crowdin[bot] eea387b092 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-15 00:55:42 +00:00
Meier Lukas 7ffcd1a08e fix(mysql): increase max media size restricted from 16kb to 4gb (#3839) 2025-08-14 21:12:56 +02:00
homarr-renovate[bot] c72c154305 fix(deps): update tanstack-query monorepo to ^5.85.3 (#3860)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-14 13:38:35 +00:00
homarr-renovate[bot] e9cb878169 fix(deps): update tanstack-query monorepo to ^5.85.2 (#3859)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-14 09:24:50 +00:00
homarr-renovate[bot] 70ce3e168b fix(deps): update tanstack-query monorepo to ^5.85.1 (#3858)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-14 08:27:25 +00:00
homarr-renovate[bot] 8a4198db7e fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.6.2 (#3854)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-14 01:17:56 +00:00
homarr-crowdin[bot] ab5c03512e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-14 00:54:17 +00:00
homarr-renovate[bot] 134ce6f82d chore(deps): update dependency esbuild to ^0.25.9 (#3849)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-13 01:18:13 +00:00
homarr-renovate[bot] 99c42722d9 chore(deps): update dependency @types/react to v19.1.10 (#3841)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-12 14:21:56 +00:00
homarr-renovate[bot] 7d123b83e0 fix(deps): update tanstack-query monorepo to ^5.85.0 (#3846)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-12 13:38:02 +00:00
homarr-renovate[bot] 7a4961e9ad fix(deps): update dependency tsx to v4.20.4 (#3845)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-12 13:37:31 +00:00
homarr-renovate[bot] 433be5e82c fix(deps): update dependency typescript-eslint to ^8.39.1 (#3840)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-11 18:29:38 +00:00
homarr-renovate[bot] 8044abd093 chore(deps): update dependency @vitejs/plugin-react to v5 (#3802)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-11 17:02:24 +02:00
homarr-renovate[bot] 16efaae67e chore(deps): update dependency @semantic-release/github to ^11.0.4 (#3833)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-11 14:59:28 +00:00
homarr-renovate[bot] 53860dda9b chore(deps): update actions/checkout action to v5 (#3837)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-11 16:57:38 +02:00
homarr-renovate[bot] ff1e02ec78 fix(deps): update dependency fastify to ^5.5.0 (#3836)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-11 12:38:47 +00:00
homarr-renovate[bot] 5fe5d6f64d fix(deps): update dependency jotai to ^2.13.1 (#3834)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-11 03:45:55 +00:00
Meier Lukas 166de16bef chore(docs): update sitemap 2025-08-10 20:20:01 +02:00
homarr-crowdin[bot] f9506b0ce5 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-10 01:01:34 +00:00
homarr-crowdin[bot] 47226f7032 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-09 00:52:39 +00:00
homarr-renovate[bot] aeb338f6b1 chore(deps): update dependency eslint to ^9.33.0 (#3820)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-08 21:21:19 +00:00
Meier Lukas f6b7ca1059 chore(issue-template): add version 1.32.0 2025-08-08 21:29:56 +02:00
Releases Homarr faf2525de5 chore(release): 1.32.0 [skip ci] 2025-08-08 19:17:25 +00:00
homarr-releases[bot] 3343468c55 chore(release): automatic release v1.32.0 2025-08-08 19:15:45 +00:00
ManuelandMeier Lukas 27bd93fa8a ci: update integrations in readme (#3740)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-08-08 20:14:58 +02:00
homarr-renovate[bot] e636e02d6a chore(deps): update dependency @types/node to ^22.17.1 (#3811)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-08 17:19:35 +00:00
Meier Lukas 7f474683a5 fix(opnsense): switch secrets to api-key key and secret for easier understanding (#3744) 2025-08-08 17:53:03 +02:00
homarr-update-contributors[bot] 4a07b3f866 chore: update contributors (#3807)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-08-08 15:22:45 +00:00
homarr-renovate[bot] d23196b430 fix(deps): update tanstack-query monorepo to ^5.84.2 (#3810)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-08 14:25:43 +00:00
homarr-renovate[bot] ef40e75818 fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.6.1 (#3809)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-08 14:25:01 +00:00
homarr-renovate[bot] 60accd66f6 fix(deps): update dependency video.js to ^8.23.4 (#3808)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-08 13:42:08 +00:00
homarr-renovate[bot] 4b6c69d48a chore(deps): update dependency node to v22.18.0 (#3762)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-07 17:23:48 +00:00
homarr-renovate[bot] c73ce1f704 fix(deps): update dependency @gitbeaker/rest to ^43.4.0 (#3806)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-07 16:27:10 +00:00
homarr-renovate[bot] ffa629064c fix(deps): update mantine monorepo to ^8.2.4 (#3803)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-07 10:23:56 +00:00
homarr-crowdin[bot] dde41f6baf chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-07 00:58:54 +00:00
homarr-renovate[bot] d32703910e fix(deps): update nextjs monorepo to v15.4.6 (#3799)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-06 20:25:09 +00:00
homarr-renovate[bot] a4914d09fd fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.6.0 (#3797)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-06 14:26:59 +00:00
homarr-renovate[bot] ed950e9302 fix(deps): update testcontainers-node monorepo to ^11.5.1 (#3796)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-06 12:40:05 +00:00
homarr-renovate[bot] bb681f7b5e fix(deps): update dependency sass to ^1.90.0 (#3794)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-05 22:23:21 +00:00
Meier Lukas 72e976ee5e fix: some integrations handle parse errors wrong (#3746) 2025-08-05 20:24:23 +02:00
homarr-renovate[bot] e6be8e1db3 fix(deps): update mantine monorepo to ^8.2.3 (#3789)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-05 18:06:59 +00:00
homarr-crowdin[bot] 5d494111df chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-05 00:59:38 +00:00
3ee408bf53 feat: system resources widget (#3538)
* feat: add system resources widget

* Update packages/widgets/src/system-resources/index.ts

Co-authored-by: Andre Silva <32734153+Aandree5@users.noreply.github.com>

* fix: system resources not updating

* refactor: improve logic in component

* fix: tooltip overflow

* feat: add label with last value

* feat: hide label when hovering

* fix: formatting

* fix: lint

* fix: formatting

* fix: wrong redis channel used for opnsense

---------

Co-authored-by: Andre Silva <32734153+Aandree5@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-08-04 20:12:28 +00:00
Meier Lukas afa6b8eb2d docs(readme): add archive notice 2025-08-04 21:25:06 +02:00
homarr-renovate[bot] 1b5ccb5293 fix(deps): update dependency typescript-eslint to ^8.39.0 (#3781)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-04 18:30:20 +00:00
homarr-renovate[bot] cc6d421e7d fix(deps): update trpc monorepo to ^11.4.4 (#3777)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-04 17:26:56 +00:00
homarr-renovate[bot] c8d59d88e5 fix(deps): update dependency jotai to ^2.13.0 (#3763)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-04 14:27:15 +00:00
homarr-crowdin[bot] 3dbf085e59 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-04 01:02:42 +00:00
Meier Lukas ff03220960 chore(docs): update sitemap 2025-08-03 18:47:01 +02:00
Manuel 001f7a2a16 fix: not hardcode hero banner scroll (#3741) 2025-08-03 12:01:38 +02:00
homarr-crowdin[bot] 2780b1e794 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-03 09:52:05 +00:00
Meier Lukas 59c092f800 fix(groups): saving permissions with none activated causes error (#3739) 2025-08-02 19:43:47 +02:00
Meier Lukas da138c5b54 chore(release): update version in package-json 2025-08-02 18:36:31 +02:00
ManuelandMeier Lukas 69f5cd47ad feat: prompt 1.0 migration (#2320)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-08-02 18:35:04 +02:00
Thomas Camlong 638885466e New Crowdin updates (#2231) 2025-08-02 18:04:19 +02:00
Jan Tesař 523fe30452 Updates the installation link (#2318) 2025-08-02 18:00:43 +02:00
homarr-renovate[bot] 4bc053cc17 fix(deps): update testcontainers-node monorepo to ^11.5.0 (#3738)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-02 15:47:10 +00:00
Meier Lukas baa652f314 feat(api): add info endpoint (#3737) 2025-08-02 17:42:12 +02:00
homarr-crowdin[bot] 2465676713 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-08-02 00:54:53 +00:00
homarr-renovate[bot] e45bef317a fix(deps): update dependency trpc-to-openapi to ^2.4.0 (#3734)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-01 23:22:05 +00:00
Meier Lukas 5d0966f466 chore(issue-template): add version 1.31.0 2025-08-01 22:41:53 +02:00
Releases Homarr 9c377957ec chore(release): 1.31.0 [skip ci] 2025-08-01 19:18:12 +00:00
homarr-releases[bot] ec3d560ad9 chore(release): automatic release v1.31.0 2025-08-01 19:17:21 +00:00
1dc1854cbf feat: OPNsense integration and widget (#3424)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
Co-authored-by: deepsource-io[bot] <42547082+deepsource-io[bot]@users.noreply.github.com>
2025-08-01 18:34:06 +02:00
homarr-renovate[bot] 511551aee7 fix(deps): update tanstack-query monorepo to ^5.84.1 (#3729)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-01 12:38:37 +00:00
homarr-update-contributors[bot] a9de2c39ff chore: update contributors (#3728)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-08-01 12:38:17 +00:00
homarr-renovate[bot] a14c3a2095 chore(deps): update dependency dotenv-cli to v10 (#3713)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-01 14:03:08 +02:00
Andre Silva f63e64627c feat(releases-widget): add Mark as read action to mark releases as seen (#3676) 2025-08-01 14:02:07 +02:00
homarr-renovate[bot]andMeier Lukas d66cccb0db chore(deps): update dependency typescript to ^5.9.2 (#3722)
* chore(deps): update dependency typescript to ^5.9.2

* fix: typecheck issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-08-01 13:59:35 +02:00
homarr-renovate[bot] 0bfb8d845b chore(deps): update dependency @types/bcrypt to v6 (#3656)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-01 13:59:06 +02:00
Andre Silva 3f3d31eb6a refactor: renamed GitHubPackages integration to GitHubContainerRegistry, and all related code (#3727) 2025-08-01 12:37:00 +02:00
Meier Lukas 9a69644732 chore(docs): update sitemap (#3726) 2025-08-01 12:08:52 +02:00
ManuelandMeier Lukas 8eb44c9f23 revert: "feat(ping): ignore certificate error and show request durati… (#3680)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-08-01 12:08:34 +02:00
Andre SilvaandMeier Lukas c92bbd2da0 feat(releases-widget): add new providers, Github Packages, linuxserver.io and Quay (#3607)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-08-01 11:13:20 +02:00
Andre Silva 03adf538b0 feat(releases-widget): Allow to display only the icon (#3695) 2025-08-01 11:13:05 +02:00
Andre Silva 949c7a40d9 feat(releases-widget): add Select/Deselect All to import from docker screen (#3674) 2025-08-01 11:12:56 +02:00
NikeLaosClericusandMeier Lukas 6a819e38ed fix: characters are not considered Symbols when entering a new password (#3689)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-08-01 11:12:25 +02:00
homarr-renovate[bot] 4b1699ab33 chore(deps): update node.js to v22.18.0 (#3724)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-01 08:36:47 +00:00
homarr-renovate[bot] ab5e08a4b0 fix(deps): update dependency swagger-ui-react to ^5.27.1 (#3725)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-08-01 08:28:32 +00:00
homarr-renovate[bot] e7b21697ef fix(deps): update tanstack-query monorepo to ^5.84.0 (#3723)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-31 20:23:56 +00:00
homarr-renovate[bot] f4e37134d8 fix(deps): update tanstack-query monorepo to ^5.83.1 (#3719)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-31 15:23:39 +00:00
homarr-renovate[bot] 58e686765c chore(deps): update pnpm to v10.14.0 (#3720)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-31 14:25:03 +00:00
homarr-renovate[bot] 4f9ecae104 fix(deps): update dependency ioredis to v5.7.0 (#3718)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-31 11:21:21 +00:00
homarr-renovate[bot] 002063f6e1 chore(deps): update dependency proxmox-api&gt;undici to v7.13.0 (#3716)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-31 11:20:30 +00:00
homarr-renovate[bot] 183564176c fix(deps): update mantine monorepo to ^8.2.2 (#3715)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-31 10:24:24 +00:00
homarr-renovate[bot] b0bbd0d87a fix(deps): update dependency undici to v7.13.0 (#3717)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-31 09:29:01 +00:00
homarr-renovate[bot] d0a112c791 fix(deps): update nextjs monorepo to v15.4.5 (#3712)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-29 21:22:03 +00:00
homarr-renovate[bot] 952d4f71c9 fix(deps): update dependency mysql2 to v3.14.3 (#3711)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-29 17:24:35 +00:00
homarr-renovate[bot] 6126fac915 fix(deps): update dependency drizzle-orm to ^0.44.4 (#3708)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-29 16:26:51 +00:00
homarr-renovate[bot] a358377578 chore(deps): update react monorepo (#3707)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-29 16:26:08 +00:00
homarr-renovate[bot] 8a9bca39ea chore(deps): update dependency @types/node to ^22.17.0 (#3710)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-29 15:25:32 +00:00
homarr-renovate[bot] 0dc1f7cf14 fix(deps): update react monorepo to v19.1.1 (#3706)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-28 15:24:23 +00:00
homarr-renovate[bot] 1aecf4f90d fix(deps): update dependency ldapts to v8.0.9 (#3703)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-28 06:31:57 +00:00
homarr-crowdin[bot] 851a75aa54 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-27 01:01:59 +00:00
homarr-renovate[bot] 91ae3ec84c chore(deps): update dependency cross-env to v10 (#3690)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-26 20:19:24 +02:00
homarr-renovate[bot] 6996f6d1a9 chore(deps): update node.js to v22.17.1 (#3640)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-26 20:06:46 +02:00
homarr-crowdin[bot] a16e9032f4 chore(lang): update translations from crowdin (#3646)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-26 20:04:40 +02:00
Manuel 4b57d7b269 chore: update issue template for bug 2025-07-25 21:28:24 +02:00
homarr-renovate[bot] 6d677828d4 chore(deps): update dependency eslint to ^9.32.0 (#3687)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-25 19:20:19 +00:00
Releases Homarr 28242d4335 chore(release): 1.30.1 [skip ci] 2025-07-25 19:18:07 +00:00
homarr-releases[bot] 83dd6c3d1b chore(release): automatic release v1.30.1 2025-07-25 19:17:13 +00:00
Manuel 588c134d91 fix: #3667 plex media releases (#3682) 2025-07-25 21:03:33 +02:00
Manuel 470448e5fc fix: #3678 season number badge calendar (#3681) 2025-07-25 21:03:10 +02:00
homarr-update-contributors[bot] edbd301673 chore: update contributors (#3686)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-07-25 12:37:09 +00:00
homarr-renovate[bot] d3fba3eff4 fix(deps): update dependency dotenv to ^17.2.1 (#3684)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-24 22:21:49 +00:00
homarr-renovate[bot] 04c15de0c8 fix(deps): update dependency @ctrl/deluge to ^7.1.1 (#3677)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-24 21:21:16 +00:00
homarr-renovate[bot] abb011ff9a fix(deps): update nextjs monorepo to v15.4.4 (#3683)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-24 20:23:40 +00:00
homarr-renovate[bot] e858bad2ed fix(deps): update testcontainers-node monorepo to ^11.4.0 (#3679)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-23 14:24:33 +00:00
homarr-renovate[bot] d218170ec2 fix(deps): update testcontainers-node monorepo to ^11.3.2 (#3671)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-22 21:21:39 +00:00
homarr-renovate[bot] 0094ec2567 fix(deps): update nextjs monorepo to v15.4.3 (#3672)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-22 20:25:23 +00:00
homarr-renovate[bot] 50a7d24b1b fix(deps): update dependency typescript-eslint to ^8.38.0 (#3668)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-21 18:29:19 +00:00
Manuel f6d6acf8dc chore: update issue template for 1.30.0 2025-07-21 18:05:03 +02:00
homarr-renovate[bot] 5a28535f59 fix(deps): update dependency ldapts to v8.0.8 (#3665)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-21 15:23:51 +00:00
homarr-renovate[bot] 9cdffc7ead fix(deps): update mantine monorepo to ^8.2.1 (#3666)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-21 13:42:41 +00:00
Releases Homarr fd62524db3 chore(release): 1.30.0 [skip ci] 2025-07-21 08:43:16 +00:00
homarr-releases[bot] 4f0ba7a191 chore(release): automatic release v1.30.0 2025-07-21 08:42:26 +00:00
Meier Lukas ecda928bef fix(security): upgrade eslint-config-prettier to latest version without malicious code 2025-07-21 07:54:13 +00:00
homarr-renovate[bot] bf88f0d091 fix(deps): update dependency @tabler/icons-react to ^3.34.1 (#3661)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-21 01:25:53 +00:00
homarr-renovate[bot] 98f8279b61 fix(deps): update testcontainers-node monorepo to ^11.3.1 (#3659)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-20 15:21:47 +00:00
Meier Lukas 8e960324bc feat(infra): add external redis (#3639) 2025-07-20 17:13:57 +02:00
homarr-renovate[bot] 732bce72ae fix(deps): update dependency @gitbeaker/rest to v43 (#3623)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-20 17:00:34 +02:00
Meier Lukas 66ebb5061f feat(widgets): add media release widget (#3219) 2025-07-20 16:59:03 +02:00
homarr-renovate[bot] fa8e704112 chore(deps): update dependency prettier-plugin-packagejson to ^2.5.19 (#3658)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-20 14:21:07 +00:00
homarr-renovate[bot] 3f29a453b9 chore(deps): update dependency esbuild to ^0.25.8 (#3657)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-19 20:22:44 +00:00
Andre Silva 36b0f576e5 fix: improved import from docker parsing (#3642) 2025-07-19 21:22:11 +02:00
Manuel 18c3ed559e chore: update issue template with 1.29.0 2025-07-19 15:25:12 +02:00
homarr-renovate[bot] 6fca92ac49 chore(deps): update dependency esbuild to ^0.25.7 (#3655)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-18 23:21:52 +00:00
homarr-renovate[bot] 42301b4a1e fix(deps): update nextjs monorepo to v15.4.2 (#3654)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-18 21:22:56 +00:00
homarr-renovate[bot] 2394159f8b fix(deps): update testcontainers-node monorepo to ^11.3.0 (#3652)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-18 20:23:21 +00:00
Releases Homarr c2305d4e27 chore(release): 1.29.0 [skip ci] 2025-07-18 19:17:18 +00:00
homarr-releases[bot] ba51d71c48 chore(release): automatic release v1.29.0 2025-07-18 19:16:23 +00:00
homarr-renovate[bot] 1cc6ecbce2 fix(deps): update dependency eslint-config-prettier to ^10.1.7 (#3651)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-18 16:29:08 +00:00
homarr-renovate[bot] cf0d2d3cda fix(deps): update dependency undici to v7.12.0 (#3650)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-18 15:22:54 +00:00
homarr-renovate[bot] 553f192605 chore(deps): update dependency proxmox-api&gt;undici to v7.12.0 (#3649)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-18 14:23:08 +00:00
homarr-update-contributors[bot] 7f34c4323e chore: update contributors (#3648)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-07-18 12:37:14 +00:00
homarr-renovate[bot] 49ef822a26 chore(deps): update dependency @vitejs/plugin-react to ^4.7.0 (#3647)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-18 04:42:12 +00:00
Meier Lukas c4e5c3002b feat(logs): add log level selection to tools ui (#3565) 2025-07-17 10:43:13 +02:00
Meier Lukas c00110e426 refactor: move usages of create-id to common package (#3606) 2025-07-17 10:42:11 +02:00
homarr-renovate[bot] d4acb01efd fix(deps): update turbo monorepo to ^2.5.5 (#3641)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-16 19:21:49 +00:00
homarr-renovate[bot] ee983e8241 fix(deps): update dependency swagger-ui-react to ^5.27.0 (#3638)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-16 12:37:48 +00:00
homarr-crowdin[bot] 742d7bddf8 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-16 00:57:26 +00:00
homarr-renovate[bot] 93ead1b53f chore(deps): update node.js to v22.17.1 (#3636)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-15 22:22:22 +00:00
homarr-renovate[bot] 11a42c176f chore(deps): update dependency @types/node to ^22.16.4 (#3634)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-15 17:20:31 +00:00
Andre SilvaandMeier Lukas 47806c180e feat(releases-widget): show project description when release description is missing (#3635)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-07-15 18:21:37 +02:00
homarr-crowdin[bot] fc207b17dc chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-15 04:26:13 +00:00
homarr-renovate[bot] 39b025f763 fix(deps): update nextjs monorepo to v15.4.1 (#3632)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-14 22:22:28 +00:00
homarr-renovate[bot] e7012b6da4 fix(deps): update dependency drizzle-orm to ^0.44.3 (#3629)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-14 19:19:57 +00:00
homarr-renovate[bot] d6ea8e8993 fix(deps): update dependency typescript-eslint to ^8.37.0 (#3631)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-14 18:29:29 +00:00
homarr-renovate[bot] 71dee5ca4b fix(deps): update dependency ldapts to v8.0.6 (#3628)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-14 07:25:43 +00:00
homarr-crowdin[bot] fe018732b5 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-14 04:50:04 +00:00
homarr-crowdin[bot] 021bb48e1a chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-13 01:00:58 +00:00
Meier Lukas f57ba4c8bc chore(issue-template): add version 1.28.1 2025-07-12 11:11:42 +02:00
Releases Homarr 6dd695ecf7 chore(release): 1.28.1 [skip ci] 2025-07-12 08:50:56 +00:00
homarr-releases[bot] 2726247e1b chore(release): automatic release v1.28.1 2025-07-12 08:50:00 +00:00
Andre Silva 5ecc4db5da fix(releases-widget): fixed bug with changing a missing provider (#3605) 2025-07-12 10:48:45 +02:00
homarr-crowdin[bot] 29884dda97 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-12 00:57:08 +00:00
homarr-renovate[bot] 72633bf178 chore(deps): update dependency eslint to ^9.31.0 (#3604)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-11 22:21:22 +00:00
homarr-renovate[bot] 27fe82401b chore(deps): update dependency semantic-release to ^24.2.7 (#3602)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-11 22:20:44 +00:00
homarr-renovate[bot] 473a9f47f3 fix(deps): update tiptap monorepo to v2.26.1 (#3603)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-11 21:21:15 +00:00
Meier Lukas 7fb7af12f4 chore(issue-template): add version 1.28.0 2025-07-11 21:44:47 +02:00
Releases Homarr 380055e205 chore(release): 1.28.0 [skip ci] 2025-07-11 19:16:23 +00:00
homarr-releases[bot] 39bf0d036a chore(release): automatic release v1.28.0 2025-07-11 19:15:20 +00:00
Andre SilvaandMeier Lukas 5d8126d71e feat(releases-widget): define providers as integrations (#3253)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-07-11 18:54:17 +00:00
homarr-renovate[bot] 9020440193 fix(deps): update dependency zod-validation-error to ^3.5.3 (#3600)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-11 18:27:32 +00:00
homarr-renovate[bot] bd8ac62c7a fix(deps): update tanstack-query monorepo to ^5.83.0 (#3599)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-11 17:21:35 +00:00
Andre Silva 5a8653d850 feat(icon-color): add icon color clear button (#3593) 2025-07-11 18:39:12 +02:00
Meier Lukas dc754232bc ci: revert corepack workaround (#3581) 2025-07-11 15:25:24 +02:00
Meier Lukas 9af542ee81 chore(renovate): disable zod v4 related upgrades (#3580) 2025-07-11 15:25:03 +02:00
homarr-update-contributors[bot] 41a7182133 chore: update contributors (#3598)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-07-11 12:35:07 +00:00
Meier Lukas 99358109ba chore(issue-template): add version 1.27.0 2025-07-11 14:00:46 +02:00
homarr-renovate[bot] df5b6fcb6a fix(deps): update tiptap monorepo to v2.26.0 (#3596)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-11 10:23:36 +00:00
homarr-crowdin[bot] b03c9c1043 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-11 08:24:58 +00:00
homarr-renovate[bot] d68b80e6be fix(deps): update dependency mysql2 to v3.14.2 (#3592)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-10 22:21:41 +00:00
Yuichi NakaiandMeier Lukas f1143e54a0 fix: unable to change certificate path for running from source (#3582)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-07-10 22:28:33 +02:00
homarr-renovate[bot] 54392dcea4 chore(deps): update dependency conventional-changelog-conventionalcommits to ^9.1.0 (#3587)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-10 19:23:53 +00:00
homarr-renovate[bot] 661afa72be fix(deps): update tiptap monorepo to v2.25.1 (#3591)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-10 19:20:44 +00:00
homarr-renovate[bot] d16e0ba7c1 chore(deps): update dependency @types/node to ^22.16.3 (#3589)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-10 19:20:05 +00:00
homarr-renovate[bot] e21b236d37 fix(deps): update dependency node-cron to ^4.2.1 (#3590)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-10 19:19:25 +00:00
homarr-renovate[bot] 7e92f1bafa fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.5.1 (#3586)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-10 15:23:57 +00:00
homarr-renovate[bot] ee286c9556 fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.5.0 (#3585)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-10 13:38:12 +00:00
homarr-crowdin[bot] 68593335ec chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-10 00:54:36 +00:00
Meier Lukas fb57d46b57 fix(bookmarks): wrong widget icon (#3572) 2025-07-09 20:49:38 +02:00
homarr-renovate[bot] 1724f9d26c fix(deps): update dependency dotenv to ^17.2.0 (#3578)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-09 17:22:45 +00:00
homarr-renovate[bot] 90f6a2dd01 fix(deps): update tanstack-query monorepo to ^5.82.0 (#3577)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-09 15:22:32 +00:00
homarr-renovate[bot] 3f191da25c chore(deps): update pnpm to v10.13.1 (#3576)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-09 10:23:51 +00:00
homarr-renovate[bot] 7c2f8b85bd chore(deps): update dependency @types/node to ^22.16.2 (#3574)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-09 01:19:15 +00:00
homarr-crowdin[bot] c5db9db5d7 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-09 00:56:00 +00:00
Meier Lukas 6a06a214be chore(docs): update sitemap 2025-07-08 20:42:11 +02:00
homarr-renovate[bot] c08caeac5a chore(deps): update dependency @types/node to ^22.16.1 (#3571)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-08 17:22:03 +00:00
homarr-renovate[bot] c793bf1982 fix(deps): update dependency zod to ^3.25.76 (#3569)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-08 09:24:45 +00:00
homarr-renovate[bot] a369beb248 fix(deps): update dependency dotenv to ^17.1.0 (#3567)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-08 01:18:10 +00:00
homarr-crowdin[bot] d736cf6daa chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-08 00:53:35 +00:00
Meier Lukas 3411354677 feat(notebook): add placeholder, redo and undo button (#3564) 2025-07-07 21:08:35 +02:00
homarr-renovate[bot] 7c0a7428d8 fix(deps): update dependency typescript-eslint to ^8.36.0 (#3563)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-07 18:28:30 +00:00
homarr-renovate[bot] 5d394c849f fix(deps): update testcontainers-node monorepo to ^11.2.1 (#3562)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-07 17:22:06 +00:00
homarr-renovate[bot] 9c7cfeb849 chore(deps): update dependency esbuild to ^0.25.6 (#3561)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-07 17:21:14 +00:00
Meier Lukas 1eb47311fa feat(ping): ignore certificate error and show request duration (#3546) 2025-07-07 17:04:45 +02:00
homarr-renovate[bot] 1fe3450555 fix(deps): update mantine monorepo to ^8.1.3 (#3560)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-07 13:36:46 +00:00
homarr-renovate[bot] 8b9832b2b8 fix(deps): update dependency ldapts to v8.0.5 (#3559)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-07 12:35:54 +00:00
homarr-renovate[bot] 57be43f51b fix(deps): update dependency swagger-ui-react to ^5.26.2 (#3558)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-07 10:23:29 +00:00
homarr-renovate[bot] 824f443949 fix(deps): update testcontainers-node monorepo to ^11.2.0 (#3556)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-07 09:26:14 +00:00
homarr-renovate[bot] e9a35ba811 fix(deps): update dependency zod to ^3.25.75 (#3555)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-07 08:28:44 +00:00
homarr-renovate[bot] 12f4e90e44 fix(deps): update dependency swagger-ui-react to ^5.26.1 (#3554)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-07 06:29:41 +00:00
homarr-crowdin[bot] 2ac75b23a4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-07 00:58:20 +00:00
homarr-renovate[bot] 430dc58068 fix(deps): update tiptap monorepo to v2.25.0 (#3552)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-06 21:20:14 +00:00
homarr-crowdin[bot] 8f1c3d8a2d chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-06 00:59:26 +00:00
homarr-renovate[bot] b0bdf28016 fix(deps): update testcontainers-node monorepo to ^11.1.0 (#3550)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-05 10:21:44 +00:00
homarr-crowdin[bot] 01fd7b660c chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-05 00:50:57 +00:00
Releases Homarr 59b31e97cd chore(release): 1.27.0 [skip ci] 2025-07-04 19:16:13 +00:00
homarr-releases[bot] 58e3bf57e3 chore(release): automatic release v1.27.0 2025-07-04 19:15:22 +00:00
homarr-renovate[bot] b057059ff1 fix(deps): update dependency zod to ^3.25.74 (#3547)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-04 18:27:02 +00:00
homarr-renovate[bot] 66f663aad4 fix(deps): update tiptap monorepo to v2.24.2 (#3544)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-04 10:23:03 +00:00
homarr-renovate[bot] 7061a03b2e fix(deps): update dependency zod to ^3.25.73 (#3543)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-04 09:23:36 +00:00
Meier Lukas 58d5b14c51 feat(integrations): add mock integration (#3505) 2025-07-04 09:49:18 +02:00
homarr-crowdin[bot] 350a531d32 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-04 06:48:11 +00:00
homarr-renovate[bot] 0858a42b81 fix(deps): update dependency zod to ^3.25.72 (#3535)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-04 05:18:28 +00:00
homarr-renovate[bot] d5181d0c0e fix(deps): update nextjs monorepo to v15.3.5 (#3541)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-03 23:21:45 +00:00
homarr-renovate[bot] 63e2acefbd fix(deps): update tiptap monorepo to v2.24.1 (#3536)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-03 21:19:59 +00:00
homarr-renovate[bot] cf9f2811f3 chore(deps): update dependency prettier-plugin-packagejson to ^2.5.18 (#3539)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-03 20:22:32 +00:00
Meier Lukas 308d235fa9 fix: broken lockfile 2025-07-03 22:09:44 +02:00
Meier Lukas 9398dd983c feat(tasks): allow management of job intervals and disabling them (#3408) 2025-07-03 20:59:26 +02:00
homarr-renovate[bot] 95c8aadb0c fix(deps): update dependency zod to ^3.25.71 (#3534)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-03 03:24:03 +00:00
homarr-crowdin[bot] beb031de12 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-03 00:53:27 +00:00
homarr-renovate[bot] 0e1f6934f9 fix(deps): update tiptap monorepo to v2.24.0 (#3532)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-02 22:20:23 +00:00
homarr-renovate[bot] 915eec1b5e fix(deps): update dependency zod to ^3.25.69 (#3531)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-02 21:20:55 +00:00
homarr-renovate[bot] b375ec977e fix(deps): update dependency zod to ^3.25.68 (#3529)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-02 19:19:10 +00:00
homarr-renovate[bot] 6005784284 fix(deps): update dependency next-intl to v4.3.4 (#3528)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-02 08:27:18 +00:00
homarr-renovate[bot] 9da66f5b1d fix(deps): update dependency swagger-ui-react to ^5.26.0 (#3527)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-02 07:21:40 +00:00
homarr-renovate[bot] 6774a17eb3 chore(deps): update dependency @types/node to ^22.16.0 (#3526)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-01 21:20:44 +00:00
homarr-renovate[bot] 2170c5ca73 chore(deps): update dependency eslint to ^9.30.1 (#3525)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-01 20:24:05 +00:00
homarr-renovate[bot] fe87d978c4 fix(deps): update dependency dotenv to v17 (#3499)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-01 21:49:43 +02:00
homarr-renovate[bot] 964110377c chore(deps): update dependency @types/node to ^22.15.35 (#3524)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-01 19:19:31 +00:00
homarr-renovate[bot] 6c94d1a10c fix(deps): update dependency swagger-ui-react to ^5.25.4 (#3523)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-01 13:36:40 +00:00
homarr-renovate[bot] ab9165f2cd fix(deps): update dependency next-intl to v4.3.3 (#3521)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-01 09:24:24 +00:00
homarr-renovate[bot] 6fda939a2d fix(deps): update dependency next-intl to v4.3.2 (#3520)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-01 07:23:25 +00:00
homarr-renovate[bot] 0f94ac456e fix(deps): update dependency node-cron to ^4.2.0 (#3518)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-07-01 01:25:10 +00:00
homarr-crowdin[bot] 41494859e5 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-07-01 01:00:53 +00:00
homarr-renovate[bot] 0a0e7f9602 fix(deps): update tiptap monorepo to v2.23.1 (#3516)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-30 23:20:47 +00:00
homarr-renovate[bot] 97d7f31ffd chore(deps): update dependency @types/dockerode to ^3.3.42 (#3514)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-30 19:18:33 +00:00
homarr-renovate[bot] 17fe293a7c fix(deps): update dependency typescript-eslint to ^8.35.1 (#3513)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-30 18:27:32 +00:00
homarr-renovate[bot] 01d0ffb0d1 fix(deps): update dependency postcss-preset-mantine to ^1.18.0 (#3510)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-30 12:36:47 +00:00
homarr-renovate[bot] 8d53801f67 fix(deps): update dependency ldapts to v8.0.4 (#3509)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-30 05:23:30 +00:00
homarr-crowdin[bot] 7aed20450c chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-30 00:57:49 +00:00
homarr-renovate[bot] 857c7d0f16 chore(deps): update dependency semantic-release to ^24.2.6 (#3504)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-29 16:23:29 +00:00
homarr-renovate[bot] c22a963342 fix(deps): update dependency better-sqlite3 to ^12.2.0 (#3503)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-28 23:19:57 +00:00
homarr-renovate[bot] ed077d63db fix(deps): update dependency ws to ^8.18.3 (#3501)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-28 21:18:42 +00:00
homarr-renovate[bot] 2ebc9f969b fix(deps): update dependency trpc-to-openapi to ^2.3.2 (#3502)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-28 20:21:03 +00:00
homarr-renovate[bot] e32ab1c0b0 chore(deps): update dependency @types/node to ^22.15.34 (#3500)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-28 08:24:41 +00:00
homarr-renovate[bot] 7aa6c7794b chore(deps): update node.js to v22.17.0 (#3472)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-28 09:18:37 +02:00
Meier Lukas ceacad15cc chore(issue-template): add version 1.26.0 2025-06-28 00:55:39 +02:00
homarr-renovate[bot] ec368132bf chore(deps): update dependency eslint to ^9.30.0 (#3498)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-27 21:20:16 +00:00
homarr-renovate[bot] 4d9edca9b3 chore(deps): update dependency prettier-plugin-packagejson to ^2.5.17 (#3497)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-27 20:24:01 +00:00
homarr-renovate[bot] 5346b96984 fix(deps): update tanstack-query monorepo to ^5.81.5 (#3495)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-27 20:23:31 +00:00
homarr-renovate[bot] b880de8a79 fix(deps): update dependency dotenv to ^16.6.1 (#3494)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-27 20:22:12 +00:00
Releases Homarr 260e1931b1 chore(release): 1.26.0 [skip ci] 2025-06-27 19:15:20 +00:00
homarr-releases[bot] 2c2e60aee6 chore(release): automatic release v1.26.0 2025-06-27 19:14:04 +00:00
homarr-renovate[bot] a737331d20 fix(deps): update tanstack-query monorepo to ^5.81.4 (#3493)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-27 14:20:56 +00:00
homarr-update-contributors[bot] e9e3d93eea chore: update contributors (#3492)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-06-27 12:34:43 +00:00
homarr-renovate[bot] 670de0f5fb fix(deps): update dependency drizzle-kit to ^0.31.4 (#3490)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-27 08:27:16 +00:00
homarr-renovate[bot] d326f3b4b3 fix(deps): update trpc monorepo to ^11.4.3 (#3491)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-27 08:26:30 +00:00
homarr-renovate[bot] 60786bf9ac fix(deps): update dependency prettier to ^3.6.2 (#3489)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-27 03:23:27 +00:00
homarr-crowdin[bot] 22e420c9bc chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-27 00:54:38 +00:00
homarr-renovate[bot] b027f3a180 fix(deps): update tiptap monorepo to v2.23.0 (#3487)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 23:21:55 +00:00
homarr-renovate[bot] e83c514c1d chore(deps): update dependency proxmox-api&gt;undici to v7.11.0 (#3485)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 23:20:43 +00:00
homarr-renovate[bot] 01fdd79559 fix(deps): update dependency undici to v7.11.0 (#3486)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 22:21:30 +00:00
homarr-renovate[bot] 7477d02cad fix(deps): update dependency dotenv to ^16.6.0 (#3484)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 19:18:13 +00:00
homarr-renovate[bot] 7e8cfc38e9 chore(deps): update pnpm to v10.12.4 (#3483)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 18:26:59 +00:00
homarr-renovate[bot] 7d0ac46753 fix(deps): update dependency drizzle-kit to ^0.31.3 (#3482)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 15:22:11 +00:00
homarr-renovate[bot] 114de40634 fix(deps): update dependency ldapts to v8.0.2 (#3481)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 13:35:12 +00:00
homarr-renovate[bot] 0c304c4310 chore(deps): update dependency @semantic-release/npm to ^12.0.2 (#3480)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 12:36:28 +00:00
homarr-renovate[bot] 1cd9fa8e82 fix(deps): update dependency swagger-ui-react to ^5.25.3 (#3479)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 11:19:24 +00:00
homarr-renovate[bot] 98ea5cd2cf chore(deps): update dependency prettier-plugin-packagejson to ^2.5.16 (#3477)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-26 04:31:20 +00:00
homarr-crowdin[bot] 5e5fecb4a0 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-26 00:53:24 +00:00
homarr-renovate[bot] 5e6dfb3a5c fix(deps): update mantine monorepo to ^8.1.2 (#3471)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-25 10:23:20 +00:00
homarr-crowdin[bot] 3889d63651 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-25 09:02:59 +00:00
homarr-renovate[bot] eadec21236 fix(deps): update dependency better-sqlite3 to ^12.1.1 (#3470)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-25 08:51:39 +00:00
homarr-renovate[bot] 34faa9e58c fix(deps): update dependency prettier to ^3.6.1 (#3469)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-25 07:23:14 +00:00
homarr-renovate[bot] dfc1c65a34 chore(deps): update node.js to v22.17.0 (#3468)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-25 01:18:49 +00:00
homarr-renovate[bot] 177fa88998 chore(deps): update dependency @types/node to ^22.15.33 (#3466)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-24 17:22:32 +00:00
homarr-renovate[bot] 5d9674412e fix(deps): update dependency next-intl to v4.3.1 (#3465)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-24 13:37:44 +00:00
homarr-renovate[bot] e22096c7bc chore(deps): update pnpm to v10.12.3 (#3464)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-24 11:19:28 +00:00
Meier Lukas 468c04da8a ci: remove conventional semantic commit workflow (#3459) 2025-06-24 12:10:07 +02:00
homarr-crowdin[bot] 62c78f191c chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-24 00:53:32 +00:00
homarr-renovate[bot] fa421b3778 fix(deps): update dependency better-sqlite3 to ^12.1.0 (#3462)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 23:18:16 +00:00
homarr-renovate[bot] 1813d4435e fix(deps): update dependency typescript-eslint to ^8.35.0 (#3460)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 18:28:28 +00:00
MeowandMeier Lukas e110a84fdd feat: add ntfy integration (#2900)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-06-23 19:40:49 +02:00
homarr-renovate[bot] 95be0391a6 fix(deps): update dependency better-sqlite3 to v12 (#3441)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 17:46:04 +02:00
Meier Lukas 6b474c3df4 fix(jellyseerr): add missing deleted media status (#3439) 2025-06-23 17:45:00 +02:00
homarr-renovate[bot] ded39930ca fix(deps): update dependency next-intl to v4.3.0 (#3458)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 13:38:40 +00:00
homarr-renovate[bot] 86d4585035 fix(deps): update dependency next-intl to v4.2.0 (#3457)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 12:38:37 +00:00
homarr-renovate[bot] 4e892efab7 fix(deps): update dependency maria2 to ^0.4.1 (#3456)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 12:36:55 +00:00
homarr-renovate[bot] 8ffbbd6bf9 fix(deps): update dependency drizzle-kit to ^0.31.2 (#3455)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 11:20:29 +00:00
homarr-renovate[bot] 17763208df chore(deps): update dependency @vitejs/plugin-react to ^4.6.0 (#3453)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 04:36:49 +00:00
homarr-renovate[bot] 07ce1c1a2d fix(deps): update dependency prettier to ^3.6.0 (#3452)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 03:30:32 +00:00
homarr-renovate[bot] 14c116cef4 chore(deps): update pnpm to v10.12.2 (#3451)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-23 01:20:41 +00:00
homarr-renovate[bot] 7b8dc1670d fix(deps): update dependency @auth/drizzle-adapter to ^1.10.0 (#3449)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-22 13:30:35 +00:00
homarr-renovate[bot] da2d22b1b9 fix(deps): update dependency next-auth to v5.0.0-beta.29 (#3447)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-22 13:29:17 +00:00
homarr-renovate[bot] 2c7f5de192 fix(deps): update dependency @auth/core to ^0.40.0 (#3448)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-22 12:33:14 +00:00
homarr-renovate[bot] 319bee99b7 chore(deps): update dependency concurrently to ^9.2.0 (#3446)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-22 07:21:15 +00:00
homarr-crowdin[bot] 4bf69874ec chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-22 00:58:51 +00:00
homarr-renovate[bot] add73a1a3c fix(deps): update tiptap monorepo to v2.22.3 (#3443)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-21 23:20:53 +00:00
homarr-renovate[bot] 3f0e9c3738 fix(deps): update tanstack-query monorepo to ^5.81.2 (#3442)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-21 23:19:59 +00:00
homarr-renovate[bot] b8b71da291 fix(deps): update tanstack-query monorepo to ^5.81.1 (#3440)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-21 20:21:19 +00:00
homarr-renovate[bot] f677bd6b12 fix(deps): update tiptap monorepo to v2.22.2 (#3438)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-21 19:36:36 +00:00
homarr-renovate[bot] e6f05f9d94 fix(deps): update tanstack-query monorepo to ^5.81.0 (#3437)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-21 13:30:12 +00:00
homarr-renovate[bot] 86608f5a9f fix(deps): update tanstack-query monorepo to ^5.80.12 (#3436)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-21 12:32:11 +00:00
homarr-renovate[bot] f6039a5976 fix(deps): update dependency @tiptap/extension-highlight to v2.22.1 (#3433)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-21 09:20:54 +00:00
homarr-renovate[bot] 8ccbe7ff52 fix(deps): update tiptap monorepo to v2.22.1 (#3432)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-21 08:24:30 +00:00
Meier Lukas eede932884 chore(issue-template): add version 1.25.0 2025-06-21 09:38:28 +02:00
homarr-renovate[bot] a7052bb16f fix(deps): update dependency eslint-plugin-import to ^2.32.0 (#3430)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-20 22:21:00 +00:00
homarr-renovate[bot] caedac490e fix(deps): update dependency recharts to ^2.15.4 (#3429)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-20 22:19:43 +00:00
Releases Homarr c4db07915e chore(release): 1.25.0 [skip ci] 2025-06-20 19:15:40 +00:00
homarr-releases[bot] 795e5f1157 chore(release): automatic release v1.25.0 2025-06-20 19:14:38 +00:00
homarr-renovate[bot] f6a99ffedd fix(deps): update dependency node-cron to ^4.1.1 (#3427)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-20 18:26:03 +00:00
homarr-renovate[bot] ec4dde64fd fix(deps): update tiptap monorepo to v2.22.0 (#3425)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-20 09:22:31 +00:00
homarr-renovate[bot] 9e4b4635bc fix(deps): update tiptap monorepo to v2.14.1 (#3423)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-19 22:20:39 +00:00
homarr-renovate[bot] 7c58e8ac9b fix(deps): update tanstack-query monorepo to ^5.80.10 (#3422)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-19 09:22:29 +00:00
homarr-renovate[bot] 3759a9831c fix(deps): update nextjs monorepo to v15.3.4 (#3421)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-18 17:22:28 +00:00
Andre Silva 73fff02ad0 fix(widget-integration-select): fixed error about <p> being descendant of <p> (#3418) 2025-06-18 16:42:49 +00:00
homarr-renovate[bot] 8e428e20a7 fix(deps): update trpc monorepo to ^11.4.2 (#3419)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-18 13:36:17 +00:00
homarr-renovate[bot] 02cd7a50da fix(deps): update dependency swagger-ui-react to ^5.25.2 (#3420)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-18 12:36:14 +00:00
homarr-renovate[bot] 430f671434 fix(deps): update dependency zod-validation-error to ^3.5.2 (#3417)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-18 07:22:08 +00:00
homarr-renovate[bot] 7d6d85d563 chore(deps): update vitest monorepo to ^3.2.4 (#3415)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-17 18:28:09 +00:00
Meier Lukas b5ef7e5194 fix(downloads): not updating automatically (#3412) 2025-06-17 18:24:36 +02:00
homarr-renovate[bot] 6bcfe78956 fix(deps): update dependency tsdav to ^2.1.5 (#3414)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-17 16:22:32 +00:00
homarr-renovate[bot] 56ca8b7b0b fix(deps): update dependency zod to ^3.25.67 (#3413)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-16 23:21:14 +00:00
homarr-renovate[bot] 9224540761 chore(deps): update dependency @types/dockerode to ^3.3.41 (#3411)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-16 19:19:01 +00:00
homarr-renovate[bot] a8c9c075f0 fix(deps): update dependency zod to ^3.25.65 (#3410)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-16 18:28:18 +00:00
homarr-renovate[bot] 637bfb8b47 fix(deps): update dependency typescript-eslint to ^8.34.1 (#3409)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-16 18:27:37 +00:00
homarr-renovate[bot] adbef252c6 fix(deps): update dependency zod-validation-error to ^3.5.1 (#3406)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-16 15:23:09 +00:00
homarr-renovate[bot] f97a261973 fix(deps): update mantine monorepo to ^8.1.1 (#3404)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-16 14:21:12 +00:00
homarr-renovate[bot] bdca92036a fix(deps): update dependency swagger-ui-react to ^5.24.2 (#3405)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-16 13:36:23 +00:00
homarr-renovate[bot] 9a81689143 chore(deps): update dependency @types/node to ^22.15.32 (#3403)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-16 09:25:07 +00:00
Meier Lukas e6cb35b7c2 feat(integrations): add support for self-signed-cert-in-chain request error (#3399) 2025-06-15 21:42:25 +02:00
homarr-renovate[bot] cad59aed00 chore(deps): update dependency eslint to ^9.29.0 (#3396)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-13 21:19:59 +00:00
Meier Lukas e56ffb9244 chore(issue-template): add version 1.24.0 2025-06-13 22:47:13 +02:00
Releases Homarr 5c75960176 chore(release): 1.24.0 [skip ci] 2025-06-13 19:15:33 +00:00
homarr-releases[bot] c2acbdc229 chore(release): automatic release v1.24.0 2025-06-13 19:14:43 +00:00
homarr-renovate[bot] 6d9992d711 fix(deps): update trpc monorepo to ^11.4.1 (#3395)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-13 15:22:15 +00:00
homarr-update-contributors[bot] eb3454fb75 chore: update contributors (#3394)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-06-13 12:34:38 +00:00
homarr-renovate[bot] c9097a95e2 fix(deps): update dependency tsx to v4.20.3 (#3393)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-13 09:23:06 +00:00
homarr-renovate[bot] 5dc0ee8842 fix(deps): update dependency zod to ^3.25.64 (#3392)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-13 07:21:17 +00:00
homarr-renovate[bot] f16efac05a fix(deps): update dependency glob to ^11.0.3 (#3391)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-12 21:20:19 +00:00
homarr-renovate[bot] c5cc8f1d37 fix(deps): update tanstack-query monorepo to ^5.80.7 (#3385)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-12 13:36:18 +00:00
homarr-renovate[bot] 153c2ef8a0 fix(deps): update dependency zod to ^3.25.63 (#3386)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-12 13:35:25 +00:00
homarr-renovate[bot] 3bf4f9e058 fix(deps): update trpc monorepo to ^11.4.0 (#3389)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-12 12:35:17 +00:00
homarr-renovate[bot] 747d034114 fix(deps): update dependency zod-validation-error to ^3.5.0 (#3388)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-12 08:27:52 +00:00
homarr-renovate[bot] 79519ec0eb fix(deps): update dependency tsx to v4.20.2 (#3387)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-12 08:27:03 +00:00
homarr-renovate[bot] 0b200dc9e2 fix(deps): update dependency zod to ^3.25.62 (#3382)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-11 19:19:05 +00:00
homarr-renovate[bot] 377f4302c0 chore(deps): update dependency @types/react to v19.1.8 (#3381)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-11 14:20:18 +00:00
homarr-crowdin[bot] 740e9a5082 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-11 12:05:38 +00:00
homarr-renovate[bot] e7652ea4eb fix(deps): update dependency tsx to v4.20.1 (#3380)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-11 09:23:20 +00:00
homarr-renovate[bot] 863f935ef4 fix(deps): update dependency zod to ^3.25.61 (#3379)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-11 08:27:30 +00:00
homarr-renovate[bot] 7388c907a5 fix(deps): update dependency zod to ^3.25.60 (#3378)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-11 07:22:06 +00:00
homarr-renovate[bot] 3d07306e7d fix(deps): update dependency tsx to v4.20.0 (#3375)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-11 03:21:10 +00:00
homarr-renovate[bot] f37fc0edfe fix(deps): update dependency zod to ^3.25.58 (#3373)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-10 23:21:00 +00:00
Meier Lukas c59cdeda47 fix: csp prevents external videos (#3372) 2025-06-10 22:14:43 +02:00
homarr-renovate[bot] ad444e8fa7 fix(deps): update testcontainers-node monorepo to ^11.0.3 (#3369)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-10 18:41:04 +00:00
homarr-renovate[bot] fa52b55828 fix(deps): update dependency swagger-ui-react to ^5.24.1 (#3368)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-10 06:28:24 +00:00
homarr-renovate[bot] 1ce1113a8c chore(deps): update dependency @vitejs/plugin-react to ^4.5.2 (#3366)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-10 04:30:15 +00:00
homarr-renovate[bot] e7a9797484 fix(deps): update dependency zod to ^3.25.57 (#3367)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-10 03:23:52 +00:00
homarr-renovate[bot] d104aea8b8 chore(deps): update dependency @types/node to ^22.15.31 (#3365)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-10 03:22:22 +00:00
homarr-renovate[bot] ab3ee3bac1 fix(deps): update dependency @t3-oss/env-nextjs to ^0.13.8 (#3364)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-10 01:18:38 +00:00
homarr-crowdin[bot] 838066ac75 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-10 00:52:45 +00:00
homarr-renovate[bot] b1a559d801 fix(deps): update dependency sass to ^1.89.2 (#3362)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-09 20:24:11 +00:00
homarr-renovate[bot] eecf50d461 chore(deps): update dependency @types/react to v19.1.7 (#3361)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-09 20:23:08 +00:00
homarr-renovate[bot] d862ae03e3 fix(deps): update mantine monorepo to ^8.1.0 (#3360)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-09 18:28:49 +00:00
homarr-renovate[bot] f6da091577 fix(deps): update dependency typescript-eslint to ^8.34.0 (#3359)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-09 18:28:06 +00:00
homarr-renovate[bot] 22f0cd885e fix(deps): update dependency @t3-oss/env-nextjs to ^0.13.7 (#3357)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-09 16:25:59 +00:00
homarr-renovate[bot] 08c6ce9071 chore(deps): update vitest monorepo to ^3.2.3 (#3356)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-09 12:36:15 +00:00
homarr-renovate[bot] c3e1a53d09 chore(deps): update pnpm to v10.12.1 (#3354)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-08 15:20:30 +00:00
homarr-renovate[bot] 9e86de6e17 fix(deps): update dependency fast-xml-parser to ^5.2.5 (#3353)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-08 08:25:10 +00:00
homarr-renovate[bot] 98c4cd1e39 fix(deps): update testcontainers-node monorepo to ^11.0.2 (#3352)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-07 20:21:39 +00:00
Manuel f67702e1d3 feat: reduce cron job intervals (#3235) 2025-06-07 17:32:39 +00:00
Meier Lukas a9e68e13d5 fix(pi-hole): cached session not invalidated when changing password (#3351) 2025-06-07 16:20:21 +02:00
Meier Lukas 1b3770aafb fix: module not found sshcrypto.node during development (#3349) 2025-06-07 16:19:09 +02:00
homarr-renovate[bot] 7928f15452 chore(deps): update dependency @types/dockerode to ^3.3.40 (#3347)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-07 10:21:45 +00:00
Meier Lukas 80327337ce chore(issue-template): add version 1.23.0 2025-06-07 12:11:33 +02:00
homarr-crowdin[bot] f72a994fb3 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-07 10:08:14 +00:00
homarr-renovate[bot] 1910786f5b chore(deps): update dependency @types/cookies to v0.9.1 (#3346)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-07 03:16:21 +00:00
homarr-renovate[bot] 6ec66b1fe2 fix(deps): update testcontainers-node monorepo to ^11.0.1 (#3343)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-06 21:43:01 +00:00
homarr-renovate[bot] aafd883c32 fix(deps): update dependency zod to ^3.25.56 (#3340)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-06 21:47:12 +02:00
Releases Homarr f32242bf79 chore(release): 1.23.0 [skip ci] 2025-06-06 19:16:16 +00:00
homarr-releases[bot] 62aeb043b5 chore(release): automatic release v1.23.0 2025-06-06 19:15:09 +00:00
Kaotic3andMeier Lukas ffd2f802bb fix(nextcloud): correct calendar event date mapping and support showU… (#3330)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-06-06 20:00:22 +02:00
lthomsen 3e7bf62500 fix: Allow nullable on cpuModelName and default to "Unknown CPU" if null in OMV Integration (#3310) 2025-06-06 20:00:09 +02:00
Andre Silva 7071d76c52 feat(releases-widget): add import from docker functionality (#3130) 2025-06-06 19:59:46 +02:00
Meier Lukas c7a21b1a5f fix: csp prevents external stylesheets (#3337) 2025-06-06 19:58:37 +02:00
homarr-renovate[bot] 6274a66048 fix(deps): update tiptap monorepo to v2.14.0 (#3334)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-06 15:20:46 +00:00
homarr-renovate[bot] 07f81cee92 fix(deps): update dependency dockerode to ^4.0.7 (#3331)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-06 15:19:53 +00:00
homarr-renovate[bot] 3ad72e63b1 fix(deps): update dependency fast-xml-parser to ^5.2.4 (#3336)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-06 14:21:15 +00:00
homarr-renovate[bot] ed3f848e8a fix(deps): update dependency zod to ^3.25.55 (#3332)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-06 08:26:48 +00:00
homarr-renovate[bot] 8484daaf75 fix(deps): update trpc monorepo to ^11.3.1 (#3329)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-05 21:20:00 +00:00
homarr-renovate[bot] aeed7dbfd0 chore(deps): update dependency @types/node to ^22.15.30 (#3328)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-05 19:18:20 +00:00
homarr-renovate[bot] 68881e7ee5 chore(deps): update vitest monorepo to ^3.2.2 (#3327)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-05 14:22:21 +00:00
homarr-renovate[bot] 61553cfc8e fix(deps): update tanstack-query monorepo to ^5.80.6 (#3326)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-05 13:35:26 +00:00
homarr-renovate[bot] cf7336ba87 fix(deps): update dependency swagger-ui-react to ^5.24.0 (#3325)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-05 10:23:04 +00:00
homarr-renovate[bot] dac82347e8 fix(deps): update tiptap monorepo to v2.13.0 (#3323)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-05 07:21:55 +00:00
homarr-renovate[bot] 74aa561f47 fix(deps): update trpc monorepo to ^11.3.0 (#3322)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-04 20:19:56 +00:00
homarr-renovate[bot] cb77a7dc6d fix(deps): update tanstack-query monorepo to ^5.80.5 (#3321)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-04 19:18:58 +00:00
homarr-renovate[bot] 81509fd96d fix(deps): update dependency video.js to ^8.23.3 (#3320)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-04 17:20:30 +00:00
homarr-renovate[bot] 960dc33af8 chore(deps): update dependency @types/react-dom to v19.1.6 (#3319)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-04 13:37:17 +00:00
homarr-renovate[bot] c051a42791 fix(deps): update tanstack-query monorepo to ^5.80.3 (#3317)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-04 10:22:38 +00:00
homarr-renovate[bot] a542ee0798 fix(deps): update dependency zod to ^3.25.51 (#3316)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-04 08:26:44 +00:00
homarr-renovate[bot] 9ac9042564 fix(deps): update dependency drizzle-orm to ^0.44.2 (#3315)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-04 07:21:31 +00:00
homarr-crowdin[bot] 2fe3dcb01b chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-04 00:52:41 +00:00
homarr-renovate[bot] a0a0449c70 fix(deps): update dependency zod to ^3.25.50 (#3312)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-03 22:21:28 +00:00
homarr-renovate[bot] d4afafe0f7 chore(deps): update vitest monorepo to ^3.2.1 (#3309)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-03 17:21:20 +00:00
homarr-renovate[bot] cae0cad92f fix(deps): update tanstack-query monorepo to ^5.80.2 (#3308)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-03 12:35:44 +00:00
homarr-renovate[bot] df2a9a5329 fix(deps): update tanstack-query monorepo to ^5.80.0 (#3307)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-03 10:23:13 +00:00
homarr-renovate[bot] 8f6cc6fa60 chore(deps): update dependency @vitejs/plugin-react to ^4.5.1 (#3306)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-03 04:28:26 +00:00
homarr-crowdin[bot] d699aad529 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-06-03 00:53:41 +00:00
homarr-renovate[bot] 0362487156 fix(deps): update dependency zod to ^3.25.49 (#3304)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-02 23:21:48 +00:00
homarr-renovate[bot] 5b354aca20 fix(deps): update dependency @tabler/icons-react to ^3.34.0 (#3303)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-02 18:27:59 +00:00
homarr-renovate[bot] 124e8de6c5 fix(deps): update dependency typescript-eslint to ^8.33.1 (#3302)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-02 18:27:20 +00:00
homarr-renovate[bot] a0585e3dd7 fix(deps): update tanstack-query monorepo to ^5.79.2 (#3301)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-02 17:20:23 +00:00
homarr-renovate[bot] a3deed3b09 fix(deps): update tanstack-query monorepo to ^5.79.1 (#3300)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-02 16:24:59 +00:00
homarr-renovate[bot] ae5aebda20 chore(deps): update pnpm to v10.11.1 (#3299)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-02 14:20:59 +00:00
homarr-renovate[bot]andMeier Lukas 362c663060 chore(deps): update vitest monorepo to ^3.2.0 (#3298)
* chore(deps): update vitest monorepo to ^3.2.0

* fix: reduce flakyness of nzbget test

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-06-02 12:07:37 +00:00
homarr-renovate[bot]andMeier Lukas 0d1e3a625a fix(deps): update testcontainers-node monorepo to v11 (major) (#3250)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-06-02 13:58:49 +02:00
homarr-renovate[bot] ccd8a85e0f fix(deps): update dependency zod to ^3.25.48 (#3297)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-02 11:17:12 +00:00
homarr-renovate[bot] f0ba693077 fix(deps): update trpc monorepo to ^11.2.0 (#3293)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-02 07:22:04 +00:00
homarr-renovate[bot] 94f176d544 fix(deps): update dependency zod to ^3.25.47 (#3296)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-02 06:28:59 +00:00
Meier Lukas a86fc5bcb8 chore(pr-template): add task for updating documentation 2025-06-01 10:43:32 +02:00
Meier Lukas 9bdbe6f425 chore(issue-template): add version 1.22.0 2025-06-01 10:40:32 +02:00
homarr-renovate[bot] 1b1671e0e6 fix(deps): update dependency zod to ^3.25.46 (#3292)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-01 08:24:52 +00:00
homarr-renovate[bot] 3337cfa3c7 fix(deps): update dependency zod to ^3.25.45 (#3291)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-06-01 03:35:28 +00:00
homarr-renovate[bot] 161fc86770 fix(deps): update dependency zod to ^3.25.43 (#3290)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-31 23:20:35 +00:00
homarr-renovate[bot] 76ae423fd9 chore(deps): update dependency prettier-plugin-packagejson to ^2.5.15 (#3289)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-31 12:32:21 +00:00
homarr-renovate[bot] 1f408685e6 fix(deps): update dependency node-cron to ^4.1.0 (#3286)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-31 03:14:01 +00:00
homarr-renovate[bot] b608ffe490 fix(deps): update dependency sass to ^1.89.1 (#3285)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-31 01:14:48 +00:00
homarr-crowdin[bot] f579b283f2 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-31 00:50:38 +00:00
homarr-renovate[bot] 9518ebb088 chore(deps): update dependency eslint to ^9.28.0 (#3283)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-30 21:20:21 +00:00
homarr-renovate[bot] 9895c1b3ff fix(deps): update dependency drizzle-orm to ^0.44.1 (#3280)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-30 20:22:34 +00:00
homarr-renovate[bot] 7e5ca418cc chore(deps): update dependency @types/node to ^22.15.29 (#3281)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-30 19:24:39 +00:00
Releases Homarr 6b76d55de2 chore(release): 1.22.0 [skip ci] 2025-05-30 19:17:12 +00:00
homarr-releases[bot] 09f821b95d chore(release): automatic release v1.22.0 2025-05-30 19:14:45 +00:00
Meier Lukas 11149348fc fix(cluster-health): storage items multiply (#3206) 2025-05-30 20:52:51 +02:00
homarr-renovate[bot] c8202ab3c6 fix(deps): update turbo monorepo to ^2.5.4 (#3279)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-30 16:24:36 +00:00
homarr-renovate[bot] 7a50829b6a chore(deps): update dependency @types/node to ^22.15.28 (#3277)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-30 15:21:51 +00:00
Thomas Camlong cd78714da9 Update greetings.yml 2025-05-30 17:20:31 +02:00
Thomas Camlong 2982c146a4 Update feature-request.yml 2025-05-30 17:18:56 +02:00
homarr-update-contributors[bot] 778cf861cf chore: update contributors (#3275)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-05-30 12:35:10 +00:00
homarr-renovate[bot] 6b8ffdfbc0 chore(deps): update dependency @types/node to ^22.15.27 (#3273)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-30 09:22:10 +00:00
homarr-renovate[bot] 608280e670 fix(deps): update dependency zod to ^3.25.42 (#3274)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-30 08:26:24 +00:00
homarr-renovate[bot] 5bf20aa353 fix(deps): update dependency zod to ^3.25.41 (#3272)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-30 03:15:18 +00:00
homarr-renovate[bot] 3ba9502b26 chore(deps): update dependency @types/node to ^22.15.26 (#3271)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-29 23:20:36 +00:00
homarr-renovate[bot] 862d07db68 fix(deps): update dependency zod to ^3.25.39 (#3270)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-29 22:21:03 +00:00
homarr-renovate[bot] d72a804ad9 fix(deps): update nextjs monorepo to v15.3.3 (#3269)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-29 20:24:32 +00:00
homarr-renovate[bot] 2320d3c567 fix(deps): update dependency flag-icons to ^7.5.0 (#3268)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-29 18:27:12 +00:00
homarr-renovate[bot] a0eda74fa4 fix(deps): update dependency flag-icons to ^7.4.0 (#3265)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-29 17:19:46 +00:00
homarr-renovate[bot] bac4f64257 fix(deps): update dependency ldapts to v8.0.1 (#3264)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-29 17:19:30 +00:00
homarr-renovate[bot] 1f9983f16d fix(deps): update tanstack-query monorepo to ^5.79.0 (#3263)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-29 12:23:07 +00:00
homarr-renovate[bot] 48ce2af4c1 fix(deps): update dependency zod to ^3.25.36 (#3262)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-29 08:26:55 +00:00
homarr-renovate[bot] 635c9a2687 fix(deps): update dependency @kubernetes/client-node to ^1.3.0 (#3261)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-29 01:15:13 +00:00
homarr-renovate[bot] c1324eab76 fix(deps): update dependency zod to ^3.25.34 (#3259)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-28 23:20:41 +00:00
homarr-renovate[bot] bfd7b70618 fix(deps): update trpc monorepo to ^11.1.4 (#3260)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-28 22:20:43 +00:00
homarr-renovate[bot] ad5f985645 chore(deps): update dependency @types/node to ^22.15.24 (#3257)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-28 21:20:37 +00:00
homarr-renovate[bot] 4a184d23f2 fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.4.2 (#3258)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-28 20:23:40 +00:00
homarr-renovate[bot] 09b49a242d fix(deps): update dependency drizzle-orm to ^0.44.0 (#3256)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-28 15:22:07 +00:00
Meier Lukas 10f720d74c fix(search): removing server search engine causes loading error (#3252) 2025-05-28 07:57:37 +02:00
homarr-renovate[bot] 9c3a46c071 fix(deps): update dependency zod to ^3.25.32 (#3255)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-28 03:20:53 +00:00
homarr-renovate[bot] e2e4656001 fix(deps): update dependency zod to ^3.25.31 (#3254)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 22:20:28 +00:00
homarr-renovate[bot] 3253b2f138 fix(deps): update dependency octokit to ^5.0.3 (#3249)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 20:22:31 +00:00
homarr-renovate[bot] f9c7e7711a chore(deps): update dependency @types/node to ^22.15.23 (#3248)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 19:18:31 +00:00
homarr-renovate[bot] 8b553b80e6 fix(deps): update dependency typescript-eslint to ^8.33.0 (#3247)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 18:26:02 +00:00
homarr-renovate[bot] 75ebf075a5 chore(deps): update dependency @types/node to ^22.15.22 (#3246)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 18:25:39 +00:00
homarr-crowdin[bot] 1575716f41 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-27 17:02:51 +00:00
homarr-renovate[bot] 8966e2ad8a fix(deps): update dependency @t3-oss/env-nextjs to ^0.13.6 (#3244)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 12:36:02 +00:00
homarr-renovate[bot] 816544a996 fix(deps): update mantine monorepo to ^8.0.2 (#3245)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 11:19:17 +00:00
homarr-renovate[bot] 9c323850bc fix(deps): update dependency jotai to ^2.12.5 (#3243)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 09:21:29 +00:00
homarr-renovate[bot] c3936237c0 chore(deps): update dependency @types/react to v19.1.6 (#3242)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 08:26:07 +00:00
homarr-renovate[bot] 9b8d1cbb66 chore(deps): update dependency esbuild to ^0.25.5 (#3241)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 04:27:15 +00:00
homarr-renovate[bot] 3062948939 fix(deps): update dependency zod to ^3.25.30 (#3239)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 03:13:49 +00:00
homarr-renovate[bot] 78f98edc41 fix(deps): update trpc monorepo to ^11.1.3 (#3240)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-27 01:14:03 +00:00
homarr-renovate[bot] 81ca6ef7b2 fix(deps): update dependency zod to ^3.25.29 (#3237)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-26 23:20:16 +00:00
homarr-renovate[bot] 71186908b9 fix(deps): update tanstack-query monorepo to ^5.77.2 (#3232)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-26 12:34:40 +00:00
Meier Lukas cbbf0c8dcf fix: navigating back results in navigation back to first page opened (#3224) 2025-05-26 11:41:09 +02:00
Meier Lukas 1d27da2230 fix(calendar): remove scrollbar for 2x2 (#3227) 2025-05-26 11:40:42 +02:00
homarr-crowdin[bot] d4ef212042 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-26 00:53:16 +00:00
homarr-renovate[bot] 5ea7a20677 fix(deps): update tanstack-query monorepo to ^5.77.1 (#3229)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-25 22:19:07 +00:00
Meier Lukas 05e159f566 fix: csp prevents fonts to load (#3225) 2025-05-25 16:39:20 +02:00
homarr-renovate[bot] 6d9e42cf5d chore(deps): update dependency @semantic-release/github to ^11.0.3 (#3226)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-25 13:28:48 +00:00
Meier Lukas 437ecd1023 fix(calendar): load events for all visible days of calendar month (#3216) 2025-05-25 14:51:26 +02:00
Meier Lukas 85e98d2b60 fix(boards): app select modal images rendering issue (#3218) 2025-05-25 14:51:13 +02:00
homarr-crowdin[bot] 8e24d8362e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-25 07:49:01 +00:00
Manuel c367f8ac23 docs: add pika pods (#3215) 2025-05-24 18:53:04 +02:00
Meier Lukas c67916f72e fix(downloads): upspeed font size wrong (#3214) 2025-05-24 18:52:55 +02:00
Meier Lukas 25bd3879db fix(media-request-stats): users squeezed together (#3213) 2025-05-24 18:52:45 +02:00
Meier Lukas 939df8f6d1 feat(cluster-health): add visibility options (#3210) 2025-05-24 17:49:49 +02:00
Meier Lukas 2dc871e531 feat(downloads): add option to limit amount of items (#3205) 2025-05-24 17:49:39 +02:00
Meier Lukas f7e5e823d5 fix(visual): check for creator board permission is wrong (#3212) 2025-05-24 17:49:08 +02:00
homarr-renovate[bot] 240bf16806 chore(deps): update dependency conventional-changelog-conventionalcommits to v9 (#3151)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-24 11:17:16 +02:00
homarr-renovate[bot] 640bf7b939 fix(deps): update dependency trpc-to-openapi to ^2.3.1 (#3046)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-24 09:14:40 +00:00
homarr-renovate[bot] ec42f265a0 fix(deps): update tanstack-query monorepo to ^5.77.0 (#3204)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-24 08:22:43 +00:00
homarr-crowdin[bot] ea5a763046 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-24 00:49:31 +00:00
homarr-renovate[bot] e0a9e4f97c fix(deps): update dependency zod to ^3.25.28 (#3201)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-23 23:20:33 +00:00
homarr-renovate[bot] 581746b2c2 chore(deps): update dependency semantic-release to ^24.2.5 (#3202)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-23 22:20:55 +00:00
ManuelandMeier Lukas be8b332f94 fix: reduce logging (#3200)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-05-23 22:36:23 +02:00
homarr-renovate[bot]andManuel 109f9e7979 fix(deps): update dependency node-cron to v4 (#3075)
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
2025-05-23 22:20:47 +02:00
Meier Lukas 2afa9b6727 perf: cache middleware onboarding and language checks (#3197) 2025-05-23 22:20:21 +02:00
09af0a76f6 feat: allow custom protocols for app href (#2575)
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-05-23 20:19:59 +00:00
Manuel 71516e02c0 ci: ignore auto gen and build files eslint (#3198) 2025-05-23 19:47:44 +00:00
Meier Lukas a5f7565468 chore(issue-template): add version 1.21.0 2025-05-23 21:19:35 +02:00
homarr-renovate[bot] 0b224e8835 fix(deps): update dependency zod to ^3.25.24 (#3195)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-23 19:18:29 +00:00
Releases Homarr f748a12b58 chore(release): 1.21.0 [skip ci] 2025-05-23 19:17:12 +00:00
homarr-releases[bot] 6b746b09b5 chore(release): automatic release v1.21.0 2025-05-23 19:15:16 +00:00
e1eda534da feat: docker widget (#2288)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: homarr-crowdin[bot] <190541745+homarr-crowdin[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-05-23 18:35:04 +00:00
Meier Lukas 09f4e6785b fix(downloads): reordering columns in widget does not work (#3194) 2025-05-23 18:33:35 +00:00
Meier Lukas 09f3989483 fix(items): resize handle overlaps header (#3193) 2025-05-23 18:33:02 +00:00
Andre Silva 4cb004fce0 fix(releases-widget): add hardcoded css classNames(#3181) 2025-05-23 18:17:06 +02:00
homarr-renovate[bot] 0ef2310776 chore(deps): update node.js to v22.16.0 (#3180)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-23 18:11:43 +02:00
homarr-update-contributors[bot] b5bc8379ae chore: update contributors (#3192)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-05-23 12:55:50 +00:00
homarr-renovate[bot] 43b82419e9 fix(deps): update testcontainers-node monorepo to ^10.28.0 (#3191)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-23 10:23:03 +00:00
homarr-renovate[bot] 329d4727f1 chore(deps): update dependency @vitejs/plugin-react to ^4.5.0 (#3189)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-23 01:16:09 +00:00
homarr-renovate[bot] 9840644ca5 fix(deps): update dependency zod to ^3.25.23 (#3188)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-22 23:20:48 +00:00
homarr-renovate[bot] 37d637dcae fix(deps): update dependency zod to ^3.25.21 (#3187)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-22 21:20:03 +00:00
homarr-renovate[bot] 1584114e72 fix(deps): update tanstack-query monorepo to ^5.76.2 (#3186)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-22 16:24:12 +00:00
homarr-renovate[bot] 49498c870e fix(deps): update dependency zod to ^3.25.20 (#3183)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-21 23:20:30 +00:00
homarr-renovate[bot] 5466ff5047 chore(deps): update node.js to v22.16.0 (#3179)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-21 16:25:29 +00:00
homarr-renovate[bot] 1e7b2e617b fix(deps): update dependency swagger-ui-react to ^5.22.0 (#3178)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-21 13:34:52 +00:00
homarr-renovate[bot] 371803ac50 fix(deps): update dependency zod to ^3.25.17 (#3177)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-21 12:35:21 +00:00
homarr-renovate[bot] 746ada97be chore(deps): update dependency @types/react to v19.1.5 (#3176)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-21 11:19:20 +00:00
homarr-renovate[bot] 5080f51a8d fix(deps): update dependency zod to ^3.25.16 (#3175)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-21 10:22:29 +00:00
homarr-renovate[bot] 23404a27f1 fix(deps): update dependency zod to ^3.25.14 (#3174)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-21 09:23:12 +00:00
homarr-renovate[bot] dae6dedde5 fix(deps): update dependency zod to ^3.25.13 (#3173)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-21 04:25:16 +00:00
homarr-renovate[bot] caaee503c1 fix(deps): update dependency zod to ^3.25.12 (#3172)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-21 03:15:38 +00:00
homarr-crowdin[bot] a356d61808 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-21 00:52:08 +00:00
homarr-renovate[bot] 72bcbe8eff fix(deps): update dependency zod to ^3.25.8 (#3170)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-20 23:20:46 +00:00
homarr-renovate[bot] 145365fab7 chore(deps): update dependency @types/node to ^22.15.21 (#3169)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-20 23:20:28 +00:00
homarr-renovate[bot] 8c59abdde3 fix(deps): update dependency octokit to v5 (#3156)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-20 21:36:43 +02:00
homarr-renovate[bot] 47869a3af4 chore(deps): update dependency @types/dockerode to ^3.3.39 (#3166)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-20 19:18:32 +00:00
homarr-renovate[bot] 5403b9c95e chore(deps): update dependency @types/node to ^22.15.20 (#3167)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-20 18:27:17 +00:00
homarr-renovate[bot] 50445b560e fix(deps): update dependency octokit to ^4.1.4 (#3165)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-20 16:24:19 +00:00
homarr-renovate[bot] 18c465e81e fix(deps): update testcontainers-node monorepo to ^10.27.0 (#3159)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-20 09:23:43 +00:00
homarr-renovate[bot] eb5d5f8260 fix(deps): update dependency undici to v7.10.0 (#3158)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-20 08:27:45 +00:00
homarr-renovate[bot] 096d37be37 chore(deps): update dependency proxmox-api&gt;undici to v7.10.0 (#3157)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-20 08:26:49 +00:00
homarr-crowdin[bot] 279a4b6add chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-20 00:52:28 +00:00
homarr-renovate[bot] 22954b8d26 fix(deps): update dependency zod to ^3.25.7 (#3154)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-19 23:20:23 +00:00
homarr-renovate[bot] 92ebc05fbf fix(deps): update dependency zod to ^3.25.6 (#3153)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-19 22:20:45 +00:00
homarr-renovate[bot] 79755c95d3 fix(deps): update dependency zod to ^3.25.5 (#3152)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-19 21:20:22 +00:00
homarr-renovate[bot] 49b7080415 fix(deps): update dependency zod to ^3.25.4 (#3150)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-19 20:22:49 +00:00
homarr-renovate[bot] 5b9f75eb45 chore(deps): update vitest monorepo to ^3.1.4 (#3149)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-19 17:20:34 +00:00
homarr-renovate[bot] 6e2aa87102 fix(deps): update dependency zod to ^3.25.3 (#3148)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-19 16:25:04 +00:00
homarr-renovate[bot] 17fbb0fc41 chore(deps): update dependency prettier-plugin-packagejson to ^2.5.14 (#3147)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-19 12:36:05 +00:00
homarr-renovate[bot] 28be77b9c3 chore(deps): update dependency @types/node to ^22.15.19 (#3145)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-19 01:18:27 +00:00
homarr-crowdin[bot] adddae6430 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-18 08:06:41 +00:00
Meier Lukas ef540e980f fix: esbuild not part of dependencies (#3139) 2025-05-17 20:04:05 +02:00
homarr-renovate[bot] 15675d95bd chore(deps): update dependency semantic-release to ^24.2.4 (#3134)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-17 01:13:09 +00:00
homarr-crowdin[bot] 16e2f3f1e4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-17 00:50:13 +00:00
homarr-renovate[bot] bf6b7912f9 chore(deps): update dependency eslint to ^9.27.0 (#3128)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-16 20:24:10 +00:00
homarr-renovate[bot] ee8870b66b fix(deps): update dependency @tabler/icons-react to ^3.33.0 (#3132)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-16 20:23:22 +00:00
Meier Lukas c6464e582e chore(issue-template): add version 1.20.0 2025-05-16 21:27:28 +02:00
homarr-renovate[bot] 886e95d517 fix(deps): update dependency zod-validation-error to ^3.4.1 (#3127)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-16 19:19:41 +00:00
Releases Homarr 25cf9ad7ca chore(release): 1.20.0 [skip ci] 2025-05-16 19:18:07 +00:00
homarr-releases[bot] dec3e9a653 chore(release): automatic release v1.20.0 2025-05-16 19:15:02 +00:00
Meier Lukas ef9a5e9895 feat(integration): improve integration test connection (#3005) 2025-05-16 20:59:12 +02:00
Meier LukasandManuel 3daf1c8341 feat(auth): add account linking for oidc providers (#3106)
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
2025-05-16 20:57:51 +02:00
Meier Lukas b86159ba7c fix(calendar): some timezones result in offset of one day (#3120) 2025-05-16 18:13:05 +00:00
Meier Lukas 42e7fe3273 fix(deps): missing dependencies in definitions package for docs link codegen (#3119) 2025-05-16 20:10:17 +02:00
homarr-update-contributors[bot] dd250660b8 chore: update contributors (#3125)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2025-05-16 18:02:43 +00:00
Meier Lukas 6e03e5a40c fix: updated contributors contain unnecessary data (#3124) 2025-05-16 19:57:20 +02:00
tech62andMeier Lukas 9b8320c10d feat: add css class to logo for custom css (#3121)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-05-16 15:12:46 +00:00
Andre Silva 94134303d7 feat(releases-widget): added auto icon search when editing a repository (#3087) 2025-05-16 16:33:23 +02:00
homarr-renovate[bot] b87e6bcaf2 chore(deps): update node.js to v22.15.1 (#3116)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-16 16:19:23 +02:00
homarr-renovate[bot] 5b16468cab fix(deps): update dependency sass to ^1.89.0 (#3118)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-16 01:16:45 +00:00
homarr-renovate[bot] b32278164e chore(deps): update dependency prettier-plugin-packagejson to ^2.5.13 (#3115)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-15 12:35:54 +00:00
homarr-renovate[bot] cb81efa42c fix(deps): update testcontainers-node monorepo to ^10.26.0 (#3114)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-15 10:23:42 +00:00
homarr-renovate[bot] dc34048ec2 chore(deps): update node.js to v22.15.1 (#3110)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-14 21:19:11 +00:00
homarr-renovate[bot] 25efe3d335 fix(deps): update mantine monorepo to ^8.0.1 (#3107)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-14 13:34:50 +00:00
homarr-renovate[bot] d96bc898fd fix(deps): update dependency @extractus/feed-extractor to v7.1.6 (#3105)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-14 09:21:16 +00:00
homarr-renovate[bot] 56427ef794 chore(deps): update dependency @types/node to ^22.15.18 (#3103)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-14 05:22:20 +00:00
homarr-renovate[bot] c1e5d77176 fix(deps): update tanstack-query monorepo to ^5.76.1 (#3101)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-13 22:20:30 +00:00
homarr-renovate[bot] 6703155c61 chore(deps): update pnpm to v10.11.0 (#3097)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-13 15:57:03 +00:00
homarr-renovate[bot] f776cd6934 chore(deps): update dependency @types/react-dom to v19.1.5 (#3096)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-13 11:19:02 +00:00
homarr-renovate[bot] 93b122c655 chore(deps): update dependency @types/react to v19.1.4 (#3095)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-12 20:23:30 +00:00
homarr-renovate[bot] 42b377d067 fix(deps): update dependency typescript-eslint to ^8.32.1 (#3093)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-12 18:27:38 +00:00
Meier Lukas 6c71724e2e ci: add update-contributors workflow (#3014) 2025-05-12 18:01:27 +02:00
Andre Silva 593d97e27a fix(releases-widget): reduced padding for ul in release description (#3085) 2025-05-12 16:00:01 +00:00
homarr-renovate[bot] ac49910e6e chore(deps): update dependency @types/react-dom to v19.1.4 (#3092)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-12 12:35:06 +00:00
Andre Silva 18fe8ecd39 fix(releases-widget): validation preventing removal of a previously added icon (#3086)
* fix(releases-widget): validation preventing removal of a previously added icon

* fix(releases-widget): bug with input controlled/uncontrolled state
2025-05-12 10:50:16 +00:00
homarr-renovate[bot] 388bc7392c fix(deps): update tanstack-query monorepo to ^5.76.0 (#3090)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-12 09:23:35 +00:00
homarr-crowdin[bot] 2f9f561a8e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-12 00:54:31 +00:00
Andre Silva 72862efae2 fix(releases-widget): delete the empty repository when canceling Add Reposotory (#3082) 2025-05-11 20:11:55 +00:00
homarr-renovate[bot] 5686910a47 fix(deps): update dependency bcrypt to v6 (#3083)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-11 21:58:25 +02:00
Andre Silva 59cae02623 fix(releases-widget): removed version regex in options overview (#3081) 2025-05-11 15:30:31 +00:00
Meier Lukas e931b19661 chore(docs): update docs-sitemap 2025-05-11 15:38:24 +02:00
homarr-crowdin[bot] 8ff01eb17f chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-11 00:56:05 +00:00
homarr-renovate[bot] b0f7310cb7 fix(deps): update dependency sass to ^1.88.0 (#3078)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-10 23:20:18 +00:00
8c1b365733 feat(releases-widget): limit number of displayed releases and custom name for repositories (#2974)
Co-authored-by: Andre Silva <asilva01@acuitysso.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-05-10 22:06:14 +02:00
homarr-renovate[bot] b8bdf1836a chore(deps): update dependency proxmox-api&gt;undici to v7.9.0 (#3076)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-10 20:00:30 +00:00
homarr-renovate[bot] 01d53eee60 fix(deps): update dependency undici to v7.9.0 (#3077)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-10 19:18:44 +00:00
Meier Lukas 7f3574f8ba chore(issue-template): add version 1.19.1 2025-05-10 15:27:37 +02:00
homarr-renovate[bot] 3f9f94ea45 fix(deps): update dependency @auth/drizzle-adapter to ^1.9.1 (#3073)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-10 07:19:27 +00:00
homarr-renovate[bot] 98773e7dba fix(deps): update dependency next-auth to v5.0.0-beta.28 (#3074)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-10 06:25:49 +00:00
homarr-renovate[bot] 0d2311975c fix(deps): update dependency @auth/core to ^0.39.1 (#3072)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-10 06:24:50 +00:00
homarr-crowdin[bot] a3af95734e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-10 00:49:16 +00:00
homarr-renovate[bot] 17c4090024 chore(deps): update dependency prettier-plugin-packagejson to ^2.5.12 (#3066)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-09 20:23:33 +00:00
Releases Homarr 93b9c4f6f3 chore(release): 1.19.1 [skip ci] 2025-05-09 19:15:08 +00:00
homarr-releases[bot] 1def17f4b5 chore(release): automatic release v1.19.1 2025-05-09 19:14:15 +00:00
b62d47d303 fix(releases-widget): improved provider parsing of missing properties (#2964)
Co-authored-by: Andre Silva <asilva01@acuitysso.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-05-09 17:30:46 +00:00
homarr-renovate[bot] b71c5c6fc7 fix(deps): update tanstack-query monorepo to ^5.75.7 (#3063)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-09 17:16:16 +00:00
Eugen StanandMeier Lukas 2bdb1c75f6 fix(logs): log error cause when object, sign in oidc debug messages (#3054)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-05-09 13:27:06 +02:00
347c6d1519 fix(releases-widget): error display, decouple database repository object from responses and batch widget queries (#2891)
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
Co-authored-by: Andre Silva <asilva01@acuitysso.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-05-09 13:24:37 +02:00
homarr-renovate[bot] d6180ebc73 fix(deps): update tanstack-query monorepo to ^5.75.6 (#3062)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-09 10:21:05 +00:00
homarr-renovate[bot] 395e03c810 fix(deps): update dependency eslint-config-prettier to ^10.1.5 (#3061)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-09 04:25:37 +00:00
homarr-renovate[bot] f26634745e chore(deps): update dependency @types/node to ^22.15.17 (#3057)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-08 14:21:10 +00:00
homarr-renovate[bot] 0ab2ae4cbb chore(deps): update dependency @types/node to ^22.15.16 (#3052)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-08 04:26:28 +00:00
homarr-renovate[bot] 0d5f430bd4 fix(deps): update dependency better-sqlite3 to ^11.10.0 (#3053)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-08 04:25:27 +00:00
homarr-renovate[bot] dd300c2e1f chore(deps): update dependency @types/node to ^22.15.15 (#3050)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-07 16:26:29 +00:00
homarr-renovate[bot] 8cb9ddbce3 fix(deps): update tanstack-query monorepo to ^5.75.5 (#3048)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-07 08:26:58 +00:00
homarr-renovate[bot] e94c05f3d1 fix(deps): update dependency eslint-config-prettier to ^10.1.3 (#3047)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-07 07:22:09 +00:00
homarr-renovate[bot] b6eb8ca0f6 fix(deps): update nextjs monorepo to v15.3.2 (#3045)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 23:21:35 +00:00
homarr-renovate[bot] 9b6110b9c9 fix(deps): update turbo monorepo to ^2.5.3 (#3043)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 21:21:12 +00:00
homarr-renovate[bot] 273d4edb23 fix(deps): update dependency @kubernetes/client-node to ^1.2.0 (#3042)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 19:17:55 +00:00
homarr-renovate[bot] 36bd2a51b5 chore(deps): update dependency @types/node to ^22.15.14 (#3041)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 18:27:40 +00:00
homarr-renovate[bot]andMeier Lukas 44853ea64b fix(deps): update mantine monorepo to v8 (major) (#3022)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-05-06 20:02:20 +02:00
homarr-renovate[bot] 680f7b0c72 fix(deps): update dependency react-error-boundary to v6 (#3016)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 19:39:15 +02:00
homarr-renovate[bot] 7c0baf5fba fix(deps): update dependency ldapts to v8 (#3028)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 19:38:53 +02:00
homarr-renovate[bot] 57264a5d6c chore(deps): update dependency @types/node to ^22.15.13 (#3040)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 17:21:05 +00:00
homarr-renovate[bot] 7ec1793040 fix(deps): update dependency jotai to ^2.12.4 (#3038)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 13:34:27 +00:00
homarr-renovate[bot] 2568a9cecd chore(deps): update dependency @types/node to ^22.15.12 (#3037)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 09:21:47 +00:00
homarr-renovate[bot] 861728a7c3 fix(deps): update tanstack-query monorepo to ^5.75.4 (#3029)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 08:27:10 +00:00
homarr-renovate[bot] 0284c5ec39 chore(deps): update dependency @types/node to ^22.15.11 (#3034)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 03:13:19 +00:00
homarr-renovate[bot] 3315053ba1 chore(deps): update dependency @types/react to v19.1.3 (#3035)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-06 03:12:31 +00:00
homarr-crowdin[bot] fce8bfe1f4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-06 00:51:40 +00:00
homarr-renovate[bot] cb50eda8fb chore(deps): update dependency @types/node to ^22.15.9 (#3032)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-05 23:21:08 +00:00
homarr-renovate[bot] bee1dddc9f fix(deps): update dependency typescript-eslint to ^8.32.0 (#3027)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-05 21:22:55 +00:00
homarr-renovate[bot] 0e7eae4553 chore(deps): update dependency @types/node to ^22.15.7 (#3031)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-05 21:21:08 +00:00
homarr-renovate[bot] c36e1708be chore(deps): update dependency @types/node to ^22.15.5 (#3030)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-05 20:23:24 +00:00
homarr-renovate[bot] f1c001d728 chore(deps): update vitest monorepo to ^3.1.3 (#3024)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-05 14:23:48 +00:00
homarr-renovate[bot] 8a0557f927 fix(deps): update tiptap monorepo to v2.12.0 (#3025)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-05 14:22:25 +00:00
homarr-renovate[bot] 4aa6fbb42d chore(deps): update dependency prettier-plugin-packagejson to ^2.5.11 (#3023)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-05 13:33:38 +00:00
homarr-renovate[bot] e5e686d590 fix(deps): update dependency zod to ^3.24.4 (#3021)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-05 01:17:37 +00:00
homarr-renovate[bot] 758b1a0490 fix(deps): update dependency @extractus/feed-extractor to v7.1.5 (#3020)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-04 14:18:25 +00:00
homarr-renovate[bot] d512fc042a fix(deps): update tanstack-query monorepo to ^5.75.2 (#3018)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-04 08:39:09 +00:00
homarr-crowdin[bot] d401086d1b chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-04 00:57:16 +00:00
homarr-renovate[bot] 76ce6ff1fa fix(deps): update dependency drizzle-kit to ^0.31.1 (#3013)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-03 12:31:28 +00:00
homarr-renovate[bot] 9bb26ebcc3 fix(deps): update dependency ws to ^8.18.2 (#3012)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-03 06:25:50 +00:00
Meier Lukas a87bb54404 chore(issue-template): add version 1.19.0 2025-05-03 00:22:48 +02:00
homarr-renovate[bot] a9aa0e303b chore(deps): update dependency eslint to ^9.26.0 (#3008)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-02 22:21:25 +00:00
Releases Homarr dbae2d2fdd chore(release): 1.19.0 [skip ci] 2025-05-02 19:15:22 +00:00
homarr-releases[bot] b9b2398cd6 chore(release): automatic release v1.19.0 2025-05-02 19:14:41 +00:00
Meier Lukas 82c5361112 feat(widget): add prefetch for apps and bookmarks (#2895) 2025-05-02 19:23:15 +02:00
homarr-renovate[bot] 2b1c433cef fix(deps): update tanstack-query monorepo to ^5.75.1 (#3006)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-02 12:33:30 +00:00
homarr-renovate[bot] a70b0b7047 fix(deps): update mantine monorepo to ^7.17.7 (#3004)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-02 09:22:12 +00:00
homarr-crowdin[bot] e148698593 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-02 00:51:01 +00:00
homarr-renovate[bot] 0d1b40c381 fix(deps): update tanstack-query monorepo to ^5.75.0 (#2998)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-01 14:19:26 +00:00
homarr-renovate[bot] a934529146 fix(deps): update testcontainers-node monorepo to ^10.25.0 (#2997)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-05-01 11:19:58 +00:00
Meier Lukas 0c9c5b8955 fix(unifi): port is ignored (#2995) 2025-05-01 12:51:20 +02:00
Meier Lukas 4dfde2ba05 refactor: remove unused pretty-print-error dependency (#2992) 2025-05-01 10:08:52 +02:00
Meier Lukas 48aef9e862 refactor: replace deprecated unsable_concat with concat for trpc middlewares (#2991) 2025-05-01 10:08:41 +02:00
Meier Lukas 547a8c34c5 fix(cookie): parsing of header not working with percentage char (#2989) 2025-05-01 10:08:29 +02:00
Meier Lukas 9006d3d2fc fix(media-request): add missing completed status (#2990) 2025-05-01 10:08:19 +02:00
homarr-crowdin[bot] a2934247b2 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-05-01 00:57:45 +00:00
homarr-renovate[bot] 1a07fa9af5 fix(deps): update dependency @t3-oss/env-nextjs to ^0.13.4 (#2993)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-30 21:21:02 +00:00
Meier Lukas ec11c738f2 chore(docs): update docs-sitemap 2025-04-30 21:06:24 +02:00
homarr-renovate[bot] 254c248e12 chore(deps): update dependency @types/react-dom to v19.1.3 (#2988)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-30 11:18:12 +00:00
homarr-renovate[bot] 70686a0066 fix(deps): update tiptap monorepo to v2.11.9 (#2987)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-30 08:45:52 +00:00
homarr-renovate[bot] 3299cedc04 fix(deps): update tanstack-query monorepo to ^5.74.11 (#2984)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-29 18:26:21 +00:00
homarr-renovate[bot] 1012cad0e3 fix(deps): update tanstack-query monorepo to ^5.74.9 (#2983)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-29 11:19:25 +00:00
homarr-renovate[bot] b10f33bf0b fix(deps): update trpc monorepo to ^11.1.2 (#2982)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-29 07:21:16 +00:00
homarr-renovate[bot] a2dbac5ad7 fix(deps): update dependency tsx to v4.19.4 (#2981)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-29 06:27:59 +00:00
Andre Silva f39a21c296 fix(releases-widget): improve ui for smaller widgets (#2962) 2025-04-28 19:04:38 +00:00
homarr-renovate[bot] 284ea239f7 fix(deps): update dependency typescript-eslint to ^8.31.1 (#2979)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-28 18:28:13 +00:00
homarr-renovate[bot] 583a6b6f4c chore(deps): update dependency @types/node to ^22.15.3 (#2978)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-28 07:47:26 +00:00
homarr-renovate[bot] 039fad643e chore(deps): update pnpm to v10.10.0 (#2976)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-28 01:13:56 +00:00
homarr-crowdin[bot] 2f2c00ba3d chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-28 00:52:47 +00:00
Meier Lukas ebb3012a65 Merge branch 'main' into dev 2025-04-27 17:24:06 +02:00
homarr-renovate[bot] f4ce76ac13 fix(deps): update tanstack-query monorepo to ^5.74.7 (#2924)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-27 15:19:19 +00:00
Releases Homarr 830660b1ef chore(release): 1.18.1 [skip ci] 2025-04-27 15:17:33 +00:00
homarr-releases[bot] f7451d182a chore(release): automatic release v1.18.1 2025-04-27 15:16:33 +00:00
Meier Lukas bb92f5bb79 fix: cannot find module http-cookie-agent/http (#2972) 2025-04-27 17:12:03 +02:00
homarr-crowdin[bot] f7ff1e3911 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-27 13:58:54 +00:00
homarr-renovate[bot] 5f80bebef2 fix(deps): update dependency mysql2 to v3.14.1 (#2969)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-27 04:22:58 +00:00
homarr-crowdin[bot] 97fe1f6a3e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-26 00:48:49 +00:00
homarr-renovate[bot] 35fee2f380 chore(deps): update dependency @semantic-release/github to ^11.0.2 (#2956)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-25 21:20:30 +00:00
Manuel e1e26b27de docs: add 1.18.0 to issue template (#2951) 2025-04-25 19:19:14 +00:00
Releases Homarr 55cdddb274 chore(release): 1.18.0 [skip ci] 2025-04-25 19:15:32 +00:00
homarr-releases[bot] dd85f5a9d5 chore(release): automatic release v1.18.0 2025-04-25 19:14:47 +00:00
Manuel 8550c69d51 feat: migrate to unifi package (#2894) 2025-04-25 18:58:55 +00:00
3dcee8cb86 feat: add releases widget (#2497)
Co-authored-by: Andre Silva <asilva01@acuitysso.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
2025-04-25 18:49:32 +00:00
homarr-renovate[bot] d97e74047d fix(deps): update turbo monorepo to ^2.5.2 (#2949)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-25 16:24:57 +00:00
homarr-renovate[bot] e36892fc8f chore(deps): update dependency @types/node to ^22.15.2 (#2946)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-25 09:22:12 +00:00
homarr-renovate[bot] 1d28bf4c93 fix(deps): update dependency drizzle-orm to ^0.43.1 (#2947)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-25 08:26:07 +00:00
homarr-renovate[bot] 8b076ce761 chore(deps): update dependency @types/node to ^22.15.1 (#2945)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-25 04:24:44 +00:00
homarr-renovate[bot] d78b2e1e85 fix(deps): update dependency tsdav to ^2.1.4 (#2944)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-25 03:09:10 +00:00
homarr-renovate[bot] f65c0125a9 chore(deps): update dependency @types/node to ^22.15.0 (#2942)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-24 21:21:27 +00:00
homarr-renovate[bot] 253308357a fix(deps): update dependency next-auth to v5.0.0-beta.27 (#2940)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-24 17:19:21 +00:00
homarr-renovate[bot] 295cc4a3c4 fix(deps): update dependency drizzle-orm to ^0.43.0 (#2939)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-24 14:20:39 +00:00
homarr-renovate[bot] 767fe946d7 fix(deps): update dependency next-intl to v4.1.0 (#2938)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-24 09:24:32 +00:00
homarr-renovate[bot] aba963c7cf fix(deps): update mantine monorepo to ^7.17.5 (#2937)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-24 09:23:37 +00:00
homarr-crowdin[bot] 4529cabb8a chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-24 04:29:49 +00:00
homarr-renovate[bot] 7766c3cbbc fix(deps): update turbo monorepo to ^2.5.1 (#2934)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-23 23:21:49 +00:00
homarr-renovate[bot] eb95ee285b fix(deps): update dependency @t3-oss/env-nextjs to ^0.13.0 (#2935)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-23 22:22:00 +00:00
homarr-renovate[bot] 1421c381cc chore(deps): update node.js to v22.15.0 (#2932)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-23 20:22:21 +02:00
homarr-renovate[bot] 573d5f89d6 fix(deps): update dependency glob to ^11.0.2 (#2931)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-23 16:24:21 +00:00
homarr-renovate[bot] e01b909402 chore(deps): update node.js to v22.15.0 (#2928)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-23 08:27:13 +00:00
homarr-renovate[bot] bd3535dcf8 fix(deps): update trpc monorepo to ^11.1.1 (#2927)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-23 01:13:29 +00:00
homarr-crowdin[bot] c4bd513134 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-23 00:50:32 +00:00
Meier Lukas c64d903f2b feat(widgets): add title to advanced options (#2909) 2025-04-22 18:33:15 +02:00
Meier Lukas f98750d0b3 feat(media-server): add option to only show playing sessions (#2899) 2025-04-22 18:30:46 +02:00
Meier Lukas c51424717d fix(certificates): improve validation and prevent crash (#2910) 2025-04-22 18:28:58 +02:00
homarr-renovate[bot] 3172e6e0c4 fix(deps): update dependency next-intl to v4.0.3 (#2922)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-22 16:25:51 +00:00
homarr-renovate[bot] 7aa379076d fix(deps): update dependency typescript-eslint to ^8.31.0 (#2919)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-22 16:25:09 +00:00
homarr-renovate[bot] 023ffcf7bf chore(deps): update dependency eslint to ^9.25.1 (#2918)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-22 01:13:02 +00:00
homarr-renovate[bot] fed28bd775 fix(deps): update dependency sass to ^1.87.0 (#2921)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-21 23:20:50 +00:00
homarr-renovate[bot] 09718b8258 chore(deps): update vitest monorepo to ^3.1.2 (#2915)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-21 09:22:24 +00:00
homarr-renovate[bot] 6040f063ca chore(deps): update pnpm to v10.9.0 (#2916)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-21 09:21:11 +00:00
homarr-renovate[bot] 3d508088d5 fix(deps): update dependency @ctrl/qbittorrent to ^9.6.0 (#2914)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-21 03:13:01 +00:00
homarr-crowdin[bot] 37484ce032 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-21 00:52:28 +00:00
Meier Lukas ac3c2a6377 chore(issue-template): add missing homarr version 1.17.0 2025-04-21 00:34:42 +02:00
homarr-renovate[bot]andMeier Lukas 6e6edc8a0d fix(deps): update dependency next-auth to v5.0.0-beta.26 (#2906)
* fix(deps): update dependency next-auth to v5.0.0-beta.26

* fix(deps): update dependency next-auth to v5.0.0-beta.26

* fix: lint issue

* fix: format issue

* fix: login with oidc no longer working

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-04-20 12:21:33 +00:00
homarr-renovate[bot] b0d7f9a48c fix(deps): update dependency @auth/core to ^0.39.0 (#2904)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-20 08:56:24 +00:00
homarr-renovate[bot] fdf700dba5 fix(deps): update dependency @auth/drizzle-adapter to ^1.9.0 (#2905)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-20 06:24:43 +00:00
homarr-renovate[bot] 2bf67c3de8 fix(deps): update dependency trpc-to-openapi to ^2.2.0 (#2903)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-19 23:19:45 +00:00
homarr-renovate[bot] 593e3ee5a6 fix(deps): update dependency dockerode to ^4.0.6 (#2901)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-19 13:03:16 +00:00
homarr-renovate[bot] ad5da4e8ac chore(deps): update dependency @vitejs/plugin-react to ^4.4.1 (#2902)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-19 12:26:25 +00:00
Releases Homarr 58ef0960b5 chore(release): 1.17.0 [skip ci] 2025-04-18 19:14:53 +00:00
homarr-releases[bot] 68d6967d24 chore(release): automatic release v1.17.0 2025-04-18 19:14:04 +00:00
homarr-renovate[bot] e5f0bb9792 chore(deps): update dependency eslint to ^9.25.0 (#2897)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-18 18:46:49 +00:00
Jacob HemmingandMeier Lukas 3d68f4d128 feat: add api-key support for tdarr (#2890)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-04-18 20:11:51 +02:00
Jacob Hemming cfca0ba583 fix: calculate available space correctly and filter unmounted drives (#2885) 2025-04-18 10:49:59 +00:00
Meier Lukas 9570abb2c3 chore(docs): update docs-sitemap 2025-04-18 10:52:02 +02:00
homarr-renovate[bot] 5fcb7a3b9c fix(deps): update dependency recharts to ^2.15.3 (#2893)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-18 05:18:26 +00:00
homarr-crowdin[bot] a55acb9eb9 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-18 00:49:15 +00:00
homarr-renovate[bot] d37cdbd080 fix(deps): update nextjs monorepo to v15.3.1 (#2889)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-17 15:56:13 +00:00
homarr-renovate[bot] 17174b6b96 fix(deps): update tanstack-query monorepo to ^5.74.4 (#2888)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-17 09:54:31 +00:00
homarr-crowdin[bot] 0466a2808a chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-17 00:49:43 +00:00
homarr-renovate[bot] 1bfe397d68 fix(deps): update dependency zod to ^3.24.3 (#2886)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-16 22:40:20 +00:00
Meier Lukas 60de6361bb chore(docs): update docs-sitemap 2025-04-16 22:58:28 +02:00
homarr-renovate[bot] 47d7abc0d7 fix(deps): update dependency drizzle-orm to ^0.42.0 (#2882)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-16 18:51:44 +00:00
rezstjeandManuel 2d12c1e641 fix: Tdarr widget empty statistics tab (#2883)
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
2025-04-16 18:34:06 +00:00
Thomas Camlong 00053bda7b feat: Prefer primary color (#2665) 2025-04-16 11:34:33 +02:00
homarr-renovate[bot] 97390c6030 fix(deps): update dependency drizzle-kit to ^0.31.0 (#2881)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-15 13:58:27 +00:00
homarr-renovate[bot] 865a52ae7d chore(deps): update dependency @vitejs/plugin-react to ^4.4.0 (#2879)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-15 09:40:02 +00:00
homarr-renovate[bot] fdca513929 fix(deps): update dependency typescript-eslint to ^8.30.1 (#2876)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-15 01:02:52 +00:00
homarr-crowdin[bot] ce5784b6c4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-15 00:50:50 +00:00
homarr-renovate[bot] 1a4c136d41 chore(deps): update dependency @types/react to v19.1.2 (#2874)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-14 19:17:29 +00:00
homarr-renovate[bot] 089734b293 fix(deps): update dependency typescript-eslint to ^8.30.0 (#2873)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-14 17:37:45 +00:00
homarr-renovate[bot] 2e59bfcd60 chore(deps): update dependency @types/dockerode to ^3.3.38 (#2872)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-14 15:55:56 +00:00
homarr-renovate[bot] 02fb1b9dae fix(deps): update tanstack-query monorepo to ^5.74.3 (#2871)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-14 13:09:11 +00:00
homarr-renovate[bot] bf4a1cf1e8 fix(deps): update tanstack-query monorepo to ^5.74.2 (#2869)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-14 11:39:37 +00:00
homarr-renovate[bot] 4a0fb5d0bb chore(deps): update pnpm to v10.8.1 (#2870)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-14 11:31:01 +00:00
homarr-renovate[bot] c57b63b506 fix(deps): update dependency jotai to ^2.12.3 (#2868)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-14 01:03:30 +00:00
homarr-crowdin[bot] fa0e694ce0 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-14 00:52:46 +00:00
homarr-renovate[bot] ff1263b217 fix(deps): update dependency swagger-ui-react to ^5.21.0 (#2866)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-13 19:53:29 +00:00
homarr-renovate[bot] ac78e87042 fix(deps): update tanstack-query monorepo to ^5.74.0 (#2864)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-13 18:21:57 +00:00
homarr-renovate[bot] ec7adb03b6 chore(deps): update dependency jsdom to ^26.1.0 (#2863)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-13 10:41:29 +00:00
homarr-crowdin[bot] f5f39bc094 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-13 02:16:30 +00:00
homarr-renovate[bot] 4e6ab037c9 fix(deps): update tanstack-query monorepo to ^5.73.3 (#2860)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-12 16:18:00 +00:00
Andrea a29556ee8e fix(widget): format stock values and changes for better readability (#2836) 2025-04-12 15:53:40 +00:00
homarr-crowdin[bot] 71d8f7920d chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-12 00:48:49 +00:00
homarr-renovate[bot] 835e007334 chore(deps): update dependency @types/node to ^22.14.1 (#2857)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-11 21:43:33 +00:00
Meier Lukas d46b8f63c7 chore(issue-template): add missing homarr version 1.16.0 2025-04-11 21:56:00 +02:00
Releases Homarr a40ebb10c7 chore(release): 1.16.0 [skip ci] 2025-04-11 19:15:22 +00:00
homarr-releases[bot] 05dd6227fb chore(release): automatic release v1.16.0 2025-04-11 19:14:40 +00:00
Thomas CamlongandMeier Lukas 7a3c836a70 feat(boards): add quick app add menu item (#2681)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-04-11 18:55:00 +00:00
Meier Lukas 4baec7e3ff fix(boards): add missing upload button for background in settings (#2853) 2025-04-11 20:17:10 +02:00
homarr-renovate[bot] 93bd09c85e chore(deps): update dependency @types/react to v19.1.1 (#2852)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-11 15:54:41 +00:00
homarr-renovate[bot] 0ed6a79a5b fix(deps): update dependency ioredis to v5.6.1 (#2851)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-11 13:08:22 +00:00
homarr-renovate[bot] 0fe4ea9dd9 fix(deps): update trpc monorepo to ^11.1.0 (#2850)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-11 12:27:29 +00:00
homarr-crowdin[bot] d6a48d132a chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-11 00:50:01 +00:00
homarr-renovate[bot] c84dd2fd79 fix(deps): update dependency dotenv to ^16.5.0 (#2848)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-10 22:39:51 +00:00
Kudou Sterain 94263c445b feat: support aria2 integration (#2226) 2025-04-10 19:40:40 +00:00
homarr-renovate[bot] 4b0b892250 fix(deps): update dependency octokit to ^4.1.3 (#2847)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-10 15:20:33 +00:00
homarr-renovate[bot] 057ff2cfc1 fix(deps): update testcontainers-node monorepo to ^10.24.2 (#2846)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-10 13:45:18 +00:00
homarr-renovate[bot] 45d285a76b fix(deps): update dependency swagger-ui-react to ^5.20.8 (#2844)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-10 11:55:51 +00:00
homarr-renovate[bot] 924a7d076e fix(deps): update dependency eslint-config-prettier to ^10.1.2 (#2842)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-10 10:58:06 +00:00
homarr-renovate[bot] f13be4a708 fix(deps): update dependency undici to v7.8.0 (#2841)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-10 10:56:42 +00:00
homarr-renovate[bot] 7fb6beceef chore(deps): update dependency proxmox-api&gt;undici to v7.8.0 (#2840)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-10 10:18:59 +00:00
homarr-renovate[bot] a1fa4297ea fix(deps): update nextjs monorepo to v15.3.0 (#2838)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-09 20:38:56 +00:00
homarr-renovate[bot] f5e3138c81 fix(deps): update tanstack-query monorepo to ^5.72.2 (#2834)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-09 14:59:53 +00:00
Meier Lukas d21755426f chore(issue-template): add missing homarr version 1.15.0 2025-04-09 16:38:50 +02:00
Releases Homarr 5b332baa75 chore(release): 1.15.0 [skip ci] 2025-04-09 13:27:11 +00:00
homarr-releases[bot] d0b9cbf155 chore(release): automatic release v1.15.0 2025-04-09 13:26:13 +00:00
Meier Lukas 3948f7f9a4 fix(security): missing authorization check for changes to notebook widget (#2832) 2025-04-09 15:24:37 +02:00
homarr-renovate[bot] 092c95bbe0 fix(deps): update testcontainers-node monorepo to ^10.24.1 (#2831)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-09 10:49:01 +00:00
homarr-renovate[bot] 0fc7ca7738 fix(deps): update nextjs monorepo to v15.2.5 (#2828)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-09 07:53:31 +00:00
homarr-renovate[bot] da34b0a3cf chore(deps): update dependency @types/react-dom to v19.1.2 (#2830)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-09 07:45:00 +00:00
homarr-renovate[bot] 75100d1a49 fix(deps): update trpc monorepo to ^11.0.4 (#2827)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-08 22:45:13 +00:00
homarr-renovate[bot] bd5dcb991c fix(deps): update mantine monorepo to ^7.17.4 (#2824)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-08 14:40:46 +00:00
homarr-renovate[bot] b064304201 fix(deps): update dependency @kubernetes/client-node to ^1.1.2 (#2825)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-08 14:18:46 +00:00
homarr-renovate[bot] c01d9a4dc5 fix(deps): update tanstack-query monorepo to ^5.72.1 (#2823)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-08 13:08:29 +00:00
homarr-renovate[bot] a821bd71f4 fix(deps): update trpc monorepo to ^11.0.3 (#2822)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-08 07:34:05 +00:00
homarr-renovate[bot] 17d92727f2 fix(deps): update dependency typescript-eslint to ^8.29.1 (#2821)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-07 17:37:29 +00:00
homarr-renovate[bot] 8ef2661be4 chore(deps): update pnpm to v10.8.0 (#2820)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-07 17:16:45 +00:00
homarr-renovate[bot] df212cf511 fix(deps): update tanstack-query monorepo to ^5.72.0 (#2817)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-07 09:38:19 +00:00
homarr-renovate[bot] 85f8d23da3 fix(deps): update dependency swagger-ui-react to ^5.20.7 (#2816)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-07 07:46:05 +00:00
homarr-renovate[bot] 275224ee68 fix(deps): update dependency ldapts to v7.4.0 (#2815)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-07 03:22:37 +00:00
homarr-crowdin[bot] ffd1005ff1 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-07 00:50:37 +00:00
Meier Lukas bf046a715c fix(medias): upload size limited by nginx to 1mb (#2813) 2025-04-06 21:33:47 +02:00
Meier Lukas c960c6fc79 chore(issue-template): add missing homarr version 1.14.0 2025-04-06 20:24:05 +02:00
Meier Lukas 75ba3f2ae7 refactor: remove central validation export to improve typescript performance (#2810)
* refactor: remove central validation export to improve typescript performance

* fix: missing package exports change in validation package

* chore: address pull request feedback
2025-04-06 10:37:28 +00:00
c1cd563048 feat: unifi controller integration (#2236)
* feat: unifi controller integration

* fix: pr feedback

* fix: pr feedback

* fix: pr feedback

* fix: formatting

* fix: pr feedback

* fix: typecheck

---------

Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-04-06 10:17:51 +00:00
homarr-crowdin[bot] 7caad6fc47 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-06 00:52:20 +00:00
Meier Lukas e07b9e6a88 feat(boards): add upload buttons for background, favicon and logo (#2770)
* feat(boards): add upload buttons for background, favicon and logo

* feat(boards): use media search and show names for background

* fix: background preview not working
2025-04-05 13:54:16 +02:00
homarr-renovate[bot] 14bff5d530 chore(deps): update dependency typescript to ^5.8.3 (#2805)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-05 08:39:48 +00:00
Meier Lukas 3e88ecd64a chore(docs): update docs-sitemap 2025-04-05 10:17:53 +02:00
Meier Lukas c6102edff4 fix(performance): remove turbopack flag to no longer go out of memory after (#2803) 2025-04-04 22:30:00 +02:00
homarr-renovate[bot] 646e2c12e6 chore(deps): update dependency eslint to ^9.24.0 (#2802)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-04 19:31:51 +00:00
Releases Homarr 95e7136284 chore(release): 1.14.0 [skip ci] 2025-04-04 19:15:57 +00:00
homarr-releases[bot] 9de9aa59a4 chore(release): automatic release v1.14.0 2025-04-04 19:15:16 +00:00
homarr-renovate[bot] ee12461452 chore(deps): update dependency @types/better-sqlite3 to v7.6.13 (#2800)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-04 18:46:53 +00:00
homarr-renovate[bot] b03941ed80 fix(deps): update dependency trpc-to-openapi to ^2.1.5 (#2799)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-04 17:53:50 +00:00
homarr-renovate[bot] 968a82baf5 fix(deps): update dependency swagger-ui-react to ^5.20.6 (#2798)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-04 14:19:15 +00:00
homarr-renovate[bot] ea8bf43d7b fix(deps): update dependency @ctrl/qbittorrent to ^9.5.2 (#2795)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-04 13:34:29 +00:00
homarr-renovate[bot] 964368a06c fix(deps): update tanstack-query monorepo to ^5.71.10 (#2790)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-04 13:06:22 +00:00
homarr-renovate[bot] 98ecc683e5 fix(deps): update dependency sass to ^1.86.3 (#2796)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-04 01:01:37 +00:00
Meier Lukas 29ff879dfd fix: update check blocks page loading (#2782) 2025-04-03 23:22:50 +02:00
Meier Lukas 674253262b feat(cli): add cli command to recreate credentials admin (#2779)
* feat(cli): add cli command to recreate credentials admin

* fix: add missing username validation

* fix: deepsource issue
2025-04-03 23:22:31 +02:00
homarr-renovate[bot] f9aeb8ffe3 fix(deps): update dependency eslint-plugin-react to ^7.37.5 (#2794)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-03 20:21:26 +00:00
homarr-renovate[bot] 76b8b35cc1 fix(deps): update dependency @kubernetes/client-node to ^1.1.1 (#2793)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-03 20:18:43 +00:00
homarr-renovate[bot] 8886380f0a fix(deps): update trpc monorepo to ^11.0.2 (#2792)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-03 19:54:18 +00:00
homarr-renovate[bot] 0b41967ec3 fix(deps): update turbo monorepo to ^2.5.0 (#2791)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-03 17:19:01 +00:00
homarr-renovate[bot] 1b0504198b fix(deps): update testcontainers-node monorepo to ^10.24.0 (#2789)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-03 13:44:23 +00:00
homarr-renovate[bot] 3363eebddd fix(deps): update dependency swagger-ui-react to ^5.20.5 (#2787)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-03 11:16:57 +00:00
homarr-renovate[bot] 85672d9cf1 fix(deps): update dependency swagger-ui-react to ^5.20.4 (#2786)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-03 09:18:38 +00:00
homarr-renovate[bot] 3131082c77 fix(deps): update dependency sass to ^1.86.2 (#2784)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-03 06:59:52 +00:00
homarr-renovate[bot] f33b1cb5d0 fix(deps): update dependency recharts to ^2.15.2 (#2785)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-03 06:51:02 +00:00
homarr-renovate[bot] 4f32f11d8a chore(deps): update dependency @types/node to ^22.14.0 (#2781)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 18:58:38 +00:00
homarr-renovate[bot] 466d0e0053 fix(deps): update tanstack-query monorepo to ^5.71.5 (#2780)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 18:47:33 +00:00
Meier Lukas 7c4b71af3d chore(docs): update docs-sitemap 2025-04-02 20:19:12 +02:00
homarr-renovate[bot] 81d1231d8f fix(deps): update dependency swagger-ui-react to ^5.20.3 (#2777)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 11:32:28 +00:00
homarr-renovate[bot] 858fe6e19a fix(deps): update tanstack-query monorepo to ^5.71.3 (#2767)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 10:18:32 +00:00
homarr-renovate[bot] ff5c31342f fix(deps): update dependency undici to v7.7.0 (#2776)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 09:22:17 +00:00
homarr-renovate[bot] 807997ea76 chore(deps): update dependency proxmox-api&gt;undici to v7.7.0 (#2775)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 09:20:03 +00:00
homarr-renovate[bot] 9c12b18c6c chore(deps): update dependency @types/react-dom to v19.1.1 (#2774)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 09:18:21 +00:00
homarr-renovate[bot] 3951d052de chore(deps): update react monorepo to v19.1.0 (#2773)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 07:44:51 +00:00
homarr-renovate[bot] 5975b53212 chore(deps): update react monorepo (#2772)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 07:18:58 +00:00
homarr-renovate[bot] cc9522d981 chore(deps): update react monorepo (#2771)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-02 06:52:17 +00:00
Meier Lukas 7f77130978 fix(nextcloud): issue with self signed certificates (#2760) 2025-04-01 22:20:45 +02:00
homarr-renovate[bot] 243a97d637 chore(deps): update dependency @types/node to ^22.13.17 (#2769)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-01 17:18:29 +00:00
homarr-renovate[bot] 4feeb8b173 chore(deps): update pnpm to v10.7.1 (#2768)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-01 15:48:45 +00:00
homarr-renovate[bot] b1a8012bc7 chore(deps): update dependency @types/node to ^22.13.16 (#2766)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-01 09:56:53 +00:00
homarr-renovate[bot] 22b67188bc chore(deps): update dependency @types/node to ^22.13.15 (#2765)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-01 05:55:26 +00:00
homarr-renovate[bot] dd6e2c0f72 chore(deps): update dependency @types/ws to ^8.18.1 (#2764)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-04-01 03:40:34 +00:00
homarr-crowdin[bot] 9db0016252 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-04-01 00:56:05 +00:00
homarr-renovate[bot] 3e3505176a fix(deps): update dependency sass to ^1.86.1 (#2762)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-31 21:18:33 +00:00
homarr-renovate[bot] 3687c4b3d6 fix(deps): update dependency typescript-eslint to ^8.29.0 (#2761)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-31 17:37:16 +00:00
homarr-renovate[bot] 944010a7b1 chore(deps): update vitest monorepo to ^3.1.1 (#2758)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-31 10:43:18 +00:00
homarr-renovate[bot] db13fd03c0 fix(deps): update dependency dockerode to ^4.0.5 (#2757)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-31 09:20:46 +00:00
homarr-renovate[bot] 0b8a0098bd fix(deps): update tanstack-query monorepo to ^5.71.1 (#2756)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-31 08:51:16 +00:00
homarr-renovate[bot] 9a77b540bb chore(deps): update dependency @types/dockerode to ^3.3.37 (#2755)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-31 07:19:42 +00:00
homarr-crowdin[bot] c598579716 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-31 00:51:30 +00:00
homarr-renovate[bot] 59b1630532 fix(deps): update tiptap monorepo to v2.11.7 (#2750)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-30 15:42:50 +02:00
homarr-renovate[bot] 77044e8e0b fix(deps): update tanstack-query monorepo to ^5.71.0 (#2752)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-30 13:03:05 +00:00
homarr-renovate[bot] 0ec8f23b7c fix(deps): update tiptap monorepo to v2.11.7 (#2749)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-30 01:05:20 +00:00
homarr-renovate[bot] c69e331ded fix(deps): update dependency trpc-to-openapi to ^2.1.4 (#2748)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-30 01:04:35 +00:00
homarr-crowdin[bot] 4273cd9fcd chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-30 00:52:59 +00:00
Meier Lukas 98515312a2 revert: add restriction callback to restrict visibility and modification of widget kinds (#2746)
This reverts commit 84f73d33a0.
2025-03-29 12:43:10 +01:00
homarr-crowdin[bot] d1b14aca8b chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-29 00:47:55 +00:00
Manuel c6b4c9cbf2 docs: add 1.13.1 to issue template (#2738) 2025-03-28 22:04:23 +00:00
Releases Homarr 19029f40b8 chore(release): 1.13.1 [skip ci] 2025-03-28 21:58:28 +00:00
homarr-releases[bot] b6bc257726 chore(release): automatic release v1.13.1 2025-03-28 21:57:48 +00:00
Manuel fef50a53b1 revert: ssg integration create (#2736) 2025-03-28 21:56:45 +00:00
homarr-renovate[bot] 94ff401d7d fix(deps): update react monorepo to v19.1.0 (#2734)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 20:20:12 +00:00
Manuel 63328d125a docs: add 1.13.0 to issue template (#2733) 2025-03-28 20:29:12 +01:00
Releases Homarr 457b970d8f chore(release): 1.13.0 [skip ci] 2025-03-28 19:15:13 +00:00
homarr-releases[bot] 8d69970562 chore(release): automatic release v1.13.0 2025-03-28 19:14:18 +00:00
ManuelandMeier Lukas 8a071f9ab6 fix: bookmarks layout (#2675)
* fix: bookmarks layout

* chore: address pull request feedback

* fix: make icon bigger when only icon exists for vertical item

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-28 20:11:31 +01:00
homarr-crowdin[bot] 76b67ac8e1 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-28 17:22:17 +00:00
ManuelandMeier Lukas eba738e5d6 feat: add german swiss locale (#2726)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-28 18:01:16 +01:00
Manuel 996ec548c4 revert: add development package and update workspace (#2700)" (#2728)
This reverts commit 7706f97228.
2025-03-28 17:00:57 +00:00
Meier Lukas 40e00987cb fix: allow deletion of external users (#2725) 2025-03-28 17:58:54 +01:00
Jack Weller 93c64baec2 feat(lang): add english uk language (#2715) 2025-03-28 16:45:13 +00:00
Meier Lukas b5b0b069d2 fix(auth): fusion auth returns www-authenticate token response (#2719)
* fix(auth): fusion auth returns www-authenticate token response

* docs: fix typo in comment

* fix: deepsource issue
2025-03-28 17:44:26 +01:00
Meier Lukas 62c7955e48 fix(import): autofix missing shapes for sidebars and some sections as well (#2723) 2025-03-28 17:44:11 +01:00
homarr-renovate[bot] 217818573e fix(deps): update trpc monorepo to ^11.0.1 (#2724)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 16:20:05 +00:00
homarr-renovate[bot] 70879ccb90 chore(deps): update dependency @types/dockerode to ^3.3.36 (#2721)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 15:30:12 +00:00
homarr-renovate[bot] 34eb9b366f fix(deps): update tanstack-query monorepo to ^5.70.0 (#2722)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 15:18:23 +00:00
homarr-renovate[bot] ac77bdd84c fix(deps): update nextjs monorepo to v15.2.4 (#2720)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 13:07:34 +00:00
Manuel 70ea093eb6 fix: calendar indicators (#2712) 2025-03-28 13:43:45 +01:00
Meier Lukas 08e0dd76ae chore(deps): update nextjs to 15.2.3 (#2701)
* chore(deps): update nextjs to 15.2.3

* fix: dev server crashes with next 15.2.0

* chore(deps): reenable updates for next packages

* chore: address pull request feedback
2025-03-28 13:39:20 +01:00
homarr-renovate[bot] 0ed4c741c5 fix(deps): update tiptap monorepo to v2.11.6 (#2718)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 12:28:38 +00:00
homarr-renovate[bot] 569ec6fe5c fix(deps): update dependency drizzle-zod to ^0.7.1 (#2717)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 12:27:33 +00:00
homarr-renovate[bot] e7e80dbc7d fix(deps): update tanstack-query monorepo to ^5.69.3 (#2716)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 11:16:27 +00:00
Andre SilvaandAndre Silva b054bdd987 refactor: icon picker add asterisk option (#2496)
* fix: added `withAsterisk` property to `IconPicker`, defaulted to true so it's backwards compatible

* fix: `icon-picker.tsx` formatting

---------

Co-authored-by: Andre Silva <asilva01@acuitysso.com>
2025-03-28 10:18:52 +01:00
Meier Lukas 84f73d33a0 feat(widget): add restriction callback to restrict visibility and modification of widget kinds (#2658)
* feat(widget): add restriction callback to restrict visibility and modification of widget kinds

* fix: typecheck issue

* chore: address pull request feedback
2025-03-28 10:16:46 +01:00
homarr-renovate[bot] 78b55202e7 fix(deps): update tanstack-query monorepo to ^5.69.2 (#2714)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 08:42:46 +00:00
Thomas Camlong 7706f97228 chore: add development package and update workspace (#2700)
* feat: add development package and update workspace

- Introduced a new development package with a Docker Compose script.
- Updated pnpm workspace to include the development directory.
- Changed Turbo UI setting from 'stream' to 'tui'.

* fix: rename

* Discard changes to turbo.json
2025-03-27 23:18:12 +00:00
Meier Lukas a0ee558582 chore: replace allowNonAppliedPatches with allowUnusedPatches 2025-03-27 23:45:36 +01:00
Meier Lukas 94d3dad909 feat(auth): add env variable to force user-info usage instead of idtoken (#2711) 2025-03-27 22:57:06 +01:00
Thomas Camlong 1a3a55934d feat: implement auto-select icon (#2679) 2025-03-27 22:18:11 +01:00
Manuel 8bf893b392 feat: app dropdown add infinity scroll (#2696) 2025-03-27 20:27:39 +00:00
homarr-renovate[bot] 43b8cfa4dd fix(deps): update dependency undici to v7.6.0 (#2710)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-27 14:42:06 +00:00
homarr-renovate[bot] a05b5965b6 chore(deps): update dependency proxmox-api&gt;undici to v7.6.0 (#2709)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-27 14:40:58 +00:00
homarr-renovate[bot] 68407eaa19 fix(deps): update dependency swagger-ui-react to ^5.20.2 (#2708)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-27 14:40:06 +00:00
homarr-renovate[bot] 6854e4729d fix(deps): update mantine monorepo to ^7.17.3 (#2707)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-27 10:41:42 +00:00
homarr-renovate[bot] f03e381aea fix(deps): update dependency drizzle-kit to ^0.30.6 (#2706)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-27 09:38:28 +00:00
homarr-renovate[bot] 151ccb7086 chore(deps): update dependency @types/node to ^22.13.14 (#2705)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-27 03:51:48 +00:00
Thomas Camlong 8f7f2110ec feat: set home board when creating first board (#2683)
* feat: set home board when creating first board

* refactor: move home board assignment to backend

* refactor: revert changes

* fix: add back missing run() calls
2025-03-26 23:29:34 +01:00
Meier Lukas 579dd5763d feat(logs): improve logs by logging errors with causes and metadata (#2703)
* feat(logs): improve logs by logging errors with causes and metadata

* fix: deepsource issue
2025-03-26 21:53:51 +01:00
Thomas Camlong 3e1c000d51 feat: add default search engines seeding / set homarr docs as global server search engine (#2663)
* feat: add default search engines seeding

* feat: set Homarr Docs as the default search

Set the default search engine in server settings during seeding

* refactor: use typed methods to define settings

* feat: add insertServerSettingByKeyAsync

* feat: update seeding logic for server settings

* fix: format file using prettier

* fix: disable eslint for `urlTemplate`

* refactor: remove never happning else

* feat: enhance createDocumentationLink

- Updated createDocumentationLink to accept query parameters

* test: add unit tests for createDocumentationLink

* fix: update urlTemplate for Homarr documentation
2025-03-26 21:25:13 +01:00
homarr-renovate[bot]andMeier Lukas f624611540 fix(deps): update dependency typescript-eslint to ^8.28.0 (#2693)
* fix(deps): update dependency typescript-eslint to ^8.28.0

* fix: lint issues

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-26 20:17:23 +00:00
Manuel 07f0abf28c feat: add jetbrains run profile (#2704) 2025-03-26 20:15:25 +00:00
homarr-renovate[bot] c3264b2fe1 fix(deps): update testcontainers-node monorepo to ^10.23.0 (#2699)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-26 16:22:32 +00:00
homarr-renovate[bot] d0aa48fab3 chore(deps): update pnpm to v10.7.0 (#2698)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-26 11:54:06 +00:00
Meier Lukas d634fa2c95 chore(docs): update docs-sitemap 2025-03-25 20:48:18 +01:00
Flávio Augusto Oliveira Costaandfaugusto-oliveira 5a8405a9a8 fix: Media request via search engine (#2677)
* fix search engine using season.id instead of season.seasonNumber on POST to overseerr/jellyseerr causing a incorrect request

* fix format on overseerr-integration.ts

---------

Co-authored-by: faugusto-oliveira <faugusto.oliveira@outlook.com>
2025-03-25 06:38:03 +00:00
homarr-crowdin[bot] a6f388d076 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-25 00:49:34 +00:00
Jack WellerandMeier Lukas 1dd7b1a6b9 feat: add title to dynamic section (#2614)
* feat: add title to dynamic section

* fix: formatting

* feat: use badge rather than text

* fix: use board radius

* fix: use shared.ts validation

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-24 22:06:50 +01:00
homarr-renovate[bot] b7a6d950db fix(deps): update testcontainers-node monorepo to ^10.22.0 (#2692)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-24 16:22:29 +00:00
homarr-renovate[bot] 00f5a877a6 fix(deps): update dependency ldapts to v7.3.3 (#2691)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-24 16:20:50 +00:00
homarr-renovate[bot] 75a949eecf chore(deps): update dependency @types/node to ^22.13.13 (#2689)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-24 11:17:37 +00:00
Thomas Camlong ce0705e9d4 feat: SSG integration creation page (#2684)
The new path is /new/{kind} so that it can be used in SSG
2025-03-24 10:33:30 +01:00
homarr-renovate[bot] 0f4a9af57d chore(deps): update dependency @types/node to ^22.13.12 (#2688)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-24 06:53:01 +00:00
homarr-crowdin[bot] 703a362356 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-24 00:50:13 +00:00
Thomas Camlong 826d54a0ca chore(i18n): update regex patterns for i18n-ally (#2685) 2025-03-23 21:30:15 +01:00
Thomas Camlong 46c95e0da3 feat: auto sign-in when creating the initial user (#2664)
* feat: auto sign-in on init user
2025-03-23 16:52:00 +01:00
Meier Lukas 0aacbe95c2 chore(docs): update docs-sitemap 2025-03-22 12:13:55 +01:00
homarr-crowdin[bot] 18f845b4c4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-22 00:47:07 +00:00
homarr-renovate[bot] b5ae5f876b chore(deps): update dependency eslint to ^9.23.0 (#2672)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-21 23:18:27 +00:00
Meier Lukas ef359b6997 chore(issue-template): add missing homarr version 1.12.0 2025-03-21 20:17:09 +01:00
Releases Homarr 1d3dc5b9e7 chore(release): 1.12.0 [skip ci] 2025-03-21 19:14:56 +00:00
homarr-releases[bot] ff0b0c659c chore(release): automatic release v1.12.0 2025-03-21 19:14:11 +00:00
Meier Lukas 989cc7de58 Revert "Update PiHole authentication. (PiHole v6)" (#2287) 2025-03-21 20:13:44 +01:00
Thomas Camlong 677224f8de Update README.md 2025-03-21 20:06:12 +01:00
Thomas Camlong 8da6d33c61 Merge pull request #2278 from DR-Blogs/PiHole-v6-API-reintegration
Update PiHole authentication. (PiHole v6)
2025-03-21 20:04:03 +01:00
homarr-renovate[bot] 8dee8f8680 fix(deps): update dependency drizzle-orm to ^0.41.0 (#2666)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-21 17:45:16 +00:00
Meier Lukas 25e4c814ac chore(deps): update trpc to v11 (#2668) 2025-03-21 18:32:51 +01:00
homarr-renovate[bot] 3edfe6bfed chore(deps): update dependency @types/node to ^22.13.11 (#2662)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-21 09:19:41 +00:00
homarr-crowdin[bot] 22d32ccb8d chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-21 00:48:20 +00:00
Meier Lukas 7aa5d2f8ed chore(docs): update docs-sitemap 2025-03-20 19:58:23 +01:00
Jack WellerandMeier Lukas 91a69c162a feat: stock price widget (#2579)
* feat: added stock price widget

* fix: formatting

* fix: broken lock file

* fix: requested changes

* fix: added parsing schema

* fix: improve time range and interval inputs

* fix: only return required data

* fix: formatting

* fix: deepsource tests

* fix: moved all time frames into one location

* fix: formatting

* fix: requested changes

* fix: formatting

* fix: parse response data

* fix: update packages

* fix: typescript issues

* fix: formatting

* fix: broken lockfile

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-20 17:49:19 +01:00
homarr-renovate[bot] e3fcfbe916 fix(deps): update dependency typescript-eslint to ^8.27.0 (#2653)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-20 03:13:48 +00:00
homarr-renovate[bot] 3e4d24b28e fix(deps): update dependency mysql2 to v3.14.0 (#2652)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-20 02:25:10 +00:00
homarr-crowdin[bot] 425d5edab5 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-20 00:47:16 +00:00
Meier Lukas b0381cb883 fix(cli): fix-usernames command only fixes lowercase usernames (#2650) 2025-03-19 21:05:06 +01:00
homarr-renovate[bot] a04cb25dd0 chore(deps): update dependency @types/react to v19.0.12 (#2648)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-19 15:19:17 +00:00
homarr-renovate[bot] b4692b62ab chore(deps): update pnpm to v10.6.5 (#2647)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-19 13:49:19 +00:00
Manuel bb8cb6dded fix: prohibit dot in board name (#2643) 2025-03-19 09:26:18 +01:00
Meier Lukas 4cc37397c2 fix(permissions): unable to edit board with full board permissions (#2625) 2025-03-18 20:34:38 +01:00
homarr-renovate[bot] 2d2ae5a419 fix(deps): update tanstack-query monorepo to ^5.69.0 (#2634)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-18 11:30:40 +00:00
homarr-renovate[bot] 15197897ac fix(deps): update testcontainers-node monorepo to ^10.21.0 (#2633)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-18 10:42:19 +00:00
homarr-renovate[bot] 289c7f1a60 fix(deps): update dependency better-sqlite3 to ^11.9.1 (#2632)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-18 02:26:38 +00:00
homarr-crowdin[bot] 495432073f chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-18 00:47:24 +00:00
homarr-renovate[bot] c9fecaabb6 fix(deps): update dependency sass to ^1.86.0 (#2629)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-17 21:54:52 +00:00
homarr-renovate[bot] 5b49fe1039 chore(deps): update dependency @types/react to v19.0.11 (#2628)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-17 21:42:40 +00:00
homarr-renovate[bot] 7ba2067689 fix(deps): update dependency drizzle-orm to ^0.40.1 (#2624)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-17 14:38:14 +00:00
homarr-renovate[bot] e0ae5e6705 chore(deps): update vitest monorepo to ^3.0.9 (#2622)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-17 14:19:46 +00:00
homarr-renovate[bot] 305d259e98 chore(deps): update pnpm to v10.6.4 (#2623)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-17 14:17:43 +00:00
homarr-crowdin[bot] fed3d1ce23 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-16 00:51:24 +00:00
homarr-crowdin[bot] 8f083adf39 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-15 00:46:38 +00:00
Meier Lukas 3e9c8172ef chore(issue-template): add missing homarr version 1.11.0 2025-03-14 20:39:16 +01:00
Meier Lukas f743c76b17 chore(docs): update docs-sitemap 2025-03-14 20:36:56 +01:00
Releases Homarr 7d8650babc chore(release): 1.11.0 [skip ci] 2025-03-14 19:14:50 +00:00
homarr-releases[bot] 612f0e4fbf chore(release): automatic release v1.11.0 2025-03-14 19:14:07 +00:00
homarr-renovate[bot] 75fb9dbf1e fix(deps): update testcontainers-node monorepo to ^10.20.0 (#2602)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-14 18:22:40 +00:00
homarr-crowdin[bot] 7f7156a798 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-14 15:49:17 +00:00
ManuelandMeier Lukas 85d2d61184 fix: action icons not being rendered (#2593)
* fix: action icons not being rendered

* fix: format issue

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-14 16:40:21 +01:00
homarr-renovate[bot] 25f7406283 fix(deps): update tanstack-query monorepo to ^5.68.0 (#2600)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-14 10:18:19 +00:00
homarr-renovate[bot] 1e50ac411c fix(deps): update mantine monorepo to ^7.17.2 (#2599)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-14 08:42:06 +00:00
homarr-renovate[bot] 04c17d1c41 fix(deps): update dependency better-sqlite3 to ^11.9.0 (#2598)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-14 03:13:01 +00:00
Meier Lukas 22f9166690 feat(integrations): add checkbox to add app (#2463) 2025-03-13 23:23:54 +01:00
homarr-renovate[bot] 8a02c65648 fix(deps): update dependency @kubernetes/client-node to ^1.1.0 (#2591)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-13 15:19:00 +00:00
homarr-renovate[bot] bb20999bf3 chore(deps): update pnpm to v10.6.3 (#2590)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-13 14:37:46 +00:00
homarr-renovate[bot] b607c5702f fix(deps): update dependency next-intl to v4.0.2 (#2589)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-13 14:18:13 +00:00
homarr-crowdin[bot] 83eacb23b9 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-13 00:47:42 +00:00
homarr-renovate[bot] d8247f2dc9 fix(deps): update dependency next-intl to v4.0.1 (#2585)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-12 19:16:10 +00:00
homarr-renovate[bot] 56fe8dd9e9 fix(deps): update dependency undici to v7.5.0 (#2583)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-12 18:23:39 +00:00
homarr-renovate[bot] c94159388d chore(deps): update dependency proxmox-api&gt;undici to v7.5.0 (#2582)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-12 18:21:16 +00:00
homarr-renovate[bot]andMeier Lukas f55d8a9c2e fix(deps): update dependency next-intl to v4 (#2580)
* fix(deps): update dependency next-intl to v4

* fix: typecheck issue

* refactor: implement improvements for next-intl v4

* fix: typecheck issues

* fix: typecheck issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-12 18:37:43 +01:00
homarr-crowdin[bot] 47ebc66c9e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-12 00:46:48 +00:00
homarr-renovate[bot] d669f99ac1 fix(deps): update testcontainers-node monorepo to ^10.19.0 (#2576)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-11 22:37:33 +00:00
Meier Lukas 3d4d32f377 feat(logs): improve error logs with stacked causes (#2574) 2025-03-11 22:15:13 +01:00
Meier Lukas 268daee4a6 fix(system-health): improve responsive styles (#2566) 2025-03-11 22:15:01 +01:00
Meier Lukas a53e7aaee5 fix(notebook): css for checkboxes not working (#2570) 2025-03-11 22:14:35 +01:00
Meier Lukas fbbfe9af29 fix(calendar): dropdown spans over whole screen (#2569) 2025-03-11 22:13:17 +01:00
Meier Lukas e774b06fc2 fix(dns-hole-summary): remove inconsistency for position of text (#2568) 2025-03-11 22:13:03 +01:00
homarr-renovate[bot] 6c9fbd6c09 fix(deps): update dependency zod-form-data to ^2.0.7 (#2573)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-11 20:36:28 +00:00
homarr-renovate[bot] 2135f9980b fix(deps): update dependency zod-form-data to ^2.0.6 (#2572)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-11 19:53:42 +00:00
Meier Lukas ba3f1e9eaa chore(docs): update docs-sitemap 2025-03-11 18:42:18 +01:00
homarr-renovate[bot] 8486073f27 fix(deps): update tanstack-query monorepo to ^5.67.3 (#2567)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-11 17:37:42 +00:00
dependabot[bot] afcde8afe5 chore(deps): bump prismjs from 1.27.0 to 1.30.0 (#2565)
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.27.0 to 1.30.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.27.0...v1.30.0)

---
updated-dependencies:
- dependency-name: prismjs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 17:58:31 +01:00
homarr-renovate[bot] a102f39518 fix(deps): update dependency video.js to ^8.22.0 (#2564)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-11 13:05:22 +00:00
homarr-crowdin[bot] 225ed4881b chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-11 00:47:24 +00:00
Meier Lukas d714e53cfa fix(downloads): improve responsive styles (#2552) 2025-03-10 20:29:50 +01:00
homarr-crowdin[bot] 483ce9c28d chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-10 19:28:30 +00:00
homarr-renovate[bot] ff6ca86a78 fix(deps): update dependency jotai to ^2.12.2 (#2560)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-10 18:56:34 +00:00
homarr-renovate[bot] 55ad0b0a65 fix(deps): update dependency typescript-eslint to ^8.26.1 (#2561)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-10 18:42:17 +00:00
homarr-renovate[bot] 8cb8eaf9cc fix(deps): update dependency prismjs to ^1.30.0 (#2562)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-10 18:19:33 +00:00
homarr-renovate[bot] 9c582d906b fix(deps): update dependency swagger-ui-react to ^5.20.1 (#2558)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-10 11:13:59 +00:00
homarr-renovate[bot] d6cfd23068 chore(deps): update pnpm to v10.6.2 (#2557)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-10 02:54:31 +00:00
oussama Dahmazandoussama Dahmaz f19aa29607 feat(kubernetes): add kubernetes tool (#1929)
Co-authored-by: oussama Dahmaz <dahmaz@MacBook-Pro-de-odahmaz.local>
2025-03-09 17:46:15 +01:00
Meier Lukas f6f0d7c72b feat(calendar): add show-unmonitored option (#2547)
* feat(calendar): add show-unmonitored option

* fix: typecheck issue
2025-03-09 14:26:31 +01:00
Meier Lukas 2f80c096a7 fix(minecraft-status): wrong api path for bedrock (#2551) 2025-03-09 14:24:27 +01:00
Meier Lukas 8f8d7884a9 fix(media-transcoding): improve responsive styles (#2550)
* fix(media-transcoding): improve responsive styles

* fix: typecheck issue
2025-03-09 14:22:12 +01:00
Meier Lukas d584ade8f4 fix(media-request-stats): improve responsive styles (#2544)
* fix(media-request-stats): improve responsive styles

* fix(media-request-stats): put user to start
2025-03-09 14:20:23 +01:00
Meier Lukas 82528dbd96 fix(media-server): improve responsive styles (#2548)
* fix(media-server): improve responsive styles

* fix(media-server): translate table headers
2025-03-09 14:20:04 +01:00
homarr-crowdin[bot] d9720ac596 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-09 00:42:54 +00:00
Meier Lukas 9e48f438b4 fix(media-request-list): improve responsive styles (#2543) 2025-03-08 23:54:57 +01:00
Meier Lukas 4472c04967 fix(indexer-manager): improve responsive styles (#2541) 2025-03-08 23:46:43 +01:00
Manuel 2e62a61f4d feat: add nextcloud integration (#2501) 2025-03-08 22:13:45 +00:00
Meier Lukas 0b07f227ee fix(smart-home): improve responsive styles (#2540) 2025-03-08 20:55:25 +01:00
Meier Lukas fd5b1b0c08 fix(date-time): improve responsive styles (#2539) 2025-03-08 20:55:15 +01:00
Meier Lukas 1db9c3c692 fix(calendar): improve responsive styles (#2538)
* fix(calendar): improve responsive styles

* fix: remove temporary events

* fix: deepsource issue
2025-03-08 20:55:03 +01:00
Meier Lukas fb800a0008 fix(app): improve responsive styles (#2537) 2025-03-08 20:54:48 +01:00
Meier Lukas c0e1355d7f fix(dns-controls): improve responsive styles (#2534)
* fix(dns-controls): improve responsive styles

* fix: further dns-control improvements
2025-03-08 20:54:35 +01:00
Meier Lukas 7ec6fbc376 fix(dns-summary): improve responsive styles (#2535) 2025-03-08 20:54:24 +01:00
Meier Lukas df249a0173 fix(bookmarks): improve responsive styles (#2536)
* fix(bookmarks): improve responsive styles

* fix: typecheck issue
2025-03-08 20:54:12 +01:00
homarr-renovate[bot] ac5fc38ec0 chore(deps): update dependency @types/node to ^22.13.10 (#2533)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-08 08:36:57 +00:00
homarr-crowdin[bot] 75bee0be8b chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-08 00:38:29 +00:00
Jack WellerandMeier Lukas b3464b3340 feat(widgets): add border color option to advanced-options (#2512)
* feat: add border color option for all widgets

* fix: broken lockfile

* fix: typecheck issue

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-07 22:56:16 +01:00
homarr-renovate[bot] 4a7ccda362 chore(deps): update dependency eslint to ^9.22.0 (#2530)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-07 21:43:30 +00:00
Meier Lukas d410af3402 fix(import): autofix missing sizes of items with grid-algorithm (#2522) 2025-03-07 21:27:29 +01:00
Meier Lukas 65f00f19de chore(issue-template): add missing homarr version 1.10.0 2025-03-07 21:25:24 +01:00
homarr-renovate[bot] e3ad569cc2 chore(deps): update pnpm to v10.6.1 (#2521)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-07 19:59:18 +00:00
Releases Homarr f25837f9f8 chore(release): 1.10.0 [skip ci] 2025-03-07 19:13:59 +00:00
homarr-releases[bot] 44007b2b4b chore(release): automatic release v1.10.0 2025-03-07 19:13:16 +00:00
ManuelandMeier Lukas 37d471457a feat: remove cqmin system (#2407)
* feat: remove cqmin system

* fix: improve weather widget

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-07 18:46:01 +01:00
Meier Lukas 9881577f47 fix(pi-hole): wrong fetch used in factory (#2527) 2025-03-07 18:14:50 +01:00
homarr-renovate[bot] a572aae887 fix(deps): update tanstack-query monorepo to ^5.67.2 (#2525)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-07 11:15:49 +00:00
homarr-renovate[bot] 4721a97094 fix(deps): update dependency eslint-config-prettier to ^10.1.1 (#2524)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-07 10:19:12 +00:00
homarr-crowdin[bot] 15026afa46 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-07 00:47:20 +00:00
Meier Lukas 3403579925 chore(issue-template): add missing homarr versions until 1.9.0 2025-03-06 17:57:48 +01:00
Meier Lukas da4aaba9f0 Merge branch 'main' into dev 2025-03-06 17:54:14 +01:00
homarr-renovate[bot] 98dd96f37c chore(deps): update vitest monorepo to ^3.0.8 (#2519)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-06 15:37:30 +00:00
homarr-renovate[bot] 67c739c35b fix(deps): update dependency mysql2 to v3.13.0 (#2516)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-06 06:19:00 +00:00
homarr-crowdin[bot] 6f8b3de903 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-06 00:47:27 +00:00
homarr-renovate[bot] e4a39223a3 fix(deps): update dependency ioredis to v5.6.0 (#2509)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-05 21:33:39 +00:00
Releases Homarr 72860a877b chore(release): 1.9.0 [skip ci] 2025-03-05 19:01:09 +00:00
homarr-releases[bot] 0f3089a1bd chore(release): automatic release v1.9.0 2025-03-05 19:00:29 +00:00
homarr-crowdin[bot] 84519bf734 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-05 00:47:09 +00:00
homarr-renovate[bot] 478aae6cd4 fix(deps): update dependency @tabler/icons-react to ^3.31.0 (#2502)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-04 23:54:15 +00:00
Meier Lukas 604a05f9d5 fix: affix hides pagination on mobile (#2491) 2025-03-04 22:01:58 +01:00
Meier Lukas b3e4f30312 fix(integration): store omv session in redis (#2467)
* feat(pihole): add support for v6

* fix: add session-store to keep using same session for pi-hole requests

* fix(integration): store omv session in redis

* chore: address pull request feedback
2025-03-04 21:46:11 +01:00
Manuel a3999bcf52 fix: docker add to homarr layout overflow (#2441) 2025-03-04 21:39:38 +01:00
Meier Lukas 3804d530ec feat(pihole): add support for v6 (#2448)
* feat(pihole): add support for v6

* fix: add session-store to keep using same session for pi-hole requests

* chore: address pull request feedback

* fix: import issue

* fix: other import errors
2025-03-04 21:17:35 +01:00
homarr-renovate[bot] e88b29dc9d chore(deps): update dependency @types/ws to ^8.18.0 (#2499)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-04 19:14:45 +00:00
homarr-crowdin[bot] d470ea4ede chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-04 00:47:03 +00:00
homarr-renovate[bot] 21f3a5a408 fix(deps): update dependency typescript-eslint to ^8.26.0 (#2488)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-03 18:42:27 +00:00
homarr-renovate[bot] 14f3fbfc82 chore(deps): update dependency @types/node to ^22.13.9 (#2489)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-03 18:21:14 +00:00
homarr-renovate[bot] 6135b59b7d fix(deps): update tanstack-query monorepo to ^5.67.1 (#2487)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-03 16:20:08 +00:00
homarr-renovate[bot] bad07cbf25 fix(deps): update tanstack-query monorepo to ^5.67.0 (#2486)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-03 15:54:49 +00:00
homarr-renovate[bot] 49b0f962e0 fix(deps): update dependency prettier to ^3.5.3 (#2485)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-03 02:25:21 +00:00
homarr-crowdin[bot] c94fa4e999 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-03 00:48:29 +00:00
homarr-renovate[bot] be771e5630 chore(deps): update dependency prettier-plugin-packagejson to ^2.5.10 (#2483)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-02 22:54:45 +00:00
Meier Lukas a5e0e8c129 feat: add sigterm support (#2472) 2025-03-02 20:28:11 +01:00
Jack Weller 7dfb108a56 feat: added bordercolor option for dynamic section (#2334) 2025-03-02 11:39:17 +01:00
Meier Lukas 7dfc3646b7 feat(integration): add emby integration (#2466)
* feat(integration): add emby integration

* fix: deepsource issue
2025-03-02 10:56:01 +01:00
Meier Lukas d66610b324 refactor: replace drizzle count with $count (#2471) 2025-03-02 10:54:44 +01:00
Meier Lukas 9eb76634d0 fix(logs): add special case for axios error to prevent huge error messages (#2468) 2025-03-02 10:54:35 +01:00
homarr-crowdin[bot] e1d69f91e7 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-02 00:49:50 +00:00
Meier Lukas 80c2040b13 feat(media-request): show request status (#2465) 2025-03-01 22:44:38 +01:00
Meier Lukas 43619e0cc0 fix(media-request): inconsistent sorting and reordering (#2464) 2025-03-01 22:44:26 +01:00
Meier Lukas 6fad48f65a feat: use fetch with trusted certificates for oidc (#2412)
* feat: use fetch with trusted certificates for oidc

* fix: change custom-fetch symbol from auth-core to next-auth

* test: add mock for next-auth in events test

* refactor: use package import instead of relative import
2025-03-01 17:24:31 +01:00
Meier Lukas 788304adfb fix(old-import): default logo and favicon not replaced (#2456) 2025-03-01 17:24:07 +01:00
Meier Lukas c0e354428a fix(boards): case-sensitive board names in url (#2454) 2025-03-01 17:23:31 +01:00
Meier Lukas 286cc0fcac chore(license): update license property in package-json to match repository license (#2453) 2025-03-01 17:23:00 +01:00
homarr-renovate[bot] d9ef1b0470 fix(deps): update mantine monorepo to ^7.17.1 (#2462)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-01 09:45:24 +00:00
homarr-crowdin[bot] 163e3b007f chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-01 09:31:58 +00:00
homarr-renovate[bot] f4b302bbf8 chore(deps): update dependency @types/node to ^22.13.8 (#2460)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-01 06:56:23 +00:00
homarr-renovate[bot] 3c1cdb5e6e chore(deps): update dependency @types/node to ^22.13.7 (#2455)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-28 22:18:06 +00:00
Meier Lukas f0b932432b chore(docs): update docs-sitemap 2025-02-28 22:56:48 +01:00
homarr-renovate[bot] df13d67b42 chore(deps): update dependency @types/node to ^22.13.6 (#2452)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-28 21:17:25 +00:00
Releases Homarr 932426550b chore(release): 1.8.0 [skip ci] 2025-02-28 19:15:23 +00:00
homarr-releases[bot] d0ede4d643 chore(release): automatic release v1.8.0 2025-02-28 19:14:31 +00:00
homarr-renovate[bot] 14da6727e0 chore(deps): update dependency typescript to ^5.8.2 (#2450)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-28 17:17:33 +00:00
homarr-renovate[bot] a88c1ba440 fix(deps): update dependency eslint-plugin-react-hooks to ^5.2.0 (#2449)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-28 15:47:55 +00:00
homarr-renovate[bot] 5537f95b85 fix(deps): update tanstack-query monorepo to ^5.66.11 (#2447)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-28 14:16:26 +00:00
homarr-renovate[bot] d8e7dfa2fa chore(deps): update dependency prettier-plugin-packagejson to ^2.5.9 (#2446)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-28 11:54:56 +00:00
homarr-renovate[bot] 06ba0f0e9f fix(deps): update dependency undici to v7.4.0 (#2445)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-28 11:16:57 +00:00
homarr-renovate[bot] 11d2972713 chore(deps): update dependency proxmox-api&gt;undici to v7.4.0 (#2444)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-28 11:16:07 +00:00
homarr-renovate[bot] 4483dc8bcd fix(deps): update tanstack-query monorepo to ^5.66.10 (#2443)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-28 10:39:10 +00:00
Manuel 50367eb2f5 fix: chinese traditional locale (#2440) 2025-02-27 21:49:41 +01:00
Meier Lukas fdd91f585d fix(deps): downgrade to next 15.1.7 cause of turbopack crash with 15.2.0 and above (#2438) 2025-02-27 20:45:22 +01:00
homarr-renovate[bot] add91701de fix(deps): update dependency swagger-ui-react to ^5.20.0 (#2436)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-27 10:55:29 +00:00
homarr-renovate[bot] 8c1308c97f fix(deps): update dependency @auth/core to ^0.38.0 (#2434)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-27 10:39:05 +00:00
homarr-renovate[bot] b2cc97e316 fix(deps): update dependency @auth/drizzle-adapter to ^1.8.0 (#2435)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-27 10:18:38 +00:00
homarr-renovate[bot] 46ff689a7e chore(deps): update pnpm to v10.5.2 (#2431)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-27 02:21:20 +00:00
homarr-crowdin[bot] 2b40233235 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-27 00:46:24 +00:00
homarr-renovate[bot] d6939e4a6d fix(deps): update nextjs monorepo to ^15.2.0 (#2428)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-26 23:34:48 +00:00
homarr-renovate[bot] c2d6e2efcf fix(deps): update dependency eslint-config-prettier to ^10.0.2 (#2427)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-26 14:18:43 +00:00
homarr-renovate[bot] 0f2fc0505c chore(deps): update pnpm to v10.5.1 (#2426)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-26 12:26:24 +00:00
homarr-renovate[bot] faf7322bcb fix(deps): update dependency drizzle-orm to ^0.40.0 (#2425)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-25 21:53:58 +00:00
homarr-renovate[bot] 3b830ae098 fix(deps): update dependency drizzle-kit to ^0.30.5 (#2423)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-25 20:47:29 +00:00
homarr-renovate[bot] a6f91998c3 fix(deps): update turbo monorepo to ^2.4.4 (#2424)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-25 20:47:13 +00:00
homarr-renovate[bot] 874414fc4f fix(deps): update turbo monorepo to ^2.4.3 (#2422)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-25 13:46:48 +00:00
homarr-renovate[bot] fda3aff170 chore(deps): update pnpm to v10.5.0 (#2421)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-25 13:03:54 +00:00
homarr-renovate[bot] a9a37afd44 fix(deps): update dependency sass to ^1.85.1 (#2418)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-25 02:22:33 +00:00
homarr-renovate[bot] 2f3d297c46 chore(deps): update dependency @types/dockerode to ^3.3.35 (#2415)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-25 00:58:36 +00:00
homarr-crowdin[bot] 8355bb5919 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-25 00:47:03 +00:00
homarr-renovate[bot] 46070fa5a3 chore(deps): update vitest monorepo to ^3.0.7 (#2414)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-24 18:22:08 +00:00
homarr-renovate[bot] 593c50bb8f fix(deps): update dependency typescript-eslint to ^8.25.0 (#2413)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-24 17:44:09 +00:00
Meier Lukas 508f9afeb5 fix(boards): add scrollarea to board-select (#2409) 2025-02-24 17:46:57 +01:00
Meier Lukas ef9289d945 chore(docs): update docs-sitemap 2025-02-23 20:26:07 +01:00
Meier Lukas 9c892eacfc ci: add arm64 docker build (#2383) 2025-02-23 20:06:45 +01:00
Meier Lukas 7761dc29c8 feat(boards): add responsive layout system (#2271) 2025-02-23 17:34:56 +01:00
Meier Lukas 2085b5ece2 fix: await params for board metadata (#2406) 2025-02-23 15:14:41 +01:00
Meier Lukas c5107b2b67 fix: update checker logs incorrectly (#2402) 2025-02-23 12:55:38 +01:00
Manuel 5dc5d9e04a fix: omv invalid temperature when not available (#2322) 2025-02-23 12:34:04 +01:00
homarr-crowdin[bot] 4f09363823 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-23 00:48:50 +00:00
Meier Lukas c132a07213 Merge branch 'main' into dev 2025-02-22 12:08:07 +01:00
homarr-renovate[bot] 86e778db1e fix(deps): update dependency prettier to ^3.5.2 (#2399)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-22 04:39:53 +00:00
homarr-crowdin[bot] ee1ed0d076 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-22 00:44:32 +00:00
homarr-renovate[bot] 675ed5bdc1 chore(deps): update dependency eslint to ^9.21.0 (#2395)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-21 22:17:43 +00:00
ManuelandMeier Lukas fb467ac165 feat: add app ping url (#2380)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-21 22:47:30 +01:00
homarr-renovate[bot] 9d54e938c8 chore(deps): update dependency @types/node to ^22.13.5 (#2394)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-21 20:44:17 +00:00
Releases Homarr f6029fa79d chore(release): 1.7.0 [skip ci] 2025-02-21 19:13:24 +00:00
homarr-releases[bot] 039d881418 chore(release): automatic release v1.7.0 2025-02-21 19:12:41 +00:00
Meier Lukas 4f220ffca1 ci: fix rebase for dev not working on release (#2392) 2025-02-21 19:31:02 +01:00
Meier Lukas a54e0783e2 fix(widgets): app icon not visible (#2390) 2025-02-21 16:57:19 +01:00
homarr-renovate[bot] 1cf36ed4c7 fix(deps): update tanstack-query monorepo to ^5.66.9 (#2391)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-21 13:42:06 +00:00
homarr-renovate[bot] afd7bcea84 fix(deps): update dependency next-intl to v3.26.5 (#2386)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-21 10:18:41 +00:00
homarr-renovate[bot] b58f64b05c fix(deps): update dependency ws to ^8.18.1 (#2387)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-21 09:55:24 +00:00
DR 9be9e3963a Update PiHole authentication. https://docs.pi-hole.net/api/auth/#__tabbed_1_1 2025-02-20 22:27:48 -05:00
homarr-crowdin[bot] 118f19a4f2 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-21 00:46:35 +00:00
Meier Lukas 52549a598d fix(medias): svg files don't load in list (#2381) 2025-02-20 22:56:21 +01:00
Meier Lukas 311ae80667 feat: redirect to login screen when no global home board (#2379) 2025-02-20 21:46:08 +01:00
homarr-renovate[bot] 8b7596642a fix(deps): update tanstack-query monorepo to ^5.66.8 (#2376)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-20 13:27:36 +00:00
homarr-crowdin[bot] 078aacd9fa chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-20 00:45:49 +00:00
Jonathan Chemla bf600d0ae5 docs: Add links to all banners of readme (#2372) 2025-02-19 21:28:45 +01:00
Jonathan ChemlaandMeier Lukas 1d3a4af259 docs: Add links to all banners of readme (#2276)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-19 21:12:31 +01:00
xmarkurion 1251a89a9b docs: update readme with correct link for getting started. (#2271) 2025-02-19 21:11:14 +01:00
Andre SilvaandAndre Silva de5c34ab07 feat(board): allow to set icon color of widgets (#2228)
Co-authored-by: Andre Silva <asilva01@acuitysso.com>
2025-02-19 20:45:12 +01:00
homarr-renovate[bot] 58babbf88f fix(deps): update dependency tsx to v4.19.3 (#2370)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-19 19:39:28 +00:00
homarr-crowdin[bot]andMeier Lukas 3cca0249a4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-19 19:32:19 +00:00
Meier Lukas 59b1cb48eb test: pin pihole container for tests to v5 until v6 is implemented (#2368) 2025-02-19 20:20:38 +01:00
Meier Lukas 67d48e11d7 feat(logging): add log level env variable (#2299) 2025-02-18 22:54:15 +01:00
Manuel 6420feee72 feat: quick add app modal (#2248) 2025-02-18 22:53:44 +01:00
Yossi Hillali 63e96230e0 fix: omv integrations is unable to correctly retrieve the file system when using omv-zfs (#2337)
* fix: omv integrations is unable to correctly retrieve the file system when using omv-zfs
2025-02-18 22:05:09 +01:00
Meier Lukas 8b7caf1d7d feat(cli): add fix-username command to make all usernames lowercase (#2366)
* feat(cli): add fix-username command to make all usernames lowercase

* fix: add missing command
2025-02-18 22:02:42 +01:00
ManuelandMeier Lukas 7705bc44ae feat: add tile border radius (#2338)
* feat: add tile border radius

* fix: inconsistent mantine-core version

* fix: lockfile

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-18 21:53:45 +01:00
homarr-renovate[bot] 8e71b882db chore(deps): update vitest monorepo to ^3.0.6 (#2363)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-18 14:36:22 +00:00
homarr-renovate[bot] e84cc5e6ae fix(deps): update tanstack-query monorepo to ^5.66.7 (#2364)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-18 14:16:18 +00:00
homarr-renovate[bot] 241037fc2a fix(deps): update dependency next-intl to v3.26.4 (#2361)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-18 11:40:15 +00:00
homarr-renovate[bot] bd0d910137 fix(deps): update tanstack-query monorepo to ^5.66.6 (#2357)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-18 10:18:04 +00:00
homarr-renovate[bot] 146fe499db fix(deps): update dependency typescript-eslint to ^8.24.1 (#2360)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-17 17:34:10 +00:00
homarr-renovate[bot] 96a071725e fix(deps): update mantine monorepo to ^7.17.0 (#2359)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-17 16:59:56 +00:00
homarr-renovate[bot] 91c61f8c06 fix(deps): update dependency swagger-ui-react to ^5.19.0 (#2358)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-17 16:54:35 +00:00
homarr-renovate[bot] c59fbfc677 fix(deps): update dependency jotai to ^2.12.1 (#2354)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-17 13:45:08 +00:00
homarr-renovate[bot] 602faf6221 fix(deps): update tanstack-query monorepo to ^5.66.4 (#2355)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-17 13:28:29 +00:00
homarr-renovate[bot] cdc1d38be6 chore(deps): update react monorepo (#2351)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-17 09:46:54 +00:00
homarr-renovate[bot] 4764f41e1b fix(deps): update dependency mantine-react-table to v2.0.0-beta.9 (#2348)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-17 05:54:11 +00:00
homarr-renovate[bot] f6450cb4b4 chore(deps): update pnpm to v10.4.1 (#2345)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-17 00:57:59 +00:00
homarr-crowdin[bot] a4317f9479 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-17 00:47:25 +00:00
Jack Weller a62aa09db6 fix: typo in pr template (#2344) 2025-02-16 22:19:22 +01:00
homarr-renovate[bot] f32af66a6a fix(deps): update tanstack-query monorepo to ^5.66.3 (#2343)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-16 13:20:26 +00:00
homarr-renovate[bot] 4152ca7366 chore(deps): update dependency @types/react to v19.0.9 (#2342)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-16 12:59:57 +00:00
Meier Lukas ac941362de chore(issue-template): add missing homarr version 1.6.0 2025-02-16 11:42:00 +01:00
homarr-renovate[bot] f8fedefde9 fix(deps): update tanstack-query monorepo to ^5.66.2 (#2341)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-16 11:39:33 +01:00
homarr-crowdin[bot] 5154b6d17a chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-16 11:39:32 +01:00
homarr-renovate[bot]andMeier Lukas f6c923017c fix(deps): update dependency prettier to ^3.5.1 (#2284)
* fix(deps): update dependency prettier to ^3.5.1

* fix(deps): update dependency prettier to ^3.5.1

* fix: format issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-16 11:39:32 +01:00
Manuel 22a341ea4d feat: downgrade log level callback succeeded (#2329) 2025-02-16 11:39:32 +01:00
Manuel 3257f6101b fix: missing cover types media organizers (#2328) 2025-02-16 11:39:32 +01:00
homarr-renovate[bot] 9c4e5f9842 chore(deps): update dependency semantic-release to ^24.2.3 (#2339)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-16 11:39:31 +01:00
Meier Lukas ffe7259802 feat(groups): add home board settings (#2321) 2025-02-16 11:39:31 +01:00
homarr-renovate[bot] 33ef9f6678 fix(deps): update dependency octokit to ^4.1.2 (#2333)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-16 11:39:31 +01:00
homarr-crowdin[bot] 91bbc47b00 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-16 11:38:34 +01:00
Releases Homarr d7822d2b98 chore(release): 1.6.0 [skip ci] 2025-02-14 19:13:36 +00:00
homarr-releases[bot] 51bea03099 chore(release): automatic release v1.6.0 2025-02-14 19:12:54 +00:00
homarr-renovate[bot] 8ee39eb6db fix(deps): update dependency sass to ^1.85.0 (#2326)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-14 02:17:04 +00:00
homarr-renovate[bot] 4074d189e3 chore(deps): update pnpm to v10.4.0 (#2325)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-14 00:54:38 +00:00
homarr-renovate[bot] 7a7f40a140 chore(deps): update dependency @types/node to ^22.13.4 (#2324)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-13 22:45:58 +00:00
homarr-renovate[bot] 1f9442f7f4 chore(deps): update dependency @types/node to ^22.13.3 (#2323)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-13 22:17:18 +00:00
Meier Lukas a38afb05d3 fix: add mysql pool with keep-alive to not close the connection (#2282) 2025-02-13 18:41:21 +01:00
homarr-renovate[bot] fae1aacf20 chore(deps): update node.js to v22.14.0 (#2320)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-13 18:40:31 +01:00
homarr-renovate[bot] d508fd466d chore(deps): update dependency @types/node to ^22.13.2 (#2316)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-13 04:54:32 +00:00
homarr-renovate[bot] 4d3cc1d806 fix(deps): update dependency @ctrl/qbittorrent to ^9.4.0 (#2315)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-13 02:18:40 +00:00
homarr-crowdin[bot] e1fa92b91e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-13 00:45:21 +00:00
homarr-renovate[bot] 10454656a2 fix(deps): update turbo monorepo to ^2.4.2 (#2313)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-12 22:36:27 +00:00
homarr-crowdin[bot] ee08725d53 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-12 00:44:59 +00:00
homarr-renovate[bot] 379675a901 fix(deps): update dependency zod to ^3.24.2 (#2311)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-11 23:18:01 +00:00
homarr-renovate[bot] 8649faca79 fix(deps): update dependency @ctrl/qbittorrent to ^9.3.0 (#2310)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-11 18:54:19 +00:00
homarr-renovate[bot] 91260bf0d4 chore(deps): update node.js to v22.14.0 (#2307)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-11 17:45:14 +00:00
homarr-renovate[bot] 51038cc03c chore(deps): update dependency eslint to ^9.20.1 (#2309)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-11 17:36:09 +00:00
homarr-renovate[bot] fc43da59f8 fix(deps): update dependency jotai to ^2.12.0 (#2306)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-11 06:21:49 +00:00
homarr-renovate[bot] 2399967868 fix(deps): update nextjs monorepo to ^15.1.7 (#2302)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-11 03:02:53 +00:00
homarr-renovate[bot] 480dae09c4 chore(deps): update pnpm to v10.3.0 (#2301)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-11 00:54:23 +00:00
homarr-crowdin[bot] 2d2ba2e088 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-11 00:45:04 +00:00
Meier Lukas 0502e47770 fix: add error handling for available updates (#2289) 2025-02-10 20:25:03 +01:00
homarr-crowdin[bot] 3c877be44a chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-10 19:22:24 +00:00
homarr-renovate[bot] 8371f46d34 fix(deps): update dependency typescript-eslint to ^8.24.0 (#2297)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-10 17:34:03 +00:00
homarr-renovate[bot] 2b9f834d96 fix(deps): update turbo monorepo to ^2.4.1 (#2296)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-10 17:33:30 +00:00
homarr-renovate[bot] 8ec0080fca fix(deps): update dependency drizzle-orm to ^0.39.3 (#2295)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-10 16:54:54 +00:00
Meier Lukas b7fd2470ee fix(users): edit profile username not lowercase (#2279) 2025-02-09 19:09:48 +01:00
Meier Lukas 749b0c6ee9 feat(lang): add catalan language (#2283) 2025-02-09 19:09:38 +01:00
homarr-renovate[bot] 25b7419d7b chore(deps): update dependency semantic-release to ^24.2.2 (#2286)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-09 15:42:54 +00:00
homarr-renovate[bot] 7edaa48fb9 fix(deps): update dependency @extractus/feed-extractor to v7.1.4 (#2281)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-09 03:23:10 +00:00
homarr-crowdin[bot] 627064b632 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-09 00:48:17 +00:00
homarr-renovate[bot] 42a68140b1 fix(deps): update mantine monorepo to ^7.16.3 (#2275)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-08 11:28:49 +00:00
homarr-renovate[bot]andMeier Lukas f6a5c04017 chore(deps): update pnpm to v10 (#2239)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-08 11:16:07 +01:00
Toine Rademacher (toineenzo) 2e150d548f chore(integrations): change icon links to svg and new repository (#2008) 2025-02-08 10:40:15 +01:00
Yossi HillaliandMeier Lukas 584c660906 fix(calendar): info popover overlap (#2268)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-08 10:37:26 +01:00
homarr-crowdin[bot] 7abc4e4e79 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-08 00:44:43 +00:00
homarr-renovate[bot] 0e553a5f8f chore(deps): update dependency eslint to ^9.20.0 (#2273)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-07 21:55:01 +00:00
Meier Lukas dff6cb9d31 feat(settings): add simple-ping settings (#2118) 2025-02-07 22:10:35 +01:00
Meier Lukas c04c42dc8a chore(issue-template): add missing homarr version 1.5.0 2025-02-07 20:20:22 +01:00
Releases Homarr 60323b2651 chore(release): 1.5.0 [skip ci] 2025-02-07 19:13:19 +00:00
homarr-releases[bot] 93235cab6f chore(release): automatic release v1.5.0 2025-02-07 19:12:36 +00:00
homarr-renovate[bot] c849109df5 fix(deps): update dependency @tabler/icons-react to ^3.30.0 (#2266)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-07 14:46:12 +00:00
homarr-renovate[bot] 0da5a1b0fb fix(deps): update dependency ioredis to v5.5.0 (#2264)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-07 10:54:55 +00:00
homarr-renovate[bot] 7a8e671205 fix(deps): update testcontainers-node monorepo to ^10.18.0 (#2259)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-07 00:56:39 +00:00
homarr-renovate[bot] 3cbb656ee9 fix(deps): update dependency octokit to ^4.1.1 (#2262)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-07 00:56:14 +00:00
homarr-crowdin[bot] 55a493c475 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-07 00:44:51 +00:00
homarr-renovate[bot] 7bbbaf343b fix(deps): update dependency sass to ^1.84.0 (#2257)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-06 00:56:25 +00:00
homarr-crowdin[bot] 09b6323246 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-06 00:45:07 +00:00
homarr-renovate[bot] 3d0b319a88 fix(deps): update dependency drizzle-orm to ^0.39.2 (#2255)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-05 21:53:21 +00:00
ManuelandMeier Lukas 26468a4137 fix: foreign key reference default search engine (#2211)
* fix: foreign key reference default search engine

* fix: add sqlite migration to fix on delete action

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-05 11:36:42 +01:00
homarr-crowdin[bot] 62c83b79b4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-05 00:44:34 +00:00
Manuel da09826393 fix: make system health temp optional (#2247) 2025-02-04 19:10:12 +01:00
ManuelandMeier Lukas 8058b6207a feat: add api key delete (#2210)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-04 17:14:15 +01:00
homarr-renovate[bot] c623a420ca fix(deps): update dependency trpc-to-openapi to ^2.1.3 (#2244)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-04 06:55:03 +00:00
homarr-renovate[bot] d5e36835f6 chore(deps): update dependency @types/node to ^22.13.1 (#2243)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-04 00:54:41 +00:00
homarr-crowdin[bot] 1f12a893ff chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-04 00:44:13 +00:00
Manuel bb67bf5fa2 feat: open all apps in category (#2212) 2025-02-03 21:28:01 +01:00
Jack WellerandMeier Lukas be603badfe feat: custom time/date format in clock widget (#2180)
* feat: custom time/date format in clock widget

* feat: add customFormat variables for old-imports

* fix: added missing comma for old-import

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-03 19:33:29 +01:00
homarr-crowdin[bot]andMeier Lukas 0d97cc50c2 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-03 18:24:58 +00:00
homarr-renovate[bot] 14a4b94911 chore(deps): update vitest monorepo to ^3.0.5 (#2227)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-03 18:23:27 +00:00
homarr-renovate[bot] 83044d23dd fix(deps): update dependency typescript-eslint to ^8.23.0 (#2232)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-03 18:22:17 +00:00
homarr-renovate[bot] 12456af101 chore(deps): update pnpm to v9.15.5 (#2224)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-03 18:19:36 +00:00
Meier Lukas 8c656febeb ci: fix corepack issue (#2237) 2025-02-03 19:10:49 +01:00
homarr-crowdin[bot] 2598ade925 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-02 00:46:10 +00:00
homarr-renovate[bot] 46cfb2383b fix(deps): update dependency semver-parser to ^4.1.8 (#2216)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-01 08:35:16 +00:00
homarr-renovate[bot] a385337268 fix(deps): update dependency jotai to ^2.11.3 (#2215)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-02-01 03:00:53 +00:00
homarr-crowdin[bot] bc79c6abab chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-02-01 00:47:18 +00:00
ManuelandMeier Lukas 5f36d8b125 feat: improve consistency and design (#1867)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-01-31 23:32:08 +01:00
homarr-renovate[bot] 6a9b65f219 chore(deps): update dependency @types/node to ^22.13.0 (#2208)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-31 20:18:06 +00:00
homarr-renovate[bot] 6ce7bc0ee2 fix(deps): update turbo monorepo to ^2.4.0 (#2207)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-31 19:40:11 +00:00
Meier Lukas 36c246cca8 chore(issue-template): add missing homarr version 1.4.0 2025-01-31 20:38:03 +01:00
Releases Homarr 3506f875e3 chore(release): 1.4.0 [skip ci] 2025-01-31 19:13:04 +00:00
homarr-releases[bot] e30e4b8cb7 chore(release): automatic release v1.4.0 2025-01-31 19:12:20 +00:00
homarr-renovate[bot] 9662e1abba fix(deps): update tiptap monorepo to v2.11.5 (#2203)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-31 09:33:25 +00:00
homarr-renovate[bot] e44c3a7bc8 fix(deps): update tanstack-query monorepo to ^5.66.0 (#2202)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-31 09:16:43 +00:00
homarr-renovate[bot] c287e9965f fix(deps): update dependency jotai to ^2.11.2 (#2201)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-31 02:14:23 +00:00
homarr-crowdin[bot] bea0124e3f chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-31 00:44:11 +00:00
Manuel d4154d259f fix: respect certificates for app ping (#2198) 2025-01-30 23:12:45 +01:00
Meier Lukas 77746278a3 fix(docker): missing production env variable (#2188) 2025-01-30 22:14:52 +01:00
Meier Lukas c75d4f0f58 fix: negative curve radius system health (#2197) 2025-01-30 22:14:26 +01:00
Meier Lukas 96fd5cc35e fix: use hostname for suspense query url (#2187) 2025-01-30 22:14:14 +01:00
Meier Lukas bd0b7c9518 fix: board crashes with empty string favicon (#2192) 2025-01-30 20:15:05 +01:00
homarr-renovate[bot] c05c51856b fix(deps): update tiptap monorepo to v2.11.4 (#2195)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-30 16:18:52 +00:00
homarr-crowdin[bot] dac1646ecc chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-30 00:43:11 +00:00
Yossi Hillali c19a4009f3 feat: weather widget - add wind speed, option to disable decimals for temperature & redesign dropdown forecast (#2099) 2025-01-29 23:02:13 +02:00
homarr-renovate[bot] 5657384d2a chore(deps): update dependency @types/swagger-ui-react to v5 (#2181)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-29 21:30:45 +01:00
homarr-renovate[bot] 4c72a34daf fix(deps): update dependency drizzle-orm to ^0.39.1 (#2186)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-29 16:39:45 +00:00
homarr-renovate[bot] de48ef21e9 chore(deps): update dependency @types/chroma-js to v3.1.1 (#2185)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-29 16:18:59 +00:00
homarr-renovate[bot] 37ccfab89a fix(deps): update dependency drizzle-kit to ^0.30.4 (#2183)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-29 15:43:18 +00:00
homarr-crowdin[bot] 07d60fe13e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-29 00:44:09 +00:00
Meier Lukas bbd1b0c5d0 chore: remove node-options from example env 2025-01-28 22:26:44 +01:00
Meier Lukas c130e92661 chore(issue-template): add missing homarr version 1.3.1 2025-01-28 22:24:58 +01:00
Releases Homarr 0de853ff37 chore(release): 1.3.1 [skip ci] 2025-01-28 21:20:02 +00:00
homarr-releases[bot] a438a23f4e chore(release): automatic release v1.3.1 2025-01-28 21:19:19 +00:00
Manuel 8dd7fe297c fix: automatic search engine creation (#2172) 2025-01-28 22:18:31 +01:00
Manuel 780efab80c fix: app url line clamp (#2170) 2025-01-28 20:33:04 +01:00
homarr-renovate[bot] a4e9abcda1 fix(deps): update dependency swagger-ui-react to ^5.18.3 (#2164)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-28 13:00:40 +00:00
homarr-renovate[bot] 55b1afbb21 fix(deps): update tanstack-query monorepo to ^5.65.1 (#2161)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-28 09:17:32 +00:00
homarr-renovate[bot] b447fc9fe4 chore(deps): update dependency @types/node to ^22.12.0 (#2159)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-28 02:15:44 +00:00
homarr-crowdin[bot] 51ebaba399 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-28 00:44:31 +00:00
homarr-renovate[bot]andMeier Lukas 9d4aea2c41 fix(deps): update dependency typescript-eslint to ^8.22.0 (#2149)
* fix(deps): update dependency typescript-eslint to ^8.22.0

* fix: lint issues

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-01-27 22:32:23 +01:00
Meier Lukas 4dcdac6621 chore(issue-template): add missing homarr version 1.3.0 2025-01-27 21:22:18 +01:00
Releases Homarr 84bc242834 chore(release): 1.3.0 [skip ci] 2025-01-27 20:09:27 +00:00
homarr-releases[bot] f840f4c600 chore(release): automatic release v1.3.0 2025-01-27 20:08:24 +00:00
Manuel 5c8d7fcc15 feat: log body integration test failure (#2151) 2025-01-27 21:06:27 +01:00
Meier Lukas 93dc3ae97e fix: unable to update integration when encryption key changed (#2133) 2025-01-27 20:36:03 +01:00
Meier Lukas 7cb0aa70f1 feat(category): save collapse state for signed in users (#2134) 2025-01-27 20:34:50 +01:00
homarr-renovate[bot] 5c219a8b59 fix(deps): update testcontainers-node monorepo to ^10.17.2 (#2148)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-27 17:54:15 +00:00
homarr-renovate[bot] 50970e431d fix(deps): update tanstack-query monorepo to ^5.65.0 (#2146)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-27 17:33:14 +00:00
homarr-renovate[bot] af67bf26d6 fix(deps): update dependency drizzle-zod to ^0.7.0 (#2143)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-27 17:29:42 +00:00
homarr-renovate[bot] 0d5487366c fix(deps): update dependency drizzle-kit to ^0.30.3 (#2142)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-27 17:28:44 +00:00
Meier Lukas 274eaa9208 docs: add note about moved repository and migration to 1.0 2025-01-27 18:05:32 +01:00
Meier Lukas 3236402d2b chore(issue-template): add warning alert to issue templates for 1.0 (#2269) 2025-01-27 17:46:21 +01:00
homarr-renovate[bot] f0daef237c fix(deps): update dependency drizzle-orm to ^0.39.0 (#2144)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-27 11:53:35 +00:00
homarr-crowdin[bot] 54a62c49cf chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-27 00:45:54 +00:00
Meier Lukas 92f70f5a03 feat(user): add search in new tab preference (#2125) 2025-01-26 22:37:48 +01:00
Meier Lukas c43a2f0488 refactor: move zod import from validation package to zod (#2111)
* refactor: move zod import from validation package to zod

* refactor: move missing zod imports
2025-01-26 22:16:27 +01:00
Meier Lukas 1146c59a41 feat: add opacity for categories (#2132) 2025-01-26 21:26:42 +01:00
Meier Lukas af1f8eaf76 fix: websocket is not keep alive (#2131) 2025-01-26 21:26:21 +01:00
Meier Lukas dd2ca13004 fix: multi-text-input not saving on blur (#2128) 2025-01-26 21:26:08 +01:00
Meier Lukas b38de29a88 fix: app url not required (#2130) 2025-01-26 21:25:57 +01:00
Meier Lukas 2bb44e1666 fix: bookmarks show unauthorized when not logged in (#2123) 2025-01-26 21:25:04 +01:00
Meier Lukas 57b523fa80 fix: split up proxmox secrets are incorrectly migrated (#2124) 2025-01-26 21:24:50 +01:00
homarr-renovate[bot] ecbd2d14da chore(deps): update dependency @types/swagger-ui-react to ^4.19.0 (#2127)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-26 13:08:59 +00:00
homarr-renovate[bot] bbac4128eb fix(deps): update mantine monorepo to ^7.16.2 (#2129)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-26 12:56:37 +00:00
homarr-crowdin[bot]andMeier Lukas 5aaca9261f chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-01-26 10:58:49 +00:00
homarr-renovate[bot]andMeier Lukas 963d77463a fix(deps): update dependency @t3-oss/env-nextjs to ^0.12.0 (#2117)
* fix(deps): update dependency @t3-oss/env-nextjs to ^0.12.0

* fix: inconsistent tanstack versions

* fix: broken lock file

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-01-26 11:50:53 +01:00
Spillebulle b28274fa85 chore(lang): fix typo in english translation (#2112) 2025-01-25 16:34:56 +01:00
homarr-crowdin[bot] 3e85f4e44d chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-25 00:42:53 +00:00
Meier Lukas 614f8077e1 chore(issue-template): add missing homarr version 1.2.0 2025-01-24 20:22:11 +01:00
homarr-renovate[bot] b36b5c1eb1 chore(deps): update dependency eslint to ^9.19.0 (#2104)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-24 20:19:35 +01:00
Releases Homarr b4b19f486e chore(release): 1.2.0 [skip ci] 2025-01-24 19:12:53 +00:00
homarr-releases[bot] 32cf09a62e chore(release): automatic release v1.2.0 2025-01-24 19:11:55 +00:00
Meier Lukas a1ba4372da fix: system health monitoring gets proxmox id passed (#2094) 2025-01-24 17:36:57 +01:00
Meier Lukas 4e153b8046 fix: url-encode nzbget credentials (#2093) 2025-01-24 17:36:37 +01:00
Meier Lukas ac788650fb fix: issue with foreign key constraint do to empty string for home board (#2088) 2025-01-24 17:36:27 +01:00
homarr-crowdin[bot] a9b0e26c8d chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-24 00:44:37 +00:00
Yossi Hillali 132db15424 feat: add bookmarks options (apps) (#2048) 2025-01-23 22:10:16 +02:00
homarr-renovate[bot] 860b73fa3f chore(deps): update dependency @types/node to ^22.10.10 (#2091)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-23 18:20:56 +00:00
Yossi Hillali e4dd19b574 fix: date & time widget padding cut off (#2089) 2025-01-23 19:25:44 +02:00
homarr-renovate[bot] 1b4ed02010 chore(deps): update dependency @types/ws to ^8.5.14 (#2090)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-23 16:55:45 +00:00
homarr-renovate[bot] 47b7cbb086 chore(deps): update node.js to v22.13.1 (#2068)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-23 17:47:14 +01:00
homarr-renovate[bot] 7a6477a272 chore(deps): update vitest monorepo to ^3.0.4 (#2082)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-23 16:19:41 +00:00
homarr-renovate[bot] bff536008c chore(deps): update dependency @types/react to v19.0.8 (#2081)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-23 15:54:12 +00:00
homarr-renovate[bot] 8b040eddef fix(deps): update turbo monorepo to ^2.3.4 (#2085)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-23 15:45:42 +00:00
homarr-crowdin[bot] ce87d62b35 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-23 00:43:53 +00:00
Meier Lukas f88cc7381b chore(issue-template): add missing homarr versions 2025-01-22 21:00:59 +01:00
Releases Homarr cb54de524b chore(release): 1.1.0 [skip ci] 2025-01-22 19:46:18 +00:00
homarr-releases[bot] 7d8c7b9c2d chore(release): automatic release v1.1.0 2025-01-22 19:45:14 +00:00
Meier Lukas 73f7d885cd fix: docker hosts and ports env variable wrongly used (#2050)
* fix: docker hosts and ports env variable wrongly used

* fix: ci issues
2025-01-22 20:43:54 +01:00
Meier Lukas 470d27e091 fix: hide current language switch in other users preferences (#2069) 2025-01-22 20:06:40 +01:00
Meier Lukas 99c8e5b609 fix: add missing request handler for rss feeds (#2006)
* fix: add missing request handler for rss feeds

* fix: ci issues
2025-01-22 18:23:49 +01:00
Meier Lukas b413e2ec7d fix: change error when section for item not found to logged warning and remove item (#2044) 2025-01-22 18:18:14 +01:00
Meier Lukas 29d4f9e003 fix: entity state and execute automation cards aren't movable (#2043)
* fix: entity state and execute automation cards aren't movable

* fix: disable eslint issue
2025-01-22 18:17:15 +01:00
homarr-renovate[bot] 1f54bf5b9e fix(deps): update tiptap monorepo to v2.11.3 (#2067)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-22 16:39:48 +00:00
homarr-renovate[bot] 4d8c22a4e6 fix(deps): update nextjs monorepo to ^15.1.6 (#2063)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-22 11:16:22 +00:00
homarr-renovate[bot] 3e9e1e5e4f fix(deps): update dependency undici to v7.3.0 (#2061)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-22 10:35:59 +00:00
homarr-renovate[bot] 582b981e69 chore(deps): update dependency proxmox-api&gt;undici to v7.3.0 (#2060)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-22 10:15:15 +00:00
homarr-crowdin[bot] f8ec4a43cf chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-22 00:44:52 +00:00
homarr-renovate[bot] 2a8809551c fix(deps): update dependency @tabler/icons-react to ^3.29.0 (#2057)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-21 21:40:00 +00:00
homarr-renovate[bot] 9df59296ff chore(deps): update node.js to v22.13.1 (#2053)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-21 17:16:47 +00:00
homarr-renovate[bot] 701538fcb5 fix(deps): update testcontainers-node monorepo to ^10.17.1 (#2047)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-21 14:47:05 +00:00
homarr-renovate[bot] 0e82f2d199 chore(deps): update dependency testcontainers to ^10.17.0 (#2046)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-21 14:36:28 +00:00
homarr-renovate[bot] a2b5d60aa8 chore(deps): update vitest monorepo to ^3.0.3 (#2045)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-21 14:16:33 +00:00
Yossi Hillali 02dabfcd01 feat: add dropdown list for switching boards (#2042) 2025-01-21 14:34:41 +01:00
Meier Lukas 931f312291 fix: unable to move items with touch devices (#2038) 2025-01-21 13:54:44 +01:00
Meier Lukas 175927970b fix: empty env variables should be ignored (#2040)
* fix: empty env variables should be ignored

* fix: e2e test fails because of empty env variable values
2025-01-21 13:09:49 +01:00
Meier Lukas c922c5b083 fix: certificate card delete button not reachable caused by overflow (#2037) 2025-01-21 11:03:48 +01:00
Meier Lukas 73bbcfeee8 fix: url of batch link can get to long with 414 http code (#2036) 2025-01-21 11:03:16 +01:00
Meier Lukas 7a2d97ba91 fix: copy only working for https and localhost, adding open in new tab (#2035) 2025-01-21 11:03:03 +01:00
Meier Lukas e47d497560 chore: add stack and cause to trpc error logging (#2033) 2025-01-21 11:02:33 +01:00
Meier Lukas b9271ba14a chore: make error messages for auth errors more detailed (#2041) 2025-01-21 11:02:21 +01:00
Meier Lukas 9d85677046 feat: add support for calendar without integrations, add today mark (#2016)
* feat: add support for calendar without integrations, add today mark

* fix: ci issues
2025-01-21 11:01:52 +01:00
Meier Lukas b30c192b8f feat: add initial focus on new integration search (#2015) 2025-01-21 11:00:56 +01:00
Meier Lukas d4f04da709 fix: add item does not respect dynamic sections (#2010)
* bug: add item does not respect dynamic sections

* fix: deepsource issue
2025-01-21 11:00:29 +01:00
Meier Lukas 7960a4cea1 fix: unable to change home board in user preferences (#2011) 2025-01-21 10:59:04 +01:00
homarr-crowdin[bot] 243d7e9dd4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-21 09:23:53 +00:00
Yossi Hillali bdefff636b fix: health monitoring cpu temp ring when no data, disks health when no data (#2029) 2025-01-20 21:43:18 +01:00
homarr-renovate[bot] 55feb9dff8 fix(deps): update dependency typescript-eslint to ^8.21.0 (#2032)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-20 17:33:27 +00:00
homarr-renovate[bot] 45af6442a1 fix(deps): update dependency jotai to ^2.11.1 (#2026)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-20 14:15:54 +00:00
homarr-crowdin[bot] 72debef4b4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-20 05:32:12 +00:00
Meier Lukas 25635db17e chore: update homarr-docs-sitemap 2025-01-19 10:56:20 +01:00
homarr-renovate[bot] 1897752e38 fix(deps): update mantine monorepo to ^7.16.1 (#2014)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-19 09:53:43 +00:00
homarr-renovate[bot] 554853ffbd fix(deps): update tanstack-query monorepo to ^5.64.2 (#2013)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-19 08:53:10 +00:00
homarr-crowdin[bot] e40237e4a5 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-19 00:47:05 +00:00
SeDemalandMeier Lukas fa6262cf5e fix: User options switch on load value always false (#1995)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-01-18 08:48:07 +00:00
homarr-renovate[bot] 49bd02e869 fix(deps): update dependency better-sqlite3 to ^11.8.1 (#2005)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-18 06:52:55 +00:00
homarr-crowdin[bot] 3c8fbe371b chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-18 00:42:34 +00:00
Releases Homarr 81a8cf4b36 chore(release): 1.0.1 [skip ci] 2025-01-17 19:14:12 +00:00
homarr-releases[bot] b5c008b4ad chore(release): automatic release v1.0.1 2025-01-17 19:13:04 +00:00
Toine Rademacher (toineenzo)andMeier Lukas 343438391b chore: Fixed broken links in README.md (#1985)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-01-17 17:39:40 +00:00
Toine Rademacher (toineenzo) 8400b9fb11 chore: Change icon and issue link to new repo in layout.tsx and index.tsx (#1986) 2025-01-17 17:35:20 +00:00
Meier Lukas fe65e73fff chore: add version 1.0.0 to bug issue template (#1983) 2025-01-17 18:23:58 +01:00
Meier Lukas e023edf9d6 fix: add missing old-import proxmox integration kind mapping (#1979) 2025-01-17 16:12:02 +01:00
Meier Lukas 927913cf4e fix: add error from ldap bind operation to log statement (#1980) 2025-01-17 16:11:50 +01:00
Meier Lukas 07d8103051 chore: update docs sitemap (#1982) 2025-01-17 16:11:29 +01:00
homarr-renovate[bot] fe08ccf589 chore(deps): update vitest monorepo to v3 (major) (#1964)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-17 16:10:59 +01:00
homarr-renovate[bot] c55207bd59 fix(deps): update dependency flag-icons to ^7.3.2 (#1981)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-17 15:09:46 +00:00
homarr-renovate[bot] e35811c921 fix(deps): update nextjs monorepo to ^15.1.5 (#1978)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-17 15:09:21 +00:00
Meier Lukas e481e116ff Merge branch 'main' into dev 2025-01-17 13:52:59 +01:00
Meier Lukas 32be09a4a7 docs: remove beta banner from readme 2025-01-17 13:51:34 +01:00
Releases Homarr d0a20dbfc5 chore(release): 1.0.0 [skip ci] 2025-01-17 12:47:30 +00:00
homarr-releases[bot] 68329965f7 chore(release): automatic release v1.0.0 2025-01-17 12:46:22 +00:00
Meier Lukas f9fea70d39 chore: change documentation base url to homarr.dev (#1826) 2025-01-17 13:45:18 +01:00
Meier Lukas 3ed46aecbd feat(widget): add proxmox integration (#1969)
* feat(widget): add proxmox integration

* fix: broken lock file

* fix: ci issues

* fix: ci issues

* fix: ci issues

* chore: debug temporary

* fix: name is not used correctly for nodes and storage in proxmox

* fix: remove temporary debu logs

* fix: job runs for both cluster and system health and throws error

* fix: ts-expect-error is unnecessary

* fix: remove unused import
2025-01-17 13:01:04 +01:00
Meier Lukas a31c6a97e0 ci: change weekly release base to main branch (#1976) 2025-01-17 12:59:02 +01:00
homarr-crowdin[bot]andMeier Lukas d1be727eb3 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-01-17 11:54:32 +00:00
Meier Lukas a1084f91e5 fix: mysql transactions do not work with run property of sqlite (#1974)
* fix: mysql transactions do not work with run property of sqlite

* fix: ci issues
2025-01-17 12:53:01 +01:00
Meier Lukas 7622f0a4d2 fix: websockets not working extend not defined (#1975)
* fix: websockets not working extend not defined

* fix: revert dockerode to 4.0.2
2025-01-17 12:52:42 +01:00
homarr-renovate[bot] 34cacb3153 fix(deps): update dependency flag-icons to ^7.3.1 (#1970)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-17 02:57:17 +00:00
homarr-renovate[bot] 48cf5d5304 chore(deps): update dependency prettier-plugin-packagejson to ^2.5.8 (#1973)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-17 02:14:40 +00:00
Meier Lukas 8c36c3e36b feat(certificates): handle self signed certificates (#1951)
* wip: add page and loading of certificates in folder

* wip: add certificate addition and removal

* feat: add removal ui for certificates

* feat: migrate integrations to fetch or agent with trusted certificates

* fix: lock file issues

* fix: typecheck issue

* fix: inconsistent package versions

* chore: address pull request feedback

* fix: add missing navigation item and restrict access to page

* chore: address pull request feedback

* fix: inconsistent undici dependency version

* fix: inconsistent undici dependency version
2025-01-17 00:08:40 +01:00
homarr-renovate[bot] b10b2013af fix(deps): update dependency drizzle-orm to ^0.38.4 (#1967)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-16 15:33:39 +00:00
homarr-renovate[bot] ea8acc83ea fix(deps): update dependency flag-icons to ^7.3.0 (#1966)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-16 14:44:14 +00:00
homarr-renovate[bot] cb96508634 fix(deps): update dependency drizzle-kit to ^0.30.2 (#1965)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-16 14:34:48 +00:00
homarr-renovate[bot] 5e83847772 fix(deps): update dependency undici to v7.2.3 (#1963)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-16 09:32:31 +00:00
homarr-renovate[bot] 1557537763 chore(deps): update dependency @types/node to ^22.10.7 (#1962)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-16 00:54:29 +00:00
homarr-crowdin[bot] 5f993d2630 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-16 00:43:40 +00:00
homarr-renovate[bot] 44767c46c2 fix(deps): update dependency flag-icons to ^7.2.4 (#1960)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-15 22:53:09 +00:00
homarr-renovate[bot] aaddf0d987 fix(deps): update dependency undici to v7.2.2 (#1957)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-15 17:41:33 +00:00
homarr-crowdin[bot] 7f8e6e4ea1 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-15 16:13:54 +00:00
homarr-renovate[bot] 34a76c98e8 fix(deps): update dependency better-sqlite3 to ^11.8.0 (#1956)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-15 03:17:53 +00:00
homarr-renovate[bot] 0f82a6f63d chore(deps): update dependency prettier-plugin-packagejson to ^2.5.7 (#1954)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-14 20:42:28 +00:00
Meier Lukas d4bb014a9b fix(category): remove not always working and ignoring dynamic sections (#1939) 2025-01-14 19:55:21 +01:00
Meier Lukas e01d74f4f8 feat(board): add mobile home board (#1910)
* feat(board): add mobile home board

* fix: add missing translations

* fix: mysql key reference with other datatype

* fix: format issue

* fix: missing trpc context arguments in tests

* fix: missing trpc context arguments in tests
2025-01-14 19:54:55 +01:00
Meier Lukas ec3bda34e0 fix(media-request): media and media-request status can have missing values (#1911) 2025-01-14 19:45:21 +01:00
Meier Lukas 5c16fb8d6c chore: add start command to run from source (#1928)
* chore: add start command to run from source

* fix: start command does not run in parallel
2025-01-14 19:44:37 +01:00
Meier Lukas 986e013ca3 fix(app): missing noreferer attribute for anchor tag (#1915) 2025-01-14 19:31:50 +01:00
Meier Lukas 1fd3fd8dfb refactor: env validation typescript and common package (#1912) 2025-01-14 19:03:38 +01:00
homarr-renovate[bot] a03a01b964 fix(deps): update mantine monorepo to ^7.16.0 (#1948)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-14 17:53:17 +00:00
Meier Lukas 4d94fce523 test: adjust nzbget test to use append instead of scan (#1952) 2025-01-14 18:39:12 +01:00
homarr-renovate[bot] 75c791801e fix(deps): update dependency eslint-config-prettier to v10 (#1937)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-14 17:48:54 +01:00
homarr-renovate[bot] 3e67b411b6 chore(deps): update dependency @types/react to v19.0.7 (#1947)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-14 09:16:54 +00:00
homarr-renovate[bot] ff1a003037 fix(deps): update dependency sass to ^1.83.4 (#1946)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-14 06:41:43 +00:00
homarr-renovate[bot] 99c69ba65d fix(deps): update dependency sass to ^1.83.3 (#1945)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-14 05:49:13 +00:00
homarr-crowdin[bot] f5cf92c49c chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-14 00:44:35 +00:00
homarr-renovate[bot] 05dc51b38e chore(deps): update pnpm to v9.15.4 (#1943)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-13 21:24:22 +00:00
homarr-renovate[bot] a53e0f7cee fix(deps): update tanstack-query monorepo to ^5.64.1 (#1935)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-13 19:27:22 +00:00
homarr-renovate[bot] f3a91ca37f chore(deps): update dependency @types/node to ^22.10.6 (#1942)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-13 19:15:16 +00:00
homarr-renovate[bot] 1e406a8a58 fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.4.1 (#1936)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-13 18:49:04 +00:00
homarr-renovate[bot] 2ea763c231 fix(deps): update dependency eslint-plugin-react to ^7.37.4 (#1934)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-13 18:46:24 +00:00
homarr-renovate[bot] 579bb2a33e chore(deps): update dependency @types/react to v19.0.6 (#1933)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-13 18:45:09 +00:00
homarr-renovate[bot] feecdd36d4 fix(deps): update dependency typescript-eslint to ^8.20.0 (#1938)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-13 18:24:00 +00:00
Meier Lukas 56755d1ab4 fix: trpc removed export anything from client in react-query (#1941) 2025-01-13 18:50:51 +01:00
homarr-crowdin[bot] 6b36ec3103 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-13 00:47:42 +00:00
homarr-renovate[bot] fc6dbc92df chore(deps): update react monorepo (#1927)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-12 10:45:02 +00:00
homarr-crowdin[bot] 467d5e21ae chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-12 00:49:05 +00:00
homarr-renovate[bot] b399cb6979 fix(deps): update tanstack-query monorepo to ^5.64.0 (#1922)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-11 19:13:10 +00:00
Meier Lukas 4d69b81676 ci: add missing git config to release pipeline 2025-01-11 11:13:48 +01:00
homarr-crowdin[bot] a1fc9902a5 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-11 10:06:50 +00:00
Meier Lukas 0649220080 Merge branch 'beta' into dev 2025-01-11 10:56:33 +01:00
homarr-renovate[bot] e502fbc533 chore(deps): update dependency eslint to ^9.18.0 (#1916)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-10 21:54:40 +00:00
Releases Homarr f8c3dab7f9 chore(release): 1.0.0-beta.12 [skip ci] 2025-01-10 19:13:50 +00:00
homarr-releases[bot] 039800d94d chore(release): automatic release v1.0.0 2025-01-10 19:12:41 +00:00
homarr-renovate[bot] 9a7e421f68 fix(deps): update tiptap monorepo to v2.11.2 (#1913)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-10 18:42:40 +00:00
Meier Lukas e695fb64d3 fix(widget): set-options from widget components should be partial (#1882) 2025-01-10 14:47:19 +01:00
Meier Lukas 62da953356 feat(items): add search to selection (#1887) 2025-01-10 14:46:39 +01:00
Meier Lukas 39171ac76a refactor(icons): move walkxcode/dashboard-icons to homarr-labs/dashboard-icons (#1883) 2025-01-10 14:46:31 +01:00
Meier Lukas 546c824888 fix(dns-hole-summary): calculation for domains and percentage for multiple integrations (#1894) 2025-01-10 14:46:21 +01:00
Meier Lukas a12dd10269 fix(security): restrict link protocols to http and https (#1888) 2025-01-10 14:45:30 +01:00
Meier Lukas 80c02ef9f2 fix(translation): query parameter in search with escaped (#1895) 2025-01-10 14:44:31 +01:00
homarr-renovate[bot] 7d1b1d8342 fix(deps): update dependency glob to ^11.0.1 (#1908)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-10 11:29:01 +00:00
homarr-renovate[bot] dc3d27e1a1 fix(deps): update tiptap monorepo to v2.11.1 (#1909)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-10 11:15:46 +00:00
homarr-renovate[bot] ec8ad483ca chore(deps): update dependency jsdom to v26 (#1903)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-09 23:59:35 +01:00
homarr-renovate[bot] 8edf922e30 fix(deps): update dependency trpc-to-openapi to ^2.1.2 (#1900)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-09 15:43:55 +00:00
homarr-renovate[bot] 86a925939c fix(deps): update dependency mantine-react-table to v2.0.0-beta.8 (#1902)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-09 15:34:35 +00:00
homarr-renovate[bot] b034dcbb11 fix(deps): update dependency undici to v7.2.1 (#1904)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-09 15:16:57 +00:00
homarr-crowdin[bot] 93d7d99e70 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-09 00:44:53 +00:00
homarr-renovate[bot] bfe5e9a8e1 chore(deps): update dependency @types/react to v19.0.4 (#1899)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-08 20:18:06 +00:00
homarr-renovate[bot] e056f620da chore(deps): update dependency typescript to ^5.7.3 (#1897)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-08 19:14:44 +00:00
homarr-renovate[bot] 3860af31b6 fix(deps): update dependency octokit to ^4.1.0 (#1898)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-08 19:14:26 +00:00
homarr-renovate[bot] a69c64d88d fix(deps): update dependency ldapts to v7.3.1 (#1896)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-08 19:12:13 +00:00
homarr-renovate[bot] 34a6c65ead chore(deps): update node.js to v22.13.0 (#1890)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-08 16:06:01 +01:00
homarr-renovate[bot] e33e0a4d2b fix(deps): update tanstack-query monorepo to ^5.63.0 (#1893)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-08 14:36:02 +00:00
homarr-renovate[bot] ffdc8d3496 fix(deps): update dependency @tabler/icons-react to ^3.28.1 (#1891)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-08 11:15:24 +00:00
homarr-crowdin[bot] 64cf3d02c4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-08 00:44:58 +00:00
homarr-renovate[bot] f4f02ca539 fix(deps): update nextjs monorepo to ^15.1.4 (#1885)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-07 20:54:33 +00:00
homarr-renovate[bot] 6327ca073c chore(deps): update node.js to v22.13.0 (#1884)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-07 19:53:55 +00:00
homarr-renovate[bot] 7807b28d24 fix(deps): update mantine monorepo to ^7.15.3 (#1880)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-07 06:22:05 +00:00
homarr-crowdin[bot] 02386ffcd8 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-07 05:32:34 +00:00
homarr-renovate[bot] 690cc303bf chore(deps): update dependency @types/dockerode to ^3.3.34 (#1879)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-07 00:56:21 +00:00
homarr-renovate[bot] 9da50e518b chore(deps): update dependency @types/chroma-js to v3 (#1876)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-06 22:05:56 +01:00
homarr-renovate[bot] eb424d757b fix(deps): update tanstack-query monorepo to ^5.62.16 (#1877)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-06 19:27:55 +00:00
Meier Lukas 65befa22ba feat(spotlight): add default search engine (#1807) 2025-01-06 19:59:40 +01:00
Meier Lukas 6a68ccfee4 chore(config): change next-config from mjs to typescript (#1861) 2025-01-06 19:59:25 +01:00
homarr-renovate[bot] e46b1c49f9 fix(deps): update dependency @tabler/icons-react to ^3.27.1 (#1875)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-06 18:55:52 +00:00
Manuel 64cc078b09 feat: docker add to homarr (#1825) 2025-01-06 19:37:18 +01:00
homarr-renovate[bot] be4e75321a fix(deps): update dependency typescript-eslint to ^8.19.1 (#1874)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-06 18:32:37 +00:00
homarr-renovate[bot] e0eab425e6 chore(deps): update dependency @types/react to v19.0.3 (#1872)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-06 17:00:21 +00:00
homarr-renovate[bot] 2dec74e5ff chore(deps): update pnpm to v9.15.3 (#1871)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-06 16:54:37 +00:00
homarr-crowdin[bot] 39ea2baff3 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-06 00:46:45 +00:00
homarr-crowdin[bot] a160f16772 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-05 00:48:20 +00:00
Meier Lukas ccb19e06c1 feat(app): add search and pagination (#1860) 2025-01-04 23:06:34 +01:00
Meier Lukas bf12944768 fix(iframe): remove second scrollbar from item card (#1828) 2025-01-04 22:47:33 +01:00
Meier Lukas 1e9098d052 feat(icons): add upload button to icon picker (#1859) 2025-01-04 22:43:30 +01:00
Meier Lukas 1562eae4d7 refactor: remove sharp image optimization (#1862) 2025-01-04 22:38:40 +01:00
Meier Lukas c349bf8371 feat(auth): add env variable for oidc-name-attribute-overwrite (#1850) 2025-01-04 21:49:33 +01:00
homarr-renovate[bot] 1f0116d725 fix(deps): update dependency better-sqlite3 to ^11.7.2 (#1858)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-04 20:16:31 +00:00
Meier LukasandManuel 49d10f7ad0 feat(board): add board duplication (#1856)
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
2025-01-04 18:53:57 +00:00
Meier Lukas d98552540a fix(deps): update nextjs monorepo to v15 (major) (#1844) 2025-01-04 19:47:23 +01:00
homarr-renovate[bot] 92f4f9421e fix(deps): update dependency dockerode to ^4.0.3 (#1854)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-04 12:59:23 +00:00
homarr-renovate[bot] 53f07f87b8 fix(deps): update tanstack-query monorepo to ^5.62.15 (#1853)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-04 11:39:29 +00:00
homarr-renovate[bot] 812469db82 fix(deps): update dependency sass to ^1.83.1 (#1852)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-04 02:16:26 +00:00
homarr-crowdin[bot] e2b211cf34 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-04 00:43:27 +00:00
homarr-renovate[bot] 2358f6f5eb fix(deps): update tanstack-query monorepo to ^5.62.14 (#1846)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-03 20:17:03 +00:00
Releases Homarr 024ec9235d chore(release): 1.0.0-beta.11 [skip ci] 2025-01-03 19:13:36 +00:00
homarr-releases[bot] 58fdea0245 chore(release): automatic release v1.0.0 2025-01-03 19:12:38 +00:00
Meier Lukas 4ead238462 test(e2e): add for onboarding and lldap authorization (#1834)
* test(e2e): add for onboarding and lldap authorization

* ci: add playwright chrome installation to e2e test

* fix(e2e): timeout between lldap login redirect to short

* test(e2e): add oidc azure test

* fix(e2e): lldap test fails

* wip: add temporary error log for failed ldap server connection

* fix(e2e): github actions don't support host.docker.internal

* chore: address pull request feedback

* refactor(e2e): move onboarding steps to onboarding actions and assertions

* fix(e2e): increase timeout for navigating back from azure login

* fix: wait for url network changed error

* fix: revert to wait for url

* fix(e2e): remove oidc test

* refactor(e2e): remove env validation

* ci: remove azure oidc env variables
2025-01-03 16:49:30 +01:00
Meier Lukas 6305c74f90 feat: remove import beta badge (#1829) 2025-01-03 16:35:43 +01:00
homarr-renovate[bot] 0780080681 chore(deps): update dependency @types/node to ^22.10.5 (#1842)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-03 15:33:47 +00:00
homarr-crowdin[bot] aa15a705d7 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-03 15:33:38 +00:00
homarr-renovate[bot] cc70175125 chore(deps): update semantic-release monorepo (#1841)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-03 15:28:36 +00:00
homarr-renovate[bot] bc5e25e9cd fix(deps): update tanstack-query monorepo to ^5.62.12 (#1843)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-03 15:16:35 +00:00
homarr-renovate[bot] d43557e165 chore(deps): update dependency @types/dockerode to ^3.3.33 (#1839)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-02 21:39:38 +00:00
homarr-renovate[bot] b6c96f73a5 chore(deps): update dependency @types/node to ^22.10.4 (#1838)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-02 18:55:31 +00:00
Yossi Hillali ee8831affe fix: prowlarr integration indexers status changed from id to indexerId (#1837) 2025-01-02 20:53:27 +02:00
Meier Lukas 6e21863d04 fix(icons): picker does not allow multiple words (#1827) 2025-01-02 14:52:38 +01:00
homarr-crowdin[bot] ca39ca66f0 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-02 00:43:54 +00:00
Yossi Hillali cc7d53e84e fix: login page in light mode is always black (#1821) 2025-01-01 12:24:53 +02:00
homarr-renovate[bot] 99c409cbb7 chore(deps): update dependency @types/node to ^22.10.3 (#1824)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-01-01 02:26:11 +00:00
homarr-crowdin[bot] 1fcf9d0146 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-01-01 00:48:53 +00:00
homarr-renovate[bot] a234fc844e fix(deps): update dependency zod-form-data to ^2.0.5 (#1822)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-31 17:14:34 +00:00
Releases Homarr 168b587c18 chore(release): 1.0.0-beta.10 [skip ci] 2024-12-31 10:42:11 +00:00
homarr-releases[bot] dc12a82805 chore(release): automatic release v1.0.0 2024-12-31 10:41:19 +00:00
ManuelandMeier Lukas f5076454cd feat(integration): add search engine creation (#1816)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-31 11:40:37 +01:00
Meier Lukas aeb681a858 feat(docker): add support for pgid and puid env variables (#1759) 2024-12-31 11:36:28 +01:00
Meier Lukas 56b57ad171 fix(docker): replace anonymous docker volume with env variable for encrypting secrets (#1809) 2024-12-31 11:30:29 +01:00
Manuel 91e1cef611 feat: add request media (#1811) 2024-12-31 11:05:30 +01:00
homarr-renovate[bot] e53b06e8c2 chore(deps): update dependency concurrently to ^9.1.2 (#1818)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-31 08:46:41 +00:00
Meier Lukas 0ebf4bc55e feat(widget): add minecraft server status widget (#1801) 2024-12-31 09:45:48 +01:00
homarr-crowdin[bot] b8a155dd08 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-31 00:43:59 +00:00
Thomas CamlongandMeier Lukas 63786eed06 chore(lang): updated translations from crowdin (#1803)
* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Croatian)

* New translations en.json (Estonian)

* New translations en.json (Latvian)

* New translations en.json (Cree)

* New translations en.json (Hebrew)

* New translations en.json (Hebrew)

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-30 21:44:23 +01:00
homarr-renovate[bot] 598f0047eb fix(deps): update dependency typescript-eslint to ^8.19.0 (#1814)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-30 17:33:38 +00:00
homarr-renovate[bot] eacda4c397 fix(deps): update tiptap monorepo to v2.11.0 (#1813)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-30 16:54:00 +00:00
Meier Lukas 5cb726f793 ci(docker): always push image (#1812) 2024-12-30 17:38:27 +01:00
homarr-crowdin[bot] e8d29420e0 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-30 16:28:16 +00:00
Yossi Hillali 23c7d0bbf0 fix(media-server): redesign widget (#1775)
* fix: redisign media server widget

* fix: reviewed changes

* fix: reviewed chenges

* fix: add icon title

* fix: text resize
2024-12-29 19:24:38 +02:00
homarr-renovate[bot] 75aefcb0d5 fix(deps): update dependency octokit to ^4.0.3 (#1806)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-29 16:16:34 +00:00
homarr-crowdin[bot] b52a8a7935 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-29 08:27:17 +00:00
homarr-renovate[bot] 6d90209e00 chore(deps): update pnpm to v9.15.2 (#1804)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-29 08:26:48 +00:00
Thomas CamlongandMeier Lukas 8f0945f51a chore(lang): updated translations from crowdin (#1800)
* New translations en.json (German)

* New translations en.json (Hebrew)

* New translations en.json (Hebrew)

* New translations en.json (Turkish)

* New translations en.json (Chinese Simplified)

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-28 18:50:25 +01:00
homarr-crowdin[bot] 5b04b93f23 chore(lang): updated translations from crowdin (#1802)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-28 18:49:22 +01:00
Thomas CamlongandMeier Lukas c8228b920c chore(lang): updated translations from crowdin (#1797)
* New translations en.json (Hebrew)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-28 10:25:14 +01:00
homarr-crowdin[bot] abf7942fb7 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-28 09:14:42 +00:00
homarr-crowdin[bot] 50746eb3e4 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-28 09:06:24 +00:00
Thomas CamlongandMeier Lukas 76abfca11b chore(lang): updated translations from crowdin (#1786)
* New translations en.json (Hebrew)

* New translations en.json (Dutch)

* New translations en.json (Hebrew)

* New translations en.json (Hebrew)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Croatian)

* New translations en.json (Latvian)

* New translations en.json (Cree)

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-27 20:47:14 +01:00
homarr-crowdin[bot] fcab6a347d chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-27 19:43:44 +00:00
Yossi Hillali c91aae53ac fix(health-monitoring): add months to uptime, fix status update (#1792) 2024-12-27 21:32:04 +02:00
homarr-renovate[bot]andMeier Lukas 4943e7b851 fix(deps): update dependency trpc-to-openapi to ^2.1.1 (#1788)
* fix(deps): update dependency trpc-to-openapi to ^2.1.1

* fix(deps): missing dependency lodash.clonedeep in api package

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-27 20:31:15 +01:00
Releases Homarr 88c423fca6 chore(release): 1.0.0-beta.9 [skip ci] 2024-12-27 19:13:01 +00:00
homarr-releases[bot] f238663ec7 chore(release): automatic release v1.0.0 2024-12-27 19:12:07 +00:00
homarr-renovate[bot] e9870e7ee7 fix(deps): update tanstack-query monorepo to ^5.62.11 (#1791)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-27 13:22:52 +00:00
homarr-renovate[bot] 9c0a0ced04 chore(deps): update dependency concurrently to ^9.1.1 (#1790)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-27 11:53:46 +00:00
homarr-crowdin[bot] 4c27635066 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-27 00:44:11 +00:00
homarr-renovate[bot] 3d66ff9148 fix(deps): update nextjs monorepo to ^14.2.22 (#1787)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-26 18:20:53 +00:00
Meier Lukas ec257e5f60 chore(env): remove unused vercel-url env variable (#1779)
* chore(env): remove unused vercel-url env variable

* chore: remove vercel-json file
2024-12-26 08:58:27 +01:00
Meier Lukas ef24370a8c refactor: revert assignment of oldmarr widget mapping (#1780) 2024-12-26 08:58:06 +01:00
Releases Homarr 1fa0fc50c5 chore(release): 1.0.0-beta.8 [skip ci] 2024-12-25 14:19:38 +00:00
homarr-releases[bot] e9a1dae857 chore(release): automatic release v1.0.0 2024-12-25 14:18:45 +00:00
Meier Lukas e37279fe80 fix: oldmarr import user casing wrong (#1784) 2024-12-25 15:17:51 +01:00
homarr-renovate[bot] 82c6ce7b77 fix(deps): update dependency drizzle-orm to ^0.38.3 (#1783)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-25 12:25:14 +00:00
homarr-renovate[bot] 555212e2dc fix(deps): update dependency drizzle-zod to ^0.6.1 (#1782)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-25 10:53:06 +00:00
homarr-crowdin[bot] c831539772 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-25 00:43:00 +00:00
homarr-renovate[bot] 3e2ffbd7bf fix(deps): update dependency @ctrl/transmission to ^7.2.0 (#1777)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-24 20:33:01 +00:00
Thomas Camlong 22d7f676eb chore(lang): updated translations from crowdin (#1774)
* New translations en.json (Hebrew)

* New translations en.json (Hebrew)
2024-12-24 21:26:29 +01:00
homarr-crowdin[bot] 23bf262f4e chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-24 20:26:03 +00:00
homarr-renovate[bot] ecae80d741 fix(deps): update dependency @ctrl/deluge to ^7.1.0 (#1776)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-24 20:16:58 +00:00
Releases Homarr 162e8adf4c chore(release): 1.0.0-beta.7 [skip ci] 2024-12-24 13:34:42 +00:00
homarr-releases[bot] 620ec0315f chore(release): automatic release v1.0.0 2024-12-24 13:33:47 +00:00
Meier Lukas 8df398c3c7 feat(apps): remove url variables (#1771) 2024-12-24 14:16:24 +01:00
Meier Lukas 425359be02 fix(board): item background and border overridden by mantine card styles (#1769) 2024-12-24 14:16:11 +01:00
Meier Lukas 8893b72fe3 fix(board): tiles order not respected on firefox (#1770) 2024-12-24 14:15:58 +01:00
Meier Lukas b9483379dd fix(onboard): missing admin permission assignment for external group (#1764) 2024-12-24 14:15:46 +01:00
Meier Lukas 0336803550 fix(auth): oidc redirect does not respect https protocol (#1763) 2024-12-24 14:15:34 +01:00
Meier Lukas e220087e96 fix(icons): local icon repository does not work with medias (#1765) 2024-12-24 14:15:18 +01:00
Manuel f127c9325c config: update issue templates (#1751) 2024-12-24 13:05:59 +00:00
homarr-renovate[bot] c410b06a15 fix(deps): update tanstack-query monorepo to ^5.62.10 (#1772)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-24 12:25:11 +00:00
Thomas Camlong ce755efe4d chore(lang): updated translations from crowdin (#1760)
* New translations en.json (Hungarian)

* New translations en.json (Hebrew)

* New translations en.json (Hebrew)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Hebrew)
2024-12-24 11:01:14 +01:00
homarr-renovate[bot] 8b416a6dd3 fix(deps): update dependency @ctrl/qbittorrent to ^9.2.0 (#1768)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-24 04:18:59 +00:00
homarr-renovate[bot] fe95334aa7 fix(deps): update dependency eslint-plugin-react to ^7.37.3 (#1767)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-24 03:02:21 +00:00
homarr-crowdin[bot] b0facfd77a chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-24 00:44:22 +00:00
homarr-renovate[bot] 01db27c34f fix(deps): update dependency react-error-boundary to v5 (#1748)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-23 20:17:53 +01:00
homarr-renovate[bot] 999cf58625 chore(deps): update dependency dotenv-cli to v8 (#1741)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-23 20:14:01 +01:00
homarr-renovate[bot] 9223dd06ee fix(deps): update dependency typescript-eslint to ^8.18.2 (#1762)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-23 17:34:06 +00:00
homarr-renovate[bot] 42da2b9b06 fix(deps): update tanstack-query monorepo to ^5.62.9 (#1761)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-23 17:15:12 +00:00
Thomas CamlongandMeier Lukas a73eed63eb chore(lang): updated translations from crowdin (#1754)
* New translations en.json (Italian)

* New translations en.json (Hungarian)

* New translations en.json (Hungarian)

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-23 12:01:12 +01:00
homarr-crowdin[bot] 44dcc72d43 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-23 10:51:54 +00:00
homarr-renovate[bot] d02ded5511 fix(deps): update dependency mysql2 to v3.12.0 (#1758)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-23 10:38:45 +00:00
homarr-renovate[bot] dfacb08dbd fix(deps): update mantine monorepo to ^7.15.2 (#1757)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-23 10:17:37 +00:00
homarr-renovate[bot] 4e85bbbad0 fix(deps): update dependency jotai to ^2.11.0 (#1756)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-23 06:21:05 +00:00
ManuelandMeier Lukas d78c6ed529 fix: copy media link (#1750)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-22 20:20:33 +01:00
Thomas CamlongandMeier Lukas 210ce3669f chore(lang): updated translations from crowdin (#1747)
* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-22 18:39:19 +01:00
homarr-crowdin[bot] 44e5346d75 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-22 17:25:57 +00:00
Meier Lukas d34d665229 docs: update crowdin badge to new translation project (#1745) 2024-12-22 15:40:57 +01:00
Thomas CamlongandMeier Lukas b6dc38483d chore(lang): updated translations from crowdin (#1738)
* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (German)

* New translations en.json (Turkish)

* New translations en.json (German)

* New translations en.json (Hebrew)

* New translations en.json (Chinese Simplified)

* New translations en.json (Hebrew)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-21 12:13:42 +01:00
homarr-crowdin[bot] a7e387e54c chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-21 11:10:45 +00:00
homarr-crowdin[bot] 189f35f3cb chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-21 11:05:13 +00:00
Releases Homarr 3c8d4f5018 chore(release): 1.0.0-beta.6 [skip ci] 2024-12-20 19:13:19 +00:00
homarr-releases[bot] 2b59f19a7f chore(release): automatic release v1.0.0 2024-12-20 19:12:27 +00:00
homarr-renovate[bot] fff1da88bd fix(deps): update dependency next-intl to v3.26.3 (#1740)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-20 13:23:18 +00:00
homarr-renovate[bot] 720fdb772c fix(deps): update dependency ioredis to v5.4.2 (#1739)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-20 12:25:58 +00:00
homarr-renovate[bot] a225bdd70c chore(deps): update pnpm to v9.15.1 (#1737)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-20 00:55:05 +00:00
homarr-crowdin[bot] e40c348352 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-20 00:44:25 +00:00
Thomas Camlong 28e1175565 chore(lang): updated translations from crowdin (#1734)
* New translations en.json (Slovak)

* New translations en.json (Slovak)
2024-12-19 23:28:56 +01:00
homarr-crowdin[bot] b450b00934 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-19 22:28:10 +00:00
Thomas CamlongandMeier Lukas 8e0bf87c56 chore(lang): updated translations from crowdin (#1722)
* New translations en.json (Hungarian)

* New translations en.json (Russian)

* New translations en.json (Turkish)

* New translations en.json (Hungarian)

* New translations en.json (Turkish)

* New translations en.json (Hungarian)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Czech)

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-19 19:45:58 +01:00
homarr-crowdin[bot] 9e061f8fc7 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-19 18:34:13 +00:00
Releases Homarr 10855bd84c chore(release): 1.0.0-beta.5 [skip ci] 2024-12-19 16:52:00 +00:00
homarr-releases[bot] 93d5ca683b chore(release): automatic release v1.0.0 2024-12-19 16:51:02 +00:00
Meier Lukas d2584b63c5 fix: always require db-user and password for mysql (#1730) 2024-12-19 17:48:10 +01:00
Meier Lukas 8c1156240c fix: about version is one behind because of missing package-json update in deploy (#1725) 2024-12-19 16:11:12 +01:00
Meier Lukas bb7f751481 fix: update of dev branch has no credentials (#1724) 2024-12-19 16:10:55 +01:00
Meier Lukas 1e8a5359b7 fix: allow additional file-type for oldmarr import (#1723) 2024-12-19 16:10:33 +01:00
Meier Lukas 550bca6dee fix: mysql operations not working (#1728) 2024-12-19 16:10:22 +01:00
homarr-renovate[bot] 2ae3d938ee fix(deps): update tiptap monorepo to v2.10.4 (#1729)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-19 13:05:35 +00:00
homarr-renovate[bot] 2b4bc8352e fix(deps): update nextjs monorepo to ^14.2.21 (#1727)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-19 11:16:50 +00:00
homarr-renovate[bot] c0f681637d fix(deps): update dependency tldts to ^6.1.69 (#1726)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-19 11:15:50 +00:00
Thomas Camlong 92cd1c5bd0 chore(lang): updated translations from crowdin (#1721)
* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Croatian)

* New translations en.json (Latvian)

* New translations en.json (Cree)

* New translations en.json (Turkish)

* New translations en.json (Hebrew)

* New translations en.json (Russian)

* New translations en.json (Turkish)
2024-12-19 07:59:10 +01:00
homarr-renovate[bot] 3b7e6cc083 fix(deps): update dependency zod-form-data to ^2.0.4 (#1719)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-18 18:46:07 +00:00
homarr-renovate[bot] 61afab518f fix(deps): update dependency undici to v7.2.0 (#1718)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-18 18:20:57 +00:00
homarr-renovate[bot] a7bd664c5c fix(deps): update dependency zod-form-data to ^2.0.3 (#1717)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-18 17:34:58 +00:00
homarr-renovate[bot] a2c3bee66c chore(deps): update dependency @types/react to ^19.0.2 (#1716)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-18 16:21:01 +00:00
SeDemal b6dad438c2 feat: Add quick filters for integration and status + minor UI improvement from feedback (#1641) 2024-12-18 15:16:54 +01:00
Releases Homarr 044c60bdec chore(release): 1.0.0-beta.4 [skip ci] 2024-12-18 13:16:17 +00:00
homarr-releases[bot] de8485d5c3 chore(release): automatic release v1.0.0 2024-12-18 13:15:07 +00:00
SeDemal 26b6ca2445 refactor: Move integration search flag to categories (#1637) 2024-12-18 14:14:31 +01:00
Manuel 63a7be35a4 fix: jellyfin integration does not allow username password auth (#1714) 2024-12-18 14:10:58 +01:00
Meier Lukas 1baa9fc74c fix: docker statup permission issue (#1709) 2024-12-18 14:10:43 +01:00
Meier Lukas a51999457b fix: import sidebar issues (#1712) 2024-12-18 13:52:10 +01:00
Manuel 5fbbf037ce fix: permission required for home page (#1711) 2024-12-18 13:28:20 +01:00
Meier Lukas 3c0f272707 fix: conflicts between common admin group for ldap or oidc and credentials default group (#1710) 2024-12-18 13:18:01 +01:00
Meier Lukas d2b4bf5ae4 chore: update homarr-docs-sitemap (#1707) 2024-12-18 11:30:12 +01:00
Meier Lukas d803087345 fix: about version reads nextjs package-json (#1706) 2024-12-18 11:29:49 +01:00
homarr-renovate[bot] d3a883a252 fix(deps): update dependency next-intl to v3.26.2 (#1703)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-18 08:58:00 +00:00
Thomas Camlong ed3d143b8a New Crowdin updates (#2226) 2024-12-17 21:43:24 +01:00
Meier Lukas 136032f920 Merge branch 'master' into dev 2024-12-17 21:20:54 +01:00
Meier Lukas 150e9bf53f chore: update version in package-json to 0.15.10 2024-12-17 21:17:56 +01:00
homarr-renovate[bot] 694350583a fix(deps): update dependency ldapts to v7.3.0 (#1696)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-17 20:17:45 +00:00
Releases Homarr ecc4586d02 chore(release): 1.0.0-beta.3 [skip ci] 2024-12-17 20:12:24 +00:00
homarr-releases[bot] ce4fa5ff67 chore(release): automatic release v1.0.0 2024-12-17 20:11:19 +00:00
Meier Lukas 649506b56a fix: boolean checks do not work correctly in deploy workflow 2024-12-17 21:10:21 +01:00
Releases Homarr 9ab36f8956 chore(release): 1.0.0-beta.2 [skip ci] 2024-12-17 20:07:46 +00:00
homarr-releases[bot] bf59a2ad87 chore(release): automatic release v1.0.0 2024-12-17 20:06:34 +00:00
Meier Lukas 463607c805 Merge branch 'dev' of https://github.com/homarr-labs/homarr into dev 2024-12-17 21:05:57 +01:00
Meier Lukas 50697eb21f fix: add missing branch-name to discord deploy notification 2024-12-17 21:05:53 +01:00
Meier Lukas 70e0a11819 ci: add beta image tag for all beta releases (#1693) 2024-12-17 21:00:21 +01:00
homarr-renovate[bot] b384ebd342 chore(deps): update dependency @semantic-release/release-notes-generator to ^14.0.2 (#1685)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-17 19:14:47 +00:00
Releases Homarr 4543a5fd2c chore(release): 1.0.0-beta.1 [skip ci] 2024-12-17 19:13:35 +00:00
homarr-releases[bot] 52cd6fc913 chore(release): automatic release v0.1.0 2024-12-17 19:12:29 +00:00
Meier Lukas daf7ea56c5 fix: add persists credentials false to checkout of release pipeline (#1691) 2024-12-17 20:11:48 +01:00
homarr-releases[bot] b47cfb2892 chore(release): automatic release v0.1.0 2024-12-17 19:05:20 +00:00
Meier Lukas 0f029b384d fix: change permission for github action to contents write (#1689) 2024-12-17 20:04:20 +01:00
homarr-releases[bot] ada60a7004 chore(release): automatic release v0.1.0 2024-12-17 18:56:25 +00:00
Meier Lukas 93abe8f6a2 fix: change docker concurrency group to allow multiple deployments to different branches (#1687) 2024-12-17 19:55:01 +01:00
homarr-releases[bot] 8b0e6435d0 chore(release): automatic release v0.1.0 2024-12-17 18:45:41 +00:00
Meier Lukas 2b5ed83de3 ci: adjust release pipeline for semver releases (#1679) 2024-12-17 19:41:51 +01:00
Manuel 692ef7f6dc docs: add readme (#1683) 2024-12-17 19:31:11 +01:00
Meier Lukas 15d47d0585 ci: generate auth secret in production (#1681)
* ci: generate auth secret in production

* refactor: remove no longer needed auth-secret from e2e test

* fix: remove static auth secret
2024-12-17 19:10:19 +01:00
Meier Lukas c050ec4fe9 docs: update license to apache 2.0 (#1684)
* Update LICENSE

* docs: add ajnart as copyright holder
2024-12-17 19:10:06 +01:00
Thomas Camlong a3d92d6a73 chore(translations): new crowdin updates (#2225) 2024-12-17 19:03:12 +01:00
Thomas Camlong d3a48ae0e0 New Crowdin updates (#2190) 2024-12-17 18:40:51 +01:00
Marek Tancak 4aa7e7602b fix: unable to delete boards with capitalised name 'Default' (#2223) 2024-12-17 18:40:32 +01:00
Meier Lukas d63c610cf5 feat: add 1.0 migration page (#2224) 2024-12-17 18:39:57 +01:00
homarr-renovate[bot] 28667c5e1a fix(deps): update tanstack-query monorepo to ^5.62.8 (#1682)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-17 17:36:20 +00:00
homarr-renovate[bot] dfa2e83238 chore(deps): update dependency @types/chroma-js to v2.4.5 (#1680)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-17 14:53:52 +00:00
homarr-crowdin[bot] 21126b6adc chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-17 08:40:01 +00:00
homarr-renovate[bot] 02777d104c fix(deps): update dependency undici to v7.1.1 (#1674)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-16 22:33:55 +00:00
homarr-renovate[bot] 613d1f9662 fix(deps): update dependency typescript-eslint to ^8.18.1 (#1673)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-16 20:10:43 +00:00
Meier Lukas 8e4d67c3eb feat: add not found pages for boards (#1671) 2024-12-16 17:25:44 +01:00
homarr-renovate[bot] b7b5da654b fix(deps): update dependency jotai to ^2.10.4 (#1672)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-16 14:38:19 +00:00
Meier Lukas e3bf3f371c test: reduce flakiness of nzbget and sabnzbd (#1669) 2024-12-16 15:06:31 +01:00
homarr-crowdin[bot] 73f7df771b chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-16 00:50:03 +00:00
homarr-renovate[bot] 8c596bf5fa fix(deps): update dependency @tabler/icons-react to ^3.26.0 (#1667)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-15 20:37:54 +00:00
Meier Lukas 922101dcbd fix: issues found in security audit (#1668) 2024-12-15 21:16:42 +01:00
ManuelandMeier Lukas 032509e462 feat: add tdarr integration (#1657)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-15 15:53:02 +01:00
Meier Lukas 6de74d9525 feat: add onboarding with oldmarr import (#1606) 2024-12-15 15:40:26 +01:00
Meier Lukas 82ec77d2da fix: icon picker keyboard interactions (#1666) 2024-12-15 15:31:45 +01:00
Manuel 8ca00161fa docs: create SECURITY.md (#1662) 2024-12-15 15:16:31 +01:00
homarr-crowdin[bot] d5399d20e3 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-15 12:16:48 +00:00
Meier Lukas f330c7e4f1 fix: auto-merge crowdin pr not working (#1664) 2024-12-15 13:11:49 +01:00
Meier Lukas 5bdc669e07 fix: auto-merge for crowdin download pull request not working (#1661) 2024-12-15 13:02:44 +01:00
Meier Lukas f857105994 fix: trpc error at least one integration (#1660) 2024-12-15 13:00:53 +01:00
Meier Lukas 60311918ce feat: add error page for docker tools page (#1655) 2024-12-15 12:34:42 +01:00
homarr-crowdin[bot] 2ef36366ec chore(lang): updated translations from crowdin (#1658)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-15 12:13:21 +01:00
homarr-renovate[bot] 3347886f1e fix(deps): update dependency tldts to ^6.1.68 (#1656)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-14 18:19:18 +00:00
Manuel dd9d8b5261 feat: add update indicator (#1626) 2024-12-14 18:58:46 +01:00
Meier Lukas cf9656d91e fix: styles for light mode (#1645) 2024-12-14 15:19:18 +01:00
homarr-renovate[bot] da63d8ebf4 fix(deps): update dependency drizzle-orm to ^0.38.2 (#1652)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-13 21:54:17 +00:00
homarr-renovate[bot] e0152f4ac7 chore(deps): update dependency eslint to ^9.17.0 (#1654)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-13 21:42:35 +00:00
homarr-releases[bot] fac522adb9 chore(release): automatic release v0.1.0 2024-12-13 19:13:52 +00:00
homarr-renovate[bot] 732f4d45bd fix(deps): update mantine monorepo to ^7.15.1 (#1649)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-13 16:28:29 +00:00
homarr-renovate[bot] 6418dfed38 fix(deps): update dependency drizzle-kit to ^0.30.1 (#1651)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-13 16:19:16 +00:00
homarr-renovate[bot] 0bd8e2c085 fix(deps): update dependency sass to ^1.83.0 (#1650)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-13 13:14:29 +00:00
homarr-renovate[bot] 7d0a224a3f fix(deps): update dependency drizzle-orm to ^0.38.1 (#1646)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-11 23:15:51 +00:00
homarr-renovate[bot] 75c0f70ef6 fix(deps): update dependency tldts to ^6.1.67 (#1648)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-11 22:54:37 +00:00
homarr-renovate[bot] 4c7058b159 fix(deps): update dependency @million/lint to v1.0.14 (#1647)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-11 22:38:38 +00:00
homarr-renovate[bot] 51948677fa fix(deps): update dependency next-intl to v3.26.1 (#1644)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-11 09:54:19 +00:00
homarr-renovate[bot] d40ec67aa9 chore(deps): update dependency @types/node to ^22.10.2 (#1643)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-11 09:53:46 +00:00
homarr-renovate[bot] 5e466e80c5 fix(deps): update dependency zod to ^3.24.1 (#1642)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-11 09:51:38 +00:00
Meier Lukas db7058fdd9 chore(docs): updated docs sitemap (#1639) 2024-12-10 20:45:43 +01:00
Meier Lukas b6733c678c ci: add auto-merge after crowdin download and automatic approval (#1632) 2024-12-10 20:36:00 +01:00
homarr-renovate[bot] e692cc8917 fix(deps): update tanstack-query monorepo to ^5.62.7 (#1638)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-10 19:24:36 +00:00
homarr-renovate[bot] 99bb68012f fix(deps): update mantine monorepo to ^7.15.0 (#1636)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-10 18:16:44 +00:00
homarr-renovate[bot]andMeier Lukas 6f874e87ab fix(deps): update react monorepo to v19 (major) (#1615)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-10 18:49:31 +01:00
homarr-renovate[bot] 8a2546704b fix(deps): update dependency zod to ^3.24.0 (#1635)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-10 07:30:23 +00:00
homarr-renovate[bot]andMeier Lukas 3bee3fe3f6 fix(deps): update dependency typescript-eslint to ^8.18.0 (#1634)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-09 20:39:09 +01:00
homarr-renovate[bot] 51c87c1a33 fix(deps): update dependency drizzle-zod to ^0.6.0 (#1629)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-09 17:50:03 +00:00
homarr-crowdin[bot] 72e81f05a6 chore(lang): updated translations from crowdin (#1633)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2024-12-09 18:29:06 +01:00
homarr-renovate[bot] 2825c9bf45 fix(deps): update dependency drizzle-orm to ^0.38.0 (#1631)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-09 16:41:22 +00:00
homarr-renovate[bot] 46ce06155b fix(deps): update dependency drizzle-kit to ^0.30.0 (#1630)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-09 16:15:13 +00:00
Manuel 0a31b0fc1c Version 0.15.9 (#2220)
* fix: iframes javascript content (#2218)

* config: update version (#2219)
2024-12-08 21:59:34 +01:00
Manuel 3737543766 config: update version (#2219) 2024-12-08 20:53:35 +01:00
Manuel 85547277d1 fix: iframes javascript content (#2218) 2024-12-08 20:06:15 +01:00
homarr-renovate[bot] 753e0ecad2 fix(deps): update dependency better-sqlite3 to ^11.7.0 (#1628)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-08 03:50:46 +00:00
Meier Lukas 8e962abc16 Merge pull request #2216 from ajnart/dev 2024-12-07 22:37:59 +01:00
Meier Lukas 31a7559b86 fix: two issues with board rename and iframes (#2215) 2024-12-07 22:21:40 +01:00
Manuel 84e500279d feat: add dashdot integration (#1541) 2024-12-07 18:08:50 +01:00
homarr-renovate[bot] 6a79d01d79 fix(deps): update dependency tldts to ^6.1.66 (#1625)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-07 03:44:42 +00:00
homarr-releases[bot] 9945425eff chore(release): automatic release v0.1.0 2024-12-06 19:14:14 +00:00
homarr-renovate[bot] 42ab783085 fix(deps): update tanstack-query monorepo to ^5.62.3 (#1621)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-06 19:09:58 +01:00
homarr-renovate[bot] 364e399d62 chore(deps): update dependency vite-tsconfig-paths to ^5.1.4 (#1622)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-06 19:09:46 +01:00
homarr-renovate[bot] 5c11a95ddc fix(deps): update dependency video.js to ^8.21.0 (#1617)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-06 19:09:20 +01:00
homarr-renovate[bot] 3521d2d51a chore(deps): update pnpm to v9.15.0 (#1620)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-06 19:08:48 +01:00
Meier Lukas c840ff85bc feat: add context specific search and actions (#1570) 2024-12-06 19:07:27 +01:00
homarr-renovate[bot] aaa3e7ce0c fix(deps): update dependency superjson to v2.2.2 (#1618)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-06 13:00:57 +00:00
homarr-renovate[bot] 58008c1e2f fix(deps): update dependency next-intl to v3.26.0 (#1619)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-06 12:21:37 +00:00
homarr-renovate[bot] 6d6840f85e fix(deps): update dependency eslint-plugin-react-hooks to ^5.1.0 (#1614)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-05 18:38:48 +00:00
homarr-renovate[bot] 79d52b6905 fix(deps): update dependency @dnd-kit/core to ^6.3.1 (#1613)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-05 17:31:00 +00:00
Meier LukasandManuel 71f4f8c4c8 feat: pretty-print-error to print errors in console (#1596)
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
2024-12-05 17:24:23 +01:00
homarr-crowdin[bot]andMeier Lukas 86cd1017b9 chore(lang): updated translations from crowdin (#1612)
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-05 07:00:41 +01:00
Meier Lukas a5b366a92e chore: add skip_untranslated_strings option for crowdin download 2024-12-05 06:18:54 +01:00
homarr-renovate[bot] ef65270778 fix(deps): update nextjs monorepo to ^14.2.20 (#1610)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-04 21:38:54 +00:00
Meier Lukas f38f3438c9 chore: add workflow_dispatch to crowdin_upload for initial translation upload 2024-12-04 21:50:48 +01:00
Meier Lukas 096f03432c feat: integrate crowdin #1402 (#1599) 2024-12-04 21:43:02 +01:00
Meier Lukas bf45860966 fix(deps): update gridstack.js fork to v1.11.2 (#1605) 2024-12-04 21:38:29 +01:00
Meier Lukas 2686dad630 fix: remove unnecessary complex copy and build steps in dockerfile (#1595) 2024-12-04 21:37:27 +01:00
homarr-renovate[bot]andMeier Lukas 1037a747ea fix(deps): update dependency @dnd-kit/sortable to v10 (#1609)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-12-04 21:35:20 +01:00
homarr-renovate[bot] 6c7cdb3adb fix(deps): update dependency @dnd-kit/core to ^6.3.0 (#1608)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-04 21:27:51 +01:00
homarr-renovate[bot] d8006e7dcc chore(deps): update dependency @types/react to ^18.3.13 (#1607)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-04 16:41:40 +00:00
homarr-renovate[bot] 770bfc65e3 chore(deps): update node.js to v22.12.0 (#1601)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-04 14:02:22 +01:00
homarr-renovate[bot] feb93ef0c7 fix(deps): update testcontainers-node monorepo to ^10.16.0 (#1604)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-04 10:13:26 +00:00
homarr-renovate[bot] bbec01385f fix(deps): update dependency prettier to ^3.4.2 (#1602)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-04 10:04:13 +00:00
homarr-renovate[bot] 2e23b3dad8 fix(deps): update dependency drizzle-kit to ^0.29.1 (#1603)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-04 09:48:52 +00:00
homarr-renovate[bot] 825b1a3643 fix(deps): update dependency sass to ^1.82.0 (#1600)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 23:28:19 +00:00
homarr-renovate[bot] 2193b6d8f8 chore(deps): update node.js to v22.12.0 (#1598)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 21:11:43 +00:00
homarr-renovate[bot] 31cc1abb51 fix(deps): update dependency dotenv to ^16.4.7 (#1597)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 17:48:43 +00:00
homarr-renovate[bot] fb1f0003e6 fix(deps): update dependency undici to v7.1.0 (#1593)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 17:11:35 +00:00
homarr-renovate[bot] b0d623047e fix(deps): update nextjs monorepo to ^14.2.19 (#1594)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 16:40:29 +00:00
homarr-renovate[bot] 16cf818449 fix(deps): update dependency drizzle-orm to ^0.37.0 (#1592)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 14:31:30 +00:00
homarr-renovate[bot] 3b705f43b8 fix(deps): update tanstack-query monorepo to ^5.62.2 (#1590)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 14:11:32 +00:00
homarr-renovate[bot] a8e045b223 fix(deps): update dependency drizzle-kit to ^0.29.0 (#1591)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 13:49:59 +00:00
homarr-renovate[bot] 57bbd43c74 fix(deps): update dependency sass to ^1.81.1 (#1589)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 03:49:38 +00:00
homarr-renovate[bot] 716a2ab9d1 fix(deps): update dependency dotenv to ^16.4.6 (#1588)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-03 03:23:47 +00:00
homarr-renovate[bot] 23cc4659c4 fix(deps): update dependency @tabler/icons-react to ^3.24.0 (#1587)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-02 21:37:55 +00:00
SeDemal a1a6dc9d6e fix: Allow username to be capitalized on basic credentials login (#1585) 2024-12-02 20:44:49 +01:00
homarr-renovate[bot] 0e01dd8695 fix(deps): update tanstack-query monorepo to ^5.62.1 (#1584)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-02 19:10:00 +00:00
SeDemal 70ab29454a fix: fix binary conflicts for linux (#1583) 2024-12-02 19:28:45 +01:00
homarr-renovate[bot] 5ecf93a317 fix(deps): update dependency typescript-eslint to ^8.17.0 (#1582)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-02 17:42:03 +00:00
homarr-renovate[bot] 7f2713b0b9 chore(deps): update vitest monorepo to ^2.1.8 (#1581)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-02 15:12:49 +00:00
homarr-renovate[bot] 838f7aae4d chore(deps): update vitest monorepo to ^2.1.7 (#1580)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-02 10:37:50 +00:00
homarr-renovate[bot] 7343bdde13 fix(deps): update dependency trpc-to-openapi to ^2.1.0 (#1579)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-02 03:49:57 +00:00
homarr-renovate[bot] 3ffdc05442 fix(deps): update dependency trpc-to-openapi to ^2.0.4 (#1578)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-01 22:31:13 +00:00
Manuel a53a2cdd34 feat: add prettier packagejson plugin (#1577) 2024-12-01 22:59:11 +01:00
homarr-renovate[bot] 0ab9d0bd69 fix(deps): update dependency trpc-to-openapi to ^2.0.3 (#1576)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-12-01 04:03:12 +00:00
homarr-renovate[bot] fb4a19bfe4 fix(deps): update dependency tldts to ^6.1.65 (#1575)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-30 18:35:59 +00:00
Meier Lukas b277f444b2 fix: trailing slash integration url issues (#1571) 2024-11-30 10:54:50 +01:00
homarr-renovate[bot] d5f76218cd fix(deps): update dependency ldapts to v7.2.2 (#1574)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-29 23:11:24 +00:00
homarr-renovate[bot] 9968f149c6 chore(deps): update dependency eslint to ^9.16.0 (#1573)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-29 21:48:31 +00:00
homarr-releases[bot] 8cd5833281 chore(release): automatic release v0.1.0 2024-11-29 19:15:06 +00:00
homarr-renovate[bot] 6ad5fd5529 fix(deps): update tanstack-query monorepo to ^5.62.0 (#1569)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-29 13:44:12 +00:00
homarr-renovate[bot] 9b6eafc5fa chore(deps): update pnpm to v9.14.4 (#1568)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-29 11:25:53 +00:00
homarr-renovate[bot] cebc925b87 fix(deps): update dependency mysql2 to v3.11.5 (#1567)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-28 21:27:13 +00:00
homarr-renovate[bot] fd42bde76d fix(deps): update dependency @tabler/icons-react to ^3.23.0 (#1566)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-28 20:12:47 +00:00
Meier Lukas 2d7efc3ffa fix: open-api doc generation failing, post patch and delete not exported (#1565) 2024-11-28 20:21:29 +01:00
homarr-renovate[bot]andMeier Lukas 44e2105a8c fix(deps): update dependency undici to v7 (#1560)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-11-28 18:10:29 +01:00
homarr-renovate[bot]andMeier Lukas 4df6006f0e fix(deps): update dependency typescript-eslint to ^8.16.0 (#1544)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-11-28 18:00:41 +01:00
homarr-renovate[bot] c1f2ede834 chore(deps): update pnpm to v9.14.3 (#1564)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-28 16:54:39 +00:00
homarr-renovate[bot] 85a7b7df55 chore(deps): update dependency @types/node to ^22.10.1 (#1562)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-28 13:36:53 +00:00
homarr-renovate[bot] 09dae45ae8 fix(deps): update mantine monorepo to ^7.14.3 (#1563)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-28 13:01:56 +00:00
TyxTang b59921b843 fix: Fix Jellyseerr Avatar Loading Issue (#2197)
fix: Fix Jellyseerr Avatar Loading Issue
feat: Add Fallback Image.
2024-11-27 22:17:48 +01:00
Meier Lukas 52d2a88b61 fix: moving categories up and down is not working (#1542) 2024-11-27 21:00:10 +01:00
homarr-renovate[bot] f2e7349cbd fix(deps): update tanstack-query monorepo to ^5.61.5 (#1559)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-27 17:48:58 +00:00
homarr-renovate[bot] fc734e5931 chore(deps): update turbo monorepo to ^2.3.3 (#1558)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-27 17:42:19 +00:00
homarr-renovate[bot] 9f982906f2 fix(deps): update dependency video.js to ^8.20.0 (#1561)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-27 17:31:08 +00:00
homarr-renovate[bot] f2268c8041 fix(deps): update dependency @million/lint to v1.0.13 (#1557)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 23:28:05 +00:00
homarr-renovate[bot] c1fe6551ce fix(deps): update tiptap monorepo to v2.10.3 (#1556)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 17:31:54 +00:00
homarr-renovate[bot] 91a199f7d6 fix(deps): update tanstack-query monorepo to ^5.61.4 (#1555)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 13:52:34 +00:00
homarr-renovate[bot] 27b8f65238 fix(deps): update dependency prettier to ^3.4.1 (#1554)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 13:45:22 +00:00
homarr-renovate[bot] 37f961c8cc chore(deps): update vitest monorepo to ^2.1.6 (#1553)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 13:31:41 +00:00
homarr-renovate[bot] 63f863748e chore(deps): update dependency @vitejs/plugin-react to ^4.3.4 (#1552)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 11:25:24 +00:00
homarr-renovate[bot] 907c28c945 fix(deps): update dependency next-intl to v3.25.3 (#1551)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 10:36:21 +00:00
homarr-renovate[bot] 2e9b99dff7 fix(deps): update dependency prettier to ^3.4.0 (#1550)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 05:32:01 +00:00
homarr-renovate[bot] 93aedd994f fix(deps): update dependency better-sqlite3 to ^11.6.0 (#1548)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 04:14:30 +00:00
homarr-renovate[bot] bfe284cdd1 chore(deps): update dependency @types/node to ^22.10.0 (#1549)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-26 03:54:50 +00:00
homarr-renovate[bot] 591c5b5cff chore(deps): update turbo monorepo to ^2.3.2 (#1547)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-25 22:11:35 +00:00
homarr-renovate[bot] 3cbc20bdfe chore(deps): update dependency @types/node to ^22.9.4 (#1546)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-25 21:27:45 +00:00
homarr-renovate[bot] b6c28da32b fix(deps): update dependency next-intl to v3.25.2 (#1545)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-25 19:09:38 +00:00
Meier Lukas 7e349bb04b refactor: improve design of no integrations found (#1543)
* refactor: improve design of no integrations found

* fix: deepsource issue
2024-11-25 17:31:14 +01:00
homarr-renovate[bot] b68977c52c fix(deps): update dependency @dnd-kit/sortable to v9 (#1535)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-24 13:47:50 +01:00
Meier Lukas 74e1b6b544 fix: transfer group not invalidating path (#1539) 2024-11-24 13:45:00 +01:00
Meier Lukas 1c4d4f4e9d fix: rename default to home board (#1538) 2024-11-24 13:44:43 +01:00
Meier Lukas ecf299e03b fix: icon picker suspense issue (#1533)
* fix: icon picker suspense issue

* fix: remove unused variable
2024-11-24 13:44:15 +01:00
Meier Lukas 225356cc4f fix: add beforeunload logic for board in edit mode (#1531) 2024-11-24 13:43:50 +01:00
Meier Lukas 32e6b8ee45 fix: external users can be added to groups manually (#1540) 2024-11-24 13:43:25 +01:00
homarr-renovate[bot] 2e2814707e fix(deps): update mantine monorepo to ^7.14.2 (#1537)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-24 10:49:24 +00:00
homarr-renovate[bot] 24daba743e fix(deps): update tanstack-query monorepo to ^5.61.3 (#1536)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-24 03:56:56 +00:00
Manuel d76b4d0ec1 feat: #1243 add api routes (#1286) 2024-11-23 22:05:44 +01:00
homarr-renovate[bot]andMeier Lukas 982ab4393e chore(deps): update dependency typescript to ^5.7.2 (#1523)
* chore(deps): update dependency typescript to ^5.7.2

* chore(deps): update dependency typescript to ^5.7.2

* fix: typecheck issue

* fix: typecheck issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-11-23 19:39:20 +01:00
homarr-renovate[bot] 5a3d9745d9 fix(deps): update dependency @dnd-kit/core to ^6.2.0 (#1534)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-23 17:27:37 +00:00
Meier Lukas 4a94d602c0 fix: auth broken cause of consistent table column rename (#1532) 2024-11-23 17:43:28 +01:00
Meier Lukas 9fb14df210 feat: replace home page with home board (#1530) 2024-11-23 17:19:46 +01:00
Meier Lukas 38143b679e fix: matcher for translation middleware only supports en and de (#1528) 2024-11-23 17:19:04 +01:00
Meier Lukas 1fc48f9db0 feat: add permission section to create user page (#1524)
* feat: add permission section to create user page

* fix: deepsource issues
2024-11-23 17:18:29 +01:00
Meier Lukas 8fea983c2e refactor: make casing for column names consistent (#1517)
* refactor: make casing for column names consistent

* fix: format issues
2024-11-23 17:17:00 +01:00
Meier Lukas 32ee9f3dcc refactor: add request handlers for centralized cached requests (#1504)
* feat: add object base64 hash method

* chore: add script to add package

* feat: add request-handler package

* wip: add request handlers for all jobs and widget api procedures

* wip: remove errors shown in logs, add missing decryption for secrets in cached-request-job-handler

* wip: highly improve request handler, add request handlers for calendar, media-server, indexer-manager and more, add support for multiple inputs from job handler creator

* refactor: move media-server requests to request-handler, add invalidation logic for dns-hole and media requests

* refactor: remove unused integration item middleware

* feat: add invalidation to switch entity action of smart-home

* fix: lint issues

* chore: use integration-kind-by-category instead of union for request-handlers

* fix: build not working for tasks and websocket

* refactor: add more logs

* refactor: readd timestamp logic for diconnect status

* fix: lint and typecheck issue

* chore: address pull request feedback
2024-11-23 17:16:44 +01:00
homarr-renovate[bot] cdfb61fb28 fix(deps): update dependency tldts to ^6.1.64 (#1529)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-23 14:39:52 +00:00
homarr-renovate[bot] 482ca497f4 chore(deps): update dependency @types/node to ^22.9.3 (#1527)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-23 05:12:09 +00:00
homarr-renovate[bot] 219a6adedd chore(deps): update dependency @types/node to ^22.9.2 (#1526)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-23 02:15:25 +00:00
homarr-releases[bot] ef7174aa36 chore(release): automatic release v0.1.0 2024-11-22 19:14:01 +00:00
homarr-renovate[bot] 50c96833a6 fix(deps): update dependency drizzle-orm to ^0.36.4 (#1522)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-22 12:21:14 +00:00
homarr-renovate[bot] 6018b20d4e fix(deps): update testcontainers-node monorepo to ^10.15.0 (#1521)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-22 11:25:35 +00:00
homarr-renovate[bot] ba4c9a683e fix(deps): update tiptap monorepo to v2.10.2 (#1520)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-22 10:36:00 +00:00
homarr-renovate[bot] 86ae346979 fix(deps): update dependency tldts to ^6.1.63 (#1519)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-22 02:20:10 +00:00
homarr-renovate[bot] 06e4623f8d chore(deps): update dependency dotenv-cli to ^7.4.4 (#1518)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-21 19:23:10 +00:00
homarr-renovate[bot] 85a69b13e3 fix(deps): update tiptap monorepo to v2.10.1 (#1516)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-21 15:31:36 +00:00
homarr-renovate[bot] a9a3a4cdce chore(deps): update turbo monorepo to ^2.3.1 (#1515)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-21 15:12:29 +00:00
Meier Lukas 2ffa9d0e71 fix: dispatch request-logger hides negative numbers, dates and date times (#1506)
* fix: dispatch request-logger hides negative numbers, dates and date times

* test: add unit test for undici log agent

* fix: deepsource issue
2024-11-20 22:36:10 +01:00
Meier Lukas 73cb0b99ac fix: items can not be placed in newly created dynamic section without saving (#1513)
* fix: items can not be placed in newly created dynamic section without saving

* docs: add comments above hooks with notice about specific order
2024-11-20 22:35:27 +01:00
Manuel 563c5d8f3c feat: add readarr integration (#1446) 2024-11-20 22:23:25 +01:00
Meier Lukas 72eda1f225 fix: api keys authentication does not work #1511 (#1512)
* fix: api keys authentication does not work #1511

* chore: add ip and user-agent to logs of unauthenticated api-keys
2024-11-20 21:55:04 +01:00
homarr-renovate[bot] a2a65abd3d fix(deps): update dependency tldts to ^6.1.62 (#1514)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-20 20:41:36 +00:00
Manuel ed74604a54 feat: add lidarr integration (#1433) 2024-11-20 19:03:09 +01:00
homarr-renovate[bot] ed10d63a04 fix(deps): update tanstack-query monorepo to ^5.61.0 (#1510)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-20 13:42:31 +00:00
homarr-renovate[bot] ae6137710f fix(deps): update dependency jotai to ^2.10.3 (#1509)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-20 13:27:36 +00:00
homarr-renovate[bot] a27a2c3da1 chore(deps): update pnpm to v9.14.2 (#1508)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-20 11:25:09 +00:00
homarr-renovate[bot] 860d2e4f69 fix(deps): update tiptap monorepo to v2.10.0 (#1507)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-20 10:36:07 +00:00
homarr-renovate[bot] 35f13d2a01 chore(deps): update pnpm to v9.14.1 (#1505)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-20 02:18:58 +00:00
homarr-renovate[bot] 21dc2138b7 chore(deps): update dependency vite-tsconfig-paths to ^5.1.3 (#1503)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-19 21:27:20 +00:00
Manuel 441cbbe717 feat: #1408 improve icon picker design (#1412)
* feat: #1408 improve icon picker design

* fix: formatting

* fix: ui

* feat: pr feedback
2024-11-19 21:59:33 +01:00
homarr-renovate[bot] 0a46a8e477 chore(deps): update dependency @types/better-sqlite3 to v7.6.12 (#1502)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-19 18:52:05 +00:00
homarr-renovate[bot] fa625df16d chore(deps): update dependency @types/node to ^22.9.1 (#1501)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-19 17:48:24 +00:00
Meier Lukas 18b579eb5f fix: user is undefined when using use-suspense-query (#1498) 2024-11-19 17:16:50 +01:00
homarr-renovate[bot] 2f76e537b7 fix(deps): update tanstack-query monorepo to ^5.60.6 (#1500)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-19 11:10:41 +00:00
homarr-renovate[bot] 7ea9154b67 chore(deps): update dependency dotenv-cli to ^7.4.3 (#1499)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-19 10:50:36 +00:00
homarr-renovate[bot]andMeier Lukas e233d60f87 chore(deps): update dependency eslint to ^9.15.0 (#1490)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-11-18 19:34:07 +01:00
homarr-renovate[bot] b8877137ac fix(deps): update dependency typescript-eslint to ^8.15.0 (#1497)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-18 18:38:08 +01:00
homarr-renovate[bot] 6e772e0585 chore(deps): update dependency @types/dockerode to ^3.3.32 (#1496)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-18 06:54:44 +00:00
Thomas Camlong 4ba9e94dd6 fix: fix i18n-ally extension config (#1462)
* fix: fix i18n-ally extension config

* fix: update scopeRangeRegex to support useScopedI18n and remove unused locales path
2024-11-17 21:37:01 +01:00
Meier Lukas 0ee343b99e feat: add more group permissions (#1453)
* feat: add more group permissions

* feat: restrict access with app permissions

* feat: restrict access with search-engine permissions

* feat: restrict access with media permissions

* refactor: remove permissions for users, groups and invites

* test: adjust app router tests with app permissions

* fix: integration page accessible without session

* fix: search for users, groups and integrations shown to unauthenticated users

* chore: address pull request feedback
2024-11-17 21:31:25 +01:00
Meier Lukas 879aa1152f fix: make oldmarr app schema less restrictive (#1495) 2024-11-17 21:31:08 +01:00
Meier Lukas 1105f0029f fix: sessions from inactive providers can still be used (#1458)
* fix: sessions from inactive providers can still be used

* fix(lint): dependency keys not sorted

* chore: address pull request feedback
2024-11-17 21:30:46 +01:00
Meier Lukas f3ebd6ccdf fix: everyone group page throws error (#1450) 2024-11-17 09:49:23 +01:00
homarr-renovate[bot] 775d0a53de fix(deps): update mantine monorepo to ^7.14.1 (#1494)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-16 15:39:09 +00:00
homarr-renovate[bot] 70f9dc5460 fix(deps): update dependency @ctrl/deluge to v7 (#1468)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-16 13:15:07 +01:00
homarr-renovate[bot] 27931be982 fix(deps): update dependency @ctrl/qbittorrent to ^9.1.0 (#1466)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-16 11:48:25 +00:00
homarr-renovate[bot] e9a74a01b9 fix(deps): update dependency @auth/drizzle-adapter to ^1.7.4 (#1493)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-16 11:33:59 +00:00
homarr-renovate[bot] d4f0aa761d fix(deps): update dependency @auth/core to ^0.37.4 (#1492)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-16 11:24:09 +00:00
homarr-releases[bot] 4ce76f8a73 chore(release): automatic release v0.1.0 2024-11-15 19:13:45 +00:00
homarr-renovate[bot] 6dcf1ad344 fix(deps): update tanstack-query monorepo to ^5.60.5 (#1489)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-15 18:38:16 +00:00
homarr-renovate[bot] 41f816be5b fix(deps): update tanstack-query monorepo to ^5.60.4 (#1488)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-15 16:13:53 +00:00
homarr-renovate[bot] 2fb014f2df fix(deps): update dependency drizzle-orm to ^0.36.3 (#1487)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-15 15:11:31 +00:00
homarr-renovate[bot] 908d0bbc50 fix(deps): update dependency sass to ^1.81.0 (#1486)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-15 03:40:16 +00:00
homarr-renovate[bot] 36fc707705 chore(deps): update pnpm to v9.13.2 (#1485)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-15 03:09:18 +00:00
homarr-renovate[bot] 5d38030841 chore(deps): update turbo monorepo to ^2.3.0 (#1484)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-14 18:38:03 +00:00
homarr-renovate[bot] 4264f2320e chore(deps): update pnpm to v9.13.1 (#1483)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-14 17:40:48 +00:00
homarr-renovate[bot] 12c3bb9848 fix(deps): update tanstack-query monorepo to ^5.60.2 (#1482)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-14 13:24:45 +00:00
homarr-renovate[bot] 9bc585648c fix(deps): update dependency drizzle-orm to ^0.36.2 (#1481)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-14 11:24:18 +00:00
homarr-renovate[bot] acc440bb89 fix(deps): update dependency drizzle-kit to ^0.28.1 (#1480)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-14 10:49:29 +00:00
homarr-renovate[bot] ccee3dd217 fix(deps): update nextjs monorepo to ^14.2.18 (#1479)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-13 21:35:08 +00:00
homarr-renovate[bot] 2edb9c701a chore(deps): update vitest monorepo to ^2.1.5 (#1478)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-13 15:40:29 +00:00
homarr-renovate[bot] 07f89afea8 fix(deps): update dependency undici to v6.21.0 (#1477)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-13 13:48:15 +00:00
homarr-renovate[bot] 684b542979 chore(deps): update pnpm to v9.13.0 (#1476)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-13 13:20:41 +00:00
homarr-renovate[bot] 3194733e95 chore(deps): update dependency node-loader to ^2.1.0 (#1475)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-13 12:57:16 +00:00
homarr-renovate[bot] 3ca97fef0b fix(deps): update dependency tldts to ^6.1.61 (#1474)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-13 09:28:55 +00:00
homarr-renovate[bot] 7a9e9a1e0d fix(deps): update dependency next-intl to v3.25.1 (#1473)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-13 08:50:49 +00:00
homarr-renovate[bot] 9bd0e0f4ee fix(deps): update dependency sass to ^1.80.7 (#1472)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-12 23:35:14 +00:00
homarr-renovate[bot] a1fddaa6a6 fix(deps): update dependency @tabler/icons-react to ^3.22.0 (#1471)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-12 22:10:25 +00:00
homarr-renovate[bot] 11ce6faa37 fix(deps): update mantine monorepo to ^7.14.0 (#1470)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-12 15:39:11 +00:00
homarr-renovate[bot] f220bb6244 fix(deps): update dependency @ctrl/transmission to ^7.1.0 (#1467)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-11 20:48:38 +00:00
homarr-renovate[bot] 53acff9143 fix(deps): update dependency typescript-eslint to ^8.14.0 (#1465)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-11 17:36:55 +00:00
homarr-renovate[bot] 75d764bca8 fix(deps): update dependency jotai to ^2.10.2 (#1464)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-11 15:28:21 +00:00
homarr-renovate[bot] 2a45c5b946 chore(deps): update dependency vite-tsconfig-paths to ^5.1.2 (#1461)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-10 17:26:20 +00:00
homarr-renovate[bot] 4ab40c6fa8 fix(deps): update dependency tldts to ^6.1.60 (#1460)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-10 10:30:11 +00:00
homarr-renovate[bot] ce32b4839d fix(deps): update dependency @million/lint to v1.0.12 (#1459)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-10 09:48:24 +00:00
SeDemal ceafd3747b fix: remove unused properties in SabNZBd schema (#1415)
* fix: Add boolean to retry entry for sabnzbd history schema

* fix: remove unused values from schema
2024-11-10 10:31:41 +01:00
Yossi Hillali 15abfbbdf7 fix: notebook save button on align buttons (#1456) 2024-11-10 10:28:31 +01:00
homarr-renovate[bot] fc4cddcbac fix(deps): update dependency winston to v3.17.0 (#1457)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-10 03:39:40 +00:00
Meier Lukas 04895da08a fix: actions user has no permission to are shown in spotlight (#1452) 2024-11-09 10:45:13 +01:00
homarr-renovate[bot] 747922f558 chore(deps): update dependency vite-tsconfig-paths to ^5.1.1 (#1455)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-09 04:31:38 +00:00
Meier Lukas 0aa72d118c fix: websockets on https do not work (#1444) 2024-11-08 21:30:05 +01:00
homarr-releases[bot] 3e65af9ebe chore(release): automatic release v0.1.0 2024-11-08 19:12:25 +00:00
homarr-renovate[bot] 2306ecda9f fix(deps): update mantine monorepo to ^7.13.5 (#1449)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-08 10:48:32 +00:00
homarr-renovate[bot] 87221093d2 fix(deps): update dependency next-intl to v3.25.0 (#1448)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-08 10:32:59 +00:00
Yossi Hillali c51c5db3d7 feat: date format on weather widget (#1443)
* feat: date format on weather widget

* fix: type check error

* fix: reviewed changes

* fix: reviewed changes
2024-11-08 11:33:03 +02:00
ManuelandMeier Lukas aa503992af feat: #1047 add overseerr search (#1411)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-11-08 09:43:25 +01:00
homarr-renovate[bot] 2a7d648049 fix(deps): update dependency tldts to ^6.1.59 (#1447)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-08 00:48:19 +00:00
homarr-renovate[bot] 27b8692a27 chore(deps): update actions/checkout action to v4 (#1431)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-07 20:55:44 +01:00
Meier Lukas fe4dfc484b fix: adding volume /appdata removes created directories (#1445) 2024-11-07 19:48:45 +01:00
homarr-renovate[bot] 23574359f0 fix(deps): update dependency swagger-ui-react to ^5.18.2 (#1442)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-07 14:28:57 +00:00
homarr-renovate[bot] c6a1aeef4d fix(deps): update dependency drizzle-kit to ^0.28.0 (#1439)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-06 20:48:30 +00:00
homarr-renovate[bot] 7cd3156bd6 fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.4.0 (#1441)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-06 20:38:07 +00:00
homarr-renovate[bot] 7966476cad fix(deps): update dependency drizzle-orm to ^0.36.1 (#1440)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-06 20:29:23 +00:00
homarr-renovate[bot] 10cebff4ed fix(deps): update dependency drizzle-kit to ^0.27.2 (#1437)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-06 14:48:31 +00:00
homarr-renovate[bot] e05567d100 fix(deps): update tanstack-query monorepo to ^5.59.20 (#1438)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-06 14:41:05 +00:00
homarr-renovate[bot] cd18458d0c fix(deps): update nextjs monorepo to ^14.2.17 (#1435)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-06 00:49:02 +00:00
homarr-renovate[bot] 31c661bc69 fix(deps): update testcontainers-node monorepo to ^10.14.0 (#1434)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-05 23:26:51 +00:00
homarr-renovate[bot] 0809d5aa74 fix(deps): update dependency swagger-ui-react to ^5.18.1 (#1432)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-05 22:11:01 +00:00
Meier Lukas 9535154128 ci: add e2e workflow (#1422)
* ci: add e2e workflow

* fix: skip showing error

* fix: when e2e skipped, e2e still executed

* fix: job env not accessible in if

* fix: env not accessible at all in job if statement

* fix: wrong env used for step ifs

* ci: add reusable e2e-execution workflow

* fix: e2e trigger fails not supported reusable workflow within steps

* fix: composite e2e-execution action not found

* fix: reference to composite action not working without checkout

* fix: composite action has to be named action.yml

* fix: id for docker should not have spaces

* fix: shell property missing

* fix: typo one dash to much

* ci: add e2e tests

* chore: change node-version to 22

* chore: move e2e tests to code-quality workflow as duration of e2e step is about 4 minutes

* fix: deepsource issues
2024-11-05 21:11:14 +01:00
Meier Lukas 319fb47744 fix: change node-version for composite setup action to 22, remove unnecessary installation of node from docker deployment (#1429) 2024-11-05 21:06:40 +01:00
homarr-renovate[bot] 7e1305c6a9 fix(deps): update dependency mysql2 to v3.11.4 (#1430)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-05 18:14:20 +00:00
homarr-renovate[bot] 4643c0f004 fix(deps): update dependency swagger-ui-react to ^5.18.0 (#1428)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-05 14:41:40 +00:00
homarr-renovate[bot] 68a72ce5e3 chore(deps): update dependency @types/node to ^22.9.0 (#1426)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-05 13:48:27 +00:00
homarr-renovate[bot] e332a6fcbe fix(deps): update dependency @drizzle-team/brocli to ^0.11.0 (#1427)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-05 13:37:45 +00:00
Marius StarkeandBuildTools 95c126f2c6 fix: remove several occurrences of translation file prefix (#2188)
Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>
2024-11-05 09:54:27 +01:00
homarr-releases[bot] c6e5bec348 chore(release): automatic release v0.1.0 2024-11-04 19:34:22 +00:00
Meier Lukas b7fc1ae4bb fix: middleware fetch failed for docker container (#1424)
* fix: middleware fetch failed for docker container

* fix: lint warning
2024-11-04 20:33:41 +01:00
homarr-releases[bot] 3e74c065f5 chore(release): automatic release v0.1.0 2024-11-04 18:21:54 +00:00
Meier Lukas cf5bcab732 fix: credentials login not working cause of cookie secure flag not possible for http (#1421)
* fix: credentials login not working cause of cookie secure flag not possible for http

* chore: add missing comment

* fix: lint issue
2024-11-04 19:20:19 +01:00
homarr-renovate[bot] 97eb4c54e2 fix(deps): update dependency typescript-eslint to ^8.13.0 (#1420)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-04 17:48:14 +00:00
homarr-renovate[bot] 8f393aa9e8 chore(deps): update dependency vite-tsconfig-paths to ^5.1.0 (#1419)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-04 17:38:21 +00:00
homarr-renovate[bot] b45eeb95e9 fix(deps): update dependency @auth/drizzle-adapter to ^1.7.3 (#1417)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-04 13:25:23 +00:00
homarr-renovate[bot] 90c105541e chore(deps): update dependency concurrently to ^9.1.0 (#1418)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-04 12:59:18 +00:00
homarr-renovate[bot] 7a07f57d0c fix(deps): update dependency @auth/core to ^0.37.3 (#1416)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-04 11:26:11 +00:00
Manuel f31ccf2d6a feat: #1408 add local icon repository (#1413) 2024-11-04 10:02:54 +01:00
homarr-renovate[bot] aec9ec1efd chore(deps): update dependency @types/node to ^22.8.7 (#1409)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-03 14:48:26 +00:00
homarr-renovate[bot] 8983734408 fix(deps): update tanstack-query monorepo to ^5.59.19 (#1410)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-03 14:39:40 +00:00
Manuel 0c067c4e6f feat: use consistent line ending (#1407) 2024-11-03 00:44:34 +01:00
ManuelandMeier Lukas 34506b6339 feat: #1254 display group owner (#1406)
* feat: #1254 display group owner

* fix: format

* fix: format issue

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-11-03 00:33:49 +01:00
Meier Lukas 0ff7c8903b feat: add support for all languages from old homarr (#1394)
* feat: add support for all languages from old homarr

* fix: add mantine-react-table translations, remove arabic language

* refactor: change translations to json for better crowdin support

* fix: issues with loading dayjs and mantine-react-table translations

* chore: add additional translations with variables

* fix: format and deepsource issues

* fix: test failing because of missing coverage exclusions

* fix: format issues

* fix: format issue
2024-11-03 00:11:27 +01:00
Manuel b294bf68cf feat: #511 log user logged in (#1405) 2024-11-03 00:06:49 +01:00
homarr-renovate[bot] deb5a716db fix(deps): update tanstack-query monorepo to ^5.59.17 (#1403)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-02 20:37:48 +00:00
Meier Lukas 326b769c23 feat: add server settings for default board, default color scheme and default locale (#1373)
* feat: add server settings for default board, default color scheme and default locale

* chore: address pull request feedback

* test: adjust unit tests to match requirements

* fix: deepsource issue

* chore: add deepsource as dependency to translation library

* refactor: restructure language-combobox, adjust default locale for next-intl

* chore: change cookie keys prefix from homarr- to homarr.
2024-11-02 21:15:46 +01:00
ManuelandMeier Lukas 49c0ebea6d feat: add bookmark widget (#964)
* feat: add bookmark widget

* fix: item component type issue, widget-ordered-object-list-input item component issue

* feat: add button in items list

* wip

* wip: bookmark options dnd

* wip: improve widget sortable item list

* feat: add sortable item list input to widget edit modal

* feat: implement bookmark widget

* chore: address pull request feedback

* fix: format issues

* fix: lockfile not up to date

* fix: import configuration missing and apps not imported

* fix: bookmark items not sorted

* feat: add flex layouts to bookmark widget

* fix: deepsource issue

* fix: add missing layout bookmarks old-import options mapping

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-11-02 18:44:36 +01:00
Meier Lukas c8425acd34 Merge pull request #2178 from ajnart/dev
Version 0.15.7
2024-11-02 17:44:55 +01:00
Meier Lukas 7ea9c00c18 chore: update package-json version to 0.15.7 (#2184) 2024-11-02 17:39:42 +01:00
homarr-renovate[bot] f8bdd9c5c7 chore(deps): update dependency @types/ws to ^8.5.13 (#1401)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-02 09:27:16 +00:00
homarr-renovate[bot] d908b3f676 fix(deps): update dependency sass to ^1.80.6 (#1399)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-02 08:32:26 +00:00
homarr-renovate[bot] baabf71707 fix(deps): update dependency tldts to ^6.1.58 (#1400)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-02 08:14:10 +00:00
homarr-renovate[bot] 02ddb1c9c6 fix(deps): update dependency winston to v3.16.0 (#1398)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-01 21:34:11 +00:00
homarr-renovate[bot] 3ff8539fec chore(deps): update dependency eslint to ^9.14.0 (#1396)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-01 19:24:24 +00:00
homarr-releases[bot] 14ae732d0c chore(release): automatic release v0.1.0 2024-11-01 19:13:45 +00:00
homarr-renovate[bot] 3bfdc2ded4 fix(deps): update dependency drizzle-kit to ^0.27.1 (#1395)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-11-01 19:09:49 +00:00
Thomas Camlong 3651585271 chore: new Crowdin updates (#2169)
* New translations common.json (Ukrainian)

* New translations date.json (Ukrainian)

* New translations weather.json (Ukrainian)

* New translations page-appearance.json (Ukrainian)

* New translations common.json (Ukrainian)

* New translations page-appearance.json (Ukrainian)

* New translations login.json (Ukrainian)

* New translations selector.json (Ukrainian)

* New translations add-app.json (Ukrainian)

* New translations about.json (Ukrainian)

* New translations torrents-status.json (Ukrainian)

* New translations manage.json (Ukrainian)

* New translations boards.json (Ukrainian)

* New translations users.json (Ukrainian)

* New translations docker.json (Ukrainian)

* New translations entity-state.json (Ukrainian)

* New translations edit.json (Ukrainian)

* New translations trigger-automation.json (Ukrainian)

* New translations indexer-manager.json (Ukrainian)

* New translations health-monitoring.json (Ukrainian)

* New translations media-transcoding.json (Ukrainian)
2024-11-01 10:04:23 +01:00
Meier Lukas 22732e33e5 fix: credentials login behind proxy no longer works (#2177) 2024-11-01 10:03:45 +01:00
homarr-renovate[bot] 747660ee69 chore(deps): update dependency @types/node to ^22.8.6 (#1393)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-31 18:37:37 +00:00
homarr-renovate[bot]andMeier Lukas 17401d1d72 fix(deps): update dependency typescript-eslint to ^8.12.2 (#1381)
* fix(deps): update dependency typescript-eslint to ^8.12.2

* fix: lint issues

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-10-31 16:00:47 +01:00
homarr-renovate[bot] 134ecf1ee7 chore(deps): update dependency node to v22 (#1385)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-31 14:40:09 +01:00
Lollyde 9caf72aae7 fix: documentation link (#2163)
seems like this was missed a while back.
2024-10-31 13:55:38 +01:00
homarr-renovate[bot] 4e9b0af54c fix(deps): update dependency next-intl to v3.24.0 (#1392)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-31 07:27:29 +00:00
homarr-renovate[bot] fd2ce2eee2 chore(deps): update dependency @types/node to ^20.17.4 (#1391)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-31 06:15:30 +00:00
homarr-renovate[bot] 74a8495903 fix(deps): update dependency sass to ^1.80.5 (#1388)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-30 14:31:33 +00:00
homarr-renovate[bot] d3f9696127 fix(deps): update dependency drizzle-kit to ^0.27.0 (#1389)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-30 14:11:25 +00:00
homarr-renovate[bot] 3c3dbf51dc fix(deps): update dependency drizzle-orm to ^0.36.0 (#1390)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-30 13:48:37 +00:00
homarr-renovate[bot] f03688144f chore(deps): update dependency @types/node to ^20.17.3 (#1387)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-29 17:30:35 +00:00
homarr-renovate[bot] 8da1dd0d5f fix(deps): update dependency tldts to ^6.1.57 (#1386)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-29 06:53:02 +00:00
homarr-renovate[bot] 7a4c9a9b2e fix(deps): update dependency @jellyfin/sdk to ^0.11.0 (#1384)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-28 21:35:20 +00:00
homarr-renovate[bot] 958c62c926 fix(deps): update dependency @tabler/icons-react to ^3.21.0 (#1382)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-28 21:27:25 +00:00
homarr-renovate[bot] 8d2d151787 fix(deps): update dependency @drizzle-team/brocli to ^0.10.2 (#1380)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-28 21:11:03 +00:00
homarr-renovate[bot] 87f4298d47 chore(deps): update dependency @types/node to ^20.17.2 (#1383)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-28 20:48:30 +00:00
homarr-renovate[bot] 7ca67a13f1 chore(deps): update vitest monorepo to ^2.1.4 (#1379)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-28 13:26:16 +00:00
homarr-renovate[bot] 9df0f2b5b5 chore(deps): update pnpm to v9.12.3 (#1378)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-28 03:39:06 +00:00
homarr-renovate[bot] 5db973f935 chore(deps): update dependency tsx to v4.19.2 (#1377)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-26 23:34:21 +00:00
homarr-renovate[bot]andMeier Lukas a4ae38b5e4 fix(deps): update dependency next-intl to v3.23.5 (#1376)
* fix(deps): update dependency next-intl to v3.23.5

* fix: typecheck issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-10-26 23:15:52 +02:00
Meier Lukas 4502569223 refactor: move from next-international to next-intl (#1368)
* refactor: move from next-international to next-intl

* refactor: restructure translation package,

* chore: change i18n-allay framework to next-intl

* fix: add missing bold html tag to translation

* fix: format issue

* fix: address deepsource issues

* fix: remove international-types dependency

* fix: lint and typecheck issues

* fix: typecheck issue

* fix: typecheck issue

* fix: issue with translations
2024-10-26 22:46:14 +02:00
Meier Lukas db198c6dab feat: add media management (#1337)
* feat: add media management

* feat: add missing page search item

* fix: medias should be hidden for anonymous users

* chore: rename show-all to include-from-all-users

* fix: inconsistent table column for creator-id of media

* fix: schema check not working because of custom type for blob in mysql

* chore: temporarily remove migrations

* chore: readd removed migrations
2024-10-26 22:45:32 +02:00
homarr-renovate[bot] f8c21f6000 fix(deps): update dependency tldts to ^6.1.56 (#1375)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-26 10:48:09 +00:00
homarr-renovate[bot] 3127182f5c fix(deps): update dependency eslint-plugin-jsx-a11y to ^6.10.2 (#1374)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-26 05:11:06 +00:00
homarr-releases[bot] b97883f44d chore(release): automatic release v0.1.0 2024-10-25 19:12:51 +00:00
homarr-renovate[bot] 0c41241bbd chore(deps): update dependency @types/node to ^20.17.1 (#1371)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-25 13:39:34 +00:00
homarr-renovate[bot] 4985bd8f91 fix(deps): update dependency video.js to ^8.19.1 (#1370)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-25 07:37:26 +00:00
homarr-renovate[bot] 3a6e957710 fix(deps): update dependency tldts to ^6.1.55 (#1369)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-24 23:27:09 +00:00
Meier Lukas 041006c181 fix: docker build not working (#1365) 2024-10-24 22:45:36 +02:00
homarr-renovate[bot] 2bac28a50a fix(deps): update dependency sass to ^1.80.4 (#1366)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 23:11:15 +00:00
homarr-renovate[bot] f55b813aa1 fix(deps): update mantine monorepo to ^7.13.4 (#1364)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 17:39:32 +00:00
Meier LukasandYossi Hillali c37a0e38d9 fix: health-check widget sorting & last seen (#1363)
Co-authored-by: Yossi Hillali <950010+hillaliy@users.noreply.github.com>
2024-10-23 17:30:10 +02:00
homarr-renovate[bot] 32b0059b10 chore(deps): update dependency @types/node to ^20.17.0 (#1362)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 14:48:51 +00:00
homarr-renovate[bot] b542bad939 fix(deps): update tanstack-query monorepo to ^5.59.16 (#1361)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 14:42:10 +00:00
Yossi Hillali cf9b0581a4 feat: plex integration (#1342)
* feat: plex integration

* feat: plex integration

* fix: DeepSource error

* fix: lint error

* fix: pnpm-lock

* fix: lint error

* fix: errors

* fix: pnpm-lock

* fix: reviewed changes

* fix: reviewed changes

* fix: reviewed changes

* fix: pnpm-lock
2024-10-23 17:18:55 +03:00
homarr-renovate[bot] d4919dc908 fix(deps): update tiptap monorepo to v2.9.1 (#1360)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 09:40:01 +00:00
homarr-renovate[bot] 30d4464067 fix(deps): update dependency @tabler/icons-react to ^3.20.0 (#1359)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 06:16:16 +00:00
homarr-renovate[bot] 44176b403e chore(deps): update dependency @types/react to ^18.3.12 (#1358)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 04:49:15 +00:00
homarr-renovate[bot] f756d17901 chore(deps): update dependency @types/prismjs to ^1.26.5 (#1357)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 04:33:36 +00:00
homarr-renovate[bot] dea6d6c311 chore(deps): update dependency @types/node to ^20.16.15 (#1356)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 04:13:58 +00:00
homarr-renovate[bot] aea65eadcd fix(deps): update nextjs monorepo to ^14.2.16 (#1355)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-23 02:58:20 +00:00
homarr-renovate[bot] 1a2f0adfc8 fix(deps): update dependency eslint-plugin-react to ^7.37.2 (#1354)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-22 22:31:36 +00:00
homarr-renovate[bot] c3b9d981f7 fix(deps): update tiptap monorepo to v2.9.0 (#1352)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-22 21:27:12 +00:00
homarr-renovate[bot] e062ea1507 fix(deps): update dependency tldts to ^6.1.54 (#1353)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-22 21:10:26 +00:00
homarr-renovate[bot] a8c36f35c3 fix(deps): update dependency tldts to ^6.1.53 (#1351)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-22 06:51:30 +00:00
homarr-renovate[bot] d599390512 fix(deps): update dependency better-sqlite3 to ^11.5.0 (#1350)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-22 03:42:12 +00:00
homarr-renovate[bot] 4e41af51eb chore(deps): update dependency @types/node to ^20.16.14 (#1349)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-22 03:23:32 +00:00
homarr-renovate[bot] 85a5ebd288 fix(deps): update dependency drizzle-orm to ^0.35.3 (#1348)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-21 21:26:30 +00:00
homarr-renovate[bot] 81372a81e2 chore(deps): update turbo monorepo to ^2.2.3 (#1345)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-21 17:48:38 +00:00
homarr-renovate[bot] a005ead158 fix(deps): update dependency typescript-eslint to ^8.11.0 (#1346)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-21 17:39:58 +00:00
Meier Lukas 2f1c800844 feat: add everyone group (#1322)
* feat: add everyone group through seed

* feat: add reserved group name check in group router actions

* feat: improve user interface for everyone group

* fix: reserved group alert is a server component

* feat: add all users to everyone group

* chore: update lockfile

* fix: format issues

* fix: lint issues

* fix: lint format issues

* test: add unit tests for everyone group

* refactor: add codegen for documentation urls by sitemap

* refactor: change group query to count

* chore: remove migrations temporarily

* chore: add migrations again

* chore: add lint rule to prevent usage of raw documentation links

* fix: format issues
2024-10-21 17:23:51 +02:00
homarr-renovate[bot] 654880d7e4 chore(deps): update turbo monorepo to ^2.2.2 (#1344)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-21 14:32:05 +00:00
Yossi Hillali 9a7e845010 feat: RTL option to RSS widget (#1247) 2024-10-21 13:19:34 +03:00
homarr-renovate[bot] 564096e463 fix(deps): update dependency eslint-plugin-jsx-a11y to ^6.10.1 (#1343)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-21 06:45:21 +00:00
homarr-renovate[bot] 278107a1a4 fix(deps): update dependency next-auth to v5.0.0-beta.25 (#1341)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-19 21:10:50 +00:00
homarr-renovate[bot] c5cc21a4b0 fix(deps): update dependency @auth/drizzle-adapter to ^1.7.2 (#1339)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-19 20:40:19 +00:00
homarr-renovate[bot] aa2d2f8c4b fix(deps): update dependency @auth/core to ^0.37.2 (#1338)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-19 20:29:37 +00:00
homarr-renovate[bot] 9b5b8e6db3 chore(deps): update dependency @vitejs/plugin-react to ^4.3.3 (#1336)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-19 16:33:23 +00:00
Meier Lukas 9c5972faf4 fix: missing migration for default colorscheme change (#1335)
* fix: missing migration for default colorscheme change

* fix: format issues
2024-10-19 17:57:00 +02:00
homarr-renovate[bot] 98f1c33318 fix(deps): update dependency react-error-boundary to ^4.1.2 (#1334)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-19 14:29:30 +00:00
homarr-renovate[bot] 6e24553e10 chore(deps): update turbo monorepo to ^2.2.1 (#1333)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-19 13:16:08 +00:00
Meier Lukas 799d6c5d4a fix: color scheme manager should use cookie and not session value (#1329)
* fix: color scheme manager should use cookie and not session value

* fix: cookie saved for random path
2024-10-19 10:27:31 +02:00
Meier Lukas 7572634780 fix: local websocket url wrong (#1328) 2024-10-19 10:27:13 +02:00
homarr-renovate[bot] 7e219bc86f chore(deps): update dependency @types/node to ^20.16.13 (#1332)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-19 04:13:11 +00:00
homarr-renovate[bot] e46bf5d248 fix(deps): update dependency sass to ^1.80.3 (#1331)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-19 00:48:44 +00:00
homarr-renovate[bot] d40655134f chore(deps): update dependency eslint to ^9.13.0 (#1330)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-18 21:27:06 +00:00
homarr-renovate[bot] fa1a2c4b31 chore(deps): update turbo monorepo to ^2.2.0 (#1327)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-18 19:48:32 +00:00
homarr-releases[bot] 741753fa74 chore(release): automatic release v0.1.0 2024-10-18 19:13:17 +00:00
Meier Lukas 5a73166d70 Merge pull request #2162 from ajnart/dev
v0.15.6
2024-10-18 20:54:33 +02:00
Meier Lukas 5b23f7d13a fix: db migration not working (#2161) 2024-10-18 20:50:56 +02:00
Yossi Hillali ce67fcd57c fix: add subscription to health monitoring widget (#1210)
* fix: add subscription

* fix: add time stamped

* fix: rtl, timestamp, scrollArea

* fix: common.rtl

* fix: rtl

* fix: reviewed changes

* fix: translation

* fix: reviewed changes

* fix: deepScource

* fix: reviewed changes

* fix: add last seen
2024-10-18 21:42:33 +03:00
homarr-renovate[bot] c52fd972b7 fix(deps): update dependency next-auth to v5.0.0-beta.23 (#1325)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-18 17:48:55 +00:00
homarr-renovate[bot] b1393fa59b fix(deps): update dependency @auth/drizzle-adapter to ^1.7.1 (#1324)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-18 17:39:32 +00:00
homarr-renovate[bot] dac2b5063b fix(deps): update dependency @auth/core to ^0.37.1 (#1323)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-18 17:29:44 +00:00
26ae001b5a Merge pull request #2157 from ajnart/dev
* fix: app ping retry interval

* Bugfix for dynamic urls not properly replaces on Search (#2124)

* Bugfix for search items

* Fixing server side rendering issues

* Add rel="noreferrer" to link AppTile.tsx (#2126)

reference: 
Issue: https://github.com/ajnart/homarr/issues/1933
PR comment: https://github.com/ajnart/homarr/pull/2048#issuecomment-2113238216

* fix: Make timer button show only to admins (#2143)

* fix: wrong redirect url for oidc requests #1909 (#2149)

* fix: wrong redirect url for oidc requests #1909

* fix: login not working with https

* chore: New Crowdin updates (#2123)

* New translations health-monitoring.json (Greek)

* New translations login.json (French)

* New translations customize.json (French)

---------

Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
Co-authored-by: Jelte Lagendijk <j3lte@users.noreply.github.com>
Co-authored-by: Boyd <bebsworthy@gmail.com>
Co-authored-by: SeDemal <Tagaishi@hotmail.ch>
Co-authored-by: Thomas Camlong <thomas@ajnart.fr>
2024-10-18 18:55:22 +02:00
Meier Lukas 59e5c0306f chore: update package-json version (#2158) 2024-10-18 18:50:42 +02:00
Thomas Camlong baedc001d9 chore: New Crowdin updates (#2123)
* New translations health-monitoring.json (Greek)

* New translations login.json (French)

* New translations customize.json (French)
2024-10-18 18:41:53 +02:00
homarr-renovate[bot] c8b1bb8d62 fix(deps): update dependency drizzle-orm to ^0.35.2 (#1321)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-18 11:48:33 +00:00
homarr-renovate[bot] 601af7acd8 fix(deps): update dependency better-sqlite3 to ^11.4.0 (#1320)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-17 21:26:58 +00:00
homarr-renovate[bot] 3781fe5cf8 fix(deps): update dependency sass to ^1.80.2 (#1319)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-17 21:10:42 +00:00
homarr-renovate[bot] a231a2da6c fix(deps): update dependency typescript-eslint to ^8.10.0 (#1317)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-17 20:29:44 +00:00
Meier Lukas 0df7cb5c25 feat: improve metadata (#1308) 2024-10-17 12:38:38 +02:00
homarr-renovate[bot] a44c907745 fix(deps): update dependency sass to ^1.80.1 (#1314)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-17 08:35:20 +00:00
homarr-renovate[bot] 84bb1deae5 fix(deps): update mantine monorepo to ^7.13.3 (#1316)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-17 08:15:09 +00:00
homarr-renovate[bot] 3b5082c107 fix(deps): update dependency react-error-boundary to ^4.1.1 (#1315)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-17 02:58:23 +00:00
homarr-renovate[bot] c57bf54bbb chore(deps): update dependency @types/node to ^20.16.12 (#1313)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-17 00:49:04 +00:00
homarr-renovate[bot] 0c134dde6e fix(deps): update dependency sass to ^1.79.6 (#1312)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-16 23:27:36 +00:00
Meier Lukas 727f10448f feat: add manifest (#1309) 2024-10-16 21:46:32 +02:00
Meier Lukas 12105b3b29 fix: inconsistent session cookie (#1310) 2024-10-16 21:46:12 +02:00
Meier Lukas cd77acdfab fix: prevent flickering by removing auto color scheme and default background color (#1299)
* fix: prevent flickering by removing auto color scheme and default background color

* fix: typecheck issue
2024-10-16 21:44:53 +02:00
Meier Lukas e99fd64882 feat: add notes for creation of apps and integrations in widget edit modal (#1297)
* feat: add notes for creation of apps and integrations in widget edit modal

* fix: unit test failing when with-description flag missing
2024-10-16 21:44:28 +02:00
Meier Lukas a0cc31da70 feat: populate integration name for new integrations automatically (#1296) 2024-10-16 21:44:12 +02:00
homarr-renovate[bot]andMeier Lukas a87c937b69 fix(deps): update dependency eslint-plugin-react-hooks to v5 (#1280)
* fix(deps): update dependency eslint-plugin-react-hooks to v5

* fix: lint issues after reenabling hook rules

* fix: format issues

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-10-16 21:43:51 +02:00
homarr-renovate[bot] ea43ed0ca4 chore(deps): update pnpm to v9.12.2 (#1311)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-16 15:30:28 +00:00
Meier Lukas 6469aa2350 fix: wrong redirect url for oidc requests #1909 (#2149)
* fix: wrong redirect url for oidc requests #1909

* fix: login not working with https
2024-10-16 16:47:21 +02:00
homarr-renovate[bot] c4ec4f3c66 fix(deps): update dependency tldts to ^6.1.52 (#1307)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-16 13:48:21 +00:00
homarr-renovate[bot] c053a373b4 fix(deps): update dependency drizzle-orm to ^0.35.1 (#1306)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-16 08:52:11 +00:00
homarr-renovate[bot] 9fa4bef2a4 fix(deps): update dependency react-error-boundary to ^4.1.0 (#1304)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-16 08:14:59 +00:00
homarr-renovate[bot] da13d63969 fix(deps): update dependency drizzle-kit to ^0.26.2 (#1305)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-16 07:48:32 +00:00
homarr-renovate[bot] f50f46d4b7 fix(deps): update dependency drizzle-kit to ^0.26.1 (#1303)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-15 20:29:39 +00:00
homarr-renovate[bot] c6daccbdf0 fix(deps): update dependency drizzle-orm to ^0.35.0 (#1302)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-15 19:48:50 +00:00
homarr-renovate[bot] f2f31b5ee0 fix(deps): update dependency drizzle-kit to ^0.26.0 (#1301)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-15 19:34:33 +00:00
Meier Lukas 476fda279d fix: integration actions hidden for full access users (#1300) 2024-10-15 21:11:32 +02:00
homarr-renovate[bot] bb0026a9fd fix(deps): update tanstack-query monorepo to ^5.59.15 (#1298)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-15 17:40:54 +00:00
homarr-renovate[bot] ba81e5e35a fix(deps): update dependency jotai to ^2.10.1 (#1295)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-15 15:11:33 +00:00
homarr-renovate[bot] df8f6d25d4 fix(deps): update tanstack-query monorepo to ^5.59.14 (#1282)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-15 07:38:17 +00:00
homarr-renovate[bot] c707b4b10f fix(deps): update dependency @million/lint to v1.0.11 (#1294)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-15 02:15:37 +00:00
homarr-renovate[bot] ed52b26f6d fix(deps): update dependency @million/lint to v1.0.10 (#1293)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-14 22:12:26 +00:00
homarr-renovate[bot] 65b1ae26d1 fix(deps): update dependency typescript-eslint to ^8.9.0 (#1292)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-14 17:40:37 +00:00
homarr-renovate[bot] 85cf101043 fix(deps): update dependency undici to v6.20.1 (#1291)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-14 12:58:46 +00:00
homarr-renovate[bot] bd31a4c3ad chore(deps): update vitest monorepo to ^2.1.3 (#1290)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-14 11:25:16 +00:00
Yossi Hillali 98b62a9f91 feat: radarr release type to calendar widget (#1256)
* feat: add release type

* fix: type check

* fix: deepSource

* fix: new approach

* fix: deepSource

* fix: typecheck

* fix: reviewed changes
2024-10-14 11:38:13 +03:00
homarr-renovate[bot] 1bc470a39f fix(deps): update dependency chroma-js to ^3.1.2 (#1289)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-13 10:41:00 +00:00
homarr-renovate[bot] 0fadc28a12 fix(deps): update dependency tldts to ^6.1.51 (#1288)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-12 09:28:18 +00:00
homarr-renovate[bot] 6f97741862 fix(deps): update dependency mantine-react-table to v2.0.0-beta.7 (#1287)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-12 05:11:06 +00:00
Meier Lukas 348687670d feat: user setting ping icons (#1277)
* feat: user setting ping icons

* fix: format issues

* test: adjust test to match expectations
2024-10-12 00:20:47 +02:00
Meier Lukas 0f8d9edb3e refactor: replace serverdata with suspense query (#1265)
* refactor: replace serverdata with suspense query

* fix: deepsource issues
2024-10-11 23:47:07 +02:00
homarr-releases[bot] 1f0f8912b6 chore(release): automatic release v0.1.0 2024-10-11 21:37:04 +00:00
Meier Lukas 511c9a4dbb fix: credentials auth not working (#1284) 2024-10-11 23:36:05 +02:00
homarr-renovate[bot] c051bf55b2 chore(deps): update dependency @types/react-dom to ^18.3.1 (#1281)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-11 19:22:46 +00:00
homarr-releases[bot] 49d6932218 chore(release): automatic release v0.1.0 2024-10-11 19:12:56 +00:00
homarr-renovate[bot] 99ddd9214e fix(deps): update dependency sass to ^1.79.5 (#1279)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-11 02:13:06 +00:00
homarr-renovate[bot] 0ca140f4ff fix(deps): update tanstack-query monorepo to ^5.59.9 (#1278)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-10 19:23:01 +00:00
Meier Lukas 98cf214aed fix: groups can be created with empty names (#1267) 2024-10-09 17:23:19 +02:00
homarr-renovate[bot] efd06ea107 fix(deps): update tanstack-query monorepo to ^5.59.6 (#1276)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-09 14:49:27 +00:00
homarr-renovate[bot] c7b226142f fix(deps): update dependency undici to v6.20.0 (#1275)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-09 08:35:02 +00:00
homarr-renovate[bot] e3cd8a8b25 fix(deps): update tanstack-query monorepo to ^5.59.3 (#1274)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-09 06:40:45 +00:00
homarr-renovate[bot] 8bcba350d5 fix(deps): update dependency @auth/core to ^0.37.0 (#1272)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-09 02:13:10 +00:00
homarr-renovate[bot] a44ead09a3 fix(deps): update dependency @auth/drizzle-adapter to ^1.7.0 (#1273)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-09 00:48:35 +00:00
homarr-renovate[bot] 388717ec3c chore(deps): update dependency typescript to ^5.6.3 (#1271)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-08 22:31:09 +00:00
homarr-renovate[bot] 2bbe594cd2 fix(deps): update nextjs monorepo to ^14.2.15 (#1270)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-08 21:27:57 +00:00
homarr-renovate[bot] 6f2bc8e9be chore(deps): update dependency @types/node to ^20.16.11 (#1269)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-07 22:48:25 +00:00
homarr-renovate[bot] 14d1ce842a fix(deps): update dependency drizzle-orm to ^0.34.1 (#1268)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-07 20:31:36 +00:00
Meier Lukas ab1744ce20 feat: add first day of week user setting (#1249)
* feat: add first day of week user setting

* fix: add missing migrations

* fix: format and test issues

* fix: deepsource issue

* refactor: rename first-day-of-week procedure
2024-10-07 21:13:38 +02:00
Meier Lukas eb21628ee4 refactor: replace signIn callback with signIn event, adjust getUserByEmail in adapter to check provider (#1223)
* refactor: replace signIn callback with signIn event, adjust getUserByEmail in adapter to check provider

* test: adjusting tests for adapter and events

* docs: add comments for unknown auth provider

* fix: missing dayjs import
2024-10-07 21:13:15 +02:00
homarr-renovate[bot] 4d51e3b344 fix(deps): update dependency typescript-eslint to ^8.8.1 (#1266)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-07 17:39:10 +00:00
homarr-renovate[bot] 23ee229906 fix(deps): update dependency drizzle-orm to ^0.34.0 (#1262)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-07 15:30:13 +00:00
homarr-renovate[bot] 635fadfce9 fix(deps): update dependency drizzle-kit to ^0.25.0 (#1261)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-07 15:12:13 +00:00
homarr-renovate[bot] 2d5a7a26c1 chore(deps): update pnpm to v9.12.1 (#1260)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-07 13:48:27 +00:00
homarr-renovate[bot] ea84b1c372 fix(deps): update dependency video.js to ^8.18.1 (#1259)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-07 09:41:13 +00:00
homarr-renovate[bot] dea62547e0 fix(deps): update dependency @auth/drizzle-adapter to ^1.6.1 (#1258)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-07 02:16:47 +00:00
homarr-renovate[bot] 1d281c0cc9 fix(deps): update dependency @million/lint to v1.0.9 (#1255)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-06 02:19:40 +00:00
homarr-renovate[bot] 9c5ca6f906 fix(deps): update dependency @auth/drizzle-adapter to ^1.6.0 (#1251)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-05 17:48:50 +00:00
homarr-renovate[bot] d0d2a82a68 fix(deps): update dependency @auth/core to ^0.36.0 (#1250)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-05 17:38:25 +00:00
Meier Lukas 1421ccc917 fix: permissions not restricted for certain management pages / actions (#1219)
* fix: restrict parts of manage navigation to admins

* fix: restrict stats cards on manage home page

* fix: restrict access to amount of certain stats for manage home

* fix: restrict visibility of board create button

* fix: restrict access to integration pages

* fix: restrict access to tools pages for admins

* fix: restrict access to user and group pages

* test: adjust tests to match permission changes for routes

* fix: remove certain pages from spotlight without admin

* fix: app management not restricted
2024-10-05 17:03:32 +02:00
Meier Lukas 770768eb21 fix: rtl common translation unnecessary (#1246)
* fix: rtl common translation unnecessary

* fix: format issue
2024-10-05 16:31:15 +02:00
ManuelandMeier Lukas b14f82b4bb feat: add api keys (#991)
* feat: add api keys

* chore: address pull request feedback

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-10-05 16:18:31 +02:00
homarr-renovate[bot] ee8375756c chore(deps): update node.js to v20.18.0 (#1239)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-05 12:11:37 +02:00
homarr-renovate[bot] 20e6399d5e fix(deps): update dependency winston to v3.15.0 (#1245)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-05 05:30:18 +00:00
oussama Dahmazandoussama Dahmaz b5bfe90453 fix(notebook): default-content image path (#1244)
Co-authored-by: oussama Dahmaz <dahmaz@MacBook-Pro-de-odahmaz.local>
2024-10-04 23:29:32 +02:00
homarr-renovate[bot] 41538a7366 chore(deps): update dependency eslint to ^9.12.0 (#1241)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-04 20:48:44 +00:00
homarr-releases[bot] f13fefa64d chore(release): automatic release v0.1.0 2024-10-04 19:33:01 +00:00
Meier Lukas 6ad201f4a2 chore: revert base image to 20.17.0 alpine (#1236) 2024-10-04 21:31:01 +02:00
homarr-releases[bot] cef567efdf chore(release): automatic release v0.1.0 2024-10-04 19:12:57 +00:00
homarr-renovate[bot] 87b46deaf7 chore(deps): update node.js to v20.18.0 (#1234)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-04 19:09:36 +00:00
Meier Lukas 4c9471e608 feat(spotlight): add support for custom search-engines (#1200)
* feat(spotlight): add search settings link

* feat(search-engine): add to manage pages

* feat(spotlight): add children option for external search engines

* chore: revert search settings

* fix: deepsource issue

* fix: inconsistent breadcrum placement

* chore: address pull request feedback
2024-10-04 15:59:08 +02:00
homarr-renovate[bot] 8ea8b2ded5 fix(deps): update testcontainers-node monorepo to ^10.13.2 (#1233)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-04 08:34:41 +00:00
Meier Lukas ac0750452c fix: confirm not selected by default in confirm modal (#1232) 2024-10-03 23:24:33 +02:00
homarr-renovate[bot] 547287dba1 fix(deps): update dependency @million/lint to v1.0.8 (#1231)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-03 19:21:39 +00:00
Meier Lukas 665df53a39 fix: new sections without add and change listeners (#1230) 2024-10-03 21:07:57 +02:00
homarr-renovate[bot] 8dde6bb042 chore(deps): update dependency node to v20.18.0 (#1229)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-03 18:36:42 +00:00
Meier Lukas 52b45d835d feat(docker): add encryption key generation for integration secrets (#1202)
* feat(docker): add encryption key generation for integration secrets

* chore: address pull request feedback

* fix: build failing

* fix: docker build fails because of error when encryption key not defined
2024-10-03 19:59:44 +02:00
homarr-renovate[bot] 770a0d63f9 fix(deps): update dependency @million/lint to v1.0.7 (#1225)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-03 17:40:28 +00:00
homarr-renovate[bot] 17572bc602 fix(deps): update dependency tldts to ^6.1.50 (#1228)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-03 17:10:16 +00:00
homarr-renovate[bot] d3836648c2 fix(deps): update mantine monorepo to ^7.13.2 (#1227)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-03 13:22:13 +00:00
homarr-renovate[bot] 9d20362cf1 fix(deps): update dependency eslint-plugin-import to ^2.31.0 (#1226)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-03 11:48:30 +00:00
homarr-renovate[bot] 59ab63c6d8 chore(deps): update vitest monorepo to ^2.1.2 (#1222)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-02 16:52:00 +00:00
homarr-renovate[bot] 3277754290 chore(deps): update dependency @types/react to ^18.3.11 (#1221)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-02 15:48:11 +00:00
homarr-renovate[bot] bc4644609c chore(deps): update pnpm to v9.12.0 (#1220)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-02 13:22:50 +00:00
Meier Lukas 8b5ea3c5d3 fix: email verified check is in a newline in users table (#1218) 2024-10-02 12:00:42 +02:00
Meier Lukas d63f6d270f fix: it was possible to go to the create user page when credentials login disabled (#1217) 2024-10-02 10:41:14 +02:00
homarr-renovate[bot] 2f3619b68d fix(deps): update dependency tldts to ^6.1.49 (#1216)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-02 08:15:41 +00:00
homarr-renovate[bot] 6f5c993510 fix(deps): update nextjs monorepo to ^14.2.14 (#1215)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-01 17:48:46 +00:00
homarr-renovate[bot] c3d54b49a0 fix(deps): update tanstack-query monorepo to ^5.59.0 (#1214)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-01 16:15:12 +00:00
Meier Lukas 61333094df feat: add member sync between groups of ldap and homarr (#1149)
* feat: add member sync between groups of ldap and homarr

* chore: remove temporary console statement

* test: add unit tests for adding and removing ldap group members
2024-10-01 16:46:18 +02:00
homarr-renovate[bot] 4a8ed13a87 fix(deps): update dependency eslint-plugin-react to ^7.37.1 (#1213)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-01 14:32:30 +00:00
homarr-renovate[bot] f73dff5482 chore(deps): update turbo monorepo to ^2.1.3 (#1209)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-01 09:41:15 +00:00
homarr-renovate[bot] b3f6645783 fix(deps): update dependency @million/lint to v1.0.0 (#1212)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-10-01 09:31:22 +00:00
homarr-renovate[bot] 1b0d927e88 fix(deps): update dependency ldapts to v7.2.1 (#1211)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-30 22:48:25 +00:00
Meier Lukas f24c06852e fix: sensitive data can be leaked through query parameters (#1208) 2024-09-30 21:59:21 +02:00
homarr-renovate[bot] 233033f1ce fix(deps): update dependency typescript-eslint to ^8.8.0 (#1207)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-30 17:39:20 +00:00
homarr-renovate[bot] 7dd4d4ec7b fix(deps): update tiptap monorepo to v2.8.0 (#1206)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-30 15:31:35 +00:00
homarr-renovate[bot] 0c24cc1a69 chore(deps): update dependency @vitejs/plugin-react to ^4.3.2 (#1204)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-30 11:25:35 +00:00
Yossi Hillali 0f56dc1ecd feat: OMV integration & health monitoring widget (#1142) 2024-09-30 14:05:13 +03:00
homarr-renovate[bot] 6ce466d38e fix(deps): update mantine monorepo to ^7.13.1 (#1205)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-30 07:48:30 +00:00
SeDemal d4765c1e7f fix: Make timer button show only to admins (#2143) 2024-09-29 22:24:21 +02:00
Manuel 4bba516fdf Merge pull request #2122 from ajnart/fix/app-ping-retry-interval 2024-09-29 20:27:22 +02:00
Meier Lukas 42a49e6461 fix(spotlight): x button not clickable, help links open in current tab, bad screen usage on mobile (#1199)
* fix: spotlight help links should open in new tab

* fix: x button is not clickable in spotlight

* fix: reduce offset for spotlight, to improve screen usage on mobile
2024-09-28 23:30:09 +02:00
Manuel 08c6303fa6 feat: add healthchecks (#1187) 2024-09-28 23:02:28 +02:00
homarr-renovate[bot] 8aaa4f5856 fix(deps): update dependency @tabler/icons-react to ^3.19.0 (#1197)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-28 04:14:54 +00:00
homarr-renovate[bot] c3e1ce30fa fix(deps): update dependency next-auth to v5.0.0-beta.22 (#1195)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-28 03:48:21 +00:00
homarr-renovate[bot] 9af01bb680 fix(deps): update dependency sass to ^1.79.4 (#1198)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-28 03:35:01 +00:00
homarr-renovate[bot] adb59b292b fix(deps): update dependency @auth/drizzle-adapter to ^1.5.3 (#1194)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-27 20:13:22 +00:00
homarr-renovate[bot] 1994a5938d fix(deps): update dependency @auth/core to ^0.35.3 (#1193)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-27 19:23:18 +00:00
homarr-releases[bot] db2b79ee7f chore(release): automatic release v0.1.0 2024-09-27 19:13:34 +00:00
homarr-renovate[bot] f2c3d109cc chore(deps): update dependency @types/react to ^18.3.10 (#1192)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-27 16:50:57 +00:00
homarr-renovate[bot] 3ead13e479 chore(deps): update dependency @types/node to ^20.16.10 (#1191)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-27 16:35:23 +00:00
homarr-renovate[bot] 2245e7aae8 fix(deps): update dependency eslint-plugin-react to ^7.37.0 (#1189)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-27 15:29:22 +00:00
homarr-renovate[bot] f6c7271fb4 fix(deps): update dependency tldts to ^6.1.48 (#1190)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-27 15:11:35 +00:00
homarr-renovate[bot] 1bce7a300d fix(deps): update dependency @tabler/icons-react to ^3.18.0 (#1188)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-26 21:48:08 +00:00
Meier Lukas 8f7ed056c4 fix: issue with color scheme in layout (#1168)
* fix: issue with color scheme in layout

* test: add and adjust unit tests for sign-in-callback
2024-09-26 19:02:45 +02:00
Meier Lukas a30be7bc1e feat: add env variable to disable db migrations on startup (#1179) 2024-09-26 18:54:28 +02:00
homarr-renovate[bot] 2dd21d6688 chore(deps): update dependency @types/node to ^20.16.9 (#1185)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-26 16:52:03 +00:00
homarr-renovate[bot] 4795c8c557 fix(deps): update tiptap monorepo to v2.7.4 (#1186)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-26 13:25:38 +00:00
homarr-renovate[bot] 17d6229a0f fix(deps): update dependency @auth/drizzle-adapter to ^1.5.2 (#1181)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-25 18:36:56 +00:00
Michon van Dooren 65f26117fc fix: container image always being on AMD64 arch (#1173) 2024-09-25 19:56:16 +02:00
homarr-renovate[bot] 80e896f658 chore(deps): update dependency @types/node to ^20.16.8 (#1183)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-25 17:48:17 +00:00
Michon van Dooren d029f48f79 fix: various issues with docker image workflow (#1172) 2024-09-25 19:34:52 +02:00
homarr-renovate[bot] b2143eddeb fix(deps): update tiptap monorepo to v2.7.3 (#1182)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-25 16:41:42 +00:00
homarr-renovate[bot] f495383bcf fix(deps): update dependency @auth/core to ^0.35.2 (#1180)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-25 13:25:00 +00:00
homarr-renovate[bot] 78230b1fe9 fix(deps): update mantine monorepo to ^7.13.0 (#1178)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-25 09:48:24 +00:00
homarr-renovate[bot] 4e431b4f89 fix(deps): update dependency @auth/drizzle-adapter to ^1.5.1 (#1177)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-25 09:40:02 +00:00
homarr-renovate[bot] 16e7f938bd fix(deps): update dependency @auth/core to ^0.35.1 (#1176)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-25 09:30:02 +00:00
homarr-renovate[bot] e2414f5e9f fix(deps): update dependency @tanstack/react-query-devtools to ^5.58.0 (#1175)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-25 08:17:01 +00:00
homarr-renovate[bot] ea0c35fa6e chore(deps): update dependency @types/node to ^20.16.7 (#1174)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-25 02:15:25 +00:00
SeDemalandMeier Lukas 36915d95fe feat: DnsHole feature parity with oldmarr (#1145)
* feat: DnsHole feature parity with oldmarr
feat: advanced control management
feat: disconnected state
fix: summary widget sizing
feat: summary text flash on update

* feat: dnshole summary integrations disconnected error page

* fix: classnaming

* refactor: small rename, console to logger and unnecessary as conversion changes

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-09-24 23:25:13 +02:00
homarr-renovate[bot] 07f72f7367 chore(deps): update dependency @types/react to ^18.3.9 (#1170)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-24 14:31:29 +00:00
homarr-renovate[bot] 141c65149a chore(deps): update dependency eslint to ^9.11.1 (#1167)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-23 21:34:24 +00:00
homarr-renovate[bot] f3858f0902 chore(deps): update dependency @types/node to ^20.16.6 (#1169)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-23 21:26:23 +00:00
Meier Lukas cc29cb8e43 refactor: replace custom no integration selected logic with existing error (#1166) 2024-09-23 22:44:56 +02:00
homarr-renovate[bot] 6aa5adf5b0 fix(deps): update dependency typescript-eslint to ^8.7.0 (#1165)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-23 17:39:06 +00:00
homarr-renovate[bot] df7ba1edaf chore(deps): update pascalgn/automerge-action action to v0.16.4 (#1164)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-22 20:11:59 +00:00
homarr-renovate[bot] da2c8fa00b chore(deps): update dependency jsdom to ^25.0.1 (#1163)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-22 05:30:19 +00:00
Meier Lukas b46d30b04c chore(release): release v0.1.0 2024-09-21 11:42:43 +02:00
Meier Lukas bbd0ff775a ci: fix issue with pnpm installation (#1160) 2024-09-21 11:36:21 +02:00
Meier Lukas 9eea8d48e8 fix: insert limit of sqlite is smaller than amount of icons (#1161) 2024-09-21 11:08:24 +02:00
homarr-renovate[bot] 612a15810b fix(deps): update dependency sass to ^1.79.3 (#1159)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-20 21:25:49 +00:00
homarr-renovate[bot] 6692c83fbf chore(deps): update dependency eslint to ^9.11.0 (#1157)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-20 20:39:16 +00:00
Manuel 82bfbc6f23 config: ignore build artifacts from docker 2024-09-20 22:26:58 +02:00
homarr-releases[bot] de4283b5fa chore(release): automatic release v0.1.0 2024-09-20 19:13:13 +00:00
Meier Lukas ce1ef3cbe7 feat: add improved search (#1051)
* feat: add improved search

* wip: add support for sorting, rename use-options to use-query-options, add use-options for local usage, add pages search group

* feat: add help links from manage layout to help search mode

* feat: add additional search engines

* feat: add group search details

* refactor: improve users search group type

* feat: add apps search group, add disabled search interaction

* feat: add integrations and boards for search

* wip: hook issue with react

* fix: hook issue regarding actions and interactions

* chore: address pull request feedback

* fix: format issues

* feat: add additional global actions to search

* chore: remove unused code

* fix: search engine short key

* fix: typecheck issues

* fix: deepsource issues

* fix: eslint issue

* fix: lint issues

* fix: unordered dependencies

* chore: address pull request feedback
2024-09-20 16:51:42 +02:00
homarr-renovate[bot] 0c44af2f67 chore(deps): update pnpm to v9.11.0 (#1156)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-20 11:10:56 +00:00
homarr-renovate[bot] dd9080f781 fix(deps): update dependency jotai to ^2.10.0 (#1155)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-20 03:14:53 +00:00
homarr-renovate[bot] a02825113a fix(deps): update dependency sass to ^1.79.2 (#1153)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-20 02:53:49 +00:00
homarr-renovate[bot] 2258dc3ec6 fix(deps): update nextjs monorepo to ^14.2.13 (#1154)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-20 02:11:53 +00:00
homarr-renovate[bot] aa2d440acb fix(deps): update dependency tldts to ^6.1.47 (#1152)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-19 19:48:33 +00:00
homarr-renovate[bot] 2bbde5ebd1 chore(deps): update dependency @types/react to ^18.3.8 (#1151)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-19 19:09:41 +00:00
homarr-renovate[bot] d0e9e0f09d fix(deps): update tiptap monorepo to v2.7.2 (#1150)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-19 09:29:44 +00:00
SeDemal 6d4d6efe3f fix: indexer manager UI behaviour + class naming (#1134) 2024-09-18 12:11:23 +02:00
homarr-renovate[bot] 8f5d7f8387 fix(deps): update nextjs monorepo to ^14.2.12 (#1146)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-18 07:48:58 +00:00
homarr-renovate[bot] 3cb1221038 fix(deps): update dependency sass to ^1.79.1 (#1148)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-18 07:36:26 +00:00
homarr-renovate[bot] f1d5dd03cb fix(deps): update dependency sass to ^1.79.0 (#1147)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-17 23:38:29 +00:00
Meier Lukas fc317840a7 refactor: use suspense query instead of serverdata for app widget (#1143)
* refactor: use suspense query instead of serverdata for app widget

* chore: add missing translation for loading tooltip
2024-09-17 19:30:14 +02:00
Meier Lukas 003cc5160c fix: mysql migration not working (#1138)
* fix: mysql migration not working

* test: add system integration test for mysql migration

* fix: format issues

* fix: deepsource issues

* chore: address bad name for mysql migration test
2024-09-17 19:27:47 +02:00
homarr-renovate[bot] 6f50f37462 chore(deps): update dependency @types/react to ^18.3.7 (#1140)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-17 15:29:18 +00:00
homarr-renovate[bot] 657c2eef80 fix(deps): update tiptap monorepo to v2.7.1 (#1139)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-17 14:39:02 +00:00
Meier Lukas d01ddd61b6 fix: db port validation for env variable wrong (#1137)
* fix: db port validation for env variable wrong

* fix: wrong default
2024-09-16 21:41:40 +02:00
Meier Lukas 6738296830 refactor: move modals to seperate package (#1135)
* refactor: move modals to seperate package

* fix: format issue

* fix: lint issues

* fix: format issue

* fix: only used as type
2024-09-16 19:53:37 +02:00
homarr-renovate[bot] 3ef478c53a fix(deps): update dependency typescript-eslint to ^8.6.0 (#1136)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-16 17:42:28 +00:00
homarr-renovate[bot] 5a73700f57 fix(deps): update dependency next-auth to v5.0.0-beta.21 (#1131)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-16 17:33:37 +00:00
homarr-renovate[bot] 6c39612c07 fix(deps): update dependency mysql2 to v3.11.3 (#1132)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-16 17:11:02 +00:00
homarr-renovate[bot] 5986160265 fix(deps): update dependency @ctrl/transmission to v7 (#1103)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-16 18:45:53 +02:00
homarr-renovate[bot]andMeier Lukas f9cc34c12f fix(deps): update dependency @auth/core to ^0.35.0 (#1129)
* fix(deps): update dependency @auth/core to ^0.35.0

* fix(deps): update dependency @auth/core to ^0.35.0

* fix: type issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-09-16 18:42:45 +02:00
SeDemal b9206d3628 refactor: Remove typed-rpc dependency and used fetch instead (#1108)
* feat: Remove typed-rpc dependency and used fetch instead

* fix: tests

* fix: typing
2024-09-16 18:21:27 +02:00
Meier Lukas cd4619845b feat: add nginx proxy (#1073)
* feat: add nginx proxy

* fix: adjust path for websocket client to connect
2024-09-16 18:10:58 +02:00
SeDemal 9fb6e67ed3 feat: Add Simple-Icons and Selfh.st collections (#1118)
* feat: Add Simple-Icons and Selfh.st collections
refactor: icon file path parsing

* refactor: allowed extensions check
2024-09-16 16:34:45 +02:00
homarr-renovate[bot] 929054d5bd fix(deps): update dependency @auth/drizzle-adapter to ^1.5.0 (#1130)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-16 09:48:33 +00:00
homarr-renovate[bot] 414fb32c32 chore(deps): update dependency @types/react to ^18.3.6 (#1133)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-16 09:33:11 +00:00
Boyd ddde9992c5 Add rel="noreferrer" to link AppTile.tsx (#2126)
reference: 
Issue: https://github.com/ajnart/homarr/issues/1933
PR comment: https://github.com/ajnart/homarr/pull/2048#issuecomment-2113238216
2024-09-16 01:09:06 +02:00
homarr-renovate[bot] aca5c279b5 fix(deps): update dependency tldts to ^6.1.46 (#1128)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-15 18:34:25 +00:00
homarr-renovate[bot] 6685f4c806 fix(deps): update dependency @tabler/icons-react to ^3.17.0 (#1126)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-15 13:15:44 +00:00
homarr-renovate[bot] 7059a3d88f fix(deps): update dependency tldts to ^6.1.45 (#1121)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-14 09:26:15 +00:00
Manuel 16a5b43695 fix: node cache cleanup error (#1124) 2024-09-14 11:08:09 +02:00
Manuel c8dfbc8e2d fix: workflow inputs and docker push (#1123) 2024-09-14 10:01:22 +02:00
homarr-releases[bot] a08d3e387f chore(release): automatic release v0.1.0 2024-09-13 19:12:49 +00:00
homarr-renovate[bot] 93a3083c60 chore(deps): update vitest monorepo to ^2.1.1 (#1120)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-13 15:48:25 +00:00
homarr-renovate[bot] 7a56006533 fix(deps): update nextjs monorepo to ^14.2.11 (#1117)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 22:48:47 +00:00
homarr-renovate[bot] 50bd4344bc chore(deps): update turbo monorepo to ^2.1.2 (#1119)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 22:40:44 +00:00
homarr-renovate[bot] 2351617177 fix(deps): update dependency eslint-plugin-react to ^7.36.1 (#1115)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 19:09:00 +00:00
homarr-renovate[bot] fb55f1272d fix(deps): update nextjs monorepo to ^14.2.10 (#1109)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 18:50:17 +00:00
homarr-renovate[bot] cae9a800c4 fix(deps): update tanstack-query monorepo to ^5.56.2 (#1116)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 18:36:43 +00:00
homarr-renovate[bot] 2d4681d079 fix(deps): update tanstack-query monorepo to ^5.56.1 (#1114)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 15:12:06 +00:00
homarr-renovate[bot] 564fcea8d7 chore(deps): update vitest monorepo to ^2.1.0 (#1113)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 14:32:45 +00:00
homarr-renovate[bot] 703ecece63 fix(deps): update tanstack-query monorepo to ^5.56.0 (#1112)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 10:33:38 +00:00
homarr-renovate[bot] 41b41a3c53 chore(deps): update dependency concurrently to ^9.0.1 (#1110)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 07:48:18 +00:00
homarr-renovate[bot] cd43253061 fix(deps): update dependency eslint-plugin-react to ^7.36.0 (#1111)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-12 07:34:57 +00:00
Jelte Lagendijk c81612e39b Bugfix for dynamic urls not properly replaces on Search (#2124)
* Bugfix for search items

* Fixing server side rendering issues
2024-09-11 23:53:55 +02:00
Meier Lukas 5e772215a9 fix: hard to move iframe widget #1075 (#1101) 2024-09-11 18:15:47 +02:00
Manuel 2535192b2c feat: downloads widget (#844)
Usenet and Torrent downloads in 1 widget.
sabNZBd, NzbGet, Deluge, qBitTorrent, and transmission support.
Columns can be reordered in Edit mode.
Sorting enabled.
Time uses Dayjs with auto translation.
Can pause/resume single items, clients, or all.
Can delete items (With option to delete assossiated files).
Clients list and details.
Include all filtering and processing for ratio from oldmarr torrent widget.
Invalidation of old data (older than 30 seconds) to show an integration is not responding anymore.

Misc (So many miscs):
Fixed validation error with multiText.
Fixed translation application for multiSelect to behave the same as select.
Added background to gitignore (I needed to add a background to visually test opacity, probably will in the future too)
Added setOptions to frontend components so potential updates made from the Dashboard can be saved.
Extracted background and border color to use in widgets.
humanFileSize function based on the si format (powers of 1024, not 1000).
Improved integrationCreatorByKind by @Meierschlumpf.
Changed integrationCreatorByKind to integrationCreator so it functions directly from the integration.
Added integrationCreatorFromSecrets to directly work with secrets from db.
Added getIntegrationKindsByCategory to get a list of integrations sharing categories.
Added IntegrationKindByCategory type to get the types possible for a category (Great to cast on integration.kind that isn't already properly limited/typed but for which we know the limitation)
Added a common AtLeastOneOf type. Applied to TKind and IntegrationSecretKind[] where it was already being used and Added to the getIntegrationKindsByCategory's output to be more freely used.
Added the Modify type, instead of omiting to then add again just to change a parameters type, use the modify instead. Applied code wide already.
Hook to get list of integration depending on permission level of user. (By @Meierschlumpf)
2024-09-11 17:30:21 +02:00
homarr-renovate[bot] 3d4e607a9d chore(deps): update dependency testcontainers to ^10.13.1 (#1100)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-11 13:18:19 +00:00
homarr-renovate[bot] 8c9bb6e5d5 fix(deps): update dependency video.js to ^8.17.4 (#1099)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-11 09:48:23 +00:00
homarr-renovate[bot] d2a30db3c1 fix(deps): update dependency mysql2 to v3.11.2 (#1098)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-11 03:48:18 +00:00
homarr-renovate[bot] 9d5007c05c fix(deps): update dependency ldapts to v7.2.0 (#1097)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-10 18:35:15 +00:00
homarr-renovate[bot] 18c1da4a62 fix(deps): update dependency @tabler/icons-react to ^3.16.0 (#1096)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-10 16:49:06 +00:00
homarr-renovate[bot] 18347fef3b fix(deps): update dependency tldts to ^6.1.44 (#1095)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-10 12:21:48 +00:00
homarr-renovate[bot] ed0c6136e6 fix(deps): update dependency better-sqlite3 to ^11.3.0 (#1092)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-10 10:48:12 +00:00
homarr-renovate[bot] 40af17083a fix(deps): update dependency mysql2 to v3.11.1 (#1094)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-10 10:32:39 +00:00
homarr-renovate[bot] 3f076fafcd fix(deps): update nextjs monorepo to ^14.2.9 (#1091)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-09 19:21:59 +00:00
homarr-renovate[bot] ea4de527b2 chore(deps): update dependency concurrently to v9 (#1083)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-09 19:52:05 +02:00
homarr-renovate[bot] c844eb2a22 fix(deps): update dependency typescript-eslint to ^8.5.0 (#1089)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-09 17:39:14 +00:00
homarr-renovate[bot] 8069d7acf0 chore(deps): update dependency typescript to ^5.6.2 (#1088)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-09 16:49:18 +00:00
homarr-renovate[bot] 1272976c1a chore(deps): update pnpm to v9.10.0 (#1087)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-09 14:49:10 +00:00
homarr-renovate[bot] 36a7a18c35 fix(deps): update tanstack-query monorepo to ^5.55.4 (#1086)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-09 06:51:43 +00:00
homarr-renovate[bot] 7b6301e498 fix(deps): update dependency @tabler/icons-react to ^3.15.0 (#1085)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-08 21:10:08 +00:00
homarr-renovate[bot] 930bc2d7d2 fix(deps): update tanstack-query monorepo to ^5.55.2 (#1084)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-08 16:33:13 +00:00
homarr-renovate[bot] 6bf0a53d21 fix(deps): update dependency chroma-js to ^3.1.1 (#1082)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-08 08:30:23 +00:00
homarr-renovate[bot] 4f421433c2 fix(deps): update dependency chroma-js to ^3.1.0 (#1081)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-08 07:48:26 +00:00
Yossi HillaliandMeier Lukas 08d4472d8b feat: indexer manager widget (#1057)
* fix(deps): update tanstack-query monorepo to ^5.53.2 (#1055)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>

<br/>
<div align="center">
  <img src="https://homarr.dev/img/logo.png" height="80" alt="" />
  <h3>Homarr</h3>
</div>

**Thank you for your contribution. Please ensure that your pull request meets the following pull request:**

- [ ] Builds without warnings or errors (``pnpm buid``, autofix with ``pnpm format:fix``)
- [ ] Pull request targets ``dev`` branch
- [ ] Commits follow the [conventional commits guideline](https://www.conventionalcommits.org/en/v1.0.0/)
- [ ] No shorthand variable names are used (eg. ``x``, ``y``, ``i`` or any abbrevation)

* fix: requested changes

* fix: requested changes

* feat: add cron job

* fix: review changes

* fix: add missing oldmarr import mappings

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-09-07 23:18:16 +02:00
Yossi Hillali e88854c0e5 feat: radarr integration (#1053)
* feat: sonarr integration

* fix: reviewed changes
2024-09-07 20:58:40 +02:00
Meier Lukas 5404cebf5b feat: add import for config files from oldmarr (#1019)
* wip: add oldmarr config import

* wip: add support for wrong amount of categories / sections with autofix, color mapping, position adjustments of wrappers

* fix: lockfile broken

* feat: add support for form data trpc requests

* wip: improve file upload

* refactor: restructure import, add import configuration

* wip: add configurations for import to modal

* refactor: move oldmarr import to old-import package

* fix: column count not respects screen size for board

* feat: add beta badge for oldmarr config import

* chore: address pull request feedback

* fix: format issues

* fix: inconsistent versions

* fix: deepsource issues

* fix: revert {} to Record<string, never> convertion to prevent typecheck issue

* fix: inconsistent zod version

* fix: format issue

* chore: address pull request feedback

* fix: wrong import

* fix: broken lock file

* fix: inconsistent versions

* fix: format issues
2024-09-07 18:13:24 +02:00
homarr-renovate[bot] fc1bff2110 fix(deps): update dependency tldts to ^6.1.43 (#1080)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-07 10:48:21 +00:00
ManuelandMeier Lukas 19cd41a8e5 feat: add crawling settings (#959)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-09-06 22:51:18 +02:00
homarr-renovate[bot] d20384dfe0 chore(deps): update dependency eslint to ^9.10.0 (#1078)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-06 20:35:26 +00:00
homarr-releases[bot] bd1ff01109 chore(release): automatic release v0.1.0 2024-09-06 19:13:34 +00:00
Meier Lukas 8c205535eb fix: wevbsocket url is always localhost (#1072) 2024-09-06 21:11:58 +02:00
Yossi Hillali 753d091dbb fix: display on safari (#1071) 2024-09-06 16:29:53 +02:00
homarr-renovate[bot] 00d5020824 fix(deps): update tanstack-query monorepo to ^5.55.0 (#1070)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-06 06:36:38 +00:00
homarr-renovate[bot] 247de555ce fix(deps): update dependency tldts to ^6.1.42 (#1069)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-05 16:34:36 +00:00
homarr-renovate[bot] ca83872151 fix(deps): update nextjs monorepo to ^14.2.8 (#1067)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-04 22:29:57 +00:00
homarr-renovate[bot] 049e1107e6 chore(deps): update dependency @types/node to ^20.16.5 (#1068)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-04 22:11:35 +00:00
Manuel 993739ab8e fix: app ping retry interval 2024-09-04 20:48:05 +02:00
homarr-renovate[bot] 364d6f4555 chore(deps): update dependency @types/node to ^20.16.4 (#1065)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-04 10:12:07 +00:00
homarr-renovate[bot] bef5832470 fix(deps): update dependency eslint-plugin-jsx-a11y to ^6.10.0 (#1066)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-04 09:48:34 +00:00
homarr-renovate[bot] 3d1b626baa fix(deps): update dependency sass to ^1.78.0 (#1064)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-03 23:27:20 +00:00
homarr-renovate[bot] 9e1faa03b1 fix(deps): update tanstack-query monorepo to ^5.54.1 (#1063)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-03 21:26:08 +00:00
homarr-renovate[bot] 1249fb9612 fix(deps): update dependency eslint-plugin-react to ^7.35.2 (#1062)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-03 19:35:26 +00:00
homarr-renovate[bot] 0f34bf85a8 fix(deps): update dependency eslint-plugin-import to ^2.30.0 (#1061)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-03 07:24:19 +00:00
homarr-renovate[bot] 6ea4a74675 fix(deps): update dependency @tanstack/react-query-devtools to ^5.54.0 (#1060)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-02 23:48:14 +00:00
homarr-renovate[bot] 4c52cc338e fix(deps): update dependency eslint-plugin-react to ^7.35.1 (#1059)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-02 23:35:46 +00:00
homarr-renovate[bot] 1d236678b3 fix(deps): update dependency typescript-eslint to ^8.4.0 (#1058)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-02 17:34:48 +00:00
homarr-renovate[bot] 8fe162e16c fix(deps): update tanstack-query monorepo to ^5.53.3 (#1056)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-02 15:36:14 +00:00
Manuel 0c657276a5 feat: support arm64 (#1022)
* feat: support arm64

* feat: support arm64
2024-09-02 17:26:04 +02:00
homarr-renovate[bot] d69fed6514 fix(deps): update tanstack-query monorepo to ^5.53.2 (#1055)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-01 21:10:14 +00:00
Meier Lukas b080e0de71 feat: add colorscheme to user in db (#987) 2024-09-01 20:37:52 +02:00
Manuel 20a84da5dc chore: merge 0.15.4 from ajnart/dev 2024-09-01 20:27:05 +02:00
Manuel 6a7532b5b7 chore: increase package.json version 2024-09-01 20:18:43 +02:00
Thomas Camlong 714936a2e9 chore: new Crowdin updates (#2117) 2024-09-01 20:16:15 +02:00
Meier Lukas d2a40ddf33 fix: revert pgid puid docker changes (#2119) 2024-09-01 20:15:53 +02:00
homarr-renovate[bot] 824ec8a9ca chore(deps): update dependency @types/node to ^20.16.3 (#1054)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-09-01 14:08:42 +00:00
Yossi HillaliandManuel 6ff36405ba feat: Prowlarr integration (#965)
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
2024-09-01 15:40:22 +02:00
homarr-renovate[bot] acb4cb9c82 chore(deps): update dependency testcontainers to ^10.13.0 (#1052)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-31 21:09:47 +00:00
homarr-renovate[bot] fcf23c3872 chore(deps): update turbo monorepo to ^2.1.1 (#1050)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-30 21:26:06 +00:00
homarr-releases[bot] b24b1cc8a9 chore(release): automatic release v0.1.0 2024-08-30 19:11:57 +00:00
José Roberto Sánchez eba30108f6 fix: notebook widget overflow on mobile (#2112) 2024-08-30 20:24:21 +02:00
Meier Lukas 995c8a481e fix: dev docker issues (#2118) 2024-08-30 20:23:35 +02:00
homarr-renovate[bot] 51be02477b fix(deps): update mantine monorepo to ^7.12.2 (#1048)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-30 14:10:14 +00:00
homarr-renovate[bot] 6d437bd2be chore(deps): update dependency jsdom to v25 (#1030)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-30 14:00:10 +02:00
homarr-renovate[bot] 775c3597dc fix(deps): update tanstack-query monorepo to ^5.53.1 (#1045)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-30 10:41:53 +00:00
homarr-renovate[bot] 0f14e378d7 chore(deps): update dependency @types/react to ^18.3.5 (#1044)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-30 10:31:13 +00:00
homarr-renovate[bot] afb6adf1e6 fix(deps): update tanstack-query monorepo to ^5.52.3 (#1043)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-29 23:25:54 +00:00
Meier Lukas 2738f40c5e fix: when removing one item and then adding another one that newly added one can not be moved (#1025)
* fix: when removing one item and then adding another one that newly added one can not be moved

* chore: address pull request feedback

* fix: deepsource canceled
2024-08-29 22:26:02 +02:00
Thomas CamlongandMeier Lukas 94984ac11b feat: add million-lint (#607)
* feat: Add `million-lint`

* fix: some parts not working because of missing skipTransform flag

* chore: address pull request feedback

* chore: make with-million-lint method that can be used when debugging performance

* fix: format issue

* fix: format issue

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-08-29 22:25:51 +02:00
homarr-renovate[bot] c7a7cef1a2 chore(deps): update dependency @types/node to ^20.16.2 (#1042)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-28 10:11:00 +00:00
Yossi Hillali 69e69ee315 fix: DnsHole controls timer (#953)
* fix: DnsHole controls timer

* fix: use plural naming

* fix: reviewed changes

* fix: change ControlsCard to jsx component

* fix: DeepSource
2024-08-28 11:26:36 +03:00
homarr-renovate[bot] 3771a61c49 fix(deps): update nextjs monorepo to ^14.2.7 (#1041)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-27 16:13:16 +00:00
homarr-renovate[bot] f7f676ace9 chore(deps): update turbo monorepo to ^2.1.0 (#1040)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-27 14:29:27 +00:00
homarr-renovate[bot] 961fca0f64 fix(deps): update dependency @tabler/icons-react to ^3.14.0 (#1039)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-27 10:11:09 +00:00
homarr-renovate[bot] b507bf2ae6 fix(deps): update dependency ldapts to v7.1.1 (#1038)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-26 23:25:34 +00:00
homarr-renovate[bot] 48d01e3c6c fix(deps): update tanstack-query monorepo to ^5.52.2 (#1037)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-26 18:08:40 +00:00
homarr-renovate[bot] b0e269209e fix(deps): update dependency typescript-eslint to ^8.3.0 (#1036)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-26 18:02:58 +00:00
homarr-renovate[bot] 09c88a1c36 chore(deps): update pnpm to v9.9.0 (#1035)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-26 17:10:32 +00:00
homarr-renovate[bot] 2ea0d04c71 fix(deps): update dependency @tabler/icons-react to ^3.13.0 (#1034)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-26 13:36:27 +00:00
homarr-renovate[bot] 78b45c4a5b fix(deps): update dependency drizzle-kit to ^0.24.2 (#1033)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-26 13:17:31 +00:00
homarr-renovate[bot] e60e4a49f8 fix(deps): update dependency trpc-swagger to ^1.2.6 (#1032)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-25 16:40:57 +00:00
homarr-renovate[bot] 6351bf78ff fix(deps): update dependency swagger-ui-react to ^5.17.14 (#1031)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-25 16:30:40 +00:00
Manuel f0cd45c813 feat: implement openapi (#482) 2024-08-25 18:03:32 +02:00
homarr-renovate[bot] a3520e4dfd chore(deps): update dependency jsdom to ^24.1.3 (#1028)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-25 11:33:29 +00:00
homarr-renovate[bot] e193c1c6f5 fix(deps): update dependency @t3-oss/env-nextjs to ^0.11.1 (#1029)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-25 11:23:17 +00:00
homarr-renovate[bot] 89fe289fc5 chore(deps): update dependency jsdom to ^24.1.2 (#1027)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-25 10:29:18 +00:00
Yossi Hillali e34af8659b fix: testConnectionAsync url (#1024) 2024-08-25 12:56:08 +03:00
Meier Lukas 022fad92a9 fix: empty wrappers without items should not be visible in view mode (#1026) 2024-08-25 11:38:05 +02:00
homarr-renovate[bot] ec2de901aa chore(deps): update dependency testcontainers to ^10.12.0 (#1023)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-24 17:27:41 +00:00
Meier Lukas b81f5a2ee3 fix: improve ping performance (#1020) 2024-08-24 16:56:40 +02:00
acbb834889 feat: add media requests widget (#774)
Co-authored-by: SeDemal <Tagaishi@hotmail.ch>
Co-authored-by: SeDemal <demal.sebastien@bluewin.ch>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-08-24 15:23:16 +02:00
Manuel 5b5121a609 config: fix arm64 build 2024-08-24 14:54:53 +02:00
Thomas Camlong c008cc92c2 New Crowdin updates (#2059) 2024-08-24 14:39:51 +02:00
renovate[bot] 858ccd72de ⬆️ Update dependency axios to v1.7.4 [SECURITY] (#2106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-24 14:39:23 +02:00
Meier Lukas a87935875d feat: add download functionality for board configuration files (#2111) 2024-08-24 14:39:13 +02:00
homarr-renovate[bot] 7ec4adcb24 chore(deps): update dependency eslint to ^9.9.1 (#1021)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-23 20:48:24 +00:00
homarr-releases[bot] e81edc898f chore(release): automatic release v0.1.0 2024-08-23 19:11:47 +00:00
homarr-renovate[bot] cbf2ecfb9d fix(deps): update tiptap monorepo to v2.6.6 (#1015)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-23 10:48:40 +00:00
homarr-renovate[bot] 8779b7d607 fix(deps): update tanstack-query monorepo to ^5.52.1 (#1013)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-22 17:09:49 +00:00
homarr-renovate[bot] cd0af7e8f1 fix(deps): update dependency drizzle-kit to ^0.24.1 (#1012)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-22 14:10:03 +00:00
homarr-renovate[bot] 1311e72ca0 fix(deps): update nextjs monorepo to ^14.2.6 (#1009)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-22 11:35:43 +00:00
homarr-renovate[bot] 7742d5f5b4 fix(deps): update dependency tldts to ^6.1.41 (#1011)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-22 11:22:41 +00:00
homarr-renovate[bot] df08258ba1 chore(deps): update pnpm to v9.8.0 (#1010)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-22 11:10:40 +00:00
homarr-renovate[bot] 30ee123072 chore(deps): update node.js to v20.17.0 (#1008)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-21 22:09:56 +00:00
homarr-renovate[bot] 051d57bb39 fix(deps): update dependency better-sqlite3 to ^11.2.1 (#1006)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-21 17:48:19 +00:00
homarr-renovate[bot] f10c8fcb48 chore(deps): update dependency node to v20.17.0 (#1007)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-21 17:34:23 +00:00
homarr-renovate[bot] d401c8fa0f fix(deps): update tiptap monorepo to v2.6.5 (#1005)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-21 07:34:49 +00:00
homarr-renovate[bot] 4e6437a180 fix(deps): update dependency better-sqlite3 to ^11.2.0 (#1004)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-21 06:48:16 +00:00
homarr-renovate[bot] 34374e9a18 chore(deps): update dependency @types/react to ^18.3.4 (#1003)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-20 20:48:42 +00:00
homarr-renovate[bot] 432af79055 fix(deps): update tanstack-query monorepo to ^5.52.0 (#1002)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-20 19:33:58 +00:00
homarr-renovate[bot] 27d08baa2d fix(deps): update dependency dayjs to ^1.11.13 (#1001)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-20 19:21:08 +00:00
homarr-renovate[bot] 72aed22125 fix(deps): update dependency @umami/node to ^0.4.0 (#1000)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-19 23:11:49 +00:00
Meier Lukas 2d155fa0c4 feat: add password requirements (#988)
* feat: add password requirements

* fix: format issue

* fix: unexpected empty string in component jsx

* test: adjust unit test passwords
2024-08-19 21:11:36 +02:00
homarr-renovate[bot] 058518710e fix(deps): update dependency typescript-eslint to ^8.2.0 (#999)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-19 17:48:15 +00:00
homarr-renovate[bot] 9666440e80 fix(deps): update dependency undici to v6.19.8 (#998)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-19 17:36:28 +00:00
homarr-renovate[bot] f5c380f75b fix(deps): update dependency tldts to ^6.1.40 (#996)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-19 13:48:29 +00:00
homarr-renovate[bot] 33441d11ac chore(deps): update dependency @types/node to ^20.16.1 (#995)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-19 13:37:43 +00:00
homarr-renovate[bot] 2f77be8045 fix(deps): update tanstack-query monorepo to ^5.51.24 (#997)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-19 13:30:11 +00:00
homarr-renovate[bot] 0883173d7b chore(deps): update dependency @types/node to ^20.16.0 (#993)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-18 10:29:28 +00:00
Meier Lukas 7521ef0519 feat: add hotkeys (#986) 2024-08-18 12:07:00 +02:00
homarr-renovate[bot] 3eb90968ac fix(deps): update dependency chroma-js to v3 (#992)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-18 11:45:32 +02:00
Meier Lukas c5894136f6 refactor: remove item import for now (#985) 2024-08-16 22:49:56 +02:00
homarr-releases[bot] 4d864878e3 chore(release): automatic release v0.1.0 2024-08-16 19:13:19 +00:00
homarr-renovate[bot] 17b29620fd chore(deps): update dependency @types/node to ^20.15.0 (#989)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-16 18:33:10 +00:00
homarr-renovate[bot] 5e7ee1b657 fix(deps): update dependency eslint-config-turbo to ^2.0.14 (#984)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-15 15:10:13 +00:00
homarr-renovate[bot] 5bf4a2d95b chore(deps): update dependency @turbo/gen to ^2.0.14 (#982)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-15 14:48:39 +00:00
homarr-renovate[bot] 1657ebc288 chore(deps): update dependency turbo to ^2.0.14 (#983)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-15 14:36:38 +00:00
homarr-renovate[bot] 0ba647ad51 fix(deps): update tiptap monorepo to v2.6.4 (#981)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-15 09:26:57 +00:00
homarr-renovate[bot] cc61e27fad fix(deps): update tiptap monorepo to v2.6.3 (#980)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-14 19:23:31 +00:00
homarr-renovate[bot] b9bcc1d23a fix(deps): update dependency winston to v3.14.2 (#979)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-14 17:33:59 +00:00
homarr-renovate[bot] 497363b491 fix(deps): update dependency eslint-config-turbo to ^2.0.13 (#978)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-14 16:14:14 +00:00
homarr-renovate[bot] f2629d9ac7 chore(deps): update pnpm to v9.7.1 (#977)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-14 15:48:30 +00:00
homarr-renovate[bot] ced289095c chore(deps): update dependency turbo to ^2.0.13 (#976)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-14 15:34:44 +00:00
homarr-renovate[bot] 38b011a767 chore(deps): update dependency @turbo/gen to ^2.0.13 (#975)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-14 15:27:00 +00:00
homarr-renovate[bot] ba3f1739f4 fix(deps): update dependency @drizzle-team/brocli to ^0.10.1 (#974)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-13 19:34:02 +00:00
homarr-renovate[bot] 81a13b0e59 fix(deps): update tiptap monorepo to v2.6.2 (#972)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-13 16:49:03 +00:00
homarr-renovate[bot] 4a34ec91e5 fix(deps): update tiptap monorepo to v2.6.1 (#970)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-13 14:38:08 +00:00
homarr-renovate[bot] 04725942ee fix(deps): update dependency video.js to ^8.17.3 (#971)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-13 09:28:28 +00:00
homarr-renovate[bot] 9d62fb42c4 fix(deps): update dependency jotai to ^2.9.3 (#969)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-13 03:11:47 +00:00
homarr-renovate[bot] b9f048c57d fix(deps): update dependency typescript-eslint to ^8.1.0 (#968)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-12 17:35:41 +00:00
homarr-renovate[bot] 5b651a782a fix(deps): update mantine monorepo to ^7.12.1 (#967)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-12 13:16:26 +00:00
cospeedster cc240f4f87 docs: update README.md (#2104) 2024-08-12 07:42:54 +02:00
Meier Lukas f8c9ae67f8 wip: add modal to move items on board (#927) 2024-08-10 22:58:48 +02:00
homarr-renovate[bot] 4b39c16d25 fix(deps): update dependency tldts to ^6.1.39 (#966)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-10 17:34:44 +00:00
Meier Lukas bc886d9476 feat: add collapse to login screen with cli command for password reset (#963)
* feat: add collapse to login screen with cli command for password reset

* refactor: add translations
2024-08-10 15:54:43 +02:00
Meier Lukas 9ce172e78a feat: add dynamic section (#842)
* chore: add parent_section_id and change position to x and y_offset for sqlite section table

* chore: rename existing positions to x_offset and y_offset

* chore: add related mysql migration

* chore: add missing height and width to section table

* fix: missing width and height in migration copy script

* fix: typecheck issues

* fix: test not working caused by unsimilar schemas

* wip: add dynamic section

* refactor: improve structure of gridstack sections

* feat: add rendering of dynamic sections

* feat: add saving of moved sections

* wip: add static row count, restrict min-width and height

* chore: address pull request feedback

* fix: format issues

* fix: size calculation within dynamic sections

* fix: on resize not called when min width or height is reached

* fix: size of items while dragging is to big

* chore: temporarly remove migration files

* chore: readd migrations

* fix: format and deepsource issues

* chore: remove db_dev.sqlite file

* chore: add *.sqlite to .gitignore

* chore: address pull request feedback

* feat: add dynamic section actions for adding and removing them
2024-08-10 12:37:16 +02:00
homarr-renovate[bot] a9d87e4e6b chore(deps): update dependency eslint to ^9.9.0 (#961)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-09 20:48:37 +00:00
homarr-releases[bot] 5776ead3e3 chore(release): automatic release v0.1.0 2024-08-09 19:12:44 +00:00
homarr-renovate[bot] f6e551807f chore(deps): update dependency @types/node to ^20.14.15 (#958)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-09 18:33:11 +00:00
homarr-renovate[bot] 3be110097b fix(deps): update dependency undici to v6.19.7 (#950)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-09 17:32:51 +00:00
Meier Lukas f327837d82 feat: add user setting for home board (#956) 2024-08-09 19:24:50 +02:00
Meier Lukas 13e09968d9 feat: add logout redirect url (#954)
* feat: add logout redirect url

* fix: format issue
2024-08-09 19:24:07 +02:00
Meier Lukas 67195c6051 fix: wrong id for renovate auto approval (#957) 2024-08-09 19:23:14 +02:00
Meier Lukas fcb72e6716 feat: add column count and is public options to board creation modal (#930)
* feat: add column count and is public options to board creation modal

* test: adjust board creation test to match modified schema
2024-08-09 18:28:52 +02:00
Meier Lukas 349c49462f fix: redirect url from login not working (#952) 2024-08-09 16:08:08 +02:00
Meier Lukas 6dafbaae48 feat: add session expiry (#951) 2024-08-09 15:59:00 +02:00
Meier Lukas 25452ff063 feat: change visibility in item options based on selected integration kinds (#949) 2024-08-09 15:55:30 +02:00
Meier Lukas ab7d3f8e4c fix: renovate approval workflow not running (#948) 2024-08-09 15:25:07 +02:00
homarr-renovate[bot] 21c0e4b354 fix(deps): update dependency @tabler/icons-react to ^3.12.0 (#944)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-09 02:33:55 +00:00
homarr-renovate[bot] e18c773af9 chore(deps): update dependency vite-tsconfig-paths to ^5.0.1 (#946)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-09 01:57:01 +00:00
Meier Lukas c833f2cbf2 fix: github actor name for automatic approval wrong (#943) 2024-08-08 22:27:01 +02:00
homarr-renovate[bot] db9c200f89 fix(deps): update dependency winston to v3.14.1 (#941)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-08 20:26:50 +00:00
Meier Lukas 017c378582 fix: renovate approval run for all pull requests on every pull request change (#942)
* fix: renovate approval run for all pull requests on every pull request change

* fix: run approval only for renovate branches

* fix: restrict actor to renovate bot
2024-08-08 22:02:36 +02:00
homarr-renovate[bot]andMeier Lukas a80b49a03e fix(deps): update dependency @drizzle-team/brocli to ^0.10.0 (#937)
* fix(deps): update dependency @drizzle-team/brocli to ^0.10.0

* fix: rename cliName to name

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-08-08 21:43:04 +02:00
homarr-renovate[bot]andMeier Lukas 013c0c0eeb chore(deps): update dependency vite-tsconfig-paths to v5 (#934)
* chore(deps): update dependency vite-tsconfig-paths to v5

* fix: esm only issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-08-08 21:29:52 +02:00
Meier Lukas 47c401145d fix: removing a category hides items from the wrapper below (#2103)
* fix: removing a category hides items from the wrapper below

* refactor: improve variable names
2024-08-08 20:59:55 +02:00
Meier Lukas 76d46ec1ba refactor: improve variable names 2024-08-08 20:53:35 +02:00
Meier Lukas 9258c397e0 fix: alert that certain fields in user settings are disabled is always shown (#928)
* fix: alert that certain fields in user settings are disabled is always shown

* fix: wrong inverted check
2024-08-08 20:38:17 +02:00
Meier Lukas 81946e50a9 feat: add duplication action for items (#926) 2024-08-08 20:37:41 +02:00
Meier Lukas 365e267b8d fix: ping urls are not reset when restarting (#924) 2024-08-08 20:36:51 +02:00
homarr-renovate[bot] f9e2df085b fix(deps): update tanstack-query monorepo to ^5.51.23 (#936)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-08 17:07:53 +02:00
homarr-renovate[bot] 940a4890e2 fix(deps): update dependency drizzle-kit to ^0.24.0 (#939)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-08 14:48:48 +00:00
homarr-renovate[bot] c399d832e5 fix(deps): update dependency drizzle-orm to ^0.33.0 (#938)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-08 14:36:20 +00:00
homarr-renovate[bot] ac4b4ed9cf fix(deps): update dependency winston to v3.14.0 (#935)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-08 05:29:08 +00:00
homarr-renovate[bot]andMeier Lukas c2bf6779c0 fix(deps): update dependency jotai to ^2.9.2 (#933)
* fix(deps): update dependency jotai to ^2.9.2

* fix: lint issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-08-08 07:04:17 +02:00
Yossi Hillali 44712608b7 feat: AdGuard Home integration (#929)
* feat: AdGuard Home integration

* fix: code improvments

* fix: a better errorMessages method
2024-08-07 09:06:59 +03:00
homarr-renovate[bot] d4c2bd2789 chore(deps): update pnpm to v9.7.0 (#932)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-07 01:53:06 +00:00
homarr-renovate[bot] a2be781f81 fix(deps): update dependency tldts to ^6.1.38 (#931)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-06 20:09:19 +00:00
Meier Lukas c4c4d41e4d feat: add support for app url variables (#915)
* feat: add support for app url variables

* fix: test not working

* fix: format issue
2024-08-06 21:43:12 +02:00
homarr-renovate[bot] 693e319e26 chore(deps): update turbo monorepo to ^2.0.12 (#923)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-06 17:37:19 +00:00
homarr-renovate[bot] c6bb272318 fix(deps): update tiptap monorepo to v2.5.9 (#922)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-06 15:36:34 +00:00
homarr-renovate[bot] c69483a12c fix(deps): update dependency typescript-eslint to ^8.0.1 (#921)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-05 17:38:02 +00:00
homarr-renovate[bot] 137ebf6d22 fix(deps): update mantine monorepo to ^7.12.0 (#920)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-05 16:48:06 +00:00
homarr-renovate[bot] 3f35163481 fix(deps): update dependency drizzle-orm to ^0.32.2 (#919)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-05 16:31:47 +00:00
homarr-renovate[bot] d378ddb42b fix(deps): update dependency drizzle-kit to ^0.23.2 (#918)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-05 15:48:23 +00:00
homarr-renovate[bot] 796261c5f5 fix(deps): update dependency video.js to ^8.17.2 (#917)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-05 08:32:53 +00:00
Meier Lukas 7fa5e70d5b feat: reset password cli (#903)
* feat: add password reset cli

* feat: add homarr cli to docker image
2024-08-04 21:44:51 +02:00
Meier Lukas ca1ecdf848 feat: add preview to icon picker (#914) 2024-08-04 21:20:21 +02:00
Meier Lukas b53a2b6b78 feat: add refresh button to docker containers table (#913) 2024-08-04 21:19:31 +02:00
Meier Lukas b8b084c188 fix: restrict access to docker containers page to admins (#912) 2024-08-04 21:19:16 +02:00
SeDemal 0cec1dbb17 fix: Fix typecheck, lint issues and errors brought to dnshole summary. (#916) 2024-08-04 20:46:27 +02:00
Manuel fbc099d198 fix: #1707 refech interval app pings (#2097) 2024-08-04 17:47:31 +02:00
Manuel 3de04bdb22 fix: #2086 enforce password requirements for admin user (#2098) 2024-08-04 17:47:05 +02:00
Yossi Hillali 65c6854e44 feat: dnshole controls widget (#867)
* feat: dnshole controls widget

* feat: add duration and timer modal

* fix: code improvment

* fix: add support for many integrations

* fix: add support for more integrations

* fix: move ControlsCard outside of main component

* fix: deepsource
2024-08-04 18:47:00 +03:00
homarr-releases[bot] baf32c3fe6 chore(release): automatic release v0.1.0 2024-08-02 19:52:15 +00:00
Manuel 9013d5dbf0 feat: remove manual flag to pushing image 2024-08-02 21:41:26 +02:00
homarr-renovate[bot] 2a459dda20 fix(deps): update tanstack-query monorepo to ^5.51.21 (#905)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-02 19:21:00 +00:00
homarr-renovate[bot] afe2637f2d chore(deps): update dependency @types/node to ^20.14.14 (#902)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-02 08:48:37 +00:00
Jason B. c042c245a3 feat: add Proxmox Uptime View (#2092)
* feat: add Proxmox Uptime View

* fix: Proxmox Uptime

* fix: Proxmox Uptime

* fix: add env.example, make formattedUptime a constant

* fix: Uptime

* fix: Implement dayjs

* fix: removed unused import

* fix: Uptime
2024-08-01 19:58:47 +02:00
homarr-renovate[bot] 26615d80e7 fix(deps): update tanstack-query monorepo to ^5.51.18 (#900)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-01 14:09:47 +00:00
homarr-renovate[bot] 5c73b54428 fix(deps): update tanstack-query monorepo to ^5.51.17 (#899)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-08-01 13:35:52 +00:00
homarr-renovate[bot]andMeier Lukas a9a46024e2 fix(deps): update dependency typescript-eslint to v8 (#896)
* fix(deps): update dependency typescript-eslint to v8

* fix: lint issues

* fix: more lint issues

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-08-01 10:13:12 +02:00
homarr-renovate[bot] 1811e1de79 chore(deps): update turbo monorepo to ^2.0.11 (#897)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-31 21:25:09 +00:00
homarr-renovate[bot] 25e732bf45 chore(deps): update vitest monorepo to ^2.0.5 (#894)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-31 11:22:23 +00:00
homarr-renovate[bot] 5256853351 fix(deps): update dependency undici to v6.19.5 (#893)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-31 10:49:18 +00:00
homarr-renovate[bot] 3a5f818e7c fix(deps): update tanstack-query monorepo to ^5.51.16 (#892)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-31 09:35:52 +00:00
homarr-renovate[bot] 15171dd5af fix(deps): update dependency chroma-js to ^2.6.0 (#891)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-30 23:21:24 +00:00
homarr-renovate[bot] 79cabe6580 fix(deps): update dependency chroma-js to ^2.5.0 (#890)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-30 22:48:25 +00:00
homarr-renovate[bot] 5f89d93db6 fix(deps): update dependency drizzle-kit to ^0.23.1 (#888)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-30 22:33:12 +00:00
homarr-renovate[bot] d98112eae4 chore(deps): update turbo monorepo to ^2.0.10 (#889)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-30 22:24:17 +00:00
homarr-renovate[bot] e0566dfcfa fix(deps): update tiptap monorepo to v2.5.8 (#887)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-30 09:26:56 +00:00
homarr-renovate[bot] 1a24ba6ef7 fix(deps): update dependency typescript-eslint to ^7.18.0 (#886)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-29 17:33:32 +00:00
homarr-renovate[bot] 74f1580cba chore(deps): update dependency testcontainers to ^10.11.0 (#885)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-29 15:48:25 +00:00
homarr-renovate[bot] bce73bc38f fix(deps): update dependency video.js to ^8.17.1 (#884)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-29 09:48:21 +00:00
homarr-renovate[bot] e40d2d776f chore(deps): update dependency @types/ws to ^8.5.12 (#883)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-29 09:11:18 +00:00
Meier Lukas 67dad45214 fix: fetch timeout for external requests to small (#881)
* fix: fetch timeout for external requests to small

* fix: format issue

* fix: move clear timeout for fetch to finally
2024-07-29 06:30:56 +02:00
Meier Lukas 406ed16ce4 fix: overview in series of sonarr schema is optional (#880) 2024-07-28 19:38:47 +02:00
Meier Lukas 9cb6200895 feat: add validation to widget edit modal inputs (#879)
* feat: add validation to widget edit modal inputs

* chore: remove unused console.log statements
2024-07-28 19:38:19 +02:00
homarr-renovate[bot] 851f5e486d chore(deps): update dependency @types/node to ^20.14.13 (#882)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-28 10:28:40 +00:00
homarr-renovate[bot] a0c55459d1 fix(deps): update dependency next-auth to v5.0.0-beta.20 (#878)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-28 04:12:05 +00:00
homarr-renovate[bot] 37309e0727 fix(deps): update dependency @auth/drizzle-adapter to ^1.4.2 (#877)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-28 03:48:18 +00:00
homarr-renovate[bot] 9181f11b13 fix(deps): update dependency @auth/core to ^0.34.2 (#876)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-28 03:27:46 +00:00
Meier Lukas 8e10c48d2f fix: videos not playing automatically on iOS / mobile (#875) 2024-07-27 23:00:45 +02:00
Meier Lukas 55a000a7fc fix: missing breadcrumb translation, wrong spacing in user layout (#872) 2024-07-27 21:09:34 +02:00
Manuel b0e10f0c62 config: test new tag name 2024-07-27 20:04:03 +02:00
Manuel ff847f0910 feat: use different tag name 2024-07-27 19:33:22 +02:00
Manuel fa2c448bac fix: specify step image version 2024-07-27 19:19:48 +02:00
Manuel 4836801004 fix: login before pushing image 2024-07-27 19:17:26 +02:00
Manuel eab5c10fa6 fix: docker push flag 2024-07-27 19:08:18 +02:00
Manuel 1128110be3 fix: docker push flag 2024-07-27 19:02:29 +02:00
Manuel bce085c028 config: add push image input 2024-07-27 18:58:26 +02:00
ManuelandSeDemal 15d9327d46 feat: add rss widget (#760)
Co-authored-by: SeDemal <demal.sebastien@bluewin.ch>
2024-07-27 18:11:29 +02:00
Meier Lukas 4380aa9b3e fix: mantine-react-table not localized #333 (#873) 2024-07-27 17:10:51 +02:00
homarr-renovate[bot] c973a3bfa5 fix(deps): update dependency mysql2 to v3.11.0 (#874)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-27 14:48:10 +00:00
Meier Lukas 6f7327b774 feat: restrict non credential provider interactions (#871)
* wip: add provider field to sqlite user table

* feat: disable invites when credentials provider is not used

* wip: add migration for provider field in user table with sqlite

* wip: remove fields that can not be modified by non credential users

* wip: make username, mail and avatar disabled instead of hidden

* wip: external users membership of group cannot be managed manually

* feat: add alerts to inform about disabled fields and managing group members

* wip: add mysql migration for provider on user table

* chore: fix format issues

* chore: address pull request feedback

* fix: build issue

* fix: deepsource issues

* fix: tests not working

* feat: restrict login to specific auth providers

* chore: address pull request feedback

* fix: deepsource issue
2024-07-27 11:38:51 +02:00
homarr-renovate[bot] eba4052522 chore(deps): update dependency eslint to ^9.8.0 (#870)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-26 21:09:40 +00:00
homarr-renovate[bot] 89ab1df2db fix(deps): update tiptap monorepo to v2.5.7 (#869)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-26 13:13:04 +00:00
homarr-renovate[bot] 63b3c1bff1 fix(deps): update tanstack-query monorepo to ^5.51.15 (#868)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-26 12:50:34 +00:00
homarr-renovate[bot] 04a836e824 fix(deps): update tanstack-query monorepo to ^5.51.14 (#866)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-26 09:26:08 +00:00
Meier Lukas 90ef982066 fix: deployment pipeline for docker not working (#860)
* fix: skip env validation in dockerfile not working

* fix: skip env validation in dockerfile not working

* fix: remove linux/arm/v7 for now as node commands are run forever

* fix: remove cache because it is to big?

* refactor: remove redis log transport during build

* fix: add more checks for conditional redis connection

* fix: docker build not working locally

* refactor: move base image to debian

* chore: add arm v7 platform support

* fix: remove armv7 support as not supported by turbo

* chore: profile amd64 build

* chore: enable webpack logging

* chore: disable linux/arm64 for now

* chore: remove profiling from build in dockerfile

* chore: revert to node alpine image
2024-07-25 19:52:31 +02:00
homarr-renovate[bot] 32a8488b7b chore(deps): update dependency @types/dockerode to ^3.3.31 (#865)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-24 23:10:46 +00:00
homarr-renovate[bot] 69d9a79b05 chore(deps): update node.js to v20.16.0 (#864)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-24 18:13:39 +00:00
homarr-renovate[bot] d70e99c973 fix(deps): update tiptap monorepo to v2.5.6 (#863)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-24 17:48:31 +00:00
homarr-renovate[bot] 20d44121e6 chore(deps): update dependency node to v20.16.0 (#862)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-24 14:10:18 +00:00
homarr-renovate[bot] d8c21f996c chore(deps): update dependency @types/node to ^20.14.12 (#861)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-23 21:14:33 +02:00
homarr-renovate[bot] 868b7b890e fix(deps): update dependency drizzle-orm to ^0.32.1 (#859)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-23 15:11:02 +00:00
homarr-renovate[bot] fc5f02b022 fix(deps): update dependency jotai to ^2.9.1 (#858)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-23 10:10:34 +00:00
homarr-renovate[bot] 47834d4288 chore(deps): update dependency typescript to ^5.5.4 (#857)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-22 23:24:14 +00:00
Manuel 43e48010e5 fix: job translations (#846) 2024-07-22 21:02:36 +02:00
Manuel 508fcb9861 feat: allow no secrets for integration (#856) 2024-07-22 21:00:14 +02:00
homarr-renovate[bot] b2860ffbd3 fix(deps): update dependency typescript-eslint to ^7.17.0 (#855)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-22 17:36:50 +00:00
homarr-renovate[bot] 0c7264bc52 fix(deps): update dependency undici to v6.19.4 (#854)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-22 14:28:46 +00:00
homarr-renovate[bot] c512ddba49 fix(deps): update tiptap monorepo to v2.5.5 (#853)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-22 11:48:47 +00:00
homarr-renovate[bot] 6a6f9595f6 chore(deps): update vitest monorepo to ^2.0.4 (#852)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-22 09:39:25 +00:00
homarr-renovate[bot] 1098725bd1 fix(deps): update dependency undici to v6.19.3 (#850)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-22 09:12:59 +00:00
homarr-renovate[bot] 88e5ac2f71 fix(deps): update dependency @t3-oss/env-nextjs to ^0.11.0 (#851)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-22 08:49:32 +00:00
homarr-renovate[bot] e5e06baeb3 chore(deps): update pnpm to v9.6.0 (#849)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-22 01:56:52 +00:00
homarr-renovate[bot] 41e576039f fix(deps): update dependency postcss-preset-mantine to ^1.17.0 (#843)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-21 12:16:32 +00:00
homarr-renovate[bot] 56e7aed87f chore(deps): update dependency jsdom to ^24.1.1 (#841)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-21 05:28:47 +00:00
homarr-renovate[bot] c33086d8b5 fix(deps): update dependency ldapts to v7.1.0 (#839)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-20 20:48:07 +00:00
Meier Lukas dc75ffb9e6 feat: add ldap and oidc sso (#500)
* wip: sso

* feat: add ldap client and provider

* feat: implement login form

* feat: finish sso

* fix: lint and format issue

* chore: address pull request feedback

* fix: build not working

* fix: oidc is redirected to internal docker container hostname

* fix: build not working

* refactor: migrate to ldapts

* fix: format and frozen lock file

* fix: deepsource issues

* fix: unit tests for ldap authorization not working

* refactor: remove unnecessary args from dockerfile

* chore: address pull request feedback

* fix: use console instead of logger in auth env.mjs

* fix: default value for auth provider of wrong type

* fix: broken lock file

* fix: format issue
2024-07-20 22:23:58 +02:00
homarr-renovate[bot] 5da74ca7e0 fix(deps): update dependency mantine-react-table to v2.0.0-beta.6 (#837)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-20 13:25:30 +00:00
homarr-renovate[bot] 14d19fcd8b fix(deps): update tanstack-query monorepo to ^5.51.11 (#836)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-20 11:08:48 +00:00
homarr-renovate[bot] 37a8a0fe5a fix(deps): update dependency eslint-plugin-react to ^7.35.0 (#835)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-20 06:14:30 +00:00
homarr-renovate[bot] 445c0c4d2e chore(deps): update turbo monorepo to ^2.0.9 (#834)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-19 22:29:12 +00:00
homarr-renovate[bot] b5379c5352 chore(deps): update turbo monorepo to ^2.0.8 (#833)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-19 15:36:32 +00:00
homarr-renovate[bot] c8f3eb69e5 fix(deps): update tanstack-query monorepo to ^5.51.9 (#831)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-18 13:28:55 +00:00
homarr-renovate[bot] 5c92f6a3cc fix(deps): update dependency dayjs to ^1.11.12 (#832)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-18 13:14:20 +00:00
homarr-renovate[bot] ee2703ca4b fix(deps): update tanstack-query monorepo to ^5.51.8 (#830)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-18 07:24:12 +00:00
homarr-renovate[bot] a4edda6932 fix(deps): update tanstack-query monorepo to ^5.51.5 (#829)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-17 14:48:25 +00:00
homarr-renovate[bot] 002d011b18 fix(deps): update dependency postcss-preset-mantine to ^1.16.0 (#827)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-17 13:48:17 +00:00
homarr-renovate[bot] baf552bf52 fix(deps): update tiptap monorepo to v2.5.4 (#828)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-17 13:35:32 +00:00
homarr-renovate[bot] 015b42aa61 fix(deps): update tiptap monorepo to v2.5.3 (#825)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-17 12:18:06 +00:00
SeDemal 4e03e7f49d fix: Manage banner animation hitch fix (#826) 2024-07-17 13:45:27 +02:00
homarr-renovate[bot] 86c729a83f fix(deps): update tanstack-query monorepo to ^5.51.4 (#824)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-17 11:33:49 +00:00
homarr-renovate[bot] 86d526db28 chore(deps): update dependency testcontainers to ^10.10.4 (#823)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-17 10:11:13 +00:00
homarr-renovate[bot] b82128a90c fix(deps): update tiptap monorepo to v2.5.2 (#822)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-17 08:13:36 +00:00
homarr-renovate[bot] 05bbc19a15 fix(deps): update tanstack-query monorepo to ^5.51.3 (#821)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-16 21:10:26 +00:00
homarr-renovate[bot] 54a4173e72 chore(deps): update turbo monorepo to ^2.0.7 (#820)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-16 20:48:26 +00:00
homarr-renovate[bot] ed1ac628a1 chore(deps): update dependency @types/node to ^20.14.11 (#819)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-16 20:24:28 +00:00
homarr-renovate[bot] 30669d23e3 fix(deps): update dependency @tabler/icons-react to ^3.11.0 (#818)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-16 11:48:26 +00:00
homarr-renovate[bot] c8d57ac3fa chore(deps): update dependency @types/dockerode to ^3.3.30 (#817)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-16 02:30:58 +00:00
homarr-renovate[bot] 636d3c670c fix(deps): update dependency mysql2 to v3.10.3 (#816)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-15 23:10:55 +00:00
homarr-renovate[bot] 56c6be523d fix(deps): update dependency typescript-eslint to ^7.16.1 (#814)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-15 17:35:18 +00:00
homarr-renovate[bot] 08ba282528 fix(deps): update tiptap monorepo to v2.5.1 (#813)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-15 13:29:14 +00:00
homarr-renovate[bot] ea47e4c0a0 chore(deps): update vitest monorepo to ^2.0.3 (#812)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-15 10:30:53 +00:00
homarr-renovate[bot] 7f341efdb3 fix(deps): update tiptap monorepo to v2.5.0 (#811)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-14 14:48:46 +00:00
homarr-renovate[bot] fd642011ba fix(deps): update dependency eslint-plugin-react to ^7.34.4 (#809)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-13 18:29:29 +00:00
homarr-renovate[bot] fe5af9231e fix(deps): update mantine monorepo to ^7.11.2 (#808)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-13 15:33:24 +00:00
Manuel e438bac0f5 feat: make notifications optional 2024-07-13 17:23:08 +02:00
Manuel 5c68ac9e2e fix: try using other variable 2024-07-13 17:22:09 +02:00
Manuel d7a30cd0dd fix: disable env validation in ci 2024-07-13 15:30:29 +02:00
homarr-renovate[bot] 66036b08bc fix(deps): update dependency prettier to ^3.3.3 (#805)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-13 13:25:36 +00:00
Manuel c84fb63b25 fix: disable env validation in ci 2024-07-13 15:09:29 +02:00
Manuel f0d6676917 fix: docker platforms 2024-07-13 15:02:31 +02:00
Manuel f23831be5e fix: add missing tags 2024-07-13 14:54:53 +02:00
Manuel 0c7f479952 fix: use correct branch for tag compare 2024-07-13 14:46:27 +02:00
Manuel a8748fa439 fix: base branch for semver 2024-07-13 14:43:20 +02:00
Manuel 82caec402a feat: use gh app for merging 2024-07-13 14:32:43 +02:00
Manuel 3df6dcfbe7 feat: approve before automerge 2024-07-13 14:19:21 +02:00
Manuel 653f42bccb fix: pass token to cli 2024-07-13 14:06:33 +02:00
Manuel 3fb6458edf refactor: use gh cli to create pr (#795) 2024-07-13 14:00:53 +02:00
homarr-renovate[bot] 8a0411341d chore(deps): update dependency @types/ws to ^8.5.11 (#793)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-13 03:10:57 +00:00
homarr-renovate[bot] 7d61baad03 chore(deps): update dependency eslint to ^9.7.0 (#786)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-12 21:10:47 +00:00
homarr-renovate[bot] 0169501676 fix(deps): update dependency glob to v11 (#766)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-12 20:48:00 +02:00
Manuel 01eb84654d fix: docker build (#777) 2024-07-12 20:46:58 +02:00
Manuel f58c38a1aa fix: correctly set pr description (#778) 2024-07-12 20:46:18 +02:00
homarr-renovate[bot] 0a4ff4b883 fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.3.1 (#784)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-12 15:26:38 +00:00
homarr-renovate[bot] be4748b8fa fix(deps): update tanstack-query monorepo to ^5.51.1 (#782)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-11 20:34:07 +00:00
homarr-renovate[bot] ec4b3a6408 fix(deps): update dependency sass to ^1.77.8 (#783)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-11 20:25:07 +00:00
homarr-renovate[bot] 5382b1999f fix(deps): update dependency winston to v3.13.1 (#781)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-10 21:33:52 +00:00
homarr-renovate[bot] e54d9aaf44 chore(deps): update vitest monorepo to ^2.0.2 (#780)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-10 16:11:28 +00:00
homarr-renovate[bot] 99175feda4 fix(deps): update nextjs monorepo to ^14.2.5 (#779)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-10 15:27:39 +00:00
homarr-renovate[bot] 3da5734571 fix(deps): update dependency drizzle-orm to ^0.32.0 (#776)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-10 13:28:35 +00:00
homarr-renovate[bot] f2c70a4d0b fix(deps): update dependency drizzle-kit to ^0.23.0 (#775)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-10 13:13:36 +00:00
homarr-renovate[bot] dcb9cfaf29 fix(deps): update dependency sass to ^1.77.7 (#773)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-09 22:29:07 +00:00
homarr-renovate[bot] 8085e72cf4 fix(deps): update dependency video.js to ^8.16.1 (#772)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-09 17:09:42 +00:00
homarr-renovate[bot] ea0a6a62a8 chore(deps): update node.js to v20.15.1 (#771)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-09 16:12:34 +00:00
homarr-renovate[bot] c3f988cc02 chore(deps): update dependency testcontainers to ^10.10.3 (#770)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-09 14:09:25 +00:00
homarr-renovate[bot] bf70143cca fix(deps): update dependency @tabler/icons-react to ^3.10.0 (#769)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-09 11:22:21 +00:00
homarr-renovate[bot] 4cee3dfbe0 fix(deps): update dependency glob to ^10.4.5 (#768)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-09 09:10:29 +00:00
homarr-renovate[bot] 5e3dc1e44d fix(deps): update dependency jotai to ^2.9.0 (#767)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-09 03:37:37 +00:00
homarr-renovate[bot] 74b017d9f4 fix(deps): update dependency glob to ^10.4.4 (#765)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-08 22:36:03 +00:00
homarr-renovate[bot] 60669999d1 chore(deps): update dependency node to v20.15.1 (#763)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-08 20:11:45 +00:00
homarr-renovate[bot] ea17975406 chore(deps): update dependency testcontainers to ^10.10.2 (#764)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-08 19:48:20 +00:00
homarr-renovate[bot] 2c197bc59b fix(deps): update dependency typescript-eslint to ^7.16.0 (#762)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-08 17:34:19 +00:00
homarr-renovate[bot] 4f94e98140 chore(deps): update vitest monorepo to ^2.0.1 (#761)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-08 16:11:23 +00:00
Meier Lukas 46943b147a feat: add integration access check to middlewares (#756)
* feat: add integration access check to middlewares

* fix: format issues

* fix: remove group and user permissions and items from context

* refactor: move action check to seperate function
2024-07-08 17:39:36 +02:00
homarr-renovate[bot] 8d42ca8b5e fix(deps): update dependency drizzle-orm to ^0.31.4 (#759)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-08 15:26:45 +00:00
homarr-renovate[bot] 0d98335354 chore(deps): update vitest monorepo to v2 (#757)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-08 15:39:35 +02:00
homarr-renovate[bot] 0a3d1e9e5e fix(deps): update dependency drizzle-orm to ^0.31.3 (#758)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-08 13:37:50 +00:00
Meier Lukas 3214d889fa refactor: add color initials to avatar, improve usage of user avatar (#753) 2024-07-08 00:00:54 +02:00
Meier Lukas 408cdeb5c3 feat: add integration access settings (#725)
* feat: add integration access settings

* fix: typecheck and test issues

* fix: test timeout

* chore: address pull request feedback

* chore: add throw if action forbidden for integration permissions

* fix: unable to create new migrations because of duplicate prevId in sqlite snapshots

* chore: add sqlite migration for integration permissions

* test: add unit tests for integration access

* test: add permission checks to integration router tests

* test: add unit test for integration permissions

* chore: add mysql migration

* fix: format issues
2024-07-08 00:00:37 +02:00
Meier Lukas be711149f7 fix: manage links wrong (#754) 2024-07-07 21:32:36 +02:00
homarr-renovate[bot] 680cc284d6 chore(deps): update pnpm to v9.5.0 (#755)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-07 17:09:25 +00:00
Meier Lukas 95101e34ed feat: add docker actions (#752)
* feat: add docker actions

* chore: remove unnecessary import
2024-07-07 09:58:40 +02:00
Meier Lukas 998615fc11 fix: memory leak caused by many unclosed redis subscriptions (#750)
* fix: memory leak caused by many unclosed redis subscriptions

* chore: address pull request feedback
2024-07-07 09:58:20 +02:00
homarr-renovate[bot] 61cbb74d14 fix(deps): update dependency glob to ^10.4.3 (#751)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-06 04:29:19 +00:00
homarr-renovate[bot] 228fc48e33 chore(deps): update dependency @types/node to ^20.14.10 (#748)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-05 19:20:33 +00:00
homarr-renovate[bot] a67050e77b fix(deps): update tanstack-query monorepo to ^5.50.1 (#747)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-05 04:14:08 +00:00
homarr-renovate[bot] 9375738e05 fix(deps): update dependency react-simple-code-editor to ^0.14.1 (#746)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-04 23:24:40 +00:00
homarr-renovate[bot] 75e5a6c42f fix(deps): update dependency @tabler/icons-react to ^3.9.0 (#745)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-04 20:10:12 +00:00
Meier Lukas 41dba7b516 fix: controller is already closed trpc subscription observable error (#743) 2024-07-03 20:31:06 +02:00
homarr-renovate[bot] f557fbbae1 chore(deps): update dependency testcontainers to ^10.10.1 (#739)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-03 20:28:57 +02:00
homarr-renovate[bot] 1dd509a40f fix(deps): update dependency ws to ^8.18.0 (#740)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-03 20:28:47 +02:00
Manuel bb8640b162 feat: add jellyfin integration (#672)
* feat: #655 implement jellyfin media server

* fix: table overflow

* feat: pr feedback

* refactor: format

* refactor: merge existing code

* fix: code smells

* refactor: format commit
2024-07-03 20:06:57 +02:00
Manuel 1cf119c768 feat: log elapsed cron job time (#742) 2024-07-03 19:47:13 +02:00
Meier Lukas 15f3493b5b chore(deps): update pnpm/action-setup to v4 (#741) 2024-07-03 19:37:54 +02:00
homarr-renovate[bot] d32075d410 fix(deps): update dependency react-simple-code-editor to ^0.14.0 (#738)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-02 23:48:11 +00:00
homarr-renovate[bot] e12531cccc fix(deps): update dependency @tabler/icons-react to ^3.8.0 (#737)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-02 21:23:14 +00:00
homarr-renovate[bot] 6aecd1a713 fix(deps): update dependency better-sqlite3 to ^11.1.2 (#736)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-02 17:09:08 +00:00
homarr-renovate[bot] 60c0cfa911 fix(deps): update mantine monorepo to ^7.11.1 (#735)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-02 11:21:36 +00:00
Manuel dba97a3bd6 feat: add calendar widget (#663)
* feat: add calendar widget

* feat: add artifacts to gitignore
2024-07-02 12:13:13 +02:00
homarr-renovate[bot] 83ee03b192 chore(deps): update dependency @types/better-sqlite3 to v7.6.11 (#734)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-02 04:12:02 +00:00
homarr-renovate[bot] 0ac123b59f chore(deps): update dependency typescript to ^5.5.3 (#733)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-01 19:09:01 +00:00
homarr-renovate[bot] 0990e4b552 fix(deps): update dependency typescript-eslint to ^7.15.0 (#732)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-01 17:35:31 +00:00
Manuel 08d571ad74 feat: add tasks page (#692) 2024-07-01 18:57:40 +02:00
homarr-renovate[bot] 663eb0bf5b fix(deps): update dependency mysql2 to v3.10.2 (#731)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-07-01 02:46:23 +00:00
homarr-renovate[bot] 8ee0d67a36 fix(deps): update tanstack-query monorepo to ^5.49.2 (#730)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-30 06:48:29 +00:00
Manuel 4e1bbf2ae6 feat: add dynamic breadcrumb (#706)
* feat: add dynamic breadcrumb

* feat: pr feedback
2024-06-29 17:28:22 +02:00
homarr-renovate[bot] be100b610e fix(deps): update dependency drizzle-kit to ^0.22.8 (#729)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-29 12:48:32 +00:00
homarr-renovate[bot] 531cd0de25 fix(deps): update tanstack-query monorepo to ^5.49.0 (#728)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-29 06:40:56 +00:00
Meier Lukas 8fc28844bb fix: typo in automatic release commit message (#726) 2024-06-28 22:03:24 +02:00
homarr-renovate[bot] 4cf10b97c5 chore(deps): update turbo monorepo to ^2.0.6 (#723)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-28 19:33:31 +00:00
homarr-renovate[bot] e057affddf chore(deps): update dependency eslint to ^9.6.0 (#722)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-28 17:48:14 +00:00
homarr-renovate[bot] e46bfd9146 fix(deps): update dependency jotai to ^2.8.4 (#721)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-28 04:28:46 +00:00
homarr-renovate[bot] c8d4461ab8 fix(deps): update dependency better-sqlite3 to ^11.1.1 (#720)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-27 18:11:16 +00:00
homarr-renovate[bot] 52e936f979 fix(deps): update mantine monorepo to ^7.11.0 (#719)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-26 17:08:53 +00:00
homarr-renovate[bot] 7a14c255be fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.3.0 (#718)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-26 14:09:06 +00:00
Manuel c4b54ed36c fix: open navigation item by default (#716) 2024-06-26 12:19:05 +02:00
homarr-renovate[bot] 988ec6bebb chore(deps): update dependency @types/node to ^20.14.9 (#717)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-25 22:26:38 +00:00
homarr-renovate[bot] 6a3a8465e7 fix(deps): update dependency @tabler/icons-react to ^3.7.0 (#715)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-25 15:48:11 +00:00
homarr-renovate[bot] a76e941378 fix(deps): update tanstack-query monorepo to ^5.48.0 (#714)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-25 14:38:27 +00:00
homarr-renovate[bot] 75748dfbc3 fix(deps): update tanstack-query monorepo to ^5.47.0 (#713)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-25 13:12:11 +00:00
homarr-renovate[bot] 196ac340a1 fix(deps): update dependency typescript-eslint to ^7.14.1 (#709)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-24 22:36:37 +00:00
homarr-renovate[bot] fab69c1c07 chore(deps): update turbo monorepo to ^2.0.5 (#711)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-24 22:28:16 +00:00
homarr-renovate[bot] a2140d0870 chore(deps): update node.js to v20.15.0 (#710)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-24 22:11:17 +00:00
Meier Lukas 6029a5b592 style: improve mobile compatibility of certain manage pages (#678)
* style: improve mobile compatibility of certain manage pages

* style: improve mobile support for more manage pages

* fix: format issues

* chore: address pull request feedback
2024-06-22 21:02:17 +02:00
Meier Lukas f92aeba403 feat: test integration connection (#669)
* feat: add test integration for pi-hole

* refactor: test integration for pi-hole

* fix: multiple secrets of same type could be used for integration creation

* fix: remove integration test connection test and add mock for test-connection function

* fix: add missing onUpdateFn to mysql integration secrets

* fix: format issues

* feat: add home assistant test connection

* fix: deepsource issues

* test: add system integration tests for test connection

* fix: add before all for pulling home assistant image

* test: add unit tests for handleTestConnectionResponseAsync

* test: add unit test for testConnectionAsync

* test: add mroe tests to integration-test-connection

* fix: deepsource issues

* fix: deepsource issue

* chore: address pull request feedback
2024-06-22 21:02:04 +02:00
Meier Lukas 92afd82d22 refactor: add cron job core package (#704)
* refactor: add cron job core package

* docs: add comments to cron validation types

* chore(deps): move node-cron dependencies from tasks app to cron-jobs-core package

* fix: runOnInit is not running on start and rather on job creation

* fix: format issues

* fix: build fails when using top level await in cjs

* chore: update turbo gen package json typescript version to 5.5.2

* fix: format issue

* fix: deepsource issues

* chore: update turbo gen package json eslint version to 9.5.0

* chore: fix frozen lockfile and format
2024-06-22 20:00:20 +02:00
homarr-renovate[bot] ea12da991a chore(deps): update dependency testcontainers to ^10.10.0 (#705)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-22 15:47:58 +00:00
homarr-renovate[bot] af0b986b3e chore(deps): update dependency @types/node to ^20.14.8 (#703)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-22 08:12:17 +00:00
homarr-renovate[bot] 324a643fd1 fix(deps): update dependency @auth/drizzle-adapter to ^1.4.1 (#701)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-21 21:10:42 +00:00
homarr-renovate[bot] 05702bede8 fix(deps): update dependency @auth/core to ^0.34.1 (#702)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-21 20:48:15 +00:00
homarr-renovate[bot] 9087f4bfdf fix(deps): update dependency @auth/core to ^0.34.0 (#700)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-21 20:26:00 +00:00
homarr-renovate[bot] 8d7a7bc9b1 fix(deps): update dependency @tanstack/react-query-next-experimental to v5.46.0 (#699)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-21 09:25:33 +00:00
homarr-renovate[bot] 7b3143357e chore(deps): update dependency @types/node to ^20.14.7 (#698)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-20 21:24:10 +00:00
homarr-renovate[bot] d5f4bd0aab chore(deps): update dependency typescript to ^5.5.2 (#697)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-20 18:13:25 +00:00
homarr-renovate[bot] 21a2db6019 chore(deps): update dependency node to v20.15.0 (#696)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-20 16:33:02 +00:00
homarr-renovate[bot] d78b581104 fix(deps): update dependency eslint-plugin-jsx-a11y to ^6.9.0 (#695)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-20 06:48:21 +00:00
homarr-renovate[bot] 4291bde94f fix(deps): update dependency @auth/drizzle-adapter to ^1.3.0 (#694)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-20 02:44:06 +00:00
homarr-renovate[bot] 171fe40fd5 fix(deps): update dependency @auth/core to ^0.33.0 (#693)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-20 02:22:20 +00:00
homarr-renovate[bot] 541d745cea fix(deps): update dependency undici to v6.19.2 (#691)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-19 17:36:32 +00:00
ManuelandMeier Lukas 508369cb0b feat: add undici fetch interceptor (#687)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-06-19 19:26:42 +02:00
homarr-renovate[bot] bf607349e0 chore(deps): update dependency @types/node to ^20.14.6 (#690)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-19 16:30:58 +00:00
homarr-renovate[bot] 0bfc0c5d25 fix(deps): update dependency glob to ^10.4.2 (#689)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-19 02:46:21 +00:00
homarr-renovate[bot] fdcf3a89c9 fix(deps): update dependency eslint-plugin-react to ^7.34.3 (#688)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-18 20:33:38 +00:00
homarr-renovate[bot] 86b49414f0 chore(deps): update docker/build-push-action action to v6 (#679)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-18 21:51:53 +02:00
homarr-renovate[bot] 64fe061fb0 chore(deps): update dependency @types/node to ^20.14.5 (#686)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-18 07:09:33 +00:00
homarr-renovate[bot] f96e25c0a2 chore(deps): update dependency @types/node to ^20.14.4 (#685)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-18 03:38:41 +00:00
homarr-renovate[bot] 4526fa6fc4 fix(deps): update dependency sass to ^1.77.6 (#683)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-17 21:23:43 +00:00
homarr-renovate[bot] 05690cc5e3 chore(deps): update dependency @types/node to ^20.14.3 (#682)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-17 20:08:32 +00:00
homarr-renovate[bot] e9d612051d fix(deps): update dependency typescript-eslint to ^7.13.1 (#681)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-17 17:47:57 +00:00
homarr-renovate[bot] 727f97226c chore(deps): update pnpm to v9.4.0 (#680)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-17 16:48:11 +00:00
homarr-renovate[bot] 33e8cc7412 fix(deps): update tanstack-query monorepo to ^5.45.1 (#677)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-16 20:33:50 +00:00
Meier Lukas f358c33bd3 fix: missing translations for apps / integrations #438 (#674)
* fix: missing translations for apps / integrations #438

* chore: remove unnecessary property from integration new dropdown
2024-06-16 22:10:17 +02:00
Meier Lukas e957c6b601 fix: icon selector is a select not an autocomplete #515 (#675) 2024-06-16 22:09:48 +02:00
homarr-renovate[bot] 0d14bad10b fix(deps): update dependency ws to ^8.17.1 (#676)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-16 15:25:33 +00:00
Meier Lukas 25f8564e97 chore: change turbo ui to stream because the other one is unusable (#670) 2024-06-15 22:47:31 +02:00
homarr-renovate[bot] 8b4cc5b994 chore(deps): update dependency eslint to ^9.5.0 (#668)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-14 19:48:24 +00:00
homarr-renovate[bot] 856cb2d005 chore(deps): update turbo monorepo to ^2.0.4 (#666)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-14 17:48:25 +00:00
homarr-renovate[bot] 10acb2bc76 fix(deps): update dependency mysql2 to v3.10.1 (#665)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-13 23:24:12 +00:00
homarr-renovate[bot] e4c6864a94 fix(deps): update dependency @tabler/icons-react to ^3.6.0 (#664)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-13 20:48:14 +00:00
homarr-renovate[bot] 4e9593b859 fix(deps): update mantine monorepo to ^7.10.2 (#662)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-13 09:26:34 +00:00
homarr-renovate[bot] 37ebcfe318 fix(deps): update dependency mantine-react-table to v2.0.0-beta.5 (#661)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-13 06:13:09 +00:00
homarr-renovate[bot] 5547e52001 fix(deps): update tanstack-query monorepo to ^5.45.0 (#660)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-12 13:12:23 +00:00
homarr-renovate[bot] f5f6388361 fix(deps): update dependency sass to ^1.77.5 (#659)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-12 03:48:16 +00:00
homarr-renovate[bot] 476fa59079 fix(deps): update nextjs monorepo to ^14.2.4 (#658)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-11 22:27:00 +00:00
homarr-renovate[bot] 8b3bc03b9b fix(deps): update tanstack-query monorepo to ^5.44.0 (#657)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-11 13:34:47 +00:00
homarr-renovate[bot] d69cda0313 fix(deps): update dependency prettier to ^3.3.2 (#656)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-11 06:32:24 +00:00
Meier Lukas 9cab001451 chore: improve importing of some packages (#647)
* chore: improve importing of some packages

* fix: not same version for all dependencies

* fix: lint and format issue
2024-06-10 21:26:39 +02:00
Meier Lukas c627384c4b test: add pi-hole test container integration test (#649)
* test: add pi-hole test container integration test

* chore: improve waiting logic for test container

* refactor: improve structure of pi hole test

* fix: eslint does not recognize test directory to be part of tsconfig
2024-06-10 21:18:24 +02:00
Meier Lukas 8e4ba37f94 fix: login with revalidate path and wrong preferences link (#654) 2024-06-10 21:17:51 +02:00
Manuel 2e782ae442 feat: add homeassistant integration (#578) 2024-06-10 21:16:39 +02:00
homarr-renovate[bot] 19498854fc fix(deps): update dependency typescript-eslint to ^7.13.0 (#653)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-10 17:34:03 +00:00
homarr-renovate[bot] d985fbe69a fix(deps): update dependency drizzle-kit to ^0.22.7 (#652)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-10 14:38:11 +00:00
homarr-renovate[bot] 6fc27dfce4 chore(deps): update pnpm to v9.3.0 (#651)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-10 13:13:08 +00:00
homarr-renovate[bot] 83b4631cde chore(deps): update dependency @vitejs/plugin-react to ^4.3.1 (#650)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-10 01:49:14 +00:00
homarr-renovate[bot] 84851db333 fix(deps): update dependency @trpc/client to v11.0.0-rc.401 (#648)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-09 19:48:18 +00:00
SeDemal 0710425e78 feat: DNS Hole summary Scalability (#646) 2024-06-09 17:36:18 +02:00
SeDemal 28927cfa28 feat: App tile scalability (#645)
* feat: App tile scalability

* fix: missing translation
2024-06-09 12:54:56 +02:00
Meier Lukas 3a3a8251bd feat: improve user init setup (#643) 2024-06-08 23:35:48 +02:00
SeDemal bac09d8be5 feat: Clock widget scalability (#644) 2024-06-08 23:35:35 +02:00
Meier Lukas 2c1b52aff9 fix: gridstack not working (#642)
* fix: gridstack not working

* chore: remove unneccessary comments
2024-06-08 22:22:15 +02:00
Meier Lukas e46ea71bc2 fix: renovate config with json does not support comments (#641) 2024-06-08 21:38:44 +02:00
Meier Lukas fb92c3e95c fix: pnpm dev did not work caused by tsx update (#638)
* fix: pnpm dev did not work caused by tsx update

* fix: format issues
2024-06-08 21:28:28 +02:00
homarr-renovate[bot] 38c32cbece fix(deps): update dependency @tanstack/react-query-next-experimental to v5.41.0 (#639)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-08 19:19:39 +00:00
homarr-renovate[bot]andMeier Lukas 1bae7352dc chore(deps): update dependency eslint to v9 (#452)
* chore(deps): update dependency eslint to v9

* chore: migrate eslint to v9

* fix: dependency issues

* fix: unit tests not working

* chore: disable lint check for Image component that does not work in ci

* fix: lint issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-06-08 20:49:57 +02:00
Meier Lukas d7ecdf5567 feat: add simple app ping (#580)
* feat: add simple ping

* refactor: make ping run on server and show errors

* fix: format issues

* fix: missing translation for enabled ping option for app

* refactor: remove ping queue as no longer needed

* chore: address pull request feedback

* test: add some unit tests

* fix: format issues

* fix: deepsource issues
2024-06-08 17:33:16 +02:00
Thomas Camlong 3dca787fa7 chore: configure i18n ally (#606)
Note: TypeScript files are read-only https://github.com/lokalise/i18n-ally/wiki/Locale-Formats#supported-locale-formats
2024-06-08 17:32:46 +02:00
homarr-renovate[bot]andMeier Lukas 1f730ab786 chore(deps): update turbo monorepo to v2 (major) (#621)
* chore(deps): update turbo monorepo to v2

* chore: run codemod

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-06-08 17:28:15 +02:00
homarr-renovate[bot] a3b861e13c chore(deps): update dependency tsx to v4.14.0 (#637)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-08 12:14:49 +00:00
homarr-renovate[bot] 66ddb45975 fix(deps): update dependency drizzle-kit to ^0.22.6 (#636)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-08 11:20:54 +00:00
homarr-renovate[bot] 4de5ab5d41 chore(deps): update dependency tsx to v4.13.3 (#635)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-08 03:26:43 +00:00
homarr-renovate[bot] 475f472cb0 fix(deps): update dependency @trpc/client to v11.0.0-rc.396 (#634)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-07 20:33:39 +00:00
homarr-renovate[bot] efd958d6cb fix(deps): update dependency drizzle-orm to ^0.31.2 (#632)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-07 15:48:32 +00:00
homarr-renovate[bot] 246272669e fix(deps): update dependency drizzle-kit to ^0.22.5 (#631)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-07 15:34:23 +00:00
homarr-renovate[bot] 493c22f9da chore(deps): update dependency tsx to v4.13.2 (#630)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-07 10:29:53 +00:00
homarr-renovate[bot] 1d6745b142 chore(deps): update dependency tsx to v4.13.1 (#629)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-07 07:09:43 +00:00
homarr-renovate[bot] 309111c600 chore(deps): update dependency tsx to v4.13.0 (#628)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-07 03:28:32 +00:00
homarr-renovate[bot] 98078556c3 chore(deps): update dependency tsx to v4.12.1 (#627)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-07 02:28:54 +00:00
homarr-renovate[bot] 5bf1ddde4b fix(deps): update dependency @trpc/client to v11.0.0-rc.394 (#626)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-06 23:35:42 +00:00
homarr-renovate[bot] afa96349c5 chore(deps): update pnpm to v9.2.0 (#624)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-06 18:39:58 +00:00
homarr-renovate[bot] 1aabc4dfb2 chore(deps): update dependency tsx to v4.12.0 (#614)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-06 18:30:41 +00:00
homarr-renovate[bot] 8f551aa485 fix(deps): update dependency prettier to ^3.3.1 (#623)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-06 18:12:17 +00:00
homarr-renovate[bot] dda34e7764 fix(deps): update dependency drizzle-kit to ^0.22.4 (#625)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-06 17:48:14 +00:00
homarr-renovate[bot] 899060c234 chore(deps): update turbo monorepo to ^1.13.4 (#620)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-06 17:35:59 +00:00
homarr-renovate[bot] f1dbc4420f chore(deps): update dependency @types/node to ^20.14.2 (#622)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-06 17:27:56 +00:00
Manuel 251cedf111 ci: use app instead of personal token (#611) 2024-06-06 18:06:28 +02:00
SeDemal cfd8b328b4 feat: weather widget scalable (#574)
* refactor: Make weather widget scalable

* fix: formatting

* fix: map key again

* fix: null assertions
2024-06-05 21:26:59 +02:00
homarr-renovate[bot] 2623708c6d fix(deps): update typescript-eslint monorepo to ^7.12.0 (#616)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-04 21:06:15 +02:00
homarr-renovate[bot] 946ea8753f fix(deps): update tanstack-query monorepo to ^5.40.1 (#617)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-04 21:05:32 +02:00
homarr-renovate[bot] f5aaf89a3d fix(deps): update dependency drizzle-kit to ^0.22.2 (#618)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-04 21:04:24 +02:00
homarr-renovate[bot] 710197b3a0 fix(deps): update dependency drizzle-orm to ^0.31.1 (#619)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-04 21:03:47 +02:00
homarr-renovate[bot] d993e8d811 fix(deps): update dependency jotai to ^2.8.3 (#615)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-04 21:03:03 +02:00
homarr-renovate[bot] 381832685f chore(deps): update dependency @types/node to ^20.14.1 (#613)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-04 21:02:15 +02:00
homarr-renovate[bot] 812b8d8306 fix(deps): update dependency @trpc/client to v11.0.0-rc.390 (#609)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-03 19:09:01 +00:00
Manuel 2b5f873c00 ci: add rider run configuration (#610) 2024-06-02 18:24:29 +02:00
homarr-renovate[bot] 20874cb96d fix(deps): update dependency next-auth to v5.0.0-beta.19 (#605)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-02 09:24:32 +00:00
homarr-renovate[bot]andMeier Lukas dc3b00736e fix(deps): update dependency @auth/core to ^0.32.0 (#603)
* fix(deps): update dependency @auth/core to ^0.32.0

* fix(deps): update dependency @auth/core to ^0.32.0

* fix: type issues with next-auth types

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-06-02 11:01:10 +02:00
homarr-renovate[bot] 869efbc638 fix(deps): update dependency @trpc/client to v11.0.0-rc.383 (#608)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-02 08:48:14 +00:00
homarr-renovate[bot] 2e044ac871 fix(deps): update dependency @auth/drizzle-adapter to ^1.2.0 (#604)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-02 05:33:55 +00:00
homarr-renovate[bot] 04c02d886d chore(deps): update actions/checkout action to v4 (#595)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-01 23:19:54 +02:00
Manuel 2be1ae8011 ci: fix pull request description 2024-06-01 23:10:04 +02:00
Manuel 67d4899ed3 ci: add automerge label to create PR step 2024-06-01 23:04:49 +02:00
Manuel a6a6734097 ci: fix pr number target 2024-06-01 23:01:27 +02:00
Manuel 4ff39b26e9 ci: remove if condition from create PR step 2024-06-01 22:52:32 +02:00
Manuel 4b304c74bc ci: fix fetch depth (#599) 2024-06-01 22:47:10 +02:00
Manuel d08bdf3e2d ci: fix branch to compare tags (#598) 2024-06-01 22:33:41 +02:00
Manuel 7cc2736d68 fix: default branch for tag compare (#597) 2024-06-01 22:16:21 +02:00
Manuel 452308336a refactor: clean up workflows (#596) 2024-06-01 22:04:42 +02:00
Manuel 26146f4037 ci: add automatic release workflow (#583) 2024-06-01 21:46:12 +02:00
homarr-renovate[bot] b1b839fcd8 fix(deps): update dependency prettier to ^3.3.0 (#594)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-06-01 17:25:39 +00:00
homarr-renovate[bot] fef070c42c fix(deps): update dependency mantine-react-table to v2.0.0-beta.4 (#593)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-31 20:24:11 +00:00
homarr-renovate[bot] e832bfbbdb chore(deps): update dependency @types/node to ^20.13.0 (#592)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-31 19:48:14 +00:00
homarr-renovate[bot] 777473ee36 chore(deps): update dependency @types/node to ^20.12.14 (#591)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-31 19:20:05 +00:00
homarr-renovate[bot] 96150f802d fix(deps): update dependency better-sqlite3 to v11 (#587)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-31 20:33:37 +02:00
homarr-renovate[bot] 51fb7cb402 fix(deps): update dependency drizzle-kit to ^0.22.1 (#590)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-31 12:59:18 +00:00
homarr-renovate[bot] 3b39e87212 fix(deps): update dependency drizzle-orm to ^0.31.0 (#589)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-31 08:48:13 +00:00
homarr-renovate[bot] d16281bea7 fix(deps): update dependency drizzle-kit to ^0.22.0 (#588)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-31 08:38:31 +00:00
homarr-renovate[bot] 79d977c008 fix(deps): update dependency sass to ^1.77.4 (#586)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-31 00:40:30 +00:00
homarr-renovate[bot] ff84c2bdb7 fix(deps): update dependency mysql2 to v3.10.0 (#585)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-30 19:22:13 +00:00
homarr-renovate[bot] 6d46e91a7c fix(deps): update dependency better-sqlite3 to ^10.1.0 (#584)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-30 18:13:37 +00:00
homarr-renovate[bot] ec29d77186 chore(deps): update pnpm to v9.1.4 (#582)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-30 12:16:50 +00:00
homarr-renovate[bot] b12d109f6d fix(deps): update mantine monorepo to ^7.10.1 (#581)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-30 10:29:27 +00:00
homarr-renovate[bot] 169fecaba1 fix(deps): update dependency sass to ^1.77.3 (#579)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-29 22:28:30 +00:00
Thomas CamlongandMeier Lukas dd2937a0d6 feat: add docker container table (#520)
* WIP On docker integration

* WIP on adding docker support

* WIP on adding docker support

* chore: Add cacheTime parameter to createCacheChannel function

* bugfix: Add node-loader npm dependency for webpack configuration

* revert changes

* chore: Add node-loader npm dependency for webpack configuration

* feat: Add Docker container list to DockerPage

* chore: apply pr suggestions

* fix: fix printing issue using a Date objext

* chore: Update npm dependencies

* feat: Create DockerTable component for displaying Docker container list

* feat: Refactor DockerPage to use DockerTable component

* feat: Refactor DockerPage to use DockerTable component

* feat: Add useTimeAgo hook for displaying relative timestamps

* feat: Add hooks module to common package

* refactor: Update DockerTable component

Include container actions and state badges

* feat: add information about instance for docker containers

* feat: Add OverflowBadge component for displaying overflowed data

* feat: Refactor DockerSingleton to use host and instance properties

This commit refactors the DockerSingleton class in the `docker.ts` file to use the `host` and `instance` properties instead of the previous `key` and `remoteApi` properties. This change improves clarity and consistency in the codebase.

* feat: Add OverflowBadge component for displaying overflowed data

* feat: Improve DockerTable component with Avatar and Name column

This commit enhances the DockerTable component in the `DockerTable.tsx` file by adding an Avatar and Name column. The Avatar column displays an icon based on the Docker container's image, while the Name column shows the container's name. This improvement provides better visual representation and identification of the containers in the table.

* feat: Enhance DockerTable component with Avatar and Name columns

* refactor: improve docker table and icon resolution

* chore: address pull request feedback

* fix: format issues

* chore: add missing translations

* refactor: remove black background

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-05-29 21:57:02 +02:00
homarr-renovate[bot] e030e06a16 chore(deps): update actions/checkout action to v4 (#571)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-29 21:52:44 +02:00
homarr-renovate[bot] dc7f455fe7 chore(deps): update dependency @types/node to ^20.12.13 (#577)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-29 17:27:00 +00:00
homarr-renovate[bot] 612b8d8c6e fix(deps): update dependency mysql2 to v3.9.9 (#576)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-29 14:48:11 +00:00
homarr-renovate[bot] fe43e74c53 fix(deps): update dependency flag-icons to ^7.2.3 (#575)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-29 11:21:16 +00:00
homarr-renovate[bot] 2cb3e95593 chore(deps): update node.js to v20.14.0 (#573)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-29 03:48:21 +00:00
homarr-renovate[bot] 9e499bd30b fix(deps): update dependency eslint-plugin-react to ^7.34.2 (#567)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-29 03:35:19 +00:00
Meier Lukas c2185e3489 fix: renovate automatic approval typo no file extension (#572) 2024-05-29 05:17:52 +02:00
homarr-renovate[bot] e448eeb0a6 fix(deps): update dependency @trpc/client to v11.0.0-rc.382 (#568)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-28 20:24:49 +00:00
Meier Lukas ea408a0fdd Merge pull request #570 from homarr-labs/dev
chore: merge to main
2024-05-28 21:50:27 +02:00
homarr-renovate[bot] deea531607 chore(deps): update dependency node to v20.14.0 (#569)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-28 21:40:23 +02:00
Manuel ba46b6f869 ci: add conventional commits workflow (#541) 2024-05-28 21:40:04 +02:00
Meier Lukas bcbc2d1c56 ci: add github action that approves pull requests from renovate automatically (#566) 2024-05-28 21:39:15 +02:00
homarr-renovate[bot] c20f7a64a0 fix(deps): update typescript-eslint monorepo to ^7.11.0 (#565)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-28 17:48:13 +00:00
homarr-renovate[bot] 6f47adff8a fix(deps): update dependency jotai to ^2.8.2 (#561)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-28 16:11:10 +00:00
homarr-renovate[bot] e325e1c02c chore(deps): update dependency jsdom to ^24.1.0 (#564)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 21:52:27 +02:00
homarr-renovate[bot] 12e30c392e chore(deps): update dependency @types/react to ^18.3.3 (#555)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 21:51:40 +02:00
homarr-renovate[bot] ad3ef4c313 fix(deps): update mantine monorepo to ^7.10.0 (#538)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 19:48:39 +00:00
homarr-renovate[bot] 116d9dda04 chore(deps): update pnpm to v9.1.3 (#559)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 21:26:32 +02:00
homarr-renovate[bot] 2bc0431e4e fix(deps): update typescript-eslint monorepo to ^7.10.0 (#562)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 21:26:01 +02:00
homarr-renovate[bot] 3f364caced fix(deps): update dependency mysql2 to v3.9.8 (#558)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 21:24:32 +02:00
homarr-renovate[bot] abdf9bc122 fix(deps): update dependency @trpc/client to v11.0.0-rc.377 (#553)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 21:23:48 +02:00
homarr-renovate[bot] a0322bfd99 fix(deps): update dependency glob to ^10.4.1 (#531)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 21:23:27 +02:00
homarr-renovate[bot] 8f50def4c9 fix(deps): update tanstack-query monorepo to ^5.40.0 (#552)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 19:09:15 +00:00
homarr-renovate[bot] 56b6d76f43 fix(deps): update dependency drizzle-kit to ^0.21.4 (#535)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 20:13:01 +02:00
homarr-renovate[bot] 6e655b7ad2 chore(deps): update dependency @vitejs/plugin-react to ^4.3.0 (#536)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-27 18:12:06 +00:00
Meier Lukas 4d1e4d55bc fix: typo in renovate config name (#557) 2024-05-27 18:05:31 +02:00
homarr-renovate[bot]andMeier Lukas 0ccf258a90 chore(deps): update dependency tsx to v4.11.0 (#537)
* chore(deps): update dependency tsx to v4.11.0

* fix: build not working

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-05-26 17:51:12 +02:00
homarr-renovate[bot] 98ebabc9ca chore(deps): update pnpm to v9.1.2 (#530)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-26 17:22:02 +02:00
homarr-renovate[bot] 30fe9fef84 fix(deps): update typescript-eslint monorepo to v7.10.0 (#529)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-26 17:20:48 +02:00
ManuelandMeier Lukas 7e64d39693 feat: add analytics (#528)
* feat: add analytics

* feat: send data to umami

* refactor: fix format

* fix: click behavior of switches

* refactor: format

* chore: rerun ci

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-05-26 17:18:25 +02:00
Meier Lukas d57b771a17 feat: add pi hole summary integration (#521)
* feat: add pi hole summary integration

* feat: add pi hole summary widget

* fix: type issues with integrations and integrationIds

* feat: add middleware for integrations and improve cache redis channel

* feat: add error boundary for widgets

* fix: broken lock file

* fix: format format issues

* fix: typecheck issue

* fix: deepsource issues

* fix: widget sandbox without error boundary

* chore: address pull request feedback

* chore: remove todo comment and created issue

* fix: format issues

* fix: deepsource issue
2024-05-26 17:13:34 +02:00
homarr-renovate[bot] 96c71aed6e chore(deps): update dependency @vitejs/plugin-react to v4.3.0 (#545)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-25 19:19:26 +00:00
homarr-renovate[bot] 1569862baf fix(deps): update dependency @homarr/gridstack to v1.0.2 (#542)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-25 19:08:36 +00:00
homarr-renovate[bot] cd09d54163 chore(deps): update dependency @types/react to v18.3.3 (#546)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-25 19:57:09 +02:00
homarr-renovate[bot] a029abe6f3 fix(deps): update tanstack-query monorepo to v5.38.0 (#551)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-25 19:56:55 +02:00
Manuel b76fa9d722 ci: report vitest code coverage (#549) 2024-05-25 19:56:24 +02:00
Manuel b678d4f951 ci: validate pr title (#550) 2024-05-25 19:56:11 +02:00
Manuel 4ef668c5ea ci: use semver workflow action (#548) 2024-05-25 19:56:02 +02:00
Yossi Hillali 68ff84c85a feat: add indexers site hyperlink (#2061)
* Feature: add indexers site hyperlink

* Fix: add an option taget on settings, change color to grey
2024-05-25 12:42:49 +02:00
homarr-renovate[bot] 7b46d92d4f fix(deps): update dependency glob to v10.4.1 (#544)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-24 23:44:38 +02:00
Manuel 17f93097f6 Merge pull request #547 from homarr-labs/dev
chore: merge to main
2024-05-24 22:16:13 +02:00
Manuel 9e199b7dff config: format json hbs as json (#540) 2024-05-24 21:49:25 +02:00
homarr-renovate[bot] 114176ee17 chore(deps): update anothrnick/github-tag-action action to v1.69.0 (#348)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-23 16:42:18 +00:00
Thomas Camlong dfe7b0d60b chore: new crowdin updates (#2038) 2024-05-23 18:18:28 +02:00
Yossi Hillali afdca50bd2 feat: add dns disable timer (#2029) 2024-05-23 18:18:06 +02:00
Fernando OK cb2b28ca4b feat: add environment variable puid and pgid #2011 2024-05-23 18:17:02 +02:00
Manuel 3940d296f2 config; activate automerge (#539) 2024-05-23 18:15:53 +02:00
homarr-renovate[bot] 63f743175e fix(deps): update dependency @tabler/icons-react to ^3.5.0 (#532)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-23 17:53:51 +02:00
homarr-renovate[bot] f45fa50024 fix(deps): update dependency flag-icons to ^7.2.2 (#533)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-23 17:53:36 +02:00
homarr-renovate[bot] c668d0a765 fix(deps): update dependency jotai to ^2.8.1 (#534)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-23 17:53:22 +02:00
Meier Lukas e097cffe59 refactor: improve behaviour of edit mode when navigating away and back (#525) 2024-05-22 21:28:45 +02:00
Thomas Camlong 5a9e8edf70 feat: Add VOLUME instruction to Dockerfile (#527) 2024-05-20 17:34:16 +02:00
Thomas Camlong 048711fe05 chore: Update trpc logger info (#526)
It now includes the username of the person doing the tRPC request (because the user id is not enough)
2024-05-20 17:00:50 +02:00
Thomas Camlong f617c60916 Merge pull request #464 from homarr-labs/ajnart/fix-duplicate-users 2024-05-19 23:44:46 +02:00
Meier Lukas c3b2215c7a Merge branch 'dev' into ajnart/fix-duplicate-users 2024-05-19 23:08:04 +02:00
homarr-renovate[bot] eb0db3ec4e fix(deps): update dependency @trpc/client to v11.0.0-rc.374 (#522)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-19 23:02:09 +02:00
Meier Lukas 26b1c4a319 feat: add custom css for board and custom classes in advanced options for items (#512)
* feat: add custom css for board and custom classes in advanced options for items

* chore: add mysql migration

* fix: test not working

* fix: format issues

* fix: typecheck issue

* fix: build issue

* chore: add missing translations

* fix: merge issues related to migrations

* fix: format issues

* fix: merge issue with migration

* fix: format issue
2024-05-19 23:01:26 +02:00
Thomas CamlongandMeier Lukas f1b1ec59ec chore: update prettier configuration for print width (#519)
* feat: update prettier configuration for print width

* chore: apply code formatting to entire repository

* fix: remove build files

* fix: format issue

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-05-19 22:38:39 +02:00
Manuel 919161798e feat: add server settings (#487)
* feat: add server settings

* feat: remove old migration

* feat: add new migrations

* refactor: format

* fix: build error

* refactor: format

* fix: lint
2024-05-19 22:29:15 +02:00
Meier Lukas d9f5158662 perf: improve typescript performance (#523) 2024-05-19 19:55:44 +02:00
Meier Lukas 7e339c09c8 feat: add home board for users (#505)
* feat: add home board for users

* fix: format issues

* fix: deepsource issue

* chore: address pull request feedback

* fix: typecheck issue
2024-05-18 16:57:00 +02:00
Meier Lukas dfed804f65 feat: add i18n translated form errors (#509) 2024-05-18 16:55:08 +02:00
HAMAD ABDULLA b7fb086476 Add New Language Arabic (#2051) 2024-05-18 16:50:36 +02:00
homarr-renovate[bot] b312032f02 fix(deps): update tanstack-query monorepo to ^5.37.1 (#513)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-18 16:44:35 +02:00
Thomas Camlong a29cc78acd Merge pull request #517 from homarr-labs/create-cache-channel 2024-05-18 15:48:56 +02:00
homarr-renovate[bot] abffc866c0 fix(deps): update mantine monorepo to ^7.9.2 (#510)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-18 15:32:25 +02:00
homarr-renovate[bot] dc9a8dd9c6 chore(deps): update dependency tsx to v4.10.5 (#507)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-18 15:31:34 +02:00
homarr-renovate[bot] 7664b00be0 fix(deps): update dependency sass to ^1.77.2 (#506)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-18 15:30:22 +02:00
Meier Lukas e05deef6e2 feat: add redis cache channel 2024-05-18 15:28:05 +02:00
Manuel 31c2694185 feat: language selector (#484)
* feat: language selector

* refactor: move user general page

* feat: language selector

* refactor: move user general page

* feat: add language combobox in user general
2024-05-18 13:54:43 +02:00
Meier Lukas 7fa120c474 fix: create user async is called twice 2024-05-18 13:50:25 +02:00
Meier Lukas f30f133bfa Merge branch 'dev' into ajnart/fix-duplicate-users 2024-05-18 13:49:25 +02:00
Meier Lukas f0891dda31 Merge branch 'dev' into ajnart/fix-duplicate-users 2024-05-18 13:47:25 +02:00
Meier Lukas 8e8f9081b0 fix: when no dead icons, all icons are removed (#516) 2024-05-18 13:12:16 +02:00
Manuel dcaff1d91c feat: add async suffix eslint rule (#485) 2024-05-18 12:25:33 +02:00
Meier Lukas 5723295856 fix: mantine react table style issue (#508) 2024-05-17 21:42:45 +02:00
homarr-renovate[bot] 1abf441cdb fix(deps): update dependency @trpc/client to v11.0.0-rc.373 (#493)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-16 21:55:05 +02:00
homarr-renovate[bot] db48615096 chore(deps): update dependency tsx to v4.10.3 (#490)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-16 21:46:40 +02:00
homarr-renovate[bot] 8166fdb8e2 fix(deps): update dependency drizzle-kit to ^0.21.2 (#495)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-16 21:43:29 +02:00
Thomas Camlong ff3244d9ac Update run.sh (#498) 2024-05-16 21:26:07 +02:00
Meier Lukas 9a73b13ae5 chore: fix db studio command not working (#503)
* chore: fix db studio command not working

* fix: format issue
2024-05-16 21:12:59 +02:00
homarr-renovate[bot] 023feafafe fix(deps): update tanstack-query monorepo to ^5.36.2 (#496)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-16 21:11:36 +02:00
homarr-renovate[bot] 1b6a9c5aee chore(deps): update dependency @types/node to ^20.12.12 (#492)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-16 21:10:36 +02:00
homarr-renovate[bot] 3fe1a19e37 fix(deps): update dependency @tabler/icons-react to ^3.4.0 (#501)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-16 21:10:04 +02:00
Meier Lukas 669a79ef08 style: improve styling of items on board (#504)
style: improve styling of items on board by defining margin depending on screen size, removing general padding on card of items and reducing size of no app icon
2024-05-16 18:48:20 +02:00
Meier Lukas 333dc571fa perf: improve performance of icon updater from 10s to 300ms (#502) 2024-05-16 17:06:03 +02:00
Thomas Camlong 2bf423132d Merge pull request #2052 from ajnart/1676-custom-favicon-does-not-rednder 2024-05-16 15:17:49 +02:00
ajnart 84f57bb0a1 chore: add test:docker script for local development 2024-05-15 22:16:00 +02:00
ajnart 5043b9cd30 Refactor favicon links in Meta components 2024-05-15 22:07:27 +02:00
ajnart 051f439434 Add key for custom favicon 2024-05-15 21:33:25 +02:00
Manuel f329e2a393 config: fix db push command (#497) 2024-05-15 21:14:27 +02:00
homarr-renovate[bot] a702f7dc67 fix(deps): update typescript-eslint monorepo to ^7.9.0 (#491)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-14 21:59:12 +02:00
homarr-renovate[bot] 8b84695079 fix(deps): update dependency mantine-react-table to v2.0.0-beta.3 (#488)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-14 21:58:45 +02:00
homarr-renovate[bot] 18d1aa6fcd chore(deps): update pnpm to v9.1.1 (#489)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-14 21:50:28 +02:00
homarr-renovate[bot] b18b364270 fix(deps): update tiptap monorepo to v2.4.0 (#494)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-14 21:47:18 +02:00
Manuel 87fe03dd00 feat: add hero banner (#463) 2024-05-12 18:19:01 +02:00
homarr-renovate[bot] 1570faa20a fix(deps): update tanstack-query monorepo to ^5.36.0 (#481)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-12 16:32:21 +02:00
homarr-renovate[bot] 143db86b77 chore(deps): update dependency tsx to v4.10.1 (#480)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-12 16:31:43 +02:00
Meier Lukas fd44ee48f4 fix: rdb files can not be saved because of permission issues bug: redis can not save RDB files #318 (#472)
* fix: rdb files can not be saved because of permission issues bug: redis can not save RDB files #318

* refactor: move db and redis dumps to /appdata directory
2024-05-12 16:28:44 +02:00
Meier Lukas db01301845 feat: user preferences (#470)
* wip: improve user preferences

* wip: fix translations and add user danger zone

* feat: add user delete button to danger zone

* fix: test not working

* refactor: add access checks for user edit page, improve not found behaviour, change user preference link in avatar menu to correct link

* fix: remove invalid bg for container

* chore: address pull request feedback
2024-05-12 16:27:56 +02:00
homarr-renovate[bot] f0da1d81a6 fix(deps): update dependency better-sqlite3 to v10 (#479)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-12 10:18:54 +02:00
homarr-renovate[bot] 333b124f67 fix(deps): update dependency glob to ^10.3.15 (#478)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-12 10:17:41 +02:00
Meier Lukas 94af21abbf feat: add user invite registration (#477) 2024-05-12 10:04:20 +02:00
Thomas Camlong fe7de2cf6d Merge branch 'dev' into ajnart/fix-duplicate-users 2024-05-12 01:02:07 +02:00
homarr-renovate[bot] 82d41abf46 fix(deps): update dependency @auth/drizzle-adapter to ^1.1.0 (#474)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-11 23:12:22 +02:00
homarr-renovate[bot]andMeier Lukas 95ddd03763 fix(deps): update dependency @auth/core to ^0.31.0 (#473)
* fix(deps): update dependency @auth/core to ^0.31.0

* fix: typecheck issue

* fix: more issues with types

* fix: add newest next-auth beta version as types were changed and depend on each other

* fix: format issues

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-05-11 22:44:00 +02:00
homarr-renovate[bot] 99114f0727 chore(deps): update dependency tsx to v4.10.0 (#476)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-11 22:24:15 +02:00
homarr-renovate[bot] d970cb54f5 chore(deps): update dependency @types/react to ^18.3.2 (#471)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-11 13:01:01 +02:00
homarr-renovate[bot] cb6f754492 fix(deps): update dependency sass to ^1.77.1 (#469)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-11 13:00:36 +02:00
homarr-renovate[bot] 8dd5987e5e chore(deps): update dependency tsx to v4.9.4 (#467)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-11 11:03:04 +02:00
homarr-renovate[bot] 627f8957e5 fix(deps): update dependency mantine-react-table to v2.0.0-beta.2 (#466)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-11 10:58:45 +02:00
homarr-renovate[bot] 8e6d143edc fix(deps): update tanstack-query monorepo to ^5.35.5 (#465)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-11 10:50:51 +02:00
homarr-renovate[bot]andMeier Lukas 1ce6fb0d0f fix(deps): update dependency drizzle-kit to ^0.21.1 (#462)
* fix(deps): update dependency drizzle-kit to ^0.21.0

* fix(deps): update dependency drizzle-kit to ^0.21.1

* fix: migrate to drizzle kit 0.21

* fix: format issues

* feat: add default env variables for db dialect and driver

* fix: issue with driver seems to be fixed

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-05-10 23:46:01 +02:00
ajnart 0008ceffed Fix prettier 2024-05-10 20:05:18 +02:00
ajnart 543bfc0835 Fix profile accordion error display 2024-05-10 20:02:57 +02:00
Thomas Camlong 6e2bd0ce11 fix: Handle existing user when editing profile 2024-05-10 15:24:40 +02:00
Thomas Camlong f5d71aebb4 Add successful profile edit message 2024-05-10 15:24:20 +02:00
Thomas Camlong 0ae8a75a5e feat: cannot change username to the current one 2024-05-10 15:23:57 +02:00
Thomas Camlong 65025a5dda fix: Update check for user existence 2024-05-10 14:24:35 +02:00
Thomas Camlong c2026d0962 refactor: Update UserCreateStepperComponent
To use ErrorDisplay component
2024-05-10 14:16:45 +02:00
Thomas Camlong 245c2f483c feat: Add ErrorDisplay component 2024-05-10 14:16:24 +02:00
Thomas Camlong 781247de51 feat: add username validation to prevent duplicate 2024-05-10 13:39:21 +02:00
Thomas Camlong 400fa3d480 propose forcing lowercase usernames 2024-05-10 13:36:46 +02:00
homarr-renovate[bot] 2434e2e758 chore(deps): update dependency node to v20.13.1 (#458)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-10 11:22:07 +02:00
homarr-renovate[bot] 48d7aaaf1d fix(deps): update mantine monorepo to ^7.9.1 (#457)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-10 11:21:02 +02:00
homarr-renovate[bot] 687556ad96 fix(deps): update dependency zod to ^3.23.8 (#460)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-09 21:35:33 +02:00
homarr-renovate[bot] 8bd08d39ca fix(deps): update dependency glob to ^10.3.14 (#461)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-09 21:35:15 +02:00
Manuel dbadcd8f7a chore: merge hotfix to master 2024-05-08 19:37:52 +02:00
homarr-renovate[bot] 382be496ff fix(deps): update tiptap monorepo to v2.3.2 (#459)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-08 19:15:27 +02:00
SeDemal 042a381b66 AUTH_OIDC_TIMEOUT make default a string (#2041) 2024-05-08 16:06:31 +02:00
homarr-renovate[bot] 1172d84223 fix(deps): update dependency @trpc/client to v11.0.0-rc.366 (#454)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-08 06:26:48 +02:00
homarr-renovate[bot] cd4762377a chore(deps): update dependency node (#455)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-08 06:07:24 +02:00
homarr-renovate[bot] cab34052f9 fix(deps): update dependency zod to ^3.23.7 (#456)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-08 06:01:34 +02:00
Manuel 9b95ac3c91 chore: merge version 0.15.3 to master 2024-05-07 20:36:15 +02:00
Meier Lukas 0a08b8fb9b Merge branch 'master' into dev 2024-05-07 20:04:46 +02:00
Meier Lukas b70e179ff9 core: increase version to 0.15.3 (#2007) 2024-05-07 19:48:03 +02:00
Jelte Lagendijk 5fbb444d5f feat: add [homarr_base] replacement for external urls (#2024) 2024-05-07 19:47:19 +02:00
Thomas Camlong 477d249da8 chore(translations): new crowdin updates (#1984) 2024-05-07 19:46:34 +02:00
SeDemal f12dd52208 fix: ldap filters (#2033) 2024-05-07 19:43:51 +02:00
homarr-renovate[bot] 442d45dd15 chore(deps): update dependency dotenv-cli to ^7.4.2 (#453)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-07 16:16:07 +02:00
homarr-renovate[bot] 3ae96d94a2 fix(deps): update dependency sass to ^1.77.0 (#451)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-07 06:26:12 +02:00
SeDemaland@Meierschlumpf 452304b471 Add logout callback URL and session expiration environment variables (#2023)
Co-authored-by: @Meierschlumpf
2024-05-07 00:06:07 +02:00
homarr-renovate[bot] 5eb1d716de fix(deps): update dependency drizzle-kit to ^0.20.18 (#449)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-06 21:38:32 +02:00
homarr-renovate[bot] 25ce74a82f chore(deps): update pnpm to v9.1.0 (#447)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-06 21:37:27 +02:00
homarr-renovate[bot] 5ae7bc957c chore(deps): update dependency @types/node to ^20.12.10 (#448)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-06 21:35:09 +02:00
homarr-renovate[bot] 35ba58a0d9 chore(deps): update dependency tsx to v4.9.3 (#435)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-06 21:34:41 +02:00
Meier Lukas c88464498f fix: unable to select integration on board page (#450) 2024-05-06 21:12:55 +02:00
Manuel dc0184af07 feat: log sql queries (#444) 2024-05-06 20:14:51 +02:00
ManuelandMeier Lukas 3cda718474 feat: add contributors to about page (#445)
* feat: add contributors to about page

* fix: remove unnecessary client component for generic-contribution-link-card

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-05-06 20:10:40 +02:00
Dennis Vesterlund 18cd1f961f feat: home assistant entity generic toggle (#2015)
Added support for generic toggle on Home Assistant entities that support
it. For entities that does not support toggle the feature will silently
fail. This way matches how Home Assistant handles it.
2024-05-06 20:00:13 +02:00
homarr-renovate[bot] 96158bcb5e fix(deps): update tanstack-query monorepo to ^5.35.1 (#446)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-06 12:03:38 +02:00
Meier Lukas 5d30301b95 feat: show creator on board page (#440) 2024-05-05 22:20:51 +02:00
Meier Lukas 7b31684c84 feat: add job on start option for icons updater (#442) 2024-05-05 22:20:38 +02:00
Meier Lukas 4b80b16b53 fix: integration links in manage section do not work (#441) 2024-05-05 22:20:18 +02:00
homarr-renovate[bot] 08d1b6c638 fix(deps): update tanstack-query monorepo to ^5.34.2 (#439)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-05 15:00:47 +02:00
Manuel 60a35e2583 feat: #420 reimplement icon picker (#421) 2024-05-04 23:00:15 +02:00
Manuel 51aaab2f23 feat: add login and logout (#436) 2024-05-04 22:57:13 +02:00
Meier Lukas b888fad1fc fix: modal transition not working (#433) 2024-05-04 20:58:44 +02:00
Meier Lukas 5abd438a49 fix: tsx not working (#434)
* fix: tsx not working

* fix: format issues
2024-05-04 20:58:30 +02:00
Meier Lukas b1e065f1da feat: board access group permissions (#422)
* fix: cache is not exportet from react

* fix: format issue

* wip: add usage of group permissions

* feat: show inherited groups and add manage group

* refactor: improve board access management

* chore: address pull request feedback

* fix: type issues

* fix: migrations

* test: add unit tests for board permissions, permissions and board router

* test: add unit tests for board router and get current user permissions method

* fix: format issues

* fix: deepsource issue
2024-05-04 18:34:41 +02:00
Manuel ca49a01352 config: add vscode launch profiles (#432) 2024-05-04 18:18:56 +02:00
homarr-renovate[bot] 2139f81a1d chore(deps): update dependency tsx to ^4.9.1 (#428)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-04 17:18:56 +02:00
homarr-renovate[bot] fb43fc6046 fix(deps): update tanstack-query monorepo to ^5.34.1 (#427)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-04 17:18:35 +02:00
homarr-renovate[bot] 3047f3bf2b chore(deps): update vitest monorepo to ^1.6.0 (#426)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-03 17:31:16 +02:00
homarr-renovate[bot] 4d313be37e chore(deps): update dependency tsx to ^4.9.0 (#425)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-03 12:05:21 +02:00
homarr-renovate[bot] 11c20ce711 fix(deps): update dependency zod to ^3.23.6 (#424)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-03 06:50:55 +02:00
homarr-renovate[bot] 90b9d56729 fix(deps): update mantine monorepo to ^7.9.0 (#423)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-02 16:37:01 +02:00
homarr-renovate[bot] e8805dfb5a chore(deps): update dependency @types/node to ^20.12.8 (#415)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-01 21:57:56 +02:00
Meier Lukas 7c98b65401 fix: server data is loaded on settings page #363 (#414) 2024-05-01 21:57:24 +02:00
Manuel 84801d3174 refactor: move integration pages to management pages (#419) 2024-05-01 21:57:18 +02:00
Meier Lukas fba767bde3 fix: cache is not exportet from react (#417)
* fix: cache is not exportet from react

* fix: format issue

* fix: type issue
2024-05-01 21:17:28 +02:00
Manuel 48c2473ab3 fix: docker development path in package.json (#416) 2024-05-01 21:10:31 +02:00
Meier Lukas ad1796dc02 refactor: add dev directory to organize dev files #398 (#408)
* refactor: add dev directory to organize dev files #398

* chore: address pull request feedback
2024-05-01 19:58:58 +02:00
homarr-renovate[bot] 14d941e57a fix(deps): update dependency drizzle-orm to ^0.30.10 (#413)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-01 19:55:13 +02:00
Meier Lukas 0278e3a854 fix: add rtl compliance for symbols #366 (#406) 2024-05-01 12:05:09 +02:00
homarr-renovate[bot] efaf721b5a chore(deps): update dependency tsx to ^4.8.2 (#412)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-01 12:04:49 +02:00
homarr-renovate[bot] e556bf3e66 fix(deps): update dependency sass to ^1.76.0 (#410)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-01 07:12:55 +02:00
homarr-renovate[bot] a138e83f16 chore(deps): update dependency tsx to ^4.8.1 (#411)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-01 07:12:16 +02:00
homarr-renovate[bot] 7bc7bd6bf9 fix(deps): update dependency @trpc/client to v11.0.0-rc.364 (#409)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-05-01 07:06:45 +02:00
homarr-renovate[bot] 0020680ca0 fix(deps): update dependency @trpc/client to v11.0.0-rc.362 (#407)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-30 22:13:19 +02:00
homarr-renovate[bot] 876f21a26d fix(deps): update tiptap monorepo to v2.3.1 (#403)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-30 21:56:27 +02:00
homarr-renovate[bot] 46bb3ee0c9 fix(deps): update dependency @tabler/icons-react to ^3.3.0 (#405)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-30 21:55:51 +02:00
homarr-renovate[bot] 6dff7c48e2 fix(deps): update dependency @trpc/client to v11.0.0-rc.361 (#404)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-30 21:33:40 +02:00
Meier Lukas 7ab9dc2501 feat: implement board access control (#349)
* feat: implement board access control

* fix: deepsource issues

* wip: address pull request feedback

* chore: address pull request feedback

* fix: format issue

* test: improve tests

* fix: type and lint issue

* chore: address pull request feedback

* refactor: rename board procedures
2024-04-30 21:32:55 +02:00
homarr-renovate[bot] 56388eb8ef fix(deps): update dependency zod to ^3.23.5 (#399)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-30 21:16:57 +02:00
homarr-renovate[bot] c988f3d7f8 fix(deps): update tanstack-query monorepo to ^5.32.1 (#402)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-30 21:15:52 +02:00
homarr-renovate[bot] e5d024c62f chore(deps): update vitest monorepo to ^1.5.3 (#401)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-30 21:14:56 +02:00
homarr-renovate[bot] fc1360d6bb fix(deps): update dependency video.js to ^8.12.0 (#400)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-30 21:14:24 +02:00
homarr-renovate[bot] 584483aa9c fix(deps): update typescript-eslint monorepo to ^7.8.0 (#395)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-30 21:12:43 +02:00
SeDemal 6a5836f096 fix: avatar host default address on not found (#2027)
feat: updated to use libravatar
2024-04-29 22:19:41 +02:00
homarr-renovate[bot] 47accae90d fix(deps): update dependency @trpc/client to v11.0.0-rc.359 (#394)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-29 21:55:54 +02:00
homarr-renovate[bot] 03c2993611 fix(deps): update dependency dayjs to ^1.11.11 (#393)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-29 21:51:30 +02:00
homarr-renovate[bot] 55822ee7a5 fix(deps): update dependency ws to ^8.17.0 (#392)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-29 21:50:52 +02:00
Meier Lukas 7a9e9fb203 ci: add build workflow (#389) 2024-04-29 21:49:57 +02:00
Meier Lukas 5f247977fa fix: sharp is not installed (#397)
Closes #320
2024-04-29 21:46:58 +02:00
Meier Lukas 036925bf78 feat: add user groups (#376)
* feat: add user groups

* wip: add unit tests

* wip: add more tests and normalized name for creation and update

* test: add unit tests for group router

* fix: type issues, missing mysql schema, rename column creator_id to owner_id

* fix: lint and format issues

* fix: deepsource issues

* fix: forgot to add log message

* fix: build not working

* chore: address pull request feedback

* feat: add mysql migration and fix merge conflicts

* fix: format issue and test issue
2024-04-29 21:46:30 +02:00
Meier Lukas 621f6c81ae feat: add user invite management (#338)
* feat: add invite management page

* refactor: improve existing translations

* test: add test for invite router

* feat: update mysql schema to match sqlite schema

* fix: format issues

* fix: deepsource issues

* fix: lint issues

* chore: address pull request feedback
2024-04-29 12:09:34 +02:00
Manuel 16e42d654d feat: read all packages on about page (#391) 2024-04-27 21:51:35 +02:00
homarr-renovate[bot] 45ffbadeec fix(deps): update dependency better-sqlite3 to ^9.6.0 (#386)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 18:28:53 +02:00
homarr-renovate[bot] 73a72dc675 fix(deps): update dependency @t3-oss/env-nextjs to ^0.10.1 (#375)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 18:25:13 +02:00
Manuel 42a5a1a563 feat: add about page (#388) 2024-04-27 18:24:27 +02:00
homarr-renovate[bot] 0cdf0b73bf fix(deps): update tanstack-query monorepo to ^5.32.0 (#374)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 15:35:21 +02:00
homarr-renovate[bot] bfdc8d584b fix(deps): update dependency next-auth to v5.0.0-beta.17 (#383)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 15:34:44 +02:00
homarr-renovate[bot]andMeier Lukas 6dfdc8971d chore(deps): update dependency @types/better-sqlite3 to v7.6.10 (#371)
* chore(deps): update dependency @types/better-sqlite3 to v7.6.10

* chore(deps): update dependency @types/better-sqlite3 to v7.6.10

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-27 15:33:51 +02:00
homarr-renovate[bot] f5002c3265 fix(deps): update dependency drizzle-orm to ^0.30.9 (#370)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 15:26:13 +02:00
homarr-renovate[bot] cc93824fe0 chore(deps): update turbo monorepo to ^1.13.3 (#385)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 14:36:32 +02:00
homarr-renovate[bot]andMeier Lukas 392a185640 fix(deps): update dependency zod to ^3.23.4 (#373)
* fix(deps): update dependency zod to ^3.23.4

* fix: type issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-27 14:35:07 +02:00
homarr-renovate[bot] 92b417a37e fix(deps): update mantine monorepo to ^7.8.1 (#377)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 14:25:20 +02:00
homarr-renovate[bot] 3b5bd809a4 chore(deps): update pnpm to v9.0.6 (#372)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 14:21:46 +02:00
homarr-renovate[bot] 51ea67fc88 fix(deps): update dependency mysql2 to v3.9.7 (#369)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 14:19:53 +02:00
homarr-renovate[bot] d88b6def75 fix(deps): update dependency @trpc/client to v11.0.0-rc.354 (#368)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 14:18:45 +02:00
homarr-renovate[bot] ea528ea076 fix(deps): update dependency @auth/drizzle-adapter to v1 (#359)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 14:13:42 +02:00
homarr-renovate[bot] 847adffe7b fix(deps): update tiptap monorepo to v2.3.0 (#317)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 14:06:05 +02:00
homarr-renovate[bot] f204f34850 chore(deps): update vitest monorepo to ^1.5.2 (#380)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 12:57:39 +02:00
homarr-renovate[bot] b8780d24bc chore(deps): update dependency tsx to ^4.7.3 (#382)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 12:52:58 +02:00
homarr-renovate[bot] a9e593e004 chore(deps): update react monorepo (#384)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 12:49:17 +02:00
homarr-renovate[bot] 75e4e8176e fix(deps): update nextjs monorepo to ^14.2.3 (#381)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 12:31:46 +02:00
homarr-renovate[bot] 84175e6a7e fix(deps): update dependency postcss-preset-mantine to ^1.15.0 (#387)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-27 12:24:55 +02:00
Meier Lukas b78d32b81c fix: nextjs is slow dev server (#364)
* fix: nextjs slow compile time

* fix: change optimized package imports and transpile packages

* fix: format issue
2024-04-25 22:06:15 +02:00
homarr-renovate[bot] 04a313186f fix(deps): update dependency drizzle-kit to ^0.20.17 (#367)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-24 20:31:19 +02:00
homarr-renovate[bot] 0342a177bb fix(deps): update typescript-eslint monorepo to ^7.7.1 (#354)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-24 06:31:49 +02:00
Meier Lukas e47187512c Merge pull request #379 from homarr-labs/main
chore: add codeowners (#378)
2024-04-23 19:43:42 +02:00
Meier Lukas 974b4cf115 chore: add codeowners (#378) 2024-04-23 19:27:04 +02:00
Meier Lukas c0594f2419 docs: add notice about unstable and no support 2024-04-23 19:20:30 +02:00
SeDemal 7dffe393ab fix: Modals titles nested headers and header nested buttons errors (#2019) 2024-04-20 18:43:46 +02:00
SeDemal fdbb8d8b35 refactor: polish UI and improve popover interactions (#2016) 2024-04-20 18:41:54 +02:00
Meier Lukas 4970c3a1b2 fix: defaultTitle invalid attribute on div (#350) 2024-04-20 12:52:02 +02:00
homarr-renovate[bot] 9615568ff3 chore(deps): update dependency @types/react to ^18.2.79 (#355)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 12:51:19 +02:00
homarr-renovate[bot] f58d0ddd94 fix(deps): update dependency drizzle-kit to ^0.20.16 (#362)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 12:50:47 +02:00
homarr-renovate[bot] 8c0ce672d0 chore(deps): update dependency @types/eslint to ^8.56.10 (#360)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 12:50:23 +02:00
homarr-renovate[bot] f6c0f3ab78 fix(deps): update dependency @auth/core to ^0.30.0 (#358)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 12:49:58 +02:00
homarr-renovate[bot] e7689beee8 chore(deps): update dependency @types/video.js to ^7.3.58 (#353)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 12:48:24 +02:00
homarr-renovate[bot] 20f44d3494 fix(deps): update dependency ioredis to v5.4.1 (#357)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 12:48:04 +02:00
homarr-renovate[bot] 0ba6455982 fix(deps): update dependency @trpc/client to v11.0.0-rc.345 (#351)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 12:28:28 +02:00
homarr-renovate[bot] 7f9f29bba5 chore(deps): update pnpm to v9 (#356)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 11:25:46 +02:00
homarr-renovate[bot] cb2b934c83 fix(deps): update dependency zod to ^3.22.5 (#361)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 11:17:57 +02:00
homarr-renovate[bot] b465b95ca2 fix(deps): update nextjs monorepo to ^14.2.2 (#345)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 11:12:03 +02:00
homarr-renovate[bot] a6d65fda6b fix(deps): update dependency mysql2 to v3.9.6 (#311)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-20 11:04:00 +02:00
Janik Brüll 2b92c98975 ✨ Add Tdarr integration and widget (#1882) 2024-04-18 23:01:20 +02:00
Meier Lukas 39f416c6a9 fix: missing romanian language in next-i18next.config.js (#2018) 2024-04-18 22:26:24 +02:00
Thomas Camlong 34903d528c Merge pull request #2017 from ajnart/add-romanian 2024-04-18 22:23:29 +02:00
Meier Lukas 230f1f77f9 feat: add romanian language support
Closes #1971 #1954
2024-04-18 22:10:23 +02:00
Dylan SlatteryandThomas Camlong f1dc67f206 Bugfix: Pass axios error into log call for proxmox. (#2012)
* add error to proxmox api log call

* Update src/server/api/routers/health-monitoring/proxmox.ts

Co-authored-by: Thomas Camlong <thomas@ajnart.fr>

---------

Co-authored-by: Thomas Camlong <thomas@ajnart.fr>
2024-04-18 21:07:12 +02:00
Thomas Camlong 53d1a57f3d Merge pull request #2002 from catrielmuller/catrielmuller/oidc-timeout
OIDC Timeout
2024-04-18 10:34:15 +02:00
homarr-renovate[bot] 3e3299a358 fix(deps): update mantine monorepo to ^7.8.0 (#343)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 16:04:56 +02:00
homarr-renovate[bot] 859fdf4c44 fix(deps): update tanstack-query monorepo to ^5.29.2 (#340)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 16:03:53 +02:00
homarr-renovate[bot] 0cc5225e32 fix(deps): update dependency sass to ^1.75.0 (#347)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 14:27:29 +02:00
homarr-renovate[bot] 01f471ccce chore(deps): update dependency @types/react to ^18.2.78 (#346)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 14:27:02 +02:00
homarr-renovate[bot] c40533e758 fix(deps): update dependency @tabler/icons-react to ^3.2.0 (#342)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 14:26:19 +02:00
homarr-renovate[bot] 0edce9fd0b chore(deps): update dependency @types/eslint to ^8.56.9 (#341)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 14:25:28 +02:00
homarr-renovate[bot] 49e45e8122 fix(deps): update dependency postcss-preset-mantine to ^1.14.4 (#336)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 14:23:51 +02:00
homarr-renovate[bot]andMeier Lukas f50550b3e1 fix(deps): update dependency drizzle-orm to ^0.30.8 (#339)
* fix(deps): update dependency drizzle-orm to ^0.30.8

* fix: format issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-13 14:23:04 +02:00
homarr-renovate[bot] 48a4b8ba7e fix(deps): update dependency better-sqlite3 to ^9.5.0 (#335)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 14:12:59 +02:00
homarr-renovate[bot] ed5e5d1edc fix(deps): update dependency @trpc/client to v11.0.0-rc.334 (#334)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 14:12:27 +02:00
homarr-renovate[bot] 2ccb7d1765 fix(deps): update typescript-eslint monorepo to ^7.6.0 (#329)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-13 14:11:32 +02:00
Meier Lukas 9ed298d641 refactor: improve board manage page (#323)
* refactor: improve board manage page

* chore: address pull request feedback
2024-04-13 12:42:03 +02:00
Meier Lukas 6b1879cbb1 feat: add notebook widget (#294)
* feat: add nestjs replacement, remove nestjs

* feat: add notebook widget

* fix: format issue

* fix: add missing tiptap packages

* refactor: improve structure of table options

* fix: downgrade to tiptap 2.2.5 as not yet supported by mantine/tiptap

* fix: format issue

* fix: deepsource issues

* fix: typecheck issues

* refactor: move default notebook content to seperate file

* fix: format issue
2024-04-13 12:32:55 +02:00
Meier Lukas 8f4897186c feat: add iframe widget (#291)
* feat: add nestjs replacement, remove nestjs

* feat: add iframe widget

* fix: format issue

* fix: format issue

* fix: format issue

* fix: lockfile frozen
2024-04-13 11:58:41 +02:00
Meier Lukas 82e9887f36 feat: add video widget (#287)
* feat: add nestjs replacement, remove nestjs

* feat: add video widget

* feat: add notice about youtube not supported with video.js

* fix: format issue

* fix: format issue
2024-04-13 11:44:16 +02:00
Meier Lukas 80d2d485b8 feat: add weather widget (#286)
* feat: add nestjs replacement, remove nestjs

* feat: add weather widget

* fix: lock issue

* fix: format issue

* fix: deepsource issues

* fix: change timezone to auto
2024-04-13 11:34:55 +02:00
homarr-renovate[bot]andMeier Lukas 7fb0decd5b fix(deps): update dependency @auth/drizzle-adapter to ^0.9.0 (#328)
* fix(deps): update dependency @auth/drizzle-adapter to ^0.9.0

* fix(deps): update dependency @auth/drizzle-adapter to ^0.9.0

* Merge branch 'dev' into renovate/auth-drizzle-adapter-0.x

* fix: format issues

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-11 21:24:50 +02:00
homarr-renovate[bot] 719d1cd845 fix(deps): update dependency @auth/core to ^0.29.0 (#327)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-11 21:15:18 +02:00
homarr-renovate[bot] 27c858dc81 fix(deps): update dependency jotai to ^2.8.0 (#326)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-11 21:14:04 +02:00
homarr-renovate[bot]andMeier Lukas 57c6c7385a chore(deps): update dependency node to v20.12.2 (#331)
* chore(deps): update dependency node to v20.12.2

* fix: format issues

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-11 21:09:19 +02:00
homarr-renovate[bot] e0bb40a47e chore(deps): update vitest monorepo to ^1.5.0 (#344)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-11 20:58:08 +02:00
homarr-renovate[bot] 6a2ed0a8cf chore(deps): update react monorepo (#330)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-11 20:56:49 +02:00
homarr-renovate[bot] cb65d465aa chore(deps): update dependency typescript to ^5.4.5 (#337)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-11 20:56:02 +02:00
Catriel Müller e71af87b90 Add support for AUTH_OIDC_TIMEOUT 2024-04-09 23:29:33 -03:00
Meier Lukas 8988880439 feat: add app actions (#322)
* feat: add app actions

* fix: broken lockfile

* fix: app should only load when one is selected and server data not fail when no app found

* fix: add missing dependency

* fix: format issue
2024-04-09 21:51:00 +02:00
Meier Lukas e6e6e4e7d6 fix: xterm-addon-fit deprecated (#321) 2024-04-09 21:50:35 +02:00
Meier Lukas 669c6c8955 config: migrate from nestjs to tasks and websocket server in docker (#316)
* feat: make tasks script run in docker

* feat: make websocket server work in docker

* fix: format issue

* fix: broken lockfile

* fix: non matching typescript versions
2024-04-07 11:32:29 +02:00
Meier Lukas 35ca732744 feat: add web search engines (#290) 2024-04-06 17:47:12 +02:00
homarr-renovate[bot]andMeier Lukas 75224e0533 fix(deps): update tiptap monorepo to ^2.2.5 (#315)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-06 16:34:35 +02:00
homarr-renovate[bot]andMeier Lukas a5b8fdb397 fix(deps): update xterm monorepo (#312)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-06 16:34:06 +02:00
homarr-renovate[bot] fffefbb4c8 fix(deps): update tanstack-query monorepo to ^5.29.0 (#313)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-06 16:30:04 +02:00
homarr-renovate[bot] a6729a2b18 chore(deps): update dependency typescript to ^5.4.4 (#310)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-06 16:28:11 +02:00
homarr-renovate[bot] 48f45d7377 fix(deps): update dependency node-cron to ^3.0.3 (#309)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-06 16:25:17 +02:00
homarr-renovate[bot] 50c162444c fix(deps): update dependency @trpc/client to v11.0.0-rc.332 (#308)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-06 16:21:19 +02:00
homarr-renovate[bot] 6cea1cbd85 chore(deps): update dependency tsx to ^4.7.2 (#307)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-06 16:20:34 +02:00
homarr-renovate[bot] e68a2e5813 fix(deps): update dependency sass to ^1.74.1 (#306)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-06 16:19:57 +02:00
homarr-renovate[bot] 7db5adf110 chore(deps): update dependency @types/react-dom to ^18.2.24 (#305)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-06 16:19:30 +02:00
homarr-renovate[bot]andMeier Lukas 362257cf2b fix(deps): update dependency drizzle-orm to ^0.30.7 (#303)
* fix(deps): update dependency drizzle-orm to ^0.30.7

* fix: duplicate occurence of dependency

* fix: format issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-06 16:18:28 +02:00
homarr-renovate[bot]andMeier Lukas 7bff8e5148 fix(deps): update dependency better-sqlite3 to ^9.4.5 (#302)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-06 15:58:53 +02:00
homarr-renovate[bot]andMeier Lukas fbea026122 chore(deps): update dependency node to v20.12.1 (#301)
* chore(deps): update dependency node to v20.12.1

* fix: format issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-06 15:54:41 +02:00
Krishna Muppaneni 8f78184323 Fix ping indicators floating above header in board customization page (#1998)
🐛 fix indicators floating above header
2024-04-05 14:57:33 +02:00
Meier Lukas 1fc2df19ec fix: revert mysql2 to version 3.9.2 as with 3.9.3 nextjs build fails 2024-04-04 21:59:23 +02:00
Meier Lukas 1936596c04 feat: add nestjs replacement, remove nestjs (#285)
* feat: add nestjs replacement, remove nestjs

* fix: format issues

* fix: dependency issues

* fix: dependency issues

* fix: format issue

* fix: wrong channel used for logging channel
2024-04-04 18:31:40 +02:00
JulianandspkesDE f861eb4bd9 🐛 Added playsInline to VideoBackground (#1996)
Co-authored-by: spkesDE <spkes@spkes.de>
2024-04-04 18:30:47 +02:00
ManuelandMeier Lukas c82915c6dc feat: add real time logger page (#276)
* feat: add real time logger

* feat: add subscription for logging

* feat: use timestamp and level in xterm, migrate to new xterm package

* feat: improve design on log page

* fit: remove xterm fit addon

* fix: dispose terminal correctly

* style: format code

* refactor: add jsdoc for redis-transport

* fix: redis connection not possible sometimes

* feat: make terminal full size

* fix: deepsource issues

* fix: lint issue

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-04 18:07:23 +02:00
homarr-renovate[bot] 2fb0535260 chore(deps): update dependency @types/react to ^18.2.74 (#300)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-02 21:03:45 +02:00
homarr-renovate[bot] a4f316f10f fix(deps): update tanstack-query monorepo to ^5.28.14 (#299)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-02 21:03:30 +02:00
homarr-renovate[bot] 54a7d1f4ae fix(deps): update typescript-eslint monorepo to ^7.5.0 (#298)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-02 21:02:57 +02:00
homarr-renovate[bot] 538c79528d chore(deps): update pnpm to v8.15.6 (#297)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-02 21:01:36 +02:00
homarr-renovate[bot]andMeier Lukas 3a1b4c3738 chore(deps): update turbo monorepo to ^1.13.2 (#296)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-02 20:58:27 +02:00
homarr-renovate[bot]andMeier Lukas fdf060a3a2 chore(deps): update dependency @types/eslint to ^8.56.7 (#295)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-02 20:54:14 +02:00
homarr-renovate[bot]andMeier Lukas fbc69f6078 fix(deps): update dependency @auth/drizzle-adapter to ^0.8.2 (#293)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-02 20:48:30 +02:00
homarr-renovate[bot]andMeier Lukas ba16ba1382 fix(deps): update dependency @auth/core to ^0.28.2 (#292)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-02 20:43:56 +02:00
homarr-renovate[bot] d8d25d5037 fix(deps): update dependency @trpc/client to v11.0.0-rc.330 (#288)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-02 20:38:52 +02:00
homarr-renovate[bot] d06528f311 fix(deps): update dependency jotai to ^2.7.2 (#284)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-02 06:47:43 +02:00
homarr-renovate[bot] 6ef58beead fix(deps): update dependency drizzle-orm to ^0.30.6 (#282)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-02 06:45:57 +02:00
homarr-renovate[bot]andMeier Lukas e74926d382 fix(deps): update tanstack-query monorepo (#280)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-02 06:45:17 +02:00
homarr-renovate[bot]andMeier Lukas 085bd94704 chore(deps): update dependency node to v20.12.0 (#278)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-02 06:37:04 +02:00
homarr-renovate[bot] 415c632495 chore(deps): update react monorepo (#275)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-02 06:31:25 +02:00
homarr-renovate[bot] e1b62ecd53 fix(deps): update dependency mantine-react-table to v2.0.0-beta.1 (#277)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-04-02 06:30:45 +02:00
homarr-renovate[bot]andMeier Lukas b0bba1418b fix(deps): update dependency mysql2 to ^3.9.3 (#273)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-01 18:23:42 +02:00
homarr-renovate[bot]andMeier Lukas c9e15805a9 fix(deps): update mantine monorepo to ^7.7.1 (#272)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-01 18:16:19 +02:00
homarr-renovate[bot]andMeier Lukas dd7f04e395 fix(deps): update dependency @typescript-eslint/eslint-plugin to ^7.4.0 (#271)
* fix(deps): update dependency @typescript-eslint/eslint-plugin to ^7.4.0

* fix: lint issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-04-01 18:10:14 +02:00
Manuel c00d856e1a refactor: improve user table design (#279) 2024-03-26 22:55:43 +01:00
ManuelandMeier Lukas 1825e56349 feat: add redis (#242)
* feat: add refis

* feat: add redis package

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>

* feat: add example docker compose, add redis connection in package

* fix: usage of client after subscribe

* feat: add logger for redis

* refactor: format files

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-25 21:09:40 +01:00
homarr-renovate[bot] c4a4452839 fix(deps): update dependency @typescript-eslint/parser to ^7.4.0 (#270)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-25 19:38:15 +01:00
homarr-renovate[bot] 36073dbc5e fix(deps): update dependency vite to ^5.2.6 (#262)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-25 19:24:02 +01:00
homarr-renovate[bot] 724b348106 fix(deps): update dependency winston to v3.13.0 (#263)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-25 19:23:43 +01:00
homarr-renovate[bot] 4783aaea20 fix(deps): update tanstack-query monorepo to ^5.28.8 (#265)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-25 19:23:05 +01:00
homarr-renovate[bot] 98a8eaac09 fix(deps): update dependency @auth/drizzle-adapter to ^0.8.1 (#267)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-25 19:22:18 +01:00
homarr-renovate[bot] ba27871765 fix(deps): update dependency next-auth to v5.0.0-beta.16 (#268)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-25 19:12:21 +01:00
homarr-renovate[bot] c72f4bb80d fix(deps): update dependency @auth/core to ^0.28.1 (#266)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-25 19:10:42 +01:00
homarr-renovate[bot] 0f59b10c64 chore(deps): update dependency @types/react to ^18.2.70 (#264)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-25 19:07:32 +01:00
Meier Lukas 058a8c4776 feat: add actual user for trpc wss-dev-server (#261)
* feat: add actual user for trpc wss-dev-server #233

* chore: address pull request feedback

* fix: deepsource issue
2024-03-25 18:57:59 +01:00
homarr-renovate[bot]andMeier Lukas 87808c1349 fix(deps): update dependency sharp to ^0.33.3 (#260)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-24 12:20:54 +01:00
homarr-renovate[bot] 8d40f54d7d fix(deps): update dependency vite to ^5.2.5 (#259)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-24 10:49:10 +01:00
Yossi Hillali a74aa5412c Columns customize (#1975)
* Columns customization

Related issue: #1471
Related issue: #1832
Related issue: #1354
Related issue: #1929
2024-03-23 17:26:59 +01:00
Dylan Slattery 06772713ce feat: add Proxmox integration/widget (#1903) 2024-03-23 16:19:38 +01:00
Thomas Camlong 4a8b7377a8 chore: new Crowdin updates (#1968) 2024-03-23 16:18:26 +01:00
Manuel 5f8b96704b fix: #1976 lower debounce time (#1979) 2024-03-23 16:18:02 +01:00
Yossi Hillali d512ae7e22 fix: weather widget does not refresh automatically (#1981) 2024-03-23 16:17:23 +01:00
Tagaishi 11eaf9eb8e fix: change media request TV poster and movie name (#1983) 2024-03-23 16:16:17 +01:00
homarr-renovate[bot] 78b8cf6b29 chore(deps): update dependency @types/react to ^18.2.69 (#258)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 22:37:27 +01:00
homarr-renovate[bot] e4e3463d04 fix(deps): update tanstack-query monorepo to ^5.28.6 (#256)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 22:37:11 +01:00
homarr-renovate[bot] d867ab162a chore(deps): update dependency typescript to ^5.4.3 (#254)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 22:36:58 +01:00
homarr-renovate[bot] 1dfc6a9f0b chore(deps): update turbo monorepo to ^1.13.0 (#257)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 21:00:19 +01:00
homarr-renovate[bot] 7214df3e44 fix(deps): update dependency vite to ^5.2.3 (#253)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 20:59:18 +01:00
homarr-renovate[bot]andMeier Lukas 28f630f58b fix(deps): update nextjs monorepo to ^14.1.4 (#252)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-22 20:58:45 +01:00
homarr-renovate[bot] 1f359cd87c chore(deps): update dependency @types/eslint to ^8.56.6 (#251)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 20:51:30 +01:00
homarr-renovate[bot] cdc4870925 fix(deps): update dependency drizzle-orm to ^0.30.4 (#250)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 20:51:09 +01:00
homarr-renovate[bot] 36e509a474 fix(deps): update typescript-eslint monorepo to ^7.3.1 (#247)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 20:50:52 +01:00
homarr-renovate[bot]andMeier Lukas aeed1d7583 chore(deps): update dependency @types/react to ^18.2.67 (#246)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-22 20:50:25 +01:00
homarr-renovate[bot] 0ffb3f18b9 fix(deps): update nest monorepo to ^10.3.5 (#245)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 20:41:26 +01:00
homarr-renovate[bot] ab55a1357d fix(deps): update dependency @trpc/client to v11.0.0-next-beta.318 (#234)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-22 20:40:36 +01:00
Meier Lukas 92a8db718c chore: restrict usage of variables shorther than 3 characters (#255)
* chore: restrict usage of variables shorther than 3 characters

* chore: change highlighting to warning
2024-03-20 20:58:24 +01:00
Meier Lukas 361700b239 feat: add board access settings (#249)
* wip: add board access settings

* wip: add user access control

* wip: add user access control

* feat: add user access control

* refactor: move away from mantine-modal-manager

* fix: ci issues and failing tests

* fix: lint issue

* fix: format issue

* fix: deepsource issues

* chore: address pull request feedback
2024-03-20 20:30:58 +01:00
homarr-renovate[bot] 4753bc7162 chore(deps): update dependency @types/node to ^20.11.30 (#248)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-19 21:03:42 +01:00
Yossi Hillali ef70e9317d fix: health monitoring hotfix (#1970)
* fix cpu temp when not available, fix hover dropdown, resize progress rings.

* fix spelling
2024-03-18 22:53:06 +01:00
homarr-renovate[bot] 4a52c6e3bc chore(deps): update pnpm to v8.15.5 (#244)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-18 11:58:40 +01:00
homarr-renovate[bot] c5428efd60 fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.2.1 (#243)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-17 09:43:55 +01:00
Manuel 0440af3566 fix: add sharp (#241) 2024-03-16 19:01:02 +01:00
homarr-renovate[bot] 30278f37d2 fix(deps): update tanstack-query monorepo to ^5.28.4 (#235)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-16 16:47:27 +01:00
homarr-renovate[bot] 333aaf34dc fix(deps): update dependency @tabler/icons-react to ^3.1.0 (#236)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-16 16:47:19 +01:00
homarr-renovate[bot] 9ba6f91570 chore(deps): update node.js to v20 (#237)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-16 16:47:11 +01:00
homarr-renovate[bot] 75ab823019 fix(deps): update dependency jotai to ^2.7.1 (#238)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-16 15:52:54 +01:00
homarr-renovate[bot] 8b009db4fe chore(deps): update vitest monorepo to ^1.4.0 (#239)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-16 15:51:55 +01:00
homarr-renovate[bot] 404f2945dc fix(deps): update dependency eslint-plugin-react to ^7.34.1 (#240)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-16 15:51:47 +01:00
ManuelandMeier Lukas 98c353349a config: add dockerfile (#214)
* config: add dockerfile

* feat: add working dockerfile for nest and next app with sqlite migration

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-16 15:51:34 +01:00
Manuel f67e2c5a45 core: increase version to 0.15.2 (#1967) 2024-03-15 19:46:12 +01:00
Thomas Camlong ce8259b031 chore: new Crowdin updates (#1949) 2024-03-15 19:46:12 +01:00
Tagaishi d4aa866e5b feat: Apply translation automation from select option to multi-select option (#1963) 2024-03-15 19:46:12 +01:00
Yossi Hillali 6989ce8311 fix: OMV 7 support (#1959) 2024-03-15 19:46:12 +01:00
Manuel 5875b1b264 Merge branch 'master' into dev 2024-03-15 19:28:42 +01:00
Manuel fca7fcbad2 core: increase version to 0.15.2 (#1967) 2024-03-15 18:42:32 +01:00
Manuel bbad5a7866 chore: increase version 2024-03-15 18:41:03 +01:00
Thomas Camlong 08153f9f54 chore: new Crowdin updates (#1949) 2024-03-15 18:20:07 +01:00
Tagaishi 81e51d2877 feat: Apply translation automation from select option to multi-select option (#1963) 2024-03-15 13:51:25 +01:00
Yossi Hillali 030f05b24b fix: OMV 7 support (#1959) 2024-03-15 09:00:43 +01:00
Manuel 49b6ef2bde Merge pull request #1960 from ajnart/chore/increase-version
chore: increase version
2024-03-14 20:55:58 +01:00
Manuel 29bc596090 chore: increase version 2024-03-14 20:55:08 +01:00
homarr-renovate[bot] a4951037e3 chore(deps): update dependency @swc/core to ^1.4.8 (#223)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-14 18:55:37 +01:00
homarr-renovate[bot] cf57b33d2c chore(deps): update dependency vite-tsconfig-paths to ^4.3.2 (#228)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-14 18:55:27 +01:00
homarr-renovate[bot] 64354e4b43 fix(deps): update dependency @tabler/icons-react to ^3.0.3 (#229)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-14 18:55:13 +01:00
homarr-renovate[bot] 4bab91f8de fix(deps): update dependency sass to ^1.72.0 (#230)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-14 18:53:27 +01:00
homarr-renovate[bot] 603b8a01af chore(deps): update dependency @types/react to ^18.2.66 (#231)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-14 18:53:13 +01:00
homarr-renovate[bot] 90465175f9 fix(deps): update dependency drizzle-orm to ^0.30.2 (#232)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-14 18:52:59 +01:00
Manuel 4f375cbe6d feat: add trpc websocket (#205) 2024-03-14 18:43:47 +01:00
Manuel 4f301856fb chore: version 0.15.1 2024-03-14 17:16:16 +01:00
Yossi Hillali 1cc4ae5c03 feat: add column ordering in torrent widget (#1952) 2024-03-13 20:07:51 +01:00
homarr-renovate[bot] 9ae99ad06c chore(deps): update dependency @types/react-dom to ^18.2.22 (#224)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-13 19:01:00 +01:00
homarr-renovate[bot] 9a203e8fac fix(deps): update tanstack-query monorepo to ^5.28.0 (#225)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-13 19:00:50 +01:00
homarr-renovate[bot] 72011147d1 chore(deps): update dependency @types/node to ^20.11.27 (#226)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-13 19:00:41 +01:00
homarr-renovate[bot] 179ceaebf0 fix(deps): update dependency @ianvs/prettier-plugin-sort-imports to ^4.2.0 (#227)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-13 19:00:31 +01:00
Meier Lukas 4fa51821ef Fix: dead links (#1955)
* Fix dead link on manage page

* Fix: dead link for edit mode toggle
2024-03-13 17:45:41 +01:00
diederbert 4bafe6bfe7 perf: Improve TorrentTile rendering performance (#1951) 2024-03-13 17:43:24 +01:00
homarr-renovate[bot]andMeier Lukas fc29db0151 fix(deps): update mantine monorepo to ^7.6.2 (#221)
* fix(deps): update mantine monorepo to ^7.6.2

* fix: lint issue as use-element-size ref is typed correctly again

* fix: remove unnecessary type convertion

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-13 08:29:05 +01:00
homarr-renovate[bot] b63b2c8e90 fix(deps): update dependency mantine-modal-manager to ^7.6.2 (#222)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-13 08:15:02 +01:00
homarr-renovate[bot]andMeier Lukas 2ee5027a3c chore(deps): update turbo monorepo to ^1.12.5 (#202)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-12 22:01:49 +01:00
homarr-renovate[bot]andMeier Lukas 084adeb166 chore(deps): update dependency @types/node to ^20.11.26 (#219)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-12 21:57:12 +01:00
homarr-renovate[bot] ea79953353 fix(deps): update typescript-eslint monorepo to ^7.2.0 (#218)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-12 21:49:55 +01:00
homarr-renovate[bot] a3c9afddab chore(deps): update dependency vite to ^5.1.6 (#217)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-12 21:49:08 +01:00
homarr-renovate[bot] efbc4cf8fe fix(deps): update tanstack-query monorepo (#216)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-12 21:48:21 +01:00
homarr-renovate[bot]andMeier Lukas 1c222ed89c fix(deps): update dependency @tabler/icons-react to v3 (#215)
* fix(deps): update dependency @tabler/icons-react to v3

* fix: type issues caused by removal of TablerIconProps

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-12 21:46:37 +01:00
Meier Lukas 24ec13c2ab feat: add mysql support (#212)
* feat: add mysql support

* fix: lockfile broken

* fix: ci issues

* fix: ci issues

* fix: ci issues
2024-03-12 21:23:45 +01:00
Meier Lukas c4ff968cbc feat: add app widget (#206)
* refactor: move server api to api package

* feat: add app widget

* refactor: add element size for widget components on board

* feat: add resize listener for widget width

* feat: add widget app input

* refactor: add better responsibe layout, add missing translations

* fix: ci issues

* fix: deepsource issues

* chore: address pull request feedback
2024-03-12 21:23:25 +01:00
homarr-renovate[bot] 7d5b999ab8 chore(deps): update dependency @types/react to ^18.2.65 (#220)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-12 20:09:45 +01:00
Thomas Camlong 184aa5eca6 Merge pull request #1953 from ajnart/fix-death-links 2024-03-11 06:55:05 +01:00
Meier Lukas a9df79642d fix: death links in readme 2024-03-11 06:49:59 +01:00
Manuel 5000c4f008 config: fix pr template 2024-03-10 12:42:14 +01:00
homarr-renovate[bot] 851e3701c2 chore(deps): update dependency dotenv-cli to ^7.4.1 (#213)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-10 11:32:21 +01:00
TagaishiandMeier Lukas edcba9ceb6 feat: Clock widget and dayjs locale standard (#79)
* feat: Clock widget and dayjs locale standard

Co-authored-by: Meier Lukas
- Widget options modifications
<meierschlumpf@gmail.com>

* perf: add improved time state for clock widget

* fix: final fixes

* refactor: unify selectOptions

* chore: fix CI & remove serverdata from clock widget

* chore: Change custom title to be under a toggle

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-09 19:25:48 +01:00
Tagaishi dceec34929 Merge branch 'dev' of https://github.com/homarr-labs/homarr into dev 2024-03-09 18:14:16 +01:00
Tagaishi 0ee8c5ad91 fix: create board submit button inverted 2024-03-09 18:14:01 +01:00
homarr-renovate[bot] be9434bf8c chore(deps): update dependency dotenv-cli to ^7.4.0 (#209)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-09 18:13:43 +01:00
homarr-renovate[bot] e34161f33e fix(deps): update dependency drizzle-orm to ^0.30.1 (#210)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-09 18:13:30 +01:00
homarr-renovate[bot] 19243b8681 chore(deps): update dependency @swc/core to ^1.4.6 (#211)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-09 18:12:16 +01:00
Thomas Camlong e23e25890a chore: new Crowdin updates (#1890) 2024-03-09 17:56:56 +01:00
Thomas CamlongandManuel 28bd849af7 feat: add Estonian language (#1931)
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
2024-03-09 16:58:24 +01:00
Yossi Hillali 918585c3e2 feat: add weekly forecast to weather widget (#1932) 2024-03-09 16:57:16 +01:00
Tagaishi 0906420584 feat: Mention Emby on Jellyfin integration (#1917) 2024-03-09 16:52:47 +01:00
Thomas Camlong 18bd9c856d config: add Lithuanian support (#1935) 2024-03-09 16:49:30 +01:00
Tagaishi 93379145ac fix: log when incorrect and show error in login page (#1943)
* feat: Add logs for incorrect AUTH_PROVIDER and show in login page

* feat: format any entry to lower case for AUTH_PROVIDER

* fix: Change simple text to Alert element on login page
2024-03-09 16:48:52 +01:00
Meier Lukas 9c81d34d66 feat: add ldap search scope (#1948) 2024-03-09 16:37:36 +01:00
homarr-renovate[bot] ef7bd4cffb chore(deps): update dependency @types/node to ^20.11.25 (#200)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-07 07:10:45 +01:00
homarr-renovate[bot] 56d5e709bc fix(deps): update nextjs monorepo to ^14.1.3 (#208)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-07 07:10:35 +01:00
homarr-renovate[bot] a1342ea809 chore(deps): update dependency @types/react-dom to ^18.2.21 (#207)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-07 07:09:53 +01:00
homarr-renovate[bot] 4f41765f10 fix(deps): update dependency drizzle-orm to ^0.29.5 (#203)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-06 21:21:44 +01:00
homarr-renovate[bot] 1728d16177 chore(deps): update dependency @types/react to ^18.2.64 (#201)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-06 21:21:22 +01:00
homarr-renovate[bot] 46955830d9 chore(deps): update dependency typescript to ^5.4.2 (#204)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-06 21:21:09 +01:00
Manuel beb7defd32 feat: add change password form (#199) 2024-03-06 21:20:41 +01:00
homarr-renovate[bot] c0401702f0 chore(deps): update dependency @types/react-dom to ^18.2.20 (#197)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-06 18:23:31 +01:00
homarr-renovate[bot] 82e8a02d8e chore(deps): update dependency @swc/core to ^1.4.5 (#198)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-06 18:23:20 +01:00
homarr-renovate[bot] 345843b01c chore(deps): update dependency @swc/core to ^1.4.4 (#195)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-05 21:11:52 +01:00
Manuel 41b99f191c feat: add edit user page (#173) 2024-03-05 21:10:19 +01:00
homarr-renovate[bot]andMeier Lukas 8c9adb31f3 fix(deps): update tanstack-query monorepo to ^5.25.0 (#196)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-05 20:40:20 +01:00
homarr-renovate[bot] e2bc88d9b6 chore(deps): update dependency @types/react to ^18.2.63 (#194)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-05 20:30:30 +01:00
homarr-renovate[bot] 8df514dec8 fix(deps): update nextjs monorepo to ^14.1.2 (#193)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-05 20:30:02 +01:00
Meier Lukas 8d5984c58a feat: Add apps crud (#174)
* wip: add apps crud

* wip: add edit for apps

* feat: add apps crud

* fix: color of icon for no app results wrong

* ci: fix lint issues

* test: add unit tests for app crud

* ci: fix format issue

* fix: missing rename in edit form

* fix: missing callback deepsource issues
2024-03-04 22:13:40 +01:00
homarr-renovate[bot]andMeier Lukas 70f34efd53 fix(deps): update dependency next-auth to v5.0.0-beta.15 (#167)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:32:40 +01:00
homarr-renovate[bot]andMeier Lukas 50fd4c17ad fix(deps): update dependency @auth/drizzle-adapter to ^0.8.0 (#170)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:28:30 +01:00
homarr-renovate[bot] aa19139cf7 fix(deps): update dependency @auth/core to ^0.28.0 (#169)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-04 21:24:13 +01:00
homarr-renovate[bot] 27a63dbf7a fix(deps): update typescript-eslint monorepo to ^7.1.1 (#192)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-04 21:22:48 +01:00
homarr-renovate[bot] b454ed38eb chore(deps): update dependency vite to ^5.1.5 (#191)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-04 21:22:35 +01:00
homarr-renovate[bot] a9abc5bfe2 chore(deps): update dependency @types/react to ^18.2.62 (#190)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-04 21:21:55 +01:00
homarr-renovate[bot]andMeier Lukas acf9d1803f fix(deps): update dependency mantine-modal-manager to ^7.6.1 (#171)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:20:22 +01:00
homarr-renovate[bot]andMeier Lukas 8c0534f54c fix(deps): update mantine monorepo to ^7.6.1 (#157)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:15:43 +01:00
homarr-renovate[bot]andMeier Lukas 4cd897d521 fix(deps): update dependency eslint-plugin-react to ^7.34.0 (#189)
* fix(deps): update dependency eslint-plugin-react to ^7.34.0

* fix: lockfile broken

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:11:01 +01:00
homarr-renovate[bot]andMeier Lukas fde6d6601d fix(deps): update dependency winston to v3.12.0 (#188)
* fix(deps): update dependency winston to v3.12.0

* fix: lockfile broken

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:09:29 +01:00
homarr-renovate[bot]andMeier Lukas f98046d9e2 fix(deps): update tanstack-query monorepo to ^5.24.8 (#187)
* fix(deps): update tanstack-query monorepo to ^5.24.8

* fix: lockfile broken

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:07:02 +01:00
homarr-renovate[bot]andMeier Lukas f4b93d1eae fix(deps): update dependency rimraf to v5 (#186)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:06:46 +01:00
homarr-renovate[bot]andMeier Lukas 0da3253d21 chore(deps): update dependency supertest to ^6.3.4 (#183)
* chore(deps): update dependency supertest to ^6.3.4

* ci: fix format issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:01:31 +01:00
homarr-renovate[bot]andMeier Lukas e1a98f7fc0 fix(deps): update dependency rxjs to ^7.8.1 (#181)
* fix(deps): update dependency rxjs to ^7.8.1

* fix: lockfile broken

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:01:22 +01:00
homarr-renovate[bot]andMeier Lukas 9ee96a1462 fix(deps): update dependency reflect-metadata to ^0.2.1 (#182)
* fix(deps): update dependency reflect-metadata to ^0.2.1

* fix: lockfile broken

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 21:01:10 +01:00
homarr-renovate[bot]andMeier Lukas ada16317e3 chore(deps): update dependency vite to v5 (#185)
* chore(deps): update dependency vite to v5

* fix: lockfile broken

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 20:53:54 +01:00
homarr-renovate[bot]andMeier Lukas 27a039d27a chore(deps): update dependency tsconfig-paths to v4 (#184)
* chore(deps): update dependency tsconfig-paths to v4

* ci: fix format issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 20:47:43 +01:00
homarr-renovate[bot]andMeier Lukas dc2e13dcb5 chore(deps): update dependency @types/express to ^4.17.21 (#176)
* chore(deps): update dependency @types/express to ^4.17.21

* ci: fix format issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 20:38:11 +01:00
homarr-renovate[bot]andMeier Lukas 6ef69475e2 chore(deps): update dependency ts-node to ^10.9.2 (#178)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 20:37:56 +01:00
homarr-renovate[bot]andMeier Lukas 9b8255aac7 chore(deps): update dependency @types/supertest to ^2.0.16 (#177)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 20:37:37 +01:00
homarr-renovate[bot]andMeier Lukas fd5fe529e8 chore(deps): update dependency @swc/core to ^1.4.2 (#175)
* chore(deps): update dependency @swc/core to ^1.4.2

* ci: fix typecheck issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-04 20:32:23 +01:00
Manuel 9440d04261 feat: add nestjs app (#172) 2024-03-03 21:07:27 +01:00
homarr-renovate[bot] 7f2ab7f192 fix(deps): update tanstack-query monorepo to ^5.24.6 (#168)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-03 16:49:22 +01:00
Meier Lukas bb02163e25 feat: board settings (#137)
* refactor: improve user feedback for general board settings section

* wip: add board settings for background and colors, move danger zone to own file, refactor code

* feat: add shade selector

* feat: add slider for opacity

* fix: issue with invalid hex values for color preview

* refactor: add shared mutation hook for saving partial board settings with invalidate query

* fix: add cleanup for not applied changes to logo and page title

* feat: add layout settings

* feat: add empty custom css section to board settings

* refactor: improve layout of board logo on mobile

* feat: add theme provider for board colors

* refactor: add auto contrast for better contrast of buttons with low primary shade

* feat: add background for boards

* feat: add opacity for boards

* feat: add rename board

* feat: add visibility and delete of board settings

* fix: issue that wrong data is updated with update board method

* refactor: improve danger zone button placement for mobile

* fix: board not revalidated when already in boards layout

* refactor: improve board color preview

* refactor: change save button color to teal, add placeholders for general board settings

* chore: update initial migration

* refactor: remove unnecessary div

* chore: address pull request feedback

* fix: ci issues

* fix: deepsource issues

* chore: address pull request feedback

* fix: formatting issue

* chore: address pull request feedback
2024-03-03 16:01:32 +01:00
ManuelandMeier Lukas 2a83df3485 feat: use password input (#163)
* feat: use password input

* chore: address pull request feedback

* fix: typo in function name

* fix: deepsource issues

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-02 17:46:03 +01:00
homarr-renovate[bot]andMeier Lukas 990be660c5 chore(deps): update dependency @types/react to ^18.2.61 (#165)
* chore(deps): update dependency @types/react to ^18.2.61

* fix: formatting issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-02 16:41:21 +01:00
homarr-renovate[bot]andMeier Lukas 258ad94bd2 chore(deps): update dependency @types/eslint to ^8.56.5 (#164)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-02 15:58:22 +01:00
homarr-renovate[bot]andMeier Lukas af203e19e7 fix(deps): update dependency jotai to ^2.7.0 (#162)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-02 15:56:01 +01:00
homarr-renovate[bot]andMeier Lukas 14cf39b996 chore(deps): update dependency @types/node to ^20.11.24 (#161)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-02 15:51:40 +01:00
homarr-renovate[bot]andMeier Lukas b407f2a9ac fix(deps): update nextjs monorepo to ^14.1.1 (#147)
* fix(deps): update nextjs monorepo to ^14.1.1

* fix: lint issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-03-02 15:37:40 +01:00
homarr-renovate[bot] baa541afa9 fix(deps): update dependency better-sqlite3 to ^9.4.3 (#118)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-03-02 15:28:02 +01:00
homarr-renovate[bot] fc8d9071aa fix(deps): update dependency jotai to ^2.6.5 (#106)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 21:54:13 +01:00
Manuel c6c8778397 feat: add password input field (#160) 2024-02-27 21:53:53 +01:00
homarr-renovate[bot] 212063a51e fix(deps): update tiptap monorepo to ^2.2.4 (#153)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 21:19:29 +01:00
homarr-renovate[bot] e74a41165d chore(deps): update dependency eslint to ^8.57.0 (#154)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 21:19:06 +01:00
homarr-renovate[bot] 47f44128f5 chore(deps): update dependency @types/node to ^20.11.20 (#151)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 21:18:35 +01:00
homarr-renovate[bot] f211ffbf78 fix(deps): update dependency mantine-react-table to v2.0.0-beta.0 (#149)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 20:53:06 +01:00
Yossi Hillali b51fcdb342 Add OMV integration / widget (#1879)
feat: Add health monitoring widget (OMV)
OpenMediaVault as first supported integration.
2024-02-27 20:44:52 +01:00
homarr-renovate[bot] 4cf505f0c5 fix(deps): update dependency drizzle-orm to ^0.29.4 (#150)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 20:43:40 +01:00
homarr-renovate[bot] c4ffa59ede chore(deps): update pnpm to v8.15.4 (#155)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 20:43:16 +01:00
homarr-renovate[bot] 3022e7f0af fix(deps): update tanstack-query monorepo to ^5.24.1 (#156)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 20:43:09 +01:00
homarr-renovate[bot] e9b02519a4 chore(deps): update dependency @types/react to ^18.2.60 (#158)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 20:42:23 +01:00
homarr-renovate[bot] 8e5379225a fix(deps): update typescript-eslint monorepo to ^7.1.0 (#159)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-27 20:42:06 +01:00
Tagaishi db2501633d fix: set maximum size for indexer manager to 12 (#1912) 2024-02-24 19:40:05 +01:00
Meier Lukas b2cee8f693 fix: next auth host not trusted (#144) 2024-02-23 17:15:24 +01:00
homarr-renovate[bot] cfb3daef95 chore(deps): update dependency @types/react to ^18.2.58 (#152)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-23 17:05:43 +01:00
homarr-renovate[bot] f060f50caf chore(deps): update dependency @types/eslint to ^8.56.3 (#111)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-23 17:05:31 +01:00
homarr-renovate[bot] abc4a9afbc fix(deps): update dependency sass to ^1.71.1 (#148)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-21 21:24:43 +01:00
Manuel 60dec6e3be feat: add 404 page (#145) 2024-02-21 21:24:33 +01:00
homarr-renovate[bot]andMeier Lukas 5d68300600 fix(deps): update tanstack-query monorepo (#141)
* fix(deps): update tanstack-query monorepo

* fix: lockfile broken

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-20 21:43:21 +01:00
homarr-renovate[bot]andMeier Lukas 4d011364bf fix(deps): update dependency next to ^14.1.1-canary.63 (#146)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-20 21:33:40 +01:00
Meier Lukas 3d50f8165f feat: add winston logger (#143)
* feat: add winston logger

* refactor: improve usage of winston logger overide, remove start.js file and logger.js file used for override

* fix: formatting

* fix: formatting
2024-02-20 21:28:27 +01:00
Manuel b4749e7091 feat: add user management (#134) 2024-02-20 21:18:47 +01:00
Meier Lukas 5cd940f3cc Fix redirect OIDC (#1911)
* fix: redirect oidc not defined

* fix: construct redirect url from x-forwarded prot and host

* fix: redirect method does not support comma seperated protocol list and url starting with http(s)://

* fix: redirect_uri not specified for oidc as authorization parameter

* fix: unit test not modified

* docs: add comment why the redirect_uri is constructed

* fix: add redirect callback with forwarded headers as redirect url host and protocol

* Apply suggestions from code review
2024-02-20 20:34:57 +01:00
homarr-renovate[bot]andMeier Lukas fde634d834 fix(deps): update dependency next to ^14.1.1-canary.62 (#140)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-20 20:15:25 +01:00
homarr-renovate[bot] 859eeed329 fix(deps): update typescript-eslint monorepo to ^7.0.2 (#122)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-20 20:09:20 +01:00
homarr-renovate[bot] 69b9247550 chore(deps): update dependency @types/react to ^18.2.57 (#139)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-20 20:08:59 +01:00
homarr-renovate[bot] 72feb06610 chore(deps): update vitest monorepo to ^1.3.1 (#142)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-20 20:08:35 +01:00
homarr-renovate[bot] 64194c51ed fix(deps): update dependency next-auth to v5.0.0-beta.13 (#108)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-20 20:08:11 +01:00
Manuel a4fc6f6444 refactor: client side navigation (#135) 2024-02-19 18:04:01 +01:00
homarr-renovate[bot] 6a02afbfe2 fix(deps): update dependency next to ^14.1.1-canary.61 (#138)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-19 06:31:42 +01:00
Meier Lukas 1bc19e7857 Merge pull request #1913 from ajnart/add-env-for-oidc-scopes
feat: add environment variable to overwrite oidc scopes
2024-02-19 05:57:17 +01:00
homarr-renovate[bot]andMeier Lukas e150577c7e fix(deps): update tanstack-query monorepo to ^5.21.7 (#133)
* fix(deps): update tanstack-query monorepo to ^5.21.7

* fix: formatting issue

* fix: formatting issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-18 22:13:19 +01:00
homarr-renovate[bot]andMeier Lukas 4565f38bef fix(deps): update dependency mantine-modal-manager to ^7.5.3 (#132)
* fix(deps): update dependency mantine-modal-manager to ^7.5.3

* fix: formatting issue

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-18 22:03:38 +01:00
Manuel 7d648600ee config. replace logo (#136) 2024-02-18 21:53:51 +01:00
Manuel e3e38e7f44 feat: add create board modal (#131) 2024-02-18 15:44:49 +01:00
Meier Lukas f1aa422614 feat: add support for multiple integration kind options (#127)
* feat: add support for multiple integration kind options

* fix: deepsource issue JS-0417 missing use callback
2024-02-18 14:24:07 +01:00
Meier Lukas 83e3800ddf fix: change groups check to undefined instead of not to not show warning when 0 groups in list 2024-02-18 11:53:44 +01:00
Meier Lukas 34ef216f3f feat: add environment variable to overwrite oidc scopes 2024-02-18 11:51:26 +01:00
Meier Lukas 1e414af57c fix: issue with category removal and ready state (#129) 2024-02-18 09:10:16 +01:00
homarr-renovate[bot] 4f911c4f56 fix(deps): update dependency next to ^14.1.1-canary.59 (#121)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-18 08:50:26 +01:00
homarr-renovate[bot] dbf02c6264 fix(deps): update dependency @tanstack/react-query-devtools to ^5.21.5 (#130)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-18 08:48:40 +01:00
homarr-renovate[bot] a9a3d98248 fix(deps): update tanstack-query monorepo to ^5.21.4 (#128)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-17 22:07:12 +01:00
Manuel 2e014a5883 Merge Version 0.15 2024-02-17 17:36:17 +01:00
Manuel 3d3c1b50a3 Merge branch 'dev' of https://github.com/homarr-labs/homarr into dev 2024-02-17 16:22:14 +01:00
Manuel 547f75d19c fix: crash with no user in session 2024-02-17 16:22:05 +01:00
Manuel 46a57c1cf2 config: tag release (#1906) 2024-02-17 14:36:09 +01:00
Meier Lukas d5025da789 Add search spotlight with registration hook (#82)
* wip: add spotlight

* feat: add spotlight with registration hook and group chips

* chore: address pull request feedback

* docs: add documentation for usage of spotlight actions

* fix: deepsource issue JS-0415

* feat: add support for dependencies of spotlight actions

* fix: lockfile broken

* feat: add hover effect for spotlight action

* docs: Add documentation about dependency array

* refactor: remove test spotlight actions, disallow all as group for actions

* fix: type issues

* chore: address pull request feedback
2024-02-17 14:11:23 +01:00
homarr-renovate[bot]andMeier Lukas 3577bd6ac3 chore(deps): update dependency @types/react to ^18.2.56 (#104)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-17 12:58:01 +01:00
homarr-renovate[bot]andMeier Lukas 71521c0768 fix(deps)!: update tanstack-query monorepo (#126)
* fix(deps): update tanstack-query monorepo to ^5.21.2

* fix(deps): update tanstack-query monorepo

* fix: type issue with transformer

* fix: issues with next-auth, updated to next canary

* chore: fix type issue in trpc route

* chore: fix formatting

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-17 12:52:25 +01:00
Manuel 3bdd117659 ci: remove automatic-release.yml 2024-02-16 23:05:30 +01:00
homarr-renovate[bot] 1d3fa16484 chore(deps): update dependency node to v20.11.1 (#92)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-16 22:57:08 +01:00
homarr-renovate[bot] 3e44644ef6 fix(deps): update tiptap monorepo to ^2.2.3 (#95)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-16 22:55:32 +01:00
homarr-renovate[bot] 9a60588a03 fix(deps): update dependency sass to ^1.71.0 (#96)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-16 22:53:43 +01:00
homarr-renovate[bot] ba0c3c72ed chore(deps): update vitest monorepo to ^1.3.0 (#98)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-16 22:53:09 +01:00
homarr-renovate[bot] 4ea1d14966 fix(deps): update dependency @tanstack/react-query-devtools to ^5.21.0 (#101)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-16 22:50:43 +01:00
homarr-renovate[bot] 35edfc74c4 fix(deps): update mantine monorepo to ^7.5.3 (#97)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-16 22:49:45 +01:00
homarr-renovate[bot] 5d69ff74f3 chore(deps): update pnpm to v8.15.3 (#94)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-16 22:43:16 +01:00
Manuel 5997afdd7b chore: merge update branch 2024-02-16 22:26:28 +01:00
Meier Lukas 144e1512f7 ci: update node version to 20 2024-02-16 20:26:48 +01:00
homarr-renovate[bot] f91338446d fix(deps): update typescript-eslint monorepo to v7 (#87)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-15 20:40:50 +01:00
homarr-renovate[bot]andMeier Lukas 6c5e4752ea fix(deps): update dependency @auth/core to ^0.27.0 (#89)
* fix(deps): update dependency @auth/core to ^0.27.0

* fix: lockfile broken

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-15 20:39:55 +01:00
homarr-renovate[bot]andMeier Lukas 11393525d9 fix(deps): update dependency @auth/drizzle-adapter to ^0.7.0 (#90)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-15 20:28:21 +01:00
homarr-renovate[bot] 336dc38b2d fix(deps): update dependency next-auth to v5.0.0-beta.11 (#91)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-15 20:23:57 +01:00
homarr-renovate[bot] b77e652822 fix(deps): update tanstack-query monorepo to ^5.20.5 (#86)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-15 20:22:00 +01:00
homarr-renovate[bot] 966425c119 chore(deps): update pnpm to v8.15.2 (#88)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-14 22:55:18 +01:00
homarr-renovate[bot] c5fb8075ce chore(deps): update turbo monorepo to ^1.12.4 (#93)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-14 22:54:32 +01:00
Meier Lukas 25693b10b1 Fix issue where gridstack items can have a width of zero (#85) 2024-02-11 16:18:15 +01:00
homarr-renovate[bot] 34f06e817d fix(deps): update dependency better-sqlite3 to ^9.4.1 (#83)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-11 09:37:37 +01:00
Manuel 08fa338abb feat: add user avatar menu (#80) 2024-02-10 23:14:02 +01:00
Meier Lukas 16442bc379 feat: add support for should hide option i widget edit modal (#78) 2024-02-10 19:11:40 +01:00
Meier Lukas f070a0cb0a test: add initial unit tests (#56)
* chore: add initial db migration

* test: add unit tests for packages auth, common, widgets

* fix: deep source issues

* fix: format issues

* wip: add unit tests for api routers

* fix: deep source issues

* test:  add missing unit tests for integration router

* wip: board tests

* test: add unit tests for board router

* fix: remove unnecessary null assertions

* fix: deepsource issues

* fix: formatting

* fix: pnpm lock

* fix: lint and typecheck issues

* chore: address pull request feedback

* fix: non-null assertions

* fix: lockfile broken
2024-02-10 19:00:08 +01:00
Manuel 13aae82790 docs: add pull request template 2024-02-10 18:22:23 +01:00
Manuel 34875dfd15 feat: add winston logger (#77) 2024-02-10 18:07:24 +01:00
Thomas Camlong 78527cb375 Merge pull request #1892 from ajnart/ajnart-patch-1 2024-02-10 15:32:27 +01:00
Thomas Camlong 508f687491 Update README.md
Fixed incorrect URLs in the integrations part of the README #1891
2024-02-10 15:31:59 +01:00
homarr-renovate[bot] 00f4a288a4 fix(deps): update tanstack-query monorepo to ^5.20.1 (#75)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-10 13:45:18 +01:00
homarr-renovate[bot] 60d5ebbc11 fix(deps): update dependency next-international to ^1.2.4 (#76)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-10 11:27:31 +01:00
Manuel 3e732fc613 config: add permissions to automatic release workflow 2024-02-09 23:05:50 +01:00
9a8ea9e1fe feat: add ldap and oidc support (#1497)
Co-authored-by: Thomas Camlong <49837342+ajnart@users.noreply.github.com>
Co-authored-by: Tagaishi <Tagaishi@hotmail.ch>
2024-02-09 22:57:00 +01:00
Thomas Camlong b1ae5f700e chore(translations): new Crowdin updates (#1878) 2024-02-09 22:37:26 +01:00
Thomas Camlong f0a67d9a29 feat: allow up to 8128 characters for links in bookmark widget (#1851) #1850 2024-02-09 22:36:34 +01:00
Yossi HillaliandTagaishi 5d113ea280 Indexer manager (#1807)
* indexer manager widget

Co-authored-by: Tagaishi <Tagaishi@hotmail.ch>
2024-02-09 22:35:56 +01:00
Dennis Vesterlund d45ae5fab9 feat: add unit display to smart home entitiy card (#1844)
Unit of measurement can be chosen to display on the entity card.
Friendly name can be used instead of displayName.
2024-02-09 22:30:57 +01:00
Tagaishi 02249d20c2 fix: add check for already existing name upon creating board (#1887) 2024-02-09 22:30:03 +01:00
Tagaishi cefa0d8fde fix: notebook link target bug fix (#1889) 2024-02-09 22:28:23 +01:00
homarr-renovate[bot] f704bad36e fix(deps): update dependency mantine-modal-manager to ^7.5.2 (#72)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-09 22:20:41 +01:00
Manuel 5ef79edc1a feat: add boards management page (#55) 2024-02-09 22:20:28 +01:00
homarr-renovate[bot] 81e61b4d6b fix(deps): update mantine monorepo to ^7.5.2 (#71)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-09 22:05:39 +01:00
homarr-renovate[bot] 7f4ad88b0f chore(deps): update dependency @types/node to ^20.11.17 (#70)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-09 21:23:24 +01:00
deepsource-autofix[bot]andMeier Lukas a4f6a7c16a refactor: replace short hand type conversions with function calls (#65)
* refactor: replace short hand type conversions with function calls

Prefer using explicit casts by calling `Number`, `Boolean`, or `String` over using operators like `+`, `!!` or `"" +`. This is considered best practice as it improves readability.

* fix: formatting

---------

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-08 20:06:57 +01:00
homarr-renovate[bot]andMeier Lukas 11d1568714 fix(deps): update dependency @t3-oss/env-nextjs to ^0.9.2 (#69)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-08 20:05:09 +01:00
homarr-renovate[bot]andMeier Lukas 15f08011a6 fix(deps): update dependency prettier to ^3.2.5 (#53)
* fix(deps): update dependency prettier to ^3.2.5

* fix: formatting

* fix: formatting

* fix: formatting

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-08 19:58:56 +01:00
Meier Lukas 975f9123dd feat: add widget server loader (#16)
* wip: Add gridstack board

* wip: Centralize board pages, Add board settings page

* fix: remove cyclic dependency and rename widget-sort to kind

* improve: Add header actions as parallel route

* feat: add item select modal, add category edit modal,

* feat: add edit item modal

* feat: add remove item modal

* wip: add category actions

* feat: add saving of board, wip: add app widget

* Merge branch 'main' into add-board

* chore: update turbo dependencies

* chore: update mantine dependencies

* chore: fix typescript errors, lint and format

* feat: add confirm modal to category removal, move items of removed category to above wrapper

* feat: remove app widget to continue in another branch

* feat: add loading spinner until board is initialized

* fix: issue with cellheight of gridstack items

* feat: add translations for board

* fix: issue with translation for settings page

* feat: add widget server loader

* fix: typing issue

* chore: address pull request feedback

* fix: formatting
2024-02-08 07:00:00 +01:00
homarr-renovate[bot] cc52c2ba78 fix(deps): update dependency next-auth to v5.0.0-beta.9 (#68)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-08 06:48:19 +01:00
Tagaishi 55ec60041a fix: Remove version override (#67)
* 🐛 remove version override

* fix: configuration userid error
2024-02-07 21:24:50 +01:00
deepsource-autofix[bot] 91812531b4 refactor: remove true from boolean attribute (#66)
When using a boolean attribute in JSX, you can set the attribute value to true or omit the value. This helps to keep consistency in code.

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2024-02-07 21:02:22 +01:00
homarr-renovate[bot] 6797cca259 fix(deps): update dependency @auth/drizzle-adapter to ^0.6.3 (#52)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-07 20:54:51 +01:00
homarr-renovate[bot] 5cbd02b142 fix(deps): update dependency @auth/core to ^0.26.3 (#54)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-07 20:45:29 +01:00
homarr-renovate[bot] 941307b954 chore(deps): update turbo monorepo to ^1.12.3 (#62)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-07 20:45:17 +01:00
homarr-renovate[bot] 593bc9ca1c fix(deps): update tiptap monorepo to ^2.2.2 (#63)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-07 20:45:09 +01:00
homarr-renovate[bot] 8994ac2501 chore(deps): update dependency @types/react-dom to ^18.2.19 (#64)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-07 20:44:59 +01:00
homarr-renovate[bot] 544a6d9926 fix(deps): update dependency next-auth to v5.0.0-beta.8 (#60)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-06 21:52:11 +01:00
homarr-renovate[bot] ddc6f1fa16 chore(deps): update dependency @types/react to ^18.2.55 (#61)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-06 21:51:51 +01:00
homarr-renovate[bot] e683d61568 fix(deps): update typescript-eslint monorepo to ^6.21.0 (#58)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-05 20:32:29 +01:00
homarr-renovate[bot] 5d3ca5b190 chore(deps): update dependency @types/react to ^18.2.54 (#59)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-05 20:32:16 +01:00
Manuel 4933b4f60d docs: add argos ci to readme (#1883) 2024-02-05 18:18:16 +01:00
homarr-renovate[bot] 19588d77c8 chore(deps): update dependency @types/react to ^18.2.53 (#57)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-05 07:12:16 +01:00
Manuel c89d13557d config: add telemetry opt out to env 2024-02-04 11:26:05 +01:00
Meier Lukas ae12f0c9df test: add vitest for unit tests (#50)
* feat: add vitest for unit tests

* chore: address pull request feedback

* test: add unit test code quality workflow
2024-02-04 09:47:23 +01:00
ca04bf692d chore(deps): update dependency node to v20 (#42)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-04 09:21:53 +01:00
homarr-renovate[bot] 7cd56217eb chore(deps): update anothrnick/github-tag-action action to v1.67.0 (#43)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-04 09:21:05 +01:00
4815230f8b fix(deps): update typescript-eslint monorepo to ^6.20.0 (#41)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-04 09:15:59 +01:00
homarr-renovate[bot] 59f024184b chore(deps): update actions/setup-node action to v4 (#44)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-04 09:15:51 +01:00
homarr-renovate[bot] 2b5ebda727 chore(deps): update docker/build-push-action action to v5 (#45)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-04 09:14:57 +01:00
Manuel 55174476e8 Version 0.14.6 2024-02-04 09:14:17 +01:00
homarr-renovate[bot] a1e15c65d2 chore(deps): update docker/metadata-action action to v5 (#46)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-04 09:14:04 +01:00
Manuel a60053e6c4 config: chore version (#1876) 2024-02-04 09:12:48 +01:00
1e01312fcd fix(deps): update tiptap monorepo to ^2.2.1 (#40)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-04 09:12:40 +01:00
homarr-renovate[bot] 58803bcece chore(deps): update docker/setup-buildx-action action to v3 (#47)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-04 09:11:28 +01:00
Thomas Camlong 6756838d5f chore: new Crowdin updates (#1873) 2024-02-04 09:10:54 +01:00
717e919450 fix(deps): update tanstack-query monorepo to ^5.18.1 (#39)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-04 09:08:36 +01:00
Manuel 74fe7a7a28 fix: attempt to fix hidden docker button (#1875) 2024-02-04 09:08:04 +01:00
homarr-renovate[bot] 33c918603c chore(deps): update docker/setup-qemu-action action to v3 (#48)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-04 09:07:27 +01:00
dadfc0c5d7 fix(deps): update nextjs monorepo to ^14.1.0 (#38)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-04 09:05:59 +01:00
homarr-renovate[bot] ab7c884fbf chore(deps): update peter-evans/create-pull-request action to v6 (#49)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2024-02-04 09:05:27 +01:00
9aaec5495d fix(deps): update dependency prettier to ^3.2.4 (#37)
* fix(deps): update dependency prettier to ^3.2.4

* fix: formatting issues

---------

Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-04 09:03:22 +01:00
ManuelandRenovate Bot d73e7a3c3f fix(deps): update dependency postcss-preset-mantine to ^1.13.0 (#36)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:53:33 +01:00
ManuelandRenovate Bot b8fe04144f fix(deps): update dependency next-international to ^1.2.3 (#35)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:53:16 +01:00
ManuelandRenovate Bot 837e3900fa fix(deps): update dependency eslint-config-turbo to ^1.12.2 (#34)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:47:20 +01:00
ManuelandRenovate Bot 00db901833 fix(deps): update dependency better-sqlite3 to ^9.4.0 (#33)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:46:39 +01:00
ManuelandRenovate Bot 6a892e02c8 fix(deps): update dependency @tabler/icons-react to ^2.47.0 (#32)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:46:26 +01:00
f8a3aae116 fix(deps): update dependency @t3-oss/env-nextjs to ^0.8.0 (#31)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-04 08:46:06 +01:00
191d773aaf fix(deps): update dependency @auth/drizzle-adapter to ^0.5.0 (#30)
* fix(deps): update dependency @auth/drizzle-adapter to ^0.5.0

* fix: remove duplication of auth dependencies

* fix: formatting issue

---------

Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-04 08:41:56 +01:00
ManuelandRenovate Bot 8bcbc45943 fix(deps): update dependency @auth/core to ^0.25.0 (#29)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:31:02 +01:00
ManuelandRenovate Bot d9d169c0ce chore(deps): update pnpm to v8.15.1 (#28)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:29:40 +01:00
ManuelandRenovate Bot a7d5c36aa7 fix(deps): update dependency jotai to ^2.6.4 (#24)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:29:21 +01:00
ManuelandRenovate Bot b3e2032b54 chore(deps): update dependency @types/cookies to v0.9.0 (#25)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:28:18 +01:00
ManuelandRenovate Bot 7da312134c chore(deps): update dependency @types/eslint to ^8.56.2 (#26)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:28:05 +01:00
ManuelandRenovate Bot 8a4fc849a2 chore(deps): update dependency node to v18.19.0 (#27)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-04 08:27:51 +01:00
ManuelandRenovate Bot f3bb990c4d fix(deps): update dependency eslint-plugin-import to ^2.29.1 (#23)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-03 23:13:50 +01:00
ManuelandRenovate Bot 8a9656a01e chore(deps): update dependency drizzle-kit to ^0.20.14 (#22)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-03 23:13:43 +01:00
deepsource-io[bot] 2e555fbb35 ci: update .deepsource.toml 2024-02-03 22:06:11 +00:00
deepsource-io[bot] e6a5c83d9c ci: add .deepsource.toml 2024-02-03 22:01:50 +00:00
Meier Lukas 2943819f74 chore: update gridstack to homarr/gridstack package (#20)
* chore: migrate gridstack to homarr gridstack

* fix: formatting issue
2024-02-03 22:59:34 +01:00
d3c11f49dc chore(deps): update dependency @types/better-sqlite3 to v7.6.9 (#17)
* chore(deps): update dependency @types/better-sqlite3 to v7.6.9

* fix: lint issue

---------

Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-02-03 22:59:15 +01:00
Manuel 74e1ad2f00 config: push webhook on image build 2024-02-03 22:57:49 +01:00
Manuel a3156bcb18 config: disable turborepo telemetry 2024-02-03 22:50:01 +01:00
Manuel ea7cb27cfa config: add pnpm to deployment workflow 2024-02-03 22:46:21 +01:00
Manuel 154fc050cd config: add docker image workflow 2024-02-03 22:35:30 +01:00
Meier Lukas 9d520874f4 feat: add board (#15)
* wip: Add gridstack board
* wip: Centralize board pages, Add board settings page
* fix: remove cyclic dependency and rename widget-sort to kind
* improve: Add header actions as parallel route
* feat: add item select modal, add category edit modal,
* feat: add edit item modal
* feat: add remove item modal
* wip: add category actions
* feat: add saving of board, wip: add app widget
* Merge branch 'main' into add-board
* chore: update turbo dependencies
* chore: update mantine dependencies
* chore: fix typescript errors, lint and format
* feat: add confirm modal to category removal, move items of removed category to above wrapper
* feat: remove app widget to continue in another branch
* feat: add loading spinner until board is initialized
* fix: issue with cellheight of gridstack items
* feat: add translations for board
* fix: issue with translation for settings page
* chore: address pull request feedback
2024-02-03 22:26:12 +01:00
Manuel cfd1c14034 Merge remote-tracking branch 'origin/dev' into dev 2024-02-03 22:10:45 +01:00
Manuel f0fa0eb321 config: disable dependency dashboard 2024-02-03 22:10:21 +01:00
ManuelandRenovate Bot e9c6583d21 chore(deps): update dependency @types/react to ^18.2.52 (#18)
Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
2024-02-03 22:09:11 +01:00
Manuel 3e2bc9df0e config: remove renovate workflow 2024-02-03 22:06:40 +01:00
Manuel c736f17f14 config: disable auto discover 2024-02-03 21:59:49 +01:00
Manuel 39b4e761de config: migrate renovate config 2024-02-03 21:56:58 +01:00
Manuel 89311c44a0 config: remove docker properties renovate 2024-02-03 21:53:15 +01:00
Manuel b678401020 config: add base branch to renovate 2024-02-03 21:50:55 +01:00
Manuel f12192e6f2 config: add renovate CI 2024-02-03 21:50:08 +01:00
Manuel 3724071fcb docs: update funding 2024-02-03 21:39:25 +01:00
Manuel b671f68b13 config: add deployment workflow (#8) 2024-02-03 21:30:45 +01:00
Manuel 5812a6bd97 Version 0.14.5 2024-02-03 18:30:20 +01:00
Manuel 824f4b8acc fix: #1859 dayjs locale translation (#1868) 2024-02-03 16:38:56 +01:00
Thomas Camlong a6ea9ac333 chore: new Crowdin updates (#1869) 2024-02-03 16:38:39 +01:00
Meier Lukas 1740450648 feat: Add widget integration option (#14)
* wip: add widget integrations

* feat: Add integration option to widgets

* feat: Add translation for widget integration select

* fix: formatting issue

* chore: address pull request feedback
2024-02-03 10:24:39 +01:00
Manuel a87bda7810 chore: increase version (#1867) 2024-01-31 20:18:39 +01:00
Thomas Camlong a8f00f5242 chore: new Crowdin updates (#1862) 2024-01-31 20:11:18 +01:00
Manuel 6268db182e fix: #1805 remove server prefetching docker (#1860) 2024-01-31 07:51:38 +01:00
Manuel 6f077f1c5e fix: remove console log (#1861) 2024-01-28 21:19:41 +01:00
Manuel ff21033b0c fix: rss widget post sorting (#1855) 2024-01-28 21:15:46 +01:00
Manuel 6fdf1dfaa8 feat: #1835 copy apps (#1854) 2024-01-28 21:15:08 +01:00
Thomas Camlong f1e0b9236c config: new crowdin updates (#1834) 2024-01-27 22:12:04 +01:00
Julian 4da75134ed feat: add video background support (#1839) 2024-01-25 17:45:26 +01:00
Dennis Vesterlund 957ba4e058 fix: schemas for lights attributes in home assistant entity widget 2024-01-25 17:38:28 +01:00
Manuel 732ef95bd9 config: update stale.yml (#1847) 2024-01-25 17:34:24 +01:00
Meier Lukas 3a0f280984 chore: update dependencies (#13)
* chore: update dependencies

* chore: update nextauth dependency to beta 5

* chore: fix formatting
2024-01-23 21:49:47 +01:00
Manuel 37d728cc83 chore: merge version 0.14.4 from ajnart/dev 2024-01-16 20:45:14 +01:00
Thomas Camlong 7fb8a18a1e chore: new Crowdin updates (#1824) 2024-01-16 20:34:33 +01:00
Manuel 0dc16977a5 fix: attempt to fix ping redirects (#1829) 2024-01-16 20:23:22 +01:00
Manuel ffc9387edb fix: remove max redirects from ping (#1828) 2024-01-16 20:14:52 +01:00
Manuel b911e8b56f fix: http ping agent (#1826) 2024-01-16 19:44:02 +01:00
Manuel 52ca28d0ec fix: #1734 fix local icons path (#1821) 2024-01-15 21:40:45 +01:00
Thomas Camlong 684ce37f4d config: new Crowdin updates (#1820) 2024-01-15 21:31:58 +01:00
Manuel 5bae5bf04d refactor: optimize imports (#1822) 2024-01-15 17:16:13 +01:00
Manuel c701f723cf feature: add trpc openapi (#1818) 2024-01-14 22:20:51 +01:00
Thomas Camlong 33da630db5 config: new Crowdin updates (#1772) 2024-01-14 14:10:59 +01:00
Manuel e57af4ae10 revert: #1714 migrate to axios.get (#1819) 2024-01-14 14:09:08 +01:00
Manuel c7992260f0 feature: board operations (#1800) 2024-01-13 22:52:44 +01:00
Manuel 6717bcf8b4 feature: rss improvements (#1810) 2024-01-11 19:19:59 +01:00
Tagaishi 60bca7412c feat: improve admin security on dnshole controls (#1686) 2024-01-11 19:04:41 +01:00
Manuel bd280d171b chore: increase version (#1811) 2024-01-11 19:02:06 +01:00
anonysoul 0089d396c4 fix: database is not initialized inside the docker container (#1806) 2024-01-11 18:11:09 +01:00
Manuel c4669ca516 feature: #1765 reduce transferred torrent data (#1798) 2024-01-11 18:10:30 +01:00
Manuel 35e8c76120 feature: trigger automations (#1799) 2024-01-11 17:49:27 +01:00
Marek Tancak 6d6750c665 feat: add availability information about media requests (#1794) 2024-01-09 20:56:57 +01:00
Thomas Camlong 209119f14c Merge pull request #1796 from StefanB7/sb/fix_link_after_user_creation 2024-01-07 10:39:54 +01:00
Stefan Buys a99555c1d0 Fixes documentation links 2024-01-07 08:18:13 +02:00
Manuel e208693806 refactor: improve torrent table design (#1786) 2024-01-03 21:54:42 +01:00
Meier Lukas 81d35656ba refactor: move integration pages to main directory for main layout 2024-01-03 06:04:42 +01:00
Meier Lukas 367beb6759 feat: add crud for integrations (#11)
* wip: add crud for services and integrations

* feat: remove services

* feat: move integration definitions to homarr/definitions, add temporary test connection solution without actual request

* feat: add integration count badge

* feat: add translation for integrations

* feat: add notifications and translate them

* feat: add notice to integration forms about test connection

* chore: fix ci check issues

* feat: add confirm modals for integration deletion and secret card cancellation, change ordering for list page, add name property to integrations

* refactor: move revalidate path action

* chore: fix ci check issues

* chore: install missing dependencies

* chore: fix ci check issues

* chore: address pull request feedback
2024-01-02 17:12:26 +01:00
Manuel 2809e01b03 feat: add management pages (#12) 2024-01-02 16:49:02 +01:00
Meier Lukas 782897527f feat: add widget preview pages (#9)
* feat: add widget definition system

* fix: wrong typecheck command in turbo generator

* chore: fix formatting

* feat: add widget preview page

* chore: fix formatting and type errors

* chore: fix from widget edit modal and remove some never casts

* chore: address pull request feedback
2024-01-02 15:36:59 +01:00
Meier Lukas fa19966fcc chore: restructure packages of the project (#7)
* chore: restructure validation package

* chore: move zod only to validation package

* chore: rename packages from alparr to homarr

* chore: move mantine core, dates and icons library to ui package, move most other mantine packages to seperate packages for further customization and centralization

* chore: fix formatting

* fix: wrong typecheck command in turbo generator

* chore: fix formatting

* chore: address pull request feedback

* chore: fix ci check issues
2024-01-02 14:18:37 +01:00
Meier Lukas 514d4a145d Merge pull request #1775 from stark1tty/patch-1
Updated dead installation links in README.md
2024-01-01 11:35:23 +01:00
Nika Shilobod c1d0299c40 Update README.md
updated installation instruction links from https://homarr.dev/docs/introduction/installation to https://homarr.dev/docs/getting-started/installation/
2024-01-01 06:44:02 +00:00
Manuel b4a8d47636 version 0.14.3 2023-12-31 12:37:23 +01:00
ajnart a68f8424f5 Update tests 2023-12-31 12:07:39 +01:00
Thomas Camlong eba4dd3b9d Merge pull request #1773 from ajnart/docker-onboarding-fix 2023-12-31 11:58:00 +01:00
Thomas Camlong 745adb3a95 Merge branch 'dev' into docker-onboarding-fix 2023-12-31 11:42:56 +01:00
ajnart c83b04dfc0 Refactor Docker integration in board page 2023-12-31 11:25:21 +01:00
Manuel a3948430ed chore: increase version in package.json (#1771) 2023-12-30 22:11:05 +01:00
Manuel 108803ae2a fix: outdated config schema (#1769) 2023-12-30 21:54:48 +01:00
Thomas Camlong b9a5b5ed09 chore: new Crowdin updates (#1770) 2023-12-30 21:46:01 +01:00
Manuel 159ba4b1c3 config: greetings (#1753) 2023-12-30 21:42:48 +01:00
Manuel 0a929a93a3 config; stale action (#1752) 2023-12-30 21:42:30 +01:00
Thomas Camlong e9100fce91 Update FUNDING.yml (#1768) 2023-12-30 21:41:49 +01:00
Thomas Camlong 082077ec9d feat: import to docker form board, docker button on boards (#1714) 2023-12-30 20:11:38 +01:00
Tagaishi e13a4afdde feat: remove location based timezone resolving (#1680) 2023-12-30 20:09:17 +01:00
ajnart f20c209c94 Address PR comments 2023-12-29 17:59:19 +01:00
Thomas Camlong f9c9f23b0c Update overseerr.ts 2023-12-29 17:57:32 +01:00
Thomas Camlong 19e65e0d08 config: new crowdin updates 2023-12-29 10:57:26 +01:00
Manuel b6b697cabd fix: umlaute in RSS (#1755) 2023-12-29 10:55:59 +01:00
Thomas Camlong fd3f8f317a config: update crowdin translations 2023-12-22 21:50:04 +01:00
Manuel 553fa98e61 ✨ #1616 better user management (#1748) 2023-12-20 10:18:24 +01:00
Meier Lukas a082f70470 feat: add next-international translations (#2)
* feat: add next-international translations
* chore: fix formatting
* chore: address pull request feedback
2023-12-19 23:09:41 +01:00
glebandGleb Fomichev 199b711324 Updated entityStateSchema to handle nullables (#1744)
Co-authored-by: Gleb Fomichev <gleb.fomichev@softswiss.com>
2023-12-17 18:06:51 +01:00
Meier Lukas 3cedb7fba5 feat: add credentials authentication (#1) 2023-12-10 17:12:20 +01:00
Meier Lukas 41e54d940b refactor: migrate to sqlite as database 2023-12-09 00:32:45 +01:00
Meier Lukas f6094c6ae2 chore: add ui package and custom theme colors 2023-12-08 23:47:55 +01:00
Meier Lukas 9ea96899b1 chore: rename local packages from acme to alparr 2023-12-08 23:13:46 +01:00
Meier Lukas d115779c85 chore: migrate from tailwind to mantine 2023-12-08 23:11:37 +01:00
Meier Lukas a2cedf73c0 Initial commit 2023-12-08 22:35:15 +01:00
TagaishiandThomas Camlong 976634a908 ⚡️ Improve code in manage layout page (#1681)
Co-authored-by: Thomas Camlong <ajnart@users.noreply.github.com>
2023-12-07 18:30:49 +01:00
Someone 217020154b feat: add filter and sorting functionality to torrents table 2023-12-07 18:28:28 +01:00
Tagaishi 51e96c0ccf ✨ Use gravatar with user email (#1688)
* ✨ Use gravatar with user email
2023-12-07 18:15:07 +01:00
Thomas Camlong d6af6af0b6 🐛 About page and manage user pages not translated (#1724) 2023-12-07 18:14:10 +01:00
Manuel fc38f7ab29 ✨ #1616 Recovery script in Docker container (#1726) 2023-12-04 13:06:14 +01:00
Thomas Camlong deee511f86 Fix unused function and enable user count check in
getServerSideProps
2023-12-02 12:41:07 +01:00
Thomas Camlong 48ca5352c9 Add client side reload of the config with the newly added apps 2023-11-27 00:14:41 +01:00
Thomas Camlong e2da8338e0 🚧 WIP on adding docker containers to boards 2023-11-26 23:24:03 +01:00
Thomas Camlong cca8be09cb Merge pull request #1709 from jeffersonraimon/patch-1 2023-11-26 22:32:11 +01:00
Jefferson J. Raimon 9bdd6a442e Update acceptableStatusCodes.ts
add 202 code
2023-11-25 16:28:21 -03:00
Manuel 15605e3f09 🔀 Version 0.14.2 2023-11-23 22:54:43 +01:00
Manuel dfcb899013 ✨ Stale time for entity state (#1702) 2023-11-23 22:21:34 +01:00
Manuel 5522abdfb6 🔖 Increase version (#1699) 2023-11-23 21:46:51 +01:00
Manuel 312e2c8297 ✨ #698 homeassistant widget (#1658) 2023-11-23 21:44:05 +01:00
Thomas Camlong 7f46fafbb9 🌐 New Crowdin updates (#1692) 2023-11-23 21:43:18 +01:00
Tagaishi 5a8a378a2e 🐛 Affix overlapping custom CSS box (#1687) 2023-11-21 18:34:01 +01:00
Thomas Camlong fe63c03372 🌐 New Crowdin updates (#1682) 2023-11-21 18:33:18 +01:00
ajnart c88cd3c05e 🚧 WIP on docker import feature 2023-11-20 13:37:58 +01:00
Meier Lukas eadfa4a10f ✨ Add support for installation in address bar (#1675) 2023-11-18 22:11:29 +01:00
Thomas Camlong 5aefd0962f New Crowdin updates (#1641) 2023-11-18 15:43:46 +01:00
tuxsudo da7c111438 Allow custom nextauth port (#1663) 2023-11-18 15:42:47 +01:00
ajnart 669d311b0c 🚧 WIP on Docker import group 2023-11-17 15:34:14 +01:00
Thomas Camlong 228c51299b Merge pull request #1651 from ajnart/fix-notebook-settings-overlapped 2023-11-15 20:54:40 +01:00
Thomas Camlong 57975f3030 Merge pull request #1652 from ajnart/fix-edit-mode-notification-link
🐛 Link to definition of screen sized for edit mode notification wrong
2023-11-15 09:08:57 +01:00
Thomas Camlong f4e737b4a1 Merge pull request #1654 from ajnart/add-licence-field-to-migration-package-json
🐛 Migrate package.json has no license field
2023-11-15 09:08:26 +01:00
Tagaishi a933406ef8 Merge pull request #1655 from No-Maines-Land/patch-1
Update GeneralTab.tsx
2023-11-15 08:40:46 +01:00
No-Maines-Land a30d6f6f7b Update GeneralTab.tsx 2023-11-15 01:03:38 -05:00
Meier Lukas 34074b1c92 🐛 Migrate package.json has no license field 2023-11-15 06:48:23 +01:00
Meier Lukas f7ab929bcb 🐛 Link to definition of screen sized for edit mode notification wrong 2023-11-15 06:44:07 +01:00
Meier Lukas 21dcde44a1 🐛 Notebook edit button placed above edit mode settings 2023-11-15 06:39:40 +01:00
Meier Lukas ccf0970226 Merge pull request #1628 from ajnart/dev
🔖 Release v0.14.1
2023-11-14 21:44:13 +01:00
Thomas Camlong 221c13d92f Merge pull request #1639 from ajnart/fix-flags 2023-11-14 21:16:23 +01:00
Thomas Camlong 4486d4b49d Merge branch 'dev' into fix-flags 2023-11-14 21:15:00 +01:00
Thomas Camlong 1ee17463c2 Merge pull request #1637 from ajnart/error-serialization-gssp 2023-11-14 21:13:25 +01:00
ajnart 687c7587df ♻️ Remove the checks for mounts 2023-11-14 21:11:41 +01:00
ajnart 6484ed5976 add country again 2023-11-14 21:10:04 +01:00
Meier Lukas 8ee28767fc 🐛 Fix build issue 2023-11-14 21:06:07 +01:00
Meier Lukas a2cfe8391e Remove mount check do to automatic mounting with Volume in Dockerfile 2023-11-14 20:58:08 +01:00
Meier Lukas de2a632a4e 🐛 Failed to stage 2023-11-14 20:52:22 +01:00
Meier Lukas f06dff7bb7 🐛 Add production environment check before checking mountpoint 2023-11-14 20:52:05 +01:00
Meier Lukas 7634062a85 🐛 Error object not compatible with json parsing of gssp 2023-11-14 20:43:59 +01:00
Meier Lukas a0efd01d43 🐛 Error object not compatible with json parsing of gssp 2023-11-14 20:42:17 +01:00
Thomas Camlong c9d1a12299 🐛 Copy default.json if it doesn't exist (#1636) 2023-11-14 20:31:39 +01:00
Thomas Camlong c6b945775a Merge pull request #1622 from Tagaishi/overseerr-link-in-search-fix 2023-11-14 20:04:55 +01:00
Thomas Camlong 6e6f435abc Merge pull request #1629 from ajnart/ssr/optimize 2023-11-14 20:04:25 +01:00
Thomas Camlong 12d531c258 New Crowdin updates (#1614) 2023-11-14 20:04:13 +01:00
Tagaishi de344ccea9 🐛 Remove notebook edit button for non admins (#1634)
* 🐛 Remove permission to modify text to non admins

* 🐛 notebook read only checks admin only

Fixed by @Tagaishi
2023-11-14 20:02:24 +01:00
Meier Lukas b05152abb1 🐛 File busy with node > 20.3 (#1630) 2023-11-13 21:48:29 +01:00
ajnart d2e7615345 🧪 Fix tests 2023-11-13 21:45:21 +01:00
Meier Lukas 404d73ebf7 🔖 Bumb version to 1.14.1 (#1627) 2023-11-13 20:50:35 +01:00
ajnart 5a563b3875 ✨ Improve boards page, show if Public/Restricted 2023-11-13 20:28:31 +01:00
ajnart e3e890f0a1 Update crowdin data 2023-11-13 20:20:35 +01:00
Tagaishi a1e8ffc367 🐛 Logo header size fix (#1625) 2023-11-13 20:07:00 +01:00
811d940f2b 🐳 Fix issues with dockerfile (#1611)
* Add `wait $PID` to be able to send SIG_ABORT

* Move to docker `entrypoint`

* Change default NEXTAUTH_URL

* Add `VOLUME` instruction

* corrected a typo

* 🐳 Fix docker TCP not working

Fixes Lost docker connection via TCP with 0.14.0 update #1577

* 🚧 Improve dockerfile and start script and fix permission issue by adding new user with permission to read / write to /data folder

* 🐛 Cleanup changes, Local db:migrate script not working, CI failed

* ✨ Image properties customization (#1590)

* 🌐 New Crowdin updates (#1572)

* ✨ Add notice page for readonly db

* Misc docker changes

* 🐳 Add `homarr` as `USER`

* 🐛 Unable to use user homarr because db.sqlite file is already owned by root

---------

Co-authored-by: Lumilias <10852161+Lumilias@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
Co-authored-by: Manuel <manuel.ruwe@bluewin.ch>
2023-11-13 20:04:44 +01:00
Tagaishi d2441ba86a 🐛 Overseerr link in search not working fix 2023-11-13 13:21:49 +01:00
Thomas Camlong a3ca74ab46 Merge pull request #1613 from benniblot/dev 2023-11-12 19:01:01 +01:00
ajnart 102bd5deee ⚗️ Try to drastically reduce page load time
by using TRPC server-side helpers :
https://trpc.io/docs/client/nextjs/server-side-helpers
2023-11-12 17:24:25 +01:00
Benjamin f3d24a62f5 fixed a bug that displayed a "," after the last item 2023-11-12 13:39:14 +00:00
Someone 3edd2b8ea2 Fixed typo (#1612)
The image is not repeated any may not fill the entire space (recommended) =>
The image is not repeated and may not fill the entire space (recommended)
2023-11-12 14:21:17 +01:00
Manuel 30378d299e fix: customize page crashing for invalid board (#1610) 2023-11-12 14:20:48 +01:00
Thomas Camlong 0437b63870 🌐 New Crowdin updates (#1572) 2023-11-12 13:37:54 +01:00
Manuel 27037c6f50 ✨ Image properties customization (#1590) 2023-11-12 13:37:32 +01:00
Thomas Camlong e900a7b07e 🐳 Improve dockerfile and start script and fix permission issue #1602 2023-11-12 13:37:01 +01:00
ajnart 173727c155 🐳 Fix docker TCP not working
Fixes Lost docker connection via TCP with 0.14.0 update #1577
2023-11-12 13:35:57 +01:00
Thomas Camlong c7b25ce21e Merge pull request #1603 from Lumilias/dev 2023-11-12 13:02:33 +01:00
Meier Lukas d7cdd6a30b 🐛 Cleanup changes, Local db:migrate script not working, CI failed 2023-11-12 11:20:22 +01:00
Lumilias e1b4d76133 corrected a typo 2023-11-11 18:55:58 -06:00
Meier Lukas 2a1f73345c 🚧 Improve dockerfile and start script and fix permission issue by adding new user with permission to read / write to /data folder 2023-11-12 01:02:26 +01:00
Meier Lukas e9aef74815 🐛 Placeholder width stretches out of screen (#1587) 2023-11-11 16:49:35 +01:00
Manuel b146a7e1e2 🐛 Allow anonymous condition for default board (#1588) 2023-11-11 16:47:21 +01:00
Meier Lukas 351aa47e47 🐛 Logo has no height and object-fit is not contain #1581 (#1584) 2023-11-11 15:34:50 +01:00
Meier Lukas 6753eeb822 🐛 Add rm commands before move command (#1586) 2023-11-11 15:34:30 +01:00
Thomas Camlong 82b292fce1 Merge pull request #1575 from ajnart/master 2023-11-10 23:40:14 +01:00
ajnart 2b3a4393f3 💚 Fix CI 2023-11-10 23:20:07 +01:00
ajnart 2f660dd992 💚 Fix CI 2023-11-10 23:18:57 +01:00
Thomas Camlong a3e7491d05 Merge pull request #1505 from ajnart/dev
Co-authored-by: Thomas Camlong <thomascamlong@gmail.com>
Co-authored-by: Tagaishi <Tagaishi@hotmail.ch>
Co-authored-by: Manuel <manuel.ruwe@bluewin.ch>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
Co-authored-by: Tobias Stadler <28538704+devtobi@users.noreply.github.com>
Co-authored-by: Henry Skrtich <1214484+hskrtich@users.noreply.github.com>
Co-authored-by: AuthorShin <a.saneie@yahoo.com>
Co-authored-by: Diogo Valentim <diogovalentte10@gmail.com>
Co-authored-by: Someone <10882916+InterN0te@users.noreply.github.com>
Co-authored-by: Spillebulle <46653946+Spillebulle@users.noreply.github.com>
Co-authored-by: Justijn Depover <justijndepover@gmail.com>
Fix locale for calendar and clock (#1330)
fix (#1375)
close modal on click when opened (#1396)
fix (#1401)
fix: stop triming traling slashes (#1435)
fixes #777
fix: trim media server url (#1438)
Fix miscellaneous console errors (#1418)
fixes (#1419)
Fix tiptap url CVE (#1459)
Fix allow guest issue (#1472)
Fix the leading slash when adding container via docker (#1478)
2023-11-10 23:06:14 +01:00
Manuel d7f785b374 config: update dockerfile path (#1571) 2023-11-10 22:43:22 +01:00
ajnart fe0042d466 🔥 Remove experimental header 2023-11-10 22:37:15 +01:00
ajnart 30f3897a80 🔧 Change default config colors 2023-11-10 22:23:06 +01:00
Manuel 786e6cae9b ⚰️ Update dead path (#1570) 2023-11-10 22:22:39 +01:00
ajnart 9d7a5abfd5 🔥 Remove experimental header 2023-11-10 21:52:19 +01:00
Thomas Camlong 45b9caf231 New Crowdin updates (#1569) 2023-11-10 21:23:07 +01:00
Thomas Camlong 04bf4914e7 Merge pull request #1568 from ajnart/feat/new-default-board 2023-11-10 21:20:02 +01:00
Manuel a0eb68782a feat: new default board 2023-11-09 21:27:23 +01:00
Thomas Camlong 545749a057 🐛 Refactor DateTile component to use API timezone (#1563)
and remove unused hook
2023-11-09 20:25:32 +01:00
Thomas Camlong 4316ffb27f ✨ Add scrollbar-gutter property to global styles (#1562) 2023-11-09 20:24:51 +01:00
Thomas Camlong 704ae1cbe4 🌐 New Crowdin updates (#1551) 2023-11-09 20:24:27 +01:00
Manuel 82c79c6591 🚑 Middleware crash (#1567) 2023-11-09 20:23:53 +01:00
ajnart 67eaada59b 📦 Rollback TS 2023-11-09 19:42:47 +01:00
ajnart 1984baf041 📦 Rollback TS 2023-11-09 19:40:41 +01:00
ajnart 3cdb1c3253 📦 Rollback TS 2023-11-09 19:36:25 +01:00
ajnart 50b21667bb 👷 Update CI 2023-11-09 18:11:29 +01:00
ajnart 694acafe21 🔥 Remove unused language country property 2023-11-09 03:28:17 +01:00
ajnart 886a48cd75 🔥 Refactor language list in language.ts 2023-11-09 03:28:02 +01:00
ajnart 4b350125c3 🔧 Change vscode config files 2023-11-09 03:27:13 +01:00
ajnart c5409e726d 📦 Update yarn lockfile 2023-11-09 03:14:40 +01:00
Thomas Camlong a95e773cb0 Merge pull request #1565 from ajnart/remove-unused 2023-11-09 03:10:27 +01:00
ajnart 1bf45b22f3 📌 Update TypeScript version to 5.2.2 in package.json
and yarn.lock
2023-11-08 20:51:40 +01:00
ajnart 231507dd76 re-launch ci 2023-11-08 20:46:43 +01:00
ajnart a36813da39 Refactor middleware.ts by removing 'process' 2023-11-08 20:41:36 +01:00
ajnart ce30bffb6a ⚰️ Remove unused translations files and packages 2023-11-08 20:41:09 +01:00
Thomas Camlong 080eb1b369 Merge pull request #1560 from ajnart/re-onboard-renovate
🔧 Remove Renovate configuration from package.json
2023-11-07 17:28:50 +01:00
ajnart 20584d0a98 🔧 Remove Renovate configuration from package.json 2023-11-07 17:28:19 +01:00
Thomas Camlong 6dd0570b2d Merge pull request #1559 from ajnart/remove-annoying-prints
🔇 Remove unnecessary console logs
2023-11-07 17:07:48 +01:00
ajnart 3c4f5efa05 🔇 Remove unnecessary console logs 2023-11-07 17:06:38 +01:00
Tagaishi 7f851fdd10 Merge pull request #1554 from InterN0te/dev-addRatio
Add Torrents ratio in Torrents Queue Widget
2023-11-07 12:36:43 +01:00
Someone 314ccc7a23 Fix info for displayRatioWithFilter switch 2023-11-07 12:15:56 +01:00
Someone bb92c564d6 Format code with VSC 2023-11-07 12:08:24 +01:00
SomeoneandTagaishi df2d7bebab Fix bad English
Co-authored-by: Tagaishi <Tagaishi@hotmail.ch>
2023-11-07 11:48:51 +01:00
SomeoneandTagaishi ff582e5dcb More readable code
Co-authored-by: Tagaishi <Tagaishi@hotmail.ch>
2023-11-07 11:46:32 +01:00
Thomas Camlong d63b6d8ea8 Merge pull request #1539 from ajnart/about-page
Turn about modal into a static page
2023-11-07 09:57:25 +01:00
ajnart 8ad2111e45 Add i18n-ally settings for React-i18next 2023-11-07 09:55:49 +01:00
ajnart 504a290f67 💡 Add title to About page 2023-11-07 09:55:29 +01:00
Tagaishi b23c2c1933 Merge pull request #1556 from Tagaishi/media-request-wrapping-fix
🐛 Media Request wrapping fix with line clamp
2023-11-07 05:52:23 +01:00
Tagaishi cd4dfb1707 🐛 Media Request wrapping fix with line clamp 2023-11-06 06:13:35 +01:00
Tagaishi f76c9f1d68 Merge pull request #1553 from InterN0te/patch-1
Use dynamic conversion for Torrent DownloadSpeed and UploadSpeed
2023-11-06 04:13:01 +01:00
Tagaishi 5dcdeab21c Merge pull request #1534 from InterN0te/master-showActiveTorrent
Add an option to show active torrents when completed torrents are hidden in Torrent Queue widget
2023-11-06 04:11:34 +01:00
Someone 17871f62f5 Fixed test
Export getTorrentsRatio function to be called in test
2023-11-06 02:38:52 +01:00
Someone 7a81742a19 Remove test from other PR 2023-11-06 02:34:45 +01:00
Someone 69d1e4e491 Add Calcul ratio test 2023-11-06 02:28:07 +01:00
Someone c8dc3abab6 Rename fonction to more explicite name 2023-11-06 01:54:55 +01:00
Someone 8abec93aad Update torrents-status.json
Fix label and description
2023-11-06 01:51:55 +01:00
Someone 37191b971b Used label filter only if necessary 2023-11-06 00:18:24 +00:00
Someone 8495d5b165 Added global ratio (only selected labels) and filtered torrents list ratio 2023-11-06 00:15:20 +00:00
ajnart 2f15fe68d0 🐛 Remove opacity from credits button 2023-11-05 17:52:40 +01:00
Someone 2d28ecc990 Use dynamic unit for Torrent DownloadSpeed and UploadSpeed
Use humanFileSize to display Torrent DownloadSpeed and UploadSpeed
2023-11-05 17:39:37 +01:00
Someone 390d4e7522 Switch speedLimitOfActiveTorrents to camel case 2023-11-03 21:05:16 +00:00
Someone f07d5f798c Revert "Switch to CamelCase for DisplayActiveTorrents var"
This reverts commit c6c2dbd061.

Revert : Wrong case used
2023-11-03 21:02:45 +00:00
Someone c6c2dbd061 Switch to CamelCase for DisplayActiveTorrents var 2023-11-03 20:41:54 +00:00
Thomas Camlong f4a4b3c252 🌐 New Crowdin updates (#1531) 2023-11-03 21:15:08 +01:00
Tagaishi 4f0be52fe9 ✨ Notebook Add Advanced Controls (#1452)
* 💄 Reduce notebook widget min width to fit sidebar

* ✨ Highlight and text align controls

* ✨ Notebook Image support

* ✨ Notebook text coloring support

* ✨ Notebook Image resize support

* ✨ Notebook Advanced Highlight and Text Coloring

* ✨ TaskList and lists indentations (not finished)

* ⬆️ Updated tiptap components to 2.1.12

* 🐛 notebook content not updating

* ✨Cancel Edit function + 🐛onReadOnlyCheck bug fix

* ✨ Notebook Table

* 🚧 Tweaks

* 🌐 Added Translations

* 🐛 Fix notebook table column resize

* 🌐 Replace common translations

* ✨ Notebook Underline, default text change
2023-11-03 21:14:29 +01:00
Tagaishi 5eb4365a59 ✨ Auto handle sonarr and radarr API differences (#1548) 2023-11-03 21:07:37 +01:00
Justijn Depover 388a856a42 Update default.json with typo (#1547) 2023-11-03 20:57:53 +01:00
Tagaishi 832276e80e Revert "Fix torrent speeds unit"
This reverts commit b60be13ab9.
2023-11-02 11:35:17 +01:00
Someone b60be13ab9 Fix torrent speeds unit 2023-11-02 10:41:42 +01:00
Tagaishi 521d47f41c Merge pull request #1546 from Spillebulle/Spillebulle
Fixed Typos
2023-11-02 10:23:58 +01:00
Spillebulle ce6cefdc1d Update general.json
Reverted Swedish changes
2023-11-02 10:11:01 +01:00
Someone 982bb557a3 Renamed option "Display active torrents"
Removed change in public/locales/fr/modules/torrents-status.json
2023-11-02 08:44:46 +00:00
Spillebulle c37c5f9347 Fixed Typos 2023-11-02 07:37:44 +01:00
Thomas Camlong 6428944908 Merge pull request #1509 from diogovalentte/dev
feat: add support for default ports on http(s) protocols on download.ts
2023-11-01 23:12:16 +01:00
Thomas Camlong 242c1b9410 Merge pull request #1545 from ajnart/add-czech
Add-czech
2023-11-01 23:11:29 +01:00
ajnart 6ca364dc95 🔧 Update crowdin.yml config file 2023-11-01 23:10:47 +01:00
ajnart 90800e539d 🌐 Add Czech 2023-11-01 23:10:28 +01:00
Thomas Camlong 5c8155b0d7 Merge pull request #1541 from InterN0te/dev-fixTorrentSpeed-Mb-MB
Fix Mb/s / MB/s conversion error in torrents speed
2023-11-01 22:59:41 +01:00
Someone 04e8c03482 Update TorrentQueueItem.tsx 2023-11-01 13:46:08 +01:00
ajnart 173db1876d Add add app event 2023-11-01 12:00:56 +01:00
ajnart 67a81a97db 🐛 Fix locales 2023-11-01 03:28:41 +01:00
ajnart 58e57492e2 ✨ Completely rework the about page 2023-11-01 02:53:39 +01:00
Someone 33fa6cfafe Fixed torrent upload speed comparison to consider it active
Torrent.uploadSpeed is already in Bytes/s, no need to multiple SpeedLimitOfActiveTorrents by 8
See PR #1273 and Issue #488
2023-11-01 00:25:56 +00:00
Someone 534318f74c Update en/.../torrents-status.json
Fix English unit for Megabytes per second
2023-11-01 01:11:12 +01:00
ajnart 6f12863863 Merge branch 'dev' into about-page 2023-10-31 23:48:37 +01:00
ajnart ea8c8ffee2 🚧 WIP on about page 2023-10-31 23:48:24 +01:00
Manuel e991bcd394 🐛 Access callback conditions (#1536) 2023-10-31 19:04:59 +01:00
Someone b135063f5e Add option to set uploadspeed limit to consider torrents as active 2023-10-31 15:31:08 +00:00
Someone ae11d5d84f Update TorrentTile.spec.ts to fix test 2023-10-31 15:44:10 +01:00
Someone 2c019e12d6 Add an option to show active torrents when
completed torrents are hidden
2023-10-31 11:23:26 +00:00
Thomas Camlong 780bfd6292 🐛 Use session lanugage instead of locale for crowdin live-translate 2023-10-31 10:32:55 +01:00
Thomas Camlong f776630b09 🐛 Use session lanugage instead of locale for crowdin live-translate 2023-10-31 10:21:24 +01:00
Thomas Camlong 493711cf7b 🐛 Remove emoji field in language.ts 2023-10-31 10:00:53 +01:00
Thomas Camlong bb76d51655 🐛 fix crossOrigin spelling 2023-10-31 09:55:23 +01:00
Thomas Camlong 9c7cdaff39 Merge pull request #1526 from ajnart/crowdin-live-translate 2023-10-31 09:51:43 +01:00
Thomas Camlong dca6d3363f Merge branch 'dev' into crowdin-live-translate 2023-10-31 09:18:57 +01:00
Thomas Camlong 41512fccb5 Merge pull request #1432 from Tagaishi/common-troubleshoot-and-auto-handling 2023-10-31 09:17:46 +01:00
Thomas Camlong 70355b2193 Merge pull request #1528 from ajnart/crossorigin/auth 2023-10-31 09:16:19 +01:00
Thomas Camlong 0b2408ae09 Merge pull request #1518 from ajnart/add-chinese-traditional 2023-10-31 09:14:26 +01:00
Thomas Camlong 3d90a8b44b 🌐 Update Chinese language mappings 2023-10-31 09:14:02 +01:00
Thomas Camlong fc969e5042 New Crowdin updates (#1529)
Add Chinese traditional and Crowdin pseudo language (CR)
2023-10-31 09:12:59 +01:00
Thomas Camlong 4a47009aec Update CommonHead.tsx with crossorigin="use-credentials" 2023-10-31 01:00:15 +01:00
Thomas Camlong 1ad761f217 🌐 Update Chinese language mappings 2023-10-31 00:52:44 +01:00
Thomas Camlong 0da6112913 Merge pull request #1527 from ajnart/revert-1519-feature/local-weather-fetch 2023-10-31 00:32:13 +01:00
Thomas Camlong 66f0368183 Revert "✨ Fetch the weather using a local request instead of a server-side one" 2023-10-31 00:31:59 +01:00
Thomas Camlong 53ef4a0579 ✨ Add crowdin live-translate feature! 2023-10-31 00:21:01 +01:00
Thomas Camlong 181193bdf8 Merge pull request #1525 from ajnart/update-crowdin
Fix crowdin links
2023-10-30 21:57:14 +01:00
Thomas Camlong 925fbd8ad3 🚨Fix compilation errors 2023-10-30 21:46:20 +01:00
Thomas Camlong dda5b66a98 Fix crowdin links 2023-10-30 20:28:39 +01:00
Thomas Camlong 9a2268bac6 Merge pull request #1521 from ajnart/cleanup/remove-docker
⚰️ Remove docker on index page
2023-10-30 20:02:39 +01:00
Thomas Camlong 9e2876c638 Merge pull request #1522 from ajnart/1504-allow-image-caching-using-nextimage
Fix walks repo using github
2023-10-30 20:02:15 +01:00
Thomas Camlong b7bd877629 Merge pull request #1520 from ajnart/fix-walkx/jsdelivr
🐛 Fix walks repository not up to date
2023-10-30 20:01:37 +01:00
Thomas Camlong a2e562a675 Update src/tools/server/images/github-icons-repository.ts 2023-10-30 20:00:36 +01:00
Tagaishi 503b5b0b35 💄 Moved button 💬 Added troubleshoot steps 2023-10-30 19:57:44 +01:00
Thomas Camlong 3d6fa44897 Merge pull request #1519 from ajnart/feature/local-weather-fetch
✨ Fetch the weather using a local request instead of a server-side one
2023-10-30 19:56:49 +01:00
Thomas Camlong a957db7def ⚰️ Remove docker on index page 2023-10-30 18:55:45 +01:00
Tagaishi 2ad693a498 Merge branch 'dev' of https://github.com/ajnart/homarr into common-troubleshoot-and-auto-handling 2023-10-30 18:55:05 +01:00
Thomas Camlong 6273af503b 🐛 Fix walks repository not up to date 2023-10-30 16:24:48 +01:00
Thomas Camlong 92ffce1b3b 🐛 Fix walks repository not up to date 2023-10-30 16:19:17 +01:00
Thomas Camlong 7ba9065fb7 ✨ Fetch the weather using a local request instead of a server-side one
This allows for request caching on the disk using node's fetch
2023-10-30 15:15:33 +01:00
Thomas Camlong 2e481e2103 🐛 await for GeoTz in timezone finder 2023-10-30 15:04:21 +01:00
Thomas Camlong 2c4560d13a Add Chinese traditional as zh-tw 2023-10-30 13:58:37 +01:00
Thomas Camlong 9d334e23c8 🐛 Fix RSS widget description 2023-10-30 13:57:40 +01:00
Thomas Camlong 4aa09b7e95 🐛 Fix unknown country in tRPC citySchema 2023-10-30 13:57:09 +01:00
Thomas Camlong 4d716bbcaf Merge pull request #1517 from Tagaishi/clock-timezone-named-offset-fix
🐛Clock fix timezone named offset format for dayjs
2023-10-30 13:22:38 +01:00
Tagaishi d97850aaad 🐛Clock fix timezone named offset format for dayjs 2023-10-30 03:07:38 +01:00
Tagaishi ac3c088492 🐛 adguard removed max test on process time (#1512) 2023-10-28 20:01:14 +02:00
Manuel 5b3a236194 ✨ Add 401 page (#1508) 2023-10-27 23:10:42 +02:00
ajnart 4072ebc5a5 Header in manage layout redirects to /b/ now 2023-10-27 15:53:35 +02:00
Diogo Valentim 3a5cfc6585 feat: add support for default ports on http(s) protocols on downloads.ts 2023-10-26 22:29:03 -03:00
ajnart 6e250d6f34 🐛 Fix password strenght meter dissapearing 2023-10-26 13:44:30 +02:00
ajnart dff3ba5397 🐛 Add wget to docker image for healthcheck 2023-10-26 13:13:25 +02:00
Thomas Camlong 171be4b767 Merge pull request #1494 from ajnart/add-umami
Add-umami
2023-10-26 12:41:06 +02:00
Thomas Camlong a9144a9340 Merge branch 'dev' into add-umami 2023-10-26 12:40:46 +02:00
ajnart 70f130569b ✅ Update tests 2023-10-25 15:36:58 +02:00
ajnart 5ab0e5207b 💄 Prettier codebase 2023-10-25 15:29:45 +02:00
ajnart 01ab01d159 re-launch ci 2023-10-25 15:28:55 +02:00
ajnart b9fec7d445 🐛 Fix newVersionAvailable indicator 2023-10-25 15:22:21 +02:00
ajnart ea9c74ea11 Changes for demo purposes
Add login button to login page, demo mode env variable and fix update indicator
2023-10-25 15:18:40 +02:00
ajnart 7690572c7b 🐛 Fix bug with new version 2023-10-25 14:40:55 +02:00
ajnart 9d841043f4 Merge branch 'master' into dev 2023-10-25 14:14:51 +02:00
ajnart 30acb3eff3 Bumb version to v0.14.0 2023-10-25 14:14:16 +02:00
ajnart 6cb6d63516 Add new version indicator for users 2023-10-25 14:13:58 +02:00
ajnart ac3771ad7b Small changes to RSS widget and MediaRequest 2023-10-25 14:08:27 +02:00
Thomas Camlong c6a1992a87 Merge pull request #1491 from ajnart/fix-missing-translation-for-about
🐛 Common settings translation not included within all pages for about credits
2023-10-25 12:59:29 +02:00
Thomas Camlong 1c5aec9bb6 Merge pull request #1490 from ajnart/fix-transition-drawer-issue-navigation
🐛 Issue with navigation drawer transitionProps
2023-10-25 12:59:12 +02:00
Thomas Camlong 743d06b88e Merge branch 'dev' into add-umami 2023-10-25 12:58:44 +02:00
ajnart 77b2239987 📈 Fix env 2023-10-25 12:58:13 +02:00
Thomas Camlong cfe44569d9 Merge pull request #1489 from ajnart/fix-board-customize-affix
🐛 No validation messages when saving, Dirty state not reset, Wrong page title validation
2023-10-25 12:57:39 +02:00
Thomas Camlong 395c1909eb Merge pull request #1469 from Tagaishi/radarr-v5-poster-support
✨ Adds support for poster on Radarr v5's api
2023-10-25 12:53:06 +02:00
Thomas Camlong ce42acfe2f Merge pull request #1485 from ajnart/fix-missing-version-in-about
🐛 About version and dependencies not present
2023-10-25 12:52:21 +02:00
Thomas Camlong 0e5a55f586 Merge pull request #1486 from ajnart/fix-issue-with-user-settings
🐛 500 error when saving user settings, Language not applied after save of user preferences
2023-10-25 12:51:59 +02:00
Thomas Camlong e5197e6a59 Merge pull request #1487 from ajnart/background-image-issue
🐛 Background image not visible, remove background image from default config
2023-10-25 12:51:38 +02:00
ajnart 36a50de485 Fix optional env variable 2023-10-24 15:05:57 +02:00
ajnart b9a226f59c 📈 Add umami analytics using homarr.dev 2023-10-24 14:46:14 +02:00
ajnart 31aef6f3d9 Disable beforeunload event in dev 2023-10-24 13:47:22 +02:00
Meier Lukas fb4d4e4e8d 🐛 Common settings translation not included within all pages for about credits 2023-10-23 00:33:18 +02:00
Meier Lukas 0c2b54d833 🐛 Issue with navigation drawer transitionProps 2023-10-23 00:07:40 +02:00
Meier Lukas 87a273c092 🐛 No validation messages when saving, Dirty state not reset, Wrong page title validation 2023-10-23 00:01:16 +02:00
Meier Lukas 5d4c0cf293 🐛 Background image not visible, remove background image from default config 2023-10-22 23:44:15 +02:00
Meier Lukas 6f94d20ab4 🐛 500 error when saving user settings, Language not applied after saving user preferences 2023-10-22 23:30:20 +02:00
Meier Lukas 367d8253a4 🐛 About version and dependencies not present 2023-10-22 23:12:49 +02:00
Thomas Camlong fe0b34a6e4 New Crowdin updates (#1457) 2023-10-22 18:00:47 +02:00
Thomas Camlong f8dfa0d7f0 ✨ Improve customizations page load speed with SSR (#1477) 2023-10-22 18:00:16 +02:00
Thomas Camlong a41bee0d44 🐛 Fix the leading slash when adding container via docker (#1478) 2023-10-22 17:59:47 +02:00
Meier Lukas 6bcef9e24c 🐛 Issue with migrate script in docker (#1483) 2023-10-22 17:59:21 +02:00
Meier Lukas 0a98be4553 ✅ Add tests for invite router (#1456)
* ✅ Add test for invite router

* ✅ Add cleanup to invite-router tests, add tests for creation and deletion of invites

* ♻️ Fix typo

* ♻️ Remove nullish for limit of invite router all procedure
2023-10-18 20:41:59 +02:00
Meier Lukas d60cd2ed8d 🐛 Issue with migrate script for node 20 (#1467)
* 🐛 Issue with migrate script for node 20

* 🐛 Wrong database url in example env file
2023-10-18 20:40:54 +02:00
Meier Lukas b8fab01c0b Fix allow guest issue (#1472)
* 🐛 Issue with migrate script for node 20

* 🐛 Issue with allow guest check when default config not present
2023-10-18 20:39:23 +02:00
Tagaishi 62cb758db5 ✨ Adds support for poster on Radarr v5's api 2023-10-13 21:55:39 +02:00
Tagaishi 24024cc7f2 🎨 Added troubleshoot steps + external address "/" 2023-10-12 19:23:16 +02:00
Manuel f3f4f23718 🔒️ Fix tiptap url CVE (#1459) 2023-10-09 21:29:41 +02:00
Thomas Camlong 2b5e2094fa 🌐 New Crowdin updates (#1433) 2023-10-08 12:12:44 +02:00
Meier LukasandThomas Camlong 1d50e2ce9a ♻️ Migrate from prisma to drizzle (#1434)
* ♻️ Migrate from prisma to drizzle
* 🐛 Build issue with CalendarTile
* 🚧 Temporary solution for docker container
* 🐛 Drizzle not using DATABASE_URL
* ♻️ Address pull request feedback
* 🐛 Remove console log of env variables
* 🐛 Some unit tests not working
* 🐋 Revert docker tool changes
* 🐛 Issue with board slug page for logged in users

---------

Co-authored-by: Thomas Camlong <thomascamlong@gmail.com>
2023-10-08 12:10:48 +02:00
Tagaishi 4945725702 🐛 DNS-Hole error handling and fixes (#1419)
* 🐛 Remove url requirement

* ⚡️ Ignore dnshole in widget when not contactable

* ✨ Error tile for dns-control instead of load loop
2023-10-08 11:47:31 +02:00
Tagaishi 4e036315ba 🐛 Fix miscellaneous console errors (#1418)
* 🐛 Bookmark widget key fix

* 🐛 Media request list widget key fix

* 🐛 media server widget key fix

* 🐛 Remove "hasNextLevel" error
2023-10-08 11:46:18 +02:00
Manuel a7655b6348 🐛 Database error with readonly mappings (#1420)
* 🐛 Database error with readonly mappings

* ♻️ PR feedback
2023-10-08 11:45:30 +02:00
AuthorShin a6be5fa380 Update weather.json (#1440)
Typo fixed

Just changed "An error occured" to "An error occurred"
2023-10-08 11:43:37 +02:00
Manuel b770b88834 fix: trim media server url (#1438) 2023-09-30 12:42:53 +02:00
Meier Lukas 32e40f3342 🐛 Remove DISABLE_EDIT_MODE and replace with admin-procedure (#1439) 2023-09-30 00:30:55 +02:00
Tagaishi 6c43a19fa1 💄Allow user to make video stream smaller than 2*3 (#1430) 2023-09-28 19:47:13 +02:00
Henry Skrtich 4006c69f5b fix: stop triming traling slashes (#1435)
fixes #777
2023-09-28 19:19:44 +02:00
Thomas Camlong a6c7fbc1ef Update step-onboarding-finished.tsx (#1437) 2023-09-28 19:18:59 +02:00
Thomas Camlong 76090c8485 New Crowdin updates (#1383)
* New translations general.json (Latvian)

* New translations zod.json (Latvian)

* New translations preferences.json (Latvian)

* New translations header.json (Latvian)

* New translations common.json (Latvian)

* New translations customize.json (Latvian)

* New translations manage.json (Latvian)

* New translations boards.json (Latvian)

* New translations index.json (Latvian)

* New translations invites.json (Latvian)

* New translations invite.json (Latvian)

* New translations create.json (Latvian)

* New translations users.json (Latvian)

* New translations docker.json (Latvian)

* New translations password-requirements.json (Latvian)

* New translations access.json (Latvian)

* New translations common.json (LOLCAT)

* New translations calendar.json (LOLCAT)

* New translations page-appearance.json (LOLCAT)

* New translations login.json (LOLCAT)

* New translations general.json (LOLCAT)

* New translations zod.json (LOLCAT)

* New translations preferences.json (LOLCAT)

* New translations header.json (LOLCAT)

* New translations common.json (LOLCAT)

* New translations customize.json (LOLCAT)

* New translations manage.json (LOLCAT)

* New translations boards.json (LOLCAT)

* New translations index.json (LOLCAT)

* New translations invites.json (LOLCAT)

* New translations invite.json (LOLCAT)

* New translations create.json (LOLCAT)

* New translations users.json (LOLCAT)

* New translations docker.json (LOLCAT)

* New translations password-requirements.json (LOLCAT)

* New translations access.json (LOLCAT)

* New translations common.json (German)

* New translations login.json (German)

* New translations general.json (German)

* New translations zod.json (German)

* New translations preferences.json (German)

* New translations header.json (German)

* New translations common.json (German)

* New translations customize.json (German)

* New translations manage.json (German)

* New translations boards.json (German)

* New translations index.json (German)

* New translations invites.json (German)

* New translations invite.json (German)

* New translations create.json (German)

* New translations users.json (German)

* New translations docker.json (German)

* New translations password-requirements.json (German)

* New translations common.json (Turkish)

* New translations login.json (Turkish)

* New translations general.json (Turkish)

* New translations zod.json (Turkish)

* New translations preferences.json (Turkish)

* New translations header.json (Turkish)

* New translations common.json (Turkish)

* New translations customize.json (Turkish)

* New translations manage.json (Turkish)

* New translations boards.json (Turkish)

* New translations index.json (Turkish)

* New translations invites.json (Turkish)

* New translations invite.json (Turkish)

* New translations create.json (Turkish)

* New translations users.json (Turkish)

* New translations docker.json (Turkish)

* New translations password-requirements.json (Turkish)

* New translations access.json (Turkish)

* New translations dns-hole-controls.json (Slovak)

* New translations access.json (German)

* New translations common.json (Slovak)

* New translations login.json (Slovak)

* New translations general.json (Slovak)

* New translations zod.json (Slovak)

* New translations preferences.json (Slovak)

* New translations header.json (Slovak)

* New translations common.json (Slovak)

* New translations customize.json (Slovak)

* New translations manage.json (Slovak)

* New translations boards.json (Slovak)

* New translations index.json (Slovak)

* New translations invites.json (Slovak)

* New translations invite.json (Slovak)

* New translations create.json (Slovak)

* New translations users.json (Slovak)

* New translations docker.json (Slovak)

* New translations password-requirements.json (Slovak)

* New translations access.json (Slovak)

* New translations login.json (French)

* New translations header.json (French)

* New translations customize.json (French)

* New translations manage.json (French)

* New translations boards.json (French)

* New translations index.json (French)

* New translations invites.json (French)

* New translations invite.json (French)

* New translations create.json (French)

* New translations users.json (French)

* New translations dns-hole-controls.json (Russian)

* New translations login.json (Spanish)

* New translations header.json (Spanish)

* New translations common.json (Spanish)

* New translations customize.json (Spanish)

* New translations manage.json (Spanish)

* New translations boards.json (Spanish)

* New translations index.json (Spanish)

* New translations invite.json (Spanish)

* New translations create.json (Spanish)

* New translations users.json (Spanish)

* New translations calendar.json (Russian)

* New translations login.json (Russian)

* New translations general.json (Russian)

* New translations zod.json (Russian)

* New translations preferences.json (Russian)

* New translations header.json (Russian)

* New translations common.json (Russian)

* New translations customize.json (Russian)

* New translations manage.json (Russian)

* New translations boards.json (Russian)

* New translations index.json (Russian)

* New translations invites.json (Russian)

* New translations invite.json (Russian)

* New translations create.json (Russian)

* New translations users.json (Russian)

* New translations docker.json (Russian)

* New translations password-requirements.json (Russian)

* New translations access.json (Russian)

* New translations common.json (Swedish)

* New translations login.json (Swedish)

* New translations general.json (Swedish)

* New translations zod.json (Swedish)

* New translations header.json (Swedish)

* New translations preferences.json (Spanish)

* New translations header.json (Spanish)

* New translations boards.json (Spanish)

* New translations index.json (Spanish)

* New translations invites.json (Spanish)

* New translations create.json (Spanish)

* New translations users.json (Spanish)

* New translations access.json (Spanish)

* New translations common.json (Chinese Simplified)

* New translations login.json (Chinese Simplified)

* New translations header.json (Chinese Simplified)

* New translations common.json (Danish)

* New translations login.json (Danish)

* New translations general.json (Danish)

* New translations zod.json (Danish)

* New translations preferences.json (Danish)

* New translations header.json (Danish)

* New translations common.json (Danish)

* New translations customize.json (Danish)

* New translations manage.json (Danish)

* New translations boards.json (Danish)

* New translations index.json (Danish)

* New translations invites.json (Danish)

* New translations invite.json (Danish)

* New translations create.json (Danish)

* New translations users.json (Danish)

* New translations docker.json (Danish)

* New translations password-requirements.json (Danish)

* New translations access.json (Danish)

* New translations common.json (Hungarian)

* New translations login.json (Hungarian)

* New translations general.json (Hungarian)

* New translations zod.json (Hungarian)

* New translations preferences.json (Hungarian)

* New translations header.json (Hungarian)

* New translations common.json (Hungarian)

* New translations customize.json (Hungarian)

* New translations manage.json (Hungarian)

* New translations boards.json (Hungarian)

* New translations index.json (Hungarian)

* New translations invites.json (Hungarian)

* New translations invite.json (Hungarian)

* New translations create.json (Hungarian)

* New translations users.json (Hungarian)

* New translations docker.json (Hungarian)

* New translations password-requirements.json (Hungarian)

* New translations selector.json (French)

* New translations zod.json (French)

* New translations preferences.json (French)

* New translations header.json (French)

* New translations common.json (French)

* New translations customize.json (French)

* New translations manage.json (French)

* New translations boards.json (French)

* New translations invites.json (French)

* New translations create.json (French)

* New translations docker.json (French)

* New translations password-requirements.json (French)

* New translations access.json (French)

* New translations general.json (French)

* New translations common.json (French)

* New translations common-media-cards.json (French)

* New translations zod.json (French)

* New translations preferences.json (French)

* New translations boards.json (French)

* New translations index.json (French)

* New translations invites.json (French)

* New translations users.json (French)

* New translations docker.json (French)

* New translations invite.json (Chinese Simplified)

* New translations create.json (Chinese Simplified)

* New translations login.json (Chinese Simplified)

* New translations general.json (Chinese Simplified)

* New translations zod.json (Chinese Simplified)

* New translations preferences.json (Chinese Simplified)

* New translations header.json (Chinese Simplified)

* New translations common.json (Chinese Simplified)

* New translations customize.json (Chinese Simplified)

* New translations manage.json (Chinese Simplified)

* New translations boards.json (Chinese Simplified)

* New translations index.json (Chinese Simplified)

* New translations invites.json (Chinese Simplified)

* New translations create.json (Chinese Simplified)

* New translations users.json (Chinese Simplified)

* New translations docker.json (Chinese Simplified)

* New translations password-requirements.json (Chinese Simplified)

* New translations access.json (Chinese Simplified)

* New translations index.json (Spanish)

* New translations users.json (Spanish)

* New translations common.json (Spanish)

* New translations general.json (Spanish)

* New translations zod.json (Spanish)

* New translations users.json (Spanish)

* New translations docker.json (Spanish)

* New translations password-requirements.json (Spanish)

* New translations common.json (Hebrew)

* New translations login.json (Hebrew)

* New translations general.json (Hebrew)

* New translations zod.json (Hebrew)

* New translations header.json (Hebrew)

* New translations boards.json (French)

* New translations index.json (French)

* New translations invites.json (French)

* New translations zod.json (Hebrew)

* New translations preferences.json (Hebrew)

* New translations header.json (Hebrew)

* New translations common.json (Hebrew)

* New translations customize.json (Hebrew)

* New translations manage.json (Hebrew)

* New translations index.json (Hebrew)

* New translations invites.json (Hebrew)

* New translations invite.json (Hebrew)

* New translations create.json (Hebrew)

* New translations users.json (Hebrew)

* New translations docker.json (Hebrew)
2023-09-27 13:30:15 +02:00
Tagaishi 17103f3f5b 🐛 Change position selector's dropdown bug (#1429) 2023-09-26 21:17:55 +02:00
Manuel c1b3bc4337 🔀 Add basic authentication 2023-09-24 18:48:48 +02:00
Manuel 76008aa92b 🔒️ Fix regex security warning 2023-09-24 18:44:25 +02:00
Manuel 690c627f81 ✨ Add login redirection
* ✨ Add login redirection

* 🚑 Fix cross site scripting using server side regex validation

* ✅ Add unit test
2023-09-24 16:04:07 +02:00
Manuel 7d7fe6016b 🔀 Merge branch 'dev' into feature/add-basic-authentication 2023-09-23 20:32:17 +02:00
Tagaishi b44347311f 🐛 Return download speed instead of 0 for NZBGET (#1400) 2023-09-21 19:45:58 +02:00
Manuel b49d021daf ✨ Add allow anonymous switch 2023-09-21 19:45:30 +02:00
Meier Lukas 141c27cda7 ✨ Add autofocus for searchbar (#1408) 2023-09-18 19:30:22 +02:00
Tagaishi 4a30e327a3 🐛 Calendar indicator over header bar fix (#1401) 2023-09-17 16:17:28 +02:00
Tagaishi c777a774f7 ✨ Hide DNS-Hole control buttons option (#1384) 2023-09-15 18:17:46 +02:00
Tagaishi a3f364e67d 💄 Change media-server modal to popover (#1395) 2023-09-15 18:16:10 +02:00
Tagaishi 47e46a3a30 💄 Calendar close modal on click when opened (#1396) 2023-09-15 18:15:25 +02:00
Tagaishi 9b8263b8ec 💄 Replace hover with click and on the full row (#1397) 2023-09-15 18:12:42 +02:00
Tagaishi 4c67ee2902 💄 Added modal on usenet widget (#1398) 2023-09-15 18:11:40 +02:00
Tagaishi 3c015d297b ✨ Add common troubleshooting prompt on button 2023-09-11 02:58:05 +02:00
Tagaishi 331ce51085 ✨ Removes trailing slashes from URLs on save 2023-09-11 02:57:32 +02:00
Thomas Camlong 10a3898775 Merge pull request #1386 from devtobi/feature/dockerfile-healthcheck
🩺  Added healthcheck to image and ARG for port
2023-09-10 18:39:36 +02:00
Meier Lukas d05c0023cd ✨ Readd possibility to add containers as apps to boards (#1276) 2023-09-10 14:28:13 +02:00
Manuel f35f6debaf 🔀 Merge dev to auth branch 2023-09-10 13:38:53 +02:00
ajnart 9dd6654a5c Add more padding in onboarding 2023-09-10 11:35:00 +02:00
Tobias Stadler 5c499c87ab 🩺 Added healthcheck to image and ARG for port 2023-09-09 00:46:43 +02:00
Meier Lukas 735d6484e2 🔀 Merge 0.13.4 to master 2023-09-08 22:12:45 +02:00
Manuel 12230bd9e7 🌐 Merge pull request #1364 from ajnart/i10n_dev 2023-09-08 21:45:11 +02:00
Thomas Camlong 4cc9b2234c New translations calendar.json (Hebrew) 2023-09-08 07:10:29 +02:00
Thomas Camlong 12cf0ff94b New translations calendar.json (Chinese Simplified) 2023-09-08 05:08:35 +02:00
Thomas Camlong 25c2f8fa90 New translations calendar.json (Spanish) 2023-09-08 01:11:49 +02:00
Thomas Camlong 54a374a83d New translations calendar.json (Turkish) 2023-09-07 22:40:24 +02:00
Thomas Camlong f28df6aa9a New translations calendar.json (Swedish) 2023-09-07 22:40:23 +02:00
Thomas Camlong 36a613b6fe New translations calendar.json (German) 2023-09-07 22:40:22 +02:00
Thomas Camlong 06373bcc47 New translations calendar.json (Danish) 2023-09-07 22:40:21 +02:00
Manuel 4164b98967 🔖 Increase version to 0.13.4 (#1378) 2023-09-07 21:44:48 +02:00
Thomas Camlong f408aab5d3 New translations calendar.json (LOLCAT) 2023-09-07 21:38:11 +02:00
Thomas Camlong a553976869 New translations calendar.json (Latvian) 2023-09-07 21:38:10 +02:00
Thomas Camlong 13cbce6ba2 New translations calendar.json (Croatian) 2023-09-07 21:38:09 +02:00
Thomas Camlong 6ea84fcf38 New translations calendar.json (Portuguese, Brazilian) 2023-09-07 21:38:08 +02:00
Thomas Camlong 2c5b08e0fe New translations calendar.json (Vietnamese) 2023-09-07 21:38:07 +02:00
Thomas Camlong 6cb6d8139f New translations calendar.json (Chinese Simplified) 2023-09-07 21:38:06 +02:00
Thomas Camlong 831ebfd1a9 New translations calendar.json (Ukrainian) 2023-09-07 21:38:05 +02:00
Thomas Camlong 5efbdd4913 New translations calendar.json (Turkish) 2023-09-07 21:38:04 +02:00
Thomas Camlong 3c63388c6e New translations calendar.json (Swedish) 2023-09-07 21:38:03 +02:00
Thomas Camlong aa2d46e805 New translations calendar.json (Slovenian) 2023-09-07 21:38:02 +02:00
Thomas Camlong 50d13e97ee New translations calendar.json (Slovak) 2023-09-07 21:38:01 +02:00
Thomas Camlong 0bd535543f New translations calendar.json (Russian) 2023-09-07 21:38:00 +02:00
Thomas Camlong 197d11bb57 New translations calendar.json (Polish) 2023-09-07 21:37:59 +02:00
Thomas Camlong a0a6886744 New translations calendar.json (Norwegian) 2023-09-07 21:37:58 +02:00
Thomas Camlong 4a25da9ad6 New translations calendar.json (Dutch) 2023-09-07 21:37:57 +02:00
Thomas Camlong 9c7045986e New translations calendar.json (Korean) 2023-09-07 21:37:56 +02:00
Thomas Camlong c3704718a1 New translations calendar.json (Japanese) 2023-09-07 21:37:55 +02:00
Thomas Camlong a93e031f95 New translations calendar.json (Italian) 2023-09-07 21:37:55 +02:00
Thomas Camlong 5b36ac1bad New translations calendar.json (Hungarian) 2023-09-07 21:37:53 +02:00
Thomas Camlong b269c7ce6d New translations calendar.json (Hebrew) 2023-09-07 21:37:52 +02:00
Thomas Camlong bf6353482e New translations calendar.json (Greek) 2023-09-07 21:37:51 +02:00
Thomas Camlong 86b5368e96 New translations calendar.json (German) 2023-09-07 21:37:50 +02:00
Thomas Camlong 3d4308026d New translations calendar.json (Danish) 2023-09-07 21:37:49 +02:00
Thomas Camlong ed043ccd43 New translations calendar.json (Spanish) 2023-09-07 21:37:48 +02:00
Thomas Camlong dc52a8ce5e New translations calendar.json (French) 2023-09-07 21:37:48 +02:00
Thomas Camlong 39c16c3d29 ✨ Add a toggle to show unmonitored items in *Arr (#1371) 2023-09-07 21:36:15 +02:00
Tagaishi 3ede6219ef 🐛 rewrite url from headers (#1369) 2023-09-07 21:35:55 +02:00
Tagaishi 7b2c0d63f3 🐛 env.port reporting NaN bug fix (#1375) 2023-09-07 21:35:28 +02:00
Tagaishi 3120949a7e ⬇️ next js 13.4.19 to 13.4.12 (#1376) 2023-09-07 21:34:04 +02:00
Meier Lukas 391c074ef9 ✅ Add tests for some tools functions (#1377)
* ✅ Add tests for some tools functions

* 🐛 Build issue with language definition
2023-09-07 21:32:29 +02:00
Meier Lukas 7b2ce22bca ♻️ Address pull request feedback 2023-09-07 19:56:14 +02:00
Tagaishi 89cfb1ae5d 🐛 add new tab to item (#1362) 2023-09-07 07:36:38 +02:00
Tagaishi 8cfd5c6d73 ⬇️ next 13.4.19 to 13.4.12 (#1370) 2023-09-07 07:34:49 +02:00
Thomas Camlong e35fbe659e New translations cache-buttons.json (Russian) 2023-09-06 22:03:50 +02:00
Thomas Camlong a851327554 New translations edit-mode-toggle.json (Russian) 2023-09-06 22:03:49 +02:00
Thomas Camlong 78d636f0a0 New translations common.json (Russian) 2023-09-06 22:03:48 +02:00
Thomas Camlong 405f3e4c1f New translations bookmark.json (Russian) 2023-09-06 22:03:47 +02:00
Thomas Camlong f36d9e7851 New translations media-requests-stats.json (Russian) 2023-09-06 22:03:46 +02:00
Thomas Camlong 52de93e412 New translations edit-mode-toggle.json (Russian) 2023-09-06 21:08:00 +02:00
Thomas Camlong 305be41c46 New translations notebook.json (Russian) 2023-09-06 21:07:59 +02:00
Thomas Camlong ab91776aa9 New translations bookmark.json (Russian) 2023-09-06 21:07:58 +02:00
Thomas Camlong faf2b1195b New translations media-requests-stats.json (Russian) 2023-09-06 21:07:57 +02:00
Thomas Camlong 8558c5e3dd New translations media-requests-list.json (Russian) 2023-09-06 21:07:57 +02:00
Thomas Camlong a34167d274 New translations about.json (Russian) 2023-09-06 21:07:55 +02:00
Thomas Camlong 63f3a9e158 New translations add-app.json (Russian) 2023-09-06 21:07:54 +02:00
Thomas Camlong c3689cb265 New translations toggle-edit-mode.json (Russian) 2023-09-06 21:07:53 +02:00
Thomas Camlong d5c8669dd8 New translations search-engine.json (Russian) 2023-09-06 21:07:53 +02:00
Thomas Camlong 65a0e789e7 New translations about.json (Spanish) 2023-09-06 14:00:20 +02:00
Thomas Camlong 0fc1f1b92f New translations notebook.json (Chinese Simplified) 2023-09-06 12:44:01 +02:00
Thomas Camlong 7ed51b6da3 New translations media-server.json (Chinese Simplified) 2023-09-06 12:43:58 +02:00
Thomas Camlong e9f8de9be8 New translations date.json (Chinese Simplified) 2023-09-06 12:43:55 +02:00
Thomas Camlong 21a38bb438 New translations dashdot.json (Chinese Simplified) 2023-09-06 12:43:54 +02:00
Thomas Camlong 6617e54256 New translations calendar.json (Chinese Simplified) 2023-09-06 12:43:53 +02:00
Thomas Camlong da3692265a New translations cache-buttons.json (Spanish) 2023-09-06 12:43:52 +02:00
Thomas Camlong 408237740f New translations selector.json (Chinese Simplified) 2023-09-06 10:54:12 +02:00
Thomas Camlong bdde789305 New translations cache-buttons.json (Chinese Simplified) 2023-09-05 20:55:04 +02:00
Thomas Camlong 9f845c733d New translations media-requests-list.json (Chinese Simplified) 2023-09-05 20:55:01 +02:00
Thomas Camlong d992a7f413 New translations rss.json (Chinese Simplified) 2023-09-05 20:54:59 +02:00
Thomas Camlong c97ca80563 New translations add-app.json (Chinese Simplified) 2023-09-05 20:54:57 +02:00
Thomas Camlong 01b5534915 New translations usenet.json (Chinese Simplified) 2023-09-05 20:54:56 +02:00
Thomas Camlong 5f348a56be New translations cache-buttons.json (Slovak) 2023-09-05 11:03:03 +02:00
Thomas Camlong 18a514b340 New translations edit-mode-toggle.json (Slovak) 2023-09-05 11:03:02 +02:00
Thomas Camlong 2b7a3accca New translations common.json (Slovak) 2023-09-05 11:03:01 +02:00
Thomas Camlong 3c685a69e4 New translations bookmark.json (Slovak) 2023-09-05 11:03:00 +02:00
Thomas Camlong 090fb6ad77 New translations media-requests-stats.json (Slovak) 2023-09-05 11:02:59 +02:00
Thomas Camlong e544b8994e New translations media-requests-list.json (Slovak) 2023-09-05 11:02:58 +02:00
Thomas Camlong 30b67e879a New translations iframe.json (Slovak) 2023-09-05 11:02:57 +02:00
Thomas Camlong a87d2053c4 New translations media-server.json (Slovak) 2023-09-05 11:02:56 +02:00
Thomas Camlong c8dbc1aa3e New translations rss.json (Slovak) 2023-09-05 11:02:55 +02:00
Thomas Camlong d3d0484b7f New translations torrents-status.json (Slovak) 2023-09-05 11:02:53 +02:00
Thomas Camlong 5ca76285a1 New translations about.json (Slovak) 2023-09-05 11:02:52 +02:00
Thomas Camlong 77c1bcab29 New translations add-app.json (Slovak) 2023-09-05 11:02:52 +02:00
Thomas Camlong bb6615f7cf New translations common.json (Slovak) 2023-09-05 11:02:51 +02:00
Thomas Camlong bc4852f369 New translations toggle-edit-mode.json (Slovak) 2023-09-05 09:39:18 +02:00
Thomas Camlong a6b8a980fd New translations selector.json (Slovak) 2023-09-05 09:39:17 +02:00
Thomas Camlong 62f2c22695 New translations search-engine.json (Slovak) 2023-09-05 09:39:16 +02:00
Thomas Camlong 7c0c5cf5ef New translations color-selector.json (Slovak) 2023-09-05 09:39:15 +02:00
Thomas Camlong 6bb8a932aa New translations weather.json (Slovak) 2023-09-05 09:39:14 +02:00
Thomas Camlong 5b546cf4dd New translations calendar.json (Slovak) 2023-09-05 09:39:13 +02:00
Thomas Camlong 0e8f31bddd New translations accessibility.json (Turkish) 2023-09-05 04:55:29 +02:00
Manuel 1651361b7f 🦺 Allow empty values for DOCKER_PORT 2023-09-04 21:33:50 +02:00
Thomas Camlong 4e3f602098 Merge pull request #1349 from ajnart/dev
Version 0.13.3
2023-09-04 20:25:59 +02:00
Thomas Camlong 7f402d4987 New Crowdin updates (#1359)
* New translations media-requests-list.json (French)

* New translations media-requests-list.json (Spanish)

* New translations media-requests-stats.json (Spanish)

* New translations cache-buttons.json (Spanish)

* New translations media-requests-list.json (Danish)

* New translations media-requests-list.json (German)

* New translations media-requests-list.json (Greek)

* New translations media-requests-list.json (Hebrew)

* New translations media-requests-list.json (Hungarian)

* New translations media-requests-list.json (Italian)

* New translations dlspeed.json (Japanese)

* New translations media-requests-list.json (Japanese)

* New translations media-requests-list.json (Korean)

* New translations media-requests-list.json (Dutch)

* New translations media-requests-list.json (Norwegian)

* New translations media-requests-list.json (Polish)

* New translations media-requests-list.json (Russian)

* New translations media-requests-list.json (Slovak)

* New translations media-requests-list.json (Slovenian)

* New translations media-requests-list.json (Swedish)

* New translations media-requests-list.json (Turkish)

* New translations media-requests-list.json (Ukrainian)

* New translations media-requests-list.json (Chinese Simplified)

* New translations media-requests-list.json (Vietnamese)

* New translations media-requests-list.json (Portuguese, Brazilian)

* New translations media-requests-list.json (Croatian)

* New translations media-requests-list.json (Latvian)

* New translations media-requests-list.json (LOLCAT)

* New translations cache-buttons.json (Spanish)

* New translations edit-mode-toggle.json (Spanish)

* New translations cache-buttons.json (Spanish)

* New translations search-engine.json (Greek)

* New translations toggle-edit-mode.json (Greek)

* New translations add-app.json (Greek)

* New translations about.json (Greek)

* New translations media-requests-list.json (Greek)

* New translations media-requests-stats.json (Greek)

* New translations bookmark.json (Greek)

* New translations common.json (Greek)

* New translations edit-mode-toggle.json (Greek)

* New translations cache-buttons.json (Greek)

* New translations search-engine.json (Swedish)

* New translations toggle-edit-mode.json (Swedish)

* New translations add-app.json (Swedish)

* New translations about.json (Swedish)

* New translations media-requests-list.json (Swedish)

* New translations media-requests-stats.json (Swedish)

* New translations bookmark.json (Swedish)

* New translations common.json (Swedish)

* New translations edit-mode-toggle.json (Swedish)

* New translations edit-mode-toggle.json (Swedish)

* New translations cache-buttons.json (Swedish)
2023-09-04 20:25:45 +02:00
Manuel 91132cc3e8 fix: log properties instead of object (#1361) 2023-09-04 20:17:42 +02:00
Thomas Camlong 1becb3f889 Merge pull request #1360 from ajnart/style/revert-anchor-color 2023-09-04 19:36:33 +02:00
Manuel 9fa0acff3e ⏪ Revert anchor colors in media request widget 2023-09-04 19:28:13 +02:00
Thomas Camlong 27cdd467f5 🐛 Print user.name instead of id on auth. 2023-09-04 18:35:35 +02:00
Thomas Camlong 8d2d68c192 🌐 New Crowdin updates (#1358) 2023-09-03 22:25:19 +02:00
Tagaishi 624e2a3a2c 🐛 Media Session widget jellyfin sessions + translations (#1353) 2023-09-03 22:24:27 +02:00
Thomas Camlong de349014d5 New Crowdin updates (#1351)
* New translations add-app.json (Spanish)

* New translations media-requests-list.json (Swedish)

* New translations media-requests-stats.json (Swedish)

* New translations add-app.json (Latvian)

* New translations add-app.json (French)

* New translations media-requests-list.json (French)

* New translations media-requests-stats.json (French)

* New translations media-requests-list.json (Spanish)

* New translations media-requests-stats.json (Spanish)

* New translations search-engine.json (Danish)

* New translations toggle-edit-mode.json (Danish)

* New translations add-app.json (Danish)

* New translations about.json (Danish)

* New translations media-requests-list.json (Danish)

* New translations media-requests-stats.json (Danish)

* New translations bookmark.json (Danish)

* New translations common.json (Danish)

* New translations search-engine.json (German)

* New translations toggle-edit-mode.json (German)

* New translations add-app.json (German)

* New translations about.json (German)

* New translations media-requests-list.json (German)

* New translations media-requests-stats.json (German)

* New translations bookmark.json (German)

* New translations common.json (German)

* New translations add-app.json (Greek)

* New translations media-requests-list.json (Greek)

* New translations media-requests-stats.json (Greek)

* New translations add-app.json (Hebrew)

* New translations media-requests-list.json (Hebrew)

* New translations media-requests-stats.json (Hebrew)

* New translations search-engine.json (Hungarian)

* New translations toggle-edit-mode.json (Hungarian)

* New translations add-app.json (Hungarian)

* New translations about.json (Hungarian)

* New translations media-requests-list.json (Hungarian)

* New translations media-requests-stats.json (Hungarian)

* New translations bookmark.json (Hungarian)

* New translations common.json (Hungarian)

* New translations search-engine.json (Italian)

* New translations toggle-edit-mode.json (Italian)

* New translations add-app.json (Italian)

* New translations about.json (Italian)

* New translations media-requests-list.json (Italian)

* New translations media-requests-stats.json (Italian)

* New translations bookmark.json (Italian)

* New translations common.json (Italian)

* New translations add-app.json (Japanese)

* New translations media-requests-list.json (Japanese)

* New translations media-requests-stats.json (Japanese)

* New translations add-app.json (Korean)

* New translations media-requests-list.json (Korean)

* New translations media-requests-stats.json (Korean)

* New translations add-app.json (Dutch)

* New translations media-requests-list.json (Dutch)

* New translations media-requests-stats.json (Dutch)

* New translations add-app.json (Norwegian)

* New translations media-requests-list.json (Norwegian)

* New translations media-requests-stats.json (Norwegian)

* New translations add-app.json (Polish)

* New translations media-requests-list.json (Polish)

* New translations media-requests-stats.json (Polish)

* New translations add-app.json (Russian)

* New translations media-requests-list.json (Russian)

* New translations media-requests-stats.json (Russian)

* New translations add-app.json (Slovak)

* New translations media-requests-list.json (Slovak)

* New translations media-requests-stats.json (Slovak)

* New translations add-app.json (Slovenian)

* New translations media-requests-list.json (Slovenian)

* New translations media-requests-stats.json (Slovenian)

* New translations add-app.json (Swedish)

* New translations search-engine.json (Turkish)

* New translations toggle-edit-mode.json (Turkish)

* New translations add-app.json (Turkish)

* New translations about.json (Turkish)

* New translations media-requests-list.json (Turkish)

* New translations media-requests-stats.json (Turkish)

* New translations bookmark.json (Turkish)

* New translations common.json (Turkish)

* New translations add-app.json (Ukrainian)

* New translations media-requests-list.json (Ukrainian)

* New translations media-requests-stats.json (Ukrainian)

* New translations add-app.json (Chinese Simplified)

* New translations media-requests-list.json (Chinese Simplified)

* New translations media-requests-stats.json (Chinese Simplified)

* New translations add-app.json (Vietnamese)

* New translations media-requests-list.json (Vietnamese)

* New translations media-requests-stats.json (Vietnamese)

* New translations add-app.json (Portuguese, Brazilian)

* New translations media-requests-list.json (Portuguese, Brazilian)

* New translations media-requests-stats.json (Portuguese, Brazilian)

* New translations add-app.json (Croatian)

* New translations media-requests-list.json (Croatian)

* New translations media-requests-stats.json (Croatian)

* New translations media-requests-list.json (Latvian)

* New translations media-requests-stats.json (Latvian)

* New translations add-app.json (LOLCAT)

* New translations media-requests-list.json (LOLCAT)

* New translations media-requests-stats.json (LOLCAT)

* New translations edit-mode-toggle.json (Danish)

* New translations cache-buttons.json (Danish)

* New translations edit-mode-toggle.json (German)

* New translations cache-buttons.json (German)

* New translations edit-mode-toggle.json (Hungarian)

* New translations cache-buttons.json (Hungarian)

* New translations edit-mode-toggle.json (Italian)

* New translations cache-buttons.json (Italian)

* New translations edit-mode-toggle.json (Turkish)

* New translations cache-buttons.json (Turkish)

* New translations add-app.json (Danish)

* New translations media-requests-list.json (Danish)

* New translations media-requests-stats.json (Danish)

* New translations add-app.json (German)

* New translations media-requests-list.json (German)

* New translations media-requests-stats.json (German)

* New translations add-app.json (Turkish)

* New translations media-requests-list.json (Turkish)

* New translations media-requests-stats.json (Turkish)

* New translations search-engine.json (Chinese Simplified)

* New translations toggle-edit-mode.json (Chinese Simplified)

* New translations add-app.json (Chinese Simplified)

* New translations about.json (Chinese Simplified)

* New translations media-requests-list.json (Chinese Simplified)

* New translations media-requests-stats.json (Chinese Simplified)

* New translations bookmark.json (Chinese Simplified)

* New translations common.json (Chinese Simplified)

* New translations edit-mode-toggle.json (Chinese Simplified)

* New translations cache-buttons.json (Chinese Simplified)

* New translations add-app.json (Hungarian)

* New translations media-requests-list.json (Hungarian)

* New translations media-requests-stats.json (Hungarian)

* New translations add-app.json (Hebrew)

* New translations media-requests-list.json (Hebrew)

* New translations media-requests-stats.json (Hebrew)

* New translations search-engine.json (Hebrew)

* New translations toggle-edit-mode.json (Hebrew)

* New translations about.json (Hebrew)

* New translations media-requests-stats.json (Hebrew)

* New translations bookmark.json (Hebrew)

* New translations common.json (Hebrew)

* New translations edit-mode-toggle.json (Hebrew)

* New translations cache-buttons.json (Hebrew)

* New translations add-app.json (Italian)

* New translations media-requests-list.json (Italian)

* New translations media-requests-stats.json (Italian)

* New translations search-engine.json (Spanish)

* New translations toggle-edit-mode.json (Spanish)

* New translations about.json (Spanish)

* New translations media-requests-stats.json (Spanish)

* New translations bookmark.json (Spanish)

* New translations common.json (Spanish)

* New translations edit-mode-toggle.json (Spanish)

* New translations cache-buttons.json (Spanish)

* New translations page-appearance.json (Turkish)

* New translations general.json (Turkish)

* New translations cache-buttons.json (Turkish)

* New translations cache-buttons.json (Turkish)
2023-09-03 18:03:11 +02:00
Manuel 0fcc8d2a82 🔖 Tag version to 0.13.3 (#1356) 2023-09-03 18:00:25 +02:00
Manuel c94ffbf91f 🐛 External URL being '' in media requests (#1355) 2023-09-03 18:00:15 +02:00
Manuel bc6fde5936 🐛 Fix edit mode error in notebook (#1357) 2023-09-03 18:00:05 +02:00
WillyJL d5c90a742b Fix enable/disable edit mode (#1333) 2023-09-03 17:54:12 +02:00
Tagaishi fc9d6f796e 🐛 Notebook scrollbar (#1342) 2023-09-03 17:52:35 +02:00
Thomas Camlong 96e0394724 🐛 Fix small things in MediaModal 2023-09-03 17:28:23 +02:00
Manuel 693f29bb82 fix: next image warning 2023-09-03 17:18:03 +02:00
Manuel 35db402376 fix: copying .env and set default values for docker img 2023-09-03 17:02:50 +02:00
Manuel 1958b70dee fix: object fit for image in about modal 2023-09-03 16:31:16 +02:00
Manuel e7ad853678 refactor: image in about modal 2023-09-03 16:28:20 +02:00
Manuel c14fad680d refactor: use relative TS path 2023-09-03 16:23:40 +02:00
Manuel a2738111b5 fix: binaryTarget for new docker base img 2023-09-03 16:17:13 +02:00
Manuel 016a1bb2e4 config: add IDEA directory to ignored dirs 2023-09-03 15:36:07 +02:00
Tagaishi 77c11e3fed 🐛 'seerr search bug fix (#1350)
* 🐛 'seerr search bug fix

* 🐛 Trailing '/' error

* ✨ Redirect overseerr search item to movie page

* 💡 Comment explaining RegExp

* ⏪ undo link to overseerr item
2023-09-02 22:30:56 +02:00
Tagaishi 5f2ddcd2c4 ✨Auth Page Dark/Light mode toggle button (#1265)
* ✨ Dark/Light toggle button

* 💄 Moved button to top right

* 💄 Moved button to top right

* ✨ Toggle Button component + integrations

* 💄 Rounding corners + Floating background onboard
2023-09-02 07:00:02 +02:00
Tagaishi 565260ee14 ✅ Update vitest test for Pihole as sdk changed (#1352)
* ✅ Update vitest test for Pihole as sdk changed

* ✅ Added test + bug discovered related to it
2023-09-02 06:58:16 +02:00
Tagaishi 371587c62d ✨ Rework Media Request Stats Widget (#1344)
* ✨ Rework Media Request Stats Widget

* 🎨 More code to do it better than last commit

* ♻️ Resize improvement

* 🐛 Empty Username handling

* 🎨 widget as router input

* ✨ Open links in new tab + media request scrollArea
2023-09-01 22:15:40 +02:00
Angel 1bb1a8f628 🐛 Adguard logic and several small bugs 2023-09-01 21:59:01 +02:00
Thomas Camlong ba7e31b972 🌐 New Crowdin updates (#1272) 2023-09-01 21:55:45 +02:00
Tagaishi 8211e22d86 💄 Add custom font sizing for app name (#1341)
* 💄 Add custom font sizing for app name

* 🚸 Added maximum font size
2023-09-01 21:53:51 +02:00
Thomas Camlong 79012ec681 Merge pull request #1312 from Tagaishi/translation-handling-update 2023-09-01 20:41:00 +02:00
Tagaishi ad61b155b8 💄 Large screen gridstack max value to 32 and sidebar gridstack over 13 bug fix (#1339)
* 💄 Large screen gridstack max value to 32

* 🐛 Fix sidebar bug
2023-09-01 17:16:37 +02:00
Tagaishi eb3bbfb025 ⬆️ geo-tz to browser-geo-tz (#1322)
* ⬆️ geo-tz to tz-lookup

* 🐛 Handle multiple timezones return

* ⬆️ change tz-lookup to browser-geo-tz
2023-09-01 17:15:25 +02:00
Tagaishi 981c964ba9 🐛 Fix locale for calendar and clock (#1330) 2023-09-01 17:13:55 +02:00
Tagaishi 78627f7b51 🐛 Removed trim as this blocked using space char (#1340) 2023-09-01 17:12:34 +02:00
Tagaishi 106795e1be 💄 Included back the text under percentage (#1343) 2023-09-01 17:09:56 +02:00
Tagaishi eb0282dbde 🐛 fix flex for bookmark in firefox (#1346) 2023-09-01 17:05:13 +02:00
Manuel 3b74f735a1 🦺 Set default value for DATABASE_URL 2023-08-31 19:47:21 +02:00
Manuel 9b3801ba6e 🔧 Install openssl layer to the default docker image 2023-08-31 19:43:41 +02:00
Manuel f6a1da99a6 ⚗️ Switch base image to node20.5-slim 2023-08-31 19:31:55 +02:00
Manuel 0673375734 ⚗️ Remove parameters 2023-08-31 17:43:17 +02:00
Manuel 455230c111 ⚗️ Try out random fixes 2023-08-29 22:36:12 +02:00
Manuel 8d3252f2cf ⚗️ Remove npm config command 2023-08-29 22:21:04 +02:00
Manuel ff13582044 ⚗️ Roll back to turbo build 2023-08-29 22:15:59 +02:00
Manuel b4abec77fd ⚗️ Use yarn flags for install 2023-08-29 22:12:10 +02:00
Manuel 5cfe3e9dd1 ⚗️ Roll back to yarn 2023-08-29 22:11:29 +02:00
Manuel 79e201bd81 ⚗️ Make npm install in docker file silent 2023-08-29 22:09:40 +02:00
Manuel aba42a1aa1 ⚗️ Check if build is passing with npm instead of yarn 2023-08-29 22:08:26 +02:00
Manuel 516c5b41ea 🔧 Add npm log level to dockerfile 2023-08-29 21:57:29 +02:00
Manuel f34221d3f7 💚 Add network mode to docker build and push step 2023-08-29 21:43:51 +02:00
Manuel aee541b6dc fix: docker build and prisma orm database push 2023-08-29 21:19:36 +02:00
Manuel ab2e827270 🔧 Move npm install to top in docker file 2023-08-28 21:25:30 +02:00
Thomas Camlong 52ccbb3938 Merge pull request #1331 from Tagaishi/rss-no-feed-stuck-loading-fix
🐛 RSS empty feed stuck on loading
2023-08-27 09:43:19 +02:00
Tagaishi 9b7caef6d3 ♻️ refactor for minimal changes 2023-08-27 03:14:49 +02:00
Tagaishi 06a0f30ae7 🐛 RSS empty feed stuck on loading 2023-08-27 03:07:23 +02:00
Manuel a9c577a5a3 👷 Ignore database from docker image 2023-08-26 17:16:34 +02:00
Meier Lukas 713a8f2f97 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-26 17:00:46 +02:00
ajnart 24fb17ab12 ✨ Adjust invite page
Add password strenght validation, adds background style
2023-08-26 16:07:05 +02:00
ajnart b00a1bcdc8 💄 Style FloatingBackground 2023-08-26 16:06:21 +02:00
Meier Lukas cdd710455f 🐛 Issue with middleware redirect in docker 2023-08-24 21:37:39 +02:00
Tagaishi 5ccc094ad1 🌐 Search engine custom button 2023-08-24 00:21:02 +02:00
Tagaishi 8d2aa51f2b 🌐 Cache settings 2023-08-24 00:06:14 +02:00
Tagaishi 4bd5d82da3 🌐 About page new version 2023-08-23 23:39:19 +02:00
ajnart 8adb05100b 📝 Explain why the password needs to be complex 2023-08-23 22:26:12 +02:00
ajnart dfe4149ebc 🐛 Fix password-requirements progress bar 2023-08-23 22:26:12 +02:00
Manuel 4a04725aaf 🐛 Fix database for docker container 2023-08-23 22:18:31 +02:00
ajnart c06905bfd0 🔥 Remove onboarding step 2023-08-23 22:10:16 +02:00
Manuel 5255882898 📝 Link issue with TS error 2023-08-23 21:38:17 +02:00
Manuel 1def2de8bb 🔀 Merge changes from ajnart 2023-08-23 21:37:02 +02:00
renovate[bot] fa0d525aeb ⬆️ Update dependency framer-motion to v10.16.1 2023-08-23 19:36:43 +00:00
Manuel 8dbb6d4dd3 🔀 Merge branch 'dev' into feature/add-basic-authentication 2023-08-23 21:17:51 +02:00
ajnart 4ddad33128 ⚡️ Disable anti-reload in dev mode 2023-08-23 18:07:56 +02:00
renovate[bot] e08f1afded ⬆️ Update dependency @types/node to v18.17.8 2023-08-23 13:37:14 +00:00
Tagaishi 6c3421f941 🌐 Missing strings reported on discord 2023-08-23 15:07:38 +02:00
renovate[bot] b5227a6a8c ⬆️ Update dependency @tabler/icons-react to v2.32.0 2023-08-23 09:44:21 +00:00
renovate[bot] b567dab4b4 ⬆️ Update nextjs monorepo to v13.4.19 2023-08-23 06:18:38 +00:00
renovate[bot] 02cf4711a4 ⬆️ Update dependency video.js to v8.5.2 2023-08-23 04:09:40 +00:00
renovate[bot] b1b12d1906 ⬆️ Update dependency prettier to v3.0.2 2023-08-23 01:20:38 +00:00
renovate[bot] a52e110ef4 ⬆️ Update dependency @types/react to v18.2.21 2023-08-22 23:28:38 +00:00
Tagaishi 558c731c6b 🌐 between x and y string repetition change 2023-08-22 23:31:56 +02:00
Tagaishi b6f9467fc1 🌐 better handle of multipart string for category 2023-08-22 23:31:20 +02:00
renovate[bot] 608cc78966 ⬆️ Update dependency @react-native-async-storage/async-storage to v1.19.2 2023-08-22 20:53:43 +00:00
Manuel 4e21f669f6 🌐 Translate error alert 2023-08-22 21:55:26 +02:00
Manuel 0f6d545e1a 🥅 Add alert when procedure failed 2023-08-22 21:52:14 +02:00
Manuel 107c6c3995 ✨ Add password meter to onboarding 2023-08-22 21:45:10 +02:00
Thomas Camlong e82f3d0ea9 Merge pull request #1295 from ajnart/refactor/onboarding-page
♻️ Onboarding page
2023-08-22 13:16:06 +02:00
Thomas Camlong 4d73395eae 🐛 Update default selected option in path mappings 2023-08-22 13:15:45 +02:00
Thomas Camlong 88129e9c25 Remove analyze in Docker actions 2023-08-22 13:13:17 +02:00
Thomas Camlong 21d81cbb7e Remove test- prefix in manually deployed versions 2023-08-21 21:52:27 +02:00
Manuel e8fa3b5e9a 🐛 Header scaling 2023-08-21 21:37:35 +02:00
Manuel cfde1b6ece 💄 Normalize onboarding steps design 2023-08-21 21:23:28 +02:00
Manuel 480b27fea7 ✨ Add back button to create account step 2023-08-21 21:15:56 +02:00
Manuel 3623d871f8 💄 Improve design 2023-08-21 21:10:44 +02:00
Thomas Camlong 3677316ff5 Merge pull request #1271 from ajnart/fix/allow-note-only-in-editmode 2023-08-21 18:02:48 +02:00
ajnart a98630e2c4 💡 Add comment about environ 2023-08-21 18:01:58 +02:00
ajnart 7ae0f9a7c6 🌐 Add Hungarian language support 2023-08-21 17:59:01 +02:00
Thomas Camlong 1b778943eb Merge pull request #1257 from Tagaishi/widget-full-translation-support 2023-08-21 17:56:08 +02:00
Tagaishi d1873ebd24 🐛 Plex tv-show formatting like jellyfin (#1304) 2023-08-20 20:02:50 +02:00
Tagaishi bc4009bd8b 🐛 Added movie in icon list for currently playing (#1303) 2023-08-20 18:08:31 +02:00
Manuel 64764a253b 📝 Update database mapping 2023-08-19 12:16:38 +02:00
Manuel 74de892859 ♻️ Onboarding page 2023-08-19 12:16:00 +02:00
Tagaishi 9f80f05ef6 🌐 Removing "Homarr" and "..." when unnecessary 2023-08-14 19:25:53 +02:00
Tagaishi e97367a0a0 Merge branch 'widget-full-translation-support' of https://github.com/Tagaishi/homarr into widget-full-translation-support 2023-08-14 19:16:15 +02:00
ajnart 198aec0a0b 🌐 Change docker internalization 2023-08-14 14:38:10 +02:00
ajnart 6c3f819804 🐳 Fix docker not loading properly 2023-08-14 14:37:56 +02:00
ajnart d4463c0009 🌐 Move translations to common file 2023-08-14 14:34:56 +02:00
ajnart 07f8ce3de5 🐛 Fix AM/PM for invite modal 2023-08-14 12:07:21 +02:00
ajnart ce5552c913 ✨ Add contentComponents to the main layout
Return button is not inside of the header.
2023-08-14 10:15:12 +02:00
Tagaishi 6ccc591bbf 🌐 Appearance Colors 2023-08-13 23:11:56 +02:00
Tagaishi d51bd43941 🌐 Add new tile 2023-08-13 22:56:41 +02:00
Tagaishi a973265795 🌐 App validation errors 2023-08-13 22:24:46 +02:00
Tagaishi 7c898379e8 🌐 About keybind actions 2023-08-13 22:10:59 +02:00
Tagaishi b62b6b9ee7 🐛 Fixed locale on Calendar + moment to dayjs 2023-08-13 21:47:50 +02:00
Tagaishi 8130504430 🌐 Category menu 2023-08-13 21:46:19 +02:00
Tagaishi d4c9a5bb26 Merge branch 'dev' of https://github.com/ajnart/homarr into widget-full-translation-support 2023-08-13 17:46:18 +02:00
Manuel b249c0205f 🔀 Merge branch 'dev' into feature/add-basic-authentication 2023-08-13 15:12:20 +02:00
Thomas Camlong 93c4b9a9e3 v0.13.2 - Hotfixed 2023-08-13 07:52:38 +02:00
ajnart daa5ca29f9 🎨 Re-write default config 2023-08-13 07:46:41 +02:00
ajnart 470b4155f7 🚑 Hotfix app width 2023-08-13 07:46:12 +02:00
Manuel b2cbb1a388 fix: allow note only in edit mode 2023-08-12 23:23:04 +02:00
Manuel d92a95af6f 🔀 Version 0.13.2 2023-08-12 23:10:35 +02:00
Manuel 7ce09af5a8 🔀 Merge pull request #1270 from ajnart/release-0-13-2 2023-08-12 22:53:57 +02:00
Manuel 6d295c056b 🥅 Add 500 catching page (#1226) 2023-08-12 22:52:55 +02:00
Meier Lukas 01e5bf2119 🔖 Increase version to 0.13.2 2023-08-12 22:43:47 +02:00
Meier Lukas e4b4b72656 Merge branch 'master' into dev 2023-08-12 22:42:28 +02:00
Thomas Camlong a41c3e64d0 🌐 New Crowdin updates (#1247)
* New translations add-app.json (Latvian)

* New translations dns-hole-summary.json (Turkish)

* New translations weather.json (Chinese Simplified)

* New translations weather.json (Spanish)

* New translations weather.json (French)

* New translations weather.json (Danish)

* New translations weather.json (German)

* New translations weather.json (Greek)

* New translations weather.json (Hebrew)

* New translations weather.json (Italian)

* New translations weather.json (Japanese)

* New translations weather.json (Korean)

* New translations weather.json (Dutch)

* New translations weather.json (Norwegian)

* New translations weather.json (Polish)

* New translations weather.json (Russian)

* New translations weather.json (Slovak)

* New translations weather.json (Slovenian)

* New translations weather.json (Swedish)

* New translations weather.json (Turkish)

* New translations weather.json (Ukrainian)

* New translations weather.json (Vietnamese)

* New translations weather.json (Portuguese, Brazilian)

* New translations weather.json (Croatian)

* New translations weather.json (Latvian)

* New translations weather.json (LOLCAT)

* New translations weather.json (Danish)

* New translations weather.json (German)

* New translations not-found.json (French)

* New translations not-found.json (Spanish)

* New translations not-found.json (Danish)

* New translations not-found.json (German)

* New translations not-found.json (Greek)

* New translations not-found.json (Hebrew)

* New translations not-found.json (Italian)

* New translations not-found.json (Japanese)

* New translations not-found.json (Korean)

* New translations not-found.json (Dutch)

* New translations not-found.json (Norwegian)

* New translations not-found.json (Polish)

* New translations not-found.json (Russian)

* New translations not-found.json (Slovak)

* New translations not-found.json (Slovenian)

* New translations not-found.json (Swedish)

* New translations not-found.json (Turkish)

* New translations not-found.json (Ukrainian)

* New translations not-found.json (Chinese Simplified)

* New translations not-found.json (Vietnamese)

* New translations not-found.json (Portuguese, Brazilian)

* New translations not-found.json (Croatian)

* New translations not-found.json (Latvian)

* New translations not-found.json (LOLCAT)

* New translations weather.json (Spanish)

* New translations not-found.json (Spanish)

* New translations not-found.json (Swedish)

* New translations weather.json (Turkish)

* New translations not-found.json (Turkish)

* New translations not-found.json (German)

* New translations not-found.json (Danish)

* New translations not-found.json (Spanish)

* New translations add-app.json (Spanish)

* New translations weather.json (Hebrew)

* New translations not-found.json (Hebrew)

* New translations add-app.json (Spanish)

* New translations toggle-edit-mode.json (Spanish)

* New translations weather.json (Spanish)

* New translations date.json (Spanish)

* New translations date.json (French)

* New translations date.json (Danish)

* New translations date.json (German)

* New translations date.json (Greek)

* New translations date.json (Hebrew)

* New translations date.json (Italian)

* New translations date.json (Japanese)

* New translations date.json (Korean)

* New translations date.json (Dutch)

* New translations date.json (Norwegian)

* New translations date.json (Polish)

* New translations date.json (Russian)

* New translations date.json (Slovak)

* New translations date.json (Slovenian)

* New translations date.json (Swedish)

* New translations date.json (Turkish)

* New translations date.json (Ukrainian)

* New translations date.json (Chinese Simplified)

* New translations date.json (Vietnamese)

* New translations date.json (Portuguese, Brazilian)

* New translations date.json (Croatian)

* New translations date.json (Latvian)

* New translations date.json (LOLCAT)

* New translations add-app.json (Italian)

* New translations bookmark.json (Italian)

* New translations media-requests-stats.json (Italian)

* New translations common.json (Italian)

* New translations weather.json (Italian)

* New translations not-found.json (Italian)

* New translations date.json (Italian)

* New translations date.json (Turkish)

* New translations date.json (Danish)

* New translations date.json (Hebrew)

* New translations date.json (Swedish)

* New translations weather.json (Chinese Simplified)

* New translations not-found.json (Chinese Simplified)

* New translations date.json (Chinese Simplified)

* New translations not-found.json (Chinese Simplified)

* New translations date.json (Spanish)

* New translations date.json (Latvian)

* New translations bookmark.json (Latvian)

* New translations common.json (Latvian)

* New translations weather.json (Latvian)

* New translations not-found.json (Latvian)

* New translations date.json (Latvian)

* New translations date.json (German)

* New translations add-app.json (French)

* New translations add-app.json (Spanish)

* New translations add-app.json (Danish)

* New translations add-app.json (German)

* New translations add-app.json (Greek)

* New translations add-app.json (Hebrew)

* New translations add-app.json (Italian)

* New translations add-app.json (Japanese)

* New translations add-app.json (Korean)

* New translations add-app.json (Dutch)

* New translations add-app.json (Norwegian)

* New translations add-app.json (Polish)

* New translations add-app.json (Russian)

* New translations add-app.json (Slovak)

* New translations add-app.json (Slovenian)

* New translations add-app.json (Swedish)

* New translations add-app.json (Turkish)

* New translations add-app.json (Ukrainian)

* New translations add-app.json (Chinese Simplified)

* New translations add-app.json (Vietnamese)

* New translations add-app.json (Portuguese, Brazilian)

* New translations add-app.json (Croatian)

* New translations add-app.json (Latvian)

* New translations add-app.json (LOLCAT)

* New translations add-app.json (Spanish)

* New translations add-app.json (German)

* New translations add-app.json (Italian)

* New translations add-app.json (Russian)

* New translations add-app.json (Swedish)

* New translations bookmark.json (Russian)

* New translations media-requests-stats.json (Russian)

* New translations common.json (Russian)

* New translations weather.json (Russian)

* New translations not-found.json (Russian)

* New translations date.json (Russian)

* New translations add-app.json (Turkish)

* New translations date.json (Spanish)

* New translations add-app.json (Spanish)

* New translations dns-hole-summary.json (Spanish)

* New translations date.json (Spanish)

* New translations add-app.json (Danish)

* New translations add-app.json (Hebrew)

* New translations dns-hole-summary.json (Turkish)

* New translations dns-hole-summary.json (Spanish)

* New translations dns-hole-summary.json (French)

* New translations dns-hole-summary.json (Danish)

* New translations dns-hole-summary.json (German)

* New translations dns-hole-summary.json (Greek)

* New translations dns-hole-summary.json (Hebrew)

* New translations dns-hole-summary.json (Italian)

* New translations dns-hole-summary.json (Japanese)

* New translations dns-hole-summary.json (Korean)

* New translations dns-hole-summary.json (Dutch)

* New translations dns-hole-summary.json (Norwegian)

* New translations dns-hole-summary.json (Polish)

* New translations dns-hole-summary.json (Russian)

* New translations dns-hole-summary.json (Slovak)

* New translations dns-hole-summary.json (Slovenian)

* New translations dns-hole-summary.json (Swedish)

* New translations dns-hole-summary.json (Ukrainian)

* New translations dns-hole-summary.json (Chinese Simplified)

* New translations dns-hole-summary.json (Vietnamese)

* New translations dns-hole-summary.json (Portuguese, Brazilian)

* New translations dns-hole-summary.json (Croatian)

* New translations dns-hole-summary.json (Latvian)

* New translations dns-hole-summary.json (LOLCAT)

* New translations dns-hole-summary.json (Spanish)

* New translations dns-hole-summary.json (Danish)

* New translations dns-hole-summary.json (German)

* New translations dns-hole-summary.json (Turkish)

* New translations dns-hole-summary.json (Hebrew)

* New translations add-app.json (Slovak)

* New translations weather.json (Slovak)

* New translations not-found.json (Slovak)

* New translations date.json (Slovak)

* New translations dns-hole-summary.json (Russian)

* New translations dns-hole-summary.json (Slovak)

* New translations notebook.json (French)

* New translations notebook.json (Spanish)

* New translations notebook.json (Danish)

* New translations notebook.json (German)

* New translations notebook.json (Greek)

* New translations notebook.json (Hebrew)

* New translations notebook.json (Italian)

* New translations notebook.json (Japanese)

* New translations notebook.json (Korean)

* New translations notebook.json (Dutch)

* New translations notebook.json (Norwegian)

* New translations notebook.json (Polish)

* New translations notebook.json (Russian)

* New translations notebook.json (Slovak)

* New translations notebook.json (Slovenian)

* New translations notebook.json (Swedish)

* New translations notebook.json (Turkish)

* New translations notebook.json (Ukrainian)

* New translations notebook.json (Chinese Simplified)

* New translations notebook.json (Vietnamese)

* New translations notebook.json (Portuguese, Brazilian)

* New translations notebook.json (Croatian)

* New translations notebook.json (Latvian)

* New translations notebook.json (LOLCAT)
2023-08-12 22:01:09 +02:00
Manuel be3b4f2275 🐛 Fix animation overflow (#1269) 2023-08-12 22:00:06 +02:00
Thomas Camlong c8f39033dd 🐛 Fix issues with URL being too long when pinging many apps (#1264) 2023-08-12 21:57:20 +02:00
abb52b093a ✨ Notebook-widget (#962)
* ⬆️ Add required dependencies

* ✨ Add basic widget definition for `notebook`

* 🌐 Add basic translations for `notebook` widget

* 🐛 Fix `WidgetMenu` zIndex property

* ⚡️ Use dynamic import for the `notebook` widget

* 🌐 Update translations

* 🚨 Disable eslint `no-param-reassign` rule

* ✨ Add `notebook` widget

* ➕ Add `immer` as a dependency

* fix: currentConfig not loaded in useEffect callback 

fixes #1249

* ♻️ Notebook widget UI (#1266)

* ♻️ Refactor note widget

* 🐛 Fix translations

* 💄 Widget styling changes

* 🔒 Fix lockfile

* 💄 Remove primary color from edit button

* 💄 Fix css

* ✨ Add the ability to hide an option

* 🔥 Remove aria-labels

* ♻️ Address pull request feedback

* 🐛 Remove wrong description from default value

---------

Co-authored-by: gnattu <gnattu@users.noreply.github.com>
Co-authored-by: Manuel <manuel.ruwe@bluewin.ch>
Co-authored-by: Tagaishi <Tagaishi@hotmail.ch>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2023-08-12 21:17:12 +02:00
ajnart 7614ec25c3 🐛 Fix docker action notification never going away
Fixes #1216
2023-08-12 21:00:18 +02:00
Thomas Camlong b71de91d37 Update SECURITY.md 2023-08-12 15:53:30 +02:00
Thomas Camlong d1afdbd7f5 Merge pull request #1261 from Tagaishi/improve-dns-hole-stats-layout 2023-08-12 15:46:55 +02:00
Tagaishi 261c1d94c9 🔀 Merge branch 'dev' into improve-dns-hole-stats-layout 2023-08-12 13:35:59 +02:00
Tagaishi d14834d517 🐛 remove icon alignment on column stat layout 2023-08-12 13:16:58 +02:00
Manuel 9519dfaf0a 🐛 AdGuard Home time unit fix (#1005) 2023-08-12 12:10:21 +02:00
Meier Lukas c955b04b48 🐛 Issue with media request url (#1260) 2023-08-12 11:51:14 +02:00
Manuel caf74f9962 ✨ Move docker page to manage pages 2023-08-11 22:13:14 +02:00
Manuel 9ae2dc3037 ✨ Add new login page design 2023-08-11 21:44:33 +02:00
Meier Lukas 73cf109c72 🐛 Remove not implemented action icons 2023-08-11 21:08:42 +02:00
Tagaishi d6736d6539 🐛 App tile flex fix (#1255)
* 🎨 flex

* 🎨 Improved flex organization on app tile

* ✏️ disallowAppNameProgagation to Propagation

* ✨ User customizable lineclamp and config migration
2023-08-11 20:47:14 +02:00
Meier Lukas 71272c982e 🎨 Improve code structure of dns hole summary 2023-08-11 20:38:13 +02:00
Manuel 74bf117fe3 ✨ Add tooltip for promotion and demotion of users 2023-08-11 19:29:06 +02:00
Manuel edb48135d6 🌐 Update outdated text of manage user 2023-08-11 19:20:21 +02:00
Manuel d57e356425 🌐 Updated deletion text 2023-08-11 19:18:19 +02:00
Tagaishi a14a9d4601 💄 Flex layout and text fitting 2023-08-11 00:07:57 +02:00
Meier Lukas 5bb7418de5 ✨ Add possibility to define users as admin 2023-08-10 20:50:31 +02:00
Meier Lukas 73669aa61b 🐛 Missing translation for users meta title 2023-08-10 20:12:41 +02:00
Meier Lukas 6b585a9fcf 🐛 Fix wrong translation key for password in user creation 2023-08-10 20:08:47 +02:00
Meier Lukas 9254703855 ♻️ Rename final step to confirmation 2023-08-10 20:06:32 +02:00
Meier Lukas 0282344793 ♻️ Add direct login after registration 2023-08-10 20:04:41 +02:00
Meier Lukas 558beae12f ♻️ Improve header experimental note 2023-08-10 19:54:19 +02:00
Meier Lukas 30c8f5cfdf ♻️ Add auto-complete for login 2023-08-10 19:53:56 +02:00
Meier Lukas 76b8bbd65c ♻️ Improve usage of /b and /board 2023-08-10 18:17:49 +02:00
Meier Lukas b21ee50908 🐛 Fix docker enabled issue 2023-08-10 06:56:45 +02:00
Tagaishi 9b2fecdfcb 🌐 Replaced hardcoded text to use translation 2023-08-09 22:16:57 +02:00
Manuel 1d09f662aa 🚸 Open external links in manage nav in new tab 2023-08-09 22:14:25 +02:00
Manuel 932150c72f 💄 Add discord and GH to experimental header 2023-08-09 22:06:56 +02:00
Meier Lukas 865da09c24 🐛 Fix environment variable docker enabled 2023-08-09 21:45:35 +02:00
Meier Lukas db8d88affc 🐛 Fix deprecated zustand dependencies 2023-08-09 21:41:57 +02:00
Meier Lukas d9eec612d8 ♻️ Remove console log 2023-08-09 21:27:57 +02:00
Meier Lukas d24d84c834 🐛 Add error message for invalid login 2023-08-09 21:25:29 +02:00
gnattu d5f74eb4bf fix: currentConfig not loaded in useEffect callback (#1250)
fixes #1249
2023-08-09 20:37:49 +02:00
Tagaishi ffa850b081 ✨ Option to show time for a city (#1236) 2023-08-09 20:33:17 +02:00
ajnart f1fb7a5a78 🐛 Fix env schema
https://env.t3.gg/docs/recipes
2023-08-09 18:36:27 +02:00
Meier Lukas 6460e433a5 🐛 App Transparency not used by torrent tile table (#1256)
* 🐛 App Transparency not used by torrent tile table

* 🐛 Classname to unspecific
2023-08-08 22:18:35 +02:00
ManuelandMeier Lukas 9404b2c718 💄 Fix white space on torrent (#1254)
* 💄 Fix white space on torrent

* 🐛 Fix issue with table content

* 🐛 Remove temporary mock value

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2023-08-08 21:38:14 +02:00
Thomas Camlong e755bf6bd0 Merge pull request #1228 from ajnart/refactor/404-page
🥅 Add 404 error page
2023-08-08 10:07:36 +02:00
Thomas Camlong 2b82503b6c Merge pull request #1184 from ishaanparlikar/1182-display-city
✨ display location name on a weather tile
2023-08-08 09:47:11 +02:00
ajnart 0331d20a42 🐛 Fix padding in WeatherTile 2023-08-08 09:46:10 +02:00
Manuel a545e0fb91 ⏪ Revert line clamp (#1245) (#1246) 2023-08-07 22:12:25 +02:00
Manuel a83ca7dcde ⏪ Revert line clamp (#1245) 2023-08-07 22:10:34 +02:00
Manuel 0277f808c3 🔀 Merge branch 'dev' into feature/add-basic-authentication 2023-08-07 22:06:37 +02:00
Manuel 7b6df42997 🔀 Version 0.13.1 2023-08-07 21:30:37 +02:00
Thomas Camlong ed56b3f319 🌐 New Crowdin updates (#1241) 2023-08-07 21:23:49 +02:00
Meier Lukas 5502eafc04 💄 Improve sizing of app name (#1244) 2023-08-07 21:20:49 +02:00
Meier Lukas 0190f4550d 🐛 Logo link not working 2023-08-07 19:17:05 +02:00
Meier Lukas fec5364e37 🐛 Ping accessibillity settings have not been used 2023-08-07 06:31:49 +02:00
Thomas Camlong be4ac56f0b Merge pull request #1242 from ajnart/increate-version 2023-08-07 12:27:59 +09:00
Thomas Camlong 7310f7d25f Merge pull request #1243 from Tagaishi/calendar-day-nowrap 2023-08-07 12:12:19 +09:00
Tagaishi 04792bc749 🐛 Mobile category calendar day text wrapping 2023-08-07 01:29:37 +02:00
Manuel db30f5b92c 🔖 Increase version to 0.13.1 2023-08-06 20:01:46 +02:00
7d18a51d02 ✨App tile UI change (#1231)
* 💄 Rework the App tile UI

* 🤡 Forgot one

* Make it so the app title gets hidden properly

Now if the value is missing it won't by "hover" or "hidden" so it won't hide

* Turn the `Tooltip` into `HoverCard`

* Make save and cancel button not wrap anymore

* 💄 Used InfoCard in options + translations

* ♻️ Remove fallback value for label translations

---------

Co-authored-by: Thomas Camlong <49837342+ajnart@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2023-08-06 19:36:36 +02:00
Thomas Camlong 121d6eafab 🌐 New Crowdin updates (#1180) 2023-08-06 17:13:08 +02:00
Meier Lukas f8907b97ae 🐛 Add missing translations for save affix 2023-08-06 17:10:38 +02:00
Meier Lukas 6efa12b5f0 🐛 Color theme not working when opening customize page from board page 2023-08-06 17:06:00 +02:00
Manuel f1e8beb659 🔀 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-06 16:46:57 +02:00
Manuel 0004dbd826 ✨ Add affix for board customization page 2023-08-06 16:46:00 +02:00
Meier Lukas f07b964129 ♻️ Use color scheme on board customize page 2023-08-06 16:38:04 +02:00
Manuel 936980d67a 💄 Display active page in manage navigation bar 2023-08-06 16:22:24 +02:00
Meier Lukas 7a499da903 🐛 Wrong import (using react instead of next for translation) 2023-08-06 16:06:44 +02:00
Meier Lukas 0bed8b2025 🐛 Missing translation on user invites page 2023-08-06 16:02:15 +02:00
Meier Lukas 3e4c9cdc3d ♻️ Deprecate calendar firstdayofweek option 2023-08-06 16:00:40 +02:00
Meier Lukas 65cd15aba5 ♻️ Add direct sign in after onboarding 2023-08-06 15:49:24 +02:00
Meier Lukas 3ef12cfe12 ♻️ Update api endpoint authorization 2023-08-06 15:40:19 +02:00
Meier Lukas d281a2ee98 Merge branch 'dev' into feature/add-basic-authentication 2023-08-06 15:02:57 +02:00
Meier Lukas 9e576f1498 ♻️ Address pull request feedback 2023-08-06 14:12:39 +02:00
Meier Lukas f074794009 Merge pull request #1212 from Tagaishi/widget-option-tooltips
✨ InfoCard
2023-08-05 23:57:22 +02:00
Tagaishi d994f4ec89 🤡 frogot a file 2023-08-05 23:19:52 +02:00
Tagaishi 048b27a89b 🔒️ Link out of translation files 2023-08-05 23:19:26 +02:00
Manuel 4b2c5f2816 🌐 Fix translation namespaces 2023-08-05 23:09:07 +02:00
Manuel 14c366bddd 🌐 Add missing translations 2023-08-05 23:06:40 +02:00
Meier Lukas 165c40506d ⚰️ Remove unused type 2023-08-05 22:17:54 +02:00
Meier Lukas d7de49d743 ♻️ Migrate position property of info-card to hove card property 2023-08-05 22:15:20 +02:00
Manuel cdb88ff941 🔥 Remove type safety for translations 2023-08-05 21:36:15 +02:00
Manuel bd4b7b8c13 🏷️ Apply namespace types to translations 2023-08-05 17:45:50 +02:00
Manuel a287b87a4a 🏷️ Add translation namespace typesy 2023-08-05 17:33:41 +02:00
Meier Lukas d1ad3ed162 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-05 17:18:10 +02:00
Meier Lukas 73589623d4 ♻️ Add translations for board customize page 2023-08-05 17:18:05 +02:00
Manuel 42688ad2c7 ✨ Add i18n namespaces and add translations for manage boards 2023-08-05 17:00:29 +02:00
Meier Lukas 6aff6dbedc ♻️ Fix head title for preferences page 2023-08-05 16:34:38 +02:00
Meier Lukas cdb882806c Merge pull request #1235 from huanga/dev
Adding 'audio' session type for Plex based on 'track' Plex API
2023-08-05 16:27:34 +02:00
Meier Lukas f650915832 ♻️ Add fallback head title for board page 2023-08-05 16:21:24 +02:00
Meier Lukas da0314a180 🐛 Add missing translation 2023-08-05 16:03:35 +02:00
Meier Lukas 093c03091e Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-05 16:02:30 +02:00
Meier Lukas 889853961d ♻️ Add header translations 2023-08-05 16:02:26 +02:00
Manuel cf057505ec ✨ Protect routes and procedures 2023-08-05 15:30:59 +02:00
Manuel 5b1b36eecc 🚸 Remember current values as default in create user stepper 2023-08-05 15:09:48 +02:00
Manuel d081ccb9ad Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-05 15:03:16 +02:00
Meier Lukas 04b3fa394d ♻️ Add ssr for user preferences page, add translations for user preferences page 2023-08-05 13:19:30 +02:00
Meier Lukas 4817c0c267 🐛 Updating search engine not working 2023-08-05 12:57:29 +02:00
Manuel 306151db65 ✨ Add link to manage page 2023-08-05 12:35:06 +02:00
Meier Lukas 2c3930bfb5 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-05 12:26:57 +02:00
Meier Lukas f18d2fdfbd ✨ Add middleware for onboarding page 2023-08-05 12:26:50 +02:00
Manuel f5d11cfd36 🐛 Fix imports 2023-08-05 12:26:42 +02:00
Manuel bbcbda74a9 🐛 Fix import for header 2023-08-05 12:23:46 +02:00
Manuel 2615f8e0ae 💚 Remove run param from turbo build 2023-08-05 12:18:50 +02:00
Manuel 0455db61af 📌 Fix turbo version 2023-08-05 12:10:34 +02:00
Manuel 9f7c41919d 💚 Try to fix turbo build 2023-08-05 12:03:33 +02:00
Meier Lukas 050ed8f877 🐛 Logout redirect not working 2023-08-05 11:49:37 +02:00
Meier Lukas 5039287d18 🐛 Logout redirect wrong 2023-08-05 11:42:49 +02:00
Meier Lukas 5177851fca 🐛 Login not redirecting 2023-08-05 11:38:37 +02:00
Manuel 2f2fdfb438 ➕ Add sharp and surpress npm update notifier 2023-08-05 11:38:23 +02:00
Manuel 44119422f6 💚 Add db migration and fix build errors 2023-08-05 11:33:29 +02:00
Manuel da57166fe7 ➕ Use bcryptjs instead of bcrypt 2023-08-05 11:19:52 +02:00
Manuel 6cbf5028c9 🐛 Update imports for turbo build 2023-08-05 11:14:28 +02:00
Manuel fb0274c2e9 💚 Fix env validation for turbo build 2023-08-05 10:43:56 +02:00
Manuel cee306ec95 💚 Fix turbo build for missing env 2023-08-05 10:39:28 +02:00
Manuel 5ee740bd67 💚 Potential fix for internal next auth url 2023-08-05 10:36:07 +02:00
Meier Lukas 4d6b120864 🐛 Sign in does no longer rely on NEXTAUTH_URL 2023-08-05 10:02:56 +02:00
Meier Lukas 5d5e69537d Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-05 09:57:55 +02:00
Meier Lukas e9904ababf 🚧 Add search engine to user preferences 2023-08-05 09:57:48 +02:00
Manuel f3082c5c7d 💚 Fix ci build 2023-08-05 00:45:58 +02:00
Manuel c0b836f2a4 feat: disable delete for Homarr default config 2023-08-04 22:31:48 +02:00
Meier Lukas 863cff1dfc ♻️ Improve customization page 2023-08-04 21:54:33 +02:00
Meier Lukas 02227e0a44 Fix issue with link on boards page 2023-08-04 21:48:24 +02:00
Tagaishi d851f3bb21 ✅ Added infocard to location widget 2023-08-03 15:14:26 +02:00
Manuel a6c273e26a 💄 Use correct icons for boards page 2023-08-02 18:57:05 +02:00
Andy Huang 9722d6fb4d Adding 'audio' session type for Plex based on 'track' Plex API response type. 2023-08-02 06:11:58 -07:00
Tagaishi 34ea8c0661 🤡 forgot a question mark 2023-08-02 12:54:04 +02:00
Tagaishi c3e1345851 💄 Made InfoCard more customizable 2023-08-02 12:23:28 +02:00
Meier Lukas 0a64ab0c84 🗑️ Remove config api endpoints 2023-08-02 06:46:26 +02:00
Meier Lukas 37c5378e4b ♻️ Remove try-password api endpoint 2023-08-02 06:45:19 +02:00
Meier Lukas e5e1f5c406 Merge branch 'dev' into feature/add-basic-authentication 2023-08-02 06:44:26 +02:00
Tagaishi 58de4aaa6c 🎨 reworked structure of infocard + added arrow 2023-08-02 04:32:20 +02:00
Tagaishi f0a343dfc9 ⬆️ yarn.lock for tiptap. Maybe wrong 2023-08-02 04:00:37 +02:00
Tagaishi 7235b5b17a ✨ General Element + Tooltip to HoverCard 2023-08-02 03:48:10 +02:00
Meier Lukas 39b8eb355b 🐛 Fix failing query when not authorized 2023-08-01 20:21:44 +02:00
Meier Lukas 8ce0de5068 🚧 Add onboarding 2023-08-01 19:04:14 +02:00
Manuel a3bb08768f ✨ Add make my default board button to manage boards 2023-08-01 18:14:53 +02:00
Manuel 9657d8acd5 ✨ Add default dashboard to preferences 2023-08-01 18:07:24 +02:00
Manuel 6ae89140a9 ✨ Add select for default board in preferences 2023-08-01 17:56:56 +02:00
Manuel 70c942e4cb 🌐 Fix translations on preferences page 2023-08-01 17:48:43 +02:00
Manuel 2035b20690 ✨ Add password strength indicator and use crypto safe random PWs 2023-08-01 17:42:19 +02:00
Meier Lukas b4c6896850 ♻️ Remove unused middleware 2023-08-01 15:39:45 +02:00
Meier Lukas 994c9ede5c ♻️ Remove and move some more files 2023-08-01 15:37:58 +02:00
Meier Lukas 65d0b31a1a ♻️ Improved code structure for layout, remove most settings components 2023-08-01 15:23:31 +02:00
Meier Lukas 6b8d94b6b5 ♻️ Make login and invite page inaccessible when signed in 2023-08-01 14:51:27 +02:00
Meier Lukas a75d19fd78 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-01 12:59:57 +02:00
Meier Lukas 46696af756 ♻️ Remove auto focus from search 2023-08-01 12:59:50 +02:00
Manuel f391002c99 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-01 12:58:38 +02:00
Manuel bb0bcabb2e ♻️ board procedure 2023-08-01 12:58:32 +02:00
Meier Lukas db396b6b10 ✨ Add copy button to invite modal 2023-08-01 12:50:54 +02:00
Manuel ccbf208ff0 🐛 Fix input element type for create invite 2023-08-01 12:37:35 +02:00
Meier Lukas d62acf29be Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-01 12:35:30 +02:00
Meier Lukas 46475f3a93 💄 Improve movie modal cards and layout 2023-08-01 12:35:26 +02:00
ajnart 38638551dc 🚨 Fix compilation 2023-08-01 19:22:15 +09:00
ajnart 1bb84e3b0f ✨ Add cache back 2023-08-01 19:20:39 +09:00
Meier Lukas 68bd2c06c8 ♻️ Improve movie modal count text 2023-08-01 12:20:14 +02:00
Meier Lukas ae1083b090 🐛 Fix issue with movie modal 2023-08-01 12:18:28 +02:00
Meier Lukas 16804972e5 ♻️ Add username to logout text 2023-08-01 12:06:39 +02:00
Meier Lukas 00260f975a ♻️ Move apps on top of search 2023-08-01 12:04:37 +02:00
Meier Lukas 2c5ef6a73b 🐛 Fix registration redirect link 2023-08-01 11:53:30 +02:00
Meier Lukas 80a4369845 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-01 11:43:58 +02:00
Meier Lukas f93d935175 ♻️ Rename registration token to invite, add created by 2023-08-01 11:43:24 +02:00
Manuel ac2116b44f Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-08-01 11:39:00 +02:00
Manuel 38c6a0741b 🌐 Fix translations for preferences page 2023-08-01 11:38:57 +02:00
Thomas Camlong 117e049f66 Merge pull request #1232 from ajnart/fix-env-not-working
Fix env not working
2023-08-01 18:38:52 +09:00
ajnart d9c0d8d021 Fix values for `DOCKER_HOST` 2023-08-01 18:38:13 +09:00
Thomas Camlong a8d94a0a36 Merge pull request #1229 from Tagaishi/media-request-ui-rework
💄 Media requests stats widget stretch elements to fit tile
2023-08-01 09:02:18 +09:00
Meier Lukas df890b8c0a 💄 Polish layouts 2023-08-01 01:13:21 +02:00
Meier Lukas fff6e6c077 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-07-31 23:52:03 +02:00
Meier Lukas 40056ab151 ♻️ Disable docker when not configured 2023-07-31 23:51:54 +02:00
Manuel 7f5e76796d 🐛 Fix validation for create board and add modal for delete board 2023-07-31 23:46:44 +02:00
Meier Lukas 1391a3d022 📱 Improve header 2023-07-31 23:27:11 +02:00
Meier Lukas 82c2079074 🗑️ Remove index and slug pages and add redirect to /board 2023-07-31 23:12:45 +02:00
Manuel d07cdee144 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-07-31 22:58:18 +02:00
Manuel d2408ebe4b ✨ Implement paging in manage users, implement search 2023-07-31 22:57:22 +02:00
Meier Lukas 3047002558 🐛 Fix issue with config reset when navigating 2023-07-31 22:50:45 +02:00
Manuel 35d505e9b1 🐛 Remove $ from delete user modal 2023-07-31 22:39:13 +02:00
Manuel 961b8024ab 🐛 Fix schema validation for user creation 2023-07-31 22:36:43 +02:00
Manuel 061ae1ae6c Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-07-31 22:32:38 +02:00
Manuel 8d0ea0e2a9 💄 Improve steps in user creation page 2023-07-31 22:32:34 +02:00
Meier Lukas 386fddc050 ✨ Implement new movie search modals 2023-07-31 22:30:48 +02:00
Manuel 630548e022 💄 Remove "your preferences" from manage home 2023-07-31 21:42:35 +02:00
Manuel 0b673b7c1a 🐛 Fix outdated links in manage home 2023-07-31 21:42:03 +02:00
Manuel ca1809c476 💄 Fix colors of modals 2023-07-31 21:40:37 +02:00
Manuel 9fcbdb43e6 🐛 Fix paging on manage user invites 2023-07-31 21:20:46 +02:00
Manuel ddfd9fb286 💄 Align actions to the right on manage invite page 2023-07-31 20:57:18 +02:00
Manuel 71757d0cce 🐛 Fix pagination on register token page 2023-07-31 20:52:17 +02:00
Manuel 129fd1336c ✨ Add copy registration token modal 2023-07-31 20:36:36 +02:00
Manuel f24daa2b34 🔥 Remove active and inactive toggle from manage users page 2023-07-31 19:51:04 +02:00
Manuel 2aa594b686 🐛 User preferences not rendering correctly for Switches 2023-07-31 19:49:41 +02:00
Meier Lukas 130b51e109 ✨ Add board customization page 2023-07-31 11:15:18 +02:00
Tagaishi 837b589270 ⚰️ removed unused imports 2023-07-31 01:15:40 +02:00
Tagaishi 6c1909e627 🎨 Common card component + flex direction fix 2023-07-31 01:13:36 +02:00
Tagaishi 3b95b8d8c8 🤡 Forgot label + touch up 2023-07-31 00:32:11 +02:00
Tagaishi 2b9de2405e 💄 Elements stretch to fit whole widget 2023-07-31 00:20:23 +02:00
Tagaishi fb7292f710 🎨 Info tooltip component + select pop list bugfix 2023-07-31 00:14:03 +02:00
Meier Lukas e448ce4b00 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-07-31 00:02:18 +02:00
Meier Lukas 99c2bc11cb 🚧 Add board customization page 2023-07-31 00:02:10 +02:00
Manuel f8186e68e4 ✨ Add procedure for updating user settings 2023-07-30 23:29:41 +02:00
Manuel 4b1f5881e3 ♻️ Move preferences in router 2023-07-30 22:57:14 +02:00
Manuel 672b726e6b 🐛 Outdated links on manage page 2023-07-30 22:44:18 +02:00
Manuel 0575cd475c 🔥 Remove caching and async persistance storage 2023-07-30 22:30:49 +02:00
Manuel f61d0f5f8d ✨ Add manage dashboards page 2023-07-30 22:20:20 +02:00
Meier Lukas 93c10da760 🐛 Fix issue with header action button 2023-07-30 20:24:12 +02:00
Meier Lukas 5008b5e7a4 ✨ Add slug board page 2023-07-30 20:17:35 +02:00
Manuel 96529ae6bc ✨ Re-add burger menu on mobile 2023-07-30 19:45:48 +02:00
Manuel 56a234baf6 🥅 Add 404 error page 2023-07-30 16:54:35 +02:00
Manuel fc70a34e7d ✨ Add common header to manage pages 2023-07-30 16:30:48 +02:00
Manuel d100d41ce6 ✨ Add preferences to preferences page 2023-07-30 16:22:45 +02:00
Manuel 9de710bfd8 ✨ Add preferences page to navbar 2023-07-30 15:33:43 +02:00
Manuel 8e5af7f05c ✨ Add title to manage pages 2023-07-30 15:15:14 +02:00
Tagaishi 07a0f55a95 Merge branch 'dev' of https://github.com/ajnart/homarr into widget-option-tooltips 2023-07-30 14:18:09 +02:00
Tagaishi ebfe7c3a93 🎨 Renamed to ICommonWidgetOptions 2023-07-30 14:17:57 +02:00
Meier Lukas 07b7b3acec ✨ Add docker page 2023-07-30 09:48:35 +02:00
Meier Lukas e1aaf82602 🚧 Add board, Improve header 2023-07-30 01:09:10 +02:00
Meier Lukas b19d489a4c ♻️ Add username from session to manage page 2023-07-29 23:05:47 +02:00
Meier Lukas f84d9ed7d4 ♻️ Improve avatar menu, add avatar menu to manage pages, add default dashboard to user settings schema 2023-07-29 23:03:40 +02:00
Meier Lukas 588ad4313a ✨ Add color scheme toggle for new header 2023-07-29 22:06:21 +02:00
Manuel 5e873cad3f ♿️ Improve management start page 2023-07-29 21:58:36 +02:00
Manuel d13347fd4e ♿️ Add mobile drawer for navigation 2023-07-29 21:44:16 +02:00
Manuel 3d2e909237 🚸 Improve mobile reponsiveness 2023-07-29 21:33:44 +02:00
Manuel b4192137de Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-07-29 21:21:23 +02:00
Manuel cb0b8869e2 ✨ Add deletion for registration tokens 2023-07-29 21:21:21 +02:00
Meier Lukas 698dab032f ♻️ Improve avatar menu 2023-07-29 21:18:41 +02:00
Meier Lukas 2db3d1405b ✨ Implement account button for new header 2023-07-29 21:15:55 +02:00
Manuel b4c188e797 ✨ Add procedure for registration tokens management 2023-07-29 21:11:52 +02:00
Meier Lukas cf12c8575d ✨ Add board pages 2023-07-29 20:56:20 +02:00
Meier Lukas 0c3d9f335c ✨ Implement search for new header 2023-07-29 20:56:08 +02:00
Manuel ed23e388f9 🚸 Improve UX on create user page 2023-07-29 20:12:49 +02:00
Ishan Parlikar 6f0a259268 added icon size and gap changes when tile is small 2023-07-29 22:22:59 +05:30
Manuel e273c830b4 ✨ Add create user form 2023-07-29 17:29:57 +02:00
Manuel e045081346 💄 Fix darkmode styling for manage home page 2023-07-29 16:19:57 +02:00
Manuel 951e4cb61a Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-07-29 16:17:37 +02:00
Manuel 4c2e81a29d ✨ Add stepper for creating new user 2023-07-29 16:17:34 +02:00
Meier Lukas 9461e9d574 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-07-29 16:16:08 +02:00
Meier Lukas 1038cc7ccf ♻️ Show edit buttons only when user is admin 2023-07-29 16:16:01 +02:00
Manuel e4e1f2e32e ✨ Add tRPC user query 2023-07-29 16:08:58 +02:00
Manuel 5c4e1a4bb8 Merge branch 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-07-29 15:32:20 +02:00
Manuel 76e3bc28e5 ✨ Improve management landing page 2023-07-29 15:32:17 +02:00
Meier Lukas 79d13274b5 ♻️ Move authentication pages to /auth 2023-07-29 15:21:00 +02:00
Manuel 5cac368926 ✨ Add correct page routing 2023-07-29 14:59:11 +02:00
Manuel b45a351eff 🔀 Merge branch 'dev' into feature/add-basic-authentication 2023-07-29 14:50:31 +02:00
Manuel 0f3ec55f21 Merge branches 'feature/add-basic-authentication' and 'feature/add-basic-authentication' of https://github.com/ajnart/homarr into feature/add-basic-authentication 2023-07-29 14:49:48 +02:00
Manuel 3b01a42b15 ✨ Add management layout 2023-07-29 14:49:44 +02:00
Meier Lukas c165648d5b 🎨 Improve color scheme logic 2023-07-29 14:30:19 +02:00
Meier Lukas c312828c79 ✨ Add translation to user settings 2023-07-29 11:35:34 +02:00
Meier Lukas ed76afbce8 ✨ Add user settings, improve color scheme 2023-07-29 11:19:40 +02:00
Meier Lukas d8562e2990 ✨ Add working sign-in / sign-out, add working registration with token 2023-07-29 10:05:05 +02:00
Thomas Camlong 454deaf069 Merge pull request #1208 from Tagaishi/Bookmark-cosmetic-rework 2023-07-29 12:51:29 +09:00
Tagaishi 47c7e84d25 🤡 nothing to see here 2023-07-29 01:31:10 +02:00
Tagaishi a0052f88f4 🎨 Refactor repeating code 2023-07-29 01:23:46 +02:00
Manuel c99c06c0bb 🗑️ Remove deprecated code (#1225) 2023-07-28 23:09:21 +02:00
Meier Lukas 326395730e 🐛 Fix issues with login page 2023-07-28 20:45:54 +02:00
Meier Lukas d7f6bdf417 ✨ Add basic credentials authentication 2023-07-28 18:51:44 +02:00
Meier Lukas d507f0807f Merge branch 'dev' into feature/add-basic-authentication 2023-07-28 18:11:17 +02:00
Meier Lukas a45a1bdb18 Merge pull request #1221 from ajnart/fix/config-appearance-settings-not-applied-on-initial-load
🐛 Fix config appearance on initial load
2023-07-28 18:09:53 +02:00
Tagaishi 76aa8f4f54 🎨 one line becomes multiline 2023-07-27 23:22:31 +02:00
dependabot[bot] 20dc69c034 Bump semver from 6.3.0 to 6.3.1 (#1222)
Bumps [semver](https://github.com/npm/node-semver) from 6.3.0 to 6.3.1.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v6.3.1/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v6.3.0...v6.3.1)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-27 21:32:38 +02:00
Manuel 45438cd402 📝 Add security policy (#1200) 2023-07-27 21:18:29 +02:00
Meier Lukas c47f1fe4b5 ♻️ Address pull request feedback 2023-07-27 20:31:11 +02:00
Meier Lukas 48b2e951cd 🐛 Fix config appearance on initial load 2023-07-27 20:25:12 +02:00
Thomas Camlong ef0ac587a1 Merge pull request #1210 from ajnart/feat/allow-non-standard-protocols 2023-07-27 13:54:17 +09:00
Tagaishi 15781e6ea4 💄 Hide Icon option 2023-07-27 03:14:46 +02:00
Tagaishi a79e110aa3 🐛 Multiline tooltip again 2023-07-27 02:56:12 +02:00
ajnart d4aa3e4e07 🐛 Fix edit mode password working with lowercase 2023-07-26 13:17:00 +09:00
ajnart 52f5e9af96 🐳 Edit docker shortcuts inside package.json 2023-07-26 13:16:37 +09:00
ajnart 49f9fa0f1b 🐳 Add docker shortcuts inside package.json 2023-07-26 13:03:08 +09:00
Tagaishi c56edfdc65 🐛 Multiline tooltip and 🎨 one line code rework 2023-07-25 22:16:59 +02:00
Tagaishi a15469698c 💄 Tooltip background not user selected anymore 2023-07-25 21:52:36 +02:00
Tagaishi 5cc2fac8bc ✨ Tooltip for widget options 2023-07-25 21:07:43 +02:00
Tagaishi 44ed1f3e4f 💄 Added titles to widget and improved division 2023-07-25 15:49:52 +02:00
Tagaishi 4a633afdf6 💄 Radius of cards are now set to md instead of sm 2023-07-24 21:38:42 +02:00
Manuel b557f04c10 ✨ Allow non standard protocols for ext app URL 2023-07-24 21:25:41 +02:00
Tagaishi 356d7c4982 🩹 changed hideLink to hideHostname 2023-07-24 17:13:39 +02:00
Tagaishi d136893035 💄 Recenter grid items 2023-07-23 21:11:18 +02:00
Tagaishi cd814759dd 💄 Rework the bookmark widget 2023-07-23 18:23:10 +02:00
Meierschlumpf 3990c1a4ad ♻️ Add env variable validation 2023-07-23 14:18:10 +02:00
Thomas Camlong 18e0e2a8ff Merge pull request #1205 from ajnart/fix/sidebar-drawer-not-working 2023-07-23 19:19:07 +09:00
Meierschlumpf 3766fe222a 🐛 Fix sidebar drawer not working 2023-07-23 11:39:13 +02:00
Meier Lukas e528c006d7 Merge pull request #1201 from ajnart/fix/ping-reading-wrong-config
🐛 Fix ping not reading from correct config
2023-07-23 11:26:09 +02:00
Thomas Camlong 2d946af30d Merge pull request #1204 from ajnart/1127-weather-selector-handle-undefined-google-maps-link
✨ Improvements to city selection in weather widget
2023-07-23 10:55:08 +09:00
ajnart 94a2d33d1f ✨ Improvements to city selection in weather widget 2023-07-23 10:54:38 +09:00
Thomas Camlong d82ef117ea Merge pull request #1203 from ajnart/1129-application-error-a-client-side-exception-has-occurred-when-removing-an-icon
🐛 Fix clear icon in apperance tab
2023-07-23 10:33:16 +09:00
ajnart 2c9dbccea5 🐛 Fix clear icon in apperance tab 2023-07-23 10:32:45 +09:00
Thomas Camlong 4bd0fea528 Merge pull request #1202 from ajnart/1147-croatian-translation-from-crowdincom
🌐 Add `hr` locale 🇭🇷
2023-07-23 10:12:43 +09:00
ajnart b7077f8409 🌐 Add hr locale 🇭🇷 2023-07-23 10:12:22 +09:00
Meierschlumpf 1634510070 🐛 Fix ping not reading from correct config 2023-07-22 18:27:24 +02:00
ajnart 6658c05e5a 🐛 Fix bugs with the ping feature 2023-07-22 10:11:23 +09:00
Thomas Camlong e6e7a5abd3 Merge pull request #1196 from ajnart/1165-typing-anything-in-internal-address-overwrites-the-external-address
🐛 Remove change of external URL when changing IP
2023-07-21 18:55:11 +09:00
ajnart 1f2d40d8e2 🐛 Remove change of external URL when changing IP 2023-07-21 18:54:51 +09:00
Thomas Camlong a7c1baa2cb Merge pull request #1195 from ajnart/1185-searches-of-type-m-crashes-client-side
🐛 Fix display of Media search with no results
2023-07-21 18:49:24 +09:00
ajnart fe821e9ba9 🐛 Fix display of Media search with no results 2023-07-21 18:49:06 +09:00
Thomas Camlong 6bf13c99a3 Merge pull request #1194 from ajnart/1169-media-request-widget-is-overflowing-from-the-parent-container
🐛 Fix Overseerr media request overflow
2023-07-21 18:46:01 +09:00
ajnart 1364e68ffc 🐛 Fix Overseerr media request overflow
Fixes #1169
2023-07-21 18:45:41 +09:00
Thomas Camlong ae9be8a543 Merge pull request #1192 from ajnart/1186-actionscategoryopenallinnewtab-instead-of-open-all-in-new-tab
🌐 Restore translations for common layout
2023-07-21 18:17:14 +09:00
ajnart 24ff188d0a 🌐 Restore translations for common layout 2023-07-21 18:15:40 +09:00
ajnart 739b95888b 💄 Prettier repository 2023-07-21 18:08:40 +09:00
Thomas Camlong b40cafc65a Merge pull request #1135 from ajnart/renovate/prettier-3.x
⬆️ Update dependency prettier to v3
2023-07-21 17:59:42 +09:00
Thomas Camlong 94763fb267 Merge pull request #1136 from ajnart/renovate/happy-dom-10.x
⬆️ Update dependency happy-dom to v10
2023-07-21 17:59:35 +09:00
Thomas Camlong 00de143d47 Merge pull request #1150 from ajnart/renovate/major-typescript-eslint-monorepo
⬆️ Update typescript-eslint monorepo to v6 (major)
2023-07-21 17:59:29 +09:00
Thomas Camlong 525249c61b Merge pull request #1153 from ajnart/renovate/eslint-plugin-unused-imports-3.x
⬆️ Update dependency eslint-plugin-unused-imports to v3
2023-07-21 17:59:20 +09:00
Thomas Camlong 8e91f1dafe Merge pull request #1179 from ajnart/fix/dns-hole-reversed-controls
🐛 Fix reversed dns-hole controls
2023-07-21 17:58:51 +09:00
Thomas Camlong 05c3a081a2 Merge pull request #1189 from Tagaishi/calendar-day-highlight-hotfix
🐛 hotfix calendar highlight bug
2023-07-21 17:57:47 +09:00
Thomas Camlong 0469cb36c2 Merge pull request #1178 from ajnart/fix/ping-issue
🐛 Fix ping issue
2023-07-21 17:55:03 +09:00
Thomas Camlong 572e6c439d Merge pull request #1190 from ajnart/1187-page-title-on-a-new-install-doesnt-reflect-the-correct-version-number
✅ Remove version name in default config
2023-07-21 17:50:47 +09:00
Thomas Camlong d7c1c2d389 ✅ Remove version name in default config
Fixes #1187
2023-07-21 17:48:43 +09:00
Ishan Parlikar ec34339e16 added dimmed color for location name 2023-07-20 23:01:32 +05:30
ajnart c7f7aa3eba Release v0.13.0 again 2023-07-20 09:07:27 +09:00
Tagaishi d430b5f328 🐛 hotfix calendar highlight mistake 2023-07-20 00:28:50 +02:00
renovate[bot] be39dd5d89 ⬆️ Update dependency @testing-library/jest-dom to v5.17.0 2023-07-18 20:08:55 +00:00
Ishan Parlikar d35667fab2 ✨ display location name on a weather tile 2023-07-18 23:53:11 +05:30
renovate[bot] 40e212f776 ⬆️ Update mantine monorepo to v6.0.17 2023-07-18 11:01:41 +00:00
Meier Lukas 49b7ef484f 🐛 Fix reversed dns-hole controls 2023-07-18 07:38:27 +02:00
Meier Lukas d5c5c4e9b6 ♻️ Address pull request feedback 2023-07-18 07:23:17 +02:00
Meier Lukas c1b8af911f 🐛 Fix ping issue 2023-07-17 21:35:34 +02:00
Meier Lukas e831ea0acc Merge pull request #1177 from ajnart/upstream/dev
🔀 Sync dev with master
2023-07-17 20:49:46 +02:00
renovate[bot] d2ee80f8de ⬆️ Update dependency @tabler/icons-react to v2.26.0 2023-07-17 18:48:23 +00:00
Meier Lukas 312176f0c8 Merge branch 'master' into dev 2023-07-17 20:44:27 +02:00
Meier Lukas 0e5cc323a4 Merge pull request #1175 from ajnart/bumb-version-0.13.0
🚑️ Bump version to 0.13.0
2023-07-17 17:05:24 +02:00
renovate[bot] 210670c24f ⬆️ Update dependency framer-motion to v10.12.22 2023-07-17 15:03:32 +00:00
Meier Lukas 7d6d848e73 🚑️ Bump version to 0.13.0 2023-07-17 17:03:20 +02:00
renovate[bot] 2fa16f252d ⬆️ Update dependency eslint-plugin-unused-imports to v3 2023-07-11 21:55:15 +00:00
renovate[bot] 2a908347a5 ⬆️ Update typescript-eslint monorepo to v6 2023-07-10 22:53:43 +00:00
renovate[bot] eb646b3b7d ⬆️ Update dependency happy-dom to v10 2023-07-05 21:46:36 +00:00
renovate[bot] 1aabf30326 ⬆️ Update dependency prettier to v3 2023-07-05 13:33:25 +00:00
3377 changed files with 409597 additions and 77617 deletions

No files matched your search

+1
View File
@@ -5,6 +5,7 @@ name = "javascript"
[analyzers.meta]
plugins = ["react"]
environment = ["nodejs"]
[[transformers]]
name = "prettier"
+6 -4
View File
@@ -1,9 +1,11 @@
Dockerfile
.dockerignore
node_modules
**/node_modules
npm-debug.log
*.md
README.md
.next
.git
.github
LICENSE
docs/
dev
.build
e2e
+52
View File
@@ -0,0 +1,52 @@
# Since .env is gitignored, you can use .env.example to build a new `.env` file when you clone the repo.
# Keep this file up-to-date when you add new variables to \`.env\`.
# This file will be committed to version control, so make sure not to have any secrets in it.
# If you are cloning this repo, create a copy of this file named `.env` and populate it with your secrets.
# The below secret is not used anywhere but required for Auth.js (Would encrypt JWTs and Mail hashes, both not used)
AUTH_SECRET="supersecret"
# The below secret is used to encrypt integration secrets in the database.
# It should be a 32-byte string, generated by running `openssl rand -hex 32` on Unix
# or starting the project without any (which will show a randomly generated one).
SECRET_ENCRYPTION_KEY=0000000000000000000000000000000000000000000000000000000000000000
# Cron job API key is generated every time the container starts as it is required for communication between nextjs-api and tasks-api
# export CRON_JOB_API_KEY=$(openssl rand -base64 32)
# CRON_JOB_API_KEY="your-generated-api-key"
LOG_LEVEL='info'
# This is how you can use the sqlite driver:
DB_DRIVER='better-sqlite3'
DB_URL='FULL_PATH_TO_YOUR_SQLITE_DB_FILE'
# Those are the two ways to use the mysql2 driver:
# 1. Using the URL format:
# DB_DRIVER='mysql2'
# DB_URL='mysql://user:password@host:port/database'
# 2. Using the connection options format:
# DB_DRIVER='mysql2'
# DB_HOST='localhost'
# DB_PORT='3306'
# DB_USER='username'
# DB_PASSWORD='password'
# DB_NAME='name-of-database'
# The following is an example on how to use the node-postgres driver:
# DB_DRIVER='node-postgres'
# DB_URL='postgres://user:password@host:port/database'
# The below path can be used to store trusted certificates, it is not required and can be left empty.
# If it is empty, it will default to `/appdata/trusted-certificates` in production.
# If it is used, please use the full path to the directory where the certificates are stored.
# LOCAL_CERTIFICATE_PATH='FULL_PATH_TO_CERTIFICATES'
TURBO_TELEMETRY_DISABLED=1
# Enable kubernetes tool
# ENABLE_KUBERNETES=true
# Enable mock integration
UNSAFE_ENABLE_MOCK_INTEGRATION=true
+1
View File
@@ -0,0 +1 @@
* text=auto eol=lf
+1 -11
View File
@@ -1,13 +1,3 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: ajnart
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
open_collective: homarr
-59
View File
@@ -1,59 +0,0 @@
name: 🐛 Bug Report
description: Report something that's broken, or not working like intented!
title: '<title>'
labels: ['🐛 Bug']
body:
- type: dropdown
id: environment
attributes:
label: Environment
description: How have you deployed Homarr?
options:
- Docker
- NodeJS
- Cloud Service (Static)
validations:
required: true
- type: input
id: version
attributes:
label: Version
description: What version of Homarr are you running?
placeholder: 0.1.0
validations:
required: false
- type: textarea
id: repro
attributes:
label: Describe the problem
description: Please describe the problem exactly, how to reproduce it, actual results, and expected results.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs
description: Provide your Homarr logs so we can investigate what's going on
validations:
required: false
- type: textarea
id: context
attributes:
label: Context
description: Screenshots? More info?
validations:
required: false
- type: checkboxes
id: idiot-check
attributes:
label: Please tick the boxes
description: Before submitting, please ensure that
options:
- label: I confirm that I attached the proper logs
required: true
- label: I've read the [docs](https://github.com/ajnart/homarr#readme)
required: true
- label: I've checked for [duplicate issues](https://github.com/ajnart/homarr/issues)
required: true
- label: I've tried to debug myself
required: true
+143
View File
@@ -0,0 +1,143 @@
name: 🐞 Bug Report
description: Report that something is broken, not working as intended or causes side-effects
title: "bug: "
labels: ["needs triage"]
body:
- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of the bug, as well as what you expected to happen when encountering it.
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: Describe how to reproduce your bug. Steps, code snippets, reproduction repos etc.
validations:
required: true
- type: textarea
attributes:
label: Impact
description: How big is the impact of this bug? Does it make Homarr unusable? Is there any workaround that you're aware of?
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: Add any other information related to the bug here, screenshots if applicable.
- type: dropdown
id: version
attributes:
label: Version
description: What version of Homarr are you running?
options:
# The below comment is used to insert a new version with on-release.yml
#NEXT_VERSION#
- 1.49.0
- 1.48.0
- 1.47.0
- 1.46.0
- 1.45.3
- 1.45.2
- 1.45.1
- 1.45.0
- 1.44.0
- 1.43.1
- 1.43.0
- 1.42.1
- 1.42.0
- 1.41.0
- 1.40.0
- 1.39.0
- 1.38.0
- 1.37.0
- 1.36.1
- 1.36.0
- 1.35.1
- 1.35.0
- 1.34.0
- 1.33.0
- 1.32.0
- 1.31.0
- 1.30.1
- 1.30.0
- 1.29.0
- 1.28.1
- 1.28.0
- 1.27.0
- 1.26.0
- 1.25.0
- 1.24.0
- 1.23.0
- 1.22.0
- 1.21.0
- 1.20.0
- 1.19.1
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.1
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.0
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.0
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.1
- 1.0.0
- 1.0.0-beta
- Other (describe in "additional information")
default: 0
validations:
required: true
- type: dropdown
id: installationMethod
attributes:
label: Installation method
description: How do you run Homarr? Post docker-compose, configs or screenshots if applicable.
options:
- Docker Run
- Docker Compose
- Portainer
- Helm
- QNAP
- Saltbox
- EasyPanel
- Unraid Apps
- TrueNAS Apps
- Synology
- HomeAssistant Addon
- From Source
- Other (describe in "additional information")
default: 0
validations:
required: true
- type: dropdown
id: browser
attributes:
label: Browser
description: If relevant, what browser do you use?
options:
- Firefox
- Edge (Chromium)
- Edge (Proprietary)
- Chrome
- Safari
- Vivaldi
- Brave
- Samsung Internet
- Other (describe in "additional information")
default: 0
validations:
required: false
@@ -1,24 +0,0 @@
name: ✨ Feature Request
description: Request a feature to help improve Homarr!
title: '<title>'
labels: ['✨ Feature']
body:
- type: textarea
id: feature
attributes:
label: Description
description: Describe the feature you would like to see. Tell us how you imagine it and try to provide as much useful information as possible. **PLEASE** use images/screenshots, include details about X & Y when requesting changes like X & Y service does, make your description atleast 300 characters. Having an unclear issue with too little detail will result in your issue being marked as invalid and closed.
placeholder: An outline of the feature you would like to see implemented, include as much detail as possible!
validations:
required: true
- type: dropdown
id: priority
attributes:
label: Priority
description: How urgent is the development of this feature?
options:
- Low (Nice-to-have)
- Medium (Would be very useful)
- High (App breaking feature)
validations:
required: true
@@ -0,0 +1,18 @@
# This template is heavily inspired by the Next.js's template:
# See here: https://github.com/vercel/next.js/blob/canary/.github/ISSUE_TEMPLATE/3.feature_request.yml
name: 🛠 Feature Request
description: Request a new feature that you would like to have implemented
title: "feat: "
labels: ["needs triage"]
body:
- type: textarea
attributes:
label: Describe the feature you'd like to request
description: Please describe the feature as clear and concise as possible. Remember to add context as to why you believe this feature is needed.
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: Add any other information related to the feature here. If your feature request is related to any issues or discussions, link them here.
-23
View File
@@ -1,23 +0,0 @@
name: 🤔 Idea
description: Tell us your idea! We may implement it.
title: '<title>'
labels: ['🤔 Idea']
body:
- type: textarea
id: feature
attributes:
label: Description
description: Tell us your idea! Please add as much details as possible.
placeholder: Maybe move ... to ...! Maybe add the version of Homarr somewhere...! Etc.
validations:
required: true
- type: checkboxes
id: idiot-check
attributes:
label: Please tick the boxes
description: Before submitting, please ensure that
options:
- label: You've read the [docs](https://github.com/ajnart/homarr#readme)
required: true
- label: You've checked for [duplicate issues](https://github.com/ajnart/homarr/issues)
required: true
+40
View File
@@ -0,0 +1,40 @@
name: 🛠 Integration request
description: Request support for a new integration (eg. Sonarr, Radarr)
title: "feat: "
labels: ["needs triage"]
body:
- type: input
attributes:
label: Project Website
description: Post the link to the website of the application. Paste the official link.
placeholder: ex. https://sonarr.tv/
validations:
required: true
- type: textarea
attributes:
label: Describe what data should be consumed by Homarr
description: Please describe what data Homarr should fetch from the integration. Specify in what interval data should be fetched and whether the user can also perform write operations (eg. deleting a movie or adding a user).
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: Add any other information related to the integration.
- type: dropdown
attributes:
label: Public API available?
description: Is there a public API available, that we can consume in Homarr?
options:
- Yes, available on a website
- Yes, available in the application itself
- No
validations:
required: true
- type: dropdown
attributes:
label: Are you willing to contribute this yourself?
options:
- Yes
- No
validations:
required: true
-23
View File
@@ -1,23 +0,0 @@
name: 🏗️ Module request
description: Request for a module to be added / an integration with you favourite service !
title: '<title>'
body:
- type: textarea
id: name
attributes:
label: Name the integration
description: Please describe the name of the Module/Integration you want to see and info that could help us with adding it. For example screenshots/mockups for inspiration. API links or already existing JavaScript/TypeScript integration of the API
validations:
required: true
- type: checkboxes
id: idiot-check
attributes:
label: Please tick the boxes
description: Before submitting, please ensure that
options:
- label: You've read the [docs](https://github.com/ajnart/homarr#readme)
required: true
- label: You've checked for [duplicate issues](https://github.com/ajnart/homarr/issues)
required: true
- label: You're not just putting an idea out there and actually give usefull information about how to implement your module idea
required: true
+30
View File
@@ -0,0 +1,30 @@
name: 🛠 Widget request
description: Request a new widget (eg. Clock, Calendar, ...)
title: "feat: "
labels: ["needs triage"]
body:
- type: input
attributes:
label: Compatible integrations
description: Post a list of the integrations that should be compatible with this widget. Divide using comma. Leave empty if no integration is needed.
placeholder: ex. Sonarr, Radarr, Lidarr, Readarr, Nextcloud
validations:
required: false
- type: textarea
attributes:
label: Describe what data should be displayed
description: Please describe what data Homarr should display. Describe how elements should be intractable and what actions the user can perform.
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: Add any other information related to the widget.
- type: dropdown
attributes:
label: Are you willing to contribute this yourself?
options:
- Yes
- No
validations:
required: true
@@ -0,0 +1,64 @@
name: Extract Build Artifact
description: Extracts artifacts from an existing Docker image to be used for from source installation
inputs:
digest:
description: Digest of Docker image to use
required: true
architecture:
description: Name of architecture, will be used to build artifact content (amd64 or arm64)
required: true
release-tag:
description: Tag of the release to which the artifact will be attached
required: true
repository:
description: Repository to which the release belongs, e.g. owner/repo
required: true
token:
description: GitHub token with permissions to upload release assets
required: true
runs:
using: "composite"
steps:
- name: Prebuilt debian dependencies
uses: homarr-labs/homarr/.github/actions/prebuilt-debian@dev
id: prebuilt-debian
with:
architecture: ${{ inputs.architecture }}
- name: Start docker container for ${{ inputs.architecture }}
run: |
docker run --name homarr \
-e "SECRET_ENCRYPTION_KEY=0000000000000000000000000000000000000000000000000000000000000000" \
--detach --rm ${{ inputs.digest }}
shell: bash
- name: Prepare extraction
run: |
docker exec homarr cp /etc/nginx/templates/nginx.conf /app && \
mkdir -p ${{ runner.temp }}/extraction/${{ inputs.architecture }}
shell: bash
- name: Extract source from ${{ inputs.architecture }} container (alpine)
run: |
docker exec homarr tar -czf extraction-alpine.tar.gz -C /app . && \
docker cp homarr:/app/extraction-alpine.tar.gz ${{ runner.temp }}/extraction/${{ inputs.architecture }}/build-alpine-${{ inputs.architecture }}.tar.gz && \
docker exec homarr rm /app/extraction-alpine.tar.gz
shell: bash
- name: Extract source from ${{ inputs.architecture }} container (debian)
run: |
docker cp ${{ steps.prebuilt-debian.outputs.path }}/. homarr:/app/build && \
docker cp ${{ steps.prebuilt-debian.outputs.path }}/. homarr:/app/node_modules/better-sqlite3/build/Release && \
docker exec homarr tar -czf extraction-debian.tar.gz -C /app . && \
docker cp homarr:/app/extraction-debian.tar.gz ${{ runner.temp }}/extraction/${{ inputs.architecture }}/build-debian-${{ inputs.architecture }}.tar.gz
shell: bash
- name: Stop ${{ inputs.architecture }} container
if: always()
run: docker container remove --force --volumes homarr
shell: bash
- name: Add build archive to release (alpine)
env:
GH_TOKEN: ${{ inputs.token }}
run: gh release upload --repo ${{ inputs.repository }} ${{ inputs.release-tag }} ${{ runner.temp }}/extraction/${{ inputs.architecture }}/build-alpine-${{ inputs.architecture }}.tar.gz --clobber
shell: bash
- name: Add build archive to release (debian)
env:
GH_TOKEN: ${{ inputs.token }}
run: gh release upload --repo ${{ inputs.repository }} ${{ inputs.release-tag }} ${{ runner.temp }}/extraction/${{ inputs.architecture }}/build-debian-${{ inputs.architecture }}.tar.gz --clobber
shell: bash
@@ -0,0 +1,42 @@
name: Prebuilt dependencies for debian
description: Provides prebuilt dependencies for debian based docker images
inputs:
architecture:
description: Name of architecture, will be used to build docker image (e.g. amd64, arm64)
required: true
outputs:
path:
description: Path to extracted prebuilt dependencies
value: ${{ runner.temp }}/prebuilts
runs:
using: "composite"
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build docker image for ${{ inputs.architecture }}
id: build
uses: docker/build-push-action@v6
with:
push: false
load: true
context: ./deployments/prebuilt-debian
platforms: linux/${{ inputs.architecture }}
tags: prebuilt-debian
- name: Start docker container for ${{ inputs.architecture }}
run: |
docker run --name prebuilt-debian \
--detach --rm prebuilt-debian
shell: bash
- name: Extract prebuilt dependencies from ${{ inputs.architecture }} container
run: |
mkdir -p ${{ runner.temp }}/prebuilts && \
docker cp prebuilt-debian:/app/node_modules/better-sqlite3/build/Release/better_sqlite3.node ${{ runner.temp }}/prebuilts/better_sqlite3.node
shell: bash
- name: Stop ${{ inputs.architecture }} container
if: always()
run: docker container remove --force --volumes prebuilt-debian
shell: bash
+11 -14
View File
@@ -1,16 +1,13 @@
*Thank you for contributing to Homarr! So that your Pull Request can be handled effectively, please populate the following fields (delete sections that are not applicable)*
<br/>
<div align="center">
<img src="https://homarr.dev/img/logo.png" height="80" alt="" />
<h3>Homarr</h3>
</div>
### Category
> One of: Bugfix / Feature / Code style update / Refactoring Only / Build related changes / Documentation / Other (Please specify!)
**Thank you for your contribution. Please ensure that your pull request meets the following pull request:**
### Overview
> Briefly outline your new changes...
### Issue Number _(if applicable)_
> Related issue: #00
### New Vars _(if applicable)_
> If you've added any new build scripts, environmental variables, config file options, dependency please outline here.
### Screenshot _(if applicable)_
> If you've introduced any significant UI changes, please include a screenshot.
- [ ] Builds without warnings or errors (`pnpm build`, autofix with `pnpm format:fix`)
- [ ] Pull request targets `dev` branch
- [ ] Commits follow the [conventional commits guideline](https://www.conventionalcommits.org/en/v1.0.0/)
- [ ] No shorthand variable names are used (eg. `x`, `y`, `i` or any abbrevation)
- [ ] Documentation is up to date. Create a pull request [here](https://github.com/homarr-labs/documentation/).
-27
View File
@@ -1,27 +0,0 @@
## 🦞 Homarr [v0.0.0](https://github.com/ajnart/homarr/compare/v0.0.0...v0.0.0) (2022-01-01)
<!-- Small release message -->
<!-- Bigger announcement marked in bold -->
### Upgrade Steps
*Upgrading without a mounted config? Make sure to download your config from the settings first! You can add it back later by drag and dropping it into your browser.*
* `docker pull ghcr.io/ajnart/homarr:latest`
* `docker stop [container_id]`
* `docker rm [container_id]`
* `docker run --name homarr -p 7575:7575 -v /data/docker/homarr:/app/data/configs -d ghcr.io/ajnart/homarr:latest`
* *(or use our [docker_compose.yml](https://github.com/ajnart/homarr#-installation))*
### Breaking Changes
### New Features
### Bug Fixes
### UI Changes
### GitHub Changes
### Other Changes
_**Special thanks to our contributors: @ajnart, @c00ldude1oo, @walkxcode, and of course all people using our project.**_
+41
View File
@@ -0,0 +1,41 @@
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: ["config:recommended"],
packageRules: [
{
matchPackageNames: ["^@homarr/"],
enabled: false,
},
// Reenable once https://github.com/privatenumber/tsx/issues/737 is fixed
{
matchPackageNames: ["tsx"],
enabled: false,
},
{
matchUpdateTypes: ["minor", "patch", "pin", "digest"],
automerge: true,
},
{
// disallow automerge for onlyBuiltDependencies
matchPackageNames: [
"@tree-sitter-grammars/tree-sitter-yaml",
"bcrypt",
"better-sqlite3",
"cpu-features",
"esbuild",
"sharp",
"ssh2",
"tree-sitter",
"tree-sitter-json",
],
automerge: false,
},
],
updateInternalDeps: true,
rangeStrategy: "bump",
automerge: false,
baseBranches: ["dev"],
dependencyDashboard: false,
// prevent special characters in branch names (otherwise git errors occur on windows)
branchNameStrict: true,
}
+30
View File
@@ -0,0 +1,30 @@
name: "[Dependency Updates] Auto Approve"
on:
pull_request:
types: [opened, synchronize]
permissions: {}
jobs:
approve-automatic-prs:
runs-on: ubuntu-latest
timeout-minutes: 2
if: github.actor_id == 158783068 || github.actor_id == 190541745 || github.actor_id == 210161987 # Id of renovate bot and crowdin bot see https://api.github.com/users/homarr-renovate%5Bbot%5D and https://api.github.com/users/homarr-crowdin%5Bbot%5D and https://api.github.com/users/homarr-update-contributors%5Bbot%5D
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Obtain token
id: obtainToken
uses: actions/create-github-app-token@v2
with:
private-key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
app-id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
permission-pull-requests: write # required to approve pull request
- name: Install GitHub CLI
run: sudo apt-get install -y gh
- name: Approve automatic PRs
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
gh pr review ${{github.event.pull_request.number}} --approve --body "Automatically approved by GitHub Action"
+118
View File
@@ -0,0 +1,118 @@
name: "[Quality] Code Analysis"
permissions:
contents: read
on:
pull_request:
branches: ["*"]
push:
branches: ["main"]
merge_group:
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
# You can leverage Vercel Remote Caching with Turbo to speed up your builds
# @link https://turborepo.org/docs/core-concepts/remote-caching#remote-caching-on-vercel-builds
env:
FORCE_COLOR: 3
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./tooling/github/setup
- name: Copy env
shell: bash
run: cp .env.example .env
- name: Lint
run: pnpm lint && pnpm lint:ws
format:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./tooling/github/setup
- name: Format
run: pnpm format
typecheck:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./tooling/github/setup
- name: Typecheck
run: turbo typecheck
test:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./tooling/github/setup
- name: Test
run: pnpm test
- name: "Report Coverage"
# Set if: always() to also generate the report if tests are failing
# Only works if you set `reportOnFailure: true` in your vite config as specified above
if: always()
uses: davelosert/vitest-coverage-report-action@v2
e2e:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./tooling/github/setup
- name: Build docker image
id: build-docker-image
uses: docker/build-push-action@v6
with:
platforms: linux/amd64
context: .
push: false
tags: homarr-e2e
network: host
env:
SKIP_ENV_VALIDATION: true
- name: Install playwright browsers
run: pnpm exec playwright install chromium
- name: Run E2E Tests
shell: bash
run: pnpm test:e2e
build:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./tooling/github/setup
- name: Copy env
shell: bash
run: cp .env.example .env
- name: Build
run: pnpm build
@@ -0,0 +1,20 @@
name: "[Conventions] Semantic PRs"
on:
pull_request_target:
types:
- opened
- edited
- synchronize
permissions:
pull-requests: read
jobs:
validate-pull-request-title:
runs-on: ubuntu-latest
timeout-minutes: 1
steps:
- uses: amannn/action-semantic-pull-request@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,55 @@
name: "[Crowdin] Download translations"
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *" # every day at midnight
permissions:
contents: write # required to push changes
jobs:
download-crowdin-translations:
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Obtain token
id: obtainToken
uses: actions/create-github-app-token@v2
with:
private-key: ${{ secrets.CROWDIN_APP_PRIVATE_KEY }}
app-id: ${{ secrets.CROWDIN_APP_ID }}
permission-contents: write # required to commit to crowdin branch
permission-pull-requests: write # required to create pull request
- name: Download Crowdin translations
id: crowdin-download
uses: crowdin/github-action@v2
with:
upload_sources: false
upload_translations: false
download_translations: true
localization_branch_name: crowdin
create_pull_request: true
pull_request_title: "chore(lang): updated translations from crowdin"
pull_request_body: "New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action)"
commit_message: "chore(lang): update translations from crowdin"
pull_request_base_branch_name: "dev"
github_user_name: "Crowdin Homarr"
github_user_email: "190541745+homarr-crowdin[bot]@users.noreply.github.com"
skip_untranslated_strings: true
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
- name: Enable auto-merge
if: steps.crowdin-download.outputs.pull_request_number != '' && steps.crowdin-download.outputs.pull_request_number != null
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
gh pr merge ${{steps.crowdin-download.outputs.pull_request_number}} --auto --squash --delete-branch --subject "chore(lang): updated translations from crowdin"
+31
View File
@@ -0,0 +1,31 @@
name: "[Crowdin] Upload translations"
permissions:
contents: read
on:
workflow_dispatch:
push:
paths:
- "packages/translation/src/lang/**"
branches: [dev]
jobs:
upload-crowdin-translations:
# Don't run this action if the downloaded translations are being pushed
if: "!contains(github.event.head_commit.message, 'chore(lang)')"
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Upload Crowdin translations
uses: crowdin/github-action@v2
with:
upload_sources: true
upload_translations: true
download_translations: false
env:
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
@@ -0,0 +1,270 @@
name: "[Deployment] Release"
on:
push:
branches:
- main
- beta
- dev
workflow_dispatch:
inputs:
send-notifications:
type: boolean
required: false
default: true
description: Send notifications
permissions:
contents: write # Required to update package.json version
packages: write # Required for pushing to GHCR
env:
SKIP_ENV_VALIDATION: true
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
GHCR_REPO: ghcr.io/${{ github.repository }}
TURBO_TELEMETRY_DISABLED: 1
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
jobs:
release:
name: Create tag and release
runs-on: ubuntu-latest
timeout-minutes: 5
env:
SKIP_RELEASE: ${{ github.event_name == 'workflow_dispatch' || github.ref_name == 'dev' }}
outputs:
version: ${{ steps.read-semver.outputs.version || steps.version-fallback.outputs.version }}
git_ref: ${{ steps.read-git-ref.outputs.ref || github.ref }}
skipped: ${{ env.SKIP_RELEASE }}
steps:
- run: echo "Skipping release for workflow_dispatch event"
if: env.SKIP_RELEASE == 'true'
# The below generated version fallback represents a normalized branch name, for example "feature/branch-name" -> "feature-branch-name"
- run: echo "version="$(echo ${{github.ref_name}} | sed 's/[^a-zA-Z0-9\-]/-/g') >> "$GITHUB_OUTPUT"
id: version-fallback
if: env.SKIP_RELEASE == 'true' && github.ref_name != 'main' && github.ref_name != 'beta'
- name: Obtain token
if: env.SKIP_RELEASE == 'false'
id: obtainToken
uses: actions/create-github-app-token@v2
with:
private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
permission-contents: write # required to commit package.json & changelog changes, merge them to dev and publish the release
- uses: actions/checkout@v6
if: env.SKIP_RELEASE == 'false'
with:
persist-credentials: false
- uses: pnpm/action-setup@v4
if: env.SKIP_RELEASE == 'false'
- uses: actions/setup-node@v6
if: env.SKIP_RELEASE == 'false'
with:
node-version: 24.12.0
cache: "pnpm"
- run: npm i -g pnpm
if: env.SKIP_RELEASE == 'false'
- name: Install dependencies
if: env.SKIP_RELEASE == 'false'
run: |
pnpm install
- name: Run Semantic Release
if: env.SKIP_RELEASE == 'false'
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
GIT_AUTHOR_NAME: "Releases Homarr"
GIT_AUTHOR_EMAIL: "175486441+homarr-releases[bot]@users.noreply.github.com"
GIT_COMMITTER_NAME: "Releases Homarr"
GIT_COMMITTER_EMAIL: "175486441+homarr-releases[bot]@users.noreply.github.com"
run: |
pnpm release
- name: Read semver output
# We read the last tag either from the created release or from the current branch, this is to rerun the deployment job for the currently released version when it failed
if: env.SKIP_RELEASE == 'false' || github.ref_name == 'main' || github.ref_name == 'beta'
id: read-semver
run: |
git fetch --tags
echo "version=$(git describe --tags --abbrev=0)" >> "$GITHUB_OUTPUT"
- name: Read git ref
if: env.SKIP_RELEASE == 'false'
id: read-git-ref
run: |
echo "ref=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
- name: Update dev branch
if: env.SKIP_RELEASE == 'false'
continue-on-error: true # Prevent pipeline from failing when merge fails
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
git config user.name "Releases Homarr"
git config user.email "175486441+homarr-releases[bot]@users.noreply.github.com"
git remote set-url origin https://x-access-token:${{ steps.obtainToken.outputs.token }}@github.com/${{ github.repository }}.git
git fetch origin dev
git checkout dev
git pull origin dev
git rebase ${{ github.ref_name }}
git push origin dev
build-amd64:
name: Build docker image for amd64
needs: release
runs-on: ubuntu-latest
timeout-minutes: 15
outputs:
digest: ${{ steps.build.outputs.digest }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ needs.release.outputs.git_ref }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: "${{ env.GHCR_REPO }}"
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push by digest
id: build
uses: docker/build-push-action@v6
with:
context: .
network: host
platforms: linux/amd64
labels: ${{ steps.meta.outputs.labels }}
outputs: type=image,"name=${{ env.GHCR_REPO }}",push-by-digest=true,name-canonical=true,push=true
env:
SKIP_ENV_VALIDATION: true
build-arm64:
name: Build docker image for arm64
needs: release
runs-on: ubuntu-24.04-arm
timeout-minutes: 20
outputs:
digest: ${{ steps.build.outputs.digest }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ needs.release.outputs.git_ref }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: "${{ env.GHCR_REPO }}"
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push by digest
id: build
uses: docker/build-push-action@v6
with:
context: .
network: host
platforms: linux/arm64
labels: ${{ steps.meta.outputs.labels }}
outputs: type=image,"name=${{ env.GHCR_REPO }}",push-by-digest=true,name-canonical=true,push=true
env:
SKIP_ENV_VALIDATION: true
extract-asset-amd64:
name: Extract amd64 asset from docker image
needs: [release, build-amd64]
runs-on: ubuntu-latest
timeout-minutes: 2
steps:
- name: Extract amd64
if: needs.release.outputs.skipped == 'false'
uses: homarr-labs/homarr/.github/actions/extract-build-artifact@dev
with:
digest: "${{ env.GHCR_REPO }}@${{ needs.build-amd64.outputs.digest }}"
architecture: amd64
release-tag: ${{ needs.release.outputs.version }}
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
extract-asset-arm64:
name: Extract arm64 asset from docker image
needs: [release, build-arm64]
runs-on: ubuntu-24.04-arm
timeout-minutes: 2
steps:
- name: Extract arm64
if: needs.release.outputs.skipped == 'false'
uses: homarr-labs/homarr/.github/actions/extract-build-artifact@dev
with:
digest: "${{ env.GHCR_REPO }}@${{ needs.build-arm64.outputs.digest }}"
architecture: arm64
release-tag: ${{ needs.release.outputs.version }}
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
publish:
name: Complete deployment and notify
needs: [release, build-amd64, build-arm64, extract-asset-amd64, extract-asset-arm64]
runs-on: ubuntu-latest
timeout-minutes: 5
env:
NEXT_VERSION: ${{ needs.release.outputs.version }}
DEPLOY_LATEST: ${{ github.ref_name == 'main' }}
DEPLOY_BETA: ${{ github.ref_name == 'beta' }}
steps:
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Publish beta
if: env.DEPLOY_BETA == 'true'
run: |
docker buildx imagetools create -t ${{ env.GHCR_REPO }}:beta \
${{ env.GHCR_REPO }}@${{ needs.build-amd64.outputs.digest }} \
${{ env.GHCR_REPO }}@${{ needs.build-arm64.outputs.digest }}
- name: Publish latest
if: env.DEPLOY_LATEST == 'true'
run: |
docker buildx imagetools create -t ${{ env.GHCR_REPO }}:latest \
${{ env.GHCR_REPO }}@${{ needs.build-amd64.outputs.digest }} \
${{ env.GHCR_REPO }}@${{ needs.build-arm64.outputs.digest }}
- name: Publish version
run: |
docker buildx imagetools create -t ${{ env.GHCR_REPO }}:${{ env.NEXT_VERSION }} \
${{ env.GHCR_REPO }}@${{ needs.build-amd64.outputs.digest }} \
${{ env.GHCR_REPO }}@${{ needs.build-arm64.outputs.digest }}
- name: Publish release
if: needs.release.outputs.skipped == 'false'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release edit --repo ${{ github.repository }} ${{ needs.release.outputs.version }} --draft=false
- name: Discord notification
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: "Successfully deployed images for branch **${{ github.ref_name }}**. Tagged as **${{env.NEXT_VERSION}}**."
@@ -0,0 +1,105 @@
name: "[Deployment] Automatic Weekly Release"
on:
schedule:
- cron: "0 19 * * 5" # https://crontab.guru/#0_19_*_*_5
workflow_dispatch:
inputs:
send-notifications:
type: boolean
required: false
default: true
description: Send notifications
permissions:
contents: write
pull-requests: write
jobs:
create-and-merge-pr:
runs-on: ubuntu-latest
timeout-minutes: 2
steps:
- name: Discord notification
if: ${{ github.events.inputs.send-notifications }}
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: "Automatic release has been triggered: [run ${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})"
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Get Next Version
id: semver
uses: ietf-tools/semver-action@v1
with:
token: ${{ github.token }}
branch: dev
- name: Create pull request
run: 'gh pr create --title "chore(release): automatic release ${{ steps.semver.outputs.next }}" --body "**This is an automatic release**.<br/>Manual action may be required for major bumps.<br/>Detected change to be ``${{ steps.semver.outputs.bump }}``<br/>Bump version from ``${{ steps.semver.outputs.current }}`` to ``${{ steps.semver.outputs.next }}``" --base main --head dev --label automerge'
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Discord notification
if: ${{ github.events.inputs.send-notifications }}
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: "Created a release PR ${{ steps.create-pull-request.outputs.url }} for version ${{ steps.semver.outputs.next }} (new behaviour: ${{ steps.semver.outputs.bump }})"
- name: Obtain token
id: obtainApprovalToken
uses: actions/create-github-app-token@v2
with:
private-key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
app-id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
permission-pull-requests: write
- name: Approve PR
env:
GITHUB_TOKEN: ${{ steps.obtainApprovalToken.outputs.token }}
run: |
gh pr review --approve --body "Automatically approved by GitHub Action"
- name: Obtain token
id: obtainMergeToken
uses: actions/create-github-app-token@v2
with:
private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
permission-contents: write # write to main branch (due to merge)
permission-pull-requests: write # merge pull request
- id: automerge
if: ${{ steps.semver.outputs.bump != 'major' }}
name: automerge
uses: "pascalgn/automerge-action@v0.16.4"
env:
GITHUB_TOKEN: ${{ steps.obtainMergeToken.outputs.token }}
MERGE_METHOD: merge # we prefer merge commits for merging to master
MERGE_COMMIT_MESSAGE: "chore(release): automatic release ${{ steps.semver.outputs.next }}"
MERGE_DELETE_BRANCH: false # never set to true!
PULL_REQUEST: "${{ steps.create-pull-request.outputs.pr_number }}"
MERGE_RETRIES: 20 # 20 retries * MERGE_RETRY_SLEEP until step fails
MERGE_RETRY_SLEEP: 10000 # 10 seconds * MERGE_RETRIES until step fails
MERGE_REQUIRED_APPROVALS: 0 # do not require approvals
- name: Merged Discord notification
if: ${{ steps.automerge.outputs.mergeResult == 'merged' && github.events.inputs.send-notifications }}
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: "Merged PR ${{ steps.create-pull-request.outputs.url }} for release ${{ steps.semver.outputs.next }}"
- name: Major Bump Discord notification
if: ${{ steps.semver.outputs.bump == 'major' && github.events.inputs.send-notifications }}
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: "The release PR must be manually merged because the next version is a major version: ${{ steps.create-pull-request.outputs.url }} for release ${{ steps.semver.outputs.next }}"
- name: Discord Fail Notification
if: failure() && github.events.inputs.send-notifications
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: "The automatic release workflow [run ${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) has failed"
-103
View File
@@ -1,103 +0,0 @@
name: Master CI
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
on:
push:
branches: [master]
paths-ignore:
- '.github/**'
- '**.md'
tags:
- v*
workflow_dispatch:
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
jobs:
# Push image to GitHub Packages.
# See also https://docs.docker.com/docker-hub/builds/
yarn_install_and_build:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Setup
uses: actions/setup-node@v3
- name: Checkout
uses: actions/checkout@v3
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v3
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Restore NextJS cache
uses: actions/cache@v3
with:
# See here for caching with `yarn` https://github.com/actions/cache/blob/main/examples.md#node---yarn or you can leverage caching with actions/setup-node https://github.com/actions/setup-node
path: |
${{ github.workspace }}/.next/cache
# Generate a new cache whenever packages or source files change.
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
# If source files changed but packages didn't, rebuild from a prior cache.
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
- run: yarn install --immutable
- run: yarn build
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
# list of Docker images to use as base name for tags
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# generate Docker tags based on the following events/attributes
tags: |
type=raw,value=latest
type=pep440,pattern={{version}}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
-156
View File
@@ -1,156 +0,0 @@
name: Development CI
on:
push:
branches: [dev]
paths-ignore:
- '.github/**'
- '**.md'
pull_request:
paths-ignore:
- '.github/**'
- '**.md'
workflow_dispatch:
inputs:
tag:
required: true
description: 'Tag to deploy to'
defaults:
run:
working-directory: ./
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
permissions:
contents: read # for checkout repository
actions: read # for fetching base branch bundle stats
pull-requests: write # for comments
jobs:
# Push image to GitHub Packages.
# See also https://docs.docker.com/docker-hub/builds/
yarn_install_and_build_dev:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Setup
uses: actions/setup-node@v3
- name: Checkout
uses: actions/checkout@v3
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v3
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Restore next build
uses: actions/cache@v3
id: restore-build-cache
env:
cache-name: cache-next-build
with:
path: .next/cache
key: ${{ runner.os }}-build-${{ env.cache-name }}
- run: yarn install --immutable
- run: yarn turbo build
- run: yarn test:run
- name: Docker meta
if: github.event_name != 'pull_request'
id: meta
uses: docker/metadata-action@v4
with:
# list of Docker images to use as base name for tags
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# generate Docker tags based on the following events/attributes
tags: |
type=ref,event=pr
type=raw,value=${{ github.event.inputs.tag }}, prefix=test-,enable=${{ github.event.inputs.tag != '' }}
tpye=raw,value=dev,priority=1,enable=${{ github.event.inputs.tag == '' }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to GHCR
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v4
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v3
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Restore next build
uses: actions/cache@v3
id: restore-build-cache
env:
cache-name: cache-next-build
with:
# if you use a custom build directory, replace all instances of `.next` in this file with your build directory
# ex: if your app builds to `dist`, replace `.next` with `dist`
path: .next/cache
# change this if you prefer a more strict cache
key: ${{ runner.os }}-build-${{ env.cache-name }}
- run: yarn install
- name: Build next.js app
# change this if your site requires a custom build command
run: yarn turbo build
@@ -0,0 +1,45 @@
name: "[Deployments] Validate prebuilt debian dependencies"
permissions:
contents: read
on:
pull_request:
branches: ["*"]
paths: [".github/actions/prebuilt-debian/**", "deployments/prebuilt-debian/**"]
jobs:
prebuilt-debian-validate-amd64:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- name: Validate prebuilt dependencies for amd64
id: validate-amd64
uses: ./.github/actions/prebuilt-debian
with:
architecture: amd64
- name: Check extracted files for amd64
run: |
if [ ! -f "${{ steps.validate-amd64.outputs.path }}/better_sqlite3.node" ]; then
echo "better_sqlite3.node not found for amd64!"
exit 1
fi
prebuilt-debian-validate-arm64:
runs-on: ubuntu-24.04-
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- name: Validate prebuilt dependencies for arm64
id: validate-arm64
uses: ./.github/actions/prebuilt-debian
with:
architecture: arm64
- name: Check extracted files for arm64
run: |
if [ ! -f "${{ steps.validate-arm64.outputs.path }}/better_sqlite3.node" ]; then
echo "better_sqlite3.node not found for arm64!"
exit 1
fi
@@ -0,0 +1,19 @@
name: "[Renovate] Validate configuration"
permissions:
contents: read
on:
pull_request:
branches: ["*"]
paths: [".github/renovate.json5"]
jobs:
renovate-validate:
runs-on: ubuntu-latest
timeout-minutes: 2
steps:
- uses: actions/checkout@v6
- run: |
npx --yes --package renovate -- \
renovate-config-validator --strict .github/renovate.json5
+89
View File
@@ -0,0 +1,89 @@
permissions: {}
on:
release:
types: [published]
jobs:
trigger-docs-release:
name: Trigger Documentation Release
runs-on: ubuntu-latest
timeout-minutes: 2
steps:
- name: Obtain token
id: obtainToken
uses: actions/create-github-app-token@v2
with:
private-key: ${{ secrets.HOMARR_DOCS_RELEASE_APP_PRIVATE_KEY }}
app-id: ${{ vars.HOMARR_DOCS_RELEASE_APP_ID }}
owner: homarr-labs
repositories: |
documentation
permission-contents: write # required to dispatch repository workflow
- name: Trigger documentation release
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
SOURCE_TAG: ${{ github.event.release.tag_name }}
run: |
curl -X POST \
-H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github+json" \
https://api.github.com/repos/homarr-labs/documentation/dispatches \
-d @- <<EOF
{
"event_type": "trigger-release",
"client_payload": {
"tag": "${SOURCE_TAG}"
}
}
EOF
update-bug-report-template:
name: Update Bug Report Template
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Obtain token
id: obtainToken
uses: actions/create-github-app-token@v2
with:
private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
permission-contents: write # required to commit to branch
permission-pull-requests: write # required to create pr & enable automerge
- name: Checkout code
uses: actions/checkout@v6
with:
token: ${{ steps.obtainToken.outputs.token }}
- name: Setup
uses: ./tooling/github/setup
- run: pnpm run scripts:update-bug-report-template
env:
NEXT_VERSION: ${{ github.event.release.tag_name }}
- name: Commit changes
run: |
git config --global user.email "175486441+homarr-releases[bot]@users.noreply.github.com"
git config --global user.name "Releases Homarr"
git checkout -b update-bug-report-template
git add .
git commit -m "chore: update bug report template"
- name: Create Pull Request
id: create-pull-request
uses: peter-evans/create-pull-request@v8
with:
token: ${{ steps.obtainToken.outputs.token }}
branch: update-bug-report-template
base: dev
title: "chore: update bug report template"
delete-branch: true
body: |
This PR automatically updates the bug report template of Homarr in the .github/ISSUE_TEMPLATE/bug_report.yml
- name: Install GitHub CLI
run: sudo apt-get install -y gh
- name: Enable auto-merge
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
gh pr merge ${{steps.create-pull-request.outputs.pull-request-number}} --auto --squash
@@ -0,0 +1,27 @@
permissions:
statuses: write
on:
pull_request:
types: [opened, synchronize]
jobs:
skip-stability-days:
if: ${{ !startsWith(github.head_ref, 'renovate/') }}
name: Skip Stability Days
runs-on: ubuntu-latest
timeout-minutes: 1
steps:
- name: Add status check
env:
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
run: |
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{github.repository}}/statuses/${{github.event.pull_request.head.sha}} \
-f 'state=success' \
-f 'target_url=https://docs.renovatebot.com/configuration-options#minimumreleaseage' \
-f 'description=Skipped for non renovate branches' \
-f 'context=renovate/stability-days'
+74
View File
@@ -0,0 +1,74 @@
name: Update Contributors
on:
schedule:
- cron: "0 12 * * FRI" # At 12:00 on Friday.
workflow_dispatch:
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
CROWDIN_TOKEN: "${{ secrets.CROWDIN_UPDATE_CONTRIBUTORS_TOKEN }}"
permissions:
contents: read
jobs:
update-contributors:
runs-on: ubuntu-latest
timeout-minutes: 2
strategy:
matrix:
node-version: [22]
steps:
- name: Obtain token
id: obtainToken
uses: actions/create-github-app-token@v2
with:
private-key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
app-id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
permission-contents: write # required to commit to branch
permission-pull-requests: write # required to create pr & enable automerge
- name: Checkout repository
uses: actions/checkout@v6
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
- uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Run update script
run: node ./scripts/update-contributors.mjs
- name: Commit changes
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
git config --global user.email "210161987+homarr-update-contributors[bot]@users.noreply.github.com"
git config --global user.name "Homarr Update Contributors"
git add .
git commit -m "chore: update contributors"
- name: Create Pull Request
id: create-pull-request
uses: peter-evans/create-pull-request@v8
with:
token: ${{ steps.obtainToken.outputs.token }}
branch: update-contributors
base: dev
title: "chore: update contributors"
delete-branch: true
body: |
This PR updates the contributors list in the static-data directory.
- name: Install GitHub CLI
run: sudo apt-get install -y gh
- name: Enable auto-merge
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
gh pr merge ${{steps.create-pull-request.outputs.pull-request-number}} --auto --squash
@@ -0,0 +1,65 @@
name: Update integration list
on:
workflow_dispatch: {}
push:
paths:
- packages/definitions/src/integration.ts
branches:
- dev
permissions:
pull-requests: write
jobs:
update-readme:
concurrency:
group: update-integration
cancel-in-progress: false
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Obtain token
id: obtainToken
uses: actions/create-github-app-token@v2
with:
private-key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
app-id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
permission-contents: write # required to commit to branch
permission-pull-requests: write # required to create pr & enable automerge
- name: Checkout code
uses: actions/checkout@v6
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
- name: Setup
uses: ./tooling/github/setup
- run: pnpm run scripts:update-readme-integrations
- name: Commit changes
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
git config --global user.email "210161987+homarr-update-contributors[bot]@users.noreply.github.com"
git config --global user.name "Homarr Update Contributors"
git add .
git commit -m "chore: update integrations list readme"
- name: Create Pull Request
id: create-pull-request
uses: peter-evans/create-pull-request@v8
with:
token: ${{ steps.obtainToken.outputs.token }}
branch: update-integrations-readme
base: dev
title: "chore: update integrations list readme"
delete-branch: true
body: |
This PR automatically updates the list of integrations of Homarr in the README.md
- name: Install GitHub CLI
run: sudo apt-get install -y gh
- name: Enable auto-merge
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
gh pr merge ${{steps.create-pull-request.outputs.pull-request-number}} --auto --squash
+40 -28
View File
@@ -1,19 +1,28 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
node_modules
.pnp
.pnp.js
.idea/
# testing
/coverage
coverage
# next.js
/.next/
/out/
.next/
out/
next-env.d.ts
# artifacts
packages/db/migrations/*/migrate.cjs
# nitro
.nitro/
.output/
# production
/build
build
# misc
.DS_Store
@@ -23,36 +32,39 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
# local env files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
.env*.local
# vercel
.vercel
.turbo
# typescript
*.tsbuildinfo
# storybook
storybook-static
data/configs
# turbo
.turbo
# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
# Yarn v2
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
# database
*.sqlite
#envfiles
.env
# logs
*.log
#Languages other than 'en'
public/locales/*
!public/locales/en
apps/tasks/tasks.cjs
apps/tasks/tasks.css
apps/websocket/wssServer.cjs
apps/websocket/wssServer.css
apps/nextjs/.million/
packages/cli/cli.cjs
# e2e mounts
e2e/shared/tmp
#personal backgrounds
apps/nextjs/public/images/background.png
# next-intl
en.d.json.ts
+6
View File
@@ -0,0 +1,6 @@
# Expo doesn't play nice with pnpm by default.
# The symbolic links of pnpm break the rules of Expo monorepos.
# @link https://docs.expo.dev/guides/monorepos/#common-issues
node-linker=hoisted
strict-peer-dependencies=false
engine-strict=true
+1
View File
@@ -0,0 +1 @@
24.12.0
+52
View File
@@ -0,0 +1,52 @@
{
"branches": [
"main",
{
"name": "beta",
"prerelease": true,
"channel": "beta"
}
],
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"preset": "conventionalcommits"
}
],
[
"@semantic-release/release-notes-generator",
{
"preset": "conventionalcommits"
}
],
[
"@semantic-release/changelog",
{
"changelogFile": "CHANGELOG.md"
}
],
[
"@semantic-release/npm",
{
"npmPublish": false
}
],
[
"@semantic-release/git",
{
"assets": ["package.json", "CHANGELOG.md"],
"message": "chore(release): ${nextRelease.version} [skip ci]"
}
],
[
"@semantic-release/github",
{
"successComment": false,
"failComment": false,
"draftRelease": true,
"releaseBodyTemplate": "<%= _.truncate(nextRelease.notes, { 'length': 124000, 'omission': '' }) %>"
}
]
]
}
+14
View File
@@ -0,0 +1,14 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="All Tests" type="JavaScriptTestRunnerVitest" nameIsGenerated="true">
<node-interpreter value="project" />
<vitest-package value="$PROJECT_DIR$/node_modules/vitest" />
<working-dir value="$PROJECT_DIR$" />
<vitest-options value="--exclude e2e --coverage.enabled" />
<envs>
<env name="NODE_ENV" value="development" />
<env name="CI" value="true" />
</envs>
<scope-kind value="ALL" />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="db:migration:mysql:generate" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="db:migration:mysql:generate" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="db:migration:postgresql:generate" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="db:migration:postgresql:generate" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="db:migration:sqlite:generate" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="db:migration:sqlite:generate" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="db:push" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="db:push" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="db:studio" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="db:studio" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="dev" type="js.build_tools.npm" nameIsGenerated="true">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="dev" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="docker:dev" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="docker:dev" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="format" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="format" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="format:fix" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="format:fix" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="test" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="test" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="test:ui" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="test:ui" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="typecheck" type="js.build_tools.npm">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="typecheck" />
</scripts>
<node-interpreter value="project" />
<package-manager value="pnpm" />
<envs />
<method v="2" />
</configuration>
</component>
+9
View File
@@ -0,0 +1,9 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"yoavbls.pretty-ts-errors",
"million.million-lint",
"lokalise.i18n-ally"
]
}
+36
View File
@@ -0,0 +1,36 @@
# .vscode/i18n-ally-custom-framework.yml
# An array of strings which contain Language Ids defined by VS Code
# You can check available language ids here: https://code.visualstudio.com/docs/languages/identifiers
languageIds:
- javascript
- typescript
- javascriptreact
- typescriptreact
# An array of RegExes to find the key usage. **The key should be captured in the first match group**.
# You should unescape RegEx strings in order to fit in the YAML file
# To help with this, you can use https://www.freeformatter.com/json-escape.html
usageMatchRegex:
# For direct t("your.i18n.keys") usage
- "[^\\w\\d]t\\(['\"`]({key})['\"`]"
# For variable t assigned from getScopedI18n or useScopedI18n
- "\\bt\\(['\"`]({key})['\"`]\\)"
# A RegEx to set a custom scope range. This scope will be used as a prefix when detecting keys
# and works like how the i18next framework identifies the namespace scope from the
# useTranslation() hook.
# You should unescape RegEx strings in order to fit in the YAML file
# To help with this, you can use https://www.freeformatter.com/json-escape.html
scopeRangeRegex: "(?:const|let|var)\\s+t\\s*=\\s*(?:await\\s+)?(?:getScopedI18n|useScopedI18n)\\(\\s*['\"](.*?)['\"]\\)"
# An array of strings containing refactor templates.
# The "$1" will be replaced by the keypath specified.
# Optional: uncomment the following two lines to use
# refactorTemplates:
# - i18n.get("$1")
# If set to true, only enables this custom framework (will disable all built-in frameworks)
monopoly: true
+86 -27
View File
@@ -1,28 +1,87 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Next.js: debug server-side",
"type": "node-terminal",
"request": "launch",
"command": "yarn dev"
},
{
"name": "Next.js: debug client-side",
"type": "chrome",
"request": "launch",
"url": "http://localhost:3000"
},
{
"name": "Next.js: debug full stack",
"type": "node-terminal",
"request": "launch",
"command": "yarn dev",
"serverReadyAction": {
"pattern": "started server on .+, url: (https?://.+)",
"uriFormat": "%s",
"action": "debugWithChrome"
}
}
]
}
"version": "0.2.0",
"configurations": [
{
"name": "dev",
"type": "node-terminal",
"request": "launch",
"command": "pnpm dev",
"cwd": "${workspaceFolder}",
"skipFiles": ["<node_internals>/**"]
},
{
"name": "docker dev",
"type": "node-terminal",
"request": "launch",
"command": "pnpm docker:dev",
"cwd": "${workspaceFolder}",
"skipFiles": [
"<node_internals>/**"
]
},
{
"name": "lint fix",
"type": "node-terminal",
"request": "launch",
"command": "pnpm lint:fix",
"cwd": "${workspaceFolder}",
"skipFiles": [
"<node_internals>/**"
]
},
{
"name": "format fix",
"type": "node-terminal",
"request": "launch",
"command": "pnpm format:fix",
"cwd": "${workspaceFolder}",
"skipFiles": [
"<node_internals>/**"
]
},
{
"name": "db push",
"type": "node-terminal",
"request": "launch",
"command": "pnpm db:push",
"cwd": "${workspaceFolder}",
"skipFiles": ["<node_internals>/**"]
},
{
"name": "db studio",
"type": "node-terminal",
"request": "launch",
"command": "pnpm db:studio",
"cwd": "${workspaceFolder}",
"skipFiles": ["<node_internals>/**"]
},
{
"name": "db migration run",
"type": "node-terminal",
"request": "launch",
"command": "pnpm db:migration:run",
"cwd": "${workspaceFolder}",
"skipFiles": ["<node_internals>/**"]
},
{
"name": "test",
"type": "node-terminal",
"request": "launch",
"command": "pnpm test",
"cwd": "${workspaceFolder}",
"skipFiles": [
"<node_internals>/**"
]
},
{
"name": "test ui",
"type": "node-terminal",
"request": "launch",
"command": "pnpm test:ui",
"cwd": "${workspaceFolder}",
"skipFiles": [
"<node_internals>/**"
]
}
]
}
+44
View File
@@ -0,0 +1,44 @@
{
"eslint.workingDirectories": [
{
"mode": "auto"
}
],
"eslint.experimental.useFlatConfig": true,
"typescript.tsdk": "node_modules\\typescript\\lib",
"js/ts.implicitProjectConfig.experimentalDecorators": true,
"prettier.configPath": "./tooling/prettier/index.mjs",
"cSpell.words": [
"ajnart",
"cqmin",
"gridstack",
"homarr",
"jellyfin",
"llen",
"lpop",
"lpush",
"lrange",
"ltrim",
"mantine",
"manuel-rw",
"Meierschlumpf",
"overseerr",
"Sabnzbd",
"SeDemal",
"Sonarr",
"sslverify",
"superjson",
"tabler",
"trpc",
"Umami"
],
"i18n-ally.dirStructure": "auto",
"i18n-ally.displayLanguage": "en",
"i18n-ally.enabledFrameworks": [
"custom"
],
"i18n-ally.localesPaths": [
"packages/translation/src/lang",
],
"i18n-ally.keystyle": "nested",
}
-874
View File
@@ -1,874 +0,0 @@
#!/usr/bin/env node
/* eslint-disable */
//prettier-ignore
(()=>{var xge=Object.create;var lS=Object.defineProperty;var Pge=Object.getOwnPropertyDescriptor;var Dge=Object.getOwnPropertyNames;var kge=Object.getPrototypeOf,Rge=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var Fge=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)lS(r,t,{get:e[t],enumerable:!0})},Nge=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Dge(e))!Rge.call(r,n)&&n!==t&&lS(r,n,{get:()=>e[n],enumerable:!(i=Pge(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?xge(kge(r)):{},Nge(e||!r||!r.__esModule?lS(t,"default",{value:r,enumerable:!0}):t,r));var vK=w((J7e,SK)=>{SK.exports=bK;bK.sync=tfe;var BK=J("fs");function efe(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i<t.length;i++){var n=t[i].toLowerCase();if(n&&r.substr(-n.length).toLowerCase()===n)return!0}return!1}function QK(r,e,t){return!r.isSymbolicLink()&&!r.isFile()?!1:efe(e,t)}function bK(r,e,t){BK.stat(r,function(i,n){t(i,i?!1:QK(n,r,e))})}function tfe(r,e){return QK(BK.statSync(r),r,e)}});var RK=w((W7e,kK)=>{kK.exports=PK;PK.sync=rfe;var xK=J("fs");function PK(r,e,t){xK.stat(r,function(i,n){t(i,i?!1:DK(n,e))})}function rfe(r,e){return DK(xK.statSync(r),e)}function DK(r,e){return r.isFile()&&ife(r,e)}function ife(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var NK=w((V7e,FK)=>{var z7e=J("fs"),lI;process.platform==="win32"||global.TESTING_WINDOWS?lI=vK():lI=RK();FK.exports=SS;SS.sync=nfe;function SS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){SS(r,e||{},function(s,o){s?n(s):i(o)})})}lI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function nfe(r,e){try{return lI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var HK=w((X7e,UK)=>{var Dg=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",TK=J("path"),sfe=Dg?";":":",LK=NK(),OK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),MK=(r,e)=>{let t=e.colon||sfe,i=r.match(/\//)||Dg&&r.match(/\\/)?[""]:[...Dg?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Dg?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Dg?n.split(t):[""];return Dg&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},KK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=MK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(OK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=TK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];LK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},ofe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=MK(r,e),s=[];for(let o=0;o<t.length;o++){let a=t[o],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=TK.join(l,r),u=!l&&/^\.[\\\/]/.test(r)?r.slice(0,2)+c:c;for(let g=0;g<i.length;g++){let f=u+i[g];try{if(LK.sync(f,{pathExt:n}))if(e.all)s.push(f);else return f}catch{}}}if(e.all&&s.length)return s;if(e.nothrow)return null;throw OK(r)};UK.exports=KK;KK.sync=ofe});var YK=w((Z7e,vS)=>{"use strict";var GK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};vS.exports=GK;vS.exports.default=GK});var WK=w((_7e,JK)=>{"use strict";var jK=J("path"),afe=HK(),Afe=YK();function qK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=afe.sync(r.command,{path:t[Afe({env:t})],pathExt:e?jK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=jK.resolve(n?r.options.cwd:"",o)),o}function lfe(r){return qK(r)||qK(r,!0)}JK.exports=lfe});var zK=w(($7e,PS)=>{"use strict";var xS=/([()\][%!^"`<>&|;, *?])/g;function cfe(r){return r=r.replace(xS,"^$1"),r}function ufe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(xS,"^$1"),e&&(r=r.replace(xS,"^$1")),r}PS.exports.command=cfe;PS.exports.argument=ufe});var XK=w((eZe,VK)=>{"use strict";VK.exports=/^#!(.*)/});var _K=w((tZe,ZK)=Line truncated
`,Nn=me(`\\
`,!1),ns=function(){return""},ss="\\",gt=me("\\",!1),wo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),ln=function(m){return m},S="\\a",Lt=me("\\a",!1),hg=function(){return"a"},Ol="\\b",bp=me("\\b",!1),Sp=function(){return"\b"},vp=/^[Ee]/,xp=Je(["E","e"],!1,!1),Pp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),yA=function(){return"\f"},zi="\\n",Ml=me("\\n",!1),Xe=function(){return`
`},pa="\\r",pg=me("\\r",!1),OE=function(){return"\r"},Dp="\\t",ME=me("\\t",!1),ar=function(){return" "},Tn="\\v",Kl=me("\\v",!1),kp=function(){return"\v"},Us=/^[\\'"?]/,da=Je(["\\","'",'"',"?"],!1,!1),cn=function(m){return String.fromCharCode(parseInt(m,16))},Le="\\x",dg=me("\\x",!1),Ul="\\u",Hs=me("\\u",!1),Hl="\\U",wA=me("\\U",!1),Cg=function(m){return String.fromCodePoint(parseInt(m,16))},mg=/^[0-7]/,Ca=Je([["0","7"]],!1,!1),ma=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),Bo=nt(),BA="-",Gl=me("-",!1),Gs="+",Yl=me("+",!1),KE=".",Rp=me(".",!1),Eg=function(m,b,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(b.join("")+"."+N.join(""))}},Fp=function(m,b){return{type:"number",value:(m==="-"?-1:1)*parseInt(b.join(""))}},UE=function(m){return{type:"variable",...m}},jl=function(m){return{type:"variable",name:m}},HE=function(m){return m},Ig="*",QA=me("*",!1),Rr="/",GE=me("/",!1),Ys=function(m,b,N){return{type:b==="*"?"multiplication":"division",right:N}},js=function(m,b){return b.reduce((N,U)=>({left:N,...U}),m)},yg=function(m,b,N){return{type:b==="+"?"addition":"subtraction",right:N}},bA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ke=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Ln=me("${",!1),Jb=":-",P1=me(":-",!1),D1=function(m,b){return{name:m,defaultValue:b}},Wb=":-}",k1=me(":-}",!1),R1=function(m){return{name:m,defaultValue:[]}},zb=":+",F1=me(":+",!1),N1=function(m,b){return{name:m,alternativeValue:b}},Vb=":+}",T1=me(":+}",!1),L1=function(m){return{name:m,alternativeValue:[]}},Xb=function(m){return{name:m}},O1="$",M1=me("$",!1),K1=function(m){return e.isGlobPattern(m)},U1=function(m){return m},Zb=/^[a-zA-Z0-9_]/,_b=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),$b=function(){return L()},eS=/^[$@*?#a-zA-Z0-9_\-]/,tS=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),H1=/^[(){}<>$|&; \t"']/,wg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),rS=/^[<>&; \t"']/,iS=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),YE=/^[ \t]/,jE=Je([" "," "],!1,!1),Q=0,Me=0,SA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function L(){return r.substring(Me,Q)}function Z(){return Et(Me,Q)}function te(m,b){throw b=b!==void 0?b:Et(Me,Q),Ri([lt(m)],r.substring(Me,Q),b)}function we(m,b){throw b=b!==void 0?b:Et(Me,Q),On(m,b)}function me(m,b){return{type:"literal",text:m,ignoreCase:b}}function Je(m,b,N){return{type:"class",parts:m,inverted:b,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var b=SA[m],N;if(b)return b;for(N=m-1;!SA[N];)N--;for(b=SA[N],b={line:b.line,column:b.column};N<m;)r.charCodeAt(N)===10?(b.line++,b.column=1):b.column++,N++;return SA[m]=b,b}function Et(m,b){var N=it(m),U=it(b);return{start:{offset:m,line:N.line,column:N.column},end:{offset:b,line:U.line,column:U.column}}}function Qe(m){Q<d||(Q>d&&(d=Q,E=[]),E.push(m))}function On(m,b){return new Zl(m,null,null,b)}function Ri(m,b,N){return new Zl(Zl.buildMessage(m,b),m,b,N)}function vA(){var m,b;return m=Q,b=Mr(),b===t&&(b=null),b!==t&&(Me=m,b=s(b)),m=b,m}function Mr(){var m,b,N,U,ce;if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U!==t?(ce=os(),ce===t&&(ce=null),ce!==t?(Me=m,b=o(b,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;if(m===t)if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U===t&&(U=null),U!==t?(Me=m,b=a(b,U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function os(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Mr(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=l(N),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function Ea(){var m;return r.charCodeAt(Q)===59?(m=c,Q++):(m=t,I===0&&Qe(u)),m===t&&(r.charCodeAt(Q)===38?(m=g,Q++):(m=t,I===0&&Qe(f))),m}function Kr(){var m,b,N;return m=Q,b=G1(),b!==t?(N=uge(),N===t&&(N=null),N!==t?(Me=m,b=h(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function uge(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=gge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=p(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function gge(){var m;return r.substr(Q,2)===C?(m=C,Q+=2):(m=t,I===0&&Qe(y)),m===t&&(r.substr(Q,2)===B?(m=B,Q+=2):(m=t,I===0&&Qe(v))),m}function G1(){var m,b,N;return m=Q,b=pge(),b!==t?(N=fge(),N===t&&(N=null),N!==t?(Me=m,b=D(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function fge(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=hge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=G1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=T(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;retLine truncated
\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;o<this.buffer.length&&`\0\r
\x85\u2028\u2029`.indexOf(this.buffer.charAt(o))===-1;)if(o+=1,o-this.position>t/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),mU.repeat(" ",e)+i+a+s+`
`+mU.repeat(" ",e+this.position-n+i.length)+"^"};HS.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`:
`+t)),i};EU.exports=HS});var si=w((bZe,wU)=>{"use strict";var yU=Ng(),Tfe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Lfe=["scalar","sequence","mapping"];function Ofe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Mfe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(Tfe.indexOf(t)===-1)throw new yU('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Ofe(e.styleAliases||null),Lfe.indexOf(this.kind)===-1)throw new yU('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}wU.exports=Mfe});var rc=w((SZe,QU)=>{"use strict";var BU=tc(),dI=Ng(),Kfe=si();function GS(r,e,t){var i=[];return r.include.forEach(function(n){t=GS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Ufe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(i);return r}function Tg(r){this.include=r.include||[],this.implicit=r.implicit||[],this.explicit=r.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!=="scalar")throw new dI("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=GS(this,"implicit",[]),this.compiledExplicit=GS(this,"explicit",[]),this.compiledTypeMap=Ufe(this.compiledImplicit,this.compiledExplicit)}Tg.DEFAULT=null;Tg.create=function(){var e,t;switch(arguments.length){case 1:e=Tg.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new dI("Wrong number of arguments for Schema.create function")}if(e=BU.toArray(e),t=BU.toArray(t),!e.every(function(i){return i instanceof Tg}))throw new dI("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(i){return i instanceof Kfe}))throw new dI("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new Tg({include:e,explicit:t})};QU.exports=Tg});var SU=w((vZe,bU)=>{"use strict";var Hfe=si();bU.exports=new Hfe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var xU=w((xZe,vU)=>{"use strict";var Gfe=si();vU.exports=new Gfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var DU=w((PZe,PU)=>{"use strict";var Yfe=si();PU.exports=new Yfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var CI=w((DZe,kU)=>{"use strict";var jfe=rc();kU.exports=new jfe({explicit:[SU(),xU(),DU()]})});var FU=w((kZe,RU)=>{"use strict";var qfe=si();function Jfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Wfe(){return null}function zfe(r){return r===null}RU.exports=new qfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Jfe,construct:Wfe,predicate:zfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var TU=w((RZe,NU)=>{"use strict";var Vfe=si();function Xfe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function Zfe(r){return r==="true"||r==="True"||r==="TRUE"}function _fe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}NU.exports=new Vfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Xfe,construct:Zfe,predicate:_fe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var OU=w((FZe,LU)=>{"use strict";var $fe=tc(),ehe=si();function the(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function rhe(r){return 48<=r&&r<=55}function ihe(r){return 48<=r&&r<=57}function nhe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t<e;t++)if(n=r[t],n!=="_"){if(n!=="0"&&n!=="1")return!1;i=!0}return i&&n!=="_"}if(n==="x"){for(t++;t<e;t++)if(n=r[t],n!=="_"){if(!the(r.charCodeAt(t)))return!1;i=!0}return i&&n!=="_"}for(;t<e;t++)if(n=r[t],n!=="_"){if(!rhe(r.charCodeAt(t)))return!1;i=!0}return i&&n!=="_"}if(n==="_")return!1;for(;t<e;t++)if(n=r[t],n!=="_"){if(n===":")break;if(!ihe(r.charCodeAt(t)))return!1;i=!0}return!i||n==="_"?!1:n!==":"?!0:/^(:[0-5]?[0-9])+$/.test(r.slice(t)) Line truncated
\r`;function Bhe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=qS;for(t=0;t<n;t++)if(e=s.indexOf(r.charAt(t)),!(e>64)){if(e<0)return!1;i+=6}return i%8===0}function Qhe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=qS,o=0,a=[];for(e=0;e<n;e++)e%4===0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),ic?ic.from?ic.from(a):new ic(a):a}function bhe(r){var e="",t=0,i,n,s=r.length,o=qS;for(i=0;i<s;i++)i%3===0&&i&&(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function She(r){return ic&&ic.isBuffer(r)}XU.exports=new whe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Bhe,construct:Qhe,predicate:She,represent:bhe})});var $U=w((HZe,_U)=>{"use strict";var vhe=si(),xhe=Object.prototype.hasOwnProperty,Phe=Object.prototype.toString;function Dhe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t<i;t+=1){if(n=a[t],o=!1,Phe.call(n)!=="[object Object]")return!1;for(s in n)if(xhe.call(n,s))if(!o)o=!0;else return!1;if(!o)return!1;if(e.indexOf(s)===-1)e.push(s);else return!1}return!0}function khe(r){return r!==null?r:[]}_U.exports=new vhe("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Dhe,construct:khe})});var t2=w((GZe,e2)=>{"use strict";var Rhe=si(),Fhe=Object.prototype.toString;function Nhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e<t;e+=1){if(i=o[e],Fhe.call(i)!=="[object Object]"||(n=Object.keys(i),n.length!==1))return!1;s[e]=[n[0],i[n[0]]]}return!0}function The(r){if(r===null)return[];var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e<t;e+=1)i=o[e],n=Object.keys(i),s[e]=[n[0],i[n[0]]];return s}e2.exports=new Rhe("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Nhe,construct:The})});var i2=w((YZe,r2)=>{"use strict";var Lhe=si(),Ohe=Object.prototype.hasOwnProperty;function Mhe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Ohe.call(t,e)&&t[e]!==null)return!1;return!0}function Khe(r){return r!==null?r:{}}r2.exports=new Lhe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Mhe,construct:Khe})});var Lg=w((jZe,n2)=>{"use strict";var Uhe=rc();n2.exports=new Uhe({include:[jS()],implicit:[JU(),zU()],explicit:[ZU(),$U(),t2(),i2()]})});var o2=w((qZe,s2)=>{"use strict";var Hhe=si();function Ghe(){return!0}function Yhe(){}function jhe(){return""}function qhe(r){return typeof r>"u"}s2.exports=new Hhe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Ghe,construct:Yhe,predicate:qhe,represent:jhe})});var A2=w((JZe,a2)=>{"use strict";var Jhe=si();function Whe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function zhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Vhe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function Xhe(r){return Object.prototype.toString.call(r)==="[object RegExp]"}a2.exports=new Jhe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Whe,construct:zhe,predicate:Xhe,represent:Vhe})});var u2=w((WZe,c2)=>{"use strict";var mI;try{l2=J,mI=l2("esprima")}catch{typeof window<"u"&&(mI=window.esprima)}var l2,Zhe=si();function _he(r){if(r===null)return!1;try{var e="("+r+")",t=mI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function $he(r){var e="("+r+")",t=mI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function epe(r){return r.toString()}function tpe(r){return Object.prototype.toString.call(r)==="[object Function]"}c2.exports=new Zhe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:_he,construct:$he,predicate:tpe,represent:epe})});var Xp=w((VZe,f2)=>{"use strict";var g2=rc();f2.exports=g2.DEFAULT=new g2({include:[Lg()],explicit:[o2(),A2(),u2()]})});var R2=w((XZe,Zp)=>{"use strict";var Ba=tc(),I2=Ng(),rpe=IU(),y2=Lg(),ipe=Xp(),RA=Object.prototype.hasOwnProperty,EI=1,w2=2,B2=3,II=4,JS=1,npe=2,h2=3,spe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC Line truncated
`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function upe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var S2=new Array(256),v2=new Array(256);for(nc=0;nc<256;nc++)S2[nc]=d2(nc)?1:0,v2[nc]=d2(nc);var nc;function gpe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||ipe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function x2(r,e){return new I2(e,new rpe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw x2(r,e)}function yI(r,e){r.onWarning&&r.onWarning.call(null,x2(r,e))}var C2={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&yI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],Q2.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),RA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),b2.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function kA(r,e,t,i){var n,s,o,a;if(e<t){if(a=r.input.slice(e,t),i)for(n=0,s=a.length;n<s;n+=1)o=a.charCodeAt(n),o===9||32<=o&&o<=1114111||ft(r,"expected valid JSON character");else spe.test(a)&&ft(r,"the stream contains non-printable characters");r.result+=a}}function m2(r,e,t,i){var n,s,o,a;for(Ba.isObject(t)||ft(r,"cannot merge mappings; the provided source object is unacceptable"),n=Object.keys(t),o=0,a=n.length;o<a;o+=1)s=n[o],RA.call(e,s)||(e[s]=t[s],i[s]=!0)}function Mg(r,e,t,i,n,s,o,a){var l,c;if(Array.isArray(n))for(n=Array.prototype.slice.call(n),l=0,c=n.length;l<c;l+=1)Array.isArray(n[l])&&ft(r,"nested arrays are not supported inside keys"),typeof n=="object"&&p2(n[l])==="[object Object]"&&(n[l]="[object Object]");if(typeof n=="object"&&p2(n)==="[object Object]"&&(n="[object Object]"),n=String(n),e===null&&(e={}),i==="tag:yaml.org,2002:merge")if(Array.isArray(s))for(l=0,c=s.length;l<c;l+=1)m2(r,e,s[l],t);else m2(r,e,s,t);else!r.json&&!RA.call(t,n)&&RA.call(e,n)&&(r.line=o||r.line,r.position=a||r.position,ft(r,"duplicated mapping key")),e[n]=s,delete t[n];return e}function WS(r){var e;e=r.input.charCodeAt(r.position),e===10?r.position++:e===13?(r.position++,r.input.charCodeAt(r.position)===10&&r.position++):ft(r,"a line break is expected"),r.line+=1,r.lineStart=r.position}function zr(r,e,t){for(var i=0,n=r.input.charCodeAt(r.position);n!==0;){for(;sc(n);)n=r.input.charCodeAt(++r.position);if(e&&n===35)do n=r.input.charCodeAt(++r.position);while(n!==10&&n!==13&&n!==0);if(vo(n))for(WS(r),n=r.input.charCodeAt(r.position),i++,r.lineIndent=0;n===32;)r.lineIndent++,n=r.input.charCodeAt(++r.position);else break}return t!==-1&&i!==0&&r.lineIndent<t&&yI(r,"deficient indentation"),i}function wI(r){var e=r.position,t;return t=r.input.charCodeAt(e),!!((t===45||t===46)&&t===r.input.charCodeAt(e+1)&&t===r.input.charCodeAt(e+2)&&(e+=3,t=r.input.charCodeAt(e),t===0||fn(t)))}function zS(r,e){e===1?r.result+=" ":e>1&&(r.result+=Ba.repeat(`
`,e-1))}function fpe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),fn(h)||Og(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Og(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Og(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),fn(i))break}else{if(r.position===r.lineStart&&wI(r)||t&&Og(h))break;if(vo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(kA(r,s,o,!1),zS(r,r.line-l),s=o=r.position,a=!1),sc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return kA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function hpe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(kA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else vo(t)?(kA(r,i,n,!0),zS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function ppe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return kA(r,t,r.position,!0),r.position++,!0;if(a===92){if(kA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),vo(a))zr(r,!1,e);else if(a<256&&S2[a])r.result+=v2[a],r.position++;else if((o=lpe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=Ape(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=upe(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else vo(a)?(kA(r,t,i,!0),zS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function dpe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),fn(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Kg(r,e,EI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Kg(r,e,EI,!1,!0),C=r.result),g?Mg(r,s,f,p,h,C):c?s.push(Mg(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function Cpe(r,e){var t,i,n=JS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)JS===n?n=g===43?h2:npe:ft(r,"repeat of a chomping mode identifier");else if((u=cpe(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(sc(g)){do g=r.input.charCodeAt(++r.position);while(sc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!vo(g)&&g!==0)}for(;g!==0;){for(WS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndent<a)&&g===32;)r.lineIndent++,g=r.input.charCodeAt(++r.position);if(!o&&r.lineIndent>a&&(a=r.lineIndent),vo(g)){l++;continue}if(r.lineIndent<a){n===h2?r.result+=Ba.repeat(`
`,s?1+l:l):n===JS&&s&&(r.result+=`
`);break}for(i?sc(g)?(c=!0,r.result+=Ba.repeat(`
`,s?1+l:l)):c?(c=!1,r.result+=Ba.repeat(`
`,l+1)):l===0?s&&(r.result+=" "):r.result+=Ba.repeat(`
`,l):r.result+=Ba.repeat(`
`,s?1+l:l),s=!0,o=!0,l=0,t=r.position;!vo(g)&&g!==0;)g=r.input.charCodeAt(++r.position);kA(r,t,r.position,!1)}return!0}function E2(r,e){var t,i=r.tag,n=r.anchor,s=[],o,a=!1,l;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),l=r.input.charCodeAt(r.position);l!==0&&!(l!==45||(o=r.input.charCodeAt(r.position+1),!fn(o)));){if(a=!0,r.position++,zr(r,!0,-1)&&r.lineIndent<=e){s.push(null),l=r.input.charCodeAt(r.position);continue}if(t=r.line,Kg(r,e,B2,!1,!0),s.push(r.result),zr(r,!0,-1),l=r.input.charCodeAt(r.position),(r.line===t||r.lineIndent>e)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndent<e)break}return a?(r.tag=i,r.anchor=n,r.kind="sequence",r.result=s,!0):!1}function mpe(r,e,t){var i,n,s,o,a=r.tag,l=r.anchor,c={},u={},g=null,f=null,h=null,p=!1,C=!1,y;for(r.anchor!==null&&(r.anchorMap[r.anchor]=c),y=r.input.charCodeAt(r.position);y!==0;){if(i=r.input.charCodeAt(r.position+1),s=r.line,o=r.position,(y===63||y===58)&&fn(i))y===63?(p&&(Mg(r,c,u,g,f,null),g=f=h=null),C=!0,p=!0,n=!0):p?(p=!1,n=!0):ft(r,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),r.position+=1,y=i;else if(Kg(r,t,w2,!1,!0))if(r.line===s){for(y=r.input.charCodeAt(r.position);sc(y);)y=r.input.charCodeAt(++r.position);if(y===58)y=r.input.charCodeAt(++r.position),fn(y)||ft(r,"a whitespace character is expected after the key-value separator within a block mapping"),p&&(Mg(r,c,u,g,f,null),g=f=h=null),C=!0,p=!1,n=!1,g=r.tag,f=r.result;else if(C)ft(r,"can not read an implicit mapping pair; a colon is missed");else return r.tag=a,r.anchor=l,!0}else if(C)ft(r,"can not read a block mapping entry; a multiline key may not be an implicit key");else return r.tag=a,r.anchor=l,!0;else break;if((r.line===s||r.lineIndent>e)&&(Kg(r,e,II,!0,n)&&(p?f=r.result:h=r.result),p||(Mg(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndent<e)break}return p&&Mg(r,c,u,g,f,null),C&&(r.tag=a,r.anchor=l,r.kind="mapping",r.result=c),C}function Epe(r){var e,t=!1,i=!1,n,s,o;if(o=r.input.charCodeAt(r.position),o!==33)return!1;if(r.tag!==null&&ft(r,"duplication of a tag property"),o=r.input.charCodeAt(++r.position),o===60?(t=!0,o=r.input.charCodeAt(++r.position)):o===33?(i=!0,n="!!",o=r.input.charCodeAt(++r.position)):n="!",e=r.position,t){do o=r.input.charCodeAt(++r.position);while(o!==0&&o!==62);r.position<r.length?(s=r.input.slice(e,r.position),o=r.input.charCodeAt(++r.position)):ft(r,"unexpected end of the stream within a verbatim tag")}else{for(;o!==0&&!fn(o);)o===33&&(i?ft(r,"tag suffix cannot contain exclamation marks"):(n=r.input.slice(e-1,r.position+1),Q2.test(n)||ft(r,"named tag handle cannot contain such characters"),i=!0,e=r.position+1)),o=r.input.charCodeAt(++r.position);s=r.input.slice(e,r.position),ape.test(s)&&ft(r,"tag suffix cannot contain flow indicator characters")}return s&&!b2.test(s)&&ft(r,"tag name cannot contain such characters: "+s),t?r.tag=s:RA.call(r.tagMap,n)?r.tag=r.tagMap[n]+s:n==="!"?r.tag="!"+s:n==="!!"?r.tag="tag:yaml.org,2002:"+s:ft(r,'undeclared tag handle "'+n+'"'),!0}function Ipe(r){var e,t;if(t=r.input.charCodeAt(r.position),t!==38)return!1;for(r.anchor!==null&&ft(r,"duplication of an anchor property"),t=r.input.charCodeAt(++r.position),e=r.position;t!==0&&!fn(t)&&!Og(t);)t=r.input.charCodeAt(++r.position);return r.position===e&&ft(r,"name of an anchor node must contain at least one character"),r.anchor=r.input.slice(e,r.position),!0}function ype(r){var e,t,i;if(i=r.input.charCodeAt(r.position),i!==42)return!1;for(i=r.input.charCodeAt(++r.position),e=r.position;i!==0&&!fn(i)&&!Og(i);)i=r.input.charCodeAt(++r.position);return r.position===e&&ft(r,"name of an alias node must contain at least one character"),t=r.input.slice(e,r.position),RA.call(r.anchorMap,t)||ft(r,'unidentified alias "'+t+'"'),r.result=r.anchorMap[t],zr(r,!0,-1),!0}function Kg(r,e,t,i,n){var s,o,a,l=1,c=!1,u=!1,g,f,h,p,C;if(r.listener!==null&&r.listener("open",r),r.tag=null,r.anchor=null,r.kind=null,r.result=null,s=o=a=II===t||B2===t,i&&zr(r,!0,-1)&&(c=!0,r.lineIndent>e?l=1:r.lineIndent===e?l=0:r.lineIndent<e&&(l=-1)),l===1)for(;Epe(r)||Ipe(r);)zr(r,!0,-1)?(c=!0,a=s,r.lineIndent>e?l=1:r.lineIndent===e?l=0:r.lineIndent<e&&(l=-1)):a=!1;if(a&&(a=c||n),(l===1||II===t)&&(EI===t||w2===t?p=e:p=e+1,C=r.position-r.lineStart,l===1?a&&(E2(r,C)||mpe(r,C,p))||dpe(r,p)?u=!0:(o&&Cpe(r,p)||hpe(r,p)||ppe(r,p)?u=!0:ype(r)?(u=!0,(r.tag!==null||r.anchor!==null)&&ft(r,"alias node should not have any properties")):fpe(r,p,EI===t)&&(u=!0,r.tag===null&&(r.tag="?")),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):l===0&&(u=a&&E2(r,C))),r.tag!==null&&r.tag!=="!")if(r.tag==="?"){for(r.result!==null&&r.kind!=="scalar"&&ft(r,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g<f;g+=1)if(h=r.implicitTypes[g],h.resolve(r.result)){r.result=h.construct(r.result),r.tag=h.tag Line truncated
`),r.charCodeAt(0)===65279&&(r=r.slice(1)));var t=new gpe(r,e),i=r.indexOf("\0");for(i!==-1&&(t.position=i,ft(t,"null byte is not allowed in input")),t.input+="\0";t.input.charCodeAt(t.position)===32;)t.lineIndent+=1,t.position+=1;for(;t.position<t.length-1;)wpe(t);return t.documents}function D2(r,e,t){e!==null&&typeof e=="object"&&typeof t>"u"&&(t=e,e=null);var i=P2(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n<s;n+=1)e(i[n])}function k2(r,e){var t=P2(r,e);if(t.length!==0){if(t.length===1)return t[0];throw new I2("expected a single document in the stream, but found more")}}function Bpe(r,e,t){return typeof e=="object"&&e!==null&&typeof t>"u"&&(t=e,e=null),D2(r,e,Ba.extend({schema:y2},t))}function Qpe(r,e){return k2(r,Ba.extend({schema:y2},e))}Zp.exports.loadAll=D2;Zp.exports.load=k2;Zp.exports.safeLoadAll=Bpe;Zp.exports.safeLoad=Qpe});var tH=w((ZZe,_S)=>{"use strict";var $p=tc(),ed=Ng(),bpe=Xp(),Spe=Lg(),U2=Object.prototype.toString,H2=Object.prototype.hasOwnProperty,vpe=9,_p=10,xpe=13,Ppe=32,Dpe=33,kpe=34,G2=35,Rpe=37,Fpe=38,Npe=39,Tpe=42,Y2=44,Lpe=45,j2=58,Ope=61,Mpe=62,Kpe=63,Upe=64,q2=91,J2=93,Hpe=96,W2=123,Gpe=124,z2=125,Ni={};Ni[0]="\\0";Ni[7]="\\a";Ni[8]="\\b";Ni[9]="\\t";Ni[10]="\\n";Ni[11]="\\v";Ni[12]="\\f";Ni[13]="\\r";Ni[27]="\\e";Ni[34]='\\"';Ni[92]="\\\\";Ni[133]="\\N";Ni[160]="\\_";Ni[8232]="\\L";Ni[8233]="\\P";var Ype=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function jpe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n<s;n+=1)o=i[n],a=String(e[o]),o.slice(0,2)==="!!"&&(o="tag:yaml.org,2002:"+o.slice(2)),l=r.compiledTypeMap.fallback[o],l&&H2.call(l.styleAliases,a)&&(a=l.styleAliases[a]),t[o]=a;return t}function F2(r){var e,t,i;if(e=r.toString(16).toUpperCase(),r<=255)t="x",i=2;else if(r<=65535)t="u",i=4;else if(r<=4294967295)t="U",i=8;else throw new ed("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+t+$p.repeat("0",i-e.length)+e}function qpe(r){this.schema=r.schema||bpe,this.indent=Math.max(1,r.indent||2),this.noArrayIndent=r.noArrayIndent||!1,this.skipInvalid=r.skipInvalid||!1,this.flowLevel=$p.isNothing(r.flowLevel)?-1:r.flowLevel,this.styleMap=jpe(this.schema,r.styles||null),this.sortKeys=r.sortKeys||!1,this.lineWidth=r.lineWidth||80,this.noRefs=r.noRefs||!1,this.noCompatMode=r.noCompatMode||!1,this.condenseFlow=r.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function N2(r,e){for(var t=$p.repeat(" ",e),i=0,n=-1,s="",o,a=r.length;i<a;)n=r.indexOf(`
`,i),n===-1?(o=r.slice(i),i=a):(o=r.slice(i,n+1),i=n+1),o.length&&o!==`
`&&(s+=t),s+=o;return s}function VS(r,e){return`
`+$p.repeat(" ",r.indent*e)}function Jpe(r,e){var t,i,n;for(t=0,i=r.implicitTypes.length;t<i;t+=1)if(n=r.implicitTypes[t],n.resolve(e))return!0;return!1}function ZS(r){return r===Ppe||r===vpe}function Ug(r){return 32<=r&&r<=126||161<=r&&r<=55295&&r!==8232&&r!==8233||57344<=r&&r<=65533&&r!==65279||65536<=r&&r<=1114111}function Wpe(r){return Ug(r)&&!ZS(r)&&r!==65279&&r!==xpe&&r!==_p}function T2(r,e){return Ug(r)&&r!==65279&&r!==Y2&&r!==q2&&r!==J2&&r!==W2&&r!==z2&&r!==j2&&(r!==G2||e&&Wpe(e))}function zpe(r){return Ug(r)&&r!==65279&&!ZS(r)&&r!==Lpe&&r!==Kpe&&r!==j2&&r!==Y2&&r!==q2&&r!==J2&&r!==W2&&r!==z2&&r!==G2&&r!==Fpe&&r!==Tpe&&r!==Dpe&&r!==Gpe&&r!==Ope&&r!==Mpe&&r!==Npe&&r!==kpe&&r!==Rpe&&r!==Upe&&r!==Hpe}function V2(r){var e=/^\n* /;return e.test(r)}var X2=1,Z2=2,_2=3,$2=4,BI=5;function Vpe(r,e,t,i,n){var s,o,a,l=!1,c=!1,u=i!==-1,g=-1,f=zpe(r.charCodeAt(0))&&!ZS(r.charCodeAt(r.length-1));if(e)for(s=0;s<r.length;s++){if(o=r.charCodeAt(s),!Ug(o))return BI;a=s>0?r.charCodeAt(s-1):null,f=f&&T2(o,a)}else{for(s=0;s<r.length;s++){if(o=r.charCodeAt(s),o===_p)l=!0,u&&(c=c||s-g-1>i&&r[g+1]!==" ",g=s);else if(!Ug(o))return BI;a=s>0?r.charCodeAt(s-1):null,f=f&&T2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?X2:Z2:t>9&&V2(r)?BI:c?$2:_2}function Xpe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&Ype.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return Jpe(r,l)}switch(Vpe(e,o,r.indent,s,a)){case X2:return e;case Z2:return"'"+e.replace(/'/g,"''")+"'";case _2:return"|"+L2(e,r.indent)+O2(N2(e,n));case $2:return">"+L2(e,r.indent)+O2(N2(Zpe(e,s),n));case BI:return'"'+_pe(e,s)+'"';default:throw new ed("impossible error: invalid scalar style")}}()}function L2(r,e){var t=V2(r)?String(e):"",i=r[r.length-1]===`
`,n=i&&(r[r.length-2]===`
`||r===`
`),s=n?"+":i?"":"-";return t+s+`
`}function O2(r){return r[r.length-1]===`
`?r.slice(0,-1):r}function Zpe(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(`
`);return c=c!==-1?c:r.length,t.lastIndex=c,M2(r.slice(0,c),e)}(),n=r[0]===`
`||r[0]===" ",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?`
`:"")+M2(l,e),n=s}return i}function M2(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=`
`+r.slice(n,s),n=s+1),o=a;return l+=`
`,r.length-n>e&&o>n?l+=r.slice(n,o)+`
`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function _pe(r){for(var e="",t,i,n,s=0;s<r.length;s++){if(t=r.charCodeAt(s),t>=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=F2((t-55296)*1024+i-56320+65536),s++;continue}n=Ni[t],e+=!n&&Ug(t)?r[s]:n||F2(t)}return e}function $pe(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s<o;s+=1)oc(r,e,t[s],!1,!1)&&(s!==0&&(i+=","+(r.condenseFlow?"":" ")),i+=r.dump);r.tag=n,r.dump="["+i+"]"}function ede(r,e,t,i){var n="",s=r.tag,o,a;for(o=0,a=t.length;o<a;o+=1)oc(r,e+1,t[o],!0,!0)&&((!i||o!==0)&&(n+=VS(r,e)),r.dump&&_p===r.dump.charCodeAt(0)?n+="-":n+="- ",n+=r.dump);r.tag=s,r.dump=n||"[]"}function tde(r,e,t){var i="",n=r.tag,s=Object.keys(t),o,a,l,c,u;for(o=0,a=s.length;o<a;o+=1)u="",o!==0&&(u+=", "),r.condenseFlow&&(u+='"'),l=s[o],c=t[l],oc(r,e,l,!1,!1)&&(r.dump.length>1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),oc(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function rde(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new ed("sortKeys must be a boolean or a function");for(a=0,l=o.length;a<l;a+=1)f="",(!i||a!==0)&&(f+=VS(r,e)),c=o[a],u=t[c],oc(r,e+1,c,!0,!0,!0)&&(g=r.tag!==null&&r.tag!=="?"||r.dump&&r.dump.length>1024,g&&(r.dump&&_p===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=VS(r,e)),oc(r,e+1,u,!0,g)&&(r.dump&&_p===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function K2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s<o;s+=1)if(a=n[s],(a.instanceOf||a.predicate)&&(!a.instanceOf||typeof e=="object"&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(r.tag=t?a.tag:"?",a.represent){if(l=r.styleMap[a.tag]||a.defaultStyle,U2.call(a.represent)==="[object Function]")i=a.represent(e,l);else if(H2.call(a.represent,l))i=a.represent[l](e,l);else throw new ed("!<"+a.tag+'> tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function oc(r,e,t,i,n,s){r.tag=null,r.dump=t,K2(r,t,!1)||K2(r,t,!0);var o=U2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(rde(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(tde(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(ede(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):($pe(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&Xpe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new ed("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function ide(r,e){var t=[],i=[],n,s;for(XS(r,t,i),n=0,s=i.length;n<s;n+=1)e.duplicates.push(t[i[n]]);e.usedDuplicates=new Array(s)}function XS(r,e,t){var i,n,s;if(r!==null&&typeof r=="object")if(n=e.indexOf(r),n!==-1)t.indexOf(n)===-1&&t.push(n);else if(e.push(r),Array.isArray(r))for(n=0,s=r.length;n<s;n+=1)XS(r[n],e,t);else for(i=Object.keys(r),n=0,s=i.length;n<s;n+=1)XS(r[i[n]],e,t)}function eH(r,e){e=e||{};var t=new qpe(e);return t.noRefs||ide(r,t),oc(t,0,r,!0,!0)?t.dump+`
`:""}function nde(r,e){return eH(r,$p.extend({schema:Spe},e))}_S.exports.dump=eH;_S.exports.safeDump=nde});var iH=w((_Ze,Fr)=>{"use strict";var QI=R2(),rH=tH();function bI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=rc();Fr.exports.FAILSAFE_SCHEMA=CI();Fr.exports.JSON_SCHEMA=YS();Fr.exports.CORE_SCHEMA=jS();Fr.exports.DEFAULT_SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_FULL_SCHEMA=Xp();Fr.exports.load=QI.load;Fr.exports.loadAll=QI.loadAll;Fr.exports.safeLoad=QI.safeLoad;Fr.exports.safeLoadAll=QI.safeLoadAll;Fr.exports.dump=rH.dump;Fr.exports.safeDump=rH.safeDump;Fr.exports.YAMLException=Ng();Fr.exports.MINIMAL_SCHEMA=CI();Fr.exports.SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_SCHEMA=Xp();Fr.exports.scan=bI("scan");Fr.exports.parse=bI("parse");Fr.exports.compose=bI("compose");Fr.exports.addConstructor=bI("addConstructor")});var sH=w(($Ze,nH)=>{"use strict";var sde=iH();nH.exports=sde});var aH=w((e_e,oH)=>{"use strict";function ode(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function ac(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ac)}ode(ac,Error);ac.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+"-"+s(c.parts[g][1]):s(c.parts[g]);return"["+(c.inverted?"^":"")+u+"]"},any:function(c){return"any character"},end:function(c){return"end of input"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(u){return"\\x0"+i(u)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(u){return"\\x"+i(u)})}function s(c){return c.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(u){return"\\x0"+i(u)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(u){return"\\x"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+" or "+u[1];default:return u.slice(0,-1).join(", ")+", or "+u[u.length-1]}}function l(c){return c?'"'+n(c)+'"':"end of input"}return"Expected "+a(r)+" but "+l(e)+" found."};function ade(r,e){e=e!==void 0?e:{};var t={},i={Start:Hs},n=Hs,s=function(R){return[].concat(...R)},o="-",a=ar("-",!1),l=function(R){return R},c=function(R){return Object.assign({},...R)},u="#",g=ar("#",!1),f=Kl(),h=function(){return{}},p=":",C=ar(":",!1),y=function(R,q){return{[R]:q}},B=",",v=ar(",",!1),D=function(R,q){return q},T=function(R,q,Ce){return Object.assign({},...[R].concat(q).map(Ke=>({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Us("correct indentation"),V=" ",W=ar(" ",!1),_=function(R){return R.length===bA*yg},A=function(R){return R.length===(bA+1)*yg},Ae=function(){return bA++,!0},ge=function(){return bA--,!0},re=function(){return pg()},O=Us("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Tn(["\r",`
`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),pe=/^[^\r\n\t ,\][{}:#"']/,ke=Tn(["\r",`
`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Fe=function(){return pg().replace(/^ *| *$/g,"")},Ne="--",oe=ar("--",!1),le=/^[a-zA-Z\/0-9]/,Be=Tn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,ae=Tn(["\r",`
`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},he="true",ie=ar("true",!1),de=function(){return!0},_e="false",Pt=ar("false",!1),It=function(){return!1},Or=Us("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Ks=/^[^"\\\0-\x1F\x7F]/,pr=Tn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ii='\\"',rs=ar('\\"',!1),fa=function(){return'"'},CA="\\\\",cg=ar("\\\\",!1),is=function(){return"\\"},mA="\\/",ha=ar("\\/",!1),wp=function(){return"/"},EA="\\b",IA=ar("\\b",!1),wr=function(){return"\b"},Tl="\\f",ug=ar("\\f",!1),Io=function(){return"\f"},gg="\\n",Bp=ar("\\n",!1),Qp=function(){return`
`},vr="\\r",se=ar("\\r",!1),yo=function(){return"\r"},Fn="\\t",fg=ar("\\t",!1),Qt=function(){return" "},Ll="\\u",Nn=ar("\\u",!1),ns=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},ss=/^[0-9a-fA-F]/,gt=Tn([["0","9"],["a","f"],["A","F"]],!1,!1),wo=Us("blank space"),At=/^[ \t]/,ln=Tn([" "," "],!1,!1),S=Us("white space"),Lt=/^[ \t\n\r]/,hg=Tn([" "," ",`
`,"\r"],!1,!1),Ol=`\r
`,bp=ar(`\r
`,!1),Sp=`
`,vp=ar(`
`,!1),xp="\r",Pp=ar("\r",!1),G=0,yt=0,yA=[{line:1,column:1}],zi=0,Ml=[],Xe=0,pa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function pg(){return r.substring(yt,G)}function OE(){return cn(yt,G)}function Dp(R,q){throw q=q!==void 0?q:cn(yt,G),Ul([Us(R)],r.substring(yt,G),q)}function ME(R,q){throw q=q!==void 0?q:cn(yt,G),dg(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Tn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Kl(){return{type:"any"}}function kp(){return{type:"end"}}function Us(R){return{type:"other",description:R}}function da(R){var q=yA[R],Ce;if(q)return q;for(Ce=R-1;!yA[Ce];)Ce--;for(q=yA[Ce],q={line:q.line,column:q.column};Ce<R;)r.charCodeAt(Ce)===10?(q.line++,q.column=1):q.column++,Ce++;return yA[R]=q,q}function cn(R,q){var Ce=da(R),Ke=da(q);return{start:{offset:R,line:Ce.line,column:Ce.column},end:{offset:q,line:Ke.line,column:Ke.column}}}function Le(R){G<zi||(G>zi&&(zi=G,Ml=[]),Ml.push(R))}function dg(R,q){return new ac(R,null,null,q)}function Ul(R,q,Ce){return new ac(ac.buildMessage(R,q),R,q,Ce)}function Hs(){var R;return R=Cg(),R}function Hl(){var R,q,Ce;for(R=G,q=[],Ce=wA();Ce!==t;)q.push(Ce),Ce=wA();return q!==t&&(yt=R,q=s(q)),R=q,R}function wA(){var R,q,Ce,Ke,Re;return R=G,q=ma(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Le(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=Ca(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function Cg(){var R,q,Ce;for(R=G,q=[],Ce=mg();Ce!==t;)q.push(Ce),Ce=mg();return q!==t&&(yt=R,q=c(q)),R=q,R}function mg(){var R,q,Ce,Ke,Re,ze,dt,Ft,Ln;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Le(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Ys(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Ys();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=ma(),q!==t?(Ce=Gl(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=ma(),q!==t?(Ce=Gs(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=KE(),Re!==t){if(ze=[],dt=Ys(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ys();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Le(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=Ca(),Ft!==t?(yt=R,q=T(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function Ca(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=js(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Le(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ys(),Ce!==t?(Ke=Bo(),Ke!==t?(Re=Hl(),Re!==t?(ze=BA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=js(),q!==t?(Ce=Bo(),Ce!==t?(Ke=Cg(),Ke!==t?(Re=BA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Yl(),q!==t){if(Ce=[],Ke=Ys(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Ys();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function ma(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=_(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Le($)),R}function rt(){var R,q,Ce;for(RLine truncated
`),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,C=!0;break;case"s":p=f;break;case"S":p=f,C=!0;break;case"w":p=g;break;case"W":p=g,C=!0;break}return a(p),{type:"Set",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(`
`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var C=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case`
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),C=!0);this.isClassAtom();){var y=this.classAtom(),B=y.type==="Character";if(B&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),D=v.type==="Character";if(D){if(v.value<y.value)throw Error("Range out of order in character class");p.push({from:y.value,to:v.value})}else s(y.value,p),p.push(n("-")),s(v.value,p)}else s(y.value,p)}return this.consumeChar("]"),{type:"Set",complement:C,value:p}},r.prototype.classAtom=function(){switch(this.peekChar()){case"]":case`
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}},r.prototype.classEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:n("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.group=function(){var p=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),p=!1;break;default:this.groupIdx++;break}var C=this.disjunction();this.consumeChar(")");var y={type:"Group",capturing:p,value:C};return p&&(y.idx=this.groupIdx),y},r.prototype.positiveInteger=function(){var p=this.popChar();if(i.test(p)===!1)throw Error("Expecting a positive integer");for(;t.test(this.peekChar(0));)p+=this.popChar();return parseInt(p,10)},r.prototype.integerIncludingZero=function(){var p=this.popChar();if(t.test(p)===!1)throw Error("Expecting an integer");for(;t.test(this.peekChar(0));)p+=this.popChar();return parseInt(p,10)},r.prototype.patternCharacter=function(){var p=this.popChar();switch(p){case`
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:n(p)}}},r.prototype.isRegExpFlag=function(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}},r.prototype.isRangeDash=function(){return this.peekChar()==="-"&&this.isClassAtom(1)},r.prototype.isDigit=function(){return t.test(this.peekChar(0))},r.prototype.isClassAtom=function(p){switch(p===void 0&&(p=0),this.peekChar(p)){case"]":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}},r.prototype.isTerm=function(){return this.isAtom()||this.isAssertion()},r.prototype.isAtom=function(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}},r.prototype.isAssertion=function(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}},r.prototype.isQuantifier=function(){var p=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(p)}},r.prototype.isPatternCharacter=function(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}},r.prototype.parseHexDigits=function(p){for(var C="",y=0;y<p;y++){var B=this.popChar();if(e.test(B)===!1)throw Error("Expecting a HexDecimal digits");C+=B}var v=parseInt(C,16);return{type:"Character",value:v}},r.prototype.peekChar=function(p){return p===void 0&&(p=0),this.input[this.idx+p]},r.prototype.popChar=function(){var p=this.peekChar(0);return this.consumeChar(),p},r.prototype.consumeChar=function(p){if(p!==void 0&&this.input[this.idx]!==p)throw Error("Expected: '"+p+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(y){C.push(y)}):C.push(p)}function o(p,C){if(p[C]===!0)throw"duplicate flag "+C;p[C]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(`
`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var ty=w(Xg=>{"use strict";Object.defineProperty(Xg,"__esModule",{value:!0});Xg.clearRegExpParserCache=Xg.getRegExpAst=void 0;var mEe=$I(),ey={},EEe=new mEe.RegExpParser;function IEe(r){var e=r.toString();if(ey.hasOwnProperty(e))return ey[e];var t=EEe.pattern(e);return ey[e]=t,t}Xg.getRegExpAst=IEe;function yEe(){ey={}}Xg.clearRegExpParserCache=yEe});var YY=w(Cn=>{"use strict";var wEe=Cn&&Cn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Cn,"__esModule",{value:!0});Cn.canMatchCharCode=Cn.firstCharOptimizedIndices=Cn.getOptimizedStartCodesIndices=Cn.failedOptimizationPrefixMsg=void 0;var UY=$I(),gs=Gt(),HY=ty(),xa=Rv(),GY="Complement Sets are not supported for first char optimization";Cn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations:
`;function BEe(r,e){e===void 0&&(e=!1);try{var t=(0,HY.getRegExpAst)(r),i=iy(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===GY)e&&(0,gs.PRINT_WARNING)(""+Cn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` >
`)+` Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=`
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,gs.PRINT_ERROR)(Cn.failedOptimizationPrefixMsg+`
`+(" Failed parsing: < "+r.toString()+` >
`)+(" Using the regexp-to-ast library version: "+UY.VERSION+`
`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Cn.getOptimizedStartCodesIndices=BEe;function iy(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i<r.value.length;i++)iy(r.value[i],e,t);break;case"Alternative":for(var n=r.value,i=0;i<n.length;i++){var s=n[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}var o=s;switch(o.type){case"Character":ry(o.value,e,t);break;case"Set":if(o.complement===!0)throw Error(GY);(0,gs.forEach)(o.value,function(c){if(typeof c=="number")ry(c,e,t);else{var u=c;if(t===!0)for(var g=u.from;g<=u.to;g++)ry(g,e,t);else{for(var g=u.from;g<=u.to&&g<xa.minOptimizationVal;g++)ry(g,e,t);if(u.to>=xa.minOptimizationVal)for(var f=u.from>=xa.minOptimizationVal?u.from:xa.minOptimizationVal,h=u.to,p=(0,xa.charCodeToOptimizedIndex)(f),C=(0,xa.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case"Group":iy(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&kv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,gs.values)(e)}Cn.firstCharOptimizedIndices=iy;function ry(r,e,t){var i=(0,xa.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&QEe(r,e)}function QEe(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,xa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,xa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function KY(r,e){return(0,gs.find)(r.value,function(t){if(typeof t=="number")return(0,gs.contains)(e,t);var i=t;return(0,gs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function kv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,gs.isArray)(r.value)?(0,gs.every)(r.value,kv):kv(r.value):!1}var bEe=function(r){wEe(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,gs.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?KY(t,this.targetCharCodes)===void 0&&(this.found=!0):KY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(UY.BaseRegExpVisitor);function SEe(r,e){if(e instanceof RegExp){var t=(0,HY.getRegExpAst)(e),i=new bEe(r);return i.visit(t),i.found}else return(0,gs.find)(e,function(n){return(0,gs.contains)(r,n.charCodeAt(0))})!==void 0}Cn.canMatchCharCode=SEe});var Rv=w(Ve=>{"use strict";var jY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,"__esModule",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var qY=$I(),ir=Bd(),xe=Gt(),Zg=YY(),JY=ty(),Do="PATTERN";Ve.DEFAULT_MODE="defaultMode";Ve.MODES="modes";Ve.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function vEe(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=vEe;function xEe(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=xEe;function PEe(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){KEe()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[Do]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[Do];if((0,xe.isRegExp)(D)){var T=D.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!D.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Tv(D):Nv(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Tv(j):Nv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var T=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return T}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=oj(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(nj(D,v)===!1)return(0,Zg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,Ov),h=(0,xe.map)(s,ij),p=(0,xe.reduce)(i,function(v,D){var T=D.GROUP;return(0,xe.isString)(T)&&T!==ir.Lexer.SKIPPED&&(v[T]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,T){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Lv(H);Fv(v,j,C[T])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var _=typeof W=="string"?W.charCodeAt(0):W,A=Lv(_);$!==A&&($=A,Fv(v,A,C[T]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern.
`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,Zg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){Fv(v,W,C[T])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing <start_chars_hint> parameter.
`)+` This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t("ArrayPacking",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=PEe;function DEe(r,e){var t=[],i=WY(r);t=t.concat(i.errors);var n=zY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(kEe(s)),t=t.concat(ej(s)),t=t.concat(tj(s,e)),t=t.concat(rj(s)),t}Ve.validatePatterns=DEe;function kEe(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[Do])});return e=e.concat(VY(t)),e=e.concat(ZY(t)),e=e.concat(_Y(t)),e=e.concat($Y(t)),e=e.concat(XY(t)),e}function WY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,Do)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=WY;function zY(r){var e=(0,xe.filter)(r,function(n){var s=n[Do];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,"exec")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=zY;var REe=/[^\\][\$]/;function VY(r){var e=function(n){jY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(qY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,JY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return REe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error:
Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=VY;function XY(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n.test("")}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=XY;var FEe=/[^\\[][\^]|^\^/;function ZY(r){var e=function(n){jY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(qY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,JY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return FEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error:
Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findStartOfInputAnchor=ZY;function _Y(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=_Y;function $Y(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=$Y;function ej(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=ej;function tj(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=tj;function rj(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&TEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n<a&&NEe(o,i.PATTERN)){var c="Token: ->"+l.name+`<- can never be matched.
`+("Because it appears AFTER the Token Type ->"+i.name+"<-")+`in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=rj;function NEe(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function TEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Nv(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Nv;function Tv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Tv;function LEe(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition
`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,xe.has)(r,Ve.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.MODES+`> property in its definition
`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,xe.has)(r,Ve.MODES)&&(0,xe.has)(r,Ve.DEFAULT_MODE)&&!(0,xe.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ve.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist
`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,xe.has)(r,Ve.MODES)&&(0,xe.forEach)(r.modes,function(n,s){(0,xe.forEach)(n,function(o,a){(0,xe.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`>
`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=LEe;function OEe(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[Do]===ir.Lexer.NA}),a=oj(t);return e&&(0,xe.forEach)(o,function(l){var c=nj(l,a);if(c!==!1){var u=sj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Zg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ve.performWarningRuntimeChecks=OEe;function MEe(r){var e={},t=(0,xe.keys)(r);return(0,xe.forEach)(t,function(i){var n=r[i];if((0,xe.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ve.cloneEmptyGroups=MEe;function Ov(r){var e=r.PATTERN;if((0,xe.isRegExp)(e))return!1;if((0,xe.isFunction)(e))return!0;if((0,xe.has)(e,"exec"))return!0;if((0,xe.isString)(e))return!1;throw Error("non exhaustive match")}Ve.isCustomPattern=Ov;function ij(r){return(0,xe.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ve.isShortPattern=ij;Ve.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t<e;t++){var i=r.charCodeAt(t);if(i===10)return this.lastIndex=t+1,!0;if(i===13)return r.charCodeAt(t+1)===10?this.lastIndex=t+2:this.lastIndex=t+1,!0}return!1},lastIndex:0};function nj(r,e){if((0,xe.has)(r,"LINE_BREAKS"))return!1;if((0,xe.isRegExp)(r.PATTERN)){try{(0,Zg.canMatchCharCode)(e,r.PATTERN)}catch(t){return{issue:ir.LexerDefinitionErrorType.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}else{if((0,xe.isString)(r.PATTERN))return!1;if(Ov(r))return{issue:ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function sj(r,e){if(e.issue===ir.LexerDefinitionErrorType.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
`+(" The problem is in the <"+r.name+`> Token Type
`)+(" Root cause: "+e.errMsg+`.
`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
`+(" The problem is in the <"+r.name+`> Token Type
`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=sj;function oj(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Fv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var ny=[];function Lv(r){return r<Ve.minOptimizationVal?r:ny[r]}Ve.charCodeToOptimizedIndex=Lv;function KEe(){if((0,xe.isEmpty)(ny)){ny=new Array(65536);for(var r=0;r<65536;r++)ny[r]=r>255?255+~~(r/255):r}}});var _g=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var Zr=Gt();function UEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=UEe;function HEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=HEe;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function GEe(r){var e=aj(r);Aj(e),cj(e),lj(e),(0,Zr.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=GEe;function aj(r){for(var e=(0,Zr.cloneArr)(r),t=r,i=!0;i;){t=(0,Zr.compact)((0,Zr.flatten)((0,Zr.map)(t,function(s){return s.CATEGORIES})));var n=(0,Zr.difference)(t,e);e=e.concat(n),(0,Zr.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=aj;function Aj(r){(0,Zr.forEach)(r,function(e){uj(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Mv(e)&&!(0,Zr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Mv(e)||(e.CATEGORIES=[]),gj(e)||(e.categoryMatches=[]),fj(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=Aj;function lj(r){(0,Zr.forEach)(r,function(e){e.categoryMatches=[],(0,Zr.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=lj;function cj(r){(0,Zr.forEach)(r,function(e){Kv([],e)})}Nt.assignCategoriesMapProp=cj;function Kv(r,e){(0,Zr.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,Zr.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,Zr.contains)(i,t)||Kv(i,t)})}Nt.singleAssignCategoriesToksMap=Kv;function uj(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=uj;function Mv(r){return(0,Zr.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Mv;function gj(r){return(0,Zr.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=gj;function fj(r){return(0,Zr.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=fj;function YEe(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.isTokenType=YEe});var Uv=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.defaultLexerErrorProvider=void 0;sy.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Bd=w(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.Lexer=Cc.LexerDefinitionErrorType=void 0;var _s=Rv(),nr=Gt(),jEe=_g(),qEe=Uv(),JEe=ty(),WEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(WEe=Cc.LexerDefinitionErrorType||(Cc.LexerDefinitionErrorType={}));var Qd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:qEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Qd);var zEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=Qd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(Qd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===Qd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=_s.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Qd.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[_s.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[_s.DEFAULT_MODE]=_s.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,_s.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,jEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,_s.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`-----------------------
`);throw new Error(`Errors detected in definition of Lexer:
`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(_s.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid <positionTracking> config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized.
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,JEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`-----------------------
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,T=e,H=T.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),_=[],A=this.trackStartLines?1:void 0,Ae=this.trackStartLines?1:void 0,ge=(0,_s.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,O=this.config.lineTerminatorsPattern,F=0,ue=[],pe=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ii=(0,_s.charCodeToOptimizedIndex)(pr),rs=pe[Ii];return rs===void 0?Fe:rs}var Be=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ii=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);_.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ii})}else{ke.pop();var rs=(0,nr.last)(ke);ue=i.patternIdxToConfig[rs],pe=i.charCodeToPatternIdxToConfig[rs],F=ue.length;var fa=i.canModeBeOptimized[rs]&&i.config.safeMode===!1;pe&&fa?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),pe=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ii=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;pe&&Ii?Ne=le:Ne=oe}fe.call(this,t);for(var ae;j<H;){c=null;var qe=T.charCodeAt(j),ne=Ne(qe),Y=ne.length;for(n=0;n<Y;n++){ae=ne[n];var he=ae.pattern;u=null;var ie=ae.short;if(ie!==!1?qe===ie&&(c=he):ae.isCustom===!0?(D=he.exec(T,j,W,ge),D!==null?(c=D[0],D.payload!==void 0&&(u=D.payload)):c=null):(this.updateLastIndex(he,j),c=this.match(he,e,j)),c!==null){if(l=ae.longerAlt,l!==void 0){var de=l.length;for(o=0;o<de;o++){var _e=ue[l[o]],Pt=_e.pattern;if(g=null,_e.isCustom===!0?(D=Pt.exec(T,j,W,ge),D!==null?(a=D[0],D.payload!==void 0&&(g=D.payload)):a=null):(this.updateLastIndex(Pt,j),a=this.match(Pt,e,j)),a&&a.length>c.length){c=a,u=g,ae=_e;break}}}break}}if(c!==null){if(f=c.length,h=ae.group,h!==void 0&&(p=ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,ae.tokenType,A,Ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,Ae=this.computeNewColumn(Ae,f),re===!0&&ae.canLineTerminator===!0){var It=0,Or=void 0,ii=void 0;O.lastIndex=0;do Or=O.test(c),Or===!0&&(ii=O.lastIndex-1,It++);while(Or===!0);It!==0&&(A=A+It,Ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,Ae,f))}this.handleModes(ae,Be,fe,C)}else{for(var gi=j,hr=A,fi=Ae,ni=!1;!ni&&j<H;)for(B=T.charCodeAt(j),e=this.chopInput(e,1),j++,s=0;s<F;s++){var Ks=ue[s],he=Ks.pattern,ie=Ks.short;if(ie!==!1?T.charCodeAt(j)===ie&&(ni=!0):Ks.isCustom===!0?ni=he.exec(T,j,W,ge)!==null:(this.updateLastIndex(he,j),ni=he.exec(e)!==null),ni===!0)break}y=j-gi,v=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(T,gi,y,hr,fi),_.push({offset:gi,line:hr,column:fi,length:y,message:v})}}return this.hasCustom||(W.length=$),{tokens:W,groups:ge,errors:_}},r.prototype.handleModes=function(e,t,i,n){if(e.pop===!0){var s=e.push;t(n),s!==void 0&&i.call(this,s)}else e.push!==void 0&&i.call(this,e.push)},r.prototype.chopInput=function(e,t){return e.substring(t)},r.prototype.updateLastIndex=function(e,t){e.lastIndex=t},r.prototype.updateTokenEndLineColumnLocation=function(e,t,i,n,s,o,a){var l,c;t!==void 0&&(l=i===a-1,c=l?-1:0,n===1&&l===!0||(e.endLine=s+c,e.endColumn=o-1+-c))},r.prototype.computeNewColumn=function(e,t){return e+t},r.prototype.createTokenInstance=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return null},r.prototype.createOffsetOnlyToken=function(e,t,i,n){return{image:e,startOffset:t,tokenTypeIdx:i,tokenType:n}},r.prototype.createStartOnlyToken=function(e,t,i,n,s,o){return{image:e,startOffset:t,startLine:s,startColumn:o,tokenTypeIdx:i,tokenType:n}},r.prototype.createFullToken=function(e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:t+a-1,startLine:s,endLine:s,startColumn:o,endColumn:o+a-1,tokenTypeIdx:i,tokenType:n}},r.prototype.addToken=function(e,t,i){return 666},r.prototype.addTokenUsingPush=function(e,t,i){return e.push(i),t},r.prototype.addTokenUsingMemberAccess=function(e,t,i){return e[t]=i,t++,t},r.prototype.handlePayload=function(e,t){},r.prototype.handlePayloadNoCustom=function(e,t){},r.prototype.handlePayloadWithCustom=function(e,t){t!==null&&(e.payload=t)},r.prototype.match=function(e,t,i){return null},r.prototype.matchWithTest=function(e,t,i){var n=e.test(t);return n===!0?t.substring(i,e.lastIndex):null},r.prototype.matchWithExec=function(e,t){var i=e.exec(t);return i!==null?i[0]:i},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+"--> <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(i+"<-- <"+e+"> time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, thi Line truncated
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,$s.has)(r,hj)&&(t.CATEGORIES=r[hj]),(0,Hv.augmentTokenTypes)([t]),(0,$s.has)(r,pj)&&(t.LABEL=r[pj]),(0,$s.has)(r,dj)&&(t.GROUP=r[dj]),(0,$s.has)(r,mj)&&(t.POP_MODE=r[mj]),(0,$s.has)(r,Cj)&&(t.PUSH_MODE=r[Cj]),(0,$s.has)(r,Ej)&&(t.LONGER_ALT=r[Ej]),(0,$s.has)(r,Ij)&&(t.LINE_BREAKS=r[Ij]),(0,$s.has)(r,yj)&&(t.START_CHARS_HINT=r[yj]),t}bi.EOF=Bj({name:"EOF",pattern:VEe.Lexer.NA});(0,Hv.augmentTokenTypes)([bi.EOF]);function eIe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}bi.createTokenInstance=eIe;function tIe(r,e){return(0,Hv.tokenStructuredMatcher)(r,e)}bi.tokenMatcher=tIe});var mn=w(zt=>{"use strict";var Pa=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.serializeProduction=zt.serializeGrammar=zt.Terminal=zt.Alternation=zt.RepetitionWithSeparator=zt.Repetition=zt.RepetitionMandatoryWithSeparator=zt.RepetitionMandatory=zt.Option=zt.Alternative=zt.Rule=zt.NonTerminal=zt.AbstractProduction=void 0;var Ar=Gt(),rIe=LA(),ko=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();zt.AbstractProduction=ko;var Qj=function(r){Pa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(ko);zt.NonTerminal=Qj;var bj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Rule=bj;var Sj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Alternative=Sj;var vj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Option=vj;var xj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatory=xj;var Pj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatoryWithSeparator=Pj;var Dj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Repetition=Dj;var kj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionWithSeparator=kj;var Rj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(ko);zt.Alternation=Rj;var oy=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();zt.Terminal=oy;function iIe(r){return(0,Ar.map)(r,bd)}zt.serializeGrammar=iIe;function bd(r){function e(s){return(0,Ar.map)(s,bd)}if(r instanceof Qj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof Sj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof vj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof xj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Pj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:bd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceo Line truncated
but found: '`+a+"'";if(n)return o+n+l;var c=(0,eo.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,eo.map)(c,function(h){return"["+(0,eo.map)(h,function(p){return(0,ef.tokenLabel)(p)}).join(", ")+"]"}),g=(0,eo.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences:
`+g.join(`
`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,eo.first)(t).image,a=`
but found: '`+o+"'";if(i)return s+i+a;var l=(0,eo.map)(e,function(u){return"["+(0,eo.map)(u,function(g){return(0,ef.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences::
`+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Da.defaultParserErrorProvider);Da.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
inside top level rule: ->`+r.name+"<-";return t}};Da.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Wv.Terminal?u.terminalType.name:u instanceof Wv.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,eo.first)(e),s=n.idx,o=(0,jj.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+`
appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-.
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
`;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,`
`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar.
`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+r.name+`>.
`)+`To resolve this make sure each Terminal and Non-Terminal names are unique
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,eo.map)(r.prefixPath,function(n){return(0,ef.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous alternatives: <"+r.ambiguityIndices.join(" ,")+`> due to common lookahead prefix
`+("in <OR"+t+"> inside <"+r.topLevelRule.name+`> Rule,
`)+("<"+e+`> may appears as a prefix path in all these alternatives.
`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,eo.map)(r.prefixPath,function(n){return(0,ef.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in <OR"+t+">"+(" inside <"+r.topLevelRule.name+`> Rule,
`)+("<"+e+`> may appears as a prefix path in all these alternatives.
`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,jj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens.
This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return"deprecated"},buildEmptyAlternationError:function(r){var e="Ambiguous empty alternative: <"+(r.emptyChoiceIdx+1)+">"+(" in <OR"+r.alternation.idx+"> inside <"+r.topLevelRule.name+`> Rule.
`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives:
`+("<OR"+r.alternation.idx+"> inside <"+r.topLevelRule.name+`> Rule.
has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=mIe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar.
`+("rule: <"+e+`> can be invoked from itself (directly or indirectly)
`)+(`without consuming any Tokens. The grammar path that causes this is:
`+i+`
`)+` To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Wv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Wj=w(OA=>{"use strict";var EIe=OA&&OA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(OA,"__esModule",{value:!0});OA.GastRefResolverVisitor=OA.resolveGrammar=void 0;var IIe=jn(),qj=Gt(),yIe=$g();function wIe(r,e){var t=new Jj(r,e);return t.resolveRefs(),t.errors}OA.resolveGrammar=wIe;var Jj=function(r){EIe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,qj.forEach)((0,qj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:IIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(yIe.GAstVisitor);OA.GastRefResolverVisitor=Jj});var Dd=w(Nr=>{"use strict";var mc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var zj=Ay(),Kt=Gt(),BIe=qv(),kt=mn(),Vj=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(zj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Vj;var QIe=function(r){mc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,BIe.first)(o),this.found=!0}},e}(Vj);Nr.NextAfterTokenWalker=QIe;var Pd=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(zj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=Pd;var bIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.r Line truncated
`+(""+s.join(`
`).replace(/\n/g,`
`)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Si.createBaseSemanticVisitorConstructor=dye;function Cye(r,e,t){var i=function(){};(0,Nd.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,ps.forEach)(e,function(s){n[s]=vq}),i.prototype=n,i.prototype.constructor=i,i}Si.createBaseVisitorConstructorWithDefaults=Cye;var ax;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(ax=Si.CstVisitorDefinitionError||(Si.CstVisitorDefinitionError={}));function xq(r,e){var t=Pq(r,e),i=Dq(r,e);return t.concat(i)}Si.validateVisitor=xq;function Pq(r,e){var t=(0,ps.map)(e,function(i){if(!(0,ps.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+" CST Visitor.",type:ax.MISSING_METHOD,methodName:i}});return(0,ps.compact)(t)}Si.validateMissingCstMethods=Pq;var mye=["constructor","visit","validateVisitor"];function Dq(r,e){var t=[];for(var i in r)(0,ps.isFunction)(r[i])&&!(0,ps.contains)(mye,i)&&!(0,ps.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+` CST Visitor
There is no Grammar Rule corresponding to this method's name.
`,type:ax.REDUNDANT_METHOD,methodName:i});return t}Si.validateRedundantMethods=Dq});var Fq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.TreeBuilder=void 0;var sf=Qq(),_r=Gt(),Rq=kq(),Eye=jn(),Iye=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,_r.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Eye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=_r.NOOP,this.cstFinallyStateUpdate=_r.NOOP,this.cstPostTerminal=_r.NOOP,this.cstPostNonTerminal=_r.NOOP,this.cstPostRule=_r.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationFull,this.setNodeLocationFromNode=sf.setNodeLocationFull,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=sf.setNodeLocationOnlyOffset,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=_r.NOOP;else throw Error('Invalid <nodeLocationTracking> config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,_r.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Rq.createBaseSemanticVisitorConstructor)(this.className,(0,_r.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,_r.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Rq.createBaseVisitorConstructorWithDefaults)(this.className,(0,_r.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();Ey.TreeBuilder=Iye});var Tq=w(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.LexerAdapter=void 0;var Nq=jn(),yye=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this Line truncated
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if((0,Pr.isArray)(e)){if((0,Pr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty.
Note that the first argument for the parser constructor
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
For Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,"modes")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Td.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Uq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Td.tokenStructuredMatcherNoCategories:Td.tokenStructuredMatcher,(0,Td.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:Kq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:Kq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<<qn.BITS_FOR_METHOD_TYPE+qn.BITS_FOR_OCCURRENCE_IDX;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;function a(u){try{if(this.outputCst===!0){t.apply(this,u);var g=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(g),g}else return t.apply(this,u)}catch(f){return this.invokeRuleCatch(f,n,s)}finally{this.ruleFinallyStateUpdate()}}var l=function(u,g){return u===void 0&&(u=0),this.ruleInvocationStateUpdate(o,e,u),a.call(this,g)},c="ruleName";return l[c]=e,l.originalGrammarAction=t,l},r.prototype.invokeRuleCatch=function(e,t,i){var n=this.RULE_STACK.length===1,s=t&&!this.isBackTracking()&&this.recoveryEnabled;if((0,wy.isRecognitionException)(e)){var o=e;if(s){var a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(o.resyncedTokens=this.reSyncTo(a),this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return i();else{if(this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,o.partialCstResult=l}throw o}}else{if(n)return this.moveToTerminatedState(),i();throw o}}else throw e},r.prototype.optionInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.OPTION_IDX,t);return this.optionInternalLogic(e,t,i)},r.prototype.optionInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(e.DEF!==void 0){if(o=e.DEF,a=e.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=e;if(s.call(this)===!0)return o.call(this)},r.prototype.atLeastOneInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.AT_LEAST_ONE_IDX,e);return this.atLeastOneInternalLogic(e,t,i)},r.prototype.atLeastOneInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(t.DEF!==void 0){if(o=t.DEF,a=t.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=t;if(s.call(this)===!0)for(var c=this.doSingleRepetition(o);s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);else throw this.raiseEarlyExitException(e,Mq.PROD_TYPE.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],s,qn.AT_LEAST_ONE_IDX,e,of.NextTerminalAfterAtLeastOneWalker)},r.prototype.atLeastOneSepFirstInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.AT_LEAST_ONE_SEP_IDX,e);this.atLeastOneSepFirstInternalLogic(e,t,i)},r.prototype.atLeastOneSepFirstInternalLogic=function(e,t,i){var n=this,s=t.DEF,o=t.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,of.NextTerminalAfterAtLeastOneSepWalker],l,qn.AT_LEAST_ONE_SEP_IDX,e,of.NextTerminalAfterAtLeastOneSepWalker)}else throw this.raiseEarlyExitException(e,Mq.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)},r.prototype.manyInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.MANY_IDX,e);return this.manyInternalLogic(e,t,i)},r.prototype.manyInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(t.DEF!==void 0){if(o=t.DEF,a=t.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=t;for(var c=!0;s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],s,qn.MANY_IDX,e,of.NextTerminalAfterManyWalker,c)},r.prototype.manySepFirstInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.MANY_SEP_IDX,e);this.manySepFirstInternalLogic(e,t,i)},r.prototype.manySepFirstInternalLogic=function(e,t,i){var n=this,s=t.DEF,o=t.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,of.NextTerminalAfterManySepWalker],l,qn.MANY_SEP_IDX,e,of.NextTerminalAfterManySepWalker)}},r.prototype.repetitionSepSecondInternal=function(e,t,i,n,s){for(;i();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,i,n,s],i,qn.AT_LEAST_ONE_SEP_IDX,e,s)},r.prototype.doSingleRepetition=function(e){var t=this.getLexerPosition();e.call(this);var i=this.getLexerPosition();return i>t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this. Line truncated
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze($q);var Lye={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Oye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Nye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Lo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
This error was thrown during the "grammar recording phase" For more info see:
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Ld.call(this,Lo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Ld.call(this,Lo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Ld.call(this,Lo.RepetitionMandatoryWithSeparator,t,e,Wq)},r.prototype.manyInternalRecord=function(e,t){Ld.call(this,Lo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Ld.call(this,Lo.RepetitionWithSeparator,t,e,Wq)},r.prototype.orInternalRecord=function(e,t){return Mye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(Sy(t),!e||(0,yn.has)(e,"ruleName")===!1){var n=new Error("<SUBRULE"+Vq(t)+"> argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(`
inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=e.ruleName,a=new Lo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Lye:vy},r.prototype.consumeInternalRecord=function(e,t,i){if(Sy(t),!(0,Xq.hasShortKeyProperty)(e)){var n=new Error("<CONSUME"+Vq(t)+"> argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(`
inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=new Lo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),$q},r}();xy.GastRecorder=Oye;function Ld(r,e,t,i){i===void 0&&(i=!1),Sy(t);var n=(0,yn.peek)(this.recordingProdStack),s=(0,yn.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,yn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),vy}function Mye(r,e){var t=this;Sy(e);var i=(0,yn.peek)(this.recordingProdStack),n=(0,yn.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Lo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,yn.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,yn.some)(s,function(l){return(0,yn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,yn.forEach)(s,function(l){var c=new Lo.Alternative({definition:[]});o.definition.push(c),(0,yn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,yn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),vy}function Vq(r){return r===0?"":""+r}function Sy(r){if(r<0||r>zq){var e=new Error("Invalid DSL Method idx value: <"+r+`>
`+("Idx value must be a none negative value smaller than "+(zq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var rJ=w(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});Py.PerformanceTracer=void 0;var tJ=Gt(),Kye=jn(),Uye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,tJ.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Kye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+"--> <"+e+">");var n=(0,tJ.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(i+"<-- <"+e+"> time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();Py.PerformanceTracer=Uye});var iJ=w(Dy=>{"use strict";Object.defineProperty(Dy,"__esModule",{value:!0});Dy.applyMixins=void 0;function Hye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Dy.applyMixins=Hye});var jn=w(dr=>{"use strict";var oJ=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var en=Gt(),Gye=Yj(),nJ=LA(),aJ=xd(),sJ=pq(),Yye=sx(),jye=Bq(),qye=Fq(),Jye=Tq(),Wye=Oq(),zye=Hq(),Vye=Yq(),Xye=Jq(),Zye=eJ(),_ye=rJ(),$ye=iJ();dr.END_OF_FILE=(0,nJ.createTokenInstance)(nJ.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:aJ.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var ewe;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(ewe=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function twe(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=twe;var ky=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,en.has)(t,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=(0,en.has)(t,"skipValidations")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,en.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,en.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,sJ.resolveGrammar)({rules:(0,en.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,en.isEmpty)(n)&&e.skipValidations===!1){var s=(0,sJ.validateGrammar)({rules:(0,en.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,en.values)(e.tokensMap),errMsgProvider:aJ.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,en.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Gye.computeAllProdsFollows)((0,en.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,en.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,en.isEmpty)(e.definitionErrors))throw t=(0,en.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected:
`+t.join(`
-------------------------------
`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=ky;(0,$ye.applyMixins)(ky,[Yye.Recoverable,jye.LooksAhead,qye.TreeBuilder,Jye.LexerAdapter,zye.RecognizerEngine,Wye.RecognizerApi,Vye.ErrorHandler,Xye.ContentAssist,Zye.GastRecorder,_ye.PerformanceTracer]);var rwe=function(r){oJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,en.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(ky);dr.CstParser=rwe;var iwe=function(r){oJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,en.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(ky);dr.EmbeddedActionsParser=iwe});var lJ=w(Ry=>{"use strict";Object.defineProperty(Ry,"__esModule",{value:!0});Ry.createSyntaxDiagramsCode=void 0;var AJ=Dv();function nwe(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+AJ.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+AJ.VERSION+"/diagrams/diagrams.css":s,a=`
<!-- This is a generated file -->
<!DOCTYPE html>
<meta charset="utf-8">
<style>
body {
background-color: hsl(30, 20%, 95%)
}
</style>
`,l=`
<link rel='stylesheet' href='`+o+`'>
`,c=`
<script src='`+n+`vendor/railroad-diagrams.js'><\/script>
<script src='`+n+`src/diagrams_builder.js'><\/script>
<script src='`+n+`src/diagrams_behavior.js'><\/script>
<script src='`+n+`src/main.js'><\/script>
`,u=`
<div id="diagrams" align="center"></div>
`,g=`
<script>
window.serializedGrammar = `+JSON.stringify(r,null," ")+`;
<\/script>
`,f=`
<script>
var diagramsDiv = document.getElementById("diagrams");
main.drawDiagramsFromSerializedGrammar(serializedGrammar, diagramsDiv);
<\/script>
`;return a+l+c+u+g+f}Ry.createSyntaxDiagramsCode=nwe});var gJ=w(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.Parser=We.createSyntaxDiagramsCode=We.clearCache=We.GAstVisitor=We.serializeProduction=We.serializeGrammar=We.Terminal=We.Rule=We.RepetitionWithSeparator=We.RepetitionMandatoryWithSeparator=We.RepetitionMandatory=We.Repetition=We.Option=We.NonTerminal=We.Alternative=We.Alternation=We.defaultLexerErrorProvider=We.NoViableAltException=We.NotAllInputParsedException=We.MismatchedTokenException=We.isRecognitionException=We.EarlyExitException=We.defaultParserErrorProvider=We.tokenName=We.tokenMatcher=We.tokenLabel=We.EOF=We.createTokenInstance=We.createToken=We.LexerDefinitionErrorType=We.Lexer=We.EMPTY_ALT=We.ParserDefinitionErrorType=We.EmbeddedActionsParser=We.CstParser=We.VERSION=void 0;var swe=Dv();Object.defineProperty(We,"VERSION",{enumerable:!0,get:function(){return swe.VERSION}});var Fy=jn();Object.defineProperty(We,"CstParser",{enumerable:!0,get:function(){return Fy.CstParser}});Object.defineProperty(We,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Fy.EmbeddedActionsParser}});Object.defineProperty(We,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Fy.ParserDefinitionErrorType}});Object.defineProperty(We,"EMPTY_ALT",{enumerable:!0,get:function(){return Fy.EMPTY_ALT}});var cJ=Bd();Object.defineProperty(We,"Lexer",{enumerable:!0,get:function(){return cJ.Lexer}});Object.defineProperty(We,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return cJ.LexerDefinitionErrorType}});var af=LA();Object.defineProperty(We,"createToken",{enumerable:!0,get:function(){return af.createToken}});Object.defineProperty(We,"createTokenInstance",{enumerable:!0,get:function(){return af.createTokenInstance}});Object.defineProperty(We,"EOF",{enumerable:!0,get:function(){return af.EOF}});Object.defineProperty(We,"tokenLabel",{enumerable:!0,get:function(){return af.tokenLabel}});Object.defineProperty(We,"tokenMatcher",{enumerable:!0,get:function(){return af.tokenMatcher}});Object.defineProperty(We,"tokenName",{enumerable:!0,get:function(){return af.tokenName}});var owe=xd();Object.defineProperty(We,"defaultParserErrorProvider",{enumerable:!0,get:function(){return owe.defaultParserErrorProvider}});var Od=nf();Object.defineProperty(We,"EarlyExitException",{enumerable:!0,get:function(){return Od.EarlyExitException}});Object.defineProperty(We,"isRecognitionException",{enumerable:!0,get:function(){return Od.isRecognitionException}});Object.defineProperty(We,"MismatchedTokenException",{enumerable:!0,get:function(){return Od.MismatchedTokenException}});Object.defineProperty(We,"NotAllInputParsedException",{enumerable:!0,get:function(){return Od.NotAllInputParsedException}});Object.defineProperty(We,"NoViableAltException",{enumerable:!0,get:function(){return Od.NoViableAltException}});var awe=Uv();Object.defineProperty(We,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return awe.defaultLexerErrorProvider}});var Oo=mn();Object.defineProperty(We,"Alternation",{enumerable:!0,get:function(){return Oo.Alternation}});Object.defineProperty(We,"Alternative",{enumerable:!0,get:function(){return Oo.Alternative}});Object.defineProperty(We,"NonTerminal",{enumerable:!0,get:function(){return Oo.NonTerminal}});Object.defineProperty(We,"Option",{enumerable:!0,get:function(){return Oo.Option}});Object.defineProperty(We,"Repetition",{enumerable:!0,get:function(){return Oo.Repetition}});Object.defineProperty(We,"RepetitionMandatory",{enumerable:!0,get:function(){return Oo.RepetitionMandatory}});Object.defineProperty(We,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return Oo.RepetitionMandatoryWithSeparator}});Object.defineProperty(We,"RepetitionWithSeparator",{enumerable:!0,get:function(){return Oo.RepetitionWithSeparator}});Object.defineProperty(We,"Rule",{enumerable:!0,get:function(){return Oo.Rule}});Object.defineProperty(We,"Terminal",{enumerable:!0,get:function(){return Oo.Terminal}});var uJ=mn();Object.defineProperty(We,"serializeGrammar",{enumerable:!0,get:function(){return uJ.serializeGrammar}});Object.defineProperty(We,"serializeProduction",{enumerable:!0,get:function(){return uJ.serializeProduction}});var Awe=$g();Object.defineProperty(We,"GAstVisitor",{enumerable:!0,get:function(){return Awe.GAstVisitor}});function lwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API.
It performs no action other than printing this message.
Please avoid using it as it will be completely removed in the future`)}We.clearCache=lwe;var cwe=lJ();Object.defineProperty(We,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return cwe.createSyntaxDiagramsCode}});var uwe=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();We.Parser=uwe});var pJ=w((jet,hJ)=>{var Ny=gJ(),Fa=Ny.createToken,fJ=Ny.tokenMatcher,ux=Ny.Lexer,gwe=Ny.EmbeddedActionsParser;hJ.exports=r=>{let e=Fa({name:"LogicalOperator",pattern:ux.NA}),t=Fa({name:"Or",pattern:/\|/,categories:e}),i=Fa({name:"Xor",pattern:/\^/,categories:e}),n=Fa({name:"And",pattern:/&/,categories:e}),s=Fa({name:"Not",pattern:/!/}),o=Fa({name:"LParen",pattern:/\(/}),a=Fa({name:"RParen",pattern:/\)/}),l=Fa({name:"Query",pattern:r}),u=[Fa({name:"WhiteSpace",pattern:/\s+/,group:ux.SKIPPED}),t,i,n,o,a,s,e,l],g=new ux(u);class f extends gwe{constructor(p){super(u),this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let B=y,v=this.CONSUME(e),D=this.SUBRULE2(this.atomicExpression);fJ(v,t)?y=T=>B(T)||D(T):fJ(v,i)?y=T=>!!(B(T)^D(T)):y=T=>B(T)&&D(T)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:C}=this.CONSUME(l);return y=>y(C)}},{ALT:()=>{this.CONSUME(s);let C=this.SUBRULE(this.atomicExpression);return y=>!C(y)}}])),this.RULE("parenthesisExpression",()=>{let C;return this.CONSUME(o),C=this.SUBRULE(this.expression),this.CONSUME(a),C}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var dJ=w(Ty=>{var fwe=pJ();Ty.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=fwe(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};Ty.parse=Ty.makeParser()});var mJ=w((Jet,CJ)=>{"use strict";CJ.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke Line truncated
`:`
`)+t,n=i+1,i=r.indexOf(`
`,n)}while(i!==-1);return s+=r.substr(n),s};LJ.exports={stringReplaceAll:Swe,stringEncaseCRLFWithFirstIndex:vwe}});var GJ=w((ett,HJ)=>{"use strict";var xwe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,MJ=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Pwe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Dwe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,kwe=new Map([["n",`
`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function UJ(r){let e=r[0]==="u",t=r[1]==="{";return e&&!t&&r.length===5||r[0]==="x"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):kwe.get(r)||r}function Rwe(r,e){let t=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(Pwe))t.push(n[2].replace(Dwe,(a,l,c)=>l?UJ(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Fwe(r){MJ.lastIndex=0;let e=[],t;for(;(t=MJ.exec(r))!==null;){let i=t[1];if(t[2]){let n=Rwe(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function KJ(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}HJ.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(xwe,(s,o,a,l,c,u)=>{if(o)n.push(UJ(o));else if(l){let g=n.join("");n=[],i.push(t.length===0?g:KJ(r,t)(g)),t.push({inverse:a,styles:Fwe(l)})}else if(c){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(KJ(r,t)(n.join(""))),n=[],t.pop()}else n.push(u)}),i.push(n.join("")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var wx=w((ttt,JJ)=>{"use strict";var Kd=DJ(),{stdout:mx,stderr:Ex}=TJ(),{stringReplaceAll:Nwe,stringEncaseCRLFWithFirstIndex:Twe}=OJ(),YJ=["ansi","ansi","ansi256","ansi16m"],uf=Object.create(null),Lwe=(r,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let t=mx?mx.level:0;r.level=e.level===void 0?t:e.level},Ix=class{constructor(e){return jJ(e)}},jJ=r=>{let e={};return Lwe(e,r),e.template=(...t)=>Kwe(e.template,...t),Object.setPrototypeOf(e,My.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=Ix,e.template};function My(r){return jJ(r)}for(let[r,e]of Object.entries(Kd))uf[r]={get(){let t=Ky(this,yx(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};uf.visible={get(){let r=Ky(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:r}),r}};var qJ=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let r of qJ)uf[r]={get(){let{level:e}=this;return function(...t){let i=yx(Kd.color[YJ[e]][r](...t),Kd.color.close,this._styler);return Ky(this,i,this._isEmpty)}}};for(let r of qJ){let e="bg"+r[0].toUpperCase()+r.slice(1);uf[e]={get(){let{level:t}=this;return function(...i){let n=yx(Kd.bgColor[YJ[t]][r](...i),Kd.bgColor.close,this._styler);return Ky(this,n,this._isEmpty)}}}}var Owe=Object.defineProperties(()=>{},{...uf,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),yx=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},Ky=(r,e,t)=>{let i=(...n)=>Mwe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=Owe,i._generator=r,i._styler=e,i._isEmpty=t,i},Mwe=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?"":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf("\x1B")!==-1)for(;t!==void 0;)e=Nwe(e,t.close,t.open),t=t.parent;let s=e.indexOf(`
`);return s!==-1&&(e=Twe(e,n,i,s)),i+e+n},Cx,Kwe=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(" ");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s<t.length;s++)n.push(String(i[s-1]).replace(/[{}\\]/g,"\\$&"),String(t.raw[s]));return Cx===void 0&&(Cx=GJ()),Cx(r,n.join(""))};Object.defineProperties(My.prototype,uf);var Ud=My();Ud.supportsColor=mx;Ud.stderr=My({level:Ex?Ex.level:0});Ud.stderr.supportsColor=Ex;Ud.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:"None",1:"Basic",2:"Ansi256",3:"TrueColor"};JJ.exports=Ud});var Uy=w(Cs=>{"use strict";Cs.isInteger=r=>typeof r=="number"?Number.isInteger(r):typeof r=="string"&&r.trim()!==""?Number.isInteger(Number(r)):!1;Cs.find=(r,e)=>r.nodes.find(t=>t.type===e);Cs.exceedsLimit=(r,e,t=1,i)=>i===!1||!Cs.isInteger(r)||!Cs.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;Cs.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};Cs.encloseBrace=r=>r.type!=="brace"?!1:r.commas>>0+r.ranges>>0===0?(r.invalid=!0,!0):!1;Cs.isInvalidBrace=r=>r.type!=="brace"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0===0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;Cs.isOpenOrClose=r=>r.type==="open"||r.type==="close"?!0:r.open===!0||r.close===!0;Cs.reduce=r=>r.reduce((e,t)=>(t.type==="text"&&e.push(t.value),t.type==="range"&&(t.type="text"),e),[]);Cs.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n<i.length;n++){let s=i[n];Array.isArray(s)?t(s,e):s!==void 0&&e.push(s)}return e};return t(r),e}});var Hy=w((itt,zJ)=>{"use strict";var WJ=Uy();zJ.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&WJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&WJ.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var XJ=w((ntt,VJ)=>{"use strict";VJ.exports=function(r){return typeof r=="number"?r-r===0:typeof r=="string"&&r.trim()!==""?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var s3=w((stt,n3)=>{"use strict";var ZJ=XJ(),Ic=(r,e,t)=>{if(ZJ(r)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||r===e)return String(r);if(ZJ(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...t};typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+":"+e+"="+n+s+o+a;if(Ic.cache.hasOwnProperty(l))return Ic.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let C=r+"|"+e;return i.capture?`(${C})`:i.wrap===!1?C:`(?:${C})`}let g=i3(r)||i3(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let C=u<0?Math.abs(u):1;p=_J(C,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=_J(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Uwe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Ic.cache[l]=f,f.result};function Uwe(r,e,t){let i=Bx(r,e,"-",!1,t)||[],n=Bx(e,r,"",!1,t)||[],s=Bx(r,e,"-?",!0,t)||[];return i.concat(s).concat(n).join("|")}function Hwe(r,e){let t=1,i=1,n=e3(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=e3(r,t);for(n=t3(e+1,i)-1;r<n&&n<=e;)s.add(n),i+=1,n=t3(e+1,i)-1;return s=[...s],s.sort(jwe),s}function Gwe(r,e,t){if(r===e)return{pattern:r,count:[],digits:0};let i=Ywe(r,e),n=i.length,s="",o=0;for(let a=0;a<n;a++){let[l,c]=i[a];l===c?s+=l:l!=="0"||c!=="9"?s+=qwe(l,c,t):o++}return o&&(s+=t.shorthand===!0?"\\d":"[0-9]"),{pattern:s,count:[o],digits:n}}function _J(r,e,t,i){let n=Hwe(r,e),s=[],o=r,a;for(let l=0;l<n.length;l++){let c=n[l],u=Gwe(String(o),String(c),i),g="";if(!t.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+r3(a.count),o=c+1;continue}t.isPadded&&(g=Jwe(c,t,i)),u.string=g+u.pattern+r3(u.count),s.push(u),o=c+1,a=u}return s}function Bx(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!$J(e,"string",a)&&s.push(t+a),i&&$J(e,"string",a)&&s.push(t+a)}return s}function Ywe(r,e){let t=[];for(let i=0;i<r.length;i++)t.push([r[i],e[i]]);return t}function jwe(r,e){return r>e?1:e>r?-1:0}function $J(r,e,t){return r.some(i=>i[e]===t)}function e3(r,e){return Number(String(r).slice(0,-e)+"9".repeat(e))}function t3(r,e){return r-r%Math.pow(10,e)}function r3(r){let[e=0,t=""]=r;return t||e>1?`{${e+(t?","+t:"")}}`:""}function qwe(r,e,t){return`[${r}${e-r===1?"":"-"}${e}]`}function i3(r){return/^-?(0+)\d/.test(r)}function Jwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Ic.cache={};Ic.clearCache=()=>Ic.cache={};n3.exports=Ic});var Sx=w((ott,f3)=>{"use strict";var Wwe=J("util"),A3=s3(),o3=r=>r!==null&&typeof r=="object"&&!Array.isArray(r Line truncated
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var S3=w((ctt,b3)=>{"use strict";var sBe=Hy(),{MAX_LENGTH:w3,CHAR_BACKSLASH:vx,CHAR_BACKTICK:oBe,CHAR_COMMA:aBe,CHAR_DOT:ABe,CHAR_LEFT_PARENTHESES:lBe,CHAR_RIGHT_PARENTHESES:cBe,CHAR_LEFT_CURLY_BRACE:uBe,CHAR_RIGHT_CURLY_BRACE:gBe,CHAR_LEFT_SQUARE_BRACKET:B3,CHAR_RIGHT_SQUARE_BRACKET:Q3,CHAR_DOUBLE_QUOTE:fBe,CHAR_SINGLE_QUOTE:hBe,CHAR_NO_BREAK_SPACE:pBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:dBe}=y3(),CBe=(r,e={})=>{if(typeof r!="string")throw new TypeError("Expected a string");let t=e||{},i=typeof t.maxLength=="number"?Math.min(w3,t.maxLength):w3;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:"root",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],C=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(C({type:"bos"});u<c;)if(o=s[s.length-1],f=p(),!(f===dBe||f===pBe)){if(f===vx){C({type:"text",value:(e.keepEscaping?f:"")+p()});continue}if(f===Q3){C({type:"text",value:"\\"+f});continue}if(f===B3){l++;let y=!0,B;for(;u<c&&(B=p());){if(f+=B,B===B3){l++;continue}if(B===vx){f+=p();continue}if(B===Q3&&(l--,l===0))break}C({type:"text",value:f});continue}if(f===lBe){o=C({type:"paren",nodes:[]}),s.push(o),C({type:"text",value:f});continue}if(f===cBe){if(o.type!=="paren"){C({type:"text",value:f});continue}o=s.pop(),C({type:"text",value:f}),o=s[s.length-1];continue}if(f===fBe||f===hBe||f===oBe){let y=f,B;for(e.keepQuotes!==!0&&(f="");u<c&&(B=p());){if(B===vx){f+=B+p();continue}if(B===y){e.keepQuotes===!0&&(f+=B);break}f+=B}C({type:"text",value:f});continue}if(f===uBe){g++;let B={type:"brace",open:!0,close:!1,dollar:a.value&&a.value.slice(-1)==="$"||o.dollar===!0,depth:g,commas:0,ranges:0,nodes:[]};o=C(B),s.push(o),C({type:"open",value:f});continue}if(f===gBe){if(o.type!=="brace"){C({type:"text",value:f});continue}let y="close";o=s.pop(),o.close=!0,C({type:y,value:f}),g--,o=s[s.length-1];continue}if(f===aBe&&g>0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:sBe(o)}]}C({type:"comma",value:f}),o.commas++;continue}if(f===ABe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){C({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let B=y[y.length-1];B.value+=a.value+f,a=B,o.ranges--;continue}C({type:"dot",value:f});continue}C({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(v=>{v.nodes||(v.type==="open"&&(v.isOpen=!0),v.type==="close"&&(v.isClose=!0),v.nodes||(v.type="text"),v.invalid=!0)});let y=s[s.length-1],B=y.nodes.indexOf(o);y.nodes.splice(B,1,...o.nodes)}while(s.length>0);return C({type:"eos"}),n};b3.exports=CBe});var P3=w((utt,x3)=>{"use strict";var v3=Hy(),mBe=d3(),EBe=E3(),IBe=S3(),Jn=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=Jn.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(Jn.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.parse=(r,e={})=>IBe(r,e);Jn.stringify=(r,e={})=>v3(typeof r=="string"?Jn.parse(r,e):r,e);Jn.compile=(r,e={})=>(typeof r=="string"&&(r=Jn.parse(r,e)),mBe(r,e));Jn.expand=(r,e={})=>{typeof r=="string"&&(r=Jn.parse(r,e));let t=EBe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.create=(r,e={})=>r===""||r.length<3?[r]:e.expand!==!0?Jn.compile(r,e):Jn.expand(r,e);x3.exports=Jn});var Gd=w((gtt,N3)=>{"use strict";var yBe=J("path"),Mo="\\\\/",D3=`[^${Mo}]`,Na="\\.",wBe="\\+",BBe="\\?",Yy="\\/",QBe="(?=.)",k3="[^/]",xx=`(?:${Yy}|$)`,R3=`(?:^|${Yy})`,Px=`${Na}{1,2}${xx}`,bBe=`(?!${Na})`,SBe=`(?!${R3}${Px})`,vBe=`(?!${Na}{0,1}${xx})`,xBe=`(?!${Px})`,PBe=`[^.${Yy}]`,DBe=`${k3}*?`,F3={DOT_LITERAL:Na,PLUS_LITERAL:wBe,QMARK_LITERAL:BBe,SLASH_LITERAL:Yy,ONE_CHAR:QBe,QMARK:k3,END_ANCHOR:xx,DOTS_SLASH:Px,NO_DOT:bBe,NO_DOTS:SBe,NO_DOT_SLASH:vBe,NO_DOTS_SLASH:xBe,QMARK_NO_DOT:PBe,STAR:DBe,START_ANCHOR:R3},kBe={...F3,SLASH_LITERAL:`[${Mo}]`,QMARK:D3,STAR:`${D3}*?`,DOTS_SLASH:`${Na}{1,2}(?:[${Mo}]|$)`,NO_DOT:`(?!${Na})`,NO_DOTS:`(?!(?:^|[${Mo}])${Na}{1,2}(?:[${Mo}]|$))`,NO_DOT_SLASH:`(?!${Na}{0,1}(?:[${Mo}]|$))`,NO_DOTS_SLASH:`(?!${Na}{1,2}(?:[${Mo}]|$))`,QMARK_NO_DOT:`[^.${Mo}]`,START_ANCHOR:`(?:^|[${Mo}])`,END_ANCHOR:`(?:[${Mo}]|$)`},RBe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",spaceLine truncated
Please report this to https://github.com/szmarczak/http2-wrapper/`);p(C)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=sPe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...t});f[on]=0,f[Uf]=!1;let h=()=>f[on]<f.remoteSettings.maxConcurrentStreams,p=!0;f.socket.once("session",y=>{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:B}of i)B(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:B}of i)B(y);l()}this._tryToCreateNewSession(o,a)});let C=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Bs])if(y in this.queue[o]){let{listeners:B}=this.queue[o][y];for(;B.length!==0&&h();)B.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Bs]=f.originSet,h()&&(C(),Uk(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let B of i)B.reject(y);f.destroy();return}f[Bs]=f.originSet;{let y=this.sessions;if(o in y){let B=y[o];B.splice(APe(B,f,lPe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),C(),l(),f[on]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on("remoteSettings",()=>{C(),Uk(this.sessions[o],f)})}),f[p5]=f.request,f.request=(y,B)=>{if(f[Uf])throw new Error("The session is gracefully closing. No new streams are allowed.");let v=f[p5](y,B);return f.ref(),++f[on],f[on]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once("close",()=>{if(p=h(),--f[on],!f.destroyed&&!f.closed&&(cPe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let D=f[on]===0;D&&f.unref(),D&&(this._freeSessionsCount>this.maxFreeSessions||f[Uf])?f.close():(Uk(this.sessions[o],f),C())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return zo.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername>"u"&&(t.servername=n),nPe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[on]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return d5({agent:this,isFree:!0})}get busySessions(){return d5({agent:this,isFree:!1})}};zo.kCurrentStreamsCount=on;zo.kGracefullyClosing=Uf;m5.exports={Agent:zo,globalAgent:new zo}});var Yk=w((bnt,E5)=>{"use strict";var{Readable:uPe}=J("stream"),Gk=class extends uPe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};E5.exports=Gk});var jk=w((Snt,I5)=>{"use strict";I5.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname=="string"&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return typeof r.port=="string"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var w5=w((vnt,y5)=>{"use strict";y5.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var Q5=w((xnt,B5)=>{"use strict";B5.exports=r=>{switch(r){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var S5=w((Dnt,b5)=>{"use strict";var Hf=(r,e,t)=>{b5.exports[e]=class extends r{constructor(...n){super(typeof t=="string"?t:t(n)),this.name=`${su Line truncated
`).reverse(),a=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(`
`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(`
`)}${a.reverse().join(`
`)}`}}};Yt.RequestError=ei;var oB=class extends ei{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Yt.MaxRedirectsError=oB;var aB=class extends ei{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Yt.HTTPError=aB;var AB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="CacheError"}};Yt.CacheError=AB;var lB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="UploadError"}};Yt.UploadError=lB;var cB=class extends ei{constructor(e,t,i){super(e.message,e,i),this.name="TimeoutError",this.event=e.event,this.timings=t}};Yt.TimeoutError=cB;var QC=class extends ei{constructor(e,t){super(e.message,e,t),this.name="ReadError"}};Yt.ReadError=QC;var uB=class extends ei{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Yt.UnsupportedProtocolError=uB;var mDe=["socket","connect","continue","information","upgrade","timeout"],gB=class extends A6.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0}),this[Yf]=0,this[qf]=0,this.requestInitialized=!1,this[iB]=new Set,this.redirects=[],this[Jf]=!1,this[nB]=!1,this[BC]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof hR.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),Yt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof ZPe.ReadStream&&await pDe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Pi])===null||c===void 0||c.destroy();return}for(let g of this[BC])g();this[BC].length=0,this.requestInitialized=!0}catch(u){if(u instanceof ei){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t={...i,...e,...t};else{if(e&&t&&t.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");t={...i,...t},e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new XA.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([h6.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.Line truncated
`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};qa.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function U6(r,e){var t=this;qa.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader("host"),s=vR({},t.options,{socket:i,servername:n?n.replace(/:.*$/,""):r.host}),o=jDe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function H6(r,e,t){return typeof r=="string"?{host:r,port:e,localAddress:t}:r}function vR(r){for(var e=1,t=arguments.length;e<t;++e){var i=arguments[e];if(typeof i=="object")for(var n=Object.keys(i),s=0,o=n.length;s<o;++s){var a=n[s];i[a]!==void 0&&(r[a]=i[a])}}return r}var el;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?el=function(){var r=Array.prototype.slice.call(arguments);typeof r[0]=="string"?r[0]="TUNNEL: "+r[0]:r.unshift("TUNNEL:"),console.error.apply(console,r)}:el=function(){};Wf.debug=el});var j6=w((ast,Y6)=>{Y6.exports=G6()});var tV=w((IB,FR)=>{var eV=Object.assign({},J("fs")),RR=function(){var r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(r=r||__filename),function(e){e=e||{};var t=typeof e<"u"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,C,y,B;g&&(u?f=J("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var k=Ca(E);return k?I?k:k.toString():(y||(y=eV),B||(B=J("path")),E=B.normalize(E),y.readFileSync(E,I?null:"utf8"))},C=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),re(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return"[Emscripten Module object]"});var v=t.print||console.log.bind(console),D=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var T=16;function H(d,E){return E||(E=T),Math.ceil(d/E)*E}var j=0,$=function(d){j=d},V;t.wasmBinary&&(V=t.wasmBinary);var W=t.noExitRuntime||!0;typeof WebAssembly!="object"&&wr("no native wasm support detected");function _(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return ne[d>>0];case"i8":return ne[d>>0];case"i16":return he[d>>1];case"i32":return de[d>>2];case"i64":return de[d>>2];case"float":return Pt[d>>2];case"double":return It[d>>3];default:wr("invalid type for getValue: "+E)}return null}var A,Ae=!1,ge;function re(d,E){d||wr("Assertion failed: "+E)}function O(d){var E=t["_"+d];return re(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function F(d,E,I,k,L){var Z={string:function(it){var Et=0;if(it!=null&&it!==0){var Qe=(it.length<<2)+1;Et=Q(Qe),oe(it,Et,Qe)}return Et},array:function(it){var Et=Q(it.length);return fe(it,Et),Et}};function te(it){return E==="string"?Fe(it):E==="boolean"?Boolean(it):it}var we=O(d),me=[],Je=0;if(k)for(var nt=0;nt<k.length;nt++){var wt=Z[I[nt]];wt?(Je===0&&(Je=YE()),me[nt]=wt(k[nt])):me[nt]=k[nt]}var lt=we.apply(null,me);return lt=te(lt),Je!==0&&jE(Je),lt}function ue(d,E,I,k){I=I||[];var L=I.every(function(te){return te==="number"}),Z=E!=="string";return Z&&L&&!k?O(d):function(){return F(d,E,I,arguments,k)}}var pe=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function ke(d,E,I){for(var k=E+I,L=E;d[L]&&!(L>=k);)++L;if(L-E>16&&d.subarray&&pe)return pe.decode(d.subarray(E,L));for(var Z="";E<L;){var te=d[E++];if(!(te&128)){Z+=String.fromCharCode(te);continue}var we=d[E++]&63;if((te&224)==192){Z+=String.fromCharCode((te&31)<<6|we);continue}var me=d[E++]&63;if((te&240)==224?te=(te&15)<<12|we<<6|me:te=(te&7)<<18|we<<12|me<<6|d[E++]&63,te<65536)Z+=String.fromCharCode(te);else{var Je=te-65536;Z+=String.fromCharCode(55296|Je>>10,56320|Je&1023)}}return Z}function Fe(d,E){return d?ke(Y,d,E):""}function Ne(d,E,I,k){if(!(k>0))return 0;for(var L=I,Z=I+k-1,te=0;te<d.length;++te){var we=d.charCodeAt(te);if(we>=55296&&we<=57343){var me=d.charCodeAt(++te);we=65536+((we&1023)<<10)|me&1023}if(we<=127){if(I>=Z)break;E[I++]=we}else if(we<=2047){if(I+1>=Z)break;E[I++]=192|we>>6,E[I++]=128|we&63}else if(we<=65535){if(I+2>=Z)break;E[I++]=224|we>>12,E[I++]=128|we>>6&63,E[I++]=128|we&63}else{if(I+3>=Z)break;E[I++]=240|we>>18,E[I++]=128|we>>12&63,E[I++]=128|we>>6&63,E[I++]=128|we&63}}return E[I]=0,I-L}function oe(d,E,I){return Ne(d,Y,E,I)}function le(d){for(var E=0,I=0;I<d.length;++I){var k=d.charCodeAt(I);k>=55296&&k<=57343&&(k=65536+((k&1023)<<10)|d.charCodeAt(++I)&1023),k<=127?++E:k<=2047?E+=2:k<=65535?E+=3:E+=4}return E}function Be(d){var E=le(d)+1,I=dt(E);return I&&Ne(d,ne,I,E),I}funct Line truncated
`)):typeof readline=="function"&&(E=readline(),E!==null&&(E+=`
`));if(!E)return null;d.input=wA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(ke(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(D(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(D(ke(d.output,0)),d.output=[])}}};function ss(d){for(var E=H(d,65536),I=dt(E);d<E;)ne[I+d++]=0;return I}var gt={ops_table:null,mount:function(d){return gt.createNode(null,"/",16895,0)},createNode:function(d,E,I,k){if(S.isBlkdev(I)||S.isFIFO(I))throw new S.ErrnoError(63);gt.ops_table||(gt.ops_table={dir:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr,lookup:gt.node_ops.lookup,mknod:gt.node_ops.mknod,rename:gt.node_ops.rename,unlink:gt.node_ops.unlink,rmdir:gt.node_ops.rmdir,readdir:gt.node_ops.readdir,symlink:gt.node_ops.symlink},stream:{llseek:gt.stream_ops.llseek}},file:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr},stream:{llseek:gt.stream_ops.llseek,read:gt.stream_ops.read,write:gt.stream_ops.write,allocate:gt.stream_ops.allocate,mmap:gt.stream_ops.mmap,msync:gt.stream_ops.msync}},link:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr,readlink:gt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr},stream:S.chrdev_stream_ops}});var L=S.createNode(d,E,I,k);return S.isDir(L.mode)?(L.node_ops=gt.ops_table.dir.node,L.stream_ops=gt.ops_table.dir.stream,L.contents={}):S.isFile(L.mode)?(L.node_ops=gt.ops_table.file.node,L.stream_ops=gt.ops_table.file.stream,L.usedBytes=0,L.contents=null):S.isLink(L.mode)?(L.node_ops=gt.ops_table.link.node,L.stream_ops=gt.ops_table.link.stream):S.isChrdev(L.mode)&&(L.node_ops=gt.ops_table.chrdev.node,L.stream_ops=gt.ops_table.chrdev.stream),L.timestamp=Date.now(),d&&(d.contents[E]=L,d.timestamp=L.timestamp),L},getFileDataAsTypedArray:function(d){return d.contents?d.contents.subarray?d.contents.subarray(0,d.usedBytes):new Uint8Array(d.contents):new Uint8Array(0)},expandFileStorage:function(d,E){var I=d.contents?d.contents.length:0;if(!(I>=E)){var k=1024*1024;E=Math.max(E,I*(I<k?2:1.125)>>>0),I!=0&&(E=Math.max(E,256));var L=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(L.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&&gt.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,k){return gt.createNode(d,E,I,k)},rename:function(d,E,I){if(S.isDir(d.mode)){var k;try{k=S.lookupNode(E,I)}catch{}if(k)for(var L in k.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var k in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var k=gt.createNode(d,E,41471,0);return k.link=I,k},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,k,L){var Z=d.node.contents;if(L>=d.node.usedBytes)return 0;var te=Math.min(d.node.usedBytes-L,k);if(te>8&&Z.subarray)E.set(Z.subarray(L,L+te),I);else for(var we=0;we<te;we++)E[I+we]=Z[L+we];return te},write:function(d,E,I,k,L,Z){if(E.buffer===ne.buffer&&(Z=!1),!k)return 0;var te=d.node;if(te.timestamp=Date.now(),E.subarray&&(!te.contents||te.contents.subarray)){if(Z)return te.contents=E.subarray(I,I+k),te.usedBytes=k,k;if(te.usedBytes===0&&L===0)return te.contents=E.slice(I,I+k),te.usedBytes=k,k;if(L+k<=te.usedBytes)return te.contents.set(E.subarray(I,I+k),L),k}if(gt.expandFileStorage(te,L+k),te.contents.subarray&&E.subarray)te.contents.set(E.subarray(I,I+k),L);else for(var we=0;we<k;we++)te.contents[L+we]=E[I+we];return te.usedBytes=Math.max(te.usedBytes,L+k),k},llseek:function(d,E,I){var k=E;if(I===1?k+=d.position:I===2&&S.isFile(d.node.mode)&&(k+=d.node.usedBytes),k<0)throw new S.ErrnoError(28);return k},allocate:function(d,E,I){gt.expandFileStorage(d.node,E+I) Line truncated
`,n=Buffer.byteLength(i),s=Math.floor(Math.log(n)/Math.log(10))+1;return n+s>=Math.pow(10,s)&&(s+=1),s+n+i}};MC.parse=(r,e,t)=>new MC(ZRe(_Re(r),e),t);var ZRe=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,_Re=r=>r.replace(/\n$/,"").split(`
`).reduce($Re,Object.create(null)),$Re=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return r;let s=i.join("=");return r[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};G9.exports=MC});var nh=w((Tot,Y9)=>{Y9.exports=r=>{let e=r.length-1,t=-1;for(;e>-1&&r.charAt(e)==="/";)t=e,e--;return t===-1?r:r.slice(0,t)}});var zB=w((Lot,j9)=>{"use strict";j9.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${e}: ${t}`),i))}}});var QF=w((Mot,q9)=>{"use strict";var VB=["|","<",">","?",":"],BF=VB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),eFe=new Map(VB.map((r,e)=>[r,BF[e]])),tFe=new Map(BF.map((r,e)=>[r,VB[e]]));q9.exports={encode:r=>VB.reduce((e,t)=>e.split(t).join(eFe.get(t)),r),decode:r=>BF.reduce((e,t)=>e.split(t).join(tFe.get(t)),r)}});var bF=w((Kot,W9)=>{var{isAbsolute:rFe,parse:J9}=J("path").win32;W9.exports=r=>{let e="",t=J9(r);for(;rFe(r)||t.root;){let i=r.charAt(0)==="/"&&r.slice(0,4)!=="//?/"?"/":t.root;r=r.substr(i.length),e+=i,t=J9(r)}return[e,r]}});var V9=w((Uot,z9)=>{"use strict";z9.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&-19),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var TF=w((Yot,lX)=>{"use strict";var rX=_f(),iX=WB(),nX=ih(),Zo=J("fs"),X9=J("path"),Xo=th(),iFe=nh(),sX=(r,e)=>e?(r=Xo(r).replace(/^\.(\/|$)/,""),iFe(e)+"/"+r):Xo(r),nFe=16*1024*1024,Z9=Symbol("process"),_9=Symbol("file"),$9=Symbol("directory"),vF=Symbol("symlink"),eX=Symbol("hardlink"),KC=Symbol("header"),XB=Symbol("read"),xF=Symbol("lstat"),ZB=Symbol("onlstat"),PF=Symbol("onread"),DF=Symbol("onreadlink"),kF=Symbol("openfile"),RF=Symbol("onopenfile"),ol=Symbol("close"),_B=Symbol("mode"),FF=Symbol("awaitDrain"),SF=Symbol("ondrain"),_o=Symbol("prefix"),tX=Symbol("hadError"),oX=zB(),sFe=QF(),aX=bF(),AX=V9(),$B=oX(class extends rX{constructor(e,t){if(t=t||{},super(t),typeof e!="string")throw new TypeError("path is required");this.path=Xo(e),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||nFe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=Xo(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?Xo(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=aX(this.path);n&&(this.path=s,i=n)}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=sFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=Xo(t.absolute||X9.resolve(this.cwd,e)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[ZB](this.statCache.get(this.absolute)):this[xF]()}emit(e,...t){return e==="error"&&(this[tX]=!0),super.emit(e,...t)}[xF](){Zo.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[ZB](t)})}[ZB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=aFe(e),this.emit("stat",e),this[Z9]()}[Z9](){switch(this.type){case"File":return this[_9]();case"Directory":return this[$9]();case"SymbolicLink":return this[vF]();default:return this.end()}}[_B](e){return AX(e,this.type==="Directory",this.portable)}[_o](e){return sX(e,this.prefix)}[KC](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new nX({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this[_B](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new iX({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portabl Line truncated
`}),a},i})});var K0=w((Mat,yZ)=>{var uTe=vs(),gTe=gC(),fTe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,hTe=/^\w*$/;function pTe(r,e){if(uTe(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||gTe(r)?!0:hTe.test(r)||!fTe.test(r)||e!=null&&r in Object(e)}yZ.exports=pTe});var U0=w((Kat,wZ)=>{var dTe=Fc(),CTe=vn(),mTe="[object AsyncFunction]",ETe="[object Function]",ITe="[object GeneratorFunction]",yTe="[object Proxy]";function wTe(r){if(!CTe(r))return!1;var e=dTe(r);return e==ETe||e==ITe||e==mTe||e==yTe}wZ.exports=wTe});var QZ=w((Uat,BZ)=>{var BTe=ys(),QTe=BTe["__core-js_shared__"];BZ.exports=QTe});var vZ=w((Hat,SZ)=>{var TN=QZ(),bZ=function(){var r=/[^.]+$/.exec(TN&&TN.keys&&TN.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function bTe(r){return!!bZ&&bZ in r}SZ.exports=bTe});var LN=w((Gat,xZ)=>{var STe=Function.prototype,vTe=STe.toString;function xTe(r){if(r!=null){try{return vTe.call(r)}catch{}try{return r+""}catch{}}return""}xZ.exports=xTe});var DZ=w((Yat,PZ)=>{var PTe=U0(),DTe=vZ(),kTe=vn(),RTe=LN(),FTe=/[\\^$.*+?()[\]{}|]/g,NTe=/^\[object .+?Constructor\]$/,TTe=Function.prototype,LTe=Object.prototype,OTe=TTe.toString,MTe=LTe.hasOwnProperty,KTe=RegExp("^"+OTe.call(MTe).replace(FTe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function UTe(r){if(!kTe(r)||DTe(r))return!1;var e=PTe(r)?KTe:NTe;return e.test(RTe(r))}PZ.exports=UTe});var RZ=w((jat,kZ)=>{function HTe(r,e){return r==null?void 0:r[e]}kZ.exports=HTe});var pl=w((qat,FZ)=>{var GTe=DZ(),YTe=RZ();function jTe(r,e){var t=YTe(r,e);return GTe(t)?t:void 0}FZ.exports=jTe});var _C=w((Jat,NZ)=>{var qTe=pl(),JTe=qTe(Object,"create");NZ.exports=JTe});var OZ=w((Wat,LZ)=>{var TZ=_C();function WTe(){this.__data__=TZ?TZ(null):{},this.size=0}LZ.exports=WTe});var KZ=w((zat,MZ)=>{function zTe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}MZ.exports=zTe});var HZ=w((Vat,UZ)=>{var VTe=_C(),XTe="__lodash_hash_undefined__",ZTe=Object.prototype,_Te=ZTe.hasOwnProperty;function $Te(r){var e=this.__data__;if(VTe){var t=e[r];return t===XTe?void 0:t}return _Te.call(e,r)?e[r]:void 0}UZ.exports=$Te});var YZ=w((Xat,GZ)=>{var eLe=_C(),tLe=Object.prototype,rLe=tLe.hasOwnProperty;function iLe(r){var e=this.__data__;return eLe?e[r]!==void 0:rLe.call(e,r)}GZ.exports=iLe});var qZ=w((Zat,jZ)=>{var nLe=_C(),sLe="__lodash_hash_undefined__";function oLe(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=nLe&&e===void 0?sLe:e,this}jZ.exports=oLe});var WZ=w((_at,JZ)=>{var aLe=OZ(),ALe=KZ(),lLe=HZ(),cLe=YZ(),uLe=qZ();function Eh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Eh.prototype.clear=aLe;Eh.prototype.delete=ALe;Eh.prototype.get=lLe;Eh.prototype.has=cLe;Eh.prototype.set=uLe;JZ.exports=Eh});var VZ=w(($at,zZ)=>{function gLe(){this.__data__=[],this.size=0}zZ.exports=gLe});var Ih=w((eAt,XZ)=>{function fLe(r,e){return r===e||r!==r&&e!==e}XZ.exports=fLe});var $C=w((tAt,ZZ)=>{var hLe=Ih();function pLe(r,e){for(var t=r.length;t--;)if(hLe(r[t][0],e))return t;return-1}ZZ.exports=pLe});var $Z=w((rAt,_Z)=>{var dLe=$C(),CLe=Array.prototype,mLe=CLe.splice;function ELe(r){var e=this.__data__,t=dLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():mLe.call(e,t,1),--this.size,!0}_Z.exports=ELe});var t_=w((iAt,e_)=>{var ILe=$C();function yLe(r){var e=this.__data__,t=ILe(e,r);return t<0?void 0:e[t][1]}e_.exports=yLe});var i_=w((nAt,r_)=>{var wLe=$C();function BLe(r){return wLe(this.__data__,r)>-1}r_.exports=BLe});var s_=w((sAt,n_)=>{var QLe=$C();function bLe(r,e){var t=this.__data__,i=QLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}n_.exports=bLe});var em=w((oAt,o_)=>{var SLe=VZ(),vLe=$Z(),xLe=t_(),PLe=i_(),DLe=s_();function yh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}yh.prototype.clear=SLe;yh.prototype.delete=vLe;yh.prototype.get=xLe;yh.prototype.has=PLe;yh.prototype.set=DLe;o_.exports=yh});var H0=w((aAt,a_)=>{var kLe=pl(),RLe=ys(),FLe=kLe(RLe,"Map");a_.exports=FLe});var c_=w((AAt,l_)=>{var A_=WZ(),NLe=em(),TLe=H0();function LLe(){this.size=0,this.__data__={hash:new A_,map:new(TLe||NLe),string:new A_}}l_.exports=LLe});var g_=w((lAt,u_)=>{function OLe(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}u_.exports=OLe});var tm=w((cAt,f_)=>{var MLe=g_();function KLe(r,e){var t=r.__data__;return MLe(e)?t[typeof e=="string"?"string":"hash"]:t.map}f_.exports=KLe});var p_=w((uAt,h_)=>{var ULe=tm();function HLe(r){var e=ULe(this,r).delete(r);return this.size-=e?1:0,e}h_.exports=HLe});var C_=w((gAt,d_)=>{var GLe=tm();function YLe(r){return GLe(this,r).get(r)}d_.exports=YLe});var E_=w((fAt,m_)=>{var jLe=tm();function qLe(r){return jLe(this,r).has(r)}m_.exports=qLe});var y_=w((hAt,I_)=>{var JLe=tm();function WLe(r,e){var t=JLe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}I_.exports=WLe});var G0=w((pAt,w_)=>{va Line truncated
attempted value: ${s}
`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,Fs({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,pre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,pre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(Fs({},t,{value:e}));return typeof i=="function"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(Fs({},t,{value:e})),n;return i._validate(e,Fs({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(Cre.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(Cre.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,hre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Th.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(t){return t!==void 0}})}required(e=Th.mixed.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Th.mixed.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,dQ.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let i=this.clone(),n=(0,KHe.default)(e).map(s=>new OHe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new LHe.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,dQ.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Th.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,dQ.default)({message:t,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,t=Th.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,dQ.default)({message:t,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};CQ.default=co;co.prototype.__isYupSchema__=!0;for(let r of["validate","validateSync"])co.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,MHe.getIn)(this,e,t,i.context);return o[r](n&&n[s],Fs({},i,{parent:n,path:e}))};for(let r of["equals","is"])co.prototype[r]=co.prototype.oneOf;for(let r of["not","nope"])co.prototype[r]=co.prototype.notOneOf;co.prototype.optional=co.prototype.notRequired});var Ire=w(Im=>{"use strict";Object.defineProperty(Im,"__esModule",{value:!0});Im.create=Ere;Im.default=void 0;var UHe=HHe(oA());function HHe(r){return r&&r.__esModule?r:{default:r}}var NT=UHe.default,GHe=NT;Im.default=GHe;function Ere(){return new NT}Ere.prototype=NT.prototype});var Lh=w(mQ=>{"use strict";Object.defineProperty(mQ,"__esModule",{value:!0});mQ.default=void 0;var YHe=r=>r==null;mQ.defaul Line truncated
`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),r.ansiRegex=rje,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o=="string"?r[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!tje(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias("unstyle",s=>typeof s=="string"&&s!==""?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,"")):""),r.alias("noop",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=Xie(),r.define=n,r};VT.exports=Zie();VT.exports.create=Zie});var ji=w(Tt=>{"use strict";var ije=Object.prototype.toString,Ns=uo(),_ie=!1,XT=[],$ie={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Tt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Tt.hasColor=r=>!!r&&Ns.hasColor(r);var QQ=Tt.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);Tt.nativeType=r=>ije.call(r).slice(8,-1).toLowerCase().replace(/\s/g,"");Tt.isAsyncFn=r=>Tt.nativeType(r)==="asyncfunction";Tt.isPrimitive=r=>r!=null&&typeof r!="object"&&typeof r!="function";Tt.resolve=(r,e,...t)=>typeof e=="function"?e.call(r,...t):e;Tt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Tt.scrollUp=(r=[])=>[r.pop(),...r];Tt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index<i.index?-1:0),e};Tt.swap=(r,e,t)=>{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Tt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[0]),process.platform==="win32"?t-1:t};Tt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[1]),t};Tt.wordWrap=(r,e={})=>{if(!r)return r;typeof e=="number"&&(e={width:e});let{indent:t="",newline:i=`
`+t,width:n=80}=e,s=(i+t).match(/[^\S\n]/g)||[];n-=s.length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),t+c.join(i)};Tt.unmute=r=>{let e=r.stack.find(i=>Ns.keys.color.includes(i));return e?Ns[e]:r.stack.find(i=>i.slice(2)==="bg")?Ns[e.slice(2)]:i=>i};Tt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):"";Tt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ns.keys.color.includes(i));if(e){let i=Ns["bg"+Tt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)==="bg");return t?Ns[t.slice(2).toLowerCase()]||r:Ns.none};Tt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ns.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)==="bg");if(e&&!t)return Ns[$ie[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=$ie[i];return n&&Ns["bg"+Tt.pascal(n)]||r}return Ns.none};Tt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=t<10?"0"+t:t;return n+":"+s+" "+i};Tt.set=(r={},e="",t)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Tt.isObject(a)&&s<o.length-1&&(a={}),i[n]=a},r);Tt.get=(r={},e="",t)=>{let i=r[e]==null?e.split(".").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Tt.mixin=(r,e)=>{if(!QQ(r))return e;if(!QQ(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty("value"))if(r.hasOwnProperty(t)&&QQ(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);QQ(n.value)?r[t]=Tt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Tt.merge=(...r)=>{let e={};for(let t of r)Tt.mixin(e,t);return e};Tt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n=="function"?Tt.define(r,i,n.bind(e)):Tt.define(r,i,n)}};Tt.onExit=r=>{let e=(t,i)=>{_ie||(_ie=!0,XT.forEach(n=>n()),t===!0&&process.exit(128+i))};XT.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),XT.push(r)};Tt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Tt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var ene=w(Gh=>{"use strict";Gh.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Gh.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Gh.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Gh.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Gh.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var ine=w((Bgt,rne)=>{"use strict";var tne=J("readline"),nje=ene(),sje=/^(?:\x1b)([a-zA-Z0-9])$/,oje=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,aje={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function Aje(r){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(r)}function lje(r){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(r)}var bQ=(r="",e={})=>{let t,i={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r,...e};if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r="\x1B"+String(r)):r=String(r):r!==void 0&&typeof r!="string"?r=String(r):r||(r=i.sequence||""),i.sequence=i.sequence||r||i.name,r==="\r")i.raw=void 0,i.name="return";else if(r===`
`)i.name="enter";else if(r===" ")i.name="tab";else if(r==="\b"||r==="\x7F"||r==="\x1B\x7F"||r==="\x1B\b")i.name="backspace",i.meta=r.charAt(0)==="\x1B";else if(r==="\x1B"||r==="\x1B\x1B")i.name="escape",i.meta=r.length===2;else if(r===" "||r==="\x1B ")i.name="space",i.meta=r.length===2;else if(r<="")i.name=String.fromCharCode(r.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>="0"&&r<="9")i.name="number";else if(r.length===1&&r>="a"&&r<="z")i.name=r;else if(r.length===1&&r>="A"&&r<="Z")i.name=r.toLowerCase(),i.shift=!0;else if(t=sje.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=oje.exec(r)){let n=[...r];n[0]==="\x1B"&&n[1]==="\x1B"&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(""),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=aje[s],i.shift=Aje(s)||i.shift,i.ctrl=lje(s)||i.ctrl}return i};bQ.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error("Invalid stream passed");let i=tne.createInterface({terminal:!0,input:t});tne.emitKeypressEvents(t,i);let n=(a,l)=>e(a,bQ(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on("keypress",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener("keypress",n),i.pause(),i.close()}};bQ.action=(r,e,t)=>{let i={...nje,...t};return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};rne.exports=bQ});var sne=w((Qgt,nne)=>{"use strict";nne.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i=="number"&&(i={interval:i}),cje(r,t,i)}};function cje(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),r.once("close",()=>i.stop()),i.stop}});var ane=w((bgt,one)=>{"use strict";var{define:uje,width:gje}=ji(),ZT=class{constructor(e){let t=e.options;uje(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=gje(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t=="function"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};one.exports=ZT});var lne=w((Sgt,Ane)=>{"use strict";var _T=ji(),Di=uo(),$T={default:Di.noop,noop:Di.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||_T.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||_T.complement(this.primary)},primary:Di.cyan,success:Di.green,danger:Di.magenta,strong:Di.bold,warning:Di.yellow,muted:Di.dim,disabled:Di.gray,dark:Di.dim.gray,underline:Di.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};$T.merge=(r={})=>{r.styles&&typeof r.styles.enabled=="boolean"&&(Di.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible=="boolean"&&(Di.visible=r.styles.visible);let e=_T.merge({},$T,r.styles);delete e.merge;for(let t of Object.keys(Di))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});for(let t of Object.keys(Di.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});return e};Ane.exports=$T});var une=w((vgt,cne)=>{"use strict";var eL=process.platform==="win32",AA=uo(),fje=ji(),tL={...AA.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electr Line truncated
`),c=l[0],u=l[l.length-1],f=(i+(t?" "+t:"")).length,h=f<c.length?c.slice(f+1):"";return{header:o,prompt:c,after:h,rest:l.slice(1),last:u}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let t=`
`+this.symbols.pointer+" ";typeof e=="string"?t+=e.trim():t+="Invalid input",this.state.error=`
`+this.styles.danger(t),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),t=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(ou.cursor.down(e.rest.length)),this.write(`
`.repeat(t))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=sL.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:t,result:i}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial=="function"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun=="function"&&await t.onRun.call(this,this),typeof t.onSubmit=="function"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,kn.isObject(e)&&(e=e[i.status]||e.pending),kn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return kn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return kn.isObject(s)&&(s=s[i.status]||s.pending),kn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element("pointer",e,t);if(typeof i=="string"&&kn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=kn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,t){let i=await this.element("indicator",e,t);if(typeof i=="string"&&kn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return kn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return kn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...t){return kn.resolve(this,e,...t)}get base(){return Lm.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||kn.height(this.stdout,25)}get width(){return this.options.columns||kn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function wje(r){let e=n=>r[n]===void 0||typeof r[n]=="function",t=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s=="function"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!="function"&&(r[n]=s)}}function Bje(r){typeof r=="number"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2===0?`
`:" ",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}Ine.exports=Lm});var Bne=w((Dgt,wne)=>{"use strict";var Qje=ji(),yne={default(r,e){return e},checkbox(r,e){throw new Error("checkbox role is not implemented yet")},editable(r,e){throw new Error("editable role is not implemented yet")},expandable(r,e){throw new Error("expandable role is not implemented yet")},heading(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||"",e},input(r,e){throw new Error("input role is not implemented yet")},option(r,e){return yne.default(r,e)},radio(r,e){throw new Error("radio role is not implemented yet")},separator(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};wne.exports=(r,e={})=>{let t=Qje.merge({},yne,e.roles);return t[r]||t.default}});var Om=w((kgt,Sne)=>{"use strict";var bje=uo(),Sje=Yh(),vje=Bne(),SQ=ji(),{reorder:oL,scrollUp:xje,scrollDown:Pje,isObject:Qne,swap:Dje}=SQ,aL=class extends Sje{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Qne(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t=="string"&&(t=this.findIndex(t)),typeof t=="number"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l<o.length;l++){let c=o[l]=await this.toChoice(o[l],n++,a);i.push(c),c.choices&&await s(c.choices,c)}return i};return s(e,t).then(o=>(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=vje(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,SQ.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,bje.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n={name:"New choice name?",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!="boolean"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(t=>t.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!="boolean"&&(t=!e.enabled),e.enabled=t,e.choices&&e. Line truncated
`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(`
`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,i,u,g].filter(Boolean).join(`
`)),this.write(this.margin[2]),this.restore()}};vne.exports=lL});var Pne=w((Fgt,xne)=>{"use strict";var Rje=Cl(),Fje=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},cL=class extends Rje{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=Fje(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};xne.exports=cL});var gL=w((Ngt,Dne)=>{"use strict";var uL=ji();Dne.exports=(r,e={})=>{r.cursorHide();let{input:t="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=uL.inverse(r.styles.primary),c=C=>l(r.styles.black(C)),u=t,g=" ",f=c(g);if(r.blink&&r.blink.off===!0&&(c=C=>C,f=""),s&&n===0&&i===""&&t==="")return c(g);if(s&&n===0&&(t===i||t===""))return c(i[0])+a(i.slice(1));i=uL.isPrimitive(i)?`${i}`:"",t=uL.isPrimitive(t)?`${t}`:"";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=""),s===!1&&(p=""),h){let C=r.styles.unstyle(u+p);return u+p+a(i.slice(C.length))}return u+p}});var vQ=w((Tgt,kne)=>{"use strict";var Nje=uo(),Tje=Cl(),Lje=gL(),fL=class extends Tje{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(t=>t!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,C=this.index===t,y=e.validate||(()=>!0),B=await this.choiceSeparator(e,t),v=e.message;this.align==="right"&&(v=v.padStart(this.longest+1," ")),this.align==="left"&&(v=v.padEnd(this.longest+1," "));let D=this.values[a]=c||o,T=c?"success":"dark";await y.call(e,D,this.s Line truncated
`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};One.exports=pL});var Kne=w((Kgt,Mne)=>{"use strict";var jje=xQ(),dL=class extends jje{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};Mne.exports=dL});var Hne=w((Ugt,Une)=>{"use strict";var qje=Cl(),Jje=vQ(),jh=Jje.prototype,CL=class extends qje{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(t=>t!=null),this.emptyError="",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():jh.dispatch.call(this,e,t)}append(e,t){return jh.append.call(this,e,t)}delete(e,t){return jh.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?jh.next.call(this):super.next()}prev(){return this.focused.editable?jh.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||"",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,t){return e.indent="",e.editable?jh.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!="function"||t.role==="heading")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};Une.exports=CL});var au=w((Hgt,Gne)=>{"use strict";var Wje=Yh(),zje=gL(),{isPrimitive:Vje}=ji(),mL=class extends Wje{constructor(e){super(e),this.initial=Vje(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name==="return"&&(!i||i.name!=="return")?this.append(`
`,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):zje(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(`
`)),this.restore()}};Gne.exports=mL});var jne=w((Ggt,Yne)=>{"use strict";var Xje=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),PQ=r=>Xje(r).filter(Boolean);Yne.exports=(r,e={},t="")=>{let{past:i=[],present:n=""}=e,s,o;switch(r){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:PQ([t,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:PQ([...s,t]),present:o};case"save":return{past:PQ([...i,t]),present:""};case"remove":return o=PQ(i.filter(a=>a!==t)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${r}"`)}}});var IL=w((Ygt,Jne)=>{"use strict";var Zje=au(),qne=jne(),EL=class extends Zje{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=qne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=qne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Jne.exports=EL});var zne=w((jgt,Wne)=>{"use strict";var _je=au(),yL=class extends _je{format(){return""}};Wne.exports=yL});var Xne=w((qgt,Vne)=>{"use strict";var $je=au(),wL=class extends $je{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Vne.exports=wL});var _ne=w((Jgt,Zne)=>{"use strict";var eqe=Cl(),BL=class extends eqe{constructor(e){super({...e,multiple:!0})}};Zne.exports=BL});var bL=w((Wgt,$ne)=>{"use strict";var tqe=au(),QL=class extends tqe{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return i<this.min-t?this.alert():(this.input=`${i-t}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format=="function"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=""){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(t=>this.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};$ne.exports=QL});var tse=w((zgt,ese)=>{ese.exports=bL()});var ise=w((Vgt,rse)=>{"use strict";var rqe=au(),SL=class extends rqe{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};rse.exports=SL});var ose=w((Xgt,sse)=>{"use strict";var iqe=uo(),nqe=Om(),nse=ji(),vL=class extends nqe{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||`
`;let t=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let i=0;i<this.scale.length;i++)t.scale.push({index:i})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}heading(e,t,i){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(i=>` ${i.name} - ${i.message}`)].map(i=>this.styles.muted(i)).join(`
`)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join("").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!nse.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=iqe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=nse.wordWrap(c,{width:this.widths[0],newline:a}).split(`
`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(`
`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),t=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...t.map(n=>n.join(" "))].join(`
`)}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(t),this.write([a,o,c,g,f].filter(Boolean).join(`
`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};sse.exports=vL});var lse=w((Zgt,Ase)=>{"use strict";var ase=uo(),sqe=(r="")=>typeof r=="string"?r.replace(/^['"]|['"]$/g,""):"",PL=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=sqe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},oqe=async(r={},e={},t=i=>i)=>{let i=new Set,n=r.fields||[],s=r.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});u<s.length-1;){let p=g();if(/^[^\S\n ]$/.test(p)){h({type:"text",value:p});continue}if(p===`
`){h({type:"newline",value:p}),c++;continue}if(p==="\\"){p+=g(),h({type:"text",value:p});continue}if((p==="$"||p==="#"||p==="{")&&f()==="{"){let y=g();p+=y;let B={type:"template",open:p,inner:"",close:"",value:p},v;for(;v=g();){if(v==="}"){f()==="}"&&(v+=g()),B.value+=v,B.close=v;break}v===":"?(B.initial="",B.key=B.inner):B.initial!==void 0&&(B.initial+=v),B.value+=v,B.inner+=v}B.template=B.open+(B.initial||B.inner)+B.close,B.key=B.key||B.inner,e.hasOwnProperty(B.key)&&(B.initial=e[B.key]),B=t(B),h(B),l.push(B.key),i.add(B.key);let D=a.find(T=>T.name===B.key);B.field=n.find(T=>T.name===B.key),D||(D=new PL(B),a.push(D)),D.lines.push(B.line-1);continue}let C=o[o.length-1];C.type==="text"&&C.line===c?C.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};Ase.exports=async r=>{let e=r.options,t=new Set(e.required===!0?[]:e.required||[]),i={...e.values,...e.initial},{tabstops:n,items:s,keys:o}=await oqe(e,i),a=xL("result",r,e),l=xL("format",r,e),c=xL("validate",r,e,!0),u=r.isValue.bind(r);return async(g={},f=!1)=>{let h=0;g.required=t,g.items=s,g.keys=o,g.output="";let p=async(v,D,T,H)=>{let j=await c(v,D,T,H);return j===!1?"Invalid field "+T.name:j};for(let v of n){let D=v.value,T=v.key;if(v.type!=="template"){D&&(g.output+=D);continue}if(v.type==="template"){let H=s.find(_=>_.name===T);e.required===!0&&g.required.add(H.name);let j=[H.input,g.values[H.value],H.value,D].find(u),V=(H.field||{}).message||v.inner;if(f){let _=await p(g.values[T],g,H,h);if(_&&typeof _=="string"||_===!1){g.invalid.set(T,_);continue}g.invalid.delete(T);let A=await a(g.values[T],g,H,h);g.output+=ase.unstyle(A);continue}H.placeholder=!1;let W=D;D=await l(D,g,H,h),j!==D?(g.values[T]=j,D=r.styles.typing(j),g.missing.delete(V)):(g.values[T]=void 0,j=`<${V}>`,D=r.styles.primary(j),H.placeholder=!0,g.required.has(T)&&g.missing.add(V)),g.missing.has(V)&&g.validating&&(D=r.styles.warning(j)),g.invalid.has(T)&&g.validating&&(D=r.styles.danger(j)),h===g.index&&(W!==D?D=r.styles.underline(D):D=r.styles.heading(ase.unstyle(D))),h++}D&&(g.output+=D)}let C=g.output.split(`
`).map(v=>" "+v),y=s.length,B=0;for(let v of s)g.invalid.has(v.name)&&v.lines.forEach(D=>{C[D][0]===" "&&(C[D]=g.styles.danger(g.symbols.bullet)+C[D].slice(1))}),r.isValue(g.values[v.name])&&B++;return g.completed=(B/y*100).toFixed(0),g.output=C.join(`
`),g.output}};function xL(r,e,t,i){return(n,s,o,a)=>typeof o.field[r]=="function"?o.field[r].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var use=w((_gt,cse)=>{"use strict";var aqe=uo(),Aqe=lse(),lqe=Yh(),DL=class extends lqe{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Aqe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(t=this.styles.danger),t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:i,size:n}=this.state,s=[this.options.newline,`
`].find(v=>v!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=t[e]||"",C=await this.format(p),y=await this.footer();C&&(c+=" "+C),f&&!C&&this.state.completed===0&&(c+=" "+f),this.clear(n);let B=[u,c,h,y,g.trim()];this.write(B.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:t,keys:i,index:n}=this.state,s=t.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c}
`;return this.state.error=a,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=aqe.unstyle(i).split(`
`).map(a=>a.slice(1)).join(`
`);return this.value={values:n,result:o},super.submit()}};cse.exports=DL});var fse=w(($gt,gse)=>{"use strict";var cqe="(Use <shift>+<up/down> to sort)",uqe=Cl(),kL=class extends uqe{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,cqe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+" ",s=this.index===t&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};gse.exports=kL});var pse=w((eft,hse)=>{"use strict";var gqe=Om(),RL=class extends gqe{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(`
`)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=fqe(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=D=>(D?this.styles.success("\u25C9"):"\u25EF")+o,u=t+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((D,T)=>c(T===e.scaleIdx)).join(a),C=D=>D===e.scaleIdx?g(D):D,y=h+e.scale.map((D,T)=>C(T)).join(l),B=()=>[u,f].filter(Boolean).join(" "),v=()=>[B(),p,y," "].filter(Boolean).join(`
`);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),v()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),t=await Promise.all(e);return t.length||t.push(this.styles.danger("No matching choices")),t.join(`
`)}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(t),this.write([o,a,u,g].filter(Boolean).join(`
`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function fqe(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let t=[];for(let i=1;i<r+1;i++)t.push({i,selected:!1});return t}hse.exports=RL});var Cse=w((tft,dse)=>{dse.exports=IL()});var Ese=w((rft,mse)=>{"use strict";var hqe=xQ(),FL=class extends hqe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(`
`)),this.write(this.margin[2]),this.restore()}};mse.exports=FL});var yse=w((ift,Ise)=>{"use strict";var pqe=Cl(),NL=class extends pqe{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Ise.exports=NL});var Bse=w(TL=>{"use strict";var wse=ji(),ui=(r,e)=>{wse.defineExport(TL,r,e),wse.defineExport(TL,r.toLowerCase(),e)};ui("AutoComplete",()=>Pne());ui("BasicAuth",()=>Lne());ui("Confirm",()=>Kne());ui("Editable",()=>Hne());ui("Form",()=>vQ());ui("Input",()=>IL());ui("Invisible",()=>zne());ui("List",()=>Xne());ui("MultiSelect",()=>_ne());ui("Numeral",()=>tse());ui("Password",()=>ise());ui("Scale",()=>ose());ui("Select",()=>Cl());ui("Snippet",()=>use());ui("Sort",()=>fse());ui("Survey",()=>pse());ui("Text",()=>Cse());ui("Toggle",()=>Ese());ui("Quiz",()=>yse())});var bse=w((sft,Qse)=>{Qse.exports={ArrayPrompt:Om(),AuthPrompt:hL(),BooleanPrompt:xQ(),NumberPrompt:bL(),StringPrompt:au()}});var Km=w((oft,vse)=>{"use strict";var Sse=J("assert"),OL=J("events"),ml=ji(),fo=class extends OL{constructor(e,t){super(),this.options=ml.merge({},e),this.answers={...t}}register(e,t){if(ml.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Sse.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(ml.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=ml.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ml;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Sse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Yh()}static get prompts(){return Bse()}static get types(){return bse()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return ml.mixinEmitter(e,new OL),e}};ml.mixinEmitter(fo,new OL);var LL=fo.prompts;for(let r of Object.keys(LL)){let e=r.toLowerCase(),t=i=>new LL[r](i).run();fo.prompt[e]=t,fo[e]=t,fo[r]||Reflect.defineProperty(fo,r,{get:()=>LL[r]})}var Mm=r=>{ml.defineExport(fo,r,()=>fo.types[r])};Mm("ArrayPrompt");Mm("AuthPrompt");Mm("BooleanPrompt");Mm("NumberPrompt");Mm("StringPrompt");vse.exports=fo});var Ose=w((Wft,Lse)=>{function Iqe(r,e){for(var t=-1,i=r==null?0:r.length;++t<i&&e(r[t],t,r)!==!1;);return r}Lse.exports=Iqe});var Jh=w((zft,Mse)=>{var yqe=Y0(),wqe=Qh();function Bqe(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s<o;){var a=e[s],l=i?i(t[a],r[a],a,t,r):void 0;l===void 0&&(l=r[a]),n?wqe(t,a,l):yqe(t,a,l)}return t}Mse.exports=Bqe});var Use=w((Vft,Kse)=>{var Qqe=Jh(),bqe=Rh();function Sqe(r,e){return r&&Qqe(e,bqe(e),r)}Kse.exports=Sqe});var Gse=w((Xft,Hse)=>{function vqe(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}Hse.exports=vqe});var jse=w((Zft,Yse)=>{var xqe=vn(),Pqe=aQ(),Dqe=Gse(),kqe=Object.prototype,Rqe=kqe.hasOwnProperty;function Fqe(r){if(!xqe(r))return Dqe(r);var e=Pqe(r),t=[];for(var i in r)i=="constructor"&&(e||!Rqe.call(r,i))||t.push(i);return t}Yse.exports=Fqe});var Wh=w((_ft,qse)=>{var Nqe=aT(),Tqe=jse(),Lqe=gm();function Oqe(r){return Lqe(r)?Nqe(r,!0):Tqe(r)}qse.exports=Oqe});var Wse=w(($ft,Jse)=>{var Mqe=Jh(),Kqe=Wh();function Uqe(r,e){return r&&Mqe(e,Kqe(e),r)}Jse.exports=Uqe});var YL=w((Ym,zh)=>{var Hqe=ys(),Zse=typeof Ym=="object"&&Ym&&!Ym.nodeType&&Ym,zse=Zse&&typeof zh=="object"&&zh&&!zh.nodeType&&zh,Gqe=zse&&zse.exports===Zse,Vse=Gqe?Hqe.Buffer:void 0,Xse=Vse?Vse.allocUnsafe:void 0;function Yqe(r,e){if(e)return r.slice();var t=r.length,i=Xse?Xse(t):new r.constructor(t);return r.copy(i),i Line truncated
`:"";return o?g+=`@IF EXIST ${o} (\r
${o} ${l} ${n} ${u}%*\r
) ELSE (\r
@SETLOCAL\r
@SET PATHEXT=%PATHEXT:;.JS;=;%\r
${a} ${l} ${n} ${u}%*\r
)\r
`:g+=`@${a} ${l} ${n} ${u}%*\r
`,g}function Dze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=t.args||"",l=aM(t.nodePath).posix;n?(s=`"$basedir/${t.prog}"`,i=o):(n=o,a="",i="");let c=t.progArgs?`${t.progArgs.join(" ")} `:"",u=`#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
case \`uname\` in
*CYGWIN*) basedir=\`cygpath -w "$basedir"\`;;
esac
`,g=t.nodePath?`export NODE_PATH="${l}"
`:"";return s?u+=`${g}if [ -x ${s} ]; then
exec ${s} ${a} ${i} ${c}"$@"
else
exec ${n} ${a} ${i} ${c}"$@"
fi
`:u+=`${g}${n} ${a} ${i} ${c}"$@"
exit $?
`,u}function kze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=t.args||"",c=aM(t.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${t.prog}$exe"`,i=a):(s=a,l="",i="");let f=t.progArgs?`${t.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
${t.nodePath?`$env_node_path=$env:NODE_PATH
$env:NODE_PATH="${u}"
`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
}`;return t.nodePath&&(h+=` else {
$env:NODE_PATH="${g}"
}`),o?h+=`
$ret=0
if (Test-Path ${o}) {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${o} ${l} ${i} ${f}$args
} else {
& ${o} ${l} ${i} ${f}$args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${s} ${l} ${i} ${f}$args
} else {
& ${s} ${l} ${i} ${f}$args
}
$ret=$LASTEXITCODE
}
${t.nodePath?`$env:NODE_PATH=$env_node_path
`:""}exit $ret
`:h+=`
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${s} ${l} ${i} ${f}$args
} else {
& ${s} ${l} ${i} ${f}$args
}
${t.nodePath?`$env:NODE_PATH=$env_node_path
`:""}exit $LASTEXITCODE
`,h}function Rze(r,e){return e.fs_.chmod(r,493)}function aM(r){if(!r)return{win32:"",posix:""};let e=typeof r=="string"?r.split(Ts.delimiter):Array.from(r),t={};for(let i=0;i<e.length;i++){let n=e[i].split("/").join("\\"),s=Sle()?e[i].split("\\").join("/").replace(/^([^:\\/]*):/,(o,a)=>`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}xle.exports=oM});var EM=w((ZQt,Vle)=>{Vle.exports=J("stream")});var $le=w((_Qt,_le)=>{"use strict";function Xle(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function _ze(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xle(Object(t),!0).forEach(function(i){$ze(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Xle(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function $ze(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function e5e(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Zle(r,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(r,i.key,i)}}function t5e(r,e,t){return e&&Zle(r.prototype,e),t&&Zle(r,t),r}var r5e=J("buffer"),pb=r5e.Buffer,i5e=J("util"),IM=i5e.inspect,n5e=IM&&IM.custom||"inspect";function s5e(r,e,t){pb.prototype.copy.call(r,e,t)}_le.exports=function(){function r(){e5e(this,r),this.head=null,this.tail=null,this.length=0}return t5e(r,[{key:"push",value:function(t){var i={data:t,next:null};this.length>0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=t+i.data;return n}},{key:"concat",value:function(t){if(this.length===0)return pb.alloc(0);for(var i=pb.allocUnsafe(t>>>0),n=this.head,s=0;n;)s5e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(t,i){var n;return t<this.head.data.length?(n=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):t===this.head.data.length?n=this.shift():n=i?this._getString(t):this._getBuffer(t),n}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var i=this.head,n=1,s=i.data;for(t-=s.length;i=i.next;){var o=i.data,a=t>o.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var i=pb.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:n5e,value:function(t,i){return IM(this,_ze({},i,{depth:0,customInspect:!1}))}}]),r}()});var wM=w(($Qt,tce)=>{"use strict";function o5e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(yM,this,r)):process.nextTick(yM,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(db,t):(t._writableState.errorEmitted=!0,process.nextTick(ece,t,s)):process.nextTick(ece,t,s):e?(process.nextTick(db,t),e(s)):process.nextTick(db,t)}),this)}function ece(r,e){yM(r,e),db(r)}function db(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function a5e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function yM(r,e){r.emit("error",e)}function A5e(r,e){var t=r._readableState,i=r._writableState;t&&t.a Line truncated
`)),r.linkname&&(e+=XM(" linkpath="+r.linkname+`
`));var t=r.pax;if(t)for(var i in t)e+=XM(" "+i+"="+t[i]+`
`);return Buffer.from(e)};hp.decodePax=function(r){for(var e={};r.length;){for(var t=0;t<r.length&&r[t]!==32;)t++;var i=parseInt(r.slice(0,t).toString(),10);if(!i)return e;var n=r.slice(t+1,i-1).toString(),s=n.indexOf("=");if(s===-1)return e;e[n.slice(0,s)]=n.slice(s+1),r=r.slice(i)}return e};hp.encode=function(r){var e=eVe(512),t=r.name,i="";if(r.typeflag===5&&t[t.length-1]!=="/"&&(t+="/"),Buffer.byteLength(t)!==t.length)return null;for(;Buffer.byteLength(t)>100;){var n=t.indexOf("/");if(n===-1)return null;i+=i?"/"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(Rl(r.mode&oVe,6),100),e.write(Rl(r.uid,6),108),e.write(Rl(r.gid,6),116),e.write(Rl(r.size,11),124),e.write(Rl(r.mtime.getTime()/1e3|0,11),136),e[156]=tue+lVe(r.type),r.linkname&&e.write(r.linkname,157),rue.copy(e,bE),iVe.copy(e,ZM),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(Rl(r.devmajor||0,6),329),e.write(Rl(r.devminor||0,6),337),i&&e.write(i,345),e.write(Rl(nue(e),6),148),e)};hp.decode=function(r,e,t){var i=r[156]===0?0:r[156]-tue,n=fp(r,0,100,e),s=Fl(r,100,8),o=Fl(r,108,8),a=Fl(r,116,8),l=Fl(r,124,12),c=Fl(r,136,12),u=AVe(i),g=r[157]===0?null:fp(r,157,100,e),f=fp(r,265,32),h=fp(r,297,32),p=Fl(r,329,8),C=Fl(r,337,8),y=nue(r);if(y===8*32)return null;if(y!==Fl(r,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(rue.compare(r,bE,bE+6)===0)r[345]&&(n=fp(r,345,155,e)+"/"+n);else if(!(nVe.compare(r,bE,bE+6)===0&&sVe.compare(r,ZM,ZM+2)===0)){if(!t)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:C}}});var uue=w((Ebt,cue)=>{var oue=J("util"),uVe=eue(),SE=_M(),aue=gp().Writable,Aue=gp().PassThrough,lue=function(){},sue=function(r){return r&=511,r&&512-r},gVe=function(r,e){var t=new kb(r,e);return t.end(),t},fVe=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},kb=function(r,e){this._parent=r,this.offset=e,Aue.call(this,{autoDestroy:!1})};oue.inherits(kb,Aue);kb.prototype.destroy=function(r){this._parent.destroy(r)};var dA=function(r){if(!(this instanceof dA))return new dA(r);aue.call(this,r),r=r||{},this._offset=0,this._buffer=uVe(),this._missing=0,this._partial=!1,this._onparse=lue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=sue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(sue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=SE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=SE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=SE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit("error",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=fVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,gVe(e,f),n);return}e._stream=new kb(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};oue.inherits(dA,aue);dA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.emit("close"))};dA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};dA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=lue,this._overflow?this._write(this._overflow,void 0,r):r()}};dA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.length<s)return this._missing-=r.length,this._overflow=null,i?i.write(r,t):(n.append(r),t Line truncated
Wanted: ${t.size}
Found: ${r.length}`);throw a.code="EBADSIZE",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ga.exports.checkStream=jVe;function jVe(r,e,t){t=An(t);let i=t.Promise||Promise,n=l1(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ga.exports.integrityStream=l1;function l1(r){r=An(r);let e=r.integrity&&ua(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(PE.createHash),a=0,l=new TVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=r.options&&r.options.length?`?${r.options.join("?")}`:"",u=ua(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),r),g=t&&u.match(e,r);if(typeof r.size=="number"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}.
Wanted: ${r.size}
Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=r.size,f.sri=e,l.emit("error",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ga.exports.create=qVe;function qVe(r){r=An(r);let e=r.algorithms,t=r.options.length?`?${r.options.join("?")}`:"",i=e.map(PE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Nl(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Zu)}}}var JVe=new Set(PE.getHashes()),Fue=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(r=>JVe.has(r));function WVe(r,e){return Fue.indexOf(r.toLowerCase())>=Fue.indexOf(e.toLowerCase())?r:e}});var sm={};ut(sm,{BuildType:()=>O0,Cache:()=>Rt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>ok,DEFAULT_RC_FILENAME:()=>sk,FormatType:()=>xi,InstallMode:()=>ts,LightReport:()=>ra,LinkType:()=>Ef,Manifest:()=>ot,MessageName:()=>Ct,MultiFetcher:()=>Df,PackageExtensionStatus:()=>Xx,PackageExtensionType:()=>Vx,Project:()=>je,ProjectLookup:()=>ck,Report:()=>vi,ReportError:()=>at,SettingsType:()=>ak,StreamReport:()=>Ge,TAG_REGEXP:()=>Rf,TelemetryManager:()=>Sh,ThrowReport:()=>ti,VirtualFetcher:()=>Ff,Workspace:()=>bh,WorkspaceFetcher:()=>Tf,WorkspaceResolver:()=>jr,YarnVersion:()=>Tr,execUtils:()=>Cr,folderUtils:()=>Tw,formatUtils:()=>ee,hashUtils:()=>li,httpUtils:()=>Xt,miscUtils:()=>Ie,nodeUtils:()=>ws,parseMessageName:()=>LI,scriptUtils:()=>Wt,semverUtils:()=>vt,stringifyMessageName:()=>NA,structUtils:()=>P,tgzUtils:()=>mi,treeUtils:()=>es});var Cr={};ut(Cr,{EndStrategy:()=>hk,ExecError:()=>Yw,PipeError:()=>dC,execvp:()=>tk,pipevp:()=>Wo});var Wp={};ut(Wp,{AliasFS:()=>bo,CustomDir:()=>Hp,CwdFS:()=>qt,DEFAULT_COMPRESSION_LEVEL:()=>Xl,FakeFS:()=>ya,Filename:()=>xt,JailFS:()=>So,LazyFS:()=>Sg,LinkStrategy:()=>CS,NoFS:()=>jp,NodeFS:()=>$t,PortablePath:()=>Oe,PosixFS:()=>vg,ProxiedFS:()=>pi,VirtualFS:()=>Br,ZipFS:()=>Wr,ZipOpenFS:()=>Kn,constants:()=>xr,extendFs:()=>AI,normalizeLineEndings:()=>Vl,npath:()=>K,opendir:()=>tI,patchFs:()=>QS,ppath:()=>x,statUtils:()=>Op,toFilename:()=>Ur,xfs:()=>M});var xr={};ut(xr,{SAFE_TIME:()=>iK,S_IFDIR:()=>Jl,S_IFLNK:()=>zl,S_IFMT:()=>qs,S_IFREG:()=>Wl});var qs=61440,Jl=16384,Wl=32768,zl=40960,iK=456789e3;var Op={};ut(Op,{BigIntStatsEntry:()=>Bg,DEFAULT_MODE:()=>Tp,DirEntry:()=>cS,StatEntry:()=>Ia,areStatsEqual:()=>gS,clearStats:()=>WE,convertToBigIntStats:()=>zE,makeDefaultStats:()=>Lp,makeEmptyStats:()=>Tge});var uS=Pe(J("util"));var Tp=33188,cS=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Ia=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Tp;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Bg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Tp);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}};function Lp(){return new Ia}function Tge(){return WE(Lp())}function WE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t=="number"?r[e]=0:typeof t=="bigint"?r[e]=BigInt(0):uS.types.isDate(t)&&(r[e]=new Date(0))}return r}function zE(r){let e=new Bg;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i=="number"?e[t]=BigInt(i):uS.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigI Line truncated
`)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)}
`)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n<"u"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n<"u"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},PA=class extends ya{constructor(){super(x)}};function qge(r){let e=r.match(/\r?\n/g);if(e===null)return cK.EOL;let t=e.filter(n=>n===`\r
`).length,i=e.length-t;return t>i?`\r
`:`
`}function Vl(r,e){return e.replace(/\r?\n/g,qge(r))}var bg=J("fs"),IS=J("stream"),hK=J("util"),yS=Pe(J("zlib"));var uK=Pe(J("fs"));var $t=class extends PA{constructor(t=uK.default){super();this.realFs=t,typeof this.realFs.lutimes<"u"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Oe.root}resolve(t){return x.resolve(t)}async openPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.open(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}openSync(t,i,n){return this.realFs.openSync(K.fromPortablePath(t),i,n)}async opendirPromise(t,i){return await new Promise((n,s)=>{typeof i<"u"?this.realFs.opendir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.opendir(K.fromPortablePath(t),this.makeCallback(n,s))}).then(n=>Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0}))}opendirSync(t,i){let n=typeof i<"u"?this.realFs.opendirSync(K.fromPortablePath(t),i):this.realFs.opendirSync(K.fromPortablePath(t));return Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0})}async readPromise(t,i,n=0,s=0,o=-1){return await new Promise((a,l)=>{this.realFs.read(t,i,n,s,o,(c,u)=>{c?l(c):a(u)})})}readSync(t,i,n,s,o){return this.realFs.readSync(t,i,n,s,o)}async writePromise(t,i,n,s,o){return await new Promise((a,l)=>typeof i=="string"?this.realFs.write(t,i,n,this.makeCallback(a,l)):this.realFs.write(t,i,n,s,o,this.makeCallback(a,l)))}writeSync(t,i,n,s,o){return typeof i=="string"?this.realFs.writeSync(t,i,n):this.realFs.writeSync(t,i,n,s,o)}async closePromise(t){await new Promise((i,n)=>{this.realFs.close(t,this.makeCallback(i,n))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createReadStream(n,i)}createWriteStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createWriteStream(n,i)}async realpathPromise(t){return await new Promise((i,n)=>{this.realFs.realpath(K.fromPortablePath(t),{},this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}realpathSync(t){return K.toPortablePath(this.realFs.realpathSync(K.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(i=>{this.realFs.exists(K.fromPortablePath(t),i)})}accessSync(t,i){return this.realFs.accessSync(K.fromPortablePath(t),i)}async accessPromise(t,i){return await new Promise((n,s)=>{this.realFs.access(K.fromPortablePath(t),i,this.makeCallback(n,s))})}existsSync(t){return this.realFs.existsSync(K.fromPortablePath(t))}async statPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.stat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.stat(K.fromPortablePath(t),this.makeCallback(n,s))})}statSync(t,i){return i?this.realFs.statSync(K.fromPortablePath(t),i):this.realFs.statSync(K.fromPortablePath(t))}async fstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.fstat(t,i,this.makeCallback(n,s)):this.realFs.fstat(t,this.makeCallback(n,s))})}fstatSync(t,i){return i?this.realFs.fstatSync(t,i):this.realFs.fstatSync(t)}async lstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.lstat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.lstat(K.fromPortablePath(t),this.makeCallback(n,s))})}lstatSync(t,i){return i?this.realFs.lstatSync(K.fromPortablePath(t),i):this.realFs.lstatSync(K.fromPortablePath(t))}async fchmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.fchmod(t,i,this.makeCallback(n,s))})}fchmodSync(t,i){return this.realFs.fchmodSync(t,i)}async chmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.chmod(K.fromPortablePath(t),i,this.makeCallback(n,s))})}chmodSync(t,i){return this.realFs.chmodSync(K.fromPortablePath(t),i)}async fchownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.fchown(t,i,n,this.makeCallback(s,o))})}fchownSync(t,i,n){return this.realFs.fchownSync(t,i,n)}async chownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.chown(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}chownSync(t,i,n){return this.realFs.chownSync(K.fromPortablePath(t),i,n)}async renamePromise(t,i){return await new Promise((n,s)=>{this.realFs.rename(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}renameSync(t,i){return this.realFs.renameSync(K.fromPortablePath(t),K.fromPortablePath(i))}async copyFilePromise(t,i,n=0){return await new Promise((s,o)=>{this.realFs.copyFile(K.fromPortablePath(t),K.fromPortablePath(i),n,this.makeCallback(s,o))})}copyFileSync(t,i,n=0){return this.realFs.copyFileSync(K.fromPortablePath(t),K.fromPortablePath(i),n)}async appendFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFile(a,i,n,this.makeCallback(s,o)):this.realFs.appendFile(a,i,this.makeCallback(s,o))})}appendFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFileSync(s,i,n):this.realFs.appendFileSync(s,i)}async writeFilePromise(t,i,n){return await new Promise((s,o)=>{let Line truncated
`;if(typeof r=="number"||typeof r=="boolean")return`${r.toString()}
`;if(typeof r=="string")return`${lH(r)}
`;if(Array.isArray(r)){if(r.length===0)return`[]
`;let i=" ".repeat(e);return`
${r.map(s=>`${i}- ${$S(s,e+1,!1)}`).join("")}`}if(typeof r=="object"&&r){let i,n;r instanceof SI?(i=r.data,n=!1):(i=r,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=AH.indexOf(l),g=AH.indexOf(c);return u===-1&&g===-1?l<c?-1:l>c?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!uH(i[l])).map((l,c)=>{let u=i[l],g=lH(l),f=$S(u,e+1,!0),h=c>0||t?s:"",p=g.length>1024?`? ${g}
${h}:`:`${g}:`,C=f.startsWith(`
`)?f:` ${f}`;return`${h}${p}${C}`}).join(e===0?`
`:"")||`
`;return t?`
${a}`:`${a}`}throw new Error(`Unsupported value type (${r})`)}function Qa(r){try{let e=$S(r,0,!1);return e!==`
`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Qa.PreserveOrdering=SI;function lde(r){return r.endsWith(`
`)||(r+=`
`),(0,cH.parse)(r)}var cde=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function ude(r){if(cde.test(r))return lde(r);let e=(0,vI.safeLoad)(r,{schema:vI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function yi(r){return ude(r)}var dz=Pe(fH()),Kw=Pe(Ac());var ud={};ut(ud,{Builtins:()=>hv,Cli:()=>Gn,Command:()=>ve,Option:()=>z,UsageError:()=>be,formatMarkdownish:()=>Ti});var tv="",wi="\0";var rv=/^(-h|--help)(?:=([0-9]+))?$/,xI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,CH=/^-[a-zA-Z]{2,}$/,iv=/^([^=]+)=([\s\S]*)$/,nv=process.env.DEBUG_CLI==="1";var be=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Hg=class extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i}
${this.candidates.map(({usage:n})=>`$ ${n}`).join(`
`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean:
$ ${i}
${sv(e)}`}else this.message=`Command not found; did you mean one of:
${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(`
`)}
${sv(e)}`}},PI=class extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives:
${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(`
`)}
${sv(e)}`}},sv=r=>`While running ${r.filter(e=>e!==wi).map(e=>{let t=JSON.stringify(e);return e.match(/\s/)||e.length===0||t!==`"${e}"`?t:e}).join(" ")}`;var rd=Symbol("clipanion/isOption");function Xi(r){return{...r,[rd]:!0}}function Po(r,e){return typeof r>"u"?[r,e]:typeof r=="object"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function DI(r,e=!1){let t=r.replace(/^\.: /,"");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function id(r,e){return e.length===1?new be(`${r}: ${DI(e[0],!0)}`):new be(`${r}:
${e.map(t=>`
- ${DI(t)}`).join("")}`)}function nd(r,e,t){if(typeof t>"u")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw id(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}var ve=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(ls(),hn)),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw id("Invalid option schema",l);for(let[,g]of c)g()}else if(t!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i<"u"?i:0}};ve.isOption=rd;ve.Default=[];var Av=Array(80).fill("\u2501");for(let r=0;r<=24;++r)Av[Av.length-r]=`\x1B[38;5;${232+r}m\u2501`;var lv={header:r=>`\x1B[1m\u2501\u2501\u2501 ${r}${r.length<80-5?` ${Av.slice(r.length+5).join("")}`:":"}\x1B[0m`,bold:r=>`\x1B[1m${r}\x1B[22m`,error:r=>`\x1B[31m\x1B[1m${r}\x1B[22m\x1B[39m`,code:r=>`\x1B[36m${r}\x1B[39m`},vH={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function zde(r){let e=r.split(`
`),t=e.filter(n=>n.match(/\S/)),i=t.length>0?t.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(`
`)}function Ti(r,{format:e,paragraphs:t}){return r=r.replace(/\r\n?/g,`
`),r=zde(r),r=r.replace(/^\n+|\n+$/g,""),r=r.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2
`),r=r.replace(/\n(\n)?\n*/g,"$1"),t&&(r=r.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(`
`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(`
`)}).join(`
`)),r=r.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),r=r.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),r?`${r}
`:""}var fv=Pe(J("tty"),1);function pn(r){nv&&console.log(r)}var xH={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};function PH(){return{nodes:[_i(),_i(),_i()]}}function Vde(r){let e=PH(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s<n.nodes.length;++s)RH(s)||e.nodes.push(nCe(n.nodes[s],i));i+=n.nodes.length-2}for(let n of t)Gg(e,0,n);return e}function Xs(r,e){return r.nodes.push(e),r.nodes.length-1}function Xde(r){let e=new Set,t=i=>{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(0)}function Zde(r,{prefix:e=""}={}){if(nv){pn(`${e}Nodes are:`);for(let t=0;t<r.nodes.length;++t)pn(`${e} ${t}: ${JSON.stringify(r.nodes[t])}`)}}function DH(r,e,t=!1){pn(`Running a vm on ${JSON.stringify(e)}`);let i=[{node:0,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];Zde(r,{prefix:" "});let n=[tv,...e];for(let s=0;s<n.length;++s){let o=n[s];pn(` Processing ${JSON.stringify(o)}`);let a=[];for(let{node:l,state:c}of i){pn(` Current node is ${l}`);let u=r.nodes[l];if(l===2){a.push({node:l,state:c});continue}console.assert(u.shortcuts.length===0,"Shortcuts should have been eliminated by now");let g=Object.prototype.hasOwnProperty.call(u.statics,o);if(!t||s<n.length-1||g)if(g){let f=u.statics[o];for(let{to:h,reducer:p}of f)a.push({node:h,state:typeof p<"u"?RI(uv,p,c,o):c}),pn(` Static transition to ${h} found`)}else pn(" No static transition found");else{let f=!1;for(let h of Object.keys(u.statics))if(!!h.startsWith(o)){if(o===h)for(let{to:p,reducer:C}of u.statics[h])a.push({node:p,state:typeof C<"u"?RI(uv,C,c,o):c}),pn(` Static transition to ${p} found`);else for(let{to:p}of u.statics[h])a.push({node:p,state:{...c,remainder:h.slice(o.length)}}),pn(` Static transition to ${p} found (partial match)`);f=!0}f||pn(" No partial static transition found")}if(o!==wi)for(let[f,{to:h,reducer:p}]of u.dynamics)RI(NI,f,c,o)&&(a.push({node:h,state:typeof p<"u"?RI(uv,p,c,o):c}),pn(` Dynamic transition to ${h} found (via ${f})`))}if(a.length===0&&o===wi&&e.length===1)return[{node:0,state:xH}];if(a.length===0)throw new Hg(e,i.filter(({node:l})=>l!==2).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===2))throw new Hg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=tCe(a)}if(i.length>0){pn(" Results:");for(let s of i)pn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else pn(" No results");return i}function _de(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,wi)){for(let{to:t}of r.statics[wi])if(t===1)return!0}return!1}function $de(r,e,t){let i=t&&e.length>0?[""]:[],n=DH(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let C=r.nodes[p],y=Object.keys(C.statics);for(let B of Object.keys(C.statics)){let v=y[0];for(let{to:D,reducer:T}of C.statics[v])T==="pushPath"&&(u||l.push(v),g.push(D))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=_de(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==wi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===2)continue;let p=sCe(f,c);if(p!==null)for(let C of p)a([...i,C],l)}}return[...s].sort()}function eCe(r,e){let t=DH(r,[...e,wi]);return rCe(e,t.map(({state:i})=>i))}function tCe(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function rCe(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Hg(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=iCe(c);if(u.length>1)throw new PI(r,u.map(g=>g.candidateUsage));return u[0]}function iCe(r){let Line truncated
`),this.context.stdout.write(`
`);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(`
`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.
`)}}};var FH=Symbol("clipanion/errorCommand");function oCe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var Gn=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new jg({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Gn(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ve.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<"u")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case-1:return qg.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[FH]=a,l}}break}}async run(e,t){var i;let n,s={...Gn.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?aCe(s):TH,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>"u")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<"u"?Ti(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<"u"?Ti(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<"u"?Ti(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<"u"?i.usage.examples.map(([f,h])=>[Ti(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<"u";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ve?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ti(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=`
`),(c!==""||u.length>0)&&(a+=`${this.format(t).header("Usage")}
`,a+=`
`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g}
`,f.length>0){a+=`
`,a+=`${lv.header("Options")}
`;let h=f.reduce((p,C)=>Math.max(p,C.definition.length),0);a+=`
`;for(let{definition:p,description:C}of f)a+=` ${this.format(t).bold(p.padEnd(h))} ${Ti(C,{format:this.format(t),paragraphs:!1})}`}if(c!==""&&(a+=`
`,a+=`${this.format(t).header("Details")}
`,a+=`
`,a+=Ti(c,{format:this.format(t),paragraphs:!0})),u.length>0){a+=`
`,a+=`${this.format(t).header("Examples")}
`;for(let[h,p]of u)a+=`
`,a+=Ti(h,{format:this.format(t),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(t).bold(n)}`).replace(/\$0/g,this.binaryName)}
`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(t).bold(n)}${l}
`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage>"u")continue;let p=typeof f.usage.category<"u"?Ti(f.usage.category,{format:this.format(t),paragraphs:!1}):null,C=l.get(p);typeof C>"u"&&l.set(p,C=[]);let{usage:y}=this.getUsageByIndex(h);C.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel<"u",g=typeof this.binaryVersion<"u";u||g?(u&&g?a+=`${this.format(t).header(`${this.binaryLabel} - ${this.binaryVersion}`)}
`:u?a+=`${this.format(t).header(`${this.binaryLabel}`)}
`:a+=`${this.format(t).header(`${this.binaryVersion}`)}
`,a+=` ${this.format(t).bold(n)}${this.binaryName} <command>
`):a+=`${this.format(t).bold(n)}${this.binaryName} <command>
`;for(let f of c){let h=l.get(f).slice().sort((C,y)=>C.usage.localeCompare(y.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=`
`,a+=`${this.format(t).header(`${p}`)}
`;for(let{commandClass:C,usage:y}of h){let B=C.usage.description||"undocumented";a+=`
`,a+=` ${this.format(t).bold(y)}
`,a+=` ${Ti(B,{format:this.format(t),paragraphs:!1})}`}}a+=`
`,a+=Ti("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[FH])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message}
`;let l=e.clipanion;return typeof l<"u"?l.type==="usage"&&(o+=`
`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")}
`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Gn.defaultContext.colorDepth>1)?lv:vH}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Gn.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in fv.default.WriteStream.prototype?fv.default.WriteStream.prototype.getColorDepth():oCe()};var NH;function aCe(r){let e=NH;if(typeof e>"u"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return TH;let{AsyncLocalStorage:t}=J("async_hooks");e=NH=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function TH(r){return r()}var hv={};ut(hv,{DefinitionsCommand:()=>Ad,HelpCommand:()=>ld,VersionCommand:()=>cd});var Ad=class extends ve{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)}
`)}};Ad.paths=[["--clipanion=definitions"]];var ld=class extends ve{async execute(){this.context.stdout.write(this.cli.usage())}};ld.paths=[["-h"],["--help"]];var cd=class extends ve{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:"<unknown>"}
`)}};cd.paths=[["-v"],["--version"]];var z={};ut(z,{Array:()=>LH,Boolean:()=>OH,Counter:()=>MH,Proxy:()=>KH,Rest:()=>UH,String:()=>HH,applyValidator:()=>nd,cleanValidationError:()=>DI,formatError:()=>id,isOptionSymbol:()=>rd,makeCommandOption:()=>Xi,rerouteArguments:()=>Po});function LH(r,e,t){let[i,n]=Po(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<"u"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function OH(r,e,t){let[i,n]=Po(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function MH(r,e,t){let[i,n]=Po(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function KH(r={}){return Xi({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function UH(r={}){return Xi({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Hn||a.extra===!1&&o<e.arity.leading.length},s=0;for(;s<i.positionals.length&&n(s);)s+=1;return i.positionals.splice(0,s).map(({value:o})=>o)}})}function ACe(r,e,t){let[i,n]=Po(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?nd(g!=null?g:c,f,n.validator):f}})}function lCe(r={}){let{required:e=!0}=r;return Xi({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o<n.positionals.length;++o){if(n.positionals[o].extra===Hn||e&&n.positionals[o].extra===!0||!e&&n.positionals[o].extra===!1)continue;let[a]=n.positionals.splice(o,1);return nd((s=r.name)!==null&&s!==void 0?s:i,a.value,r.validator)}}})}function HH(r,...e){return typeof r=="string"?ACe(r,...e):lCe(r)}var Cz=Pe(Jg()),nk=J("stream");var Ct=(se=>(se[se.UNNAMED=0]="UNNAMED",se[se.EXCEPTION=1]="EXCEPTION",se[se.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",se[se.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",se[se.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",se[se.BUILD_DISABLED=5]="BUILD_DISABLED",se[se.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",se[se.MUST_BUILD=7]="MUST_BUILD",se[se.MUST_REBUILD=8]="MUST_REBUILD",se[se.BUILD_FAILED=9]="BUILD_FAILED",se[se.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",se[se.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",se[se.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",se[se.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",se[se.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",se[se.REMOTE_INVALID=15]="REMOTE_INVALID",se[se.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",se[se.RESOLUTION_PACK=17]="RESOLUTION_PACK",se[se.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",se[se.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",se[se.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",se[se.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",se[se.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",se[se.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",se[se.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",se[se.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",se[se.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",se[se.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",se[se.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",se[se.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",se[se.FETCH_FAILED=30]="FETCH_FAILED",se[se.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",se[se.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",se[se.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",se[se.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",se[se.NETWORK_ERROR=35]="NETWORK_ERROR",se[se.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",se[se.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",se[se.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",se[se.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",se[se.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",se[se.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",se[se.PROLOG_UNKNOWN_ Line truncated
`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var Df=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new at(11,`${mt(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var kf=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${tr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${mt(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var fz=Pe(Xr());var Rf=/^(?!v)[a-z0-9._-]+$/i,Nw=class{supportsDescriptor(e,t){return!!(so(e.range)||Rf.test(e.range))}supportsLocator(e,t){return!!(fz.default.valid(e.reference)||Rf.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return tC(i,e)}forwardDescriptor(e,t){return _t(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return nn(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Ff=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return xf(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Br.makeVirtualPath(s,o,n),l=new bo(a,{baseFs:t.packageFs,pathUtils:x});return{...t,packageFs:l}}};var Nf=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Nf.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Nf.protocol)}supportsDescriptor(e,t){return Nf.isVirtualDescriptor(e)}supportsLocator(e,t){return Nf.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},fC=Nf;fC.protocol="virtual:";var Tf=class{supports(e){return!!e.reference.startsWith(jr.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new qt(i),prefixPath:Oe.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByLine truncated
`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new kf([new fC,new jr,new Nw,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new Df([new Ff,new Tf,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=pC(),t=this.get("supportedArchitectures"),i=t.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=t.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=t.get("libc");return s!==null&&(s=Uo(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:Uo.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!so(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new ot;o.load(n,{yamlCompatibilityMode:!0});let a=hf(e,i.identHash),l=[];a.push([i.range,l]);let c={status:"inactive",userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:"Dependency",descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:"PeerDependency",descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push({...c,type:"PeerDependencyMeta",selector:u,key:f,value:h})};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get("packageExtensions"))t(zA(i,!0),Jy(n),{userProvided:!0})}normalizePackage(e){let t=rC(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i<"u"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!kc(s,o))for(let l of a)switch(l.status==="inactive"&&(l.status="redundant"),l.type){case"Dependency":typeof t.dependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependency":typeof t.peerDependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependencyMeta":{let c=t.peerDependenciesMeta.get(l.selector);(typeof c>"u"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status="active",Ta(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:qx(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=tn(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,_t(o,"*"))}for(let s of t.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=qo("types",o),l=Ot(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,_t(a,"*")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(Qn(t.dependencies,([,s])=>Sn(s))),t.peerDependencies=new Map(Qn(t.peerDependencies,([,s])=>Sn(s))),t}getLimit(e){return Ta(this.limits,e,()=>(0,Cz.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o<"u")return o}return null}},ye=Ha;ye.telemetry=null;var hk=(i=>(i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always",i))(hk||{}),dC=class extends at{constructor({fileName:t,code:i,signal:n}){let s=ye.create(x.cwd()),o=$e(s,t,Ue.PATH);super(1,`Child ${o} reported an error`,a=>{Yve(i,n,{configuration:s,report:a})});this.code=pk(i,n)}},Yw=class extends dC{constructor({fileName:t,code:i,signal:n,stdout:s,stderr:o}){super({fileName:t,code:i,signal:n});this.stdout=s,this.stderr=o}};function Nc(r){return r!==null&&typeof r.fd=="number"}var Tc=new Set;function uk(){}function gk(){for(let r of Tc)r.kill()}async function Wo(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Nc(s)&&(c[0]=s),Nc(o)&&(c[1]=o),Nc(a)&&(c[2]=a);let u=(0,fk.default)(r,e,{cwd:K.fromPortablePath(t),env:{...i,PWD:K.fromPortablePath(t)},stdio:c});Tc.add(u),Tc.size===1&&(process.on("SIGINT",uk),process.on("SIGTERM",gk)),!Nc(s)&&s!==null&&s.pipe(u.stdin),Nc(o)||u.stdout.pipe(o,{end:!1}),Nc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))Nc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Tc.delete(u),Tc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,C)=> Line truncated
`),c(127);break;case"EACCES":n[2].write(`permission denied: ${r}
`),c(128);break;default:n[2].write(`uncaught error: ${u.message}
`),c(1);break}}),l.on("close",u=>{Mc.delete(l),Mc.size===0&&(process.off("SIGINT",LR),process.off("SIGTERM",OR)),c(u!==null?u:129)})})}}}function fV(r){return e=>{let t=e[0]==="pipe"?new Vo.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var Ss=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},MR=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},zf=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new zf(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new zf(this,e),n=new MR;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)===1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)===2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function QB(r,e){return zf.start(r,e)}function lV(r,e=null){let t=new Vo.PassThrough,i=new uV.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(`
`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&r(e!==null?`${e} ${s}`:s)}),t}function hV(r,{prefix:e}){return{stdout:lV(t=>r.stdout.write(`${t}
`),r.stdout.isTTY?e:null),stderr:lV(t=>r.stderr.write(`${t}
`),r.stderr.isTTY?e:null)}}var oke=(0,yV.promisify)(setTimeout);function pV(r,e,t){let i=new Vn.PassThrough({autoDestroy:!0});switch(r){case 0:(e&1)===1&&t.stdin.pipe(i,{end:!1}),(e&2)===2&&t.stdin instanceof Vn.Writable&&i.pipe(t.stdin,{end:!1});break;case 1:(e&1)===1&&t.stdout.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stdout,{end:!1});break;case 2:(e&1)===1&&t.stderr.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stderr,{end:!1});break;default:throw new zn(`Bad file descriptor: "${r}"`)}return i}function SB(r,e={}){let t={...r,...e};return t.environment={...r.environment,...e.environment},t.variables={...r.variables,...e.variables},t}var ake=new Map([["cd",async([r=(0,IV.homedir)(),...e],t,i)=>{let n=x.resolve(i.cwd,K.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new zn(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new zn(`cd: not a directory: ${r}`);return i.cwd=n,0}],["pwd",async(r,e,t)=>(t.stdout.write(`${K.fromPortablePath(t.cwd)}
`),0)],[":",async(r,e,t)=>0],["true",async(r,e,t)=>0],["false",async(r,e,t)=>1],["exit",async([r,...e],t,i)=>i.exitCode=parseInt(r!=null?r:i.variables["?"],10)],["echo",async(r,e,t)=>(t.stdout.write(`${r.join(" ")}
`),0)],["sleep",async([r],e,t)=>{if(typeof r>"u")throw new zn("sleep: missing operand");let i=Number(r);if(Number.isNaN(i))throw new zn(`sleep: invalid time interval '${r}'`);return await oke(1e3*i,0)}],["__ysh_run_procedure",async(r,e,t)=>{let i=t.procedures[r[0]];return await QB(i,{stdin:new Ss(t.stdin),stdout:new Ss(t.stdout),stderr:new Ss(t.stderr)}).run()}],["__ysh_set_redirects",async(r,e,t)=>{let i=t.stdin,n=t.stdout,s=t.stderr,o=[],a=[],l=[],c=0;for(;r[c]!=="--";){let g=r[c++],{type:f,fd:h}=JSON.parse(g),p=v=>{switch(h){case null:case 0:o.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},C=v=>{switch(h){case null:case 1:a.push(v);break;case 2:l.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(r[c++]),B=c+y;for(let v=c;v<B;++c,++v)switch(f){case"<":p(()=>e.baseFs.createReadStream(x.resolve(t.cwd,K.toPortablePath(r[v]))));break;case"<<<":p(()=>{let D=new Vn.PassThrough;return process.nextTick(()=>{D.write(`${r[v]}
`),D.end()}),D});break;case"<&":p(()=>pV(Number(r[v]),1,t));break;case">":case">>":{let D=x.resolve(t.cwd,K.toPortablePath(r[v]));C(D==="/dev/null"?new Vn.Writable({autoDestroy:!0,emitClose:!0,write(T,H,j){setImmediate(j)}}):e.baseFs.createWriteStream(D,f===">>"?{flags:"a"}:void 0))}break;case">&":C(pV(Number(r[v]),2,t));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new Vn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Vn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Vn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await QB(DC(r.slice(c+1),e,t),{stdin:new Ss(i),stdout:new Ss(n),stderr:new Ss(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function Ake(r,e,t){let i=[],n=new Vn.PassThrough;return n.on("data",s=>i.push(s)),await vB(r,e,SB(t,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function dV(r,e,t){let i=r.map(async s=>{let o=await Kc(s.args,e,t);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function bB(r){return r.match(/[^ \r\n\t]+/g)||[]}async function wV(r,e,t,i,n=i){switch(r.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(r.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=bB(s);for(let a=0;a<o.length-1;++a)n(o[a]);i(o[o.length-1])}break;case"*":{let s=e.args.join(" ");if(r.quoted)i(s);else for(let o of bB(s))n(o)}break;case"PPID":i(String(process.ppid));break;case"RANDOM":i(String(Math.floor(Math.random()*32768)));break;default:{let s=parseInt(r.name,10),o,a=Number.isFinite(s);if(a?s>=0&&s<e.args.length&&(o=e.args[s]):Object.prototype.hasOwnProperty.call(t.variables,r.name)?o=t.variables[r.name]:Object.prototype.hasOwnProperty.call(t.environment,r.name)&&(o=t.environment[r.name]),typeof o<"u"&&r.alternativeValue?o=(await Kc(r.alternativeValue,e,t)).join(" "):typeof o>"u"&&(r.defaultValue?o=(await Kc(r.defaultValue,e,t)).join(" "):r.alternativeValue&&(o="")),typeof o>"u")throw a?new zn(`Unbound argument #${s}`):new zn(`Unbound variable "${r.name}"`);if(r.quoted)i(o);else{let l=bB(o);for(let u=0;u<l.length-1;++u)n(l[u]);let c=l[l.length-1];typeof c<"u"&&i(c)}}break}}var lke={addition:(r,e)=>r+e,subtraction:(r,e)=>r-e,multiplication:(r,e)=>r*e,division:(r,e)=>Math.trunc(r/e)};async function PC(r,e,t){if(r.type==="number"){if(Number.isInteger(r.value))return r.value;throw new Error(`Invalid number: "${r.value}", only integers are allowed`)}else if(r.type==="variable"){let i=[];await wV({...r,quoted:!0},e,t,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?PC({type:"variable",name:i.join(" ")},e,t):PC({type:"number",value:n},e,t)}else return lke[r.type](await PC(r.left,e,t),await PC(r.right,e,t))}async function Kc(r,e,t){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p>"u"&&i.set(h,p=[]),p.push(f)};for(let u of r){let g=!1;switch(u.type){case"redirection":{let f=await Kc(u.args,e,t);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await Ake(f.shell,e,t);if(f.quoted)o(h);else{let p=bB(h);for(let C=0;C<p.length-1;++C)l(p[C]);o(p[p.length-1])}}break;case"variable":await wV(f,e,t,o,l);break;case"arithmetic":o(String(await PC(f.arithmetic,e,t)));break}break}if(a(),g){let f=n.pop();if(typeof f>"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let h=await e.glob.match(f,{cwd:t.cwd,baseFs:e.baseFs});if(h.length===0){let p=TR(f)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new zn(`No matches found: "${f}"${p}`)}for(let p of h.sort())l(p)}}if(i.size>0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function DC(r,e,t){e.builtins.has(r[0])||(r=["command",...r]);let i=K.fromPortablePath(t.cwd),n=t.environment;typeof n.PWD<"u"&&(n={...n,PWD:i});let[s,...o]=r;if(s==="command")return gV(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a>"u")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return fV(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=t;t.stdin=l,t.stdout=c,t.stderr=u;try{return await a(o,e,t)}finally{t.stdin=g,t.stdout=f,t.stderr=h}})}function cke(r,e,t){return i=>{let n=new Vn.PassThrough,s=vB(r,e,SB(t,{stdin:n}));return{stdin:n,promise:s Line truncated
`)).finally(()=>{t.stdout.isTTY&&t.stdout.write(`Job ${l}, '${o(Fg(r))}' has ended
`)})),0}return await mV(r,e,t)}async function fke(r,e,t,{background:i=!1}={}){let n,s=a=>{n=a,t.variables["?"]=String(a)},o=async a=>{try{return await gke(a.chain,e,t,{background:i&&typeof a.then>"u"})}catch(l){if(!(l instanceof zn))throw l;return t.stderr.write(`${l.message}
`),1}};for(s(await o(r));r.then;){if(t.exitCode!==null)return t.exitCode;switch(r.then.type){case"&&":n===0&&s(await o(r.then.line));break;case"||":n!==0&&s(await o(r.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${r.then.type}"`)}r=r.then.line}return n}async function vB(r,e,t){let i=t.backgroundJobs;t.backgroundJobs=[];let n=0;for(let{command:s,type:o}of r){if(n=await fke(s,e,t,{background:o==="&"}),t.exitCode!==null)return t.exitCode;t.variables["?"]=String(n)}return await Promise.all(t.backgroundJobs),t.backgroundJobs=i,n}function BV(r){switch(r.type){case"variable":return r.name==="@"||r.name==="#"||r.name==="*"||Number.isFinite(parseInt(r.name,10))||"defaultValue"in r&&!!r.defaultValue&&r.defaultValue.some(e=>kC(e))||"alternativeValue"in r&&!!r.alternativeValue&&r.alternativeValue.some(e=>kC(e));case"arithmetic":return KR(r.arithmetic);case"shell":return UR(r.shell);default:return!1}}function kC(r){switch(r.type){case"redirection":return r.args.some(e=>kC(e));case"argument":return r.segments.some(e=>BV(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${r.type}"`)}}function KR(r){switch(r.type){case"variable":return BV(r);case"number":return!1;default:return KR(r.left)||KR(r.right)}}function UR(r){return r.some(({command:e})=>{for(;e;){let t=e.chain;for(;t;){let i;switch(t.type){case"subshell":i=UR(t.subshell);break;case"command":i=t.envs.some(n=>n.args.some(s=>kC(s)))||t.args.some(n=>kC(n));break}if(i)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function xB(r,e=[],{baseFs:t=new $t,builtins:i={},cwd:n=K.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=BB}={}){let g={};for(let[p,C]of Object.entries(s))typeof C<"u"&&(g[p]=C);let f=new Map(ake);for(let[p,C]of Object.entries(i))f.set(p,C);o===null&&(o=new Vn.PassThrough,o.end());let h=uI(r,u);if(!UR(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let C=p.chain;for(;C.then;)C=C.then.chain;C.type==="command"&&(C.args=C.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await vB(h,{args:e,baseFs:t,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var l9=Pe(PB()),c9=Pe(Jg()),tl=J("stream");var a9=Pe(i9()),FB=Pe(Ac());var n9=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],s9=80,uRe=new Set([13,19]),gRe=5,RB=FB.default.GITHUB_ACTIONS?{start:r=>`::group::${r}
`,end:r=>`::endgroup::
`}:FB.default.TRAVIS?{start:r=>`travis_fold:start:${r}
`,end:r=>`travis_fold:end:${r}
`}:FB.default.GITLAB?{start:r=>`section_start:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${r}
`,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,o9=new Date,fRe=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,hRe=r=>r,NB=hRe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),pRe=fRe&&Object.keys(NB).find(r=>{let e=NB[r];return!(e.date&&(e.date[0]!==o9.getDate()||e.date[1]!==o9.getMonth()+1))})||"default";function A9(r,{configuration:e,json:t}){if(!e.get("enableMessageNames"))return"";let n=NA(r===null?0:r);return!t&&r===null?$e(e,n,"grey"):n}function qR(r,{configuration:e,json:t}){let i=A9(r,{configuration:e,json:t});if(!i||r===null||r===0)return i;let n=Ct[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return If(e,i,s)}var Ge=class extends vi{constructor({configuration:t,stdout:i,json:n=!1,includePrefix:s=!0,includeFooter:o=!0,includeLogs:a=!n,includeInfos:l=a,includeWarnings:c=a,forgettableBufferSize:u=gRe,forgettableNames:g=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errors=[];this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Xd(this,{configuration:t}),this.configuration=t,this.forgettableBufferSize=u,this.forgettableNames=new Set([...g,...uRe]),this.includePrefix=s,this.includeFooter=o,this.includeInfos=l,this.includeWarnings=c,this.json=n,this.stdout=i,t.get("enableProgressBars")&&!n&&i.isTTY&&i.columns>22){let f=t.get("progressBarStyle")||pRe;if(!Object.prototype.hasOwnProperty.call(NB,f))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=NB[f];let h=12,p=Math.max(0,Math.min(i.columns-h,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*p/80)}}static async start(t,i){let n=new this(t),s=process.emitWarning;process.emitWarning=(o,a)=>{if(typeof o!="string"){let c=o;o=c.message,a=a!=null?a:c.name}let l=typeof a<"u"?`${a}: ${o}`:o;n.reportWarning(0,l)};try{await i(n)}catch(o){n.reportExceptionOnce(o)}finally{await n.finalize(),process.emitWarning=s}return n}hasErrors(){return this.errors.length>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){this.cacheHitCount+=1}reportCacheMiss(t,i){this.lastCacheMiss=t,this.cacheMissCount+=1,typeof i<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,i)}startSectionSync({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}async startSectionPromise({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}startTimerImpl(t,i,n){return{cb:typeof i=="function"?i:n,reportHeader:()=>{this.reportInfo(null,`\u250C ${t}`),this.indent+=1,RB!==null&&!this.json&&this.includeInfos&&this.stdout.write(RB.start(t))},reportFooter:a=>{if(this.indent-=1,RB!==null&&!this.json&&this.includeInfos){this.stdout.write(RB.end(t));for(let[l,c]of this.errors)this.reportErrorImpl(l,c)}this.configuration.get("enableTimers")&&a>200?this.reportInfo(null,`\u2514 Completed in ${$e(this.configuration,a,Ue.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof i=="function"?{}:i).skipIfEmpty}}startTimerSync(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionSync(o,s)}async startTimerPromise(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionPromise(o,s)}async startCacheReport(t){let i=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await t()}catch(n){throw this.reportExceptionOnce(n),n}finally{i!==null&&this.reportCacheChanges(i)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(t,i){if(!this.includeInfos)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"",o=`${this.formatPrefix(s,"blueBright")}${i}`;if(this.json)this.reportJson({type:"info",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i});else if(this.forgettableNames.has(t))if(this.forgettableLines.push(o),this.forgettableLines.length>this.forgettableBufferSize){for(;thi Line truncated
`),this.writeProgress()}writeLineWithForgettableReset(t,{truncate:i}={}){this.forgettableLines=[],this.writeLine(t,{truncate:i})}writeLines(t,{truncate:i}={}){this.clearProgress({delta:t.length});for(let n of t)this.stdout.write(`${this.truncate(n,{truncate:i})}
`);this.writeProgress()}reportCacheChanges({cacheHitCount:t,cacheMissCount:i}){let n=this.cacheHitCount-t,s=this.cacheMissCount-i;if(n===0&&s===0)return;let o="";this.cacheHitCount>1?o+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?o+=" - one package was already cached":o+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?o+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(o+=`, one had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?o+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(o+=` - one package had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,o)}commit(){let t=this.uncommitted;this.uncommitted=new Set;for(let i of t)i.committed=!0,i.action()}clearProgress({delta:t=0,clear:i=!1}){this.progressStyle!==null&&this.progress.size+t>0&&(this.stdout.write(`\x1B[${this.progress.size+t}A`),(t>0||i)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let t=Date.now();t-this.progressTime>s9&&(this.progressFrame=(this.progressFrame+1)%n9.length,this.progressTime=t);let i=n9[this.progressFrame];for(let n of this.progress.values()){let s="";if(typeof n.lastScaledSize<"u"){let c=this.progressStyle.chars[0].repeat(n.lastScaledSize),u=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-n.lastScaledSize);s=` ${c}${u}`}let o=this.formatName(null),a=o?`${o}: `:"",l=n.definition.title?` ${n.definition.title}`:"";this.stdout.write(`${$e(this.configuration,"\u27A4","blueBright")} ${a}${i}${s}${l}
`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},s9)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>"u"&&(i=this.configuration.get("preferTruncatedLines")),i&&(t=(0,a9.default)(t,0,this.stdout.columns-1)),t}formatName(t){return A9(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${$e(this.configuration,"\u27A4",i)} ${t}${this.formatIndent()}`:""}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Tr="3.6.0";var u9=(n=>(n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm",n))(u9||{});async function Wa(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await M.writeFilePromise(x.format({dir:r,name:e,ext:".cmd"}),n)}await M.writeFilePromise(x.join(r,e),`#!/bin/sh
exec "${t}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@"
`,{mode:493})}async function g9(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=vw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManagerField:!0,packageManager:Number(s)===1?"Yarn Classic":"Yarn",reason:n};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:n};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:n}}}}let t;try{t=await M.readFilePromise(x.join(r,xt.lockfile),"utf8")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(x.join(r,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:M.existsSync(x.join(r,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function FC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<"u"&&(s[g.toLowerCase()!=="path"?g:"PATH"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([Wa(t,"node",process.execPath),...Tr!==null?[Wa(t,"run",process.execPath,[a,"run"]),Wa(t,"yarn",process.execPath,[a]),Wa(t,"yarnpkg",process.execPath,[a]),Wa(t,"node-gyp",process.execPath,[a,"run","--top-level","node-gyp"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error("Assertion failed: Missing project");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:"":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:"";s.npm_package_name=Ot(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new tl.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Tr!==null?`yarn/${Tr}`:`yarn/${mf("@yarnpkg/core").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await Wa(t,Ur(g),f,h)),s}var dRe=2,CRe=(0,c9.default)(dRe);async function mRe(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await CRe(async()=>{await M.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&jo(s)?nC(s):s,f=g?Es(g):"an external project";c.write(`Packing ${f} from sources
`);let h=await g9(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason}
`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn
`),p="Yarn");let C=p==="Yarn"&&!(h!=null&&h.packageManagerField);await M.mktempPromise(async y=>{let B=await FC({binFolder:y,ignoreCorepack:C}),D=new Map([["Yarn Classic",async()=>{let H=n!==null?["workspace",n]:[],j=x.join(r,xt.manifest),$=await M.readFilePromise(j),V=await Wo(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(V.code!==0)return V.code;await M.writeFilePromise(j,$),await M.appendFilePromise(x.join(r,".npmignore"),`/.yarn
`),c.write(`
`),delete B.NODE_ENV;let W=await Wo("yarn",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(W.code!==0)return W.code;c.write(`
`);let _=await Wo("yarn",[...H,"pack","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return _.code!==0?_.code:0}],["Yarn",async()=>{let H=n!==null?["workspace",n]:[];B.YARN_ENABLE_INLINE_BUILDS="1";let j=x.join(r,xt.lockfile);await M.existsPromise(j)||await M.writeFilePromise(j,"");let $=await Wo("yarn",[...H,"pack","--install-if-needed","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],["npm",async()=>{if(n!==null){let Ae=new tl.PassThrough,ge=Cf(Ae);Ae.pipe(c,{end:!1});let re=await Wo("npm",["--version"],{cwd:r,env:B,stdin:l,stdout:Ae,stderr:u,end:0});if(Ae.end(),re.code!==0)return c.end(),u.end(),re.code;let O=(await ge).toString().trim();if(!kc(O,">=7.x")){let F=qo(null,"npm"),ue=_t(F,O),pe=_t(F,">=7.x");throw new Error(`Workspaces aren't supported by ${tr(t,ue)}; please upgrade to ${tr(t,pe)} (npm has been detected as the primary package manager for ${$e(t,r,Ue.PATH)})`)}}let H=n!==null?["--workspace",n]:[];delete B.npm_config_user_agent,delete B.npm_config_production,delete B.NPM_CONFIG_PRODUCTION,delete B.NODE_ENV;let j=await Wo("npm",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(j.code!==0)return j.code;let $=new tl.PassThrough,V=Cf($);$.pipe(c);let W=await Wo("npm",["pack","--silent",...H],{cwd:r,env:B,stdin:l,stdout:$,stderr:u});if(W.code!==0)return W.code;let _=(await V).toString().trim().replace(/^.*\n/s,""),A=x.resolve(r,K.toPortablePath(_));return await M.renamePromise(A,e),0}]]).get(p);if(typeof D>"u")throw new Error("Assertion failed: Unsupported workflow");let T=await D();if(!(T===0||typeof T>"u"))throw M.detachTemp(o),new at(58,`Packing the package failed (exit code ${T}, logs can be found here: ${$e(t,a,Ue.PATH)})`)})})})}async function ERe(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return WR(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t.configuration,r)} not found in the project`);return await Kn.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Ge({stdout:new tl.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${mt(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new qt(u,{baseFs:s});return(await ot.find(Oe.dot,{baseFs:g})).scripts.has(e)},{libzip:await an()})}async function TB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await f9(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f>"u")return 1;let h=async()=>await xB(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(C=>C.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function JR(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{env:c,cwd:u}=await f9(r,{project:n,binFolder:l,cwd:i});return await xB(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function IRe(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await FC({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await d9(r),([s,[,o]])=>Wa(e,Ur(s),process.execPath,[o]))),typeof t>"u"&&(t=x.dirname(await M.realpathPromise(x.join(r.cwd,"package.json")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function f9(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return IRe(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${mt(e.configuration,r)} not found in the project`);return await Kn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Ge({stdout:new tl.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${mt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await FC({project:e,locator:r,binFolder:t,lifecycleScript:n});await Promise.all(Array.from(await LB(r,{project:e}),([y,[,B]])=>Wa(t,Ur(y),process.execPath,[B])));let h=await g.findPackageLocation(o,u),p=new qt(h,{baseFs:a}),C=await ot.find(Oe.dot,{baseFs:p});return typeof i>"u"&&(i=h),{manifest:C,binFolder:t,env:f,cwd:i}},{libzip:await an()})}async function h9(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await TB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function WR(r,e){return r.manifest.scripts.has(e)}async function p9(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await M.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${K.fromPortablePath(r.cwd)}")
`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:mt(n,r.anchoredLocator),header:l});i.reportInfo(36,`Calling the "${e}" lifecycle script`);let g=await h9(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw M.detachTemp(o),new at(36,`${(0,l9.default)(e)} script failed (exit code ${$e(n,g,Ue.NUMBER)}, logs can be found here: ${$e(n,a,Ue.PATH)}); run ${$e(n,`yarn ${e}`,Ue.CODE)} to investigate`)})}async function yRe(r,e,t){WR(r,e)&&await p9(r,e,t)}async function LB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t,r)} not found in the project`);let s=new tl.Writable,o=t.getLinkers(),a={project:e,report:new Ge({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${tr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return Uo.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return Uo.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return Uo.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===Uo.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,K.fromPortablePath(x.resolve(f,p))])}return i}async function d9(r){return await LB(r.anchoredLocator,{project:r.project})}async function C9(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await LB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${mt(n.configuration,r)}`);return await M.mktempPromise(async g=>{let[,f]=u,h=await FC({project:n,locator:r,binFolder:g});await Promise.all(Array.from(c,([C,[,y]])=>Wa(h.BERRY_BIN_FOLDER,Ur(C),process.execPath,[y])));let p;try{p=await Wo(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await M.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function wRe(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await C9(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var mi={};ut(mi,{convertToZip:()=>VNe,extractArchiveTo:()=>ZNe,makeArchiveFromDirectory:()=>zNe});var aZ=J("stream"),AZ=Pe(tZ());var rZ=Pe(Jg()),iZ=J("worker_threads");var hl=Symbol("kTaskInfo"),L0=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,rZ.default)(ek());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new iZ.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",t=>{if(!e[hl])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[hl].resolve(t),e[hl]=null,e.unref(),this.workers.push(e)}),e.on("error",t=>{var i;(i=e[hl])==null||i.reject(t),e[hl]=null}),e.on("exit",t=>{var i;t!==0&&((i=e[hl])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[hl]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[hl]={resolve:n,reject:s},t.postMessage(e)})})}};var lZ=Pe(sZ());async function zNe(r,{baseFs:e=new $t,prefixPath:t=Oe.root,compressionLevel:i,inMemory:n=!1}={}){let s=await an(),o;if(n)o=new Wr(null,{libzip:s,level:i});else{let l=await M.mktempPromise(),c=x.join(l,"archive.zip");o=new Wr(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Oe.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var oZ;async function VNe(r,e){let t=await M.mktempPromise(),i=x.join(t,"archive.zip");return oZ||(oZ=new L0((0,lZ.getContent)())),await oZ.run({tmpFile:i,tgz:r,opts:e}),new Wr(i,{libzip:await an(),level:e.compressionLevel})}async function*XNe(r){let e=new AZ.default.Parse,t=new aZ.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{t.write(i)}),e.on("error",i=>{t.destroy(i)}),e.on("close",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function ZNe(r,e,{stripComponents:t=0,prefixPath:i=Oe.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=t)}for await(let a of XNe(r)){if(n(a))continue;let l=x.normalize(K.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=t)continue;let c=l.slice(t).join("/"),u=x.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!==0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIM Line truncated
`);return}let s=(0,gZ.asTree)(fZ(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502
$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502
$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");t.write(s)}var dZ=J("crypto"),PN=Pe(J("fs"));var $Ne=8,Rt=class{constructor(e,{configuration:t,immutable:i=t.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,dZ.randomBytes)(8).toString("hex")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get("compressionLevel"),a=o!==Xl?`c${o}`:"";this.cacheKey=[$Ne,a].join("")}}static async find(e,{immutable:t,check:i}={}){let n=new Rt(e.get("cacheFolder"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${xf(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=eTe(t).slice(0,10);return`${xf(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||xN(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await M.existsPromise(this.cwd))throw new at(56,"Cache path does not exist.")}else{await M.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,".gitignore");await M.changeFilePromise(e,`/.gitignore
*.flock
*.tmp
`)}(this.mirrorCwd||!this.immutable)&&await M.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,{onHit:i,onMiss:n,loader:s,...o}){var W;let a=this.getLocatorMirrorPath(e),l=new $t,c=()=>{let _=new Wr(null,{libzip:D}),A=x.join(Oe.root,qD(e));return _.mkdirSync(A,{recursive:!0}),_.writeJsonSync(x.join(A,xt.manifest),{name:Ot(e),mocked:!0}),_},u=async(_,A=null)=>{var ge;if(A===null&&((ge=o.unstablePackages)==null?void 0:ge.has(e.locatorHash)))return{isValid:!0,hash:null};let Ae=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await Qw(_)}`:t;if(A!==null){let re=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await Qw(A)}`:t;if(Ae!==re)throw new at(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(t!==null&&Ae!==t){let re;switch(this.check?re="throw":xN(t)!==xN(Ae)?re="update":re=this.configuration.get("checksumBehavior"),re){case"ignore":return{isValid:!0,hash:t};case"update":return{isValid:!0,hash:Ae};case"reset":return{isValid:!1,hash:t};default:case"throw":throw new at(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:Ae}},g=async _=>{if(!s)throw new Error(`Cache check required but no loader configured for ${mt(this.configuration,e)}`);let A=await s(),Ae=A.getRealPath();A.saveAndClose(),await M.chmodPromise(Ae,420);let ge=await u(_,Ae);if(!ge.isValid)throw new Error("Assertion failed: Expected a valid checksum");return ge.hash},f=async()=>{if(a===null||!await M.existsPromise(a)){let _=await s(),A=_.getRealPath();return _.saveAndClose(),{source:"loader",path:A}}return{source:"mirror",path:a}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${mt(this.configuration,e)}`);if(this.immutable)throw new at(56,`Cache entry required but missing for ${mt(this.configuration,e)}`);let{path:_,source:A}=await f(),Ae=(await u(_)).hash,ge=this.getLocatorPath(e,Ae,o);if(!ge)throw new Error("Assertion failed: Expected the cache path to be available");let re=[];A!=="mirror"&&a!==null&&re.push(async()=>{let F=`${a}${this.cacheId}`;await M.copyFilePromise(_,F,PN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,a)}),(!o.mirrorWriteOnly||a===null)&&re.push(async()=>{let F=`${ge}${this.cacheId}`;await M.copyFilePromise(_,F,PN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,ge)});let O=o.mirrorWriteOnly&&a!=null?a:ge;return await Promise.all(re.map(F=>F())),[!1,O,Ae]},p=async()=>{let A=(async()=>{var ue;let Ae=this.getLocatorPath(e,t,o),ge=Ae!==null?await l.existsPromise(Ae):!1,re=!!((ue=o.mockedPackages)!=null&&ue.has(e.locatorHash))&&(!this.check||!ge),O=re||ge,F=O?i:n;if(F&&F(),O){let pe=null,ke=Ae;if(!re)if(this.check)pe=await g(ke);else{let Fe=await u(ke);if(Fe.isValid)pe=Fe.hash;else return h()}return[re,ke,pe]}else return h()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}};for(let _;_=this.mutexes.get(e.locatorHash);)await _;let[C,y,B]=await p();this.markedFiles.add(y);let v,D=await an(),T=C?()=>c():()=>new Wr(y,{baseFs:l,libzip:D,readOnly:!0}),H=new Sg(()=>Jx(()=>v=T(),_=>`Failed to open the cache entry for ${mt(this.configuration,e)}: ${_}`),x),j=new bo(y,{baseFs:H,pathUtils:x}),$=()=>{v==null||v.discardAndClose()},V=(W=o.unstablePackages)!=null&&W.has(e.locatorHash)?null:B;return[j,$,V]}};function xN(r){let e=r.indexOf("/");return e!==-1?r.slice(0,e):null}function eTe(r){let e=r.indexOf("/");return e!==-1?r.slice(e+1):r}var O0=(t=>(t[t.SCRIPT=0]="SCRIPT",t[t.SHELLCODE=1]="SHELLCODE",t))(O0||{});var ra=class extends vi{constructor({configuration:t,stdout:i,suggestInstall:n=!0}){super();this.errorCount=0;Xd(this,{configuration:t}),this.configuration=t,this.stdout=i,this.suggestInstall=n}static async start(t,i){let n=new this(t);try{await i(n)}catch(s){n.reportExceptionOnce(s)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,i){return i()}async startSectionPromise(t,i){return await i()}startTimerSync(t,i,n){return(typeof i=="function"?i:n)()}async startTimerPromise(t,i,n){return await(typeof i=="function"?i:n)()}async startCacheReport(t){return await t()}reportSeparator(){}reportInfo(t,i){}reportWarning(t,i){}reportError(t,i){this.errorCount+=1,this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(t)}: ${i}
`)}reportProgress(t){return{...Promise.resolve().then(async()=>{for await(let{}of t);}),stop:()=>{}}}reportJson(t){}async finalize(){this.errorCount>0&&(this.stdout.write(`
`),this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command.
`),this.suggestInstall&&this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help.
`))}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:!1})}};var X0=J("crypto");function iA(){}iA.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(C){return n?(setTimeout(function(){n(void 0,C)},0),!0):C}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var C=-1*c;C<=c;C+=2){var y=void 0,B=g[C-1],v=g[C+1],D=(v?v.newPos:0)-C;B&&(g[C-1]=void 0);var T=B&&B.newPos+1<a,H=v&&0<=D&&D<l;if(!T&&!H){g[C]=void 0;continue}if(!T||H&&B.newPos<v.newPos?(y=rTe(v),s.pushComponent(y.components,void 0,!0)):(y=B,y.newPos++,s.pushComponent(y.components,!0,void 0)),D=s.extractCommon(y,t,e,C),y.newPos+1>=a&&D+1>=l)return o(tTe(s,y.components,t,e,s.useLongestToken));g[C]=y}c++}if(n)(function C(){setTimeout(function(){if(c>u)return n();h()||C()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1<s&&l+1<o&&this.equals(t[a+1],i[l+1]);)a++,l++,c++;return c&&e.components.push({count:c}),e.newPos=a,l},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],i=0;i<e.length;i++)e[i]&&t.push(e[i]);return t},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};function tTe(r,e,t,i,n){for(var s=0,o=e.length,a=0,l=0;s<o;s++){var c=e[s];if(c.removed){if(c.value=r.join(i.slice(l,l+c.count)),l+=c.count,s&&e[s-1].added){var g=e[s-1];e[s-1]=e[s],e[s]=g}}else{if(!c.added&&n){var u=t.slice(a,a+c.count);u=u.map(function(h,p){var C=i[l+p];return C.length>h.length?C:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&r.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function rTe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var Lat=new iA;var CZ=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,mZ=/\S/,EZ=new iA;EZ.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!mZ.test(r)&&!mZ.test(e)};EZ.tokenize=function(r){for(var e=r.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;t<e.length-1;t++)!e[t+1]&&e[t+2]&&CZ.test(e[t])&&CZ.test(e[t+2])&&(e[t]+=e[t+2],e.splice(t+1,2),t--);return e};var NN=new iA;NN.tokenize=function(r){var e=[],t=r.split(/(\n|\r\n)/);t[t.length-1]||t.pop();for(var i=0;i<t.length;i++){var n=t[i];i%2&&!this.options.newlineIsToken?e[e.length-1]+=n:(this.options.ignoreWhitespace&&(n=n.trim()),e.push(n))}return e};function iTe(r,e,t){return NN.diff(r,e,t)}var nTe=new iA;nTe.tokenize=function(r){return r.split(/(\S.+?[.!?])(?=\s+|$)/)};var sTe=new iA;sTe.tokenize=function(r){return r.split(/([{}:;,]|\s+)/)};function M0(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?M0=function(e){return typeof e}:M0=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M0(r)}function DN(r){return oTe(r)||aTe(r)||ATe(r)||lTe()}function oTe(r){if(Array.isArray(r))return kN(r)}function aTe(r){if(typeof Symbol<"u"&&Symbol.iterator in Object(r))return Array.from(r)}function ATe(r,e){if(!!r){if(typeof r=="string")return kN(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return kN(r,e)}}function kN(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=new Array(e);t<e;t++)i[t]=r[t];return i}function lTe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var cTe=Object.prototype.toString,ZC=new iA;ZC.useLongestToken=!0;ZC.tokenize=NN.tokenize;ZC.castInput=function(r){var e=this.options,t=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o>"u"?t:o}:i;return typeof r=="string"?r:JSON.stringify(RN(r,null,null,n),n," ")};ZC.equals=function(r,e){return iA.prototype.equals.call(ZC,r.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function RN(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s<e.length;s+=1)if(e[s]===r)return t[s];var o;if(cTe.call(r)==="[object Array]"){for(e.push(r),o=new Array(r.length),t.push(o),s=0;s<r.length;s+=1)o[s]=RN(r[s],e,t,i,n);return e.pop(),t.pop(),o}if(r&&r.toJSON&&(r=r.toJSON()),M0(r)==="object"&&r!==null){e.push(r),o={},t.push(o);var a=[],l;for(l in r)r.hasOwnProperty(l)&&a.push(l);for(a.sort(),s=0;s<a.length;s+=1)l=a[s],o[l]=RN(r[l],e,t,i,l);e.pop(),t.pop()}else o=r;return o}var FN=new iA;FN.tokenize=function(r){return r.slice()};FN.join=FN.removeEmpty=function(r){return r};function IZ(r,e,t,i,n,s,o){o||(o={}),typeof o.context>"u"&&(o.context=4);var a=iTe(t,i,o);if(!a)return;a.push({value:"",lines:[]});function l(B){return B.map(function(v){return" "+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,C=function(v){var D=a[v],T=D.lines||D.value.replace(/\n$/,"").split(`
`);if(D.lines=T,D.added||D.removed){var H;if(!u){var j=a[v-1];u=h,g=p,j&&(f=o.context>0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,DN(T.map(function(re){return(D.added?"+":"-")+re}))),D.added?p+=T.length:h+=T.length}else{if(u)if(T.length<=o.context*2&&v<a.length-2){var $;($=f).push.apply($,DN(l(T)))}else{var V,W=Math.min(T.length,o.context);(V=f).push.apply(V,DN(l(T.slice(0,W))));var _={oldStart:u,oldLines:h-u+W,newStart:g,newLines:p-g+W,lines:f};if(v>=a.length-2&&T.length<=o.context){var A=/\n$/.test(t),Ae=/\n$/.test(i),ge=T.length==0&&f.length>_.oldLines;!A&&ge&&t.length>0&&f.splice(_.oldLines,0,"\\ No newline at end of file"),(!A&&!ge||!Ae)&&f.push("\\ No newline at end of file")}c.push(_),u=0,g=0,f=[]}h+=T.length,p+=T.length}},y=0;y<a.length;y++)C(y);return{oldFileName:r,newFileName:e,oldHeader:n,newHeader:s,hunks:c}}var Z0=Pe(S$()),_0=Pe(Jg()),k$=Pe(Xr()),JN=J("util"),qN=Pe(J("v8")),WN=Pe(J("zlib"));var MMe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(r,e,t,i)=>`${t}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(r,e)=>xw({protocol:"npm:",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],W0=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get("lockfileFilename"));if(!M.existsSync(i))return;let n=await M.readFilePromise(i,"utf8"),s=yi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=aC(a);if(!l){t.reportWarning(14,`Failed to parse the string "${a}" into a proper descriptor`);continue}let c=so(l.range)?_t(l,`npm:${l.range}`):l,{version:u,resolved:g}=s[a];if(!g)continue;let f;for(let[p,C]of MMe){let y=g.match(p);if(y){f=C(u,...y);break}}if(!f){t.reportWarning(14,`${tr(e.configuration,c)}: Only some patterns can be imported from legacy lockfiles (not "${g}")`);continue}let h=c;try{let p=vf(c.range),C=aC(p.selector,!0);C&&(h=C)}catch{}o.set(c.descriptorHash,nn(h,f))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(HD(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var z0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(Sw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(Sw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var V0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.re Line truncated
`;await M.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var x$=6,KMe=1,UMe=/ *, */g,P$=/\/$/,HMe=32,GMe=(0,JN.promisify)(WN.default.gzip),YMe=(0,JN.promisify)(WN.default.gunzip),ts=(t=>(t.UpdateLockfile="update-lockfile",t.SkipBuild="skip-build",t))(ts||{}),jN={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},D$=r=>rn(`${KMe}`,r),je=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,C,y;if(!e.projectCwd)throw new be(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,M.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new je(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(C=ye.telemetry)==null||C.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((B,v)=>B+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=$e(e,o.cwd,Ue.PATH),u=$e(e,x.relative(o.cwd,i),Ue.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new be(`The nearest package directory (${$e(e,i,Ue.PATH)}) doesn't seem to be part of the project declared in ${$e(e,o.cwd,Ue.PATH)}.
${[g,f,h].join(`
`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(M.existsSync(e)){let n=await M.readFilePromise(e,"utf8");this.lockFileChecksum=D$(n);let s=yi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o<x$;for(let l of Object.keys(s)){if(l==="__metadata")continue;let c=s[l];if(typeof c.resolution>"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=Dc(c.resolution,!0),g=new ot;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),C=(i=c.conditions)!=null?i:null,y=g.dependencies,B=g.peerDependencies,v=g.dependenciesMeta,D=g.peerDependenciesMeta,T=g.bin;if(c.checksum!=null){let j=typeof a<"u"&&!c.checksum.includes("/")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,j)}let H={...u,version:f,languageName:h,linkType:p,conditions:C,dependencies:y,peerDependencies:B,dependenciesMeta:v,peerDependenciesMeta:D,bin:T};this.originalPackages.set(H.locatorHash,H);for(let j of l.split(UMe)){let $=zA(j);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,t=(0,_0.default)(4),i=async(n,s)=>{if(e.has(s))return n;e.add(s);let o=new bh(s,{project:this});await t(()=>o.setup());let a=n.then(()=>{this.addWorkspace(o);let l=this.storedPackages.get(o.anchoredLocator.locatorHash);l&&(o.dependencies=l.dependencies)});return Array.from(o.workspacesCwds).reduce(i,a)};await i(Promise.resolve(),this.cwd)}addWorkspace(e){let t=this.workspacesByIdent.get(e.locator.identHash);if(typeof t<"u")throw new Error(`Duplicate workspace name ${Ai(this.configuration,e.locator)}: ${K.fromPortablePath(e.cwd)} conflicts with ${K.fromPortablePath(t.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.locator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\/+$/,"");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith("../")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t>"u"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${Ai(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(WA(e)&&(e=iC(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${tr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(jo(e)&&(e=nC(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${mt(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${lC(this.configuration,e)} (${$e(this.configuration,x.join(e.cwd,xt.manifest),Ue.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let t=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let i=new Set(this.storedResolutions.values());typeof t<"u"&&!i.has(t)&&this.deleteLocator(t)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[t,i]of this.storedResolutions)i===e.locatorHash&&this.deleteDescriptor(t)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),t=new Map;for(let[i,n]of this.storedResolutions.entries()){let s=t.get(n);s||t.set(n,s=new Set),s.add(i)}for(let i of this.originalPackages.values()){let n;try{n=e.shouldPersistResolution(i,{project:this,resolver:e})}catch{n=!1}if(!n){this.deleteLocator(i.locatorHash);let s=t.get(i.locatorHash);if(s){t.delete(i.locatorLine truncated
`;switch(le){case 0:fe+=`# Script name: ${Be}
`;break;case 1:fe+=`# Script code: ${Be}
`;break}let ae=null;if(!await M.mktempPromise(async ne=>{let Y=x.join(ne,"build.log"),{stdout:he,stderr:ie}=this.configuration.getSubprocessStreams(Y,{header:fe,prefix:mt(this.configuration,pe),report:t}),de;try{switch(le){case 0:de=await TB(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break;case 1:de=await JR(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break}}catch(Pt){ie.write(Pt.stack),de=1}if(he.end(),ie.end(),de===0)return!0;M.detachTemp(ne);let _e=`${mt(this.configuration,pe)} couldn't be built successfully (exit code ${$e(this.configuration,de,Ue.NUMBER)}, logs can be found here: ${$e(this.configuration,Y,Ue.PATH)})`;return this.optionalBuilds.has(pe.locatorHash)?(t.reportInfo(9,_e),!0):(t.reportError(9,_e),!1)}))return!1}return!0});F.push(...Ne,Promise.allSettled(Ne).then(oe=>{D.delete(ue),oe.every(le=>le.status==="fulfilled"&&le.value===!0)&&W.set(pe.locatorHash,Fe)}))}if(await io(F),O===D.size){let ue=Array.from(D).map(pe=>{let ke=this.storedPackages.get(pe);if(!ke)throw new Error("Assertion failed: The package should have been registered");return mt(this.configuration,ke)}).join(", ");t.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ue})`);break}}this.storedBuildState=W}async install(e){var a,l;let t=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status="inactive";let i=x.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await M.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new at(28,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=$e(this.configuration,g,Ue.PACKAGE_EXTENSION);switch(g.status){case"inactive":e.report.reportWarning(68,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Vl(n,this.generateLockfile());if(c!==n){let u=IZ(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(28,$e(this.configuration,f,Ue.ADDED)):f.startsWith("-")?e.report.reportError(28,$e(this.configuration,f,Ue.REMOVED)):e.report.reportInfo(null,$e(this.configuration,f,"grey"))}e.report.reportSeparator()}throw new at(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status==="active"&&((l=ye.telemetry)==null||l.reportPackageExtension(Bc(g,Ue.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>bw(c,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${$e(this.configuration,"mode=update-lockfile",Ue.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>bw(u,{cwd:this.cwd})));for(let u=0;u<s.length;++u)o[u]!==c[u]&&e.report.reportError(64,`The checksum for ${s[u]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile(),await this.configuration.triggerHook(c=>c.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:x$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Sn(f)).sort().join(", "),c=new ot;c.version=o. Line truncated
`,`# Manual changes might be lost - proceed with caution!
`].join("")}
`+Qa(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t="";try{t=await M.readFilePromise(e,"utf8")}catch{}let i=this.generateLockfile(),n=Vl(t,i);n!==t&&(await M.writeFilePromise(e,n),this.lockFileChecksum=D$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(jN))e.push(...o);let t=(0,Z0.default)(this,e),i=qN.default.serialize(t),n=rn(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await M.mkdirPromise(x.dirname(s),{recursive:!0}),await M.writeFilePromise(s,await GMe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await YMe(await M.readFilePromise(n));s=qN.default.deserialize(o),this.installStateChecksum=rn(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData<"u"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,Z0.default)(s,jN.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,Z0.default)(s,jN.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ti}),await this.persistInstallStateFile()}async persist(){let e=(0,_0.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(t=>e(()=>t.persistManifest()))])}async cacheCleanup({cache:e,report:t}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!ZD(e.cwd,this.cwd)||!await M.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await M.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(56,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(19,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused - removing`),await M.removePromise(l)))}n&&s!==0&&t.reportInfo(19,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function jMe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l}){var V;let c=new Map,u=[],g=new Map,f=new Map,h=new Map,p=new Map,C=new Map,y=new Map(r.workspaces.map(W=>{let _=W.anchoredLocator.locatorHash,A=i.get(_);if(typeof A>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[_,rC(A)]})),B=()=>{let W=M.mktempSync(),_=x.join(W,"stacktrace.log"),A=String(u.length+1).length,Ae=u.map((ge,re)=>`${`${re+1}.`.padStart(A," ")} ${Es(ge)}
`).join("");throw M.writeFileSync(_,Ae),M.detachTemp(W),new at(45,`Encountered a stack overflow when resolving peer dependencies; cf ${K.fromPortablePath(_)}`)},v=W=>{let _=t.get(W.descriptorHash);if(typeof _>"u")throw new Error("Assertion failed: The resolution should have been registered");let A=i.get(_);if(!A)throw new Error("Assertion failed: The package could not be found");return A},D=(W,_,A,{top:Ae,optional:ge})=>{u.length>1e3&&B(),u.push(_);let re=T(W,_,A,{top:Ae,optional:ge});return u.pop(),re},T=(W,_,A,{top:Ae,optional:ge})=>{if(n.has(_.locatorHash))return;n.add(_.locatorHash),ge||s.delete(_.locatorHash);let re=i.get(_.locatorHash);if(!re)throw new Error(`Assertion failed: The package (${mt(r.configuration,_)}) should have been registered`);let O=[],F=[],ue=[],pe=[],ke=[];for(let Ne of Array.from(re.dependencies.values())){if(re.peerDependencies.has(Ne.identHash)&&re.locatorHash!==Ae)continue;if(WA(Ne))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(Ne.descriptorHash);let oe=ge;if(!oe){let Y=re.dependenciesMeta.get(Ot(Ne));if(typeof Y<"u"){let he=Y.get(null);typeof he<"u"&&he.optional&&(oe=!0)}}let le=t.get(Ne.descriptorHash);if(!le)throw new Error(`Assertion failed: The resolution (${tr(r.configuration,Ne)}) should have been registered`);let Be=y.get(le)||i.get(le);if(!Be)throw new Error(`Assertion failed: The package (${le}, resolved from ${tr(r.configuration,Ne)}) should have been registered`);if(Be.peerDependencies.size===0){D(Ne,Be,new Map,{top:Ae,optional:oe});continue}let fe,ae,qe=new Set,ne;F.push(()=>{fe=GD(Ne,_.locatorHash),ae=YD(Be,_.locatorHash),re.dependencies.delete(Ne.identHash),re.dependencies.set(fe.identHash,fe),t.set(fe.descriptorHash,ae.locatorHash),e.set(fe.descriptorHash,fe),i.set(ae.locatorHash,ae),O.push([Be,fe,ae])}),ue.push(()=>{var Y;ne=new Map;for(let he of ae.peerDependencies.values()){let ie=re.dependencies.get(he.identHash);if(!ie&&sC(_,he)&&(W.identHash===_.identHash?ie=W:(ie=_t(_,W.range),e.set(ie.descriptorHash,ie),t.set(ie.descriptorHash,_.locatorHash),a.delete(ie.descriptorHash))),(!ie||ie.range==="missing:")&&ae.dependencies.has(he.identHash)){ae.peerDependencies.delete(he.identHash);continue}ie||(ie=_t(he,"missing:")),ae.dependencies.set(ie.identHash,ie),WA(ie)&&wc(h,ie.descriptorHash).add(ae.locatorHash),g.set(ie.identHash,ie),ie.range==="missing:"&&qe.add(ie.identHash),ne.set(he.identHash,(Y=A.get(he.identHash))!=null?Y:ae.locatorHash)}ae.dependencies=new Map(Qn(ae.dependencies,([he,ie])=>Ot(ie)))}),pe.push(()=>{if(!i.has(ae.locatorHash))return;let Y=c.get(Be.locatorHash);typeof Y=="number"&&Y>=2&&B();let he=c.get(Be.locatorHash),ie=typeof he<"u"?he+1:1;c.set(Be.locatorHash,ie),D(fe,ae,ne,{top:Ae,optional:oe}),c.set(Be.locatorHash,ie-1)}),ke.push(()=>{let Y=re.dependencies.get(Ne.identHash);if(typeof Y>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let he=t.get(Y.descriptorHash);if(typeof he>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(wc(C,he).add(_.locatorHash),!!i.has(ae.locatorHash)){for(let ie of ae.peerDependencies.values()){let de=ne.get(ie.identHash);if(typeof de>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");hf(pf(p,de),Ot(ie)).push(ae.locatorHash)}for(let ie of qe)ae.dependencies.delete(ie)}})}for(let Ne of[...F,...ue])Ne();let Fe;do{Fe=!0;for(let[Ne,oe,le]of O){let Be=pf(f,Ne.locatorHash),fe=rn(...[...le.dependencies.values()].map(Y=>{let he=Y.range!=="missing:"?t.get(Y.descriptorHash):"missing:";if(typeof he>"u")throw new Error(`Assertion failed: Expected the resolution for ${tr(r.configuration,Y)} to have been registered`);return he===Ae?`${he} (top)`:he}),oe.identHash),ae=Be.get(fe);if(typeof ae>"u"){Be.set(fe,oe);continue}if(ae===oe)continue;i.delete(le.locatorHash),e.delete(oe.descriptorHash),t.delete(oe.descriptorHash),n.delete(le.locatorHash);let qe=h.get(oe.descriptorHash)||[],ne=[re.locatorHash,...qe];h.delete(oe.descriptorHash);for(let Y of ne){let he=i.get(Y);typeof he>"u"||(he.dependencies.get(oe.identHash).descriptorHash!==ae.descriptorHash&&(Fe=!1),he.dependencies.set(oe.identHash,ae))}}}while(!Fe);for(let Ne of[...pe,...ke])Ne()};for(let W of r.workspaces){let _=W.anchoredLocator;a.delete(W.anchoredDescriptor.descriptorHash),D(W.anchoredDescriptor,_,new Map,{top:_.locatorHash,optional:!1})}let H;(A=>(A[A.NotProvided=0]="NotProvided",A[A.NotCompatible=1]="NotCompatible"))(H||(H={}));let j=[];for(let[W,_]of C){let A=i.get(W);if(typeof A>"u")throw new Error("Assertion failed: Expected the root to be registered");let Ae=p.get(W);if(!(typeof Ae>"u"))for(let ge of _){let re=i.get(ge);if(!(typeof re>"u"))for(let[O,F]of Ae){let ue=tn(O);if(re.peerDependencies.has(ue.identHash))continue;let pe=`p${rn(ge,O,W).slice(0,5)}`;o.set(pe,{subject:ge,requested:ue,rootRequester:W,allRequesters:F});let ke=A.dependencies.get(ue.identHash);if( Line truncated
Try running the command again with the package name prefixed: ${ee.pretty(t,"yarn add",xi.CODE)} ${ee.pretty(t,P.makeDescriptor(P.makeIdent(null,"my-package"),`${D[0]}...`),xi.DESCRIPTOR)}`);if(!v)throw new be(`The ${ee.pretty(t,B,xi.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let T=Eqe(n,v,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(T.map(async j=>{let $=await Gm(v,{project:i,workspace:n,cache:s,target:j,modifier:a,strategies:l,maxResults:c});return{request:v,suggestedDescriptors:$,target:j}}))})).then(B=>B.flat()),g=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let{request:v,suggestedDescriptors:{suggestions:D,rejections:T}}of u)if(D.filter(j=>j.descriptor!==null).length===0){let[j]=T;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),B.reportSeparator(),B.reportExceptionOnce(j)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[],p=[];for(let{suggestedDescriptors:{suggestions:B},target:v}of u){let D,T=B.filter(V=>V.descriptor!==null),H=T[0].descriptor,j=T.every(V=>P.areDescriptorsEqual(V.descriptor,H));T.length===1||j?D=H:(f=!0,{answer:D}=await(0,Nse.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:B.map(({descriptor:V,name:W,reason:_})=>V?{name:W,hint:_,descriptor:V}:{name:W,hint:_,disabled:!0}),onCancel:()=>process.exit(130),result(V){return this.find(V,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=n.manifest[v].get(D.identHash);(typeof $>"u"||$.descriptorHash!==D.descriptorHash)&&(n.manifest[v].set(D.identHash,D),this.optional&&(v==="dependencies"?n.manifest.ensureDependencyMeta({...D,range:"unknown"}).optional=!0:v==="peerDependencies"&&(n.manifest.ensurePeerDependencyMeta({...D,range:"unknown"}).optional=!0)),typeof $>"u"?h.push([n,v,D,l]):p.push([n,v,$,D]))}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyAddition,h),await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),f&&this.context.stdout.write(`
`),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};Au.paths=[["add"]],Au.usage=ve.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"<package>\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function Eqe(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest["dependencies"].has(e.identHash),a=r.manifest["devDependencies"].has(e.identHash),l=r.manifest["peerDependencies"Line truncated
`),0}return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async o=>{let a=await Wt.getPackageAccessibleBinaries(n,{project:i}),c=Array.from(a.keys()).reduce((u,g)=>Math.max(u,g.length),0);for(let[u,[g,f]]of a)o.reportJson({name:u,source:P.stringifyIdent(g),path:f});if(this.verbose)for(let[u,[g]]of a)o.reportInfo(null,`${u.padEnd(c," ")} ${P.prettyLocator(t,g)}`);else for(let u of a.keys())o.reportInfo(null,u)})).exitCode()}};lu.paths=[["bin"]],lu.usage=ve.Usage({description:"get the path to a binary script",details:`
When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.
When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.
`,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var cu=class extends De{constructor(){super(...arguments);this.mirror=z.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=z.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Rt.find(t);return(await Ge.start({configuration:t,stdout:this.context.stdout},async()=>{let s=(this.all||this.mirror)&&i.mirrorCwd!==null,o=!this.mirror;s&&(await M.removePromise(i.mirrorCwd),await t.triggerHook(a=>a.cleanGlobalArtifacts,t)),o&&await M.removePromise(i.cwd)})).exitCode()}};cu.paths=[["cache","clean"],["cache","clear"]],cu.usage=ve.Usage({description:"remove the shared cache files",details:`
This command will remove all the files from the cache.
`,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Tse=Pe(uQ()),GL=J("util"),uu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=z.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*/,"");if(typeof t.settings.get(i)>"u")throw new be(`Couldn't find a configuration settings named "${i}"`);let o=t.getSpecial(i,{hideSecrets:!this.unsafe,getNativePaths:!0}),a=Ie.convertMapsToIndexableObjects(o),l=n?(0,Tse.default)(a,n):a,c=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async u=>{u.reportJson(l)});if(!this.json){if(typeof l=="string")return this.context.stdout.write(`${l}
`),c.exitCode();GL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,GL.inspect)(l,{depth:1/0,colors:t.get("enableColors"),compact:!1})}
`)}return c.exitCode()}};uu.paths=[["config","get"]],uu.usage=ve.Usage({description:"read a configuration settings",details:`
This command will print a configuration setting.
Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value.
`,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var Woe=Pe(zL()),zoe=Pe(uQ()),Voe=Pe(Joe()),VL=J("util"),gu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String();this.value=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new be(`Couldn't find a configuration settings named "${n}"`);if(n==="enableStrictSettings")throw new be("This setting only affects the file it's in, and thus cannot be set from the CLI");let a=this.json?JSON.parse(this.value):this.value;await(this.home?p=>ye.updateHomeConfiguration(p):p=>ye.updateConfiguration(i(),p))(p=>{if(s){let C=(0,Woe.default)(p);return(0,Voe.default)(C,this.name,a),C}else return{...p,[n]:a}});let u=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(n,{hideSecrets:!0,getNativePaths:!0}),g=Ie.convertMapsToIndexableObjects(u),f=s?(0,zoe.default)(g,s):g;return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async p=>{VL.inspect.styles.name="cyan",p.reportInfo(0,`Successfully set ${this.name} to ${(0,VL.inspect)(f,{depth:1/0,colors:t.get("enableColors"),compact:!1})}`)})).exitCode()}};gu.paths=[["config","set"]],gu.usage=ve.Usage({description:"change a configuration settings",details:`
This command will set a configuration setting.
When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean).
When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects.
`,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var nae=Pe(zL()),sae=Pe(am()),oae=Pe(iae()),fu=class extends De{constructor(){super(...arguments);this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new be(`Couldn't find a configuration settings named "${n}"`);let a=this.home?c=>ye.updateHomeConfiguration(c):c=>ye.updateConfiguration(i(),c);return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async c=>{let u=!1;await a(g=>{if(!(0,sae.default)(g,this.name))return c.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),u=!0,g;let f=s?(0,nae.default)(g):{...g};return(0,oae.default)(f,this.name),f}),u||c.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};fu.paths=[["config","unset"]],fu.usage=ve.Usage({description:"unset a configuration setting",details:`
This command will unset a configuration setting.
`,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var XL=J("util"),hu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=z.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{if(t.invalid.size>0&&!this.json){for(let[s,o]of t.invalid)n.reportError(34,`Invalid configuration key "${s}" in ${o}`);n.reportSeparator()}if(this.json){let s=Ie.sortMap(t.settings.keys(),o=>o);for(let o of s){let a=t.settings.get(o),l=t.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),c=t.sources.get(o);this.verbose?n.reportJson({key:o,effective:l,source:c}):n.reportJson({key:o,effective:l,source:c,...a})}}else{let s=Ie.sortMap(t.settings.keys(),l=>l),o=s.reduce((l,c)=>Math.max(l,c.length),0),a={breakLength:1/0,colors:t.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let l=s.map(u=>{let g=t.settings.get(u);if(!g)throw new Error(`Assertion failed: This settings ("${u}") should have been registered`);let f=this.why?t.sources.get(u)||"<default>":g.description;return[u,f]}),c=l.reduce((u,[,g])=>Math.max(u,g.length),0);for(let[u,g]of l)n.reportInfo(null,`${u.padEnd(o," ")} ${g.padEnd(c," ")} ${(0,XL.inspect)(t.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),a)}`)}else for(let l of s)n.reportInfo(null,`${l.padEnd(o," ")} ${(0,XL.inspect)(t.getSpecial(l,{hideSecrets:!0,getNativePaths:!0}),a)}`)}})).exitCode()}};hu.paths=[["config"]],hu.usage=ve.Usage({description:"display the current configuration",details:`
This command prints the current active configuration settings.
`,examples:[["Print the active configuration settings","$0 config"]]});ls();var NQ={};ut(NQ,{Strategy:()=>jm,acceptedStrategies:()=>w4e,dedupe:()=>ZL});var aae=Pe(Bn()),jm=(e=>(e.HIGHEST="highest",e))(jm||{}),w4e=new Set(Object.values(jm)),B4e={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c>"u")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Ie.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!aae.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l>"u")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c>"u"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u>"u")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let B=r.originalPackages.get(y);if(typeof B>"u")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return B.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h>"u")return null;let p=h.locatorHash,C=r.originalPackages.get(p);if(typeof C>"u")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:C}})}};async function ZL(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new ti,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let g=B4e[e],f=await g(r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=vi.progressViaCounter(f.length);await n.reportProgress(h);let p=0;await Promise.all(f.map(B=>B.then(v=>{if(v===null)return;p++;let{descriptor:D,currentPackage:T,updatedPackage:H}=v;n.reportInfo(0,`${P.prettyDescriptor(s,D)} can be deduped from ${P.prettyLocator(s,T)} to ${P.prettyLocator(s,H)}`),n.reportJson({descriptor:P.stringifyDescriptor(D),currentResolution:P.stringifyLocator(T),updatedResolution:P.stringifyLocator(H)}),r.storedResolutions.set(D.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let C;switch(p){case 0:C="No packages";break;case 1:C="One package";break;default:C=`${p} packages`}let y=ee.pretty(s,e,ee.Type.CODE);return n.reportInfo(0,`${C} can be deduped using the ${y} strategy`),p})}var pu=class extends De{constructor(){super(...arguments);this.strategy=z.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Zi(jm)});this.check=z.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=await Rt.find(t);await i.restoreInstallState({restoreResolutions:!1});let s=0,o=await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout,json:this.json},async a=>{s=await ZL(i,{strategy:this.strategy,patterns:this.patterns,cache:n,report:a})});return o.hasErrors()?o.exitCode():this.check?s?1:0:(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async l=>{await i.install({cache:n,report:l,mode:this.mode})})).exitCode()}};pu.paths=[["dedupe"]],pu.usage=ve.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `Line truncated
`)}};Vh.paths=[["--clipanion=definitions"]];var Xh=class extends De{async execute(){this.context.stdout.write(this.cli.usage(null))}};Xh.paths=[["help"],["--help"],["-h"]];var qm=class extends De{constructor(){super(...arguments);this.leadingArgument=z.String();this.args=z.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let t=x.resolve(this.context.cwd,K.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:t})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};var Zh=class extends De{async execute(){this.context.stdout.write(`${Tr||"<unknown>"}
`)}};Zh.paths=[["-v"],["--version"]];var du=class extends De{constructor(){super(...arguments);this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);return await i.restoreInstallState(),await Wt.executePackageShellcode(n,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:i})}};du.paths=[["exec"]],du.usage=ve.Usage({description:"execute a shell script",details:`
This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell.
It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).
`,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});ls();var Cu=class extends De{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:od(sd(),[ad(/^p[0-9a-f]{5}$/)])})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return await i.restoreInstallState({restoreResolutions:!1}),await i.applyLightResolution(),typeof this.hash<"u"?await b4e(this.hash,i,{stdout:this.context.stdout}):(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{var a;let o=[([,l])=>P.stringifyLocator(i.storedPackages.get(l.subject)),([,l])=>P.stringifyIdent(l.requested)];for(let[l,c]of Ie.sortMap(i.peerRequirements,o)){let u=i.storedPackages.get(c.subject);if(typeof u>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let g=i.storedPackages.get(c.rootRequester);if(typeof g>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let f=(a=u.dependencies.get(c.requested.identHash))!=null?a:null,h=ee.pretty(t,l,ee.Type.CODE),p=P.prettyLocator(t,u),C=P.prettyIdent(t,c.requested),y=P.prettyIdent(t,g),B=c.allRequesters.length-1,v=`descendant${B===1?"":"s"}`,D=B>0?` and ${B} ${v}`:"",T=f!==null?"provides":"doesn't provide";s.reportInfo(null,`${h} \u2192 ${p} ${T} ${C} to ${y}${D}`)}})).exitCode()}};Cu.paths=[["explain","peer-requirements"]],Cu.usage=ve.Usage({description:"explain a set of peer requirements",details:`
A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants.
When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not.
When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set.
**Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`).
`,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function b4e(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n>"u")throw new Error(`No peerDependency requirements found for hash: "${r}"`);return(await Ge.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var B,v;let a=e.storedPackages.get(n.subject);if(typeof a>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(B=a.dependencies.get(n.requested.identHash))!=null?B:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(D=>{let T=e.storedPackages.get(D);if(typeof T>"u")throw new Error("Assertion failed: Expected the package to be registered");let H=P.devirtualizeLocator(T),j=e.storedPackages.get(H.locatorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the package to be registered");let $=j.peerDependencies.get(n.requested.identHash);if(typeof $>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:T,peerDependency:$}});if(g!==null){let D=f.every(({peerDependency:T})=>vt.satisfiesWithPrereleases(g.version,T.range));o.reportInfo(0,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:"<missing>")}, which ${D?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(0,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ee.mark(i),p=[];for(let{pkg:D,peerDependency:T}of Ie.sortMap(f,H=>P.stringifyLocator(H.pkg))){let j=(g!==null?vt.satisfiesWithPrereleases(g.version,T.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(D),prettyLocator:P.prettyLocator(i,D),prettyRange:P.prettyRange(i,T.range),mark:j})}let C=Math.max(...p.map(({stringifiedLocator:D})=>D.length)),y=Math.max(...p.map(({prettyRange:D})=>D.length));for(let{stringifiedLocator:D,prettyLocator:T,prettyRange:H,mark:j}of Ie.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${T.padEnd(C+(T.length-D.length)," ")} \u2192 ${H.padEnd(y," ")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo(0,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ls();var lae=Pe(Xr()),mu=class extends De{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=z.String()}async execute(){var o;let t=await ye.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&t.get("yarnPath")){let a=t.sources.get("yarnPath");if(!a)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let l=(o=t.projectCwd)!=null?o:t.startingCwd;if(x.contains(l,a))return 0}let i=()=>{if(typeof Tr>"u")throw new be("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},n;if(this.version==="self")n=i();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")n=`https://repo.yarnpkg.com/${await Jm(t,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")n=`https://repo.yarnpkg.com/${await Jm(t,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")n="https://classic.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))n=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.version))n=`file://${K.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))n=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))n=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))n=`https://repo.yarnpkg.com/${await S4e(t,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new be(`Invalid version descriptor "${this.version}"`);return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{let l="file://",c;n.startsWith(l)?(a.reportInfo(0,`Downloading ${ee.pretty(t,n,xi.URL)}`),c=await M.readFilePromise(K.toPortablePath(n.slice(l.length)))):(a.reportInfo(0,`Retrieving ${ee.pretty(t,n,xi.PATH)}`),c=await Xt.get(n,{configuration:t})),await _L(t,null,c,{report:a})})).exitCode( Line truncated
${e}`)});let n=(h=r.projectCwd)!=null?h:r.startingCwd,s=x.resolve(n,".yarn/releases"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(r.startingCwd,o),l=x.relative(n,o);i.reportInfo(0,`Saving the new release in ${ee.pretty(r,a,"magenta")}`),await M.removePromise(x.dirname(o)),await M.mkdirPromise(x.dirname(o),{recursive:!0}),await M.writeFilePromise(o,t,{mode:493}),await ye.updateConfiguration(n,{yarnPath:l});let c=await ot.tryFind(n)||new ot;c.packageManager=`yarn@${e&&Ie.isTaggedYarnVersion(e)?e:await Jm(r,"stable")}`;let u={};c.exportTo(u);let g=x.join(n,ot.fileName),f=`${JSON.stringify(u,null,c.indent)}
`;await M.changeFilePromise(g,f,{automaticNewlines:!0})}function cae(r){return Ct[LI(r)]}var v4e=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\n\n(?<details>(?:.(?!##))+)/gs;async function x4e(r){let t=`https://repo.yarnpkg.com/${Ie.isTaggedYarnVersion(Tr)?Tr:await Jm(r,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await Xt.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(v4e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=cae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var Eu=class extends De{constructor(){super(...arguments);this.code=z.String({required:!1,validator:od(sd(),[ad(/^YN[0-9]{4}$/)])});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let i=cae(this.code),n=ee.pretty(t,i,ee.Type.CODE),s=this.cli.format().header(`${this.code} - ${n}`),a=(await x4e(t)).get(this.code),l=typeof a<"u"?ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.MARKDOWN,{text:a,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description.
You can help us by editing this page on GitHub \u{1F642}:
${ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))}
`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:i,details:l})}
`):this.context.stdout.write(`${s}
${l}
`)}else{let i={children:Ie.mapAndFilter(Object.entries(Ct),([n,s])=>Number.isNaN(Number(n))?Ie.mapAndFilter.skip:{label:NA(Number(n)),value:ee.tuple(ee.Type.CODE,s)})};es.emitTree(i,{configuration:t,stdout:this.context.stdout,json:this.json})}}};Eu.paths=[["explain"]],Eu.usage=ve.Usage({description:"explain an error code",details:`
When the code argument is specified, this command prints its name and its details.
When used without arguments, this command lists all error codes and their names.
`,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var uae=Pe(Bn()),Iu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=z.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=z.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=z.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=z.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=z.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=z.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n&&!this.all)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=new Set(this.extra);this.cache&&o.add("cache"),this.dependents&&o.add("dependents"),this.manifest&&o.add("manifest");let a=(T,{recursive:H})=>{let j=T.anchoredLocator.locatorHash,$=new Map,V=[j];for(;V.length>0;){let W=V.shift();if($.has(W))continue;let _=i.storedPackages.get(W);if(typeof _>"u")throw new Error("Assertion failed: Expected the package to be registered");if($.set(W,_),P.isVirtualLocator(_)&&V.push(P.devirtualizeLocator(_).locatorHash),!(!H&&W!==j))for(let A of _.dependencies.values()){let Ae=i.storedResolutions.get(A.descriptorHash);if(typeof Ae>"u")throw new Error("Assertion failed: Expected the resolution to be registered");V.push(Ae)}}return $.values()},l=({recursive:T})=>{let H=new Map;for(let j of i.workspaces)for(let $ of a(j,{recursive:T}))H.set($.locatorHash,$);return H.values()},c=({all:T,recursive:H})=>T&&H?i.storedPackages.values():T?l({recursive:H}):a(n,{recursive:H}),u=({all:T,recursive:H})=>{let j=c({all:T,recursive:H}),$=this.patterns.map(_=>{let A=P.parseLocator(_),Ae=uae.default.makeRe(P.stringifyIdent(A)),ge=P.isVirtualLocator(A),re=ge?P.devirtualizeLocator(A):A;return O=>{let F=P.stringifyIdent(O);if(!Ae.test(F))return!1;if(A.reference==="unknown")return!0;let ue=P.isVirtualLocator(O),pe=ue?P.devirtualizeLocator(O):O;return!(ge&&ue&&A.reference!==O.reference||re.reference!==pe.reference)}}),V=Ie.sortMap([...j],_=>P.stringifyLocator(_));return{selection:V.filter(_=>$.length===0||$.some(A=>A(_))),sortedLookup:V}},{selection:g,sortedLookup:f}=u({all:this.all,recursive:this.recursive});if(g.length===0)throw new be("No package matched your request");let h=new Map;if(this.dependents)for(let T of f)for(let H of T.dependencies.values()){let j=i.storedResolutions.get(H.descriptorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ie.getArrayWithDefault(h,j).push(T)}let p=new Map;for(let T of f){if(!P.isVirtualLocator(T))continue;let H=P.devirtualizeLocator(T);Ie.getArrayWithDefault(p,H.locatorHash).push(T)}let C={},y={children:C},B=t.makeFetcher(),v={project:i,fetcher:B,cache:s,checksums:i.storedChecksums,report:new ti,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},D=[async(T,H,j)=>{var W,_;if(!H.has("manifest"))return;let $=await B.fetch(T,v),V;try{V=await ot.find($.prefixPath,{baseFs:$.packageFs})}finally{(W=$.releaseFs)==null||W.call($)}j("Manifest",{License:ee.tuple(ee.Type.NO_HINT,V.license),Homepage:ee.tuple(ee.Type.URL,(_=V.raw.homepage)!=null?_:null)})},async(T,H,j)=>{var Ae;if(!H.has("cache"))return;let $={mockedPackages:i.disabledLocators,unstablePackages:i.conditionalLocators},V=(Ae=i.storedChecksums.get(T.locatorHash))!=null?Ae:null,W=s.getLocatorPath(T,V,$),_;if(W!==null)try{_=M.statSync(W)}catch{}let A=typeof _<"u"?[_.size,ee.Type.SIZE]:void 0;j("Cache",{Checksum:ee.tuple(ee.Type.NO_HINT,V),Path:ee.tuple(ee.Type.PATH,W),Size:A})}];for(let T of g){let H=P.isVirtualLocator(T);if(!this.virtuals&&H)continue;let j={},$={value:[T,ee.Type.LOCATOR],children:j};if(C[P.stringifyLocator(T)]=$,this.nameOnly){delete $.children;continue}let V=p.get(T.locatorHash);typeof V<"u"&&(j.Instances={label:"Instances",value:ee.tuple(ee.Type.NUMBER,V.length)}),j.Version={label:"Version",value:ee.tuple(ee.Type.NO_HINT,T.version)};let W=(A,Ae)=>{let ge={};if(j[A]=ge,Array.isArray(Ae))ge.children=Ae.map(re=>({value:re}));else{let re={};ge.children=re;for(let[O,F]of Object.entries(Ae))typeof F>"u"||(re[O]={label:O,value:F})}};if(!H){for(let A of D)await A(T,o,W);await t.triggerHook(A=>A.fetchPackageInfo,T,o,W)}T.bin.size>0& Line truncated
This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:
- **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).
- **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored).
- **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).
- **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.
Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.
If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release.
If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).
If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.
If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.
If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:
- \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.
- \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.
`,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var P4e="|||||||",D4e=">>>>>>>",k4e="=======",gae="<<<<<<<";async function R4e(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get("lockfileFilename"));if(!await M.existsPromise(t))return!1;let i=await M.readFilePromise(t,"utf8");if(!i.includes(gae))return!1;if(e)throw new at(47,"Cannot autofix a lockfile when running an immutable install");let[n,s]=F4e(i),o,a;try{o=yi(n),a=yi(s)}catch{throw new at(46,"The individual variants of the lockfile failed to parse")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await M.changeFilePromise(t,Qa(l),{automaticNewlines:!0}),!0}function F4e(r){let e=[[],[]],t=r.split(/\r?\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n>"u")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(gae)){for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s===k4e){i=!1;break}else if(i||s.startsWith(P4e)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(D4e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(`
`),e[1].join(`
`)]}var wu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=z.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=z.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=x.resolve(this.context.cwd,K.toPortablePath(this.destination)),a=await ye.find(o,this.context.plugins,{useRc:!1,strict:!1}),{project:l,workspace:c}=await je.find(a,o);if(i.cwd===l.cwd)throw new be("Invalid destination; Can't link the project to itself");if(!c)throw new ct(l.cwd,o);let u=i.topLevelWorkspace,g=[];if(this.all){for(let h of l.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&g.push(h);if(g.length===0)throw new be("No workspace found to be linked in the target project")}else{if(!c.manifest.name)throw new be("The target workspace doesn't have a name and thus cannot be linked");if(c.manifest.private&&!this.private)throw new be("The target workspace is marked private - use the --private flag to link it anyway");g.push(c)}for(let h of g){let p=P.stringifyIdent(h.locator),C=this.relative?x.relative(i.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:p}},reference:`portal:${C}`})}return(await Ge.start({configuration:t,stdout:this.context.stdout},async h=>{await i.install({cache:s,report:h})})).exitCode()}};wu.paths=[["link"]],wu.usage=ve.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Bu=class extends De{constructor(){super(...arguments);this.args=z.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Bu.paths=[["node"]],Bu.usage=ve.Usage({description:"run node with the hook already setup",details:`
This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).
The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.
`,examples:[["Run a Node script","$0 node ./my-script.js"]]});var mae=J("os");var fae=J("os");var N4e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function bu(r){let e=await Xt.get(N4e,{configuration:r});return yi(e.toString())}var Qu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{let s=await bu(t);for(let[o,{experimental:a,...l}]of Object.entries(s)){let c=o;a&&(c+=" [experimental]"),n.reportJson({name:o,experimental:a,...l}),n.reportInfo(null,c)}})).exitCode()}};Qu.paths=[["plugin","list"]],Qu.usage=ve.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var T4e=/^[0-9]+$/;function hae(r){return T4e.test(r)?`pull/${r}/head`:r}var L4e=({repository:r,branch:e},t)=>[["git","init",K.fromPortablePath(t)],["git","remote","add","origin",r],["git","fetch","origin","--depth=1",hae(e)],["git","reset","--hard","FETCH_HEAD"]],O4e=({branch:r})=>[["git","fetch","origin","--depth=1",hae(r),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],M4e=({plugins:r,noMinify:e},t)=>[["yarn","build:cli",...new Array().concat(...r.map(i=>["--plugin",x.resolve(t,i)])),...e?["--no-minify"]:[],"|"]],Su=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=z.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=z.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,fae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async o=>{await $L(this,{configuration:t,report:o,target:n}),o.reportSeparator(),o.reportInfo(0,"Building a fresh bundle"),o.reportSeparator(),await Wm(M4e(this,n),{configuration:t,context:this.context,target:n}),o.reportSeparator();let a=x.resolve(n,"packages/yarnpkg-cli/bundles/yarn.js"),l=await M.readFilePromise(a);await _L(t,"sources",l,{report:o}),this.skipPlugins||await K4e(this,{project:i,report:o,target:n})})).exitCode()}};Su.paths=[["set","version","from","sources"]],Su.usage=ve.Usage({description:"build Yarn from master",details:`
This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.
By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag.
`,examples:[["Build Yarn from master","$0 set version from sources"]]});async function Wm(r,{configuration:e,context:t,target:i}){for(let[n,...s]of r){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Cr.pipevp(n,s,{cwd:i,stdin:t.stdin,stdout:t.stdout,stderr:t.stderr,strict:!0});else{t.stdout.write(`${ee.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")}
`);try{await Cr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function $L(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&M.existsSync(x.join(i,".git"))){t.reportInfo(0,"Fetching the latest commits"),t.reportSeparator();try{await Wm(O4e(r),{configuration:e,context:r.context,target:i}),n=!0}catch{t.reportSeparator(),t.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}n||(t.reportInfo(0,"Cloning the remote repository"),t.reportSeparator(),await M.removePromise(i),await M.mkdirPromise(i,{recursive:!0}),await Wm(L4e(r,i),{configuration:e,context:r.context,target:i}))}async function K4e(r,{project:e,report:t,target:i}){let n=await bu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await eO(o,r,{project:e,report:t,target:i})}var pae=Pe(Xr()),dae=J("url"),Cae=J("vm");var vu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,stdout:this.context.stdout},async n=>{let{project:s}=await je.find(t,this.context.cwd),o,a;if(this.name.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.name)){let l=x.resolve(this.context.cwd,K.toPortablePath(this.name));n.reportInfo(0,`Reading ${ee.pretty(t,l,ee.Type.PATH)}`),o=x.relative(s.cwd,l),a=await M.readFilePromise(l)}else{let l;if(this.name.match(/^https?:/)){try{new dae.URL(this.name)}catch{throw new at(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}o=this.name,l=this.name}else{let c=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(c.reference!=="unknown"&&!pae.default.valid(c.reference))throw new at(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let u=P.stringifyIdent(c),g=await bu(t);if(!Object.prototype.hasOwnProperty.call(g,u))throw new at(51,`Couldn't find a plugin named "${u}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);o=u,l=g[u].url,c.reference!=="unknown"?l=l.replace(/\/master\//,`/${u}/${c.reference}/`):Tr!==null&&(l=l.replace(/\/master\//,`/@yarnpkg/cli/${Tr}/`))}n.reportInfo(0,`Downloading ${ee.pretty(t,l,"green")}`),a=await Xt.get(l,{configuration:t})}await tO(o,a,{project:s,report:n})})).exitCode()}};vu.paths=[["plugin","import"]],vu.usage=ve.Usage({category:"Plugin-related commands",description:"download a plugin",details:`
This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.
Three types of plugin references are accepted:
- If the plugin is stored within the Yarn repository, it can be referenced by name.
- Third-party plugins can be referenced directly through their public urls.
- Local plugins can be referenced by their path on the disk.
Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package).
`,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function tO(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Cae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(0,`Saving the new plugin in ${ee.pretty(n,l,"magenta")}`),await M.mkdirPromise(x.dirname(c),{recursive:!0}),await M.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let C=typeof p!="string"?p.path:p,y=x.resolve(t.cwd,K.toPortablePath(C)),{name:B}=Ie.dynamicRequire(y);B!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),{...g,plugins:f}})}var U4e=({pluginName:r,noMinify:e},t)=>[["yarn",`build:${r}`,...e?["--no-minify"]:[],"|"]],xu=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,mae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let{project:o}=await je.find(t,this.context.cwd),a=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),l=P.stringifyIdent(a),c=await bu(t);if(!Object.prototype.hasOwnProperty.call(c,l))throw new at(51,`Couldn't find a plugin named "${l}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let u=l;await $L(this,{configuration:t,report:s,target:i}),await eO(u,this,{project:o,report:s,target:i})})).exitCode()}};xu.paths=[["plugin","import","from","sources"]],xu.usage=ve.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:`
This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations.
The plugins can be referenced by their short name if sourced from the official Yarn repository.
`,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function eO(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(0,`Building a fresh ${o}`),n.reportSeparator(),await Wm(U4e({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await M.readFilePromise(l);await tO(r,c,{project:i,report:n})}var Pu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let o=this.name,a=P.parseIdent(o);if(!t.plugins.has(o))throw new be(`${P.prettyIdent(t,a)} isn't referenced by the current configuration`);let l=`.yarn/plugins/${o}.cjs`,c=x.resolve(i.cwd,l);M.existsSync(c)&&(s.reportInfo(0,`Removing ${ee.pretty(t,l,ee.Type.PATH)}...`),await M.removePromise(c)),s.reportInfo(0,"Updating the configuration..."),await ye.updateConfiguration(i.cwd,u=>{if(!Array.isArray(u.plugins))return u;let g=u.plugins.filter(f=>f.path!==l);return u.plugins.length===g.length?u:{...u,plugins:g}})})).exitCode()}};Pu.paths=[["plugin","remove"]],Pu.usage=ve.Usage({category:"Plugin-related commands",description:"remove a plugin",details:`
This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration.
**Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed.
`,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Du=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{for(let s of t.plugins.keys()){let o=this.context.plugins.plugins.has(s),a=s;o&&(a+=" [builtin]"),n.reportJson({name:s,builtin:o}),n.reportInfo(null,`${a}`)}})).exitCode()}};Du.paths=[["plugin","runtime"]],Du.usage=ve.Usage({category:"Plugin-related commands",description:"list the active plugins",details:`
This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.
`,examples:[["List the currently active plugins","$0 plugin runtime"]]});var ku=class extends De{constructor(){super(...arguments);this.idents=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=new Set;for(let l of this.idents)o.add(P.parseIdent(l).identHash);if(await i.restoreInstallState({restoreResolutions:!1}),await i.resolveEverything({cache:s,report:new ti}),o.size>0)for(let l of i.storedPackages.values())o.has(l.identHash)&&i.storedBuildState.delete(l.locatorHash);else i.storedBuildState.clear();return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async l=>{await i.install({cache:s,report:l})})).exitCode()}};ku.paths=[["rebuild"]],ku.usage=ve.Usage({description:"rebuild the project's native packages",details:`
This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.
Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).
By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.
`,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var rO=Pe(Bn());ls();var Ru=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=this.all?i.workspaces:[n],a=["dependencies","devDependencies","peerDependencies"],l=[],c=!1,u=[];for(let p of this.patterns){let C=!1,y=P.parseIdent(p);for(let B of o){let v=[...B.manifest.peerDependenciesMeta.keys()];for(let D of(0,rO.default)(v,p))B.manifest.peerDependenciesMeta.delete(D),c=!0,C=!0;for(let D of a){let T=B.manifest.getForScope(D),H=[...T.values()].map(j=>P.stringifyIdent(j));for(let j of(0,rO.default)(H,P.stringifyIdent(y))){let{identHash:$}=P.parseIdent(j),V=T.get($);if(typeof V>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");B.manifest[D].delete($),u.push([B,D,V]),c=!0,C=!0}}}C||l.push(p)}let g=l.length>1?"Patterns":"Pattern",f=l.length>1?"don't":"doesn't",h=this.all?"any":"this";if(l.length>0)throw new be(`${g} ${ee.prettyList(t,l,xi.CODE)} ${f} match any packages referenced by ${h} workspace`);return c?(await t.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,u),(await Ge.start({configuration:t,stdout:this.context.stdout},async C=>{await i.install({cache:s,report:C,mode:this.mode})})).exitCode()):0}};Ru.paths=[["remove"]],Ru.usage=ve.Usage({description:"remove dependencies from the project",details:`
This command will remove the packages matching the specified patterns from the current workspace.
If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:
- \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.
- \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.
This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.
`,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Eae=J("util"),_h=class extends De{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await je.find(e,this.context.cwd);if(!i)throw new ct(t.cwd,this.context.cwd);return(await Ge.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Ie.sortMap(o.keys(),u=>u),l={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Eae.inspect)(g,l)}`)})).exitCode()}};_h.paths=[["run"]];var Fu=class extends De{constructor(){super(...arguments);this.inspect=z.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=z.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=z.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=z.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=z.Boolean("--silent",{hidden:!0});this.scriptName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n,locator:s}=await je.find(t,this.context.cwd);await i.restoreInstallState();let o=this.topLevel?i.topLevelWorkspace.anchoredLocator:s;if(!this.binariesOnly&&await Wt.hasPackageScript(o,this.scriptName,{project:i}))return await Wt.executePackageScript(o,this.scriptName,this.args,{project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let a=await Wt.getPackageAccessibleBinaries(o,{project:i});if(a.get(this.scriptName)){let c=[];return this.inspect&&(typeof this.inspect=="string"?c.push(`--inspect=${this.inspect}`):c.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?c.push(`--inspect-brk=${this.inspectBrk}`):c.push("--inspect-brk")),await Wt.executePackageAccessibleBinary(o,this.scriptName,this.args,{cwd:this.context.cwd,project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:c,packageAccessibleBinaries:a})}if(!this.topLevel&&!this.binariesOnly&&n&&this.scriptName.includes(":")){let u=(await Promise.all(i.workspaces.map(async g=>g.manifest.scripts.has(this.scriptName)?g:null))).filter(g=>g!==null);if(u.length===1)return await Wt.executeWorkspaceScript(u[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new be(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new be(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}).`);{if(this.scriptName==="global")throw new be("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let c=[this.scriptName].concat(this.args);for(let[u,g]of vh)for(let f of g)if(c.length>=f.length&&JSON.stringify(c.slice(0,f.length))===JSON.stringify(f))throw new be(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${u} plugin. You can install it with "yarn plugin import ${u}".`);throw new be(`Couldn't find a script named "${this.scriptName}".`)}}};Fu.paths=[["run"]],Fu.usage=ve.Usage({description:"run a script defined in the package.json",details:`
This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:
- If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed.
- Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed.
- Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.
Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).
`,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Nu=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(await i.restoreInstallState({restoreResolutions:!1}),!n)throw new ct(i.cwd,this.context.cwd);let o=P.parseDescriptor(this.descriptor,!0),a=P.makeDescriptor(o,this.resolution);return i.storedDescriptors.set(o.descriptorHash,o),i.storedDescriptors.set(a.descriptorHash,a),i.resolutionAliases.set(o.descriptorHash,a.descriptorHash),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Nu.paths=[["set","resolution"]],Nu.usage=ve.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Iae=Pe(Bn()),Tu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=i.topLevelWorkspace,a=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:c,reference:u}of o.manifest.resolutions)u.startsWith("portal:")&&a.add(c.descriptor.fullName);if(this.leadingArguments.length>0)for(let c of this.leadingArguments){let u=x.resolve(this.context.cwd,K.toPortablePath(c));if(Ie.isPathLike(c)){let g=await ye.find(u,this.context.plugins,{useRc:!1,strict:!1}),{project:f,workspace:h}=await je.find(g,u);if(!h)throw new ct(f.cwd,u);if(this.all){for(let p of f.workspaces)p.manifest.name&&a.add(P.stringifyIdent(p.locator));if(a.size===0)throw new be("No workspace found to be unlinked in the target project")}else{if(!h.manifest.name)throw new be("The target workspace doesn't have a name and thus cannot be unlinked");a.add(P.stringifyIdent(h.locator))}}else{let g=[...o.manifest.resolutions.map(({pattern:f})=>f.descriptor.fullName)];for(let f of(0,Iae.default)(g,c))a.add(f)}}return o.manifest.resolutions=o.manifest.resolutions.filter(({pattern:c})=>!a.has(c.descriptor.fullName)),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Tu.paths=[["unlink"]],Tu.usage=ve.Usage({description:"disconnect the local project from another one",details:`
This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments.
`,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var yae=Pe(Km()),iO=Pe(Bn());ls();var El=class extends De{constructor(){super(...arguments);this.interactive=z.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=[...i.storedDescriptors.values()],a=o.map(g=>P.stringifyIdent(g)),l=new Set;for(let g of this.patterns){if(P.parseDescriptor(g).range!=="unknown")throw new be("Ranges aren't allowed when using --recursive");for(let f of(0,iO.default)(a,g)){let h=P.parseIdent(f);l.add(h.identHash)}}let c=o.filter(g=>l.has(g.identHash));for(let g of c)i.storedDescriptors.delete(g.descriptorHash),i.storedResolutions.delete(g.descriptorHash);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{await i.install({cache:s,report:g})})).exitCode()}async executeUpClassic(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Hm(this,i),l=o?["keep","reuse","project","latest"]:["project","latest"],c=[],u=[];for(let B of this.patterns){let v=!1,D=P.parseDescriptor(B);for(let T of i.workspaces)for(let H of["dependencies","devDependencies"]){let $=[...T.manifest.getForScope(H).values()].map(V=>P.stringifyIdent(V));for(let V of(0,iO.default)($,P.stringifyIdent(D))){let W=P.parseIdent(V),_=T.manifest[H].get(W.identHash);if(typeof _>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=P.makeDescriptor(W,D.range);c.push(Promise.resolve().then(async()=>[T,H,_,await Gm(A,{project:i,workspace:T,cache:s,target:H,modifier:a,strategies:l})])),v=!0}}v||u.push(B)}if(u.length>1)throw new be(`Patterns ${ee.prettyList(t,u,xi.CODE)} don't match any packages referenced by any workspace`);if(u.length>0)throw new be(`Pattern ${ee.prettyList(t,u,xi.CODE)} doesn't match any packages referenced by any workspace`);let g=await Promise.all(c),f=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let[,,v,{suggestions:D,rejections:T}]of g){let H=D.filter(j=>j.descriptor!==null);if(H.length===0){let[j]=T;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");let $=this.cli.error(j);i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range
${$}`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)
${$}`)}else H.length>1&&!o&&B.reportError(27,`${P.prettyDescriptor(t,v)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(f.hasErrors())return f.exitCode();let h=!1,p=[];for(let[B,v,,{suggestions:D}]of g){let T,H=D.filter(W=>W.descriptor!==null),j=H[0].descriptor,$=H.every(W=>P.areDescriptorsEqual(W.descriptor,j));H.length===1||$?T=j:(h=!0,{answer:T}=await(0,yae.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(t,B)} \u276F ${v}?`,choices:D.map(({descriptor:W,name:_,reason:A})=>W?{name:_,hint:A,descriptor:W}:{name:_,hint:A,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let V=B.manifest[v].get(T.identHash);if(typeof V>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(V.descriptorHash!==T.descriptorHash)B.manifest[v].set(T.identHash,T),p.push([B,v,V,T]);else{let W=t.makeResolver(),_={project:i,resolver:W},A=W.bindDescriptor(V,B.anchoredLocator,_);i.forgetResolution(A)}}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),h&&this.context.stdout.write(`
`),(await Ge.start({configuration:t,stdout:this.context.stdout},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};El.paths=[["up"]],El.usage=ve.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),El.schema=[av("recursive",lc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var Lu=class extends De{constructor(){super(...arguments);this.recursive=z.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=z.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=P.parseIdent(this.package).identHash,o=this.recursive?G4e(i,s,{configuration:t,peers:this.peers}):H4e(i,s,{configuration:t,peers:this.peers});es.emitTree(o,{configuration:t,stdout:this.context.stdout,json:this.json,separators:1})}};Lu.paths=[["why"]],Lu.usage=ve.Usage({description:"display the reason why a package is needed",details:`
This command prints the exact reasons why a package appears in the dependency tree.
If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree.
`,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function H4e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={};for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=r.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;{let p=P.stringifyLocator(a);s[p]={value:[a,ee.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ee.Type.DEPENDENT]}}}return o}function G4e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let C=r.storedResolutions.get(p.descriptorHash);if(!C)throw new Error("Assertion failed: The resolution should have been registered");let y=r.storedPackages.get(C);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let C=p!==null?ee.tuple(ee.Type.DEPENDENT,{locator:f,descriptor:p}):ee.tuple(ee.Type.LOCATOR,f),y={},B={value:C,children:y},v=P.stringifyLocator(f);if(h[v]=B,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let D of f.dependencies.values()){if(!i&&f.peerDependencies.has(D.identHash))continue;let T=r.storedResolutions.get(D.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let H=r.storedPackages.get(T);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,y,D)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var hO={};ut(hO,{default:()=>AWe,gitUtils:()=>lA});var lA={};ut(lA,{TreeishProtocols:()=>LQ,clone:()=>fO,fetchBase:()=>Yae,fetchChangedFiles:()=>jae,fetchChangedWorkspaces:()=>oWe,fetchRoot:()=>Gae,isGitUrl:()=>ep,lsRemote:()=>Hae,normalizeLocator:()=>uO,normalizeRepoUrl:()=>Vm,resolveUrl:()=>gO,splitRepoUrl:()=>zm});var cO=Pe(Tae()),Kae=Pe(PB()),$h=Pe(J("querystring")),AO=Pe(Xr());var Oae=J("url");function aO(r,e,t){let i=r.indexOf(t);return r.lastIndexOf(e,i>-1?i:1/0)}function Lae(r){try{return new Oae.URL(r)}catch{return}}function nWe(r){let e=aO(r,"@","#"),t=aO(r,":","#");return t>e&&(r=`${r.slice(0,t)}/${r.slice(t+1)}`),aO(r,":","#")===-1&&r.indexOf("//")===-1&&(r=`ssh://${r}`),r}function Mae(r){return Lae(r)||Lae(nWe(r))}function Uae(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var sWe=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],LQ=(n=>(n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver",n))(LQ||{});function ep(r){return r?sWe.some(e=>!!r.match(e)):!1}function zm(r){r=Vm(r);let e=r.indexOf("#");if(e===-1)return{repo:r,treeish:{protocol:"head",request:"HEAD"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=$h.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(LQ).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s<"u"?(o=s,a=n[s]):(o="head",a="HEAD");for(let l of Object.values(LQ))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function Vm(r,{git:e=!1}={}){if(r=r.replace(/^git\+https:/,"https:"),r=r.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),r=r.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let t=Mae(r);t&&(r=t.href),r=r.replace(/^gi Line truncated
- ${l.join(`
- `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:a.cwd})}};Mu.paths=[["workspace"]],Mu.usage=ve.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:`
This command will run a given sub-command on a single workspace.
`,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var lWe={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:qae.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"}},commands:[cu,uu,gu,fu,Nu,Su,mu,Ou,Vh,Xh,qm,Zh,Au,lu,hu,pu,du,Cu,Eu,Iu,yu,wu,Tu,Bu,xu,vu,Pu,Qu,Du,ku,Ru,_h,Fu,El,Lu,Mu]},cWe=lWe;var IO={};ut(IO,{default:()=>gWe});var Te={optional:!0},dO=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Te}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Te,["postcss-jsx"]:Te,["postcss-less"]:Te,["postcss-markdown"]:Te,["postcss-scss"]:Te}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Te}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Te}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Te,"vue-template-compiler":Te}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Te,"utf-8-validate":Te}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te,"vuetify-loader":Te}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-lo Line truncated
`),await M.writeFilePromise(x.join(i,"yarn.lock"),"");let n=x.join(i,".yarnrc.yml"),s=await ye.findProjectCwd(this.context.cwd,xt.lockfile),o=!(await ye.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),a=s!==null?x.join(s,".yarnrc.yml"):null;a!==null&&M.existsSync(a)?(await M.copyFilePromise(a,n),await ye.updateConfiguration(i,y=>{let B={...y,enableGlobalCache:o,enableTelemetry:!1};return Array.isArray(y.plugins)&&(B.plugins=y.plugins.map(v=>{let D=typeof v=="string"?v:v.path,T=K.isAbsolute(D)?D:K.resolve(K.fromPortablePath(s),D);return typeof v=="string"?T:{path:T,spec:v.spec}})),B})):await M.writeFilePromise(n,`enableGlobalCache: ${o}
enableTelemetry: false
`);let l=(C=this.packages)!=null?C:[this.command],c=P.parseDescriptor(this.command).name,u=await this.cli.run(["add","--",...l],{cwd:i,quiet:this.quiet});if(u!==0)return u;this.quiet||this.context.stdout.write(`
`);let g=await ye.find(i,this.context.plugins),{project:f,workspace:h}=await je.find(g,i);if(h===null)throw new ct(f.cwd,i);await f.restoreInstallState();let p=await Wt.getWorkspaceAccessibleBinaries(h);return p.has(c)===!1&&p.size===1&&typeof this.packages>"u"&&(c=Array.from(p)[0][0]),await Wt.executeWorkspaceAccessibleBinary(h,c,this.args,{packageAccessibleBinaries:p,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Ku.paths=[["dlx"]],Ku.usage=ve.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var fWe={commands:[tp,Ku]},hWe=fWe;var bO={};ut(bO,{default:()=>CWe,fileUtils:()=>Zm});var rp=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Xm=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,qr="file:";var Zm={};ut(Zm,{makeArchiveFromLocator:()=>KQ,makeBufferFromLocator:()=>QO,makeLocator:()=>BO,makeSpec:()=>Xae,parseSpec:()=>wO});function wO(r){let{params:e,selector:t}=P.parseRange(r),i=K.toPortablePath(t);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function Xae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t<"u"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function BO(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,Xae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function KQ(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Ie.releaseAfterUseAsync(async()=>await mi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function QO(r,{protocol:e,fetchOptions:t}){return(await KQ(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var UQ=class{supports(e,t){return!!e.reference.startsWith(qr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return KQ(e,{protocol:qr,fetchOptions:t})}};var pWe=2,HQ=class{supportsDescriptor(e,t){return e.range.match(rp)?!0:!!e.range.startsWith(qr)}supportsLocator(e,t){return!!e.reference.startsWith(qr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return rp.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=wO(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await QO(P.makeLocator(e,P.makeRange({protocol:qr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:qr,fetchOptions:i.fetchOptions}),a=li.makeHash(`${pWe}`,o).slice(0,6);return[BO(e,{parentLocator:s,path:n,folderHash:a,protocol:qr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie. Line truncated
`);let a=x.join(this.context.cwd,ot.fileName);await M.changeFilePromise(a,`${JSON.stringify(o,null,2)}
`,{automaticNewlines:!0});let l=x.join(this.context.cwd,"README.md");if(M.existsSync(l)||await M.writeFilePromise(l,`# ${P.stringifyIdent(n.name)}
`),!i||i.cwd===this.context.cwd){let u=x.join(this.context.cwd,xt.lockfile);M.existsSync(u)||await M.writeFilePromise(u,"");let f=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(T=>`${T}
`).join(""),h=x.join(this.context.cwd,".gitignore");M.existsSync(h)||await M.writeFilePromise(h,f);let C=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(T=>`${T}
`).join(""),y=x.join(this.context.cwd,".gitattributes");M.existsSync(y)||await M.writeFilePromise(y,C);let B={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,vAe.default)(B,t.get("initEditorConfig"));let v=`root = true
`;for(let[T,H]of Object.entries(B)){v+=`
[${T}]
`;for(let[j,$]of Object.entries(H)){let V=j.replace(/[A-Z]/g,W=>`_${W.toLowerCase()}`);v+=`${V} = ${$}
`}}let D=x.join(this.context.cwd,".editorconfig");M.existsSync(D)||await M.writeFilePromise(D,v),M.existsSync(x.join(this.context.cwd,".git"))||await Cr.execvp("git",["init"],{cwd:this.context.cwd})}}};Uu.paths=[["init"]],Uu.usage=ve.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var B8e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[Uu]},Q8e=B8e;var RO={};ut(RO,{default:()=>S8e});var cA="portal:",uA="link:";var WQ=class{supports(e,t){return!!e.reference.startsWith(cA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA}),s=x.isAbsolute(n)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,localPath:l}:{packageFs:new So(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot}}};var zQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(cA)}supportsLocator(e,t){return!!e.reference.startsWith(cA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(cA.length);return[P.makeLocator(e,`${cA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var VQ=class{supports(e,t){return!!e.reference.startsWith(uA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:uA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:uA}),s=x.isAbsolute(n)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0,localPath:l}:{packageFs:new So(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0}}};var XQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(uA)}supportsLocator(e,t){return!!e.reference.startsWith(uA)}shouldPersistResolution(e,t){return!1}bindDescriptor( Line truncated
${u}, next tree:
${eE(a)}`);let f=RAe(a);if(f)throw new Error(`${f}, after hoisting finished:
${eE(a)}`)}return s.debugLevel>=2&&console.log(eE(a)),N8e(a)},v8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},x8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},PAe=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:C}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(C)},B=y.dependencies.get(t);return B&&B.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},P8e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},FO=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},TO=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=T8e(o),l=P8e(o,a),c=r==o?new Map:n.fastLookupPossible?v8e(e):x8e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([C,y])=>[C,y[0]])),p=new Map;do{let C=R8e(r,e,t,c,h,l,i,p,n);C.isGraphChanged&&(f=!0),C.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,B]of l)B.length>1&&!o.dependencies.has(y)&&(h.delete(y),B.shift(),h.set(y,B[0]),u=!0)}while(u);for(let C of o.dependencies.values())if(!o.peerNames.has(C.name)&&!t.has(C.locator)){t.add(C.locator);let y=TO(r,[...e,C],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(C.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},D8e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},k8e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>ki(y)).join("\u2192")}`);let h=t[t.length-1],C=!(i.ident===h.ident);if(l&&!C&&(g="- self-reference"),C&&(C=i.dependencyKind!==1,l&&!C&&(g="- workspace")),C&&i.dependencyKind===2&&(C=!D8e(i),l&&!C&&(g="- external soft link with unhoisted dependencies")),C&&(C=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!C&&(g=h.reasons.get(i.name))),C&&(C=!r.peerNames.has(i.name),l&&!C&&(g=`- cannot shadow peer: ${ki(r.originalDependencies.get(i.name).locator)} at ${u}`)),C){let y=!1,B=n.get(i.name);if(y=!B||B.ident===i.ident,l&&!y&&(g=`- filled by: ${ki(B.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let T=t[v].dependencies.get(i.name);if(T&&T.ident!==i.ident){y=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${ki(T.locator)} at ${t.slice(0,v).map(j=>ki(j.locator)).join("\u2192")}`);break}}C=y}if(C&&(C=s.get(i.name)===i.ident,l&&!C&&(g=`- filled by: ${ki(o.get(i.name)[0])} at ${u}`)),C){let y=!0,B=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let D=t[v];for(let T of B){if(D.peerNames.has(T)&&D.originalDependencies.has(T))continue;let H=D.dependencies.get(T);H&&r.dependencies.get(T)!==H&&(v===t.length-1?f.add(H):(f=null,y=!1,l&&(g=`- peer dependency ${ki(H.locator)} from parent ${ki(D.locator)} was not hoisted to ${u}`))),B.delete(T)}if(!y)break}C=y}if(C&&!c)for(let y of i.hoistedDependencies.values()){let B=n.get(y.name)||r.dependencies.get(y.name);if(!B||y.ident!==B.ident){C=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${ki(y.locator)}, available: ${ki(B==null?void 0:B.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:C?0:1,reason:g}},ZQ=r=>`${r.name}@${r.locator}`,R8e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(B,v,D,T,H)=>{if(u.has(T))return;let j=[...v,ZQ(T)],$=[...D,ZQ(T)],V=new Map,W=new Map;for(let re of FO(T)){let O=k8e(c,t,[c,...B,T],re,i,n,s,a,{outputReason:l.debugLevel>=2,fastLooku Line truncated
${eE(r)}`)}let ge=FO(T);for(let re of ge)if(_.has(re)){let O=W.get(re);if((n.get(re.name)===re.ident||!T.reasons.has(re.name))&&O.isHoistable!==0&&T.reasons.set(re.name,O.reason),!re.isHoistBorder&&$.indexOf(ZQ(re))<0){u.add(T);let ue=PAe(T,re);h([...B,T],j,$,ue,C),u.delete(T)}}},p,C=new Set(FO(c)),y=Array.from(e).map(B=>ZQ(B));do{p=C,C=new Set;for(let B of p){if(B.locator===c.locator||B.isHoistBorder)continue;let v=PAe(c,B);h([],Array.from(t),y,v,C)}}while(C.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},RAe=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>ki(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,C=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${C}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${C} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(`
`)},F8e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:NO(t,n),ident:xAe(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:C,peerNames:y,hoistPriority:B,dependencyKind:v}=c,D=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([C]),locator:NO(p,C),ident:xAe(p,C),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:D?D.has(h):!1,hoistPriority:B||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=C=>{if(!h.has(C)){h.add(C),C.decoupled=!1;for(let y of C.dependencies.values())C.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},LO=r=>r.substring(0,r.indexOf("@",1)),N8e=r=>{let e={name:r.name,identName:LO(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:LO(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},T8e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},ki=r=>{if(!r)return"none";let e=r.indexOf("@",1),t=r.substring(0,e);t.endsWith("$wsroot$")&&(t=`wh:${t.replace("$wsroot$","")}`);let i=r.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(t=`v:${t}`),n.startsWith("workspace")&&(t=`w:${t}`,n=""),`${t}${n?`@${n}`:""}`}else return`${t}`},DAe=5e4,eE=r=>{let e=0,t=(n,s,o="")=>{if(e>DAe||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c<a.length;c++){let u=a[c];if(!n.peerNames.has(u.name)&&u!==n){let g=n.reasons.get(u.name),f=LO(u.locator);l+=`${o}${c<a.length-1?"\u251C\u2500":"\u2514\u2500"}${(s.has(u)?">":"")+(f!==u.name?`a:${u.name}:`:"")+ki(u.locator)+(g?` ${g}`:"")}
`,l+=t(u,s,`${o}${c<a.length-1?"\u2502 ":" "}`)}}return s.delete(n),l};return t(r,new Set)+(e>DAe?`
Tree is too large, part of the tree has been dunped
`:"")};var tE=(i=>(i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none",i))(tE||{}),FAe="node_modules",Hu="$wsroot$";var rE=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=O8e(r,e),o=null;if(n.length===0){let a=kAe(t,{hoistingLimits:i});o=K8e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},sa=r=>`${r.name}@${r.reference}`,MO=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},NAe=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},OO=(r,e,t,i)=>{if(r.linkType!=="SOFT")return!1;let n=K.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},L8e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(r.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=K.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=sa(f);if(l.has(p))return;l.add(p);let C=r.getPackageInformation(f);if(C){let y=h?sa(h):"";if(sa(f)!==y&&C.linkType==="SOFT"&&!OO(C,f,r,i)){let B=TAe(C,f,r);(!a.get(B)||f.reference.startsWith("workspace:"))&&a.set(B,f)}for(let[B,v]of C.packageDependencies)v!==null&&(C.packagePeers.has(B)||c(r.getLocator(B,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),C=K.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let B of C){let v=y.children.get(B);v||(v={children:new Map},y.children.set(B,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=sa(h),C=n.get(p);C||(C=new Set,n.set(p,C)),C.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},O8e=(r,e)=>{let t=[],i=!1,n=new Map,s=L8e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=K.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:1},u=new Map,g=(h,p)=>`${sa(p)}:${h}`,f=(h,p,C,y,B,v,D,T)=>{var re,O;let H=g(h,C),j=u.get(H),$=!!j;!$&&C.name===a.name&&C.reference===a.reference&&(j=c,u.set(H,c));let V=OO(p,C,r,l);if(!j){let F=0;V?F=2:p.linkType==="SOFT"&&C.name.endsWith(Hu)&&(F=1),j={name:h,identName:C.name,reference:C.reference,dependencies:new Set,peerNames:F===1?new Set:p.packagePeers,dependencyKind:F},u.set(H,j)}let W;if(V?W=2:B.linkType==="SOFT"?W=1:W=0,j.hoistPriority=Math.max(j.hoistPriority||0,W),T&&!V){let F=sa({name:y.identName,reference:y.reference}),ue=n.get(F)||new Set;n.set(F,ue),ue.add(j.name)}let _=new Map(p.packageDependencies);if(e.project){let F=e.project.workspacesByCwd.get(K.toPortablePath(p.packageLocation.slice(0,-1)));if(F){let ue=new Set([...Array.from(F.manifest.peerDependencies.values(),pe=>P.stringifyIdent(pe)),...Array.from(F.manifest.peerDependenciesMeta.keys())]);for(let pe of ue)_.has(pe)||(_.set(pe,v.get(pe)||null),j.peerNames.add(pe))}}let A=sa({name:C.name.replace(Hu,""),reference:C.reference}),Ae=s.get(A);if(Ae)for(let F of Ae)_.set(`${F.name}${Hu}`,F.reference);(p!==B||p.linkType!=="SOFT"||!V&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(D)))&&y.dependencies.add(j);let ge=C!==a&&p.linkType==="SOFT"&&!C.name.endsWith(Hu)&&!V;if(!$&&!ge){let F=new Map;for(let[ue,pe]of _)if(pe!==null){let ke=r.getLocator(ue,pe),Fe=r.getLocator(ue.replace(Hu,""),pe),Ne=r.getPackageInformation(Fe);if(Ne===null)throw new Error("Assertion failed: Expected the package to have been registered");let oe=OO(Ne,ke,r,l);if(e.validateExternalSoftLinks&&e.project&&oe){Ne.packageDependencies.size>0&&(i=!0);for(let[qe,ne]of Ne.packageDependencies)if(ne!==null){let Y=P.parseLocator(Array.isArray(ne)?`${ne[0]}@${ne[1]}`:`${qe}@${ne}`);if(sa(Y)!==sa(ke)){let he=_.get(qe);if(he){let ie=P.parseLocator(Array.isArray(he)?`${he[0]}@${he[1]}`:`${qe}@${he}`);NAe(ie,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.referenceLine truncated
`;for(let s=0,o=r.length;s<o;++s)n+=i+_Q(String(s),r[s],e,i).replace(/^ +/,""),s+1<o&&(n+=","),n+=`
`;return n+=t,n+="]",n}function G8e(r,e,t){let i=Object.keys(r),n="";n+="{";for(let s=0,o=i.length,a=0;s<o;++s){let l=i[s],c=r[l];typeof c>"u"||(a!==0&&(n+=", "),n+=JSON.stringify(l),n+=": ",n+=_Q(l,c,e,t).replace(/^ +/g,""),a+=1)}return n+="}",n}function Y8e(r,e,t){let i=Object.keys(r),n=`${t} `,s="";s+=t,s+=`{
`;let o=0;for(let a=0,l=i.length;a<l;++a){let c=i[a],u=r[c];typeof u>"u"||(o!==0&&(s+=",",s+=`
`),s+=n,s+=JSON.stringify(c),s+=": ",s+=_Q(c,u,e,n).replace(/^ +/g,""),o+=1)}return o!==0&&(s+=`
`),s+=t,s+="}",s}function _Q(r,e,t,i){let{next:n}=LAe[t],s=n[r]||n["*"];return OAe(e,s,i)}function OAe(r,e,t){let{collapsed:i}=LAe[e];return Array.isArray(r)?i?U8e(r,e,t):H8e(r,e,t):typeof r=="object"&&r!==null?i?G8e(r,e,t):Y8e(r,e,t):JSON.stringify(r)}function MAe(r){return OAe(r,"TOP_LEVEL","")}function iE(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]<a[o]?-1:a[s]>a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function j8e(r){let e=new Map,t=iE(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s>"u"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function q8e(r){return iE(r.fallbackPool||[],([e])=>e)}function J8e(r){let e=[];for(let[t,i]of iE(r.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of iE(i,([g])=>g===null?"0":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,C]of iE(a.entries(),([y])=>y))g.push([p,C]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function nE(r){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:j8e(r),fallbackPool:q8e(r),packageRegistryData:J8e(r)}}var HAe=Pe(UAe());function GAe(r,e){return[r?`${r}
`:"",`/* eslint-disable */
`,`"use strict";
`,`
`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) {
`,e.replace(/^/gm," "),`}
`,`
`,(0,HAe.default)()].join("")}function W8e(r){return JSON.stringify(r,null,2)}function z8e(r){return`'${r.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\
`)}'`}function V8e(r){return[`return hydrateRuntimeState(JSON.parse(${z8e(MAe(r))}), {basePath: basePath || __dirname});
`].join("")}function X8e(r){return[`var path = require('path');
`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(r)});
`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)});
`].join("")}function YAe(r){let e=nE(r),t=V8e(e);return GAe(r.shebang,t)}function jAe(r){let e=nE(r),t=X8e(r.dataLocation),i=GAe(r.shebang,t);return{dataFile:W8e(e),loaderFile:i}}var hle=J("fs");var ple=J("util");function UO(r,{basePath:e}){let t=K.toPortablePath(e),i=x.resolve(t),n=r.ignorePatternData!==null?new RegExp(r.ignorePatternData):null,s=new Map,o=new Map(r.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var D;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let C=(D=p.discardFromLookup)!=null?D:!1,y={name:g,reference:h},B=s.get(p.packageLocation);B?(B.discardFromLookup=B.discardFromLookup&&C,C||(B.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:C});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:C,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var gE=J("module"),gA=J("url"),XO=J("util");var qi=J("url");var zAe=Pe(J("assert"));var HO=Array.isArray,sE=JSON.stringify,oE=Object.getOwnPropertyNames,Gu=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),GO=(r,e)=>RegExp.prototype.exec.call(r,e),YO=(r,...e)=>RegExp.prototype[Symbol.replace].apply(r,e),Il=(r,...e)=>String.prototype.endsWith.apply(r,e),jO=(r,...e)=>String.prototype.includes.apply(r,e),qO=(r,...e)=>String.prototype.lastIndexOf.apply(r,e),aE=(r,...e)=>String.prototype.indexOf.apply(r,e),qAe=(r,...e)=>String.prototype.replace.apply(r,e),yl=(r,...e)=>String.prototype.slice.apply(r,e),oa=(r,...e)=>String.prototype.startsWith.apply(r,e),JAe=Map,WAe=JSON.parse;function AE(r,e,t){return class extends t{constructor(...i){super(e(...i)),this.code=r,this.name=`${t.name} [${r}]`}}}var VAe=AE("ERR_PACKAGE_IMPORT_NOT_DEFINED",(r,e,t)=>`Package import specifier "${r}" is not defined${e?` in package ${e}package.json`:""} imported from ${t}`,TypeError),JO=AE("ERR_INVALID_MODULE_SPECIFIER",(r,e,t=void 0)=>`Invalid module "${r}" ${e}${t?` imported from ${t}`:""}`,TypeError),XAe=AE("ERR_INVALID_PACKAGE_TARGET",(r,e,t,i=!1,n=void 0)=>{let s=typeof t=="string"&&!i&&t.length&&!oa(t,"./");return e==="."?((0,zAe.default)(i===!1),`Invalid "exports" main target ${sE(t)} defined in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`):`Invalid "${i?"imports":"exports"}" target ${sE(t)} defined for '${e}' in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`},Error),lE=AE("ERR_INVALID_PACKAGE_CONFIG",(r,e,t)=>`Invalid package config ${r}${e?` while importing ${e}`:""}${t?`. ${t}`:""}`,Error),ZAe=AE("ERR_PACKAGE_PATH_NOT_EXPORTED",(r,e,t=void 0)=>e==="."?`No "exports" main defined in ${r}package.json${t?` imported from ${t}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${r}package.json${t?` imported from ${t}`:""}`,Error);var eb=J("url");function _Ae(r,e){let t=Object.create(null);for(let i=0;i<e.length;i++){let n=e[i];Gu(r,n)&&(t[n]=r[n])}return t}var $Q=new JAe;function Z8e(r,e,t,i){let n=$Q.get(r);if(n!==void 0)return n;let s=i(r);if(s===void 0){let h={pjsonPath:r,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return $Q.set(r,h),h}let o;try{o=WAe(s)}catch(h){throw new lE(r,(t?`"${e}" from `:"")+(0,eb.fileURLToPath)(t||e),h.message)}let{imports:a,main:l,name:c,type:u}=_Ae(o,["imports","main","name","type"]),g=Gu(o,"exports")?o.exports:void 0;(typeof a!="object"||a===null)&&(a=void 0),typeof l!="string"&&(l=void 0),typeof c!="string"&&(c=void 0),u!=="module"&&u!=="commonjs"&&(u="none");let f={pjsonPath:r,exists:!0,main:l,name:c,type:u,exports:g,imports:a};return $Q.set(r,f),f}function $Ae(r,e){let t=new URL("./package.json",r);for(;;){let s=t.pathname;if(Il(s,"node_modules/package.json"))break;let o=Z8e((0,eb.fileURLToPath)(t),r,void 0,e);if(o.exists)return o;let a=t;if(t=new URL("../package.json",t),t.pathname===a.pathname)break}let i=(0,eb.fileURLToPath)(t),n={pjsonPath:i,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return $Q.set(i,n),n}function _8e(r,e,t){throw new VAe(r,e&&(0,qi.fileURLToPath)(new URL(".",e)),(0,qi.fileURLToPath)(t))}function $8e(r,e,t,i){let n=`request is not a valid subpath for the "${t?"imports":"exports"}" resolution of ${(0,qi.fileURLToPath)(e)}`;throw new JO(r,n,i&&(0,qi.fileURLToPath)(i))}function cE(r,e,t,i,n){throw typeof e=="object"&&e!==null?e=sE(e,null,""):e=`${e}`,new XAe((0,qi.fileURLToPath)(new URL(".",t)),r,e,i,n&&(0,qi.fileURLToPath)(n))}var ele=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|% Line truncated
`),t;o=r[++s]}else if(o===" "&&!i){n=!0;continue}else if(o==='"'){i=!i;continue}n?(t.push(o),n=!1):t[t.length-1]+=o}return i&&e.push(`invalid value for NODE_OPTIONS (unterminated string)
`),t}var gle=J("module");var[Ji,aa]=process.versions.node.split(".").map(r=>parseInt(r,10)),sBt=Ji>16||Ji===16&&aa>=12,oBt=Ji>17||Ji===17&&aa>=5||Ji===16&&aa>=15,aBt=Ji>17||Ji===17&&aa>=1||Ji===16&&aa>14,ule=Ji>19||Ji===19&&aa>=2||Ji===18&&aa>=13,ABt=Ji>19||Ji===19&&aa>=3,lBt=Ji>18||Ji===18&&aa>=1||Ji===16&&aa>=17;var Aze=new Set(gle.Module.builtinModules||Object.keys(process.binding("natives"))),tb=r=>r.startsWith("node:")||Aze.has(r);function fle(r){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(r=r.map(e=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(e)))),ule)process.send({"watch:require":r});else for(let e of r)process.send({"watch:require":e})}function ZO(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let oe of["react-scripts","gatsby"]){let le=r.packageRegistry.get(oe);if(le)for(let Be of le.keys()){if(Be===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:oe,reference:Be})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(oe,le){return{fn:oe,args:le,error:null,result:null}}function C(oe){var qe,ne,Y,he,ie,de;let le=(Y=(ne=(qe=process.stderr)==null?void 0:qe.hasColors)==null?void 0:ne.call(qe))!=null?Y:process.stdout.isTTY,Be=(_e,Pt)=>`\x1B[${_e}m${Pt}\x1B[0m`,fe=oe.error;console.error(fe?Be("31;1",`\u2716 ${(he=oe.error)==null?void 0:he.message.replace(/\n.*/s,"")}`):Be("33;1","\u203C Resolution")),oe.args.length>0&&console.error();for(let _e of oe.args)console.error(` ${Be("37;1","In \u2190")} ${(0,XO.inspect)(_e,{colors:le,compact:!0})}`);oe.result&&(console.error(),console.error(` ${Be("37;1","Out \u2192")} ${(0,XO.inspect)(oe.result,{colors:le,compact:!0})}`));let ae=(de=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?de:[];if(ae.length>0){console.error();for(let _e of ae)console.error(` ${Be("38;5;244",_e)}`)}console.error()}function y(oe,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...Be)=>{let fe=p(oe,Be);try{return fe.result=le(...Be)}catch(ae){throw fe.error=ae}finally{C(fe)}};if(i>=1)return(...Be)=>{try{return le(...Be)}catch(fe){let ae=p(oe,Be);throw ae.error=fe,C(ae),fe}}}return le}function B(oe){let le=A(oe);if(!le)throw ri("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return le}function v(oe){if(oe.name===null)return!0;for(let le of r.dependencyTreeRoots)if(le.name===oe.name&&le.reference===oe.reference)return!0;return!1}let D=new Set(["node","require",...cle("--conditions")]);function T(oe,le=D,Be){let fe=re(x.join(oe,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(fe===null)throw ri("INTERNAL",`The locator that owns the "${oe}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ae}=B(fe),qe=x.join(ae,xt.manifest);if(!e.fakeFs.existsSync(qe))return null;let ne=JSON.parse(e.fakeFs.readFileSync(qe,"utf8"));if(ne.exports==null)return null;let Y=x.contains(ae,oe);if(Y===null)throw ri("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");Y!=="."&&!a.test(Y)&&(Y=`./${Y}`);try{let he=nle({packageJSONUrl:(0,gA.pathToFileURL)(K.fromPortablePath(qe)),packageSubpath:Y,exports:ne.exports,base:Be?(0,gA.pathToFileURL)(K.fromPortablePath(Be)):null,conditions:le});return K.toPortablePath((0,gA.fileURLToPath)(he))}catch(he){throw ri("EXPORTS_RESOLUTION_FAILED",he.message,{unqualifiedPath:ho(oe),locator:fe,pkgJson:ne,subpath:ho(Y),conditions:le},he.code)}}function H(oe,le,{extensions:Be}){let fe;try{le.push(oe),fe=e.fakeFs.statSync(oe)}catch{}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(oe);if(fe&&fe.isDirectory()){let ae;try{ae=JSON.parse(e.fakeFs.readFileSync(x.join(oe,xt.manifest),"utf8"))}catch{}let qe;if(ae&&ae.main&&(qe=x.resolve(oe,ae.main)),qe&&qe!==oe){let ne=H(qe,le,{extensions:Be});if(ne!==null)return ne}}for(let ae=0,qe=Be.length;ae<qe;ae++){let ne=`${oe}${Be[ae]}`;if(le.push(ne),e.fakeFs.existsSync(ne))return ne}if(fe&&fe.isDirectory())for(let ae=0,qe=Be.length;ae<qe;ae++){let ne=x.format({dir:oe,name:"index",ext:Be[ae]});if(le.push(ne),e.fakeFs.existsSync(ne))return ne}return null}function j(oe){let le=new gE.Module(oe,null);return le.filename=oe,le.paths=gE.Module._nodeModulePaths(oe),le}function $(oe,le){return le.endsWith("/")&&(le=x.join(le,"internal.js")),gE.Module._resolveFilename(K.fromPortablePath(oe),j(K.fromPortablePath(le)),!1,{plugnplay:!1})}function V(oe){if(g===null)return!1;let le=x.contains(r.basePath,oe);return le===null?!1:!!g.test(le.replace(/\/$/,""))}let W={std:3,resolveVirtual:1,getAllLocators:1},_=l;function A(Line truncated
Require request: "${fe}"
Required by: ${ae}
`,{request:fe,issuer:ae});return K.toPortablePath(Y)}let qe,ne=oe.match(n);if(ne){if(!le)throw ri("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:ae});let[,Y,he]=ne,ie=re(le);if(!ie){let hr=$(oe,le);if(hr===!1)throw ri("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).
Require path: "${fe}"
Required by: ${ae}
`,{request:fe,issuer:ae});return K.toPortablePath(hr)}let _e=B(ie).packageDependencies.get(Y),Pt=null;if(_e==null&&ie.name!==null){let hr=r.fallbackExclusionList.get(ie.name);if(!hr||!hr.has(ie.reference)){for(let ni=0,Ks=c.length;ni<Ks;++ni){let Ii=B(c[ni]).packageDependencies.get(Y);if(Ii!=null){t?Pt=Ii:_e=Ii;break}}if(r.enableTopLevelFallback&&_e==null&&Pt===null){let ni=r.fallbackPool.get(Y);ni!=null&&(Pt=ni)}}}let It=null;if(_e===null)if(v(ie))It=ri("MISSING_PEER_DEPENDENCY",`Your application tried to access ${Y} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.
Required package: ${Y}${Y!==fe?` (via "${fe}")`:""}
Required by: ${ae}
`,{request:fe,issuer:ae,dependencyName:Y});else{let hr=ge(Y,ie);hr.every(fi=>v(fi))?It=ri("MISSING_PEER_DEPENDENCY",`${ie.name} tried to access ${Y} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.
Required package: ${Y}${Y!==fe?` (via "${fe}")`:""}
Required by: ${ie.name}@${ie.reference} (via ${ae})
${hr.map(fi=>`Ancestor breaking the chain: ${fi.name}@${fi.reference}
`).join("")}
`,{request:fe,issuer:ae,issuerLocator:Object.assign({},ie),dependencyName:Y,brokenAncestors:hr}):It=ri("MISSING_PEER_DEPENDENCY",`${ie.name} tried to access ${Y} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
Required package: ${Y}${Y!==fe?` (via "${fe}")`:""}
Required by: ${ie.name}@${ie.reference} (via ${ae})
${hr.map(fi=>`Ancestor breaking the chain: ${fi.name}@${fi.reference}
`).join("")}
`,{request:fe,issuer:ae,issuerLocator:Object.assign({},ie),dependencyName:Y,brokenAncestors:hr})}else _e===void 0&&(!Be&&tb(oe)?v(ie)?It=ri("UNDECLARED_DEPENDENCY",`Your application tried to access ${Y}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Y} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.
Required package: ${Y}${Y!==fe?` (via "${fe}")`:""}
Required by: ${ae}
`,{request:fe,issuer:ae,dependencyName:Y}):It=ri("UNDECLARED_DEPENDENCY",`${ie.name} tried to access ${Y}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Y} isn't otherwise declared in ${ie.name}'s dependencies, this makes the require call ambiguous and unsound.
Required package: ${Y}${Y!==fe?` (via "${fe}")`:""}
Required by: ${ae}
`,{request:fe,issuer:ae,issuerLocator:Object.assign({},ie),dependencyName:Y}):v(ie)?It=ri("UNDECLARED_DEPENDENCY",`Your application tried to access ${Y}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.
Required package: ${Y}${Y!==fe?` (via "${fe}")`:""}
Required by: ${ae}
`,{request:fe,issuer:ae,dependencyName:Y}):It=ri("UNDECLARED_DEPENDENCY",`${ie.name} tried to access ${Y}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
Required package: ${Y}${Y!==fe?` (via "${fe}")`:""}
Required by: ${ie.name}@${ie.reference} (via ${ae})
`,{request:fe,issuer:ae,issuerLocator:Object.assign({},ie),dependencyName:Y}));if(_e==null){if(Pt===null||It===null)throw It||new Error("Assertion failed: Expected an error to have been set");_e=Pt;let hr=It.message.replace(/\n.*/g,"");It.message=hr,!u.has(hr)&&i!==0&&(u.add(hr),process.emitWarning(It))}let Or=Array.isArray(_e)?{name:_e[0],reference:_e[1]}:{name:Y,reference:_e},ii=B(Or);if(!ii.packageLocation)throw ri("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.
Required package: ${Or.name}@${Or.reference}${Or.name!==fe?` (via "${fe}")`:""}
Required by: ${ie.name}@${ie.reference} (via ${ae})
`,{request:fe,issuer:ae,dependencyLocator:Object.assign({},Or)});let gi=ii.packageLocation;he?qe=x.join(gi,he):qe=gi}else if(x.isAbsolute(oe))qe=x.normalize(oe);else{if(!le)throw ri("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:ae});let Y=x.resolve(le);le.match(o)?qe=x.normalize(x.join(Y,oe)):qe=x.normalize(x.join(x.dirname(Y),oe))}return x.normalize(qe)}function ue(oe,le,Be=D,fe){if(s.test(oe))return le;let ae=T(le,Be,fe);return ae?x.normalize(ae):le}function pe(oe,{extensions:le=Object.keys(gE.Module._extensions)}={}){var ae,qe;let Be=[],fe=H(oe,Be,{extensions:le});if(fe)return x.normalize(fe);{fle(Be.map(he=>K.fromPortablePath(he)));let ne=ho(oe),Y=re(oe);if(Y){let{packageLocation:he}=B(Y),ie=!0;try{e.fakeFs.accessSync(he)}catch(de){if((de==null?void 0:de.code)==="ENOENT")ie=!1;else{let _e=((qe=(ae=de==null?void 0:de.message)!=null?ae:de)!=null?qe:"empty exception thrown").replace(/^[A-Z]/,Pt=>Pt.toLowerCase());throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${_e}).
Missing package: ${Y.name}@${Y.reference}
Expected package location: ${ho(he)}
`,{unqualifiedPath:ne,extensions:le})}}if(!ie){let de=he.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`${de}
Missing package: ${Y.name}@${Y.reference}
Expected package location: ${ho(he)}
`,{unqualifiedPath:ne,extensions:le})}}throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed.
Source path: ${ne}
${Be.map(he=>`Not found: ${ho(he)}
`).join("")}`,{unqualifiedPath:ne,extensions:le})}}function ke(oe,le,Be){var ae;if(!le)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let fe=sle({name:oe,base:(0,gA.pathToFileURL)(K.fromPortablePath(le)),conditions:(ae=Be.conditions)!=null?ae:D,readFileSyncFn:O});if(fe instanceof gA.URL)return pe(K.toPortablePath((0,gA.fileURLToPath)(fe)),{extensions:Be.extensions});if(fe.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return Fe(fe,le,Be)}function Fe(oe,le,Be={}){try{if(oe.startsWith("#"))return ke(oe,le,Be);let{considerBuiltins:fe,extensions:ae,conditions:qe}=Be,ne=F(oe,le,{considerBuiltins:fe});if(oe==="pnpapi")return ne;if(ne===null)return null;let Y=()=>le!==null?V(le):!1,he=(!fe||!tb(oe))&&!Y()?ue(oe,ne,qe,le):ne;return pe(he,{extensions:ae})}catch(fe){throw Object.prototype.hasOwnProperty.call(fe,"pnpCode")&&Object.assign(fe.data,{request:ho(oe),issuer:le&&ho(le)}),fe}}function Ne(oe){let le=x.normalize(oe),Be=Br.resolveVirtual(le);return Be!==le?Be:null}return{VERSIONS:W,topLevel:_,getLocator:(oe,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:oe,reference:le},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let oe=[];for(let[le,Be]of f)for(let fe of Be.keys())le!==null&&fe!==null&&oe.push({name:le,reference:fe});return oe},getPackageInformation:oe=>{let le=A(oe);if(le===null)return null;let Be=K.fromPortablePath(le.packageLocation);return{...le,packageLocation:Be}},findPackageLocator:oe=>re(K.toPortablePath(oe)),resolveToUnqualified:y("resolveToUnqualified",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=F(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveUnqualified:y("resolveUnqualified",(oe,le)=>K.fromPortablePath(pe(K.toPortablePath(oe),le))),resolveRequest:y("resolveRequest",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=Fe(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveVirtual:y("resolveVirtual",oe=>{let le=Ne(K.toPortablePath(oe));return le!==null?K.fromPortablePath(le):null})}}var SBt=(0,ple.promisify)(hle.readFile);var dle=(r,e,t)=>{let i=nE(r),n=UO(i,{basePath:e}),s=K.join(e,xt.pnpCjs);return ZO(n,{fakeFs:t,pnpapiResolution:s})};var $O=Pe(mle());var po={};ut(po,{checkAndReportManifestCompatibility:()=>Ile,checkManifestCompatibility:()=>Ele,extractBuildScripts:()=>rb,getExtractHint:()=>eM,hasBindingGyp:()=>tM});function Ele(r){return P.isPackageCompatible(r,ws.getArchitectureSet())}function Ile(r,e,{configuration:t,report:i}){return Ele(r)?!0:(i==null||i.reportWarningOnce(76,`${P.prettyLocator(t,r)} The ${ws.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function rb(r,e,t,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([0,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([1,"node-gyp rebuild"]),s.length===0?[]:r.linkType!=="HARD"?(n==null||n.reportWarningOnce(6,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(5,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!t.built?(n==null||n.reportWarningOnce(4,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):Ile(r,"build",{configuration:i,report:n})?s:[]}var cze=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function eM(r){return r.packageFs.getExtractHint({relevantExtensions:cze})}function tM(r){let e=x.join(r.prefixPath,"binding.gyp");return r.packageFs.existsSync(e)}var hE={};ut(hE,{getUnpluggedPath:()=>fE});function fE(r,{configuration:e}){return x.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(r))}var uze=new Set([P.makeIdent(null,"open").identHash,P.makeIdent(null,"opn").identHash]),wl=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Bl(t.project).cjs;if(!M.existsSync(i))throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return K.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))reLine truncated
`,s+=`# cause your node_modules installation to become invalidated.
`,s+=`
`,s+=`__metadata:
`,s+=` version: ${Nle}
`,s+=` nmMode: ${i.value}
`;let o=Array.from(e.keys()).sort(),a=P.stringifyLocator(r.topLevelWorkspace.anchoredLocator);for(let u of o){let g=e.get(u);s+=`
`,s+=`${JSON.stringify(u)}:
`,s+=` locations:
`;for(let f of g.locations){let h=x.contains(r.cwd,f);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` - ${JSON.stringify(h)}
`}if(g.aliases.length>0){s+=` aliases:
`;for(let f of g.aliases)s+=` - ${JSON.stringify(f)}
`}if(u===a&&t.size>0){s+=` bin:
`;for(let[f,h]of t){let p=x.contains(r.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` ${JSON.stringify(p)}:
`;for(let[C,y]of h){let B=x.relative(x.join(f,kr),y);s+=` ${JSON.stringify(C)}: ${JSON.stringify(B)}
`}}}}let l=r.cwd,c=x.join(l,kr,Tle);n&&await M.removePromise(c),await M.changeFilePromise(c,s,{automaticNewlines:!0})}async function lM(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,kr,Tle),n;try{n=await M.statPromise(i)}catch{}if(!n)return null;let s=yi(await M.readFilePromise(i,"utf8"));if(s.__metadata.version>Nle)return null;let o=s.__metadata.nmMode||"classic",a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let C=x.join(t,K.toPortablePath(h)),y=Ie.getMapWithDefault(l,C);for(let[B,v]of Object.entries(p))y.set(Ur(B),K.toPortablePath([C,kr,v].join(x.sep)))}if(a.set(c,{target:Oe.dot,linkType:"HARD",locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:C}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,C),h),B=P.stringifyLocator(y);a.set(B,{target:Oe.dot,linkType:"HARD",locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:Lle(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var sp=async(r,e)=>{if(r.split(x.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await M.statPromise(r):await M.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await M.unlinkPromise(r);return}}let t=await M.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Ur(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await sp(n,{innerLoop:!0,contentsOnly:!1}):await M.unlinkPromise(n)}e.contentsOnly||await M.rmdirPromise(r)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY")throw t}},Dle=4,sb=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==""),n=i.indexOf(kr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Lle=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:"HARD"});for(let[n,s]of r.entries()){if(s.linkType==="SOFT"&&x.contains(e,s.target)!==null){let a=Ie.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=sb(o,{skipPrefix:e}),c=Ie.getFactoryWithDefault(t,a,i);for(let u=0;u<l.length;++u){let g=l[u];if(g!=="."){let f=Ie.getFactoryWithDefault(c.children,g,i);c.children.set(g,f),c=f}u===l.length-1&&(c.locator=n,c.linkType=s.linkType)}}}return t},uM=async(r,e)=>{let t;try{process.platform==="win32"&&(t=await M.lstatPromise(r))}catch{}process.platform=="win32"&&(!t||t.isDirectory())?await M.symlinkPromise(r,e,"junction"):await M.symlinkPromise(x.relative(x.dirname(e),r),e)};async function Ole(r,e,t){let i=x.join(r,Ur(`${cM.default.randomBytes(16).toString("hex")}.tmp`));try{await M.writeFilePromise(i,t);try{await M.linkPromise(i,e)}catch{}}finally{await M.unlinkPromise(i)}}async function Lze({srcPath:r,dstPath:e,entry:t,globalHardlinksStore:i,baseFs:n,nmMode:s}){if(t.kind===Mle.FILE){if(s.value==="hardlinks-global"&&i&&t.digest){let a=x.join(i,t.digest.substring(0,2),`${t.digest.substring(2)}.dat`),l;try{let c=await M.statPromise(a);if(c&&(!t.mtimeMs||c.mtimeMs>t.mtimeMs||c.mtimeMs<t.mtimeMs-Fze))if(await li.checksumFile(a,{baseFs:M,algorithm:"sha1"})!==t.digest){let g=x.join(i,Ur(`${cM.default.randomBytes(16).toString("hex")}.tmp`));await M.renamePromise(a,g);let f=await n.readFilePromise(r);await M.writeFilePromise(g,f);try{await M.linkPromise(g,a),t.mtimeMs=new Date().getTime(),await M.unlinkPromise(g)}catch{}}else t.mtimeMs||(t.mtimeMs=Math.ceil(c.mtimeMs));await M.linkPromise(a,e),l=!0}catch{l=!1}if(!l){let c=await n.readFilePromise(r);await Ole(i,a,c),t.mtimeMs=new Date().getTime();try{await M.linkPromise(a,e)}catch(u){u&&u.code&&u.code=="EXDEV"&&(s.value="hardlinks-local",await n.copyFilePromise(r,e))}}}else await n.copyFilePromise(r,e);let o=t.mode&511;o!==420&&await M.chmodPromise(e,o)}}var Mle=(i=>(i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink",i))(Mle||{}),Oze=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await M.mkdirPromise(r,{recursive:!0});let o=async(c=Oe.dot)=>{let u=x.join(e,c),g=await t.readdirPromise(u,{withFileTypes:!0}),f=new Map;for(let h of g){let p=x.join(c,h.name),C,y=x.join(u,h.name);if(h.isFile()){if(C={kind:"file",mode:(await t.lstatPromise(y)).mode},n.value==="hardlinks-global"){let B=await li.checksumFile(y,{baseFs:t,algorithm:"sha1"});C.digest=B}}else if(h.isDirectory())C={kind:"directory"};else if(h.isSymbolicLink())C={kind:"symlink",symlinkTo:await t.readlinkPromise(y)};else throw new Error(`Unsupported file type (file: ${y}, mode: 0o${await t.statSync(y).mode.toString(8).padStart(6,"0")})`);if(f.set(p,C),h.isDirectory()&&p!==kr){let B=await o(p);for(let[v,D]of B)f.set(v,D)}}return f},a;if(n.value==="hardlinks-global"&&i&&s){let c= Line truncated
`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:i}=await(0,CM.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(`
`),i}function lb(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch{return!1}}function op(r){return{["npm-otp"]:r}}var cb=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!qle.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await mo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await mi.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var ub=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!P.tryParseDescriptor(e.range.slice(gr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(gr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error("Unreachable")}};var Jle=Pe(Xr()),Wle=J("url");var Ls=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let i=new Wle.URL(e.reference);return!(!Jle.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await mo(Ls.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch{i=await mo(Ls.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=fA(e.scope,{configuration:i}),s=Ls.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t===n+s||t===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let t=vt.clean(e.reference.slice(gr.length));if(t===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");return`${bl(e)}/-/${e.name}-${t}.tgz`}};var zle=Pe(Xr());var gb=P.makeIdent(null,"node-gyp"),Zze=/\b(node-gyp|prebuild-install)\b/,fb=class{supportsDescriptor(e,t){return e.range.startsWith(gr)?!!vt.validRange(e.range.slice(gr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i}=P.parseRange(e.reference);return!!zle.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);let s=await mo(bl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Ie.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return Ie.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${gr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Ls.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===nulLine truncated
`;try{n=await M.readFilePromise(e,"utf8")}catch(s){if(s.code==="ENOENT")return n;throw s}return n}var c1={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},Uue={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},XVe={configuration:{...c1,...Uue,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...c1,...Uue}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:Co,valueDefinition:{description:"",type:"SHAPE",properties:{...c1}}}},fetchers:[cb,Ls],resolvers:[ub,fb,hb]},ZVe=XVe;var p1={};ut(p1,{default:()=>a9e});var kE=Pe(Bn());ls();var Mb=(i=>(i.All="all",i.Production="production",i.Development="development",i))(Mb||{}),Kb=(s=>(s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical",s))(Kb||{});var DE=["info","low","moderate","high","critical"];function Gue(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function _Ve(r,e){return new Set([...r].filter(t=>!e.has(t)))}function $Ve(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=Gue(r,l),g=Gue(r,c);return _Ve(g,u)}function Yue(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function jue(r){if(typeof r>"u")return new Set(DE);let e=DE.indexOf(r),t=DE.slice(e);return new Set(t)}function e9e(r,e){let t=jue(e),i={};for(let n of t)i[n]=r[n];return i}function que(r,e){var i;let t=e9e(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function Jue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=jue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Ie.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ee.tuple(ee.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{ID:{label:"ID",value:ee.tuple(ee.Type.NUMBER,o.id)},Issue:{label:"Issue",value:ee.tuple(ee.Type.NO_HINT,o.title)},URL:{label:"URL",value:ee.tuple(ee.Type.URL,o.url)},Severity:{label:"Severity",value:ee.tuple(ee.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ee.tuple(ee.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ee.tuple(ee.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ee.tuple(ee.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ee.tuple(ee.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Wue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=["all","production"].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=["all","development"].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return Yue([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function zue(r,e,{all:t}){var s;let i=$Ve(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:Yue(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var _u=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=z.String("--environment","all",{description:"Which environments to cover",validator:Zi(Mb)});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=z.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validat Line truncated
This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths).
For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`.
Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${DE.map(t=>`\`${t}\``).join(", ")}.
If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages.
If certain packages produce false positives for a particular environment, the \`--exclude\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \`npmAuditExcludePackages\` option.
If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option.
To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why <package>\` to get more information as to who depends on them.
`,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});var g1=Pe(Xr()),f1=J("util"),$u=class extends De{constructor(){super(...arguments);this.fields=z.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,s=[],o=!1,a=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async l=>{for(let c of this.packages){let u;if(c==="."){let T=i.topLevelWorkspace;if(!T.manifest.name)throw new be(`Missing ${ee.pretty(t,"name",ee.Type.CODE)} field in ${K.fromPortablePath(x.join(T.cwd,xt.manifest))}`);u=P.makeDescriptor(T.manifest.name,"unknown")}else u=P.parseDescriptor(c);let g=Mt.getIdentUrl(u),f=h1(await Mt.get(g,{configuration:t,ident:u,jsonResponse:!0,customErrorMessage:Mt.customPackageError})),h=Object.keys(f.versions).sort(g1.default.compareLoose),C=f["dist-tags"].latest||h[h.length-1],y=vt.validRange(u.range);if(y){let T=g1.default.maxSatisfying(h,y);T!==null?C=T:(l.reportWarning(0,`Unmet range ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0)}else Object.prototype.hasOwnProperty.call(f["dist-tags"],u.range)?C=f["dist-tags"][u.range]:u.range!=="unknown"&&(l.reportWarning(0,`Unknown tag ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0);let B=f.versions[C],v={...f,...B,version:C,versions:h},D;if(n!==null){D={};for(let T of n){let H=v[T];if(typeof H<"u")D[T]=H;else{l.reportWarning(1,`The ${ee.pretty(t,T,ee.Type.CODE)} field doesn't exist inside ${P.prettyIdent(t,u)}'s information`),o=!0;continue}}}else this.json||(delete v.dist,delete v.readme,delete v.users),D=v;l.reportJson(D),this.json||s.push(D)}});f1.inspect.styles.name="cyan";for(let l of s)(l!==s[0]||o)&&this.context.stdout.write(`
`),this.context.stdout.write(`${(0,f1.inspect)(l,{depth:1/0,colors:!0,compact:!1})}
`);return a.exitCode()}};$u.paths=[["npm","info"]],$u.usage=ve.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function h1(r){if(Array.isArray(r)){let e=[];for(let t of r)t=h1(t),t&&e.push(t);return e}else if(typeof r=="object"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith("_"))continue;let i=h1(r[t]);i&&(e[t]=i)}return e}else return r||null}var Vue=Pe(Km()),eg=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=z.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Ub({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{let o=await i9e({configuration:t,registry:i,report:s,stdin:this.context.stdin,stdout:this.context.stdout}),a=`/-/user/org.couchdb.user:${encodeURIComponent(o.name)}`,l=await Mt.put(a,o,{attemptedAs:o.name,configuration:t,registry:i,jsonResponse:!0,authType:Mt.AuthType.NO_AUTH});return await r9e(i,l.token,{alwaysAuth:this.alwaysAuth,scope:this.scope}),s.reportInfo(0,"Successfully logged in")})).exitCode()}};eg.paths=[["npm","login"]],eg.usage=ve.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function Ub({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?or.getScopeRegistry(r,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):r?or.getScopeRegistry(r,{configuration:t}):e?or.getPublishRegistry((await Hh(t,i)).manifest,{configuration:t}):or.getDefaultRegistry({configuration:t})}async function r9e(r,e,{alwaysAuth:t,scope:i}){let n=o=>a=>{let l=Ie.isIndexableObject(a)?a:{},c=l[o],u=Ie.isIndexableObject(c)?c:{};return{...l,[o]:{...u,...t!==void 0?{npmAlwaysAuth:t}:{},npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function i9e({configuration:r,registry:e,report:t,stdin:i,stdout:n}){t.reportInfo(0,`Logging in to ${ee.pretty(r,e,ee.Type.URL)}`);let s=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(t.reportInfo(0,"You seem to be usingLine truncated
This command will list all tags of a package from the npm registry.
If the package is not specified, Yarn will default to the current workspace.
`,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function RE(r,e){let t=`/-/package${Mt.getIdentUrl(r)}/dist-tags`;return Mt.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:Mt.customPackageError})}var ng=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseDescriptor(this.package,!0),o=s.range;if(!Zue.default.valid(o))throw new be(`The range ${ee.pretty(t,s.range,ee.Type.RANGE)} must be a valid semver version`);let a=or.getPublishRegistry(n.manifest,{configuration:t}),l=ee.pretty(t,s,ee.Type.IDENT),c=ee.pretty(t,o,ee.Type.RANGE),u=ee.pretty(t,this.tag,ee.Type.CODE);return(await Ge.start({configuration:t,stdout:this.context.stdout},async f=>{let h=await RE(s,t);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===o&&f.reportWarning(0,`Tag ${u} is already set to version ${c}`);let p=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.put(p,o,{configuration:t,registry:a,ident:s,jsonRequest:!0,jsonResponse:!0}),f.reportInfo(0,`Tag ${u} added to version ${c} of package ${l}`)})).exitCode()}};ng.paths=[["npm","tag","add"]],ng.usage=ve.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:`
This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten.
`,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var sg=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag==="latest")throw new be("The 'latest' tag cannot be removed.");let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseIdent(this.package),o=or.getPublishRegistry(n.manifest,{configuration:t}),a=ee.pretty(t,this.tag,ee.Type.CODE),l=ee.pretty(t,s,ee.Type.IDENT),c=await RE(s,t);if(!Object.prototype.hasOwnProperty.call(c,this.tag))throw new be(`${a} is not a tag of package ${l}`);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{let f=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.del(f,{configuration:t,registry:o,ident:s,jsonResponse:!0}),g.reportInfo(0,`Tag ${a} removed from package ${l}`)})).exitCode()}};sg.paths=[["npm","tag","remove"]],sg.usage=ve.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:`
This command will remove a tag from a package from the npm registry.
`,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var og=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i;return this.scope&&this.publish?i=or.getScopeRegistry(this.scope,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):this.scope?i=or.getScopeRegistry(this.scope,{configuration:t}):this.publish?i=or.getPublishRegistry((await Hh(t,this.context.cwd)).manifest,{configuration:t}):i=or.getDefaultRegistry({configuration:t}),(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{var a,l;let o;try{o=await Mt.get("/-/whoami",{configuration:t,registry:i,authType:Mt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(c){if(((a=c.response)==null?void 0:a.statusCode)===401||((l=c.response)==null?void 0:l.statusCode)===403){s.reportError(41,"Authentication failed - your credentials may have expired");return}else throw c}s.reportInfo(0,o.username)})).exitCode()}};og.paths=[["npm","whoami"]],og.usage=ve.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var o9e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[_u,$u,eg,tg,rg,ng,ig,sg,og]},a9e=o9e;var Q1={};ut(Q1,{default:()=>B9e,patchUtils:()=>ag});var ag={};ut(ag,{applyPatchFile:()=>Gb,diffFolders:()=>w1,ensureUnpatchedDescriptor:()=>C1,extractPackageToDisk:()=>y1,extractPatchFlags:()=>nge,isParentRequired:()=>I1,loadPatchFiles:()=>LE,makeDescriptor:()=>m1,makeLocator:()=>E1,makePatchHash:()=>B1,parseDescriptor:()=>NE,parseLocator:()=>TE,parsePatchFile:()=>FE});var A9e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Ep(r){return x.relative(Oe.root,x.resolve(Oe.root,K.toPortablePath(r)))}function l9e(r){let e=r.trim().match(A9e);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var c9e=420,u9e=493;var _ue=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),g9e=r=>({header:l9e(r),parts:[]}),f9e={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function h9e(r){let e=[],t=_ue(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=_ue()}for(let l=0;l<r.length;l++){let c=r[l];if(i==="parsing header")if(c.startsWith("@@"))i="parsing hunks",t.hunks=[],l-=1;else if(c.startsWith("diff --git ")){t&&t.diffLineFromPath&&a();let u=c.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);if(!u)throw new Error(`Bad diff line: ${c}`);t.diffLineFromPath=u[1],t.diffLineToPath=u[2]}else if(c.startsWith("old mode "))t.oldMode=c.slice(9).trim();else if(c.startsWith("new mode "))t.newMode=c.slice(9).trim();else if(c.startsWith("deleted file mode "))t.deletedFileMode=c.slice(18).trim();else if(c.startsWith("new file mode "))t.newFileMode=c.slice(14).trim();else if(c.startsWith("rename from "))t.renameFrom=c.slice(12).trim();else if(c.startsWith("rename to "))t.renameTo=c.slice(10).trim();else if(c.startsWith("index ")){let u=c.match(/(\w+)\.\.(\w+)/);if(!u)continue;t.beforeHash=u[1],t.afterHash=u[2]}else c.startsWith("semver exclusivity ")?t.semverExclusivity=c.slice(19).trim():c.startsWith("--- ")?t.fromPath=c.slice(6).trim():c.startsWith("+++ ")&&(t.toP Line truncated
`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":`
`):"";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,xr.SAFE_TIME,xr.SAFE_TIME)}break;case"patch":await yp(e,n.path,async()=>{await E9e(n,{baseFs:e,dryRun:t})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if($ue(n.newMode)!==$ue(o))continue;await yp(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Ie.assertNever(n);break}}function $ue(r){return(r&64)>0}function ege(r){return r.replace(/\s+$/,"")}function m9e(r,e){return ege(r)===ege(e)}async function E9e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),C=Math.max(h,p),y=0,B=0,v=null;for(;y<=C;){if(y<=h&&(B=f-y,v=tge(g,o,B),v!==null)){y=-y;break}if(y<=p&&(B=f+y,v=tge(g,o,B),v!==null))break;y+=1}if(v===null)throw new Ip(r.indexOf(g),g);a.push(v),l+=y,c=B+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:Ie.assertNever(f);break}await t.writeFilePromise(e,o.join(`
`),{mode:n})}function tge(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case"context":case"deletion":{for(let s of n.lines){let o=e[t];if(o==null||!m9e(o,s))return null;t+=1}n.type==="deletion"&&(i.push({type:"splice",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case"insertion":i.push({type:"splice",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Ie.assertNever(n.type);break}return i}var y9e=/^builtin<([^>]+)>$/;function d1(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>K.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function NE(r){let{sourceItem:e,...t}=d1(r.range,P.parseDescriptor);return{...t,sourceDescriptor:e}}function TE(r){let{sourceItem:e,...t}=d1(r.reference,P.parseLocator);return{...t,sourceLocator:e}}function C1(r){if(!r.range.startsWith("patch:"))return r;let{sourceItem:e}=d1(r.range,P.parseDescriptor);return e}function rge({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i<"u"?{version:i}:{},l=typeof n<"u"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:t.join("&"),params:{...a,...l,...o}})}function m1(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,rge({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function E1(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,rge({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function ige({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(y9e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function nge(r){let e=r.startsWith("~");return e&&(r=r.slice(1)),{optional:e}}function I1(r){return ige({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function LE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Ie.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=nge(o),l=await ige({onAbsolute:async()=>await M.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,`
`));return s}async function y1(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected the package to be registered");let n=t.storedChecksums,s=new ti,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await M.mktempPromise(),c=x.join(l,"source"),u=x.join(l,"user"),g=x.join(l,".yarn-patch.json");return await Promise.all([M.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),M.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),M.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),M.detachTemp(l),u}async function w1(r,e){let t=K.fromPortablePath(r).replace(/\\/g,"/"),i=K.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Cr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",t,i],{cwd:K.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH.
The following error was reported by 'git':
${s}`);let o=t.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Ie.escapeRegExp(`/${o(t)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ie.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Ie.escapeRegExp(`${t}/`),"g"),"").replace(new RegExp(Ie.escapeRegExp(`${i}/`),"g"),"")}function B1(r,e){let t=[];for(let{source:i}of r){if(i===null)continue;let n=FE(i);for(let s of n){let{semverExclusivity:o,...a}=s;o!==null&&e!==null&&!vt.satisfiesWithPrereleases(e,o)||t.push(JSON.stringify(a))}}return li.makeHash(`${3}`,...t).slice(0,6)}function sge(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case"context":t.reportInfo(null,` ${ee.pretty(e,n,"grey")}`);break;case"deletion":t.reportError(28,`- ${ee.pretty(e,n,ee.Type.REMOVED)}`);break;case"insertion":t.reportError(28,`+ ${ee.pretty(e,n,ee.Type.ADDED)}`);break;default:Ie.assertNever(i.type)}}var Yb=class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=TE(e),a=await LE(i,o,t),l=await M.mktempPromise(),c=x.join(l,"current.zip"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await an(),h=new Wr(c,{libzip:f,create:!0,level:t.project.configuration.get("compressionLevel")});await Ie.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:C}of a){if(p===null)continue;let y=new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")}),B=new qt(x.resolve(Oe.root,g),{baseFs:y});try{await Gb(FE(p),{baseFs:B,version:s})}catch(v){if(!(v instanceof Ip))throw v;let D=t.project.configuration.get("enableInlineHunks"),T=!D&&!C?" (set enableInlineHunks for details)":"",H=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${T}`,j=$=>{!D||sge(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),C){t.report.reportWarningOnce(66,H,{reportExtra:j});continue}else throw new at(66,H,j)}y.saveAndClose()}return new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")})}};var jb=class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=NE(e);return n.every(s=>!I1(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=NE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=NE(e),a=await LE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l>"u")throw new Error("Assertion failed: The dependency should have been resolved");let c=B1(a,l.version);return[E1(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=TE(e);return{...await t.resolver.resolve(i,t),...e}}};var Ag=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=x.resolve(this.context.cwd,K.toPortablePath(this.patchFolder)),o=x.join(s,"../source"),a=x.join(s,"../.yarn-patch.json");if(!M.existsSync(o))throw new be("The argument folder didn't get created by 'yarn patch'");let l=await w1(o,s),c=await M.readJsonPromise(a),u=P.parseLocator(c.locator,!0);if(!i.storedPackages.has(u.locatorHash))throw new be("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(l);return}let g=t.get("patchFolder"),f=x.join(g,`${P.slugifyLocator(u)}.patch`);await M.mkdirPromise(g,{recursive:!0}),await M.writeFilePromise(f,l);let h=new Map;for(let p of i.storedPackages.values()){if(P.isVirtualLocator(p))continue;let C=p.dependencies.get(u.identHash);if(!C)continue;let y=P.isVirtualDescriptor(C)?P.devirtualizeDescriptor(C):C,B=C1(y),v=i.storedResolutions.get(B.descriptorHash);if(!v)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!i.storedPackages.get(v))Line truncated
${a.map(l=>`
- ${P.prettyLocator(t,l)}`).join("")}`);o=a[0]}if(!i.storedPackages.has(o.locatorHash))throw new be("No package found in the project for the given locator");await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async a=>{let l=await y1(o,{cache:s,project:i});a.reportJson({locator:P.stringifyLocator(o),path:K.fromPortablePath(l)}),a.reportInfo(0,`Package ${P.prettyLocator(t,o)} got extracted with success!`),a.reportInfo(0,`You can now edit the following folder: ${ee.pretty(t,K.fromPortablePath(l),"magenta")}`),a.reportInfo(0,`Once you are done run ${ee.pretty(t,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${K.fromPortablePath(l)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};lg.paths=[["patch"]],lg.usage=ve.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s <path>` (with `<path>` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var w9e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Ag,lg],fetchers:[Yb],resolvers:[jb]},B9e=w9e;var x1={};ut(x1,{default:()=>S9e});var qb=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=S1(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s>"u")throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=S1(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new b1(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},b1=class{constructor(e){this.opts=e;this.asyncActions=new Ie.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return S1()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,t,i);case"HARD":return this.installPackageHard(e,t,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=Q9e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await ot.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new ot,misc:{hasBindingGyp:po.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=po.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!oge(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await age(s);for(let[l,c]of t){let u=c;oge(c,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g>"u")throw new Error(`Assertion failed: Expe Line truncated
/*!
* buildToken
* Builds OAuth token prefix (helper function)
*
* @name buildToken
* @function
* @param {GitUrl} obj The parsed Git url object.
* @return {String} token prefix
*/
/*!
* fill-range <https://github.com/jonschlinkert/fill-range>
*
* Copyright (c) 2014-present, Jon Schlinkert.
* Licensed under the MIT License.
*/
/*!
* is-extglob <https://github.com/jonschlinkert/is-extglob>
*
* Copyright (c) 2014-2016, Jon Schlinkert.
* Licensed under the MIT License.
*/
/*!
* is-glob <https://github.com/jonschlinkert/is-glob>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
/*!
* is-number <https://github.com/jonschlinkert/is-number>
*
* Copyright (c) 2014-present, Jon Schlinkert.
* Released under the MIT License.
*/
/*!
* is-windows <https://github.com/jonschlinkert/is-windows>
*
* Copyright © 2015-2018, Jon Schlinkert.
* Released under the MIT License.
*/
/*!
* to-regex-range <https://github.com/micromatch/to-regex-range>
*
* Copyright (c) 2015-present, Jon Schlinkert.
* Released under the MIT License.
*/
/**
@license
Copyright (c) 2015, Rebecca Turner
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
*/
/**
@license
Copyright Joyent, Inc. and other Node contributors.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/**
@license
Copyright Node.js contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
*/
/**
@license
The MIT License (MIT)
Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
-3
View File
@@ -1,3 +0,0 @@
nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-3.6.0.cjs
+4107
View File
File diff suppressed because it is too large. Load diff
+9
View File
@@ -0,0 +1,9 @@
# ── CODEOWNERS ───────────────────────────────────────
* @homarr-labs/maintainers
# Exempt Renovate‑managed files (no owners)
package.json
package-lock.json
pnpm-lock.yaml
Dockerfile
docker-compose.yml
-128
View File
@@ -1,128 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
ajnart@pm.me.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
-114
View File
@@ -1,114 +0,0 @@
# Contributing to Homarr
First off, thanks for taking the time to contribute! ❤️
All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉
> And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
> - Star the project
> - Tweet about it
> - Refer this project in your project's readme
> - Mention the project at local meetups and tell your friends/colleagues
## Table of Contents
- [Code of Conduct](#code-of-conduct)
- [I Have a Question](#i-have-a-question)
- [I Want To Contribute](#i-want-to-contribute)
- [Reporting Bugs](#reporting-bugs)
- [Suggesting Enhancements](#suggesting-enhancements)
- [Styleguides](#styleguides)
- [Commit Messages](#commit-messages)
## Code of Conduct
This project and everyone participating in it is governed by the
[Homarr Code of Conduct](https://github.com/ajnart/homarr/blob/master/CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable behavior
to [@ajnart](https://github.com/ajnart).
## I Have a Question
> If you want to ask a question, we assume that you have read the available [Documentation](https://github.com/ajnart/homarr/#readme).
Before you ask a question, it is best to search for existing [Issues](https://github.com/ajnart/homarr/issues) that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first.
If you then still feel the need to ask a question and need clarification, we recommend the following:
- Open an [Issue](https://github.com/ajnart/homarr/issues/new).
- Provide as much context as you can about what you're running into.
- Provide project and platform versions (nodejs, docker, etc), depending on what seems relevant.
We will then take care of the issue as soon as possible.
## I Want To Contribute
> ### Legal Notice
> When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.
### Reporting Bugs
#### Before Submitting a Bug Report
A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible.
- Make sure that you are using the latest version.
- Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the [documentation](https://github.com/ajnart/homarr/#readme). If you are looking for support, you might want to check [this section](#i-have-a-question)).
- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the [bug tracker](https://github.com/ajnart/homarr/issues?q=is%3Aopen+is%3Aissue+label%3A%22%F0%9F%90%9B+Bug%22).
- Also make sure to search the internet (including Stack Overflow) to see if users outside of the GitHub community have discussed the issue.
- Collect information about the bug:
- Stack trace (Traceback)
- OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
- Version of yarn, nodejs, docker, npm, next, depending on what seems relevant.
- Possibly your input and the output
- Can you reliably reproduce the issue? And can you also reproduce it with older versions?
#### How Do I Submit a Good Bug Report?
> You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to ajnart@pm.me.
We use GitHub issues to track bugs and errors. If you run into an issue with the project:
- Open an [Issue](https://github.com/ajnart/homarr/issues/new).
- Explain the behavior you would expect and the actual behavior.
- Please provide as much context as possible and describe the *reproduction steps* that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case.
- Provide the information you collected in the previous section.
### Suggesting Enhancements
This section guides you through submitting an enhancement suggestion for Homarr, **including completely new features and minor improvements to existing functionality**. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions.
#### Before Submitting an Enhancement
- Make sure that you are using the latest version.
- Read the [documentation](https://github.com/ajnart/homarr/#readme) carefully and find out if the functionality is already covered, maybe by an individual configuration.
- Perform a [search](https://github.com/ajnart/homarr/issues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library.
#### How Do I Submit a Good Enhancement Suggestion?
Enhancement suggestions are tracked as [GitHub issues](https://github.com/ajnart/homarr//issues).
- Use a **clear and descriptive title** for the issue to identify the suggestion.
- Provide a **step-by-step description of the suggested enhancement** in as many details as possible.
- **Describe the current behavior** and **explain which behavior you expected to see instead** and why. At this point you can also tell which alternatives do not work for you.
- You may want to **include screenshots and animated GIFs** which help you demonstrate the steps or point out the part which the suggestion is related to. You can use [this tool](https://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux. <!-- this should only be included if the project has a GUI -->
- **Explain why this enhancement would be useful** to most Homarr users. You may also want to point out the other projects that solved it better and which could serve as inspiration.
## Styleguides
### Commit Messages
Homarr uses [GitMoji](https://gitmoji.dev/).
We would appreciate it if everyone keeps their commit messages withing these rulings.
### Tests
> Components should be tested using unit tests. A unit is the smallest isolated part of the component. Unit tests must not have any dependencies and must be isolated.
- Place testfiles directly at the root of the unit
- Only test a single unit of work inside a unit test
- You may test multiple units inside one test file
- Testnames do not begin with ``should`` or the unit name
+62 -12
View File
@@ -1,21 +1,71 @@
FROM node:20-alpine
FROM node:24.12.0-alpine AS base
FROM base AS builder
RUN apk add --no-cache libc6-compat
RUN apk update
# Set working directory
WORKDIR /app
RUN apk add --no-cache libc6-compat curl bash
RUN apk update
COPY . .
RUN corepack enable pnpm && pnpm install --recursive --frozen-lockfile
# Copy static data as it is not part of the build
COPY static-data ./static-data
ARG SKIP_ENV_VALIDATION='true'
ARG CI='true'
ARG DISABLE_REDIS_LOGS='true'
RUN corepack enable pnpm && pnpm build
FROM base AS runner
WORKDIR /app
ENV NEXT_TELEMETRY_DISABLED 1
ENV NODE_ENV production
ENV NODE_OPTIONS '--no-experimental-fetch'
# gettext is required for envsubst, openssl for generating AUTH_SECRET, su-exec for running application as non-root
RUN apk add --no-cache redis nginx bash gettext su-exec openssl
RUN mkdir /appdata
VOLUME /appdata
COPY next.config.js ./
COPY public ./public
COPY package.json ./package.json
# Enable homarr cli
COPY --from=builder /app/packages/cli/cli.cjs /app/apps/cli/cli.cjs
RUN echo $'#!/bin/bash\ncd /app/apps/cli && node ./cli.cjs "$@"' > /usr/bin/homarr
RUN chmod +x /usr/bin/homarr
# Don't run production as root
RUN mkdir -p /var/cache/nginx && \
mkdir -p /var/log/nginx && \
mkdir -p /var/lib/nginx && \
touch /run/nginx/nginx.pid && \
mkdir -p /etc/nginx/templates /etc/nginx/ssl/certs
COPY --from=builder /app/apps/nextjs/next.config.ts .
COPY --from=builder /app/apps/nextjs/package.json .
COPY --from=builder /app/apps/tasks/tasks.cjs ./apps/tasks/tasks.cjs
COPY --from=builder /app/apps/websocket/wssServer.cjs ./apps/websocket/wssServer.cjs
COPY --from=builder /app/node_modules/better-sqlite3/build/Release/better_sqlite3.node /app/build/better_sqlite3.node
COPY --from=builder /app/packages/db/migrations ./db/migrations
# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY .next/standalone ./
COPY .next/static ./.next/static
COPY --from=builder /app/apps/nextjs/.next/standalone ./
COPY --from=builder /app/apps/nextjs/.next/static ./apps/nextjs/.next/static
COPY --from=builder /app/apps/nextjs/public ./apps/nextjs/public
COPY scripts/run.sh ./run.sh
COPY --chmod=755 scripts/entrypoint.sh ./entrypoint.sh
COPY packages/redis/redis.conf /app/redis.conf
COPY nginx.conf /etc/nginx/templates/nginx.conf
EXPOSE 7575
ENV PORT 7575
ENV DB_URL='/appdata/db/db.sqlite'
ENV DB_DIALECT='sqlite'
ENV DB_DRIVER='better-sqlite3'
ENV AUTH_PROVIDERS='credentials'
ENV REDIS_IS_EXTERNAL='false'
ENV NODE_ENV='production'
CMD ["node", "server.js"]
ENTRYPOINT [ "/app/entrypoint.sh" ]
CMD ["sh", "run.sh"]
+197 -17
View File
@@ -1,21 +1,201 @@
MIT License
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
Copyright (c) 2022 Thomas "ajnart" Camlong
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
1. Definitions.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright (c) 2024 Meier Lukas, Thomas Camlong and Homarr Labs
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-125
View File
@@ -1,125 +0,0 @@
<!-- Project Title -->
![Banner](docs/banner.png)
<!-- Badges -->
<p align="center">
<img src="https://img.shields.io/github/stars/ajnart/homarr?label=%E2%AD%90%20Stars&style=flat-square?branch=master&kill_cache=1%22">
<a href="https://github.com/ajnart/homarr/releases/latest">
  <img alt="Latest Release (Semver)" src="https://img.shields.io/github/v/release/ajnart/homarr?label=%F0%9F%9A%80%20Release">
</a>
<a href="https://github.com/ajnart/homarr/actions/workflows/docker.yml">
  <img title="Docker CI Status" src="https://github.com/ajnart/homarr/actions/workflows/docker.yml/badge.svg" alt="CI Status">
</a>
<a href=https://crowdin.com/project/homarr>
<img title="Translations" src="https://badges.crowdin.net/homarr/localized.svg" />
</a>
<a href="https://discord.gg/aCsmEV5RgA">
  <img title="Discord" src="https://discordapp.com/api/guilds/972958686051962910/widget.png?style=shield">
</a>
</p>
<!-- Links -->
<p align="center">
<a href="https://demo.homarr.dev/">
<strong>Demo ✨</strong>
</a>
•
<a href="https://homarr.dev/docs/introduction/installation">
<strong>Install 💻</strong>
</a> •
<a href="https://crowdin.com/project/homarr">
<strong>Translations 🈺</strong>
</a> •
<a href="https://discord.com/invite/aCsmEV5RgA">
<strong>Discord 👋</strong>
</a>
</p>
Simplify the management of your server with Homarr - a sleek, modern dashboard that puts all of your apps and services at your fingertips. With Homarr, you can access and control everything in one convenient location. Homarr seamlessly integrates with the apps you've added, providing you with valuable information and giving you complete control. Installation is a breeze, and Homarr supports a wide range of deployment methods.
<br/>
<br/>
![Features Section](docs/section-features.png)
- 🖌️ Highly customizable with an extensive drag and drop grid system
- ✨ Integrates seamlessly with your favorite self-hosted applications
- 📌 Easy and fast app management - no YAML involved
- 🙊 Advanced secrets' management system for enhanced security
- 📄 Detailed documentation and active community
- 🔍 Search through the web or supported integrations in an instant
- 🏴󠁧󠁢󠁮󠁩󠁲󠁿 Monitor your application with a built-in status system
- 🦞 Comprehensive built-in icon picker with over 7000 icons
- 🐳 Easy deployment with Docker, unRAID, and Synology
- 🚀 Compatible with any major consumer hardware (x86, Raspberry Pi, old laptops, ...)
- 💵 Free and Open-Source - your data stays on your device. No telemetry data.
<br/>
<br/>
![Widgets & Integrations Section](docs/section-widgets-and-integrations.png)
Homarr has a [built-in collection of widgets and integrations](https://homarr.dev/docs/integrations/), that connect to your applications and enable you to control them directly from the dashboard.
Each widget and integration has a comprehensive documentation for your comfort.
Homarr will integrate with the following applications of yours:
- 📥 Torrent clients
- [Deluge](https://homarr.dev/docs/integrations/#deluge)
- [Transmission](https://homarr.dev/docs/integrations/#transmission)
- [qBittorent](https://homarr.dev/docs/integrations/#qbittorrent-integration)
- 📥 Usenet clients
- [SABnzbd](https://homarr.dev/docs/integrations/#sabnzbd)
- [NZBGet](https://homarr.dev/docs/integrations/#nzbget)
- 📚 Media collection managers
- [Sonarr](https://homarr.dev/docs/integrations/#sonarr)
- [Radarr](https://homarr.dev/docs/integrations/#radarr)
- [Lidarr](https://homarr.dev/docs/integrations/#lidarr)
- [Readarr](https://homarr.dev/docs/integrations/#readarr)
- 🎞️ Media request managers
- [Overseerr](https://homarr.dev/docs/integrations/#overseerr--jellyseerr)
- [Jellyseerr](https://homarr.dev/docs/integrations/#overseerr--jellyseerr)
- 🔌 [Dash.](https://homarr.dev/docs/integrations/#dash)
- 🐳 [Docker](https://homarr.dev/docs/integrations/#docker)
We're constantly adding new integrations and widgets, which will enhance your experience even further.
<br/>
<br/>
![Preview Section](docs/section-preview.png)
https://user-images.githubusercontent.com/30572287/217098893-5880e7de-13d0-42c5-b505-f7921593396f.mp4
<br/>
<br/>
![Installation Section](docs/section-installation.png)
Since we are updating Homarr very frequently, we recommend reading our official installation guides:
<a href="https://homarr.dev/docs/introduction/installation">
<img src="docs/installation-button.png" width="200" />
</a>
<br/>
<br/>
![Contribute Section](docs/section-contribute.png)
Homarr is maintained by motivated developers in their free-time.
We work for fun and learning on this project.
Hence, we're glad for all the help and support we can get.
Although a donation is appreciated, there are other ways you can support us.
<a href="https://ko-fi.com/ajnart">
<img src="https://cdn.ko-fi.com/cdn/kofi3.png?v=3" width="200" />
</a>
You can also support us by helping with [translating the entire project](https://homarr.dev/docs/community/translations) to as many language as possible or contributing directly to the code or documentation.
**Please read our [Contribution Guidelines](/CONTRIBUTING.md)**
All contributions, regardless of their size or scope, are welcome and highly appreciated! Thank you ❤️
![Alt](https://repobeats.axiom.co/api/embed/60a6f68f193faf831f64221bdf90782adec51c93.svg "Repobeats analytics image")
+29
View File
@@ -0,0 +1,29 @@
# Security Policy
This policy is relevant if you found potential vulnerabilities in an audit.
We consider something as a vulnerability if it...
1. puts users or user data at risk
2. enables third parties to gain control or access (e.g. [RATs](https://en.wikipedia.org/wiki/Remote_desktop_software#RAT), [privilege escalation](https://en.wikipedia.org/wiki/Privilege_escalation), ...)
3. abuses the system in an unintended way (e.g. crypto mining, proxy, ...)
## Supported Versions
We only fix security issues in the [latest stable version](https://github.com/homarr-labs/homarr/releases/latest). Meaning security issues in prior versions will not be fixed and users have to upgrade to the latest version to receive them.
## Reporting a Vulnerability
We use [GitHub's system for reporting vulnerabilities](https://docs.github.com/en/enterprise-cloud@latest/code-security/security-advisories/working-with-repository-security-advisories/creating-a-repository-security-advisory).
Click [**here to report an advisory**](https://github.com/homarr-labs/homarr/security/advisories/new). Our team will get notified and will get back to you within 1-6 business days.
As a general guideline; please provide as much detail as possible and provide reproduction steps / documentation regarding the re-creation.
You may also provide a fork with a fix for the vulnerability.
See https://cheatsheetseries.owasp.org/cheatsheets/Vulnerability_Disclosure_Cheat_Sheet.html for guidelines regarding disclosure.
If you're unable / unwilling (or it's not safe) to disclose vulnerabilites via GitHub, please report them with the subject "Security advisory - CVEXXX" to our email homarr-labs@proton.me.
Please never disclose security vulnerabilits on your own publicly - we'd like to search for a dimplomatic solution that is also safe for our users.
In your initial contact with us, please provide details according to the [OWASP guidelines for initial reports](https://cheatsheetseries.owasp.org/cheatsheets/Vulnerability_Disclosure_Cheat_Sheet.html#initial-report).
Thank you!
We're looking forward to your report
+28
View File
@@ -0,0 +1,28 @@
# Create T3 App
This is a [T3 Stack](https://create.t3.gg/) project bootstrapped with `create-t3-app`.
## What's next? How do I make an app with this?
We try to keep this project as simple as possible, so you can start with just the scaffolding we set up for you, and add additional things later when they become necessary.
If you are not familiar with the different technologies used in this project, please refer to the respective docs. If you still are in the wind, please join our [Discord](https://t3.gg/discord) and ask for help.
- [Next.js](https://nextjs.org)
- [NextAuth.js](https://next-auth.js.org)
- [Drizzle](https://orm.drizzle.team)
- [Tailwind CSS](https://tailwindcss.com)
- [tRPC](https://trpc.io)
## Learn More
To learn more about the [T3 Stack](https://create.t3.gg/), take a look at the following resources:
- [Documentation](https://create.t3.gg/)
- [Learn the T3 Stack](https://create.t3.gg/en/faq#what-learning-resources-are-currently-available) — Check out these awesome tutorials
You can check out the [create-t3-app GitHub repository](https://github.com/t3-oss/create-t3-app) — your feedback and contributions are welcome!
## How do I deploy this?
Follow our deployment guides for [Vercel](https://create.t3.gg/en/deployment/vercel) and [Docker](https://create.t3.gg/en/deployment/docker) for more information.
+13
View File
@@ -0,0 +1,13 @@
import baseConfig from "@homarr/eslint-config/base";
import nextjsConfig from "@homarr/eslint-config/nextjs";
import reactConfig from "@homarr/eslint-config/react";
/** @type {import('typescript-eslint').Config} */
export default [
{
ignores: [".next/**"],
},
...baseConfig,
...reactConfig,
...nextjsConfig,
];
+81
View File
@@ -0,0 +1,81 @@
// Importing env files here to validate on build
import "@homarr/auth/env";
import "@homarr/core/infrastructure/db/env";
import "@homarr/common/env";
import "@homarr/core/infrastructure/logs/env";
import "@homarr/docker/env";
import type { NextConfig } from "next";
import MillionLint from "@million/lint";
import createNextIntlPlugin from "next-intl/plugin";
// Package path does not work... so we need to use relative path
const withNextIntl = createNextIntlPlugin({
experimental: {
createMessagesDeclaration: "../../packages/translation/src/lang/en.json",
},
requestConfig: "../../packages/translation/src/request.ts",
});
const nextConfig: NextConfig = {
output: "standalone",
reactStrictMode: true,
// react compiler breaks mantine-react-table, so disabled for now
//reactCompiler: true,
/** We already do typechecking as separate tasks in CI */
typescript: { ignoreBuildErrors: true },
/**
* dockerode is required in the external server packages because of https://github.com/homarr-labs/homarr/issues/612
* isomorphic-dompurify and jsdom are required, see https://github.com/kkomelin/isomorphic-dompurify/issues/356
*/
serverExternalPackages: ["dockerode", "isomorphic-dompurify", "jsdom"],
experimental: {
optimizePackageImports: ["@mantine/core", "@mantine/hooks", "@tabler/icons-react"],
turbopackFileSystemCacheForDev: true,
},
transpilePackages: ["@homarr/ui", "@homarr/notifications", "@homarr/modals", "@homarr/spotlight", "@homarr/widgets"],
images: {
localPatterns: [
{
pathname: "/**",
search: "",
},
],
},
// eslint-disable-next-line @typescript-eslint/require-await,no-restricted-syntax
async headers() {
return [
{
source: "/(.*)", // Apply CSP to all routes
headers: [
{
key: "Content-Security-Policy",
// worker-src / media-src with blob: is necessary for video.js, see https://github.com/homarr-labs/homarr/issues/3912 and https://stackoverflow.com/questions/65792855/problem-with-video-js-and-content-security-policy-csp
value: `
default-src 'self';
script-src * 'unsafe-inline' 'unsafe-eval';
worker-src * blob:;
base-uri 'self';
connect-src *;
style-src * 'unsafe-inline';
frame-ancestors *;
frame-src *;
form-action 'self';
img-src * data:;
font-src * data:;
media-src * data: blob:;
`
.replace(/\s{2,}/g, " ")
.trim(),
},
],
},
];
},
};
// Skip transform is used because of webpack loader, without it for example 'Tooltip.Floating' will not work and show an error
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const withMillionLint = MillionLint.next({ rsc: true, skipTransform: true, telemetry: false });
export default withNextIntl(nextConfig);
+108
View File
@@ -0,0 +1,108 @@
{
"name": "@homarr/nextjs",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"build": "pnpm with-env next build",
"clean": "git clean -xdf .next .turbo node_modules",
"dev": "pnpm with-env next dev",
"format": "prettier --check . --ignore-path ../../.gitignore",
"lint": "eslint",
"start": "pnpm with-env next start",
"typecheck": "tsc --noEmit",
"with-env": "dotenv -e ../../.env --"
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@homarr/analytics": "workspace:^0.1.0",
"@homarr/api": "workspace:^0.1.0",
"@homarr/auth": "workspace:^0.1.0",
"@homarr/boards": "workspace:^0.1.0",
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
"@homarr/cron-job-status": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/docker": "workspace:^0.1.0",
"@homarr/form": "workspace:^0.1.0",
"@homarr/forms-collection": "workspace:^0.1.0",
"@homarr/gridstack": "^1.12.0",
"@homarr/icons": "workspace:^0.1.0",
"@homarr/image-proxy": "workspace:^0.1.0",
"@homarr/integrations": "workspace:^0.1.0",
"@homarr/modals": "workspace:^0.1.0",
"@homarr/modals-collection": "workspace:^0.1.0",
"@homarr/notifications": "workspace:^0.1.0",
"@homarr/old-import": "workspace:^0.1.0",
"@homarr/old-schema": "workspace:^0.1.0",
"@homarr/redis": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
"@homarr/settings": "workspace:^0.1.0",
"@homarr/spotlight": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@homarr/widgets": "workspace:^0.1.0",
"@mantine/colors-generator": "^8.3.10",
"@mantine/core": "^8.3.10",
"@mantine/dropzone": "^8.3.10",
"@mantine/hooks": "^8.3.10",
"@mantine/modals": "^8.3.10",
"@mantine/tiptap": "^8.3.10",
"@million/lint": "1.0.14",
"@tabler/icons-react": "^3.36.1",
"@tanstack/react-query": "^5.90.16",
"@tanstack/react-query-devtools": "^5.91.2",
"@tanstack/react-query-next-experimental": "^5.91.0",
"@trpc/client": "^11.8.1",
"@trpc/next": "^11.8.1",
"@trpc/react-query": "^11.8.1",
"@trpc/server": "^11.8.1",
"@xterm/addon-canvas": "^0.7.0",
"@xterm/addon-fit": "0.11.0",
"@xterm/xterm": "^6.0.0",
"babel-plugin-react-compiler": "^1.0.0",
"chroma-js": "^3.2.0",
"clsx": "^2.1.1",
"dayjs": "^1.11.19",
"dotenv": "^17.2.3",
"flag-icons": "^7.5.0",
"glob": "^13.0.0",
"isomorphic-dompurify": "^2.35.0",
"jotai": "^2.16.1",
"mantine-react-table": "2.0.0-beta.9",
"next": "16.1.1",
"postcss-preset-mantine": "^1.18.0",
"prismjs": "^1.30.0",
"react": "19.2.3",
"react-dom": "19.2.3",
"react-error-boundary": "^6.0.1",
"react-simple-code-editor": "^0.14.1",
"sass": "^1.97.1",
"superjson": "2.2.6",
"swagger-ui-react": "^5.31.0",
"use-deep-compare-effect": "^1.8.1",
"zod": "^4.2.1"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/chroma-js": "3.1.2",
"@types/node": "^24.10.4",
"@types/prismjs": "^1.26.5",
"@types/react": "19.2.7",
"@types/react-dom": "19.2.3",
"@types/swagger-ui-react": "^5.18.0",
"concurrently": "^9.2.1",
"eslint": "^9.39.2",
"node-loader": "^2.1.0",
"prettier": "^3.7.4",
"typescript": "^5.9.3"
}
}
+14
View File
@@ -0,0 +1,14 @@
module.exports = {
plugins: {
"postcss-preset-mantine": {},
"postcss-simple-vars": {
variables: {
"mantine-breakpoint-xs": "36em",
"mantine-breakpoint-sm": "48em",
"mantine-breakpoint-md": "62em",
"mantine-breakpoint-lg": "75em",
"mantine-breakpoint-xl": "88em",
},
},
},
};
Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

+3
View File
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 575 289.83" width="575" height="289.83"><defs><path d="M575 24.91C573.44 12.15 563.97 1.98 551.91 0C499.05 0 76.18 0 23.32 0C10.11 2.17 0 14.16 0 28.61C0 51.84 0 237.64 0 260.86C0 276.86 12.37 289.83 27.64 289.83C79.63 289.83 495.6 289.83 547.59 289.83C561.65 289.83 573.26 278.82 575 264.57C575 216.64 575 48.87 575 24.91Z" id="d1pwhf9wy2"></path><path d="M69.35 58.24L114.98 58.24L114.98 233.89L69.35 233.89L69.35 58.24Z" id="g5jjnq26yS"></path><path d="M201.2 139.15C197.28 112.38 195.1 97.5 194.67 94.53C192.76 80.2 190.94 67.73 189.2 57.09C185.25 57.09 165.54 57.09 130.04 57.09L130.04 232.74L170.01 232.74L170.15 116.76L186.97 232.74L215.44 232.74L231.39 114.18L231.54 232.74L271.38 232.74L271.38 57.09L211.77 57.09L201.2 139.15Z" id="i3Prh1JpXt"></path><path d="M346.71 93.63C347.21 95.87 347.47 100.95 347.47 108.89C347.47 115.7 347.47 170.18 347.47 176.99C347.47 188.68 346.71 195.84 345.2 198.48C343.68 201.12 339.64 202.43 333.09 202.43C333.09 190.9 333.09 98.66 333.09 87.13C338.06 87.13 341.45 87.66 343.25 88.7C345.05 89.75 346.21 91.39 346.71 93.63ZM367.32 230.95C372.75 229.76 377.31 227.66 381.01 224.67C384.7 221.67 387.29 217.52 388.77 212.21C390.26 206.91 391.14 196.38 391.14 180.63C391.14 174.47 391.14 125.12 391.14 118.95C391.14 102.33 390.49 91.19 389.48 85.53C388.46 79.86 385.93 74.71 381.88 70.09C377.82 65.47 371.9 62.15 364.12 60.13C356.33 58.11 343.63 57.09 321.54 57.09C319.27 57.09 307.93 57.09 287.5 57.09L287.5 232.74L342.78 232.74C355.52 232.34 363.7 231.75 367.32 230.95Z" id="a4ov9rRGQm"></path><path d="M464.76 204.7C463.92 206.93 460.24 208.06 457.46 208.06C454.74 208.06 452.93 206.98 452.01 204.81C451.09 202.65 450.64 197.72 450.64 190C450.64 185.36 450.64 148.22 450.64 143.58C450.64 135.58 451.04 130.59 451.85 128.6C452.65 126.63 454.41 125.63 457.13 125.63C459.91 125.63 463.64 126.76 464.6 129.03C465.55 131.3 466.03 136.15 466.03 143.58C466.03 146.58 466.03 161.58 466.03 188.59C465.74 197.84 465.32 203.21 464.76 204.7ZM406.68 231.21L447.76 231.21C449.47 224.5 450.41 220.77 450.6 220.02C454.32 224.52 458.41 227.9 462.9 230.14C467.37 232.39 474.06 233.51 479.24 233.51C486.45 233.51 492.67 231.62 497.92 227.83C503.16 224.05 506.5 219.57 507.92 214.42C509.34 209.26 510.05 201.42 510.05 190.88C510.05 185.95 510.05 146.53 510.05 141.6C510.05 131 509.81 124.08 509.34 120.83C508.87 117.58 507.47 114.27 505.14 110.88C502.81 107.49 499.42 104.86 494.98 102.98C490.54 101.1 485.3 100.16 479.26 100.16C474.01 100.16 467.29 101.21 462.81 103.28C458.34 105.35 454.28 108.49 450.64 112.7C450.64 108.89 450.64 89.85 450.64 55.56L406.68 55.56L406.68 231.21Z" id="fk968BpsX"></path></defs><g><g><g><use xlink:href="#d1pwhf9wy2" opacity="1" fill="#f6c700" fill-opacity="1"></use><g><use xlink:href="#d1pwhf9wy2" opacity="1" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0"></use></g></g><g><use xlink:href="#g5jjnq26yS" opacity="1" fill="#000000" fill-opacity="1"></use><g><use xlink:href="#g5jjnq26yS" opacity="1" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0"></use></g></g><g><use xlink:href="#i3Prh1JpXt" opacity="1" fill="#000000" fill-opacity="1"></use><g><use xlink:href="#i3Prh1JpXt" opacity="1" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0"></use></g></g><g><use xlink:href="#a4ov9rRGQm" opacity="1" fill="#000000" fill-opacity="1"></use><g><use xlink:href="#a4ov9rRGQm" opacity="1" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0"></use></g></g><g><use xlink:href="#fk968BpsX" opacity="1" fill="#000000" fill-opacity="1"></use><g><use xlink:href="#fk968BpsX" opacity="1" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0"></use></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="708.767" height="179.332">
<path fill="#d51007" d="m158.431 165.498-8.354-22.708s-13.575 15.14-33.932 15.14c-18.013 0-30.802-15.662-30.802-40.721 0-32.106 16.182-43.591 32.107-43.591 22.969 0 30.277 14.878 36.543 33.934l8.354 26.103c8.351 25.318 24.013 45.678 69.17 45.678 32.37 0 54.295-9.918 54.295-36.02 0-21.143-12.009-32.107-34.458-37.328l-16.705-3.654c-11.484-2.61-14.877-7.309-14.877-15.14 0-8.875 7.046-14.096 18.533-14.096 12.529 0 19.315 4.699 20.36 15.923l26.102-3.133c-2.088-23.492-18.271-33.15-44.896-33.15-23.491 0-46.462 8.875-46.462 37.327 0 17.75 8.614 28.975 30.277 34.195l17.752 4.175c13.312 3.133 17.748 8.614 17.748 16.185 0 9.656-9.396 13.572-27.146 13.572-26.364 0-37.325-13.834-43.591-32.89l-8.614-26.101c-10.961-33.934-28.452-46.463-63.169-46.463-38.37 0-58.731 24.275-58.731 65.517 0 39.677 20.361 61.08 56.906 61.08 29.492 0 43.59-13.834 43.59-13.834zM46.726 153.229c-2.61.784-5.221 1.306-8.614 1.306-6.265 0-10.703-2.87-10.703-10.442V1.827H0v148.792c0 19.577 13.575 27.672 29.497 27.672 5.221 0 10.181-.785 16.446-2.349l.783-22.713zm330.185-4.176c-6.787 4.701-12.529 7.051-20.36 7.051-9.92 0-15.401-5.221-15.401-18.012V77.006h36.023V55.603H341.41V26.625l-27.669 3.394v25.583h-17.49v21.403h17.49v66.826c0 24.02 13.834 35.5 36.284 35.5 12.269 0 23.232-2.346 31.847-7.305l-4.961-22.973zm23.807 9.396c0 10.705 8.354 19.318 19.056 19.318 11.226 0 19.578-8.613 19.578-19.318 0-10.963-8.353-19.313-19.578-19.313-10.702 0-19.056 8.35-19.056 19.313zm67.009-81.443v99.195h27.409V77.006h30.803V55.603h-30.803V44.638c0-16.444 7.049-21.665 18.534-21.665 8.092 0 13.574 1.825 19.839 5.221l4.437-22.974C530.638 1.827 522.023 0 511.582 0c-22.973 0-43.855 10.963-43.855 43.593v12.01h-17.489v21.403h17.489zm167.427 2.352c-3.133-19.578-15.923-26.629-32.63-26.629-16.706 0-31.062 7.571-37.329 26.104l-3.393-23.23h-22.188v120.598h27.409v-68.129c0-23.235 12.008-32.11 24.799-32.11 13.312 0 18.795 8.875 18.795 23.232V176.2h27.147v-68.39c0-22.974 12.269-31.849 25.061-31.849 13.052 0 18.532 8.875 18.532 23.232v77.006h27.409v-86.66c0-25.843-15.14-36.81-35.24-36.81-16.965 0-32.107 7.571-38.372 26.629z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+25
View File
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="1024" height="1024" version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<defs>
<clipPath id="a">
<circle cx="512" cy="512" r="410" fill="#989898" stroke-width="3.5906"/>
</clipPath>
<clipPath id="b">
<path d="m512 636l0-565 -330 565 330 0z" fill="#000"/>
<path d="m512 388l0 565 330-565 -330 0z" fill="#000"/>
</clipPath>
</defs>
<g id="lidarr-group-logo" transform="translate(5e-6 .26738)">
<circle id="lidarr-black-circle" cx="512" cy="512" r="410" stroke-width="1.8"/>
<path id="lidarr-honeycomb-a" d="m852.12 33.49l23.46 14.44 23.22-14.44 0-28.87 -23.22-14.44 -23.46 14.44 0 28.87zm-46.44-28.87l-23.22-14.44 -23.2 14.44 0 28.87 23.2 14.44 23.22-14.44 0-28.87 23.22-14.44 23.22 14.44m-46.44 28.87l23.22 14.44 23.22-14.44m-46.44 57.49l0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.18 -23.22 14.18 -23.22-14.18 -23.2 14.18m92.86 28.87l23.46 14.44 23.22-14.44 0-28.87 -23.22-14.18 -23.46 14.18m23.46-43.05l0 28.87m-46.68-28.87l0 28.87m69.9-72.18l23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.2-14.44 23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.18 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 0 28.87 -23.22 14.45 0 28.87 23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.18 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.46 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.46 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.46 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.2-14.44 -23.22 14.44 -23.22-14.44 -23.46 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.18 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.16 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.16 0-28.87 -23.22-14.44 0-28.87 23.22-14.45 0-28.87 -23.22-14.44 0-28.87 23.22-14.16 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.16 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.18 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.46-14.44 23.22 14.44 23.22-14.44 23.2 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.46-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.2-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.2-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.46-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44m-46.44 0l0 28.87 23.22 14.44 23.22-14.44m-46.44 57.49l0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.18 -23.22 14.18 -23.22-14.18 -23.22 14.18m116.08-43.05l0 28.87m-46.42-28.87l0 28.87m23.22 100.79l0 28.87 23.2 14.44 23.22-14.44 0-28.87 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 0 28.87 23.22 14.44 23.22-14.44m46.42-86.61l-23.22 14.44 0 28.87m-23.2-43.31l23.2 14.44m-46.42 0l0 28.87m0 57.74l0 28.87 23.22 14.16 23.2-14.16 0-28.87m46.44-86.61l0 28.87 23.22 14.44 23.46-14.44 0-28.87m-46.68 28.87l-23.22 14.44m-23.22 72.18l23.22 14.16 23.22-14.16 0-28.87 -23.22-14.44m46.44-28.87l0 28.87 23.46 14.44 23.22-14.44 0-28.87 -23.22-14.44m0 57.74l0 28.87 23.22 14.16 23.22-14.16 0-28.87 -23.22-14.44m-69.9 14.44l23.22-14.44m-185.74-201.84l0 28.87 23.22 14.44 23.22-14.44m-139.56-28.87l0 28.87 23.22 14.44 23.22-14.44 0-28.87m0 28.87l23.46 14.44 23.22-14.44m-46.68 57.49l0 28.87 23.46 14.44 23.22-14.44 0-28.87 -23.22-14.18 -23.46 14.18 -23.22-14.18 -23.22 14.18 0 28.87 23.22 14.44 23.22-14.44m-23.22-71.92l0 28.87m93.12-28.87l0 28.87m-46.44-28.87l0 28.87m-116.32-72.18l0 28.87 23.2 14.44 23.22-14.44m-92.86-28.87l0 28.87 23.22 14.44 23.22-14.44m-23.22 43.31l-23.22 14.18 0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.18zm69.64 14.18l-23.22-14.18 -23.2 14.18m-23.22-43.05l0 28.87m46.42-28.87l0 28.87m23.22 43.05l-23.22 14.44 0 28.87 23.22 14.44 23.22-14.44 0-28.87m-92.86 0l0 28.87 23.22 14.44 23.2-14.44m-46.42 86.61l23.22 14.16 23.2-14.16 0-28.87 -23.2-14.44 -23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 23.22-14.44 0-28.87m23.2-43.03l23.22-14.44 0-28.87m-46.42-57.74l23.2 14.44m-23.2 72.18l0-28.87m116.32-43.31l0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.44m-93.12 86.61l23.22 14.44 23.22-14.44 0-28.87 -23.22-14.44m46.68 0l-23.46 14.44m23.46 72.18l23.22 14.16 23.22-14.16 0-28.87 -23.22-14.44 -23.22 14.44 0 28.87 -23.46 14.16 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 23.46-14.44 0-28.87 -23.46-14.44m-69.66-43.03l23.22 14.16 23.22-14.16 0-28.87m23.22-14.44l23.46 14.44m23.22-14.44l0-28.87m0 86.34l0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.16m-69.9 100.77l0 28.87 23.46 14.44 23.22-14.44 0-28.87 -23.22-14.44m23.22 43.31l23.22 14.44 23.22-14.44 0-28.87 -23.22-14.44 -23.22 14.44m-23.22-43.31l23.22-14.44m23.22 14.44l0 28.87m-93.12-28.87l-23.22-14.44 -23.22 14.44 0 28.87 23.22 14.44 23.22-14.44m-23.22-43.31l0-28.87m-69.64 72.18l-23.22 14.44 0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.44zm23.22 4Line truncated
<ellipse cx="512" cy="512" rx="460" ry="460" style="fill:none;stroke-width:99;stroke:#e5e5e5"/>
<ellipse cx="512" cy="512" rx="270" ry="270" style="fill:#e5e5e5;stroke-width:76;stroke:#e5e5e5"/>
<ellipse ry="410" rx="410" cy="512" cx="512" style="fill-opacity:null;fill:none;stroke-width:12;stroke:#009252"/>
<path d="m512 636l0-565 -330 565 330 0z" fill="#000"/>
<path d="m512 388l0 565 330-565 -330 0z" fill="#000"/>
<path id="lidarr-honeycomb-b" d="m852.12 33.49l23.46 14.44 23.22-14.44 0-28.87 -23.22-14.44 -23.46 14.44 0 28.87zm-46.44-28.87l-23.22-14.44 -23.2 14.44 0 28.87 23.2 14.44 23.22-14.44 0-28.87 23.22-14.44 23.22 14.44m-46.44 28.87l23.22 14.44 23.22-14.44m-46.44 57.49l0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.18 -23.22 14.18 -23.22-14.18 -23.2 14.18m92.86 28.87l23.46 14.44 23.22-14.44 0-28.87 -23.22-14.18 -23.46 14.18m23.46-43.05l0 28.87m-46.68-28.87l0 28.87m69.9-72.18l23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.2-14.44 23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.18 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 0 28.87 -23.22 14.45 0 28.87 23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 0 28.87 -23.22 14.18 0 28.87 23.22 14.44 0 28.87 -23.22 14.44 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.46 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.46 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.46 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.2-14.44 -23.22 14.44 -23.22-14.44 -23.46 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 -23.22 14.44 -23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.18 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.16 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.16 0-28.87 -23.22-14.44 0-28.87 23.22-14.45 0-28.87 -23.22-14.44 0-28.87 23.22-14.16 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.16 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 0-28.87 -23.22-14.44 0-28.87 23.22-14.18 0-28.87 -23.22-14.44 0-28.87 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.46-14.44 23.22 14.44 23.22-14.44 23.2 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.46-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.2-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.2-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.46-14.44 23.22 14.44 23.22-14.44 23.22 14.44 23.22-14.44 23.22 14.44m-46.44 0l0 28.87 23.22 14.44 23.22-14.44m-46.44 57.49l0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.18 -23.22 14.18 -23.22-14.18 -23.22 14.18m116.08-43.05l0 28.87m-46.42-28.87l0 28.87m23.22 100.79l0 28.87 23.2 14.44 23.22-14.44 0-28.87 -23.22-14.44 -23.2 14.44 -23.22-14.44 -23.22 14.44 0 28.87 23.22 14.44 23.22-14.44m46.42-86.61l-23.22 14.44 0 28.87m-23.2-43.31l23.2 14.44m-46.42 0l0 28.87m0 57.74l0 28.87 23.22 14.16 23.2-14.16 0-28.87m46.44-86.61l0 28.87 23.22 14.44 23.46-14.44 0-28.87m-46.68 28.87l-23.22 14.44m-23.22 72.18l23.22 14.16 23.22-14.16 0-28.87 -23.22-14.44m46.44-28.87l0 28.87 23.46 14.44 23.22-14.44 0-28.87 -23.22-14.44m0 57.74l0 28.87 23.22 14.16 23.22-14.16 0-28.87 -23.22-14.44m-69.9 14.44l23.22-14.44m-185.74-201.84l0 28.87 23.22 14.44 23.22-14.44m-139.56-28.87l0 28.87 23.22 14.44 23.22-14.44 0-28.87m0 28.87l23.46 14.44 23.22-14.44m-46.68 57.49l0 28.87 23.46 14.44 23.22-14.44 0-28.87 -23.22-14.18 -23.46 14.18 -23.22-14.18 -23.22 14.18 0 28.87 23.22 14.44 23.22-14.44m-23.22-71.92l0 28.87m93.12-28.87l0 28.87m-46.44-28.87l0 28.87m-116.32-72.18l0 28.87 23.2 14.44 23.22-14.44m-92.86-28.87l0 28.87 23.22 14.44 23.22-14.44m-23.22 43.31l-23.22 14.18 0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.18zm69.64 14.18l-23.22-14.18 -23.2 14.18m-23.22-43.05l0 28.87m46.42-28.87l0 28.87m23.22 43.05l-23.22 14.44 0 28.87 23.22 14.44 23.22-14.44 0-28.87m-92.86 0l0 28.87 23.22 14.44 23.2-14.44m-46.42 86.61l23.22 14.16 23.2-14.16 0-28.87 -23.2-14.44 -23.22 14.44 0 28.87 -23.22 14.16 0 28.87 23.22 14.44 23.22-14.44 0-28.87m23.2-43.03l23.22-14.44 0-28.87m-46.42-57.74l23.2 14.44m-23.2 72.18l0-28.87m116.32-43.31l0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.44m-93.12 86.61l23.22 14.44 23.22-14.44 0-28.87 -23.22-14.44m46.68 0l-23.46 14.44m23.46 72.18l23.22 14.16 23.22-14.16 0-28.87 -23.22-14.44 -23.22 14.44 0 28.87 -23.46 14.16 0 28.87 -23.22 14.44 0 28.87 23.22 14.44 23.46-14.44 0-28.87 -23.46-14.44m-69.66-43.03l23.22 14.16 23.22-14.16 0-28.87m23.22-14.44l23.46 14.44m23.22-14.44l0-28.87m0 86.34l0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.16m-69.9 100.77l0 28.87 23.46 14.44 23.22-14.44 0-28.87 -23.22-14.44m23.22 43.31l23.22 14.44 23.22-14.44 0-28.87 -23.22-14.44 -23.22 14.44m-23.22-43.31l23.22-14.44m23.22 14.44l0 28.87m-93.12-28.87l-23.22-14.44 -23.22 14.44 0 28.87 23.22 14.44 23.22-14.44m-23.22-43.31l0-28.87m-69.64 72.18l-23.22 14.44 0 28.87 23.22 14.44 23.22-14.44 0-28.87 -23.22-14.44zm23.22 4Line truncated
<path d="m512 636l0-565 -330 565 330 0z" style="fill:none;stroke-width:16;stroke:#009252;"/>
<path d="m512 388l0 565 330-565 -330 0z" style="fill:none;stroke-width:16;stroke:#009252;"/>
<ellipse cx="512" cy="512" rx="150" ry="150" style="fill-opacity:null;fill:#009252;stroke-opacity:null;stroke-width:null;stroke:null"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 54 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 139.3 512.2 233.5"><path d="M256 139.3c-53 0-97.9 35.8-112.1 84.4-12.2-25.5-38.2-43.4-68.2-43.4C34.2 180.2 0 214.4 0 256s34.2 75.8 75.8 75.8c30 0 55.9-17.9 68.2-43.4 14.1 48.6 59.1 84.4 112.1 84.4S354 337 368.2 288.4c12.2 25.5 38.2 43.4 68.2 43.4 41.6 0 75.8-34.2 75.8-75.8s-34.2-75.8-75.8-75.8c-30 0-55.9 17.9-68.2 43.4-14.3-48.5-59.2-84.3-112.2-84.3m0 45c39.9 0 71.7 31.8 71.7 71.7s-31.8 71.7-71.7 71.7-71.7-31.8-71.7-71.7 31.8-71.7 71.7-71.7m-180.2 41c17.2 0 30.7 13.5 30.7 30.7S93 286.7 75.8 286.7 45.1 273.2 45.1 256s13.4-30.7 30.7-30.7m360.4 0c17.2 0 30.7 13.5 30.7 30.7s-13.5 30.7-30.7 30.7-30.7-13.5-30.7-30.7 13.5-30.7 30.7-30.7" style="fill:#3784c9"/></svg>

After

Width:  |  Height:  |  Size: 739 B

@@ -0,0 +1 @@
<svg height="1024" viewBox="0 0 1024 1024" width="1024" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m0 0h1024v1024h-1024z"/><clipPath id="b"><use clip-rule="evenodd" xlink:href="#a"/></clipPath></defs><g clip-path="url(#b)"><use fill="none" xlink:href="#a"/><g transform="translate(70 21.00012)"><path d="m105.302 154.943 7.522 714.549c-60.173 7.522-105.30242-22.565-105.30242-82.737l-7.52158-594.205c0-188.03894 172.996-233.1684 278.298-157.9526l534.032 308.3846c75.216 52.651 90.259 150.431 52.651 218.125-7.521-52.651-30.086-82.737-75.216-112.823l-601.726-338.471c-45.129-30.0862-82.737-22.5646-82.737 45.13z" fill="#24292e"/><path d="m0 376.079c45.1295 15.043 90.259 7.521 127.867-15.043l616.769-361.036c37.608 52.651 30.087 105.302-15.043 135.388l-518.989 300.863c-75.216 37.608-172.9961 0-210.604-60.172z" fill="#24292e" transform="translate(60.17249 531.0214)"/><path d="m0 413.687 368.557-210.604-361.03543-203.083z" fill="#ffc230" transform="translate(240.6902 282.8092)"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1 @@
<svg version="1.1" viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.97895 0 0 .97895 -2.2026 -2.2026)"><g stroke="#443c3c" stroke-width="1.5"><circle cx="513" cy="513" r="510" fill="#eee"/><circle cx="513" cy="513" r="440" fill="#443c3c"/><circle cx="513" cy="513" r="387" fill="#8e2222"/></g><g stroke-width="1.5"><circle cx="513" cy="513" r="378" fill="#eee" stroke="#8e2222"/><circle cx="511.67" cy="514.33" r="265" fill="#443c3c" stroke="#443c3c"/></g><g stroke="#8e2222"><path d="m176.71 682.24-5.71-356.67c0.634-53.106 17.5-47.829 30.454-49.405 198.58 10.83 270.91 71.252 275.35 73.499 13.323 5.018 20.937 31.782 20.302 31.123 0.634 0.658 4.441 420.6 3.807 419.94 3.172 22.455-13.323 21.002-13.958 20.343-124.99-98.152-297.56-122.85-298.19-123.51-12.055-0.795-12.055-15.326-12.055-15.326zm670.08 0.82 5.711-357.54c-0.635-53.236-17.501-47.946-30.456-49.526-198.6 10.857-270.93 71.426-275.38 73.679-13.325 5.03-20.939 31.859-20.304 31.199-0.635 0.66-4.442 421.63-3.807 420.97-3.173 22.51 13.325 21.053 13.959 20.393 125-98.392 297.58-123.15 298.22-123.81 12.056-0.797 12.056-15.363 12.056-15.363z" fill="#eee" stroke-width="10"/><path d="m174.14 739.57-5.802-356.67c0.645-53.106 17.782-47.829 30.945-49.405 201.79 10.83 275.28 71.252 279.8 73.499 13.539 5.018 21.275 31.782 20.63 31.123 0.645 0.658 4.513 420.6 3.868 419.94 3.224 22.455-13.539 21.002-14.183 20.343-127-98.152-302.36-122.85-303.01-123.51-12.249-0.795-12.249-15.326-12.249-15.326zm675.22 0.49 5.803-357.54c-0.645-53.236-17.784-47.946-30.948-49.526-201.81 10.857-275.31 71.426-279.82 73.679-13.54 5.03-21.277 31.859-20.632 31.199-0.645 0.66-4.513 421.63-3.869 420.97-3.224 22.51 13.54 21.053 14.184 20.393 127.02-98.392 302.39-123.15 303.03-123.81 12.25-0.797 12.25-15.363 12.25-15.363z" fill="#8e2222" stroke-width="5"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g clip-rule="evenodd"><path fill="#eee" fill-rule="evenodd" d="M47.978 24c0 6.602-2.331 12.26-6.993 16.974a3.773 3.773 0 0 1-.52.509 20.53 20.53 0 0 1-2.435 2.047C33.988 46.51 29.318 48 24.022 48c-5.304 0-9.966-1.49-13.986-4.47a21.726 21.726 0 0 1-2.988-2.556c-3.622-3.6-5.846-7.783-6.672-12.548-.162-.93-.27-1.874-.32-2.833a38.27 38.27 0 0 1 0-3.197c0-.052.014-.104.044-.155.346-5.887 2.662-10.973 6.948-15.259C11.762 2.327 17.42 0 24.022 0c6.624 0 12.279 2.327 16.963 6.982 4.662 4.743 6.993 10.416 6.993 17.018z"/><path fill="#3a3f51" fill-rule="evenodd" d="m43.098 9.405-4.957 4.957c-2.899 2.899-3.153 5.422-3.153 9.87 0 3.97.63 7.602 3.585 10.556 2.156 2.157 4.204 4.194 4.204 4.194a27.962 27.962 0 0 1-1.792 1.992 3.773 3.773 0 0 1-.52.509 20.05 20.05 0 0 1-1.749 1.538l-3.883-3.884c-3.452-3.452-6.196-3.784-10.756-3.784-4.375 0-7.352.403-10.556 3.607a2715.831 2715.831 0 0 0-4.105 4.116 21.196 21.196 0 0 1-2.368-2.102 27.739 27.739 0 0 1-1.737-1.903s2.168-2.18 4.238-4.25c3.066-3.065 3.563-6.62 3.563-10.589 0-3.872-.636-7.485-3.452-10.301C7.705 11.975 5 9.284 5 9.284a25.954 25.954 0 0 1 2.047-2.302A29.761 29.761 0 0 1 9.04 5.201l4.504 4.503c2.877 2.877 6.565 3.618 10.533 3.618 4.087 0 7.763-.791 10.756-3.784 1.84-1.841 4.27-4.26 4.27-4.26a25.168 25.168 0 0 1 1.882 1.704c.767.782 1.471 1.59 2.113 2.423z"/><path fill="#0cf" fill-rule="evenodd" d="M17.438 25.228a6.986 6.986 0 0 1-.1-1.228c0-.155.005-.303.012-.443 0-.014.004-.029.011-.044.096-1.63.738-3.039 1.925-4.227 1.306-1.29 2.874-1.936 4.703-1.936 1.837 0 3.404.645 4.703 1.936 1.29 1.313 1.936 2.884 1.936 4.714s-.645 3.397-1.936 4.703c-.045.051-.093.1-.144.143a6.056 6.056 0 0 1-.675.565c-1.121.826-2.416 1.239-3.884 1.239s-2.759-.413-3.873-1.24a5.818 5.818 0 0 1-.83-.707c-1.003-.996-1.619-2.155-1.848-3.475z"/><path fill="none" stroke="#0cf" stroke-miterlimit="1" stroke-width=".4426" d="m34.943 13.223-3.32 3.242M6.834 7.198l9.044 9.012M34.6 34.855l6.154 6.369m.41-34.056-6.22 6.056M7.18 41.107l6.053-6.063"/><path fill="none" stroke="#0cf" stroke-miterlimit="1" stroke-width="1.5491" d="m34.943 13.223-3.75 3.806m-18.12-3.617 3.806 3.795m-3.662 17.854 3.706-3.851m13.705-.309 3.99 3.971"/></g></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="100px" height="54px" viewBox="0 0 100 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Logo tvdb</title>
<g id="Logo-tvdb" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M0,5.09590006 C0,1.81024006 2.9636,-0.441498938 6.46228,0.0733078623 L6.46228,0.0733078623 L52.10124,6.03470006 C54.15254,6.33652006 55.78724,8.54666006 55.78724,10.9536001 L55.78724,10.9536001 L55.78654,17.1835001 C51.94104,19.7605001 49.42044,24.0737001 49.42044,28.9596001 C49.42044,33.8924001 51.87974,38.1680001 55.78724,40.7361001 L55.78724,40.7361001 L55.78724,43.4756001 C55.78724,45.8825001 54.15254,48.0927001 52.10124,48.3945001 L52.10124,48.3945001 L11.60314,53.9266001 C8.10444,54.4417001 5.14084,52.1897001 5.14084,48.9040001 L5.14084,48.9040001 Z M19.68044,10.8218001 L13.66114,10.8218001 L13.66114,18.7064001 L9.84244,18.7064001 L9.84244,23.2621001 L13.66114,23.2621001 L13.66114,32.0227001 C13.4846091,37.5274601 15.6467584,39.9923503 20.6149401,40.0386142 L25.25134,40.0387001 L25.25134,35.4830001 L22.87064,35.4830001 C20.17484,35.3516001 19.59134,34.5631001 19.68074,31.0149001 L19.68074,23.2617001 L27.08014,23.2617001 L33.93424,40.0384001 L40.40294,40.0384001 L49.83694,18.7061001 L43.45734,18.7061001 L37.34794,33.3806001 L31.77694,18.7064001 L19.68044,18.7064001 L19.68044,10.8218001 Z" id="Combined-Shape" fill="#6CD591" fill-rule="nonzero"></path>
<path d="M88.60974,18.2771001 C92.51784,18.2771001 95.12314,19.2407001 97.09994,21.4310001 C98.71734,23.1831001 99.57074,25.7677001 99.57074,28.6584001 C99.57074,32.8634001 97.86394,36.1487001 94.76414,38.0323001 C92.74234,39.2590001 90.99054,39.6094001 87.03734,39.6094001 L77.24404,39.6094001 L77.24404,10.3925001 L83.26404,10.3925001 L83.26404,18.2771001 L88.60974,18.2771001 Z M83.26404,35.0537001 L87.71094,35.0537001 C91.26004,35.0537001 93.41634,32.6884001 93.41634,28.8334001 C93.41634,24.8035001 91.52964,22.8324001 87.71094,22.8324001 L83.26404,22.8324001 L83.26404,35.0537001 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M68.01354,10.3925001 L74.03354,10.3925001 L74.03354,39.6094001 L63.65594,39.6094001 C59.43354,39.6094001 57.41174,38.9962001 55.25524,37.1126001 C53.05394,35.1416001 51.93124,32.3384001 51.93124,28.7898001 C51.93124,25.1102001 53.14404,22.3070001 55.70494,20.2481001 C57.32204,18.9342001 59.52364,18.2771001 62.35354,18.2771001 L68.01384,18.2771001 L68.01384,10.3925001 L68.01354,10.3925001 Z M68.01354,22.8327001 L63.65594,22.8327001 C60.15224,22.8327001 58.04064,25.0667001 58.04064,28.7898001 C58.04064,32.6884001 60.19654,35.0537001 63.65594,35.0537001 L68.01354,35.0537001 L68.01354,22.8327001 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 190.24 81.52"><defs><style>.cls-1{fill:url(#linear-gradient);}</style><linearGradient id="linear-gradient" y1="40.76" x2="190.24" y2="40.76" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#90cea1"/><stop offset="0.56" stop-color="#3cbec9"/><stop offset="1" stop-color="#00b3e5"/></linearGradient></defs><title>Asset 2</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M105.67,36.06h66.9A17.67,17.67,0,0,0,190.24,18.4h0A17.67,17.67,0,0,0,172.57.73h-66.9A17.67,17.67,0,0,0,88,18.4h0A17.67,17.67,0,0,0,105.67,36.06Zm-88,45h76.9A17.67,17.67,0,0,0,112.24,63.4h0A17.67,17.67,0,0,0,94.57,45.73H17.67A17.67,17.67,0,0,0,0,63.4H0A17.67,17.67,0,0,0,17.67,81.06ZM10.41,35.42h7.8V6.92h10.1V0H.31v6.9h10.1Zm28.1,0h7.8V8.25h.1l9,27.15h6l9.3-27.15h.1V35.4h7.8V0H66.76l-8.2,23.1h-.1L50.31,0H38.51ZM152.43,55.67a15.07,15.07,0,0,0-4.52-5.52,18.57,18.57,0,0,0-6.68-3.08,33.54,33.54,0,0,0-8.07-1h-11.7v35.4h12.75a24.58,24.58,0,0,0,7.55-1.15A19.34,19.34,0,0,0,148.11,77a16.27,16.27,0,0,0,4.37-5.5,16.91,16.91,0,0,0,1.63-7.58A18.5,18.5,0,0,0,152.43,55.67ZM145,68.6A8.8,8.8,0,0,1,142.36,72a10.7,10.7,0,0,1-4,1.82,21.57,21.57,0,0,1-5,.55h-4.05v-21h4.6a17,17,0,0,1,4.67.63,11.66,11.66,0,0,1,3.88,1.87A9.14,9.14,0,0,1,145,59a9.87,9.87,0,0,1,1,4.52A11.89,11.89,0,0,1,145,68.6Zm44.63-.13a8,8,0,0,0-1.58-2.62A8.38,8.38,0,0,0,185.63,64a10.31,10.31,0,0,0-3.17-1v-.1a9.22,9.22,0,0,0,4.42-2.82,7.43,7.43,0,0,0,1.68-5,8.42,8.42,0,0,0-1.15-4.65,8.09,8.09,0,0,0-3-2.72,12.56,12.56,0,0,0-4.18-1.3,32.84,32.84,0,0,0-4.62-.33h-13.2v35.4h14.5a22.41,22.41,0,0,0,4.72-.5,13.53,13.53,0,0,0,4.28-1.65,9.42,9.42,0,0,0,3.1-3,8.52,8.52,0,0,0,1.2-4.68A9.39,9.39,0,0,0,189.66,68.47ZM170.21,52.72h5.3a10,10,0,0,1,1.85.18,6.18,6.18,0,0,1,1.7.57,3.39,3.39,0,0,1,1.22,1.13,3.22,3.22,0,0,1,.48,1.82,3.63,3.63,0,0,1-.43,1.8,3.4,3.4,0,0,1-1.12,1.2,4.92,4.92,0,0,1-1.58.65,7.51,7.51,0,0,1-1.77.2h-5.65Zm11.72,20a3.9,3.9,0,0,1-1.22,1.3,4.64,4.64,0,0,1-1.68.7,8.18,8.18,0,0,1-1.82.2h-7v-8h5.9a15.35,15.35,0,0,1,2,.15,8.47,8.47,0,0,1,2.05.55,4,4,0,0,1,1.57,1.18,3.11,3.11,0,0,1,.63,2A3.71,3.71,0,0,1,181.93,72.72Z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -0,0 +1 @@
<svg viewBox="0 0 90 90" xmlns="http://www.w3.org/2000/svg"><g fill="none"><path fill="#31BEEC" d="M90 38.197v19.137L48.942 80.999V61.864z"/><path d="M41.086 61.863V81L0 57.333V38.197l18.566 10.687c.02.016.043.03.067.04l22.453 12.94Z" fill="#0095D5"/><path fill="#AEADAE" d="m61.621 45.506-16.607 9.576-16.622-9.576 16.622-9.575z"/><path fill="#0095D5" d="M86.086 31.416 69.464 40.99 48.942 29.15V10z"/><path fill="#31BEEC" d="M41.086 10v19.15l-20.55 11.827-16.621-9.561z"/></g></svg>

After

Width:  |  Height:  |  Size: 484 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><linearGradient id="a" x1="100%" x2="0" y1="0" y2="100%" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ff8d30"/><stop offset="1" stop-color="#e32929"/></linearGradient></defs><circle cx="50%" cy="50%" r="50%" fill="url(#a)"/><path fill="#fff" d="M246.6 200.8h18.7v110.6h-18.7zm-182.3 0H83v110.7H64.3zm91.1 123.9h18.7V367h-18.7zm-45.7-47.5h18.7v68.5h-18.7zm91.2 0h18.6v68.4h-18.6zm228.2-76.5h18.7v110.7h-18.7zM338 145.5h18.7v42.3H338zm45.7 21.2h18.7v68.2h-18.7zm-91.5 0h18.7v68.1h-18.7z"/></svg>

After

Width:  |  Height:  |  Size: 577 B

+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64mm"
height="64mm"
viewBox="0 0 64 64"
version="1.1"
id="svg5"
inkscape:version="1.2-alpha1 (b6a15bbbed, 2022-02-23)"
sodipodi:docname="vgmdb.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="2.1089995"
inkscape:cx="96.017091"
inkscape:cy="132.29021"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="1912"
inkscape:window-y="456"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#000000;stroke-width:0.21854"
d="m 24.915135,62.650271 c 0.887879,-1.778597 2.041345,-3.66055 2.243584,-3.66055 0.373389,0 3.112623,2.34553 4.058216,3.474939 l 0.933036,1.114407 h -3.849247 -3.849246 z m 12.769897,0.133716 c 0.188983,-1.699691 0.540579,-9.438559 0.541952,-11.928786 l 0.0013,-2.561742 1.233546,-0.358603 c 1.858993,-0.540424 4.864719,-0.351614 6.306093,0.396126 2.102595,1.090761 3.373658,3.018391 3.382575,5.129841 0.0167,3.956206 -2.25508,7.722455 -5.608397,9.297806 -1.304436,0.612809 -1.766356,0.710219 -3.720191,0.784508 l -2.230831,0.08482 0.09384,-0.843972 z M 15.28167,58.692354 C 13.855849,58.372721 13.307133,58.098082 12.027965,57.063833 10.767623,56.044804 9.571224,54.160633 8.9251418,52.177293 8.4791686,50.808245 8.4074221,50.178438 8.4306037,47.836119 8.5286648,37.927793 11.975024,28.061437 18.601259,18.719217 c 1.935825,-2.729288 2.971061,-3.715223 4.909347,-4.675547 2.754154,-1.364545 6.425257,-1.245307 7.097695,0.230534 0.528157,1.159175 -0.351225,2.928281 -5.658254,11.38306 -3.70676,5.905347 -6.114927,9.18009 -8.52131,11.587702 l -1.747431,1.748322 0.748093,2.185403 c 1.052426,3.074452 2.737855,6.406887 3.730724,7.376398 l 0.831803,0.812233 1.792285,-1.012255 c 0.985756,-0.556742 3.87521,-2.58299 6.421008,-4.502779 l 4.628722,-3.490523 -0.152738,4.29269 c -0.08401,2.36098 -0.222472,4.480622 -0.3077,4.710314 -0.332428,0.895893 -8.050465,7.1666 -10.09734,8.203831 -2.185833,1.107645 -5.028822,1.564407 -6.994493,1.123754 z m 12.832756,-0.03877 c -0.369353,-0.206871 -0.546974,-0.44325 -0.453135,-0.603036 0.708434,-1.206309 4.008342,-5.172791 4.307161,-5.177197 0.225634,-0.0033 -0.01427,3.110825 -0.312679,4.058824 -0.487124,1.547514 -2.288476,2.42313 -3.541347,1.721409 z M 54.400377,47.270961 c -2.064993,-1.073365 -4.152108,-1.442529 -8.74161,-1.546198 -3.114822,-0.07036 -4.685696,-0.01346 -5.837847,0.211437 l -1.576311,0.307699 -0.101497,-0.893553 C 38.087288,44.858893 37.933571,42.73579 37.801516,40.63234 l -0.240099,-3.824455 0.497396,-0.409308 c 3.74237,-3.079615 11.651909,-7.818064 15.417757,-9.236475 2.486857,-0.936679 2.235049,-2.072647 2.235049,10.082864 0,5.829561 -0.07376,10.585246 -0.163906,10.568187 -0.09015,-0.01705 -0.606449,-0.261044 -1.147336,-0.542192 z M 23.409747,36.75325 c 0.981959,-3.570355 4.756318,-11.031164 6.826933,-13.49486 0.464503,-0.552684 0.586271,-0.604153 0.775553,-0.327811 0.553602,0.808232 1.251919,4.110924 1.621318,7.668016 l 0.126807,1.221076 -3.079512,1.795215 c -1.693731,0.987367 -3.814306,2.281815 -4.71239,2.876551 -0.898084,0.594738 -1.666906,1.081339 -1.708492,1.081339 -0.04159,0 0.02582,-0.368786 0.149783,-0.819526 z m 13.184647,-7.110817 c -0.04629,-0.145705 -0.341909,-1.543377 -0.656926,-3.10594 -0.315019,-1.562562 -0.864147,-3.967401 -1.220285,-5.344086 l -0.647526,-2.503063 1.150575,-1.176622 c 0.632814,-0.647143 2.643448,-2.301196 4.468071,-3.675673 3.438183,-2.589963 4.301443,-3.419286 4.80161,-4.6128516 0.714642,-1.7053778 -0.03157,-3.7643498 -1.67217,-4.613896 -0.898369,-0.4651992 -1.181912,-0.4997701 -3.278104,-0.3996832 -2.190425,0.1045861 -4.050576,0.523224 -8.85088,1.9919437 l -1.092702,0.334327 0.546351,-0.4412242 c 6.292255,-5.0815261 14.525967,-6.98424479 19.646997,-4.540202 2.438424,1.163752 4.050578,3.1575295 5.198539,6.4291158 l 0.605044,1.7243152 0.0047,7.3023343 0.0047,7.302333 -2.622483,0.481857 c -4.702423,0.864027 -9.663403,2.365904 -14.706862,4.452327 -1.118146,0.462565 -1.619586,0.580467 -1.67861,0.394688 z"
id="path6625" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.035334mm"
height="17.500378mm"
viewBox="0 0 18.035334 17.500378"
version="1.1"
id="svg13826"
inkscape:version="0.91 r13725"
sodipodi:docname="cm.svg">
<defs
id="defs13820" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8"
inkscape:cx="-2.090004"
inkscape:cy="33.752239"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="771"
inkscape:window-x="1"
inkscape:window-y="0"
inkscape:window-maximized="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata13823">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-0.99262638,-1.174181)">
<g
id="g70"
transform="matrix(1.0148887,0,0,1.0148887,16.902146,-2.698726)">
<path
inkscape:export-ydpi="250.55"
inkscape:export-xdpi="250.55"
inkscape:export-filename="new.png"
inkscape:connector-curvature="0"
id="path3055"
d="m -6.8492015,4.2724668 a 1.1191255,1.1099671 0 0 0 -0.4288818,0.1085303 l -5.8524037,2.7963394 a 1.1191255,1.1099671 0 0 0 -0.605524,0.7529759 l -1.443828,6.2812846 a 1.1191255,1.1099671 0 0 0 0.151943,0.851028 1.1191255,1.1099671 0 0 0 0.06362,0.08832 l 4.0508,5.036555 a 1.1191255,1.1099671 0 0 0 0.874979,0.417654 l 6.4961011,-0.0015 a 1.1191255,1.1099671 0 0 0 0.8749788,-0.416906 L 1.3818872,15.149453 A 1.1191255,1.1099671 0 0 0 1.5981986,14.210104 L 0.15212657,7.9288154 A 1.1191255,1.1099671 0 0 0 -0.45339794,7.1758396 L -6.3065496,4.3809971 A 1.1191255,1.1099671 0 0 0 -6.8492015,4.2724668 Z"
style="fill:#326ce5;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3054-2-9"
d="M -6.8523435,3.8176372 A 1.1814304,1.171762 0 0 0 -7.3044284,3.932904 l -6.1787426,2.9512758 a 1.1814304,1.171762 0 0 0 -0.639206,0.794891 l -1.523915,6.6308282 a 1.1814304,1.171762 0 0 0 0.160175,0.89893 1.1814304,1.171762 0 0 0 0.06736,0.09281 l 4.276094,5.317236 a 1.1814304,1.171762 0 0 0 0.92363,0.440858 l 6.8576188,-0.0015 a 1.1814304,1.171762 0 0 0 0.9236308,-0.44011 l 4.2745966,-5.317985 a 1.1814304,1.171762 0 0 0 0.228288,-0.990993 L 0.53894439,7.6775738 A 1.1814304,1.171762 0 0 0 -0.10026101,6.8834313 L -6.2790037,3.9321555 A 1.1814304,1.171762 0 0 0 -6.8523435,3.8176372 Z m 0.00299,0.4550789 a 1.1191255,1.1099671 0 0 1 0.5426517,0.1085303 l 5.85315169,2.7948425 A 1.1191255,1.1099671 0 0 1 0.15197811,7.9290648 L 1.598051,14.21035 a 1.1191255,1.1099671 0 0 1 -0.2163123,0.939348 l -4.0493032,5.037304 a 1.1191255,1.1099671 0 0 1 -0.8749789,0.416906 l -6.4961006,0.0015 a 1.1191255,1.1099671 0 0 1 -0.874979,-0.417652 l -4.0508,-5.036554 a 1.1191255,1.1099671 0 0 1 -0.06362,-0.08832 1.1191255,1.1099671 0 0 1 -0.151942,-0.851028 l 1.443827,-6.2812853 a 1.1191255,1.1099671 0 0 1 0.605524,-0.7529758 l 5.8524036,-2.7963395 a 1.1191255,1.1099671 0 0 1 0.4288819,-0.1085303 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
<g
id="g3349"
transform="translate(0.11778981,0.45794291)">
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 8.236948,6.2914262 5.825001,0"
id="path876" />
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 5.723058,6.2914262 1.45834,0"
id="path880" />
<a
id="a3346">
<path
id="path884"
d="m 10.353619,8.4080928 3.70833,0"
inkscape:connector-curvature="0"
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:export-xdpi="376.57999"
inkscape:export-ydpi="376.57999" />
</a>
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 7.839728,8.4080928 1.4583305,0"
id="path888" />
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 10.353619,10.52476 3.70833,0"
id="path892" />
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 7.839728,10.52476 1.4583305,0"
id="path896" />
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 8.236948,12.641428 5.825001,0"
id="path900" />
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 5.723058,12.641428 1.45834,0"
id="path904" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.6 KiB

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.035334mm"
height="17.500378mm"
viewBox="0 0 18.035334 17.500378"
version="1.1"
id="svg13826"
inkscape:version="0.91 r13725"
sodipodi:docname="ing.svg">
<defs
id="defs13820" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8"
inkscape:cx="-2.090004"
inkscape:cy="28.752239"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="775"
inkscape:window-x="0"
inkscape:window-y="1"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata13823">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-0.99262638,-1.174181)">
<g
id="g70"
transform="matrix(1.0148887,0,0,1.0148887,16.902146,-2.698726)">
<path
inkscape:export-ydpi="250.55"
inkscape:export-xdpi="250.55"
inkscape:export-filename="new.png"
inkscape:connector-curvature="0"
id="path3055"
d="m -6.8492015,4.2724668 a 1.1191255,1.1099671 0 0 0 -0.4288818,0.1085303 l -5.8524037,2.7963394 a 1.1191255,1.1099671 0 0 0 -0.605524,0.7529759 l -1.443828,6.2812846 a 1.1191255,1.1099671 0 0 0 0.151943,0.851028 1.1191255,1.1099671 0 0 0 0.06362,0.08832 l 4.0508,5.036555 a 1.1191255,1.1099671 0 0 0 0.874979,0.417654 l 6.4961011,-0.0015 a 1.1191255,1.1099671 0 0 0 0.8749788,-0.416906 L 1.3818872,15.149453 A 1.1191255,1.1099671 0 0 0 1.5981986,14.210104 L 0.15212657,7.9288154 A 1.1191255,1.1099671 0 0 0 -0.45339794,7.1758396 L -6.3065496,4.3809971 A 1.1191255,1.1099671 0 0 0 -6.8492015,4.2724668 Z"
style="fill:#326ce5;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3054-2-9"
d="M -6.8523435,3.8176372 A 1.1814304,1.171762 0 0 0 -7.3044284,3.932904 l -6.1787426,2.9512758 a 1.1814304,1.171762 0 0 0 -0.639206,0.794891 l -1.523915,6.6308282 a 1.1814304,1.171762 0 0 0 0.160175,0.89893 1.1814304,1.171762 0 0 0 0.06736,0.09281 l 4.276094,5.317236 a 1.1814304,1.171762 0 0 0 0.92363,0.440858 l 6.8576188,-0.0015 a 1.1814304,1.171762 0 0 0 0.9236308,-0.44011 l 4.2745966,-5.317985 a 1.1814304,1.171762 0 0 0 0.228288,-0.990993 L 0.53894439,7.6775738 A 1.1814304,1.171762 0 0 0 -0.10026101,6.8834313 L -6.2790037,3.9321555 A 1.1814304,1.171762 0 0 0 -6.8523435,3.8176372 Z m 0.00299,0.4550789 a 1.1191255,1.1099671 0 0 1 0.5426517,0.1085303 l 5.85315169,2.7948425 A 1.1191255,1.1099671 0 0 1 0.15197811,7.9290648 L 1.598051,14.21035 a 1.1191255,1.1099671 0 0 1 -0.2163123,0.939348 l -4.0493032,5.037304 a 1.1191255,1.1099671 0 0 1 -0.8749789,0.416906 l -6.4961006,0.0015 a 1.1191255,1.1099671 0 0 1 -0.874979,-0.417652 l -4.0508,-5.036554 a 1.1191255,1.1099671 0 0 1 -0.06362,-0.08832 1.1191255,1.1099671 0 0 1 -0.151942,-0.851028 l 1.443827,-6.2812853 a 1.1191255,1.1099671 0 0 1 0.605524,-0.7529758 l 5.8524036,-2.7963395 a 1.1191255,1.1099671 0 0 1 0.4288819,-0.1085303 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
<path
id="path7709"
pointer-events="none"
d="m 12.75799,13.997178 -2.270701,0 -4.9209009,-6.1558617 -1.42366,0 0,-2.0149069 2.31473,0 4.9230119,6.1558536 1.37752,0 0,-1.593474 3.119869,2.599882 -3.119869,2.601983 z m -2.47616,-4.7552751 1.09864,-1.3754256 1.37752,0 0,1.593475 3.119869,-2.5998829 -3.119869,-2.601983 0,1.593483 -2.270701,0 -1.4571904,1.8241102 z m -3.5979219,1.3649431 -1.11752,1.400578 -1.42366,0 0,2.014915 2.31473,0 1.4781699,-1.849278 z"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.20966817" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.035334mm"
height="17.500378mm"
viewBox="0 0 18.035334 17.500378"
version="1.1"
id="svg13826"
inkscape:version="0.91 r13725"
sodipodi:docname="ns.svg">
<defs
id="defs13820" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8"
inkscape:cx="-2.090004"
inkscape:cy="23.752239"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="775"
inkscape:window-x="0"
inkscape:window-y="1"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata13823">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-0.99262638,-1.174181)">
<g
id="g70"
transform="matrix(1.0148887,0,0,1.0148887,16.902146,-2.698726)">
<path
inkscape:export-ydpi="250.55"
inkscape:export-xdpi="250.55"
inkscape:export-filename="new.png"
inkscape:connector-curvature="0"
id="path3055"
d="m -6.8492015,4.2724668 a 1.1191255,1.1099671 0 0 0 -0.4288818,0.1085303 l -5.8524037,2.7963394 a 1.1191255,1.1099671 0 0 0 -0.605524,0.7529759 l -1.443828,6.2812846 a 1.1191255,1.1099671 0 0 0 0.151943,0.851028 1.1191255,1.1099671 0 0 0 0.06362,0.08832 l 4.0508,5.036555 a 1.1191255,1.1099671 0 0 0 0.874979,0.417654 l 6.4961011,-0.0015 a 1.1191255,1.1099671 0 0 0 0.8749788,-0.416906 L 1.3818872,15.149453 A 1.1191255,1.1099671 0 0 0 1.5981986,14.210104 L 0.15212657,7.9288154 A 1.1191255,1.1099671 0 0 0 -0.45339794,7.1758396 L -6.3065496,4.3809971 A 1.1191255,1.1099671 0 0 0 -6.8492015,4.2724668 Z"
style="fill:#326ce5;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3054-2-9"
d="M -6.8523435,3.8176372 A 1.1814304,1.171762 0 0 0 -7.3044284,3.932904 l -6.1787426,2.9512758 a 1.1814304,1.171762 0 0 0 -0.639206,0.794891 l -1.523915,6.6308282 a 1.1814304,1.171762 0 0 0 0.160175,0.89893 1.1814304,1.171762 0 0 0 0.06736,0.09281 l 4.276094,5.317236 a 1.1814304,1.171762 0 0 0 0.92363,0.440858 l 6.8576188,-0.0015 a 1.1814304,1.171762 0 0 0 0.9236308,-0.44011 l 4.2745966,-5.317985 a 1.1814304,1.171762 0 0 0 0.228288,-0.990993 L 0.53894439,7.6775738 A 1.1814304,1.171762 0 0 0 -0.10026101,6.8834313 L -6.2790037,3.9321555 A 1.1814304,1.171762 0 0 0 -6.8523435,3.8176372 Z m 0.00299,0.4550789 a 1.1191255,1.1099671 0 0 1 0.5426517,0.1085303 l 5.85315169,2.7948425 A 1.1191255,1.1099671 0 0 1 0.15197811,7.9290648 L 1.598051,14.21035 a 1.1191255,1.1099671 0 0 1 -0.2163123,0.939348 l -4.0493032,5.037304 a 1.1191255,1.1099671 0 0 1 -0.8749789,0.416906 l -6.4961006,0.0015 a 1.1191255,1.1099671 0 0 1 -0.874979,-0.417652 l -4.0508,-5.036554 a 1.1191255,1.1099671 0 0 1 -0.06362,-0.08832 1.1191255,1.1099671 0 0 1 -0.151942,-0.851028 l 1.443827,-6.2812853 a 1.1191255,1.1099671 0 0 1 0.605524,-0.7529758 l 5.8524036,-2.7963395 a 1.1191255,1.1099671 0 0 1 0.4288819,-0.1085303 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
<rect
y="6.5793304"
x="6.1734986"
height="6.6900792"
width="7.6735892"
id="rect8790"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:0.80000001, 0.4;stroke-dashoffset:3.44000006;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.035334mm"
height="17.500378mm"
viewBox="0 0 18.035334 17.500378"
version="1.1"
id="svg13826"
inkscape:version="0.91 r13725"
sodipodi:docname="node.svg">
<defs
id="defs13820" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8"
inkscape:cx="16.847496"
inkscape:cy="33.752239"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="775"
inkscape:window-x="0"
inkscape:window-y="1"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata13823">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-0.99262638,-1.174181)">
<g
id="g70"
transform="matrix(1.0148887,0,0,1.0148887,16.902146,-2.698726)">
<path
inkscape:export-ydpi="250.55"
inkscape:export-xdpi="250.55"
inkscape:export-filename="new.png"
inkscape:connector-curvature="0"
id="path3055"
d="m -6.8492015,4.2724668 a 1.1191255,1.1099671 0 0 0 -0.4288818,0.1085303 l -5.8524037,2.7963394 a 1.1191255,1.1099671 0 0 0 -0.605524,0.7529759 l -1.443828,6.2812846 a 1.1191255,1.1099671 0 0 0 0.151943,0.851028 1.1191255,1.1099671 0 0 0 0.06362,0.08832 l 4.0508,5.036555 a 1.1191255,1.1099671 0 0 0 0.874979,0.417654 l 6.4961011,-0.0015 a 1.1191255,1.1099671 0 0 0 0.8749788,-0.416906 L 1.3818872,15.149453 A 1.1191255,1.1099671 0 0 0 1.5981986,14.210104 L 0.15212657,7.9288154 A 1.1191255,1.1099671 0 0 0 -0.45339794,7.1758396 L -6.3065496,4.3809971 A 1.1191255,1.1099671 0 0 0 -6.8492015,4.2724668 Z"
style="fill:#326ce5;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3054-2-9"
d="M -6.8523435,3.8176372 A 1.1814304,1.171762 0 0 0 -7.3044284,3.932904 l -6.1787426,2.9512758 a 1.1814304,1.171762 0 0 0 -0.639206,0.794891 l -1.523915,6.6308282 a 1.1814304,1.171762 0 0 0 0.160175,0.89893 1.1814304,1.171762 0 0 0 0.06736,0.09281 l 4.276094,5.317236 a 1.1814304,1.171762 0 0 0 0.92363,0.440858 l 6.8576188,-0.0015 a 1.1814304,1.171762 0 0 0 0.9236308,-0.44011 l 4.2745966,-5.317985 a 1.1814304,1.171762 0 0 0 0.228288,-0.990993 L 0.53894439,7.6775738 A 1.1814304,1.171762 0 0 0 -0.10026101,6.8834313 L -6.2790037,3.9321555 A 1.1814304,1.171762 0 0 0 -6.8523435,3.8176372 Z m 0.00299,0.4550789 a 1.1191255,1.1099671 0 0 1 0.5426517,0.1085303 l 5.85315169,2.7948425 A 1.1191255,1.1099671 0 0 1 0.15197811,7.9290648 L 1.598051,14.21035 a 1.1191255,1.1099671 0 0 1 -0.2163123,0.939348 l -4.0493032,5.037304 a 1.1191255,1.1099671 0 0 1 -0.8749789,0.416906 l -6.4961006,0.0015 a 1.1191255,1.1099671 0 0 1 -0.874979,-0.417652 l -4.0508,-5.036554 a 1.1191255,1.1099671 0 0 1 -0.06362,-0.08832 1.1191255,1.1099671 0 0 1 -0.151942,-0.851028 l 1.443827,-6.2812853 a 1.1191255,1.1099671 0 0 1 0.605524,-0.7529758 l 5.8524036,-2.7963395 a 1.1191255,1.1099671 0 0 1 0.4288819,-0.1085303 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
<path
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccscccccccccccccccc"
id="path1994"
d="M 9.9921803,5.0101759 C 9.8538505,5.0057759 5.9970805,6.902049 5.9466504,6.999295 c -0.12117,0.233682 -0.9989,4.281827 -0.94731,4.369074 0.03,0.05065 0.66219,0.851861 1.40458,1.780327 l 1.3498201,1.688014 2.2211901,9.31e-4 2.2216404,9.31e-4 1.41321,-1.765731 1.41365,-1.765228 -0.49479,-2.1685759 C 14.256441,7.946271 14.012981,6.950423 13.988111,6.926433 13.918611,6.859553 10.067151,5.0126389 9.9921803,5.0102179 Z m 0.1961407,0.947753 0.90893,0.2635771 -0.90893,0.263576 -0.9089209,-0.263576 z m -0.9089209,0.36452 0.8511209,0.2532261 -0.004,1.183289 -0.8468109,-0.469347 z m 1.8178509,0 0,0.9671681 -0.84679,0.469347 -0.004,-1.183289 z M 8.8997705,7.937127 9.8087101,8.2007027 8.8997705,8.4642797 7.9908504,8.2007027 Z m 2.2087005,0 0.90894,0.2635757 -0.90894,0.263577 -0.90893,-0.263577 z m -3.1176206,0.3645197 0.8511202,0.252792 -0.004,1.1832908 -0.8468199,-0.468915 z m 1.8178597,0 0,0.9671678 -0.8468098,0.468915 -0.004,-1.1832908 z m 0.3908309,0 0.85113,0.252792 -0.004,1.1832908 -0.84682,-0.468915 z m 1.81787,0 0,0.9671678 -0.84682,0.468915 -0.004,-1.1832908 z m -3.4496605,1.515028 c 0.2706299,0.0096 0.0611,0.2819093 0.3684101,0.4279353 0.3277495,0.155764 0.3953995,-0.235354 0.6013395,0.06341 0.20599,0.298766 -0.18339,0.223239 -0.15443,0.584957 0.029,0.361718 0.40165,0.224858 0.24589,0.552606 -0.15575,0.327746 -0.28532,-0.04764 -0.5840895,0.158317 -0.2987401,0.205957 0.006,0.460208 -0.35546,0.489192 -0.3617401,0.02898 -0.1015001,-0.270447 -0.42924,-0.426208 -0.32775,-0.155765 -0.3953801,0.234921 -0.6013402,-0.06385 -0.2059599,-0.298767 0.1838299,-0.22281 0.15485,-0.584528 -0.029,-0.361718 -0.4016499,-0.224859 -0.24587,-0.552604 0.1557501,-0.327749 0.2848801,0.04764 0.5836502,-0.15832 0.2987898,-0.205956 -0.006,-0.4602083 0.3559099,-0.4891903 0.022499,-0.0018 0.0424,-0.0023 0.0604,-0.0018 z m 2.3359605,0.3627943 c 0.48335,0.01358 0.0146,0.467218 0.45596,0.664766 0.44144,0.197548 0.46714,-0.454103 0.79937,-0.102669 0.33221,0.351432 -0.31997,0.34064 -0.14753,0.792455 0.17243,0.451813 0.65163,0.0092 0.63802,0.49264 -0.0137,0.483411 -0.46723,0.01456 -0.66477,0.455977 -0.19755,0.441412 0.4541,0.467143 0.10266,0.799357 -0.35141,0.332212 -0.34021,-0.319974 -0.79202,-0.147534 -0.45183,0.172437 -0.009,0.65161 -0.49265,0.638019 -0.48339,-0.01358 -0.0146,-0.467216 -0.45596,-0.664764 -0.4414105,-0.197551 -0.4675805,0.454102 -0.7997909,0.102669 -0.3322097,-0.351431 0.3199804,-0.340209 0.14754,-0.792025 -0.17245,-0.451815 -0.6516296,-0.0092 -0.6380295,-0.492642 0.013699,-0.483408 0.4672095,-0.01499 0.6647795,-0.456405 0.1975204,-0.441414 -0.45411,-0.467143 -0.10269,-0.799357 0.3514505,-0.332213 0.3406505,0.319971 0.7924609,0.147534 0.45184,-0.17244 0.009,-0.651611 0.49265,-0.638021 z m -2.3148207,0.253655 c -0.2936499,9e-5 -0.5316098,0.238249 -0.5314498,0.531898 7.99e-5,0.293481 0.2379701,0.531377 0.5314498,0.531467 0.2936602,1.59e-4 0.5318202,-0.23781 0.5319,-0.531467 1.601e-4,-0.293825 -0.2380699,-0.532057 -0.5319,-0.531898 z m 2.2643607,0.480564 c -0.58689,-1.96e-4 -1.0627109,0.475614 -1.0625209,1.062502 5e-5,0.586719 0.4758009,1.062267 1.0625209,1.062071 0.58654,-5.8e-5 1.06201,-0.475531 1.06206,-1.062071 1.9e-4,-0.586708 -0.47535,-1.062444 -1.06206,-1.062502 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:11.23642349;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.035334mm"
height="17.500378mm"
viewBox="0 0 18.035334 17.500378"
version="1.1"
id="svg13826"
inkscape:version="0.91 r13725"
sodipodi:docname="pod.svg">
<defs
id="defs13820" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8"
inkscape:cx="-2.090004"
inkscape:cy="33.752239"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="775"
inkscape:window-x="0"
inkscape:window-y="1"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata13823">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-0.99262638,-1.174181)">
<g
id="g70"
transform="matrix(1.0148887,0,0,1.0148887,16.902146,-2.698726)">
<path
inkscape:export-ydpi="250.55"
inkscape:export-xdpi="250.55"
inkscape:export-filename="new.png"
inkscape:connector-curvature="0"
id="path3055"
d="m -6.8492015,4.2724668 a 1.1191255,1.1099671 0 0 0 -0.4288818,0.1085303 l -5.8524037,2.7963394 a 1.1191255,1.1099671 0 0 0 -0.605524,0.7529759 l -1.443828,6.2812846 a 1.1191255,1.1099671 0 0 0 0.151943,0.851028 1.1191255,1.1099671 0 0 0 0.06362,0.08832 l 4.0508,5.036555 a 1.1191255,1.1099671 0 0 0 0.874979,0.417654 l 6.4961011,-0.0015 a 1.1191255,1.1099671 0 0 0 0.8749788,-0.416906 L 1.3818872,15.149453 A 1.1191255,1.1099671 0 0 0 1.5981986,14.210104 L 0.15212657,7.9288154 A 1.1191255,1.1099671 0 0 0 -0.45339794,7.1758396 L -6.3065496,4.3809971 A 1.1191255,1.1099671 0 0 0 -6.8492015,4.2724668 Z"
style="fill:#326ce5;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3054-2-9"
d="M -6.8523435,3.8176372 A 1.1814304,1.171762 0 0 0 -7.3044284,3.932904 l -6.1787426,2.9512758 a 1.1814304,1.171762 0 0 0 -0.639206,0.794891 l -1.523915,6.6308282 a 1.1814304,1.171762 0 0 0 0.160175,0.89893 1.1814304,1.171762 0 0 0 0.06736,0.09281 l 4.276094,5.317236 a 1.1814304,1.171762 0 0 0 0.92363,0.440858 l 6.8576188,-0.0015 a 1.1814304,1.171762 0 0 0 0.9236308,-0.44011 l 4.2745966,-5.317985 a 1.1814304,1.171762 0 0 0 0.228288,-0.990993 L 0.53894439,7.6775738 A 1.1814304,1.171762 0 0 0 -0.10026101,6.8834313 L -6.2790037,3.9321555 A 1.1814304,1.171762 0 0 0 -6.8523435,3.8176372 Z m 0.00299,0.4550789 a 1.1191255,1.1099671 0 0 1 0.5426517,0.1085303 l 5.85315169,2.7948425 A 1.1191255,1.1099671 0 0 1 0.15197811,7.9290648 L 1.598051,14.21035 a 1.1191255,1.1099671 0 0 1 -0.2163123,0.939348 l -4.0493032,5.037304 a 1.1191255,1.1099671 0 0 1 -0.8749789,0.416906 l -6.4961006,0.0015 a 1.1191255,1.1099671 0 0 1 -0.874979,-0.417652 l -4.0508,-5.036554 a 1.1191255,1.1099671 0 0 1 -0.06362,-0.08832 1.1191255,1.1099671 0 0 1 -0.151942,-0.851028 l 1.443827,-6.2812853 a 1.1191255,1.1099671 0 0 1 0.605524,-0.7529758 l 5.8524036,-2.7963395 a 1.1191255,1.1099671 0 0 1 0.4288819,-0.1085303 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
<g
id="g3341"
transform="translate(0.12766661,0.35147801)">
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="M 6.2617914,7.036086 9.8826317,5.986087 13.503462,7.036086 9.8826317,8.086087 Z"
id="path910" />
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 6.2617914,7.43817 0,3.852778 3.3736103,1.868749 0.0167,-4.713193 z"
id="path912" />
<path
inkscape:export-ydpi="376.57999"
inkscape:export-xdpi="376.57999"
style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 13.503462,7.43817 0,3.852778 -3.37361,1.868749 -0.0167,-4.713193 z"
id="path914" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.035334mm"
height="17.500378mm"
viewBox="0 0 18.035334 17.500378"
version="1.1"
id="svg13826"
inkscape:version="0.91 r13725"
sodipodi:docname="secret.svg">
<defs
id="defs13820" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8"
inkscape:cx="-2.090004"
inkscape:cy="28.752239"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="775"
inkscape:window-x="0"
inkscape:window-y="1"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata13823">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-0.99262638,-1.174181)">
<g
id="g70"
transform="matrix(1.0148887,0,0,1.0148887,16.902146,-2.698726)">
<path
inkscape:export-ydpi="250.55"
inkscape:export-xdpi="250.55"
inkscape:export-filename="new.png"
inkscape:connector-curvature="0"
id="path3055"
d="m -6.8492015,4.2724668 a 1.1191255,1.1099671 0 0 0 -0.4288818,0.1085303 l -5.8524037,2.7963394 a 1.1191255,1.1099671 0 0 0 -0.605524,0.7529759 l -1.443828,6.2812846 a 1.1191255,1.1099671 0 0 0 0.151943,0.851028 1.1191255,1.1099671 0 0 0 0.06362,0.08832 l 4.0508,5.036555 a 1.1191255,1.1099671 0 0 0 0.874979,0.417654 l 6.4961011,-0.0015 a 1.1191255,1.1099671 0 0 0 0.8749788,-0.416906 L 1.3818872,15.149453 A 1.1191255,1.1099671 0 0 0 1.5981986,14.210104 L 0.15212657,7.9288154 A 1.1191255,1.1099671 0 0 0 -0.45339794,7.1758396 L -6.3065496,4.3809971 A 1.1191255,1.1099671 0 0 0 -6.8492015,4.2724668 Z"
style="fill:#326ce5;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3054-2-9"
d="M -6.8523435,3.8176372 A 1.1814304,1.171762 0 0 0 -7.3044284,3.932904 l -6.1787426,2.9512758 a 1.1814304,1.171762 0 0 0 -0.639206,0.794891 l -1.523915,6.6308282 a 1.1814304,1.171762 0 0 0 0.160175,0.89893 1.1814304,1.171762 0 0 0 0.06736,0.09281 l 4.276094,5.317236 a 1.1814304,1.171762 0 0 0 0.92363,0.440858 l 6.8576188,-0.0015 a 1.1814304,1.171762 0 0 0 0.9236308,-0.44011 l 4.2745966,-5.317985 a 1.1814304,1.171762 0 0 0 0.228288,-0.990993 L 0.53894439,7.6775738 A 1.1814304,1.171762 0 0 0 -0.10026101,6.8834313 L -6.2790037,3.9321555 A 1.1814304,1.171762 0 0 0 -6.8523435,3.8176372 Z m 0.00299,0.4550789 a 1.1191255,1.1099671 0 0 1 0.5426517,0.1085303 l 5.85315169,2.7948425 A 1.1191255,1.1099671 0 0 1 0.15197811,7.9290648 L 1.598051,14.21035 a 1.1191255,1.1099671 0 0 1 -0.2163123,0.939348 l -4.0493032,5.037304 a 1.1191255,1.1099671 0 0 1 -0.8749789,0.416906 l -6.4961006,0.0015 a 1.1191255,1.1099671 0 0 1 -0.874979,-0.417652 l -4.0508,-5.036554 a 1.1191255,1.1099671 0 0 1 -0.06362,-0.08832 1.1191255,1.1099671 0 0 1 -0.151942,-0.851028 l 1.443827,-6.2812853 a 1.1191255,1.1099671 0 0 1 0.605524,-0.7529758 l 5.8524036,-2.7963395 a 1.1191255,1.1099671 0 0 1 0.4288819,-0.1085303 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
<g
id="g3347"
transform="translate(0.05710921,0.77487342)">
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 10.414299,8.0912253 3.708331,0"
id="path922" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79400003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 8.2976282,5.9745582 5.8250018,0"
id="path930" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 5.7837382,5.9745582 1.45834,0"
id="path934" />
<path
style="fill:#ffffff;fill-rule:evenodd;stroke:#326ce5;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 7.7183782,8.4321603 0,0 c 0,-1.1667021 1.0110897,-2.1125011 2.2583305,-2.1125011 1.2472403,0 2.2583303,0.945799 2.2583303,2.1125011 l -1.05624,0 0,0 c 0,-0.583351 -0.5382,-1.0562501 -1.2020903,-1.0562501 -0.6638904,0 -1.2020808,0.4728991 -1.2020808,1.0562501 z"
id="path936" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 10.414299,10.207893 3.708331,0"
id="path942" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 8.2976282,12.32456 5.8250018,0"
id="path950" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 5.7837382,12.32456 1.45834,0"
id="path954" />
<path
style="fill:#ffffff;fill-rule:evenodd;stroke:#326ce5;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 7.1622182,8.3691063 5.6166608,0 0,3.6583337 -5.6166608,0 z"
id="path956" />
<circle
r="0.55515254"
cy="10.198272"
cx="9.9705448"
id="path7280"
style="opacity:1;fill:#326ce5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26478875;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:0.52957746, 0.26478873;stroke-dashoffset:5.01860619;stroke-opacity:1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.035334mm"
height="17.500378mm"
viewBox="0 0 18.035334 17.500378"
version="1.1"
id="svg13826"
inkscape:version="0.91 r13725"
sodipodi:docname="svc.svg">
<defs
id="defs13820" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8"
inkscape:cx="-2.090004"
inkscape:cy="28.752239"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="775"
inkscape:window-x="0"
inkscape:window-y="1"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata13823">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-0.99262638,-1.174181)">
<g
id="g70"
transform="matrix(1.0148887,0,0,1.0148887,16.902146,-2.698726)">
<path
inkscape:export-ydpi="250.55"
inkscape:export-xdpi="250.55"
inkscape:export-filename="new.png"
inkscape:connector-curvature="0"
id="path3055"
d="m -6.8492015,4.2724668 a 1.1191255,1.1099671 0 0 0 -0.4288818,0.1085303 l -5.8524037,2.7963394 a 1.1191255,1.1099671 0 0 0 -0.605524,0.7529759 l -1.443828,6.2812846 a 1.1191255,1.1099671 0 0 0 0.151943,0.851028 1.1191255,1.1099671 0 0 0 0.06362,0.08832 l 4.0508,5.036555 a 1.1191255,1.1099671 0 0 0 0.874979,0.417654 l 6.4961011,-0.0015 a 1.1191255,1.1099671 0 0 0 0.8749788,-0.416906 L 1.3818872,15.149453 A 1.1191255,1.1099671 0 0 0 1.5981986,14.210104 L 0.15212657,7.9288154 A 1.1191255,1.1099671 0 0 0 -0.45339794,7.1758396 L -6.3065496,4.3809971 A 1.1191255,1.1099671 0 0 0 -6.8492015,4.2724668 Z"
style="fill:#326ce5;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3054-2-9"
d="M -6.8523435,3.8176372 A 1.1814304,1.171762 0 0 0 -7.3044284,3.932904 l -6.1787426,2.9512758 a 1.1814304,1.171762 0 0 0 -0.639206,0.794891 l -1.523915,6.6308282 a 1.1814304,1.171762 0 0 0 0.160175,0.89893 1.1814304,1.171762 0 0 0 0.06736,0.09281 l 4.276094,5.317236 a 1.1814304,1.171762 0 0 0 0.92363,0.440858 l 6.8576188,-0.0015 a 1.1814304,1.171762 0 0 0 0.9236308,-0.44011 l 4.2745966,-5.317985 a 1.1814304,1.171762 0 0 0 0.228288,-0.990993 L 0.53894439,7.6775738 A 1.1814304,1.171762 0 0 0 -0.10026101,6.8834313 L -6.2790037,3.9321555 A 1.1814304,1.171762 0 0 0 -6.8523435,3.8176372 Z m 0.00299,0.4550789 a 1.1191255,1.1099671 0 0 1 0.5426517,0.1085303 l 5.85315169,2.7948425 A 1.1191255,1.1099671 0 0 1 0.15197811,7.9290648 L 1.598051,14.21035 a 1.1191255,1.1099671 0 0 1 -0.2163123,0.939348 l -4.0493032,5.037304 a 1.1191255,1.1099671 0 0 1 -0.8749789,0.416906 l -6.4961006,0.0015 a 1.1191255,1.1099671 0 0 1 -0.874979,-0.417652 l -4.0508,-5.036554 a 1.1191255,1.1099671 0 0 1 -0.06362,-0.08832 1.1191255,1.1099671 0 0 1 -0.151942,-0.851028 l 1.443827,-6.2812853 a 1.1191255,1.1099671 0 0 1 0.605524,-0.7529758 l 5.8524036,-2.7963395 a 1.1191255,1.1099671 0 0 1 0.4288819,-0.1085303 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
<g
id="g3345"
transform="translate(0.09238801,0.66897746)">
<path
style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 4.4949896,11.260826 2.9083311,0 0,2.041667 -2.9083311,0 z"
id="path964" />
<path
style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 8.4637407,11.260826 2.9083303,0 0,2.041667 -2.9083303,0 z"
id="path966" />
<path
style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 12.432491,11.260826 2.90833,0 0,2.041667 -2.90833,0 z"
id="path968" />
<path
style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 7.6137407,5.2082921 4.6083303,0 0,2.041667 -4.6083303,0 z"
id="path970" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.52916664;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 9.9179005,7.2499601 0,2.005449 -3.966671,0 0,2.0028859"
id="path978" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.52899998;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 9.9179005,7.2499601 0,2.005449 3.9666705,0 0,2.0028859"
id="path986" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.52916664;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 9.9095538,7.2512251 0,2.005449 0.0167,0 0,2.0028859"
id="path982" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.035334mm"
height="17.500378mm"
viewBox="0 0 18.035334 17.500378"
version="1.1"
id="svg13826"
inkscape:version="0.91 r13725"
sodipodi:docname="pv.svg">
<defs
id="defs13820" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8"
inkscape:cx="-12.090004"
inkscape:cy="28.752239"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="775"
inkscape:window-x="0"
inkscape:window-y="1"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata13823">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-0.99262638,-1.174181)">
<g
id="g70"
transform="matrix(1.0148887,0,0,1.0148887,16.902146,-2.698726)">
<path
inkscape:export-ydpi="250.55"
inkscape:export-xdpi="250.55"
inkscape:export-filename="new.png"
inkscape:connector-curvature="0"
id="path3055"
d="m -6.8492015,4.2724668 a 1.1191255,1.1099671 0 0 0 -0.4288818,0.1085303 l -5.8524037,2.7963394 a 1.1191255,1.1099671 0 0 0 -0.605524,0.7529759 l -1.443828,6.2812846 a 1.1191255,1.1099671 0 0 0 0.151943,0.851028 1.1191255,1.1099671 0 0 0 0.06362,0.08832 l 4.0508,5.036555 a 1.1191255,1.1099671 0 0 0 0.874979,0.417654 l 6.4961011,-0.0015 a 1.1191255,1.1099671 0 0 0 0.8749788,-0.416906 L 1.3818872,15.149453 A 1.1191255,1.1099671 0 0 0 1.5981986,14.210104 L 0.15212657,7.9288154 A 1.1191255,1.1099671 0 0 0 -0.45339794,7.1758396 L -6.3065496,4.3809971 A 1.1191255,1.1099671 0 0 0 -6.8492015,4.2724668 Z"
style="fill:#326ce5;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3054-2-9"
d="M -6.8523435,3.8176372 A 1.1814304,1.171762 0 0 0 -7.3044284,3.932904 l -6.1787426,2.9512758 a 1.1814304,1.171762 0 0 0 -0.639206,0.794891 l -1.523915,6.6308282 a 1.1814304,1.171762 0 0 0 0.160175,0.89893 1.1814304,1.171762 0 0 0 0.06736,0.09281 l 4.276094,5.317236 a 1.1814304,1.171762 0 0 0 0.92363,0.440858 l 6.8576188,-0.0015 a 1.1814304,1.171762 0 0 0 0.9236308,-0.44011 l 4.2745966,-5.317985 a 1.1814304,1.171762 0 0 0 0.228288,-0.990993 L 0.53894439,7.6775738 A 1.1814304,1.171762 0 0 0 -0.10026101,6.8834313 L -6.2790037,3.9321555 A 1.1814304,1.171762 0 0 0 -6.8523435,3.8176372 Z m 0.00299,0.4550789 a 1.1191255,1.1099671 0 0 1 0.5426517,0.1085303 l 5.85315169,2.7948425 A 1.1191255,1.1099671 0 0 1 0.15197811,7.9290648 L 1.598051,14.21035 a 1.1191255,1.1099671 0 0 1 -0.2163123,0.939348 l -4.0493032,5.037304 a 1.1191255,1.1099671 0 0 1 -0.8749789,0.416906 l -6.4961006,0.0015 a 1.1191255,1.1099671 0 0 1 -0.874979,-0.417652 l -4.0508,-5.036554 a 1.1191255,1.1099671 0 0 1 -0.06362,-0.08832 1.1191255,1.1099671 0 0 1 -0.151942,-0.851028 l 1.443827,-6.2812853 a 1.1191255,1.1099671 0 0 1 0.605524,-0.7529758 l 5.8524036,-2.7963395 a 1.1191255,1.1099671 0 0 1 0.4288819,-0.1085303 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
<g
id="g3341"
transform="translate(-0.18983289,0.49258906)">
<path
style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 5.5709614,7.9105849 0,0 c 0,0.621121 2.0725401,1.124639 4.6291706,1.124639 2.556609,0 4.629159,-0.503518 4.629159,-1.124639 l 0,3.0423911 c 0,0.62112 -2.07255,1.124638 -4.629159,1.124638 -2.5566305,0 -4.6291706,-0.503518 -4.6291706,-1.124638 z"
id="path1114" />
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 5.5709614,7.9105849 0,0 c 0,-0.621119 2.0725401,-1.124637 4.6291706,-1.124637 2.556609,0 4.629159,0.503518 4.629159,1.124637 l 0,0 c 0,0.621121 -2.07255,1.124639 -4.629159,1.124639 -2.5566305,0 -4.6291706,-0.503518 -4.6291706,-1.124639 z"
id="path1116" />
<path
style="fill:none;fill-rule:evenodd;stroke:#326ce5;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m 14.829291,7.9105849 0,0 c 0,0.621121 -2.07255,1.124639 -4.629159,1.124639 -2.5566205,0 -4.6291706,-0.503518 -4.6291706,-1.124639 l 0,0 c 0,-0.621119 2.0725501,-1.124637 4.6291706,-1.124637 2.556609,0 4.629159,0.503518 4.629159,1.124637 l 0,3.0423911 c 0,0.62112 -2.07255,1.124638 -4.629159,1.124638 -2.5566205,0 -4.6291706,-0.503518 -4.6291706,-1.124638 l 0,-3.0423911"
id="path1120" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 KiB

File renamed without changes.
@@ -0,0 +1,5 @@
import definition from "../../boards/(content)/(home)/_definition";
const { layout } = definition;
export default layout;
@@ -0,0 +1,7 @@
import definition from "../../boards/(content)/(home)/_definition";
const { generateMetadataAsync: generateMetadata, page } = definition;
export default page;
export { generateMetadata };
@@ -0,0 +1,3 @@
import HomeBoardNotFoundPage from "../boards/(content)/not-found";
export default HomeBoardNotFoundPage;
@@ -0,0 +1,12 @@
"use client";
import type { PropsWithChildren } from "react";
import { useSuspenseDayJsLocalization } from "@homarr/translation/dayjs";
export const DayJsLoader = ({ children }: PropsWithChildren) => {
// Load the dayjs localization for the current locale with suspense
useSuspenseDayJsLocalization();
return children;
};
@@ -0,0 +1,8 @@
"use client";
import type { PropsWithChildren } from "react";
import { Provider } from "jotai";
export const JotaiProvider = ({ children }: PropsWithChildren) => {
return <Provider>{children}</Provider>;
};
@@ -0,0 +1,77 @@
"use client";
import type { PropsWithChildren } from "react";
import type { MantineColorScheme, MantineColorSchemeManager } from "@mantine/core";
import { createTheme, DirectionProvider, MantineProvider } from "@mantine/core";
import dayjs from "dayjs";
import { clientApi } from "@homarr/api/client";
import { useSession } from "@homarr/auth/client";
import { parseCookies, setClientCookie } from "@homarr/common";
import type { ColorScheme } from "@homarr/definitions";
import { colorSchemeCookieKey } from "@homarr/definitions";
export const CustomMantineProvider = ({
children,
defaultColorScheme,
}: PropsWithChildren<{ defaultColorScheme: ColorScheme }>) => {
const manager = useColorSchemeManager();
return (
<DirectionProvider>
<MantineProvider
defaultColorScheme={defaultColorScheme}
colorSchemeManager={manager}
theme={createTheme({
primaryColor: "red",
autoContrast: true,
})}
>
{children}
</MantineProvider>
</DirectionProvider>
);
};
export function useColorSchemeManager(): MantineColorSchemeManager {
const { data: session } = useSession();
const updateCookieValue = (value: Exclude<MantineColorScheme, "auto">) => {
setClientCookie(colorSchemeCookieKey, value, { expires: dayjs().add(1, "year").toDate(), path: "/" });
};
const { mutate: mutateColorScheme } = clientApi.user.changeColorScheme.useMutation({
onSuccess: (_, variables) => {
updateCookieValue(variables.colorScheme);
},
});
return {
get: (defaultValue) => {
if (typeof window === "undefined") {
return defaultValue;
}
try {
const cookies = parseCookies(document.cookie);
return (cookies[colorSchemeCookieKey] as MantineColorScheme | undefined) ?? defaultValue;
} catch {
return defaultValue;
}
},
set: (value) => {
if (value === "auto") return;
try {
if (session) {
mutateColorScheme({ colorScheme: value });
}
updateCookieValue(value);
} catch (error) {
console.warn("[@mantine/core] Color scheme manager was unable to save color scheme.", error);
}
},
subscribe: () => undefined,
unsubscribe: () => undefined,
clear: () => undefined,
};
}
Loaded 100 of 3377 files, more files were not shown because too many files have changed in this diff. Show more