-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Accept common cookie attributes when deleting a cookie #10671
Conversation
🦋 Changeset detectedLatest commit: 28b353b The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me! Thanks for the clear tests as well.
Do you want to create a PR to the docs page as well? I can do it if not.
bfe12d8
to
58e6fed
Compare
I added this PR to the current milestone, so it will be shipped next release |
@fshafiee Can you open a PR against the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Florian's changeset comment is good!
Also, just to make it easy, here's where the docs change needs to be made:
https://docs.astro.build/en/reference/api-reference/#delete
And all that needs to happen is something like this:
Marks the cookie as deleted. Once a cookie is deleted Astro.cookies.has() will return false and Astro.cookies.get() will return an AstroCookie with a value of undefined. Options available when deleting a cookie are:
domain
,path
,httpOnly
,sameSite
, andsecure
.
Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
Here’s the docs PR: withastro/docs#7814 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Docs approves! 🥳
This commit broke Astro cookie types for me. Now, the types require all properties to be set, when previously they were optional. In this PR, see |
For example:
|
@jlarmstrongiv It seems to be fine. Could you share the code snippet? |
I also see the types for cookie options are all required now, as @jlarmstrongiv notes. https://github.com/withastro/astro/pull/10671/files#diff-d3e7e8fe6551080102ade434b01c0baaf4f3be04289c1174294b114e466f21a0R5 is using Pick, which makes them required. The tests are in javascript, so they don't pick up the type errors. |
Thanks, I see it in a separate project, just not within the repo. |
Here’s the proof: |
@lilnasy here is the code snippet! Though it seems like you were able to reproduce it @fshafiee here is proof that the types are definitely broken with https://github.com/jlarmstrongiv/astro-cookie-types |
Can anyone create an issue so we track it and fix it? Commenting a closed PR doesn't help the visibility |
@jlarmstrongiv I understand that there’s an issue. I just meant to point out that it’s not due to the I checked your repro and when I tried to follow the types, I realized that the You can fix the issue by @lilnasy @ematipico I've taken the liberty and opened a PR. Let’s continue the conversation there. |
* Accept common cookie attributes when deleting a cookie * Fix AstroCookieSetOptions IDE annotations * Use AstroCookieSetOptions to construct AstroCookieDeleteOptions * Update .changeset/shaggy-cats-film.md Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> --------- Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
* Update sharp to 0.33 to fix issue with Alpine Linux It was impossible for me to use the Astro image service in an Alpine Linux docker container. Even though I would install sharp `0.33.3` in my app, pnpm would download version `0.32.6`, which doesn't work in Alpine Linux container. Currently, I have to override the downloaded version in my package.json. For more details see: - lovell/sharp#4054 - https://discord.com/channels/830184174198718474/1224861729792458803/1224861729792458803 This PR updates the version of the `sharp` dependency to `^0.33` and thus makes Astro compatible with Alpine Linux. * update lock file * add changelog * Update packages/astro/package.json * Update pnpm-lock.yaml * ci: update check-merge.yml action (#10690) * test(@astrojs/node) listen for server setup errors in test-utils (#10692) * Add disableremoteplayback attribute to VideoHTMLAttributes interface (#10693) * Add disableremoteplayback attribute to VideoHTMLAttributes interface * Move disableremoteplayback from VideoHTMLAttributes to MediaHTMLAttributes * Create olive-camels-greet.md * Update packages/astro/astro-jsx.d.ts --------- Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com> * test(@astrojs/node) wait for server listening in trailing-slash tests (#10694) * test(@astrojs/node) wait for server listening in trailing-slash tests * fix missing waitServerListen * fix import statement --------- Co-authored-by: Emanuele Stoppa <my.burning@gmail.com> * chore: add `test:citgm` command that would run tests without caching and `build:ci:no-cache` to skip caching for build as well (#10696) * chore: add test:citgm command that would run tests without caching * adding build ci with no cache * chore: fix build:ci:no-cache test:citgm (#10698) * Improve dev toolbar notification contrast on hover (#10657) * fix(#10399, PLT-1786): improve notification contrast on hover * chore: add changeset * fix test:citgm --force flag not passed correctly (#10706) * Skip prerender chunk in static output (#10695) * Remove unused config in Vue JSX integration (#10687) * Refactor MDX transformJSX handling (#10688) * Fix vue-jsx change (#10716) * Fix script inline with directRenderScript (#10686) * Provide better messaging when renaming a table (#10600) * Provide better messaging when renaming a table * Update based on review * [ci] format * [ci] update lockfile (#10718) Co-authored-by: matthewp <matthewp@users.noreply.github.com> * Increase log severity when a page's `getStaticPaths` fails (#10707) * [ci] release (#10680) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * fix: use just pnpm to run the build and tests in citgm (#10727) * fix(devtool): do not trigger interaction check for `div` and `span` (#10719) * fix(devtool): do not trigger interaction check for `div` and `span` * add test * add tests * Rephrase changeset * remove log * add reference link * Update .changeset/swift-coats-teach.md Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> --------- Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> * fix: regression for astro attributes escaping (#10728) * Fix db seeding when srcDir is root (#10720) * ci: add ref when checking out the repository (#10733) * fix(dev): break implicit rerouting loop (#10737) * fix(dev): infinite implicit rerouting * test adapter * changeset * [ci] format * [ci] release (#10729) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * fix: Fixed errorOverlay theme toggle bug. (#10661) * fix: save `localStorage.astroErrorOverlayTheme` when detected dark mode * add changeset * Fix theme toggle in ErrorOverlay * update changeset * [ci] format * feat: add origin check for CSRF protection (#10678) * feat: add origin check for CSRF protection * add tests * chore: documentation * changeset and grammar * chore: add casing check * split function * better naming * make the whole object experimental * remove unused type * update changeset * manually apply Sarah's suggestions * Apply suggestions from code review Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> --------- Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * feat: upgrade the minimum Node.js maintainance LTS version (#10689) * feat: upgrade the minimum Node.js maintainance LTS version * chore: update minimum npm version * chore: revert npm change * chore: address Erika's feedback * chore: apply further suggestions * Update .changeset/empty-rules-type.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> --------- Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * [ci] format * Accept common cookie attributes when deleting a cookie (#10671) * Accept common cookie attributes when deleting a cookie * Fix AstroCookieSetOptions IDE annotations * Use AstroCookieSetOptions to construct AstroCookieDeleteOptions * Update .changeset/shaggy-cats-film.md Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> --------- Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> * feat(i18n): manual routing (#10193) * feat(i18n): manual routing * one more function * different typing * tests * fix merge * throw error for missing middleware * rename function * fix conflicts * lock file update * fix options, error thrown and added tests * rebase * add tests * docs * lock file black magic * increase timeout? * fix regression * merge conflict * add changeset * chore: apply suggestions * apply suggestion * Update .changeset/little-hornets-give.md Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com> * chore: address feedback * fix regression of last commit * update name * add comments * fix regression * remove unused code * Apply suggestions from code review Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * chore: update reference * Update packages/astro/src/@types/astro.ts Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * chore: improve types * fix regression in tests * apply Sarah's suggestion --------- Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com> Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * [ci] format * feat(toolbar): allow the user to change the placement (#10591) * feat(toolbar): add `placement` to settings * feat(toolbar): update `settings.placement` with `<select>` * feat(toolbar): adjust position based on `settings.placement` * test(toolbar): add a test case for `settings.placement` * refactor(toolbar): extract select element from settings app * feat(toolbar): allow select element to have colors * test(toolbar): fix failed test case * refactor(toolbar): add `placement` property to window element * refactor(toolbar): notify apps when placement changes * test(toolbar): fix failed test case * refactor(toolbar): extract `synchronizePlacementOnUpdate` function * chore: add changeset * chore: update changeset Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> --------- Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com> Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * Adds dataLanguage property to the replacement <pre> element. (#10538) * Update highlight.ts * Create cold-snakes-train.md * Update Code.astro Solution for use-case described in withastro/roadmap#276 (withastro/roadmap#276) * roll-back initial fix * new fix * update changeset * Update packages/markdown/remark/src/rehype-prism.ts * Update .changeset/cold-snakes-train.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * Update .changeset/cold-snakes-train.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * Update .changeset/cold-snakes-train.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * Update .changeset/cold-snakes-train.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> --------- Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com> Co-authored-by: Matthew Phillips <matthew@matthewphillips.info> Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * [ci] format * fix some i18n config docs (#10746) * fix some i18n config docs * Move manual option to last position --------- Co-authored-by: = <otterlord.dev@gmail.com> * [ci] format * fix(rendering): remove render instructions from slot expressions (#10747) * [ci] format * Update a11y-no-noninteractive-tabindex rule for dev tool bar (#10750) * fix: a11y-no-noninteractive-tabindex * add changeset * Update utils.ts: Optimize and simplify code (#10749) Update utils.ts: Optimize and simplify code * fix(cli): call path.replace only if it is a function (#10745) * fix(cli): call `path.replace` only if it is a function * add changeset * fix: rewrite Node.js changeset (#10753) * fix: rewrite Node.js changeset * Update .changeset/empty-rules-type.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> --------- Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * [ci] release (#10739) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * fix(i18n): fallback SSR (#10755) * fix(i18n): fallback SSR * Update .changeset/old-pugs-jog.md Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> --------- Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> * [docs] config reference link fix (#10758) * Limit imports in flight for `getCollection` (#10708) * [ci] format * Add useful links to `@astrojs/db` package.json (#10764) Co-authored-by: Reuben Tier <64310361+TheOtterlord@users.noreply.github.com> * Performance improvement in createAstro function (#10765) * Fix typo in error message for IncorrectStrategyForI18n (#10768) * fix(vercel): Fix srcset generation not working on Vercel (#10756) * fix(vercel): Fix `srcset` generation not working on Vercel * chore: changeset * fix: remove densities and widths from the HTML attributes * nit: better changeset * nit: add formats * [ci] format * [ci] release (#10757) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * fix(add): Fixes astro add modifying baseUrl by accident (#10774) * fix(add): Fixes `astro add` modifying `baseUrl` by accident * chore: changeset * test: add test * fix: tsconfig not being a json maybe is a mistake, I don't know! * test: fix * Update packages/astro/test/fixtures/tsconfig-handling/baseUrl/tsconfig.json Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> --------- Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> * [ci] format * Remove MDX processor on buildEnd (#10770) * lint: upgrade eslint to version 9 (#10730) * [ci] format * fix: picture fallback check (#10783) * Fix @types/cookie dependency (#10776) Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> * Make viewTransition.finished wait for animations triggered by viewTransition.ready (#10787) * [ci] format * fix(assets): Forward headers from the original request to the internal request to the image (#10775) * [ci] format * astro/cli/install-package.ts: whichPm may return null if ran in an empty directory (#10782) * [ci] update lockfile (#10791) Co-authored-by: matthewp <matthewp@users.noreply.github.com> * Improve sitemap generate performance (#10795) * Disable streaming for SSG (#10796) * fix: use assetsDir in creating vite config (#10732) Co-authored-by: Emanuele Stoppa <my.burning@gmail.com> * fix: MDX cannot find relative image path without leading ./ (#10754) Co-authored-by: Oliver Speir <115520730+OliverSpeir@users.noreply.github.com> * [ci] release (#10777) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * db: export 'alias' from drizzle-orm/sqlite-core (#10789) * db: export 'alias' from drizzle-orm/sqlite-core * chore: changeset * fix: changeset target --------- Co-authored-by: Ben Holmes <hey@bholmes.dev> * chore: use Biome to format JS files (#10788) * chore: configuration * chore: update main commands * chore: revert formatting package.json * chore: rebase * [ci] format * Fixes an issue with persisted non-text input fields that have the focus during view transition navigation. (#10799) * Fixes an issue with persisted non-text input fields that have the focus during view transition navigation. * better check * [ci] format * test: fix regression upon import sorting (#10802) * fix(sitemap): Trailing slashes on root url (#10772) * add tests that reveal issue * fix trailing slash root page issue * add changeset * [ci] format * optimization(runtime): create smaller objects for each Astro global (#10773) * optimization(runtime): create smaller objects for each Astro global * add changeset * Make slots lazy --------- Co-authored-by: bluwy <bjornlu.dev@gmail.com> * add/cli: update list of integrations (#10811) * Invalidate CC cache manifest when lockfile or config changes (#10763) * Invalidate CC cache manifest when lockfile or config changes * Close the handle and increment manifest version * debug info * Provide a reason for cache busting * Handle compile metadata missing * Try it this way * Copy over cached assets as well * Only restore chunks when cache is valid * Better handle invalid caches * Explain when there is no content manifest * Add tests * debugging * Remove debugging * Update packages/astro/src/core/build/plugins/plugin-content.ts Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com> * Update packages/astro/src/core/build/plugins/plugin-content.ts Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com> * Review comments * Add chunks path constant --------- Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com> * [ci] format * [ci] release (#10798) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * fixed the path to checkout existing blog posts on the home page of the blog starter template (#10814) Currently the 4th point on home page says: "Check out the included blog posts in src/pages/blog/". It the path here should be "src/content/blog/". * Update packages/astro/package.json * Update pnpm-lock.yaml * update sharp version in examples/starlog and update pnpm-lock.yaml --------- Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com> Co-authored-by: Emanuele Stoppa <my.burning@gmail.com> Co-authored-by: Raz Luvaton <16746759+rluvaton@users.noreply.github.com> Co-authored-by: apetta <akshaypetta@gmail.com> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com> Co-authored-by: Matthew Phillips <matthew@skypack.dev> Co-authored-by: Matthew Phillips <matthewp@users.noreply.github.com> Co-authored-by: Houston (Bot) <108291165+astrobot-houston@users.noreply.github.com> Co-authored-by: horo <143025439+horo-fox@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> Co-authored-by: Arsh <69170106+lilnasy@users.noreply.github.com> Co-authored-by: Arsh <lilnasy@users.noreply.github.com> Co-authored-by: liruifengv <liruifeng1024@gmail.com> Co-authored-by: liruifengv <ematipico@users.noreply.github.com> Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> Co-authored-by: Farzad <frzd.shafiee@gmail.com> Co-authored-by: Ming-jun Lu <40516784+mingjunlu@users.noreply.github.com> Co-authored-by: 604qgc <130194823+604qgc@users.noreply.github.com> Co-authored-by: Matthew Phillips <matthew@matthewphillips.info> Co-authored-by: = <otterlord.dev@gmail.com> Co-authored-by: Sarah Rainsberger <TheOtterlord@users.noreply.github.com> Co-authored-by: Oliver Speir <115520730+OliverSpeir@users.noreply.github.com> Co-authored-by: aswind7 <854413241@qq.com> Co-authored-by: horo <bluwy@users.noreply.github.com> Co-authored-by: Chris Swithinbank <swithinbank@gmail.com> Co-authored-by: Reuben Tier <64310361+TheOtterlord@users.noreply.github.com> Co-authored-by: Leander Gilles <leander.gilles@pm.me> Co-authored-by: Erika <Princesseuh@users.noreply.github.com> Co-authored-by: Jason <m.jason.liu@outlook.com> Co-authored-by: Juraj Kapsz <github@jurajkapsz.sk> Co-authored-by: Martin Trapp <94928215+martrapp@users.noreply.github.com> Co-authored-by: Meghan Denny <hello@nektro.net> Co-authored-by: Rishi Raj Jain <rishi18304@iiitd.ac.in> Co-authored-by: Nick Dubelman <ndubelman@gmail.com> Co-authored-by: Ben Holmes <hey@bholmes.dev> Co-authored-by: Robin Gisler <63500142+gislerro@users.noreply.github.com> Co-authored-by: Avinash Reddy <avinashreddy3108+github@gmail.com> Co-authored-by: Damanjeet Singh <49544630+DamanjeetSingh1@users.noreply.github.com>
Changes
Allows cookie attributes to be specified when deleting a cookie. The attributes were limited to
domain
andpath
.See #10480 for context.
Closes #10480
Testing
The changes are validated by unit tests.
Docs
The Astro.Cookie.delete API reference must be updated, since following statement will no longer be true: