27 Commits

Author SHA1 Message Date
renovate-bot 40398ad059 Update grafana/tempo:latest Docker digest to 8b14474
Build / build (pull_request) Failing after 59s
Lint / lint (push) Failing after 12s
2025-10-18 12:01:54 +00:00
renovate-bot f71b2a99d6 Update actions/checkout action to v5 (#41)
Lint / lint (push) Failing after 12s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | major | `v3` -> `v5` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v5`](https://github.com/actions/checkout/compare/v4...v5)

[Compare Source](https://github.com/actions/checkout/compare/v4...v5)

### [`v4`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v422)

[Compare Source](https://github.com/actions/checkout/compare/v3...v4)

- `url-helper.ts` now leverages well-known environment variables by [@&#8203;jww3](https://github.com/jww3) in [#&#8203;1941](https://github.com/actions/checkout/pull/1941)
- Expand unit test coverage for `isGhes` by [@&#8203;jww3](https://github.com/jww3) in [#&#8203;1946](https://github.com/actions/checkout/pull/1946)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTEuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1MS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #41
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-17 17:52:13 +02:00
renovate-bot 2ae49eeda8 Update docker minor+patch+digest updates (#40)
Lint / lint (push) Failing after 13s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `9d90999` -> `35b5ca6` |
| [prom/prometheus](https://github.com/prometheus/prometheus) | patch | `v3.7.0` -> `v3.7.1` |

---

### Release Notes

<details>
<summary>prometheus/prometheus (prom/prometheus)</summary>

### [`v3.7.1`](https://github.com/prometheus/prometheus/releases/tag/v3.7.1): 3.7.1 / 2025-10-16

[Compare Source](https://github.com/prometheus/prometheus/compare/v3.7.0...v3.7.1)

- \[BUGFIX] OTLP: Prefix `key_` to label name when translating an OTel attribute name starting with a single underscore, and keep multiple consecutive underscores in label name when translating an OTel attribute name. This reverts the breaking changes introduced in 3.7.0. [#&#8203;17344](https://github.com/prometheus/prometheus/issues/17344)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTEuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1MS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/40
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-17 17:51:58 +02:00
Julien Valverdé 3f45c7ae3e Work
Lint / lint (push) Failing after 42s
2025-10-17 06:39:57 +02:00
Julien Valverdé 35d4bf7d7f Regenerate lockfile
Lint / lint (push) Failing after 13s
2025-10-16 22:24:03 +02:00
renovate-bot 1da0fbfce1 Update bun minor+patch updates (#39)
Lint / lint (push) Failing after 6s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.44.0` -> `^0.45.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.44.1/0.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.44.1/0.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.545.0` -> `^0.546.0`](https://renovatebot.com/diffs/npm/lucide-react/0.545.0/0.546.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.546.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.545.0/0.546.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [postcss-css-variables](https://github.com/MadLittleMods/postcss-css-variables) | [`^0.14.0` -> `^0.19.0`](https://renovatebot.com/diffs/npm/postcss-css-variables/0.14.0/0.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss-css-variables/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss-css-variables/0.14.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.45.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0451)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.45.0...v0.45.1)

##### Patch Changes

- [#&#8203;423](https://github.com/Effect-TS/language-service/pull/423) [`70d8734`](https://github.com/Effect-TS/language-service/commit/70d8734558c4ba3abfd69fafce785b7f58a70a52) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add code fix to rewrite Schema class constructor overrides as static 'new' methods

  When detecting constructor overrides in Schema classes, the diagnostic now provides a new code fix option that automatically rewrites the constructor as a static 'new' method. This preserves the custom initialization logic while maintaining Schema's decoding behavior.

  Example:

  ```typescript
  // Before (with constructor override)
  class MyClass extends Schema.Class<MyClass>("MyClass")({ a: Schema.Number }) {
    b: number;
    constructor() {
      super({ a: 42 });
      this.b = 56;
    }
  }

  // After (using static 'new' method)
  class MyClass extends Schema.Class<MyClass>("MyClass")({ a: Schema.Number }) {
    b: number;
    public static new() {
      const _this = new this({ a: 42 });
      _this.b = 56;
      return _this;
    }
  }
  ```

- [#&#8203;421](https://github.com/Effect-TS/language-service/pull/421) [`8c455ed`](https://github.com/Effect-TS/language-service/commit/8c455ed7a459665d26c30f1e5d90338e48794815) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update dependencies to their latest versions including Effect 3.18.4, TypeScript 5.9.3, and various ESLint and build tooling packages

### [`v0.45.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0450)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.44.1...v0.45.0)

##### Minor Changes

- [#&#8203;419](https://github.com/Effect-TS/language-service/pull/419) [`7cd7216`](https://github.com/Effect-TS/language-service/commit/7cd7216abc8e3057098acf1889c7494d17a869d6) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add support for custom APIs in deterministicKeys diagnostic using the `@effect-identifier` JSDoc tag.

  You can now enforce deterministic keys in custom APIs that follow an `extends MyApi("identifier")` pattern by:

  - Adding `extendedKeyDetection: true` to plugin options to enable detection
  - Marking the identifier parameter with `/** @&#8203;effect-identifier */` JSDoc tag

  Example:

  ```ts
  export function Repository(/** @&#8203;effect-identifier */ identifier: string) {
    return Context.Tag("Repository/" + identifier);
  }

  export class UserRepo extends Repository("user-repo")<
    UserRepo,
    {
      /** ... */
    }
  >() {}
  ```

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.546.0`](https://github.com/lucide-icons/lucide/releases/tag/0.546.0): Version 0.546.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.545.0...0.546.0)

#### What's Changed

- fix(icons): changed `receipt-text` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3553](https://github.com/lucide-icons/lucide/pull/3553)
- fix(docs): removed duplicate text in intro text by [@&#8203;nielsswinkels](https://github.com/nielsswinkels) in [#&#8203;3673](https://github.com/lucide-icons/lucide/pull/3673)
- feat(icons): add VS Code `squircle` base shape snippet by [@&#8203;danielbayley](https://github.com/danielbayley) in [#&#8203;3674](https://github.com/lucide-icons/lucide/pull/3674)
- fix(icons): changed `sword` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3421](https://github.com/lucide-icons/lucide/pull/3421)
- feat(icons): added `monitor-cloud` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3037](https://github.com/lucide-icons/lucide/pull/3037)

#### New Contributors

- [@&#8203;nielsswinkels](https://github.com/nielsswinkels) made their first contribution in [#&#8203;3673](https://github.com/lucide-icons/lucide/pull/3673)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.545.0...0.546.0>

</details>

<details>
<summary>MadLittleMods/postcss-css-variables (postcss-css-variables)</summary>

### [`v0.19.0`](https://github.com/MadLittleMods/postcss-css-variables/blob/HEAD/CHANGELOG.md#v0190---2023-04-12)

[Compare Source](https://github.com/MadLittleMods/postcss-css-variables/compare/v0.18.0...v0.19.0)

- Fix nesting edge case with comma separated selectors
  - Thank you to [@&#8203;marapper](https://github.com/marapper) for the [contribution](https://github.com/MadLittleMods/postcss-css-variables/pull/131)

### [`v0.18.0`](https://github.com/MadLittleMods/postcss-css-variables/blob/HEAD/CHANGELOG.md#v0180---2021-05-11)

[Compare Source](https://github.com/MadLittleMods/postcss-css-variables/compare/v0.17.0...v0.18.0)

- \[breaking] Add basic postcss 8 support (older versions of PostCSS no longer compatible)
  - Thank you to [@&#8203;delucis](https://github.com/delucis) for the [contribution](https://github.com/MadLittleMods/postcss-css-variables/pull/129)

### [`v0.17.0`](https://github.com/MadLittleMods/postcss-css-variables/blob/HEAD/CHANGELOG.md#v0170---2020-04-24)

[Compare Source](https://github.com/MadLittleMods/postcss-css-variables/compare/v0.16.0...v0.17.0)

- Expand variables in AtRule properties
  - Thank you to [@&#8203;pvande](https://github.com/pvande) for the [contribution](https://github.com/MadLittleMods/postcss-css-variables/pull/104)
  - Merged via [#&#8203;121](https://github.com/MadLittleMods/postcss-css-variables/pull/121)

### [`v0.16.0`](https://github.com/MadLittleMods/postcss-css-variables/blob/HEAD/CHANGELOG.md#v0160---2020-04-24)

[Compare Source](https://github.com/MadLittleMods/postcss-css-variables/compare/v0.14.0...v0.16.0)

- Add ability to pass callback function to `options.preserve` to determine whether to preserve declaration
  - Thank you to [@&#8203;ekatioz](https://github.com/ekatioz) for the [contribution](https://github.com/MadLittleMods/postcss-css-variables/pull/116)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTAuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE1MC4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #39
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-16 21:35:02 +02:00
renovate-bot de39e4fa94 Update grafana/tempo:latest Docker digest to 9d90999 (#38)
Lint / lint (push) Failing after 12s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `4b9b945` -> `9d90999` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTAuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE1MC4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #38
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-16 21:34:30 +02:00
Julien Valverdé 76ac4317f3 Cleanup
Lint / lint (push) Failing after 12s
2025-10-16 04:35:40 +02:00
Julien Valverdé 1b1f88cf76 Add 98.css
Lint / lint (push) Failing after 14s
2025-10-16 04:32:26 +02:00
Julien Valverdé 64a564b6cc Update color scheme
Lint / lint (push) Successful in 13s
2025-10-16 03:13:40 +02:00
renovate-bot 4ad043db82 Update docker minor+patch+digest updates (#37)
Lint / lint (push) Successful in 15s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `ae81713` -> `4b9b945` |
| [prom/prometheus](https://github.com/prometheus/prometheus) | minor | `v3.6.0` -> `v3.7.0` |

---

### Release Notes

<details>
<summary>prometheus/prometheus (prom/prometheus)</summary>

### [`v3.7.0`](https://github.com/prometheus/prometheus/releases/tag/v3.7.0): 3.7.0 / 2025-10-15

[Compare Source](https://github.com/prometheus/prometheus/compare/v3.6.0...v3.7.0)

- \[CHANGE] Remote-write: the following metrics are deprecated:
  - `prometheus_remote_storage_samples_in_total`, use `prometheus_wal_watcher_records_read_total{type="samples"}` and `prometheus_remote_storage_samples_dropped_total` instead,
  - `prometheus_remote_storage_histograms_in_total`, use `prometheus_wal_watcher_records_read_total{type=~".*histogram_samples"}` and `prometheus_remote_storage_histograms_dropped_total` instead,
  - `prometheus_remote_storage_exemplars_in_total`, use `prometheus_wal_watcher_records_read_total{type="exemplars"}` and `prometheus_remote_storage_exemplars_dropped_total` instead,
  - `prometheus_remote_storage_highest_timestamp_in_seconds`, use the more accurate `prometheus_remote_storage_queue_highest_timestamp_seconds` instead in dashboards and alerts to properly account for relabeling and for more accuracy. [#&#8203;17065](https://github.com/prometheus/prometheus/issues/17065)
- \[FEATURE] PromQL: Add support for experimental anchored and smoothed rate behind feature flag `promql-extended-range-selectors`. [#&#8203;16457](https://github.com/prometheus/prometheus/issues/16457)
- \[FEATURE] Federation: Add support for native histograms with custom buckets (NHCB). [#&#8203;17215](https://github.com/prometheus/prometheus/issues/17215)
- \[FEATURE] PromQL: Add `first_over_time(...)` and `ts_of_first_over_time(...)` behind feature flag `experimental-promql-functions`. [#&#8203;16963](https://github.com/prometheus/prometheus/issues/16963) [#&#8203;17021](https://github.com/prometheus/prometheus/issues/17021)
- \[FEATURE] Remote-write: Add support for Azure Workload Identity as an authentication method for the receiver. [#&#8203;16788](https://github.com/prometheus/prometheus/issues/16788)
- \[FEATURE] Remote-write: Add type and unit labels to outgoing time series in remote-write 2.0 when the `type-and-unit-labels` feature flag is enabled. [#&#8203;17033](https://github.com/prometheus/prometheus/issues/17033)
- \[FEATURE] OTLP: Write start time of metrics as created time zero samples into TSDB when `created-timestamp-zero-ingestion` feature flag is enabled. [#&#8203;16951](https://github.com/prometheus/prometheus/issues/16951)
- \[ENHANCEMENT] PromQL: Add warn-level annotations for counter reset conflicts in certain histogram operations. [#&#8203;17051](https://github.com/prometheus/prometheus/issues/17051) [#&#8203;17094](https://github.com/prometheus/prometheus/issues/17094)
- \[ENHANCEMENT] UI: Add scrape interval and scrape timeout to targets page. [#&#8203;17158](https://github.com/prometheus/prometheus/issues/17158)
- \[ENHANCEMENT] TSDB: Reduce the resolution of native histograms read from chunks or remote read if the schema is exponential. [#&#8203;17213](https://github.com/prometheus/prometheus/issues/17213)
- \[ENHANCEMENT] Remote write: Add logging for unexpected metadata in sample batches, when metadata entries are found in samples-only batches. [#&#8203;17034](https://github.com/prometheus/prometheus/issues/17034) [#&#8203;17082](https://github.com/prometheus/prometheus/issues/17082)
- \[ENHANCEMENT] Rules: Support concurrent evaluation for rules querying `ALERTS` and `ALERTS_FOR_STATE`. [#&#8203;17064](https://github.com/prometheus/prometheus/issues/17064)
- \[ENHANCEMENT] TSDB: Add logs to improve visibility into internal operations. [#&#8203;17074](https://github.com/prometheus/prometheus/issues/17074)
- \[PERF] OTLP: Write directly to TSDB instead of passing through a Remote-Write adapter when receiving OTLP metrics. [#&#8203;16951](https://github.com/prometheus/prometheus/issues/16951)
- \[PERF] OTLP: Reduce number of logs emitted from OTLP endpoint. No need to log duplicate sample errors. [#&#8203;17201](https://github.com/prometheus/prometheus/issues/17201)
- \[PERF] PromQL: Move more work to preprocessing step. [#&#8203;16896](https://github.com/prometheus/prometheus/issues/16896)
- \[PERF] PromQL: Reduce allocations when walking the syntax tree. [#&#8203;16593](https://github.com/prometheus/prometheus/issues/16593)
- \[PERF] TSDB: Optimize appender creation, slightly speeding up startup. [#&#8203;16922](https://github.com/prometheus/prometheus/issues/16922)
- \[PERF] TSDB: Improve speed of querying a series with multiple matchers. [#&#8203;13971](https://github.com/prometheus/prometheus/issues/13971)
- \[BUGFIX] Alerting: Mutating alerts relabeling (using `replace` actions, etc.) within a `alertmanager_config.alert_relabel_configs` block is now scoped correctly and no longer yields altered alerts to subsequent blocks. [#&#8203;17063](https://github.com/prometheus/prometheus/issues/17063)
- \[BUGFIX] Config: Infer valid escaping scheme when scrape config validation scheme is set. [#&#8203;16923](https://github.com/prometheus/prometheus/issues/16923)
- \[BUGFIX] TSDB: Correctly handle appending mixed-typed samples to the same series. [#&#8203;17071](https://github.com/prometheus/prometheus/issues/17071) [#&#8203;17241](https://github.com/prometheus/prometheus/issues/17241) [#&#8203;17290](https://github.com/prometheus/prometheus/issues/17290) [#&#8203;17295](https://github.com/prometheus/prometheus/issues/17295) [#&#8203;17296](https://github.com/prometheus/prometheus/issues/17296)
- \[BUGFIX] Remote-write: Prevent sending unsupported native histograms with custom buckets (NHCB) over Remote-write 1.0, log warning. [#&#8203;17146](https://github.com/prometheus/prometheus/issues/17146)
- \[BUGFIX] TSDB: Fix metadata entries handling on `metadata-wal-records` experimental feature for native histograms with custom buckets (NHCB) in protobuf scraping. [#&#8203;17156](https://github.com/prometheus/prometheus/issues/17156)
- \[BUGFIX] TSDB: Ignore Native Histograms with invalid schemas during WAL/WBL replay. [#&#8203;17214](https://github.com/prometheus/prometheus/issues/17214)
- \[BUGFIX] PromQL: Avoid empty metric names in annotations for `histogram_quantile()`. [#&#8203;16794](https://github.com/prometheus/prometheus/issues/16794)
- \[BUGFIX] PromQL: Correct inaccurate character positions in errors for some aggregate expressions. [#&#8203;16996](https://github.com/prometheus/prometheus/issues/16996) [#&#8203;17031](https://github.com/prometheus/prometheus/issues/17031)
- \[BUGFIX] PromQL: Fix `info()` function on churning series. [#&#8203;17135](https://github.com/prometheus/prometheus/issues/17135)
- \[BUGFIX] PromQL: Set native histogram to gauge type when subtracting or multiplying/dividing with negative factors. [#&#8203;17004](https://github.com/prometheus/prometheus/issues/17004)
- \[BUGFIX] TSDB: Reject unsupported native histogram schemas when attempting to append to TSDB. For scrape and remote-write implement reducing the resolution to fit the maximum if the schema is within the -9 to 52. [#&#8203;17189](https://github.com/prometheus/prometheus/issues/17189)
- \[BUGFIX] Remote-write: Fix HTTP handler to return after writing error response for invalid compression. [#&#8203;17050](https://github.com/prometheus/prometheus/issues/17050)
- \[BUGFIX] Remote-write: Return HTTP error `400` instead of `5xx` for wrongly formatted Native Histograms. [#&#8203;17210](https://github.com/prometheus/prometheus/issues/17210)
- \[BUGFIX] Scrape: Prevent staleness markers from generating unnecessary series. [#&#8203;16429](https://github.com/prometheus/prometheus/issues/16429)
- \[BUGFIX] TSDB: Avoid misleading `Failed to calculate size of \"wal\" dir` error logs during WAL clean-up. [#&#8203;17006](https://github.com/prometheus/prometheus/issues/17006)
- \[BUGFIX] TSDB: Prevent erroneously dropping series records during WAL checkpoints. [#&#8203;17029](https://github.com/prometheus/prometheus/issues/17029)
- \[BUGFIX] UI: Fix redirect to path of `-web.external-url` if `-web.route-prefix` is configured. [#&#8203;17240](https://github.com/prometheus/prometheus/issues/17240)
- \[BUGIFX] Remote-write: Do not panic on invalid symbol table in remote-write 2.0. [#&#8203;17160](https://github.com/prometheus/prometheus/issues/17160)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDkuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0OS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/37
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-15 19:28:18 +02:00
Julien Valverdé 4d22f8e46a Root work
Lint / lint (push) Successful in 42s
2025-10-15 03:19:42 +02:00
renovate-bot da1149eb23 Update grafana/tempo:latest Docker digest to ae81713 (#36)
Lint / lint (push) Failing after 12s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `06ebe79` -> `ae81713` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDguMyIsInVwZGF0ZWRJblZlciI6IjQxLjE0OC4zIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #36
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-14 21:08:46 +02:00
Julien Valverdé b0408a8929 Fix i18n
Lint / lint (push) Has been cancelled
2025-10-14 21:08:27 +02:00
Julien Valverdé afabfc957b Work
Lint / lint (push) Failing after 12s
2025-10-14 06:13:36 +02:00
renovate-bot 8688604e13 Update grafana/tempo:latest Docker digest to 06ebe79 (#35)
Lint / lint (push) Successful in 13s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `850b64c` -> `06ebe79` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDYuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni40IiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #35
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-14 05:19:36 +02:00
Julien Valverdé 999fff8ddc Work
Lint / lint (push) Successful in 42s
2025-10-14 05:17:52 +02:00
Julien Valverdé eefb4481ec Work
Lint / lint (push) Successful in 42s
2025-10-13 06:04:10 +02:00
Julien Valverdé 26bc15c15b Regenerate lockfile
Lint / lint (push) Successful in 12s
2025-10-13 00:43:00 +02:00
renovate-bot d6ec4e9e46 Update docker minor+patch+digest updates (#34)
Lint / lint (push) Failing after 6s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| grafana/tempo |  | digest | `6928536` -> `850b64c` |
| [oven/bun](https://github.com/oven-sh/bun) | stage | minor | `1.2.23` -> `1.3.0` |
| [oven/bun](https://github.com/oven-sh/bun) |  | minor | `1.2.23` -> `1.3.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDYuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #34
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-13 00:18:04 +02:00
renovate-bot 9f9e62858d Update bun minor+patch updates (#31)
Lint / lint (push) Failing after 6s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.42.0` -> `^0.44.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.42.0/0.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.42.0/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-http) ([source](https://github.com/open-telemetry/opentelemetry-js)) | [`^0.205.0` -> `^0.206.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-trace-otlp-http/0.205.0/0.206.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-trace-otlp-http/0.206.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-trace-otlp-http/0.205.0/0.206.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.544.0` -> `^0.545.0`](https://renovatebot.com/diffs/npm/lucide-react/0.544.0/0.545.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.545.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.544.0/0.545.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.44.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0440)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.43.2...v0.44.0)

##### Minor Changes

- [#&#8203;415](https://github.com/Effect-TS/language-service/pull/415) [`42c66a1`](https://github.com/Effect-TS/language-service/commit/42c66a12658d712671b482fdcce0c5b608171d4f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `diagnosticsName` option to include rule names in diagnostic messages. When enabled (default: true), diagnostic messages will display the rule name at the end, e.g., "Effect must be yielded or assigned to a variable. effect(floatingEffect)"

### [`v0.43.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0432)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.43.1...v0.43.2)

##### Patch Changes

- [#&#8203;410](https://github.com/Effect-TS/language-service/pull/410) [`0b40c04`](https://github.com/Effect-TS/language-service/commit/0b40c04625cadc0a8dfc3b194daafea1f751a3b9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Defer typescript loading in CLI

### [`v0.43.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0431)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.43.0...v0.43.1)

##### Patch Changes

- [#&#8203;408](https://github.com/Effect-TS/language-service/pull/408) [`9ccd800`](https://github.com/Effect-TS/language-service/commit/9ccd8007b338e0524e17d3061acb722ad5c0e87b) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix handling of leading/trailing slashes

### [`v0.43.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0430)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.42.0...v0.43.0)

##### Minor Changes

- [#&#8203;407](https://github.com/Effect-TS/language-service/pull/407) [`6590590`](https://github.com/Effect-TS/language-service/commit/6590590c0decd83f0baa4fd47655f0f67b6c5db9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add deterministicKeys diagnostic to enforce consistent key patterns for Services and Errors

  This new diagnostic helps maintain consistent and unique keys for Effect Services and Tagged Errors by validating them against configurable patterns. The diagnostic is disabled by default and can be enabled via the `deterministicKeys` diagnosticSeverity setting.

  Two patterns are supported:

  - `default`: Constructs keys from package name + file path + class identifier (e.g., `@effect/package/FileName/ClassIdentifier`)
  - `package-identifier`: Uses package name + identifier for flat project structures

  Example configuration:

  ```jsonc
  {
    "diagnosticSeverity": {
      "deterministicKeys": "error"
    },
    "keyPatterns": [
      {
        "target": "service",
        "pattern": "default",
        "skipLeadingPath": ["src/"]
      }
    ]
  }
  ```

  The diagnostic also provides auto-fix code actions to update keys to match the configured patterns.

##### Patch Changes

- [#&#8203;405](https://github.com/Effect-TS/language-service/pull/405) [`f43b3ab`](https://github.com/Effect-TS/language-service/commit/f43b3ab32cad347fb2eb0af740771e35a6c7ff66) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix wrapWithEffectGen refactor not working on class heritage clauses

  The wrapWithEffectGen refactor now correctly skips expressions in heritage clauses (e.g., `extends` clauses in class declarations) to avoid wrapping them inappropriately.

</details>

<details>
<summary>open-telemetry/opentelemetry-js (@&#8203;opentelemetry/exporter-trace-otlp-http)</summary>

### [`v0.206.0`](https://github.com/open-telemetry/opentelemetry-js/compare/2d3760898cdc4f0e68f9f956603cc5df279eb3a8...8e9b8bb2a7a2d81ae0b5171efdf1644210697fa2)

[Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/2d3760898cdc4f0e68f9f956603cc5df279eb3a8...8e9b8bb2a7a2d81ae0b5171efdf1644210697fa2)

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.545.0`](https://github.com/lucide-icons/lucide/releases/tag/0.545.0): Version 0.545.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.544.0...0.545.0)

#### What's Changed

- fix(icons): changed `flame` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3600](https://github.com/lucide-icons/lucide/pull/3600)
- fix(icons): arcified `square-m` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3549](https://github.com/lucide-icons/lucide/pull/3549)
- chore(deps-dev): bump vite from 6.3.5 to 6.3.6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3611](https://github.com/lucide-icons/lucide/pull/3611)
- fix(icons): changed `combine` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3200](https://github.com/lucide-icons/lucide/pull/3200)
- fix(icons): changed `building-2` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3509](https://github.com/lucide-icons/lucide/pull/3509)
- chore(deps): bump devalue from 5.1.1 to 5.3.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3638](https://github.com/lucide-icons/lucide/pull/3638)
- feat(icons): Add `motorbike` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3371](https://github.com/lucide-icons/lucide/pull/3371)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.544.0...0.545.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzguNCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #31
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-13 00:17:49 +02:00
Julien Valverdé 569874a7af Merge branch 'master' into next
Lint / lint (push) Successful in 13s
2025-10-13 00:13:14 +02:00
Julien Valverdé 6c9dcaafc6 Switch to watch mode
Lint / lint (push) Successful in 13s
2025-10-07 00:45:42 +02:00
Julien Valverdé 411aea0a29 Merge branch 'master' into next
Lint / lint (push) Successful in 12s
2025-10-07 00:43:07 +02:00
Julien Valverdé cc3db52f02 Fix VSCode settings
Lint / lint (push) Successful in 13s
2025-10-05 22:47:42 +02:00
Julien Valverdé 619f6a78b2 Fix dependency
Lint / lint (push) Failing after 8s
2025-10-03 18:31:22 +02:00
Julien Valverdé 3416c5a90c Fix
Lint / lint (push) Successful in 12s
2025-10-03 18:26:20 +02:00
20 changed files with 636 additions and 695 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
uses: docker/setup-buildx-action@v3
- name: Checkout
uses: actions/checkout@v7
uses: actions/checkout@v5
- name: Login to Container Registry
if: ${{ gitea.event_name != 'pull_request' }}
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
- name: Set up Bun
uses: oven-sh/setup-bun@v2
- name: Checkout
uses: actions/checkout@v7
uses: actions/checkout@v5
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Lint TypeScript
+3 -3
View File
@@ -1,5 +1,5 @@
FROM oven/bun:1.3.4@sha256:7608db4aeb44f1fe8169cc8ec7055376b3013557b106407ccf092b00e426407d AS bun
FROM node:22.21.1-trixie-slim@sha256:98e1429d1a0b99378b4de43fa385f0746fd6276faf4feeb6104d91f6bad290f9
FROM oven/bun:1.3.0@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 AS bun
FROM node:22.20.0-trixie-slim@sha256:535ba2ed7dcf0dec29b0af4cac2b87ccdd935880212d4b9537e767b078ce1ca3
COPY --from=bun /usr/local/bin/bun \
/usr/local/bin/bunx \
/usr/local/bin/
@@ -7,7 +7,7 @@ WORKDIR /app
COPY ./ ./
RUN bun install --frozen-lockfile && \
bun lint:tsc && \
# bun lint:biome && \
bun lint:biome && \
bun run build && \
bun clean:cache && \
bun clean:modules && \
+470 -372
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -11,7 +11,7 @@ x-env-base: &env-base
services:
server:
<<: *service-base
image: oven/bun:1.3.4@sha256:7608db4aeb44f1fe8169cc8ec7055376b3013557b106407ccf092b00e426407d
image: oven/bun:1.3.0@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
volumes:
- *volume-app
working_dir: /app/packages/server
@@ -22,7 +22,7 @@ services:
cli:
<<: *service-base
image: oven/bun:1.3.4@sha256:7608db4aeb44f1fe8169cc8ec7055376b3013557b106407ccf092b00e426407d
image: oven/bun:1.3.0@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
volumes:
- *volume-app
working_dir: /app
@@ -35,7 +35,7 @@ services:
webapp:
<<: *service-base
image: node:22.21.1@sha256:4ad2c2b350ab49fb637ab40a269ffe207c61818bb7eb3a4ea122001a0c605e1f
image: node:22.20.0@sha256:2bb201f33898d2c0ce638505b426f4dd038cc00e5b2b4cbba17b069f0fff1496
ports:
- ${PORT:?PORT missing}:80
volumes:
@@ -48,7 +48,7 @@ services:
tempo:
<<: *service-base
image: grafana/tempo:latest@sha256:cfe9b6a2e9730f3acb4437727a25e481554a7e00685c6170af73ac52c46c9707
image: grafana/tempo:latest@sha256:8b1447438058ca1307ecf55689ed3da944037cc8918664701b95fa18cdaa1b2c
command: [-config.file=/etc/tempo.yaml]
volumes:
- ./telemetry/tempo.yaml:/etc/tempo.yaml
@@ -56,7 +56,7 @@ services:
stop_signal: SIGKILL
prometheus:
image: prom/prometheus:v3.8.0@sha256:d936808bdea528155c0154a922cd42fd75716b8bb7ba302641350f9f3eaeba09
image: prom/prometheus:v3.7.1@sha256:ff7e389acbe064a4823212a500393d40a28a8f362e4b05cbf6742a9a3ef736b2
command:
- --config.file=/etc/prometheus.yaml
- --web.enable-remote-write-receiver
@@ -65,7 +65,7 @@ services:
- ./telemetry/prometheus.yaml:/etc/prometheus.yaml
grafana:
image: grafana/grafana:latest@sha256:793c8719b0043ed885d1e75200a62d8adf63f0eae00f6f12b7a98eb7293a525c
image: grafana/grafana:latest@sha256:60794dc17e6a58d28539cfd3dd496a7f2da62e13ff54a4055431385eec5d6639
volumes:
- ./telemetry/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
environment:
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "website",
"packageManager": "bun@1.3.14",
"packageManager": "bun@1.2.22",
"private": true,
"workspaces": ["./packages/*"],
"scripts": {
@@ -12,12 +12,12 @@
"clean:modules": "turbo clean:modules && rm -rf node_modules"
},
"devDependencies": {
"@biomejs/biome": "^2.4.15",
"@effect/language-service": "^0.86.1",
"@types/bun": "^1.3.14",
"npm-check-updates": "^22.2.0",
"@biomejs/biome": "^2.2.4",
"@effect/language-service": "^0.45.0",
"@types/bun": "^1.2.23",
"npm-check-updates": "^19.0.0",
"npm-sort": "^0.0.4",
"turbo": "^2.9.14",
"turbo": "^2.5.6",
"typescript": "^5.9.2"
}
}
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@website/common",
"packageManager": "bun@1.3.14",
"packageManager": "bun@1.2.22",
"private": true,
"type": "module",
"exports": {
@@ -14,7 +14,7 @@
"clean:modules": "rm -rf node_modules"
},
"dependencies": {
"@effect/rpc": "^0.75.1",
"effect": "^3.21.2"
"@effect/rpc": "^0.71.0",
"effect": "^3.17.13"
}
}
+16 -17
View File
@@ -1,6 +1,6 @@
{
"name": "@website/server",
"packageManager": "bun@1.3.14",
"packageManager": "bun@1.2.22",
"private": true,
"type": "module",
"scripts": {
@@ -15,25 +15,24 @@
"clean:modules": "rm -rf node_modules"
},
"dependencies": {
"@effect/opentelemetry": "^0.63.0",
"@effect/platform": "^0.96.1",
"@effect/platform-bun": "^0.89.0",
"@effect/platform-node": "^0.106.0",
"@effect/rpc": "^0.75.1",
"@opentelemetry/exporter-trace-otlp-http": "^0.218.0",
"@opentelemetry/sdk-metrics": "^2.7.1",
"@opentelemetry/sdk-trace-base": "^2.7.1",
"@opentelemetry/sdk-trace-node": "^2.7.1",
"@opentelemetry/sdk-trace-web": "^2.7.1",
"@effect/opentelemetry": "^0.58.0",
"@effect/platform": "^0.92.0",
"@effect/platform-bun": "^0.81.0",
"@effect/platform-node": "^0.98.0",
"@effect/rpc": "^0.71.0",
"@opentelemetry/exporter-trace-otlp-http": "^0.206.0",
"@opentelemetry/sdk-metrics": "^2.1.0",
"@opentelemetry/sdk-trace-base": "^2.1.0",
"@opentelemetry/sdk-trace-node": "^2.1.0",
"@opentelemetry/sdk-trace-web": "^2.1.0",
"@website/common": "workspace:*",
"@website/webapp": "workspace:*",
"effect": "^3.21.2"
"effect": "^3.17.13"
},
"devDependencies": {
"@rollup/plugin-node-resolve": "^16.0.3",
"esbuild": "^0.28.0",
"rollup": "^4.60.4",
"@rollup/plugin-node-resolve": "^16.0.1",
"esbuild": "^0.25.9",
"rollup": "^4.52.0",
"rollup-plugin-esbuild": "^6.2.1",
"tsx": "^4.22.3"
"tsx": "^4.20.5"
}
}
+2 -2
View File
@@ -23,7 +23,7 @@ const makeProductionWebappRoute = Effect.fnUntraced(function*(route: HttpRouter.
return HttpRouter.all(route, Effect.gen(function*() {
const req = yield* HttpServerRequest.HttpServerRequest
const source = path.join(dist, decodeURI(new URL(req.url, "http://localhost").pathname))
const source = path.join(dist, req.url)
const exists = yield* fs.stat(source).pipe(
Effect.andThen(stat => stat.type === "File"),
Effect.catchAll(() => Effect.succeed(false)),
@@ -32,7 +32,7 @@ const makeProductionWebappRoute = Effect.fnUntraced(function*(route: HttpRouter.
return yield* HttpServerResponse.setHeader(
yield* HttpServerResponse.file(exists ? source : path.join(dist, "index.html")),
"Cache-Control",
`public, max-age=${Duration.toSeconds("6 hours")}, immutable`,
`public, max-age=${Duration.toSeconds("365 days")}, immutable`
)
}))
})
+27 -27
View File
@@ -1,6 +1,6 @@
{
"name": "@website/webapp",
"packageManager": "bun@1.3.14",
"packageManager": "bun@1.2.22",
"private": true,
"type": "module",
"module": "./stub.ts",
@@ -14,39 +14,39 @@
"clean:modules": "rm -rf node_modules"
},
"dependencies": {
"@effect/platform": "^0.96.1",
"@effect/platform-browser": "^0.76.0",
"@effect/rpc": "^0.75.1",
"@effect/platform": "^0.92.0",
"@effect/platform-browser": "^0.72.0",
"@effect/rpc": "^0.71.0",
"@fontsource/work-sans": "^5.2.8",
"@radix-ui/react-slot": "^1.2.4",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-tooltip": "^1.2.8",
"@tanstack/react-router": "^1.170.4",
"@tanstack/react-router": "^1.131.48",
"@website/common": "workspace:*",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"effect": "^3.21.2",
"effect-fc": "^0.2.6",
"i18next": "^26.2.0",
"i18next-browser-languagedetector": "^8.2.1",
"lucide-react": "^1.16.0",
"react": "^19.2.6",
"react-dom": "^19.2.6",
"react-i18next": "^17.0.8",
"react-icons": "^5.6.0",
"effect": "^3.17.13",
"effect-fc": "^0.1.3",
"i18next": "^25.6.0",
"i18next-browser-languagedetector": "^8.2.0",
"lucide-react": "^0.546.0",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"react-i18next": "^16.0.1",
"react-icons": "^5.5.0",
"react-shadow": "^20.6.0",
"tailwind-merge": "^3.6.0",
"tailwindcss": "^4.3.0"
"tailwind-merge": "^3.3.1",
"tailwindcss": "^4.1.13"
},
"devDependencies": {
"@tailwindcss/vite": "^4.3.0",
"@tanstack/react-router-devtools": "^1.167.0",
"@tanstack/router-plugin": "^1.168.6",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^6.0.2",
"globals": "^17.6.0",
"tw-animate-css": "^1.4.0",
"typescript-eslint": "^8.59.4",
"vite": "^8.0.13"
"@tailwindcss/vite": "^4.1.13",
"@tanstack/react-router-devtools": "^1.131.48",
"@tanstack/router-plugin": "^1.131.48",
"@types/react": "^19.1.13",
"@types/react-dom": "^19.1.9",
"@vitejs/plugin-react": "^5.0.2",
"globals": "^16.4.0",
"tw-animate-css": "^1.3.8",
"typescript-eslint": "^8.44.0",
"vite": "^7.1.5"
}
}
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v6
- uses: actions/setup-node@v3
with:
node-version: 16
registry-url: https://registry.npmjs.org/
Binary file not shown.
@@ -1,104 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pazisme mod</title>
<style>
@font-face {
font-family: "Coolvetica";
src: url("./coolvetica_rg.otf") format("opentype");
font-style: normal;
font-weight: 400;
font-display: swap;
}
* {
box-sizing: border-box;
}
html,
body {
margin: 0;
width: 100%;
height: 100%;
overflow: hidden;
background: #000;
}
body {
position: relative;
font-family: sans-serif;
}
.splash-image {
display: block;
width: 100%;
height: 100%;
object-fit: contain;
}
.title {
position: absolute;
left: 24px;
bottom: 48px;
margin: 0;
color: #fff;
font-family: "Coolvetica", sans-serif;
font-size: clamp(48px, 8vw, 92px);
line-height: 1;
}
</style>
</head>
<body>
<audio id="theme" src="./we_are_charlie_kirk.mp3" preload="auto" autoplay hidden></audio>
<img class="splash-image" src="./screen1.png" alt="Pazismemod screenshot">
<h1 class="title">pazisme mod</h1>
<script>
(function() {
var SONG_START_TIME = 46;
var audio = document.getElementById("theme");
if (!audio) {
return;
}
function syncStartTime() {
if (isFinite(audio.duration) && audio.duration > SONG_START_TIME) {
audio.currentTime = SONG_START_TIME;
}
}
function playFromOffset() {
syncStartTime();
var result = audio.play();
if (result && typeof result.catch === "function") {
result.catch(function() {
// Ignore autoplay failures in embedded browsers that require interaction.
});
}
}
window.GameDetails = function(
_servername,
_serverurl,
_mapname,
_maxplayers,
_steamid,
_gamemode,
volume
) {
var parsedVolume = Number(volume);
if (!isNaN(parsedVolume) && isFinite(parsedVolume)) {
audio.volume = Math.min(1, Math.max(0, parsedVolume));
}
};
audio.addEventListener("loadedmetadata", syncStartTime);
audio.addEventListener("ended", playFromOffset);
playFromOffset();
})();
</script>
</body>
</html>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

+13 -36
View File
@@ -9,73 +9,50 @@
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
import { Route as rootRouteImport } from './routes/__root'
import { Route as MainRouteImport } from './routes/_main'
import { Route as MainIndexRouteImport } from './routes/_main.index'
import { Route as IndexRouteImport } from './routes/index'
const MainRoute = MainRouteImport.update({
id: '/_main',
getParentRoute: () => rootRouteImport,
} as any)
const MainIndexRoute = MainIndexRouteImport.update({
const IndexRoute = IndexRouteImport.update({
id: '/',
path: '/',
getParentRoute: () => MainRoute,
getParentRoute: () => rootRouteImport,
} as any)
export interface FileRoutesByFullPath {
'/': typeof MainIndexRoute
'/': typeof IndexRoute
}
export interface FileRoutesByTo {
'/': typeof MainIndexRoute
'/': typeof IndexRoute
}
export interface FileRoutesById {
__root__: typeof rootRouteImport
'/_main': typeof MainRouteWithChildren
'/_main/': typeof MainIndexRoute
'/': typeof IndexRoute
}
export interface FileRouteTypes {
fileRoutesByFullPath: FileRoutesByFullPath
fullPaths: '/'
fileRoutesByTo: FileRoutesByTo
to: '/'
id: '__root__' | '/_main' | '/_main/'
id: '__root__' | '/'
fileRoutesById: FileRoutesById
}
export interface RootRouteChildren {
MainRoute: typeof MainRouteWithChildren
IndexRoute: typeof IndexRoute
}
declare module '@tanstack/react-router' {
interface FileRoutesByPath {
'/_main': {
id: '/_main'
path: ''
fullPath: '/'
preLoaderRoute: typeof MainRouteImport
parentRoute: typeof rootRouteImport
}
'/_main/': {
id: '/_main/'
'/': {
id: '/'
path: '/'
fullPath: '/'
preLoaderRoute: typeof MainIndexRouteImport
parentRoute: typeof MainRoute
preLoaderRoute: typeof IndexRouteImport
parentRoute: typeof rootRouteImport
}
}
}
interface MainRouteChildren {
MainIndexRoute: typeof MainIndexRoute
}
const MainRouteChildren: MainRouteChildren = {
MainIndexRoute: MainIndexRoute,
}
const MainRouteWithChildren = MainRoute._addFileChildren(MainRouteChildren)
const rootRouteChildren: RootRouteChildren = {
MainRoute: MainRouteWithChildren,
IndexRoute: IndexRoute,
}
export const routeTree = rootRouteImport
._addFileChildren(rootRouteChildren)
+85
View File
@@ -1,5 +1,12 @@
import { createRootRoute, Outlet } from "@tanstack/react-router"
import { TanStackRouterDevtools } from "@tanstack/react-router-devtools"
import { useTranslation } from "react-i18next"
import { DiGit } from "react-icons/di"
import { FaCode } from "react-icons/fa"
import root from "react-shadow"
import { Button } from "@/components/ui/button"
import { Card, CardContent } from "@/components/ui/card"
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"
export const Route = createRootRoute({
@@ -7,8 +14,86 @@ export const Route = createRootRoute({
})
function RootComponent() {
const { t, i18n } = useTranslation()
return <>
<div className="flex flex-row items-center justify-center gap-2 p-2">
<Button
variant={i18n.language !== "en" ? "default" : "noShadow"}
onClick={() => i18n.changeLanguage("en")}
>
🇬🇧 English
</Button>
<Button
variant={i18n.language !== "fr" ? "default" : "noShadow"}
onClick={() => i18n.changeLanguage("fr")}
>
🇫🇷 Français
</Button>
</div>
<div className="container mt-20 mr-auto ml-auto">
<div className="mr-auto ml-auto flex w-fit flex-row items-start justify-around gap-10">
<root.div>
<link rel="stylesheet" href="/98.css/dist/98.css" />
<div className="window" style={{ width: 300 }}>
<div className="title-bar">
<div className="title-bar-text">Julien Valverde</div>
</div>
<div className="window-body">
<p>There's so much room for activities!</p>
</div>
</div>
</root.div>
<div>
<h1>Ingénieur Full Stack &bull; Entrepreneur</h1>
<p className="mt-2">
I am passionate about integrating functionality and design in applications to create intuitive, user-friendly experiences.
</p>
<div className="flex w-fit flex-row items-center justify-center gap-2 mt-4">
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button asChild>
<a href="https://git.valverde.cloud"><DiGit /> {t($ => $.gitRepos.title, { ns: "nav" })}</a>
</Button>
</TooltipTrigger>
<TooltipContent><p>{t($ => $.gitRepos.tooltip, { ns: "nav" })}</p></TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button asChild>
<a href="https://git.valverde.cloud/thilawyn/website"><FaCode /> {t($ => $.sourceCode.title, { ns: "nav" })}</a>
</Button>
</TooltipTrigger>
<TooltipContent><p>{t($ => $.sourceCode.tooltip, { ns: "nav" })}</p></TooltipContent>
</Tooltip>
</TooltipProvider>
<Button>Resumé</Button>
</div>
</div>
</div>
</div>
<div className="mx-auto w-[750px] max-w-full px-5 pt-28 pb-10 text-foreground">
<Card>
<CardContent>
<Outlet />
</CardContent>
</Card>
</div>
<TanStackRouterDevtools />
</>
}
-109
View File
@@ -1,109 +0,0 @@
import { createFileRoute, Outlet } from "@tanstack/react-router"
import { useTranslation } from "react-i18next"
import { DiGit } from "react-icons/di"
import { FaCode } from "react-icons/fa"
import root from "react-shadow"
import { Button } from "@/components/ui/button"
import { Card, CardContent } from "@/components/ui/card"
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"
export const Route = createFileRoute("/_main")({
component: WIPLayout,
})
function WIPLayout() {
return (
<div className="mx-auto w-[750px] max-w-full px-5 pt-28 pb-10 text-foreground">
<Card>
<CardContent>
<Outlet />
</CardContent>
</Card>
</div>
)
}
// @ts-expect-error
function SharedLayout() {
const { t, i18n } = useTranslation()
return <>
<div className="flex flex-row items-center justify-center gap-2 p-2">
<Button
variant={i18n.language !== "en" ? "default" : "noShadow"}
onClick={() => i18n.changeLanguage("en")}
>
🇬🇧 English
</Button>
<Button
variant={i18n.language !== "fr" ? "default" : "noShadow"}
onClick={() => i18n.changeLanguage("fr")}
>
🇫🇷 Français
</Button>
</div>
<div className="container mt-20 mr-auto ml-auto">
<div className="mr-auto ml-auto flex w-fit flex-row items-start justify-around gap-10">
<root.div>
<link rel="stylesheet" href="/98.css/dist/98.css" />
<div className="window" style={{ width: 300 }}>
<div className="title-bar">
<div className="title-bar-text">Julien Valverde</div>
</div>
<div className="window-body">
<p>There's so much room for activities!</p>
</div>
</div>
</root.div>
<div>
<h1>Ingénieur Full Stack &bull; Entrepreneur</h1>
<p className="mt-2">
I am passionate about integrating functionality and design in applications to create intuitive, user-friendly experiences.
</p>
<div className="mt-4 flex w-fit flex-row items-center justify-center gap-2">
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button asChild>
<a href="https://git.valverde.cloud"><DiGit /> {t($ => $.gitRepos.title, { ns: "nav" })}</a>
</Button>
</TooltipTrigger>
<TooltipContent><p>{t($ => $.gitRepos.tooltip, { ns: "nav" })}</p></TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button asChild>
<a href="https://git.valverde.cloud/thilawyn/website"><FaCode /> {t($ => $.sourceCode.title, { ns: "nav" })}</a>
</Button>
</TooltipTrigger>
<TooltipContent><p>{t($ => $.sourceCode.tooltip, { ns: "nav" })}</p></TooltipContent>
</Tooltip>
</TooltipProvider>
<Button>Resumé</Button>
</div>
</div>
</div>
</div>
<div className="mx-auto w-[750px] max-w-full px-5 pt-28 pb-10 text-foreground">
<Card>
<CardContent>
<Outlet />
</CardContent>
</Card>
</div>
</>
}
@@ -1,7 +1,7 @@
import { createFileRoute } from "@tanstack/react-router"
export const Route = createFileRoute("/_main/")({
export const Route = createFileRoute("/")({
component: RouteComponent,
})
-5
View File
@@ -2,11 +2,6 @@
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"],
"baseBranchPatterns": ["next"],
"ignorePaths": [
"**/node_modules/**",
"**/bower_components/**",
"packages/webapp/public/98.css/**"
],
"packageRules": [
{
"matchManagers": ["bun", "npm"],