Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

forwarding of request cookie headers comma separated instead of semi-colon separated #9657

Closed
Courey opened this issue Jun 25, 2024 · 3 comments · Fixed by #9664
Closed

forwarding of request cookie headers comma separated instead of semi-colon separated #9657

Courey opened this issue Jun 25, 2024 · 3 comments · Fixed by #9664

Comments

@Courey
Copy link
Contributor

Courey commented Jun 25, 2024

Reproduction

if you use version 2.8.1, and in an auth loader you set
return redirect(someAuthURL, { headers: { 'Set-Cookie': cookie } })
it will work as expected.

if you then upgrade to version 2.9.2, the cookies you passed into the redirect are comma separated and break auth since there are no headers named for what you are looking for since they end up as one giant single value header that is _session with all the other headers as its value:

{"_session":"[REDACTED], _session.legacy=[REDACTED], csrfToken=[REDACTED], X-CSRFToken=[REDACTED], csrf=[REDACTED], session=[REDACTED]"}

System Info

## This is the version that breaks:
  System:
    OS: macOS 13.4
    CPU: (12) arm64 Apple M2 Max
    Memory: 31.86 GB / 96.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.9.0 - ~/.nvm/versions/node/v20.9.0/bin/node
    Yarn: 1.22.21 - ~/dev/gcn.nasa.gov/node_modules/.bin/yarn
    npm: 10.1.0 - ~/.nvm/versions/node/v20.9.0/bin/npm
  Browsers:
    Chrome: 126.0.6478.115
    Safari: 16.5
  npmPackages:
    @remix-run/architect: ^2.9.2 => 2.9.2
    @remix-run/css-bundle: ^2.9.2 => 2.9.2
    @remix-run/dev: ^2.9.2 => 2.9.2
    @remix-run/eslint-config: ^2.9.2 => 2.9.2
    @remix-run/node: ^2.9.2 => 2.9.2
    @remix-run/react: ^2.9.2 => 2.9.2

## this is the version where it works
  System:
    OS: macOS 13.4
    CPU: (12) arm64 Apple M2 Max
    Memory: 30.14 GB / 96.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.9.0 - ~/.nvm/versions/node/v20.9.0/bin/node
    Yarn: 1.22.21 - ~/dev/temporary/node_modules/.bin/yarn
    npm: 10.1.0 - ~/.nvm/versions/node/v20.9.0/bin/npm
  Browsers:
    Chrome: 126.0.6478.115
    Safari: 16.5
  npmPackages:
    @remix-run/architect: ^2.8.1 => 2.8.1
    @remix-run/css-bundle: ^2.8.1 => 2.8.1
    @remix-run/dev: ^2.8.1 => 2.8.1
    @remix-run/eslint-config: ^2.8.1 => 2.8.1
    @remix-run/node: ^2.8.1 => 2.8.1
    @remix-run/react: ^2.8.1 => 2.8.1

Used Package Manager

npm

Expected Behavior

I would expect when I have requestCookies in @remix-run/architect/dist/server.js in the createRemixHeaders function, that when they are forwarded they will be semi-colon separated values.

Actual Behavior

It returns the cookie as comma separated values instead of semi-colon. This breaks parsing
This image of console logs and associated log messages should clearly show the difference. You can see that when they were joined, they are correct, but when they are appended they are comma separated because that's what append does.

createRemixHeaders_logs

This means when it hits the decoder in the createCookieFactory in cookie.ts it returns this:

{"_session":"[REDACTED], _session.legacy=[REDACTED], csrfToken=[REDACTED], X-CSRFToken=[REDACTED], csrf=[REDACTED], session=[REDACTED]"}

Which means there is ONLY a _session header with ALL the headers in them.

I did a fair bit of digging. You can see that originally this was created with the buggy loop in 9d3b090#diff-e37d9e295b178aa51a4880acae4b8bc7f82759e6868583513a5fa52b16846408R95-R98

then the issue was fixed in https://github.com/remix-run/remix/pull/1709/files#diff-e37d9e295b178aa51a4880acae4b8bc7f82759e6868583513a5fa52b16846408L102-R102

then it was re-introduced in ad83e53#diff-e37d9e295b178aa51a4880acae4b8bc7f82759e6868583513a5fa52b16846408L91-R93

