jojo/modules
Nils Goroll 31fff54e17
Improvement: Do not set session cookie for empty session
This is based on https://code.forgejo.org/go-chi/session/pulls/80.

The remainder of this message is largely copied from there:

For interoperability with reverse proxies and CDNs, setting a session
cookie for no good reason (login is a good reason) is a PITA, because it
makes caching of content for anonymous (not logged-in) users very hard,
requiring all kinds of special casing and error prone workarounds.

In particular in an age of exploitative AI bot crawling, being able to
serve content for anonymous users from a fast, efficient page cache is
an important option.

This patch lays a foundation by using an option added to go-chi/session
to not create session cookies always, but rather only when the
respective session is non-empty.

Test cases are included there and omitted here.
2026-03-11 04:18:06 +01:00
..
actions chore: add more diagnostic output to dbfs Stat error (#11525) 2026-03-06 06:43:33 +01:00
activitypub feat: backend DB model for fine-grained repo access tokens 2026-02-27 17:17:29 +01:00
analyze Rename code_langauge.go to code_language.go (#26377) 2023-08-07 15:00:53 -04:00
assetfs feat: optimization: use fs.ReadFile (#10987) 2026-01-22 16:26:18 +01:00
auth fix: portable error reporting for PAM (#11296) 2026-02-16 05:57:01 +01:00
avatar feat: strip EXIF information from uploaded avatars (#9638) 2025-10-13 23:16:17 +02:00
base feat(ui): dedicated icon for CITATION file (#10873) 2026-01-17 10:10:56 +01:00
cache chore: fix typos throughout the codebase (#10753) 2026-01-26 22:57:33 +01:00
card chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
charset chore: fix typos throughout the codebase (#10753) 2026-01-26 22:57:33 +01:00
container chore: add new functions to container.Set 2025-10-14 14:40:49 -06:00
csv Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
emoji chore(cleanup): replaces unnecessary calls to formatting functions by non-formatting equivalents (#7994) 2025-05-29 17:34:29 +02:00
eventsource ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
forgefed feat(activitypub): use structure @PreferredUsername@host.tld:port for actors (#9254) 2026-01-30 23:45:11 +01:00
generate chore: unify the usage of CryptoRandomString (#10110) 2025-11-15 13:24:53 +01:00
git ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
gitrepo Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.6.1 (forgejo) (#10053) 2025-11-11 07:04:35 +01:00
graceful ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
hcaptcha chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
highlight Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
hostmatcher Support allowed hosts for migrations to work with proxy (#32025) 2024-09-14 17:52:54 +02:00
html Refactor backend SVG package and add tests (#26335) 2023-08-05 04:34:59 +00:00
httpcache chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
httplib fix: consider more risky redirects 2026-03-06 11:21:07 -07:00
indexer ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
issue/template chore: replace gopkg.in/yaml.v3 with go.yaml.in/yaml/v3 (#8956) 2025-08-20 15:31:12 +02:00
json Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
jwtx chore: Add JWT() method for convenience and clarity (#11067) 2026-02-07 01:01:30 +01:00
keying chore: fix typos throughout the codebase (#10753) 2026-01-26 22:57:33 +01:00
label chore: replace gopkg.in/yaml.v3 with go.yaml.in/yaml/v3 (#8956) 2025-08-20 15:31:12 +02:00
lfs chore: add unit test for SearchPointerBlobs 2025-10-03 14:37:24 +02:00
log ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
markup ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
mcaptcha chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
metrics chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
migration ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
nosql chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
optional chore: support Option[T] as a type on database schema structs (#11553) 2026-03-08 03:36:32 +01:00
options chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
packages fix: only skip explicit >= 0 and leave pessimistic version locking intact (#11153) 2026-02-08 04:17:55 +01:00
paginator Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
pprof chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
private feat: show link to pull requests targeting a non-default branch when pushing (#10079) 2025-11-19 14:59:13 +01:00
process Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
proxy chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
proxyprotocol ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
public add model viewer for .glb (GLTF) model in file view (#8111) 2025-06-21 14:42:35 +02:00
queue ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
recaptcha chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
references fix: pull request cross references (#7979) 2025-05-28 14:50:05 +02:00
regexplru Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
repository chore: update license test (#11485) 2026-03-04 16:16:12 +01:00
secret Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v1.64.6 (forgejo) (#7118) 2025-03-04 21:38:35 +00:00
session Improvement: Do not set session cookie for empty session 2026-03-11 04:18:06 +01:00
setting ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
sitemap Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
ssh fix: don't clobber authorized_keys file during installation (#10948) 2026-01-23 18:38:09 +01:00
storage chore: use require.Error() over require.Errorf() (#11037) 2026-01-25 19:36:02 +01:00
structs feat(api): more verbose error messages and swagger comments for posting issue comments (#11368) 2026-03-07 23:16:20 +01:00
svg chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
sync chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
system Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
templates ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
test fix(ui): document token validity in key verification view (#9002) 2025-11-14 23:40:03 +01:00
testimport chore: move all test blank imports in a single package (#10662) 2026-01-02 05:32:32 +01:00
testlogger chore(ui): change /devtest to /-/demo (#11019) 2026-01-26 13:12:25 +01:00
timeutil Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
translation ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
turnstile chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
typesniffer feat: detect Interlisp sources as text (#8377) 2025-07-02 07:38:46 +02:00
updatechecker chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
uri Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
user Drop SSPI auth support and more Windows files (#7148) 2025-03-08 00:43:41 +00:00
util feat(issue-search): support query syntax (#9109) 2025-11-19 16:05:42 +01:00
validation feat(activitypub): use structure @PreferredUsername@host.tld:port for actors (#9254) 2026-01-30 23:45:11 +01:00
web fix: issues and pulls route permitted extra characters (#10185) 2025-12-10 01:21:38 +01:00
webhook Actions Failure, Succes, Recover Webhooks (#7508) 2025-06-03 14:29:19 +02:00
zstd Cache generated binary across jobs 2024-08-26 23:43:09 +02:00