PromucFlow_constructor/deploy/docker/fs/opt/appsmith
Diljit 01cda23c3d
chore: add etag caching in consolidated api for application view mode (#38873)
## Description
- Implement Etag caching for consolidated api in view mode.
  - Generate Etag for consolidated api in view mode
- compare the if none match header with the computed etag and respond
with either a 304 or 200
  - add span for generate etag fn
- Remove prefetching and caching of static assets in service worker  

```mermaid
sequenceDiagram
    Client->>Server: Request Consolidated API
    Server-->>Server: Compute ETag
    Server-->>Client: Respond with ETag, Cache-Control
    Client->>Server: Subsequent Request with If-None-Match
    alt ETag Matches
        Server-->>Client: 304 Not Modified
    else ETag Different
        Server-->>Client: Full Response with New ETag
    end
```

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13046610688>
> Commit: c14d58da8a59b3bbfb10c7e308b518d2cd8e3b7d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13046610688&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 30 Jan 2025 07:14:21 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added ETag support for consolidated API responses to improve caching
efficiency.
- Introduced a new route handler for the `/api/v1/consolidated-api/view`
endpoint.

- **Performance Improvements**
	- Optimized NGINX configuration for API responses.
	- Updated tracing endpoint for better monitoring.

- **Dependency Updates**
	- Added Jackson datatype support for Java 8 date and time handling.

- **Technical Enhancements**
	- Improved request handling in ConsolidatedAPIController.
	- Updated service worker configuration.
	- Refined feature flag handling in the client.
	- Enhanced API request headers for consolidated page load functions.
	- Simplified caching and routing logic in the service worker.
	- Adjusted service worker caching strategy for production environment.
	- Updated test specification path for Cypress limited tests.
- Modified request handling to remove unnecessary headers in feature
flag functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-30 13:54:34 +05:30
..
baseline-ce chore: Add mover script for Mongo to postgres migration (#36458) 2024-09-25 15:22:02 +05:30
postgres fix: Add password based auth for postgres (#37068) 2024-12-06 10:49:27 +05:30
templates chore: move the rts.conf code to shell file (#38859) 2025-01-28 00:22:58 -06:00
auto_heal.sh chore: Fix auto heal script crash if curl times out (#29472) 2023-12-08 15:22:26 +05:30
caddy-reconfigure.mjs chore: add etag caching in consolidated api for application view mode (#38873) 2025-01-30 13:54:34 +05:30
diagnostics.sh Add a diagnostic script to assist in the debugging of issues with appsmith implementation (#35640) 2024-08-29 14:06:30 +05:30
entrypoint.sh fix: Add password based auth for postgres (#37068) 2024-12-06 10:49:27 +05:30
generate-infra-details.sh chore: Update incorrect docker tagging and add fargate tag in deployment telemetry (#33472) 2024-05-27 17:16:13 +05:30
healthcheck.sh chore: Health check only backend, caddy and RTS (#32891) 2024-04-25 10:36:13 +05:30
install_docker.sh chore: replaced decommisioned urls with new ones (#27786) 2023-10-05 12:07:18 +05:30
JFR-recording-24-hours.sh chore: JFR 24 hour script with logs file (#36041) 2024-09-13 12:46:54 +05:30
mongodb-fixer.sh chore: Use tlog instead of echo in more places (#34182) 2024-06-11 20:10:33 +05:30
pg-upgrade.sh fix: cleanup stale postgres postmaster.pid (#35171) 2024-07-26 12:52:49 +05:30
pg-utils.sh fix: Server startup issue for external postgres (#38019) 2024-12-06 16:38:12 +05:30
pull_resource.sh
record-heap-dump.sh chore: preStop scripts (#35785) 2024-08-21 11:43:40 +05:30
record-thread-dump.sh chore: preStop scripts (#35785) 2024-08-21 11:43:40 +05:30
run-caddy.sh chore: Switch to vanilla Caddy, when rate limiting is disabled (#33387) 2024-05-24 13:11:56 +05:30
run-java.sh chore: create appsmith schema for postgres (#36591) 2024-09-30 23:42:56 +05:30
run-postgres.sh chore: Add Postgres bin to PATH (#34265) 2024-06-17 12:53:34 +05:30
run-rts.sh chore: move the rts.conf code to shell file (#38859) 2025-01-28 00:22:58 -06:00
run-starting-page-init.sh feat: Caddy (#28081) 2023-12-05 10:47:36 +05:30
run-with-env.sh chore: Use tlog instead of echo in more places (#34182) 2024-06-11 20:10:33 +05:30
start_app.sh
starting-page-init.py feat: add ability to change application logs location (#31926) 2024-03-20 19:45:48 +05:30
thread-profile-start.sh chore: preStop scripts (#35785) 2024-08-21 11:43:40 +05:30
thread-profile-stop.sh chore: Added multiple scripts to trigger profiles (#35546) 2024-08-12 19:29:47 +05:30