The solution would be reverting that portion of the change to be the fixed version instead of the buggy version.

@lpsinger
Copy link
Contributor

This unit test ought to have caught this, but it did not because the various fetch implementations treat the Cookie field differently. Consider the following code snippet:

const h = new Headers()
h.append('cookie', 'foo')
h.append('cookie', 'bar')
console.log(h.get('cookie'))

The following implementations print 'foo, bar', with a comma: @remix-run/web-fetch@4.4.2, Safari 17.5, Firefox 127.0.2, Chrome 126.0.6478.127

The following implementations print 'foo; bar', with a semicolon: Node.js 20.14.0, undici@6.19.2

The tests are probably run with either native fetch or undici, although the default Remix configuration (without the feature flag nativeFetch set) probably uses @remix-run/web-fetch. So the test passes but the bug it's checking for appears in production.

I think that it is pretty clear that the browser along with @remix-run/web-fetch are doing what the the fetch standard says: they are joining multiple occurrences of headers with a comma and a space; the standard does not specify any special treatment for the cookie header. It is Node and undici that are violating the spec here --- although IMHO their behavior is a better design than the standard!

So I concur with @Courey: the fix here is to bring back the more portable method of reading the request cookie header from https://github.com/remix-run/remix/pull/1709/files#diff-e37d9e295b178aa51a4880acae4b8bc7f82759e6868583513a5fa52b16846408L102-R102. That won't make a difference for the (evidently not standards-conforming) Node.js native fetch or undici, but it will fix the matter for the legacy Remix fetch polyfill, and presumably any other JavaScript runtimes that do conform to the spec.

lpsinger added a commit to nasa-gcn/gcn.nasa.gov that referenced this issue Jun 27, 2024
Decoding of request cookies in Architect applications was broken
by Remix 2.9.0. As a temporary workaround, using Node.js's native
but nonstandard fetch implementation restores cookie decoding.

See remix-run/remix#9657 (comment)
lpsinger added a commit to nasa-gcn/gcn.nasa.gov that referenced this issue Jun 27, 2024
Decoding of request cookies in Architect applications was broken
by Remix 2.9.0. As a temporary workaround, using Node.js's native
but nonstandard fetch implementation restores cookie decoding.

See remix-run/remix#9657 (comment)
Copy link
Contributor

🤖 Hello there,

We just published version 2.10.3-pre.0 which involves this issue. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

Copy link
Contributor

🤖 Hello there,

We just published version 2.10.3 which involves this issue. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

Vidushi-GitHub pushed a commit to Vidushi-GitHub/gcn.nasa.gov that referenced this issue Oct 28, 2024
Add rate estimate for GCN Circulars

Fixes nasa-gcn#2351.

Set noopener, not noreferrer

Noopener prevents the newly opened page from interacting with the
old one via JavaScript. Noreferrer prevents sending any tracking
data. I am concerned about the former, not the latter.

Set target=_blank, noopener for automatic links in MDX files

Bump @nasa-gcn/eslint-config-gitignore from 0.0.1 to 0.0.2

Bumps [@nasa-gcn/eslint-config-gitignore](https://github.com/nasa-gcn/eslint-config-gitignore) from 0.0.1 to 0.0.2.
- [Release notes](https://github.com/nasa-gcn/eslint-config-gitignore/releases)
- [Commits](nasa-gcn/eslint-config-gitignore@v0.0.1...v0.0.2)

---
updated-dependencies:
- dependency-name: "@nasa-gcn/eslint-config-gitignore"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @nasa-gcn/architect-functions-search from 1.0.0 to 1.0.1

Bumps [@nasa-gcn/architect-functions-search](https://github.com/nasa-gcn/architect-functions-search) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/nasa-gcn/architect-functions-search/releases)
- [Commits](nasa-gcn/architect-functions-search@v1.0.0...v1.0.1)

---
updated-dependencies:
- dependency-name: "@nasa-gcn/architect-functions-search"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump isbot from 5.1.7 to 5.1.10

Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.7 to 5.1.10.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](omrilotan/isbot@v5.1.7...v5.1.10)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @nasa-gcn/remix-seo from 2.0.0 to 2.0.1

Bumps [@nasa-gcn/remix-seo](https://github.com/nasa-gcn/remix-seo) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/nasa-gcn/remix-seo/releases)
- [Commits](nasa-gcn/remix-seo@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: "@nasa-gcn/remix-seo"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Import only what we need from diff

This may reduce the server side code bundle size a little bit by
tree-shaking out what we don't use.

Bump ts-jest from 29.1.2 to 29.1.5

Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.1.2 to 29.1.5.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](kulshekhar/ts-jest@v29.1.2...v29.1.5)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump oidc-provider from 8.4.3 to 8.4.7

Bumps [oidc-provider](https://github.com/panva/node-oidc-provider) from 8.4.3 to 8.4.7.
- [Release notes](https://github.com/panva/node-oidc-provider/releases)
- [Changelog](https://github.com/panva/node-oidc-provider/blob/main/CHANGELOG.md)
- [Commits](panva/node-oidc-provider@v8.4.3...v8.4.7)

---
updated-dependencies:
- dependency-name: oidc-provider
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @nasa-gcn/dynamodb-autoincrement from 2.2.0 to 2.2.1

Bumps [@nasa-gcn/dynamodb-autoincrement](https://github.com/nasa-gcn/dynamodb-autoincrement) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/nasa-gcn/dynamodb-autoincrement/releases)
- [Commits](nasa-gcn/dynamodb-autoincrement@v2.2.0...v2.2.1)

---
updated-dependencies:
- dependency-name: "@nasa-gcn/dynamodb-autoincrement"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @playwright/test from 1.44.1 to 1.45.0

Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.44.1 to 1.45.0.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.44.1...v1.45.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Allow for testing of different roles in playwright config

Bump @types/lodash from 4.17.4 to 4.17.5

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.4 to 4.17.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @testing-library/jest-dom from 6.1.4 to 6.4.6

Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.1.4 to 6.4.6.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](testing-library/jest-dom@v6.1.4...v6.4.6)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @testing-library/react from 14.1.2 to 16.0.0

Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 14.1.2 to 16.0.0.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](testing-library/react-testing-library@v14.1.2...v16.0.0)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump the remix group across 1 directory with 6 updates

Bumps the remix group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@remix-run/architect](https://github.com/remix-run/remix/tree/HEAD/packages/remix-architect) | `2.8.1` | `2.10.0` |
| [@remix-run/css-bundle](https://github.com/remix-run/remix/tree/HEAD/packages/remix-css-bundle) | `2.8.1` | `2.10.0` |
| [@remix-run/node](https://github.com/remix-run/remix/tree/HEAD/packages/remix-node) | `2.8.1` | `2.10.0` |
| [@remix-run/react](https://github.com/remix-run/remix/tree/HEAD/packages/remix-react) | `2.8.1` | `2.10.0` |
| [@remix-run/dev](https://github.com/remix-run/remix/tree/HEAD/packages/remix-dev) | `2.8.1` | `2.10.0` |
| [@remix-run/eslint-config](https://github.com/remix-run/remix/tree/HEAD/packages/remix-eslint-config) | `2.8.1` | `2.10.0` |

Updates `@remix-run/architect` from 2.8.1 to 2.10.0
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-architect/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/architect@2.10.0/packages/remix-architect)

Updates `@remix-run/css-bundle` from 2.8.1 to 2.10.0
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-css-bundle/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/css-bundle@2.10.0/packages/remix-css-bundle)

Updates `@remix-run/node` from 2.8.1 to 2.10.0
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-node/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/node@2.10.0/packages/remix-node)

Updates `@remix-run/react` from 2.8.1 to 2.10.0
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-react/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/react@2.10.0/packages/remix-react)

Updates `@remix-run/dev` from 2.8.1 to 2.10.0
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-dev/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/dev@2.10.0/packages/remix-dev)

Updates `@remix-run/eslint-config` from 2.8.1 to 2.10.0
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-eslint-config/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/eslint-config@2.10.0/packages/remix-eslint-config)

---
updated-dependencies:
- dependency-name: "@remix-run/architect"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: remix
- dependency-name: "@remix-run/css-bundle"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: remix
- dependency-name: "@remix-run/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: remix
- dependency-name: "@remix-run/react"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: remix
- dependency-name: "@remix-run/dev"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: remix
- dependency-name: "@remix-run/eslint-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: remix
...

Signed-off-by: dependabot[bot] <support@github.com>

Use native fetch instead of legacy Remix polyfill

Decoding of request cookies in Architect applications was broken
by Remix 2.9.0. As a temporary workaround, using Node.js's native
but nonstandard fetch implementation restores cookie decoding.

See remix-run/remix#9657 (comment)

Circulars: Open Automatically Formatted Hyperlinks in New Tab (nasa-gcn#2383)

EP: Add schema related links (nasa-gcn#2363)

Fixes nasa-gcn#2359.

Bump isbot from 5.1.10 to 5.1.11

Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.10 to 5.1.11.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](omrilotan/isbot@v5.1.10...v5.1.11)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @types/lodash from 4.17.5 to 4.17.6

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.5 to 4.17.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @types/node from 20.14.2 to 20.14.9

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.14.2 to 20.14.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Open all external links in a separate window

- Also add `noopener` so that external links cannot communicate
  with the page via JavaScript.
- Also suppress the eslint react/jsx-no-target-blank rule which
  suggests `rel="noreferrer"` which is only necessary for IE which
  has negligible market share.

Fixes missing fields causing unexpected error in moderator views (nasa-gcn#2432)

Fixes nasa-gcn#2431.

fix for tooltip error in circular overview

adding in circular with the error

Save

switching circular version retains search parameters

Bump @nasa-gcn/architect-plugin-search from 1.2.0 to 1.3.0

Bumps [@nasa-gcn/architect-plugin-search](https://github.com/nasa-gcn/architect-plugin-search) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/nasa-gcn/architect-plugin-search/releases)
- [Commits](nasa-gcn/architect-plugin-search@v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: "@nasa-gcn/architect-plugin-search"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @types/node from 20.14.9 to 20.14.10

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.14.9 to 20.14.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump the remix group with 6 updates

Bumps the remix group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [@remix-run/architect](https://github.com/remix-run/remix/tree/HEAD/packages/remix-architect) | `2.10.0` | `2.10.2` |
| [@remix-run/css-bundle](https://github.com/remix-run/remix/tree/HEAD/packages/remix-css-bundle) | `2.10.0` | `2.10.2` |
| [@remix-run/node](https://github.com/remix-run/remix/tree/HEAD/packages/remix-node) | `2.10.0` | `2.10.2` |
| [@remix-run/react](https://github.com/remix-run/remix/tree/HEAD/packages/remix-react) | `2.10.0` | `2.10.2` |
| [@remix-run/dev](https://github.com/remix-run/remix/tree/HEAD/packages/remix-dev) | `2.10.0` | `2.10.2` |
| [@remix-run/eslint-config](https://github.com/remix-run/remix/tree/HEAD/packages/remix-eslint-config) | `2.10.0` | `2.10.2` |

Updates `@remix-run/architect` from 2.10.0 to 2.10.2
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-architect/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/architect@2.10.2/packages/remix-architect)

Updates `@remix-run/css-bundle` from 2.10.0 to 2.10.2
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-css-bundle/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/css-bundle@2.10.2/packages/remix-css-bundle)

Updates `@remix-run/node` from 2.10.0 to 2.10.2
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-node/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/node@2.10.2/packages/remix-node)

Updates `@remix-run/react` from 2.10.0 to 2.10.2
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-react/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/react@2.10.2/packages/remix-react)

Updates `@remix-run/dev` from 2.10.0 to 2.10.2
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-dev/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/dev@2.10.2/packages/remix-dev)

Updates `@remix-run/eslint-config` from 2.10.0 to 2.10.2
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-eslint-config/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/eslint-config@2.10.2/packages/remix-eslint-config)

---
updated-dependencies:
- dependency-name: "@remix-run/architect"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/css-bundle"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/node"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/react"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/dev"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/eslint-config"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: remix
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump isbot from 5.1.11 to 5.1.12

Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.11 to 5.1.12.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](omrilotan/isbot@v5.1.11...v5.1.12)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump highlight.js from 11.8.0 to 11.10.0

Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 11.8.0 to 11.10.0.
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/main/CHANGES.md)
- [Commits](highlightjs/highlight.js@11.8.0...11.10.0)

---
updated-dependencies:
- dependency-name: highlight.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Add SVOM JSON Notices to Quickstart UI (nasa-gcn#2404)

Resolves nasa-gcn#2274.

Playwright circulars archive basic tests (nasa-gcn#2423)

Resolves nasa-gcn#2350.

fix: using ISO 8601 string input for seconds and milliseconds granularity on circular correction (nasa-gcn#2424)

Resolves nasa-gcn#2388.

Bump husky from 9.0.11 to 9.1.0

Bumps [husky](https://github.com/typicode/husky) from 9.0.11 to 9.1.0.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](typicode/husky@v9.0.11...v9.1.0)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @types/node from 20.14.10 to 20.14.11

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.14.10 to 20.14.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump typescript from 5.5.2 to 5.5.3

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](microsoft/TypeScript@v5.5.2...v5.5.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @playwright/test from 1.45.0 to 1.45.2

Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.2.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.45.0...v1.45.2)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @babel/preset-env from 7.23.6 to 7.24.8

Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.23.6 to 7.24.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.8/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump the remix group with 6 updates

Bumps the remix group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [@remix-run/architect](https://github.com/remix-run/remix/tree/HEAD/packages/remix-architect) | `2.10.2` | `2.10.3` |
| [@remix-run/css-bundle](https://github.com/remix-run/remix/tree/HEAD/packages/remix-css-bundle) | `2.10.2` | `2.10.3` |
| [@remix-run/node](https://github.com/remix-run/remix/tree/HEAD/packages/remix-node) | `2.10.2` | `2.10.3` |
| [@remix-run/react](https://github.com/remix-run/remix/tree/HEAD/packages/remix-react) | `2.10.2` | `2.10.3` |
| [@remix-run/dev](https://github.com/remix-run/remix/tree/HEAD/packages/remix-dev) | `2.10.2` | `2.10.3` |
| [@remix-run/eslint-config](https://github.com/remix-run/remix/tree/HEAD/packages/remix-eslint-config) | `2.10.2` | `2.10.3` |

Updates `@remix-run/architect` from 2.10.2 to 2.10.3
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-architect/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/architect@2.10.3/packages/remix-architect)

Updates `@remix-run/css-bundle` from 2.10.2 to 2.10.3
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-css-bundle/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/css-bundle@2.10.3/packages/remix-css-bundle)

Updates `@remix-run/node` from 2.10.2 to 2.10.3
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-node/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/node@2.10.3/packages/remix-node)

Updates `@remix-run/react` from 2.10.2 to 2.10.3
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-react/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/react@2.10.3/packages/remix-react)

Updates `@remix-run/dev` from 2.10.2 to 2.10.3
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-dev/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/dev@2.10.3/packages/remix-dev)

Updates `@remix-run/eslint-config` from 2.10.2 to 2.10.3
- [Release notes](https://github.com/remix-run/remix/releases)
- [Changelog](https://github.com/remix-run/remix/blob/main/packages/remix-eslint-config/CHANGELOG.md)
- [Commits](https://github.com/remix-run/remix/commits/@remix-run/eslint-config@2.10.3/packages/remix-eslint-config)

---
updated-dependencies:
- dependency-name: "@remix-run/architect"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/css-bundle"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/node"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/react"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/dev"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: remix
- dependency-name: "@remix-run/eslint-config"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: remix
...

Signed-off-by: dependabot[bot] <support@github.com>

bump @types/lodash from 4.17.6 to 4.17.7

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.6 to 4.17.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

bump isbot from 5.1.12 to 5.1.13

Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.12 to 5.1.13.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](omrilotan/isbot@v5.1.12...v5.1.13)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

bump prettier from 3.3.2 to 3.3.3

Bumps [prettier](https://github.com/prettier/prettier) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.3.2...3.3.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Rerun prettier

Add schema ID to GCN Circulars over Kafka

See nasa-gcn#2455. To close that issue, we will have to do a release of
gcn-schema and then update the dependency in our package.json
file.

Remove dependabot Python configuration

This project has no Python dependencies.

Husky hooks no longer need to be run with npx

See https://github.com/typicode/husky/releases/tag/v9.1.0.

Bump @nasa-gcn/remark-rehype-astro from 1.1.2 to 1.1.3

Bumps [@nasa-gcn/remark-rehype-astro](https://github.com/nasa-gcn/remark-rehype-astro) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/nasa-gcn/remark-rehype-astro/releases)
- [Commits](nasa-gcn/remark-rehype-astro@v1.1.2...v1.1.3)

---
updated-dependencies:
- dependency-name: "@nasa-gcn/remark-rehype-astro"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump husky from 9.1.0 to 9.1.1

Bumps [husky](https://github.com/typicode/husky) from 9.1.0 to 9.1.1.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](typicode/husky@v9.1.0...v9.1.1)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

fix broken link

Update @nasa-gcn/schema dependency to tagged version

Fixes nasa-gcn#2455.

Bump downshift from 7.2.1 to 9.0.6

Bumps [downshift](https://github.com/downshift-js/downshift) from 7.2.1 to 9.0.6.
- [Release notes](https://github.com/downshift-js/downshift/releases)
- [Changelog](https://github.com/downshift-js/downshift/blob/master/CHANGELOG.md)
- [Commits](downshift-js/downshift@v7.2.1...v9.0.6)

---
updated-dependencies:
- dependency-name: downshift
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Circulars: enable basic lucene search

this commit adds the most basic form of lucene search, which can be enabled by adding the CIRCULARS_LUCENE feature flag. Additional tuning of field weighting and some type of workaround for the autor search will be required to make it more functional, as well as documentation instructing users on making use of lucene search.

Fix rate limiting due to improperly debounced auto complete

In this context, the `useDebouncedCallback` hook is not working.
Although it delays the execution of the callback until `wait`
seconds of inactivity have passed, it does not decrease the
_number_ of executions --- it just bunches them all together at
once. As a result, we exceed the Cognito rate limit and the page
crashes.

Instead, use the Lodash `debounce` method directly. In my local
sandbox environment, I observe that this approach does result in
properly debounced invocations of the callback.

Remove ruff from recommended extensions

This repository does not contain any Python code.

Add MDX support to recommended VS Code extensions

This enables syntax highlighting in MDX documents.

Document heartbeat topic

Get schema ID from JSON schema itself

Bump @architect/plugin-lambda-invoker from 2.0.0 to 2.0.1

Bumps [@architect/plugin-lambda-invoker](https://github.com/architect/plugin-lambda-invoker) from 2.0.0 to 2.0.1.
- [Changelog](https://github.com/architect/plugin-lambda-invoker/blob/main/changelog.md)
- [Commits](architect/plugin-lambda-invoker@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: "@architect/plugin-lambda-invoker"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Federal should be lowercase

See https://digital.gov/style-guide/#grammar-and-spelling-2.

Bump typescript from 5.5.3 to 5.5.4

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.3 to 5.5.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](microsoft/TypeScript@v5.5.3...v5.5.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump husky from 9.1.1 to 9.1.3

Bumps [husky](https://github.com/typicode/husky) from 9.1.1 to 9.1.3.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](typicode/husky@v9.1.1...v9.1.3)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

news item for circulars over kafka

added schema update to announcement

add heartbeat topic

reorder announcements

Update app/routes/news._index.mdx

Co-authored-by: Leo Singer <leo.p.singer@nasa.gov>

add link to heartbeat FAQ in announcement (nasa-gcn#2500)

* add link to heartbeat FAQ

Parsing JSON Notices

Update app/routes/docs.client.samples.md

Update app/routes/docs.client.samples.md

Update app/routes/docs.client.samples.md

Co-authored-by: Tyler Barna <57914086+tylerbarna@users.noreply.github.com>

Update app/routes/docs.client.samples.md

Co-authored-by: Tyler Barna <57914086+tylerbarna@users.noreply.github.com>

Update app/routes/docs.client.samples.md

Co-authored-by: Tyler Barna <57914086+tylerbarna@users.noreply.github.com>

Update app/routes/docs.client.samples.md

Co-authored-by: Tyler Barna <57914086+tylerbarna@users.noreply.github.com>

Update app/routes/docs.client.samples.md

remove highlight, XML/JSON heading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants