From 3b4694436580aa30a3ee508311cb4367317697af Mon Sep 17 00:00:00 2001 From: YuDavidCao Date: Sun, 19 Oct 2025 14:53:16 -0400 Subject: [PATCH 1/4] increased client cache timer from a day to a year and changes static file generation into S3ManifestStaticStorage for cache busting strategy --- tcf_core/settings/base.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tcf_core/settings/base.py b/tcf_core/settings/base.py index 71bed5652..a2a9c6649 100644 --- a/tcf_core/settings/base.py +++ b/tcf_core/settings/base.py @@ -73,7 +73,8 @@ AWS_S3_REGION_NAME = env.str("AWS_S3_REGION_NAME", default="us-east-1") AWS_S3_CUSTOM_DOMAIN = f"{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com" AWS_DEFAULT_ACL = None - AWS_S3_OBJECT_PARAMETERS = {"CacheControl": "max-age=86400"} + AWS_S3_OBJECT_PARAMETERS = {"CacheControl": "max-age=31536000"} # 1 year cache + STATIC_URL = f"https://{AWS_S3_CUSTOM_DOMAIN}/static/" ALLOWED_HOSTS.extend( [ @@ -89,7 +90,7 @@ "OPTIONS": {}, }, "staticfiles": { - "BACKEND": "storages.backends.s3.S3Storage", + "BACKEND": "storages.backends.s3.S3ManifestStaticStorage", }, } From 9e1aa60706c6df3700488b9871c25bf5d4fc92f7 Mon Sep 17 00:00:00 2001 From: YuDavidCao Date: Sun, 26 Oct 2025 14:38:10 -0400 Subject: [PATCH 2/4] fixup (coderabbit) --- tcf_core/settings/base.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tcf_core/settings/base.py b/tcf_core/settings/base.py index a2a9c6649..3de69355d 100644 --- a/tcf_core/settings/base.py +++ b/tcf_core/settings/base.py @@ -75,6 +75,7 @@ AWS_DEFAULT_ACL = None AWS_S3_OBJECT_PARAMETERS = {"CacheControl": "max-age=31536000"} # 1 year cache STATIC_URL = f"https://{AWS_S3_CUSTOM_DOMAIN}/static/" + AWS_LOCATION = "static" ALLOWED_HOSTS.extend( [ @@ -87,10 +88,15 @@ STORAGES = { "default": { "BACKEND": "storages.backends.s3.S3Storage", - "OPTIONS": {}, + "OPTIONS": { + "object_parameters": {"CacheControl": "max-age=86400"}, # 1 day for media + }, }, "staticfiles": { "BACKEND": "storages.backends.s3.S3ManifestStaticStorage", + "OPTIONS": { + "object_parameters": {"CacheControl": "max-age=31536000"}, # 1 year for static + }, }, } From 0b4c43836027ce2a8ef84531c377cd056965adce Mon Sep 17 00:00:00 2001 From: YuDavidCao Date: Sun, 26 Oct 2025 14:43:53 -0400 Subject: [PATCH 3/4] fixup (coderabbit) --- tcf_core/settings/base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tcf_core/settings/base.py b/tcf_core/settings/base.py index 3de69355d..457d5124d 100644 --- a/tcf_core/settings/base.py +++ b/tcf_core/settings/base.py @@ -75,7 +75,6 @@ AWS_DEFAULT_ACL = None AWS_S3_OBJECT_PARAMETERS = {"CacheControl": "max-age=31536000"} # 1 year cache STATIC_URL = f"https://{AWS_S3_CUSTOM_DOMAIN}/static/" - AWS_LOCATION = "static" ALLOWED_HOSTS.extend( [ @@ -89,12 +88,14 @@ "default": { "BACKEND": "storages.backends.s3.S3Storage", "OPTIONS": { + "location": "media", "object_parameters": {"CacheControl": "max-age=86400"}, # 1 day for media }, }, "staticfiles": { "BACKEND": "storages.backends.s3.S3ManifestStaticStorage", "OPTIONS": { + "location": "static", "object_parameters": {"CacheControl": "max-age=31536000"}, # 1 year for static }, }, From b98ad46de06a5f3fbb398bc15052b9b51922eedd Mon Sep 17 00:00:00 2001 From: YuDavidCao Date: Sun, 26 Oct 2025 14:51:58 -0400 Subject: [PATCH 4/4] removing duplicate cache control header --- tcf_core/settings/base.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tcf_core/settings/base.py b/tcf_core/settings/base.py index 457d5124d..dcddc3bc7 100644 --- a/tcf_core/settings/base.py +++ b/tcf_core/settings/base.py @@ -73,7 +73,6 @@ AWS_S3_REGION_NAME = env.str("AWS_S3_REGION_NAME", default="us-east-1") AWS_S3_CUSTOM_DOMAIN = f"{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com" AWS_DEFAULT_ACL = None - AWS_S3_OBJECT_PARAMETERS = {"CacheControl": "max-age=31536000"} # 1 year cache STATIC_URL = f"https://{AWS_S3_CUSTOM_DOMAIN}/static/" ALLOWED_HOSTS.extend(