Commit Graph

9612 Commits

Author SHA1 Message Date
Girish Ramakrishnan b0f0a34672 metrics: convert to seconds 2025-05-22 12:09:42 +02:00
Girish Ramakrishnan 9c477710b9 graphs: make the interval configurable 2025-05-22 11:17:31 +02:00
Girish Ramakrishnan 3c01673741 graphs: show swap 2025-05-22 11:12:27 +02:00
Girish Ramakrishnan fcfc9572f1 metrics: parse int 2025-05-21 18:22:57 +02:00
Girish Ramakrishnan c0f0084e56 metrics: add stream api for system info 2025-05-21 18:09:02 +02:00
Girish Ramakrishnan 7e3162d287 metrics: refactor code that sends metrics to graphite 2025-05-21 17:29:14 +02:00
Girish Ramakrishnan 048afdc232 merge the collectd logic into metrics.js
this is to prepare for live streaming of metrics
2025-05-21 16:32:52 +02:00
Girish Ramakrishnan 8779de448d rename /graphs route to /metrics 2025-05-21 16:26:36 +02:00
Girish Ramakrishnan 3770f07720 docker: rename function 2025-05-21 15:37:31 +02:00
Girish Ramakrishnan 8e205207b0 graphs: fix scaling of cpu graphs 2025-05-20 22:50:20 +02:00
Girish Ramakrishnan 892ff38a3f graphs: make interval configurable 2025-05-20 20:46:35 +02:00
Girish Ramakrishnan 3428b95672 nginxconfig: fix graphite IP 2025-05-20 20:46:35 +02:00
Girish Ramakrishnan 64cb966683 graphs: fix cpu graphs 2025-05-20 20:46:35 +02:00
Girish Ramakrishnan 31500076d1 graphs: various fixes 2025-05-20 14:57:46 +02:00
Girish Ramakrishnan 4615418000 graphs: replace collectd with our custom collector
collectd (with the python plugin) seems semi-abandoned. replace
with our own. we have more control over how to collect things instead
of relying on random plugins.
2025-05-20 12:19:40 +02:00
Girish Ramakrishnan e829c2031c Update haraka to 3.1.1 2025-05-20 10:04:53 +02:00
Girish Ramakrishnan 85ea71d9aa remove inline require 2025-05-20 09:59:48 +02:00
Johannes Zellner cf210c5a5a Return the payload of the session in oidc and not the session object 2025-05-19 11:45:29 +02:00
Girish Ramakrishnan ee0ac7cbed mail: remove duration in message 2025-05-15 13:25:47 +02:00
Johannes Zellner b7cc592fb1 Verify if oidc session is from an existing and active user 2025-05-14 14:19:11 +02:00
Johannes Zellner 1d2c3a748b Set all oidc_error template keys 2025-05-14 12:39:51 +02:00
Johannes Zellner 16c8721d6c Show subscription badge where required and disable UI elements accordingly 2025-05-13 18:11:10 +02:00
Johannes Zellner b8dcfcf900 Remove app purchase/unpurchase 2025-05-13 11:46:13 +02:00
Johannes Zellner faf6ea83fa Add provisional cloudron flow 2025-05-13 11:38:54 +02:00
Girish Ramakrishnan 5a10a8dd46 mail: rename delivered -> sent and received -> saved in event log 2025-05-09 19:11:59 +02:00
Girish Ramakrishnan ea4c140ad0 appstore: lazy load the feature cache
the tests work more reliably with this
2025-05-09 09:50:01 +02:00
Johannes Zellner a67b4a5059 Add branding hooks for plan usage 2025-05-07 21:33:33 +02:00
Johannes Zellner d831624d43 Do not crash if the cached feature file cannot be loaded 2025-05-07 16:22:17 +02:00
Girish Ramakrishnan 1bbdabc42f registry config: create table and migrate existing setting 2025-05-07 15:56:13 +02:00
Johannes Zellner 186a336232 null in features means 'unlimited' 2025-05-07 15:37:31 +02:00
Johannes Zellner 974fd19b40 Ensure we always have a features object expected by that version 2025-05-07 15:03:26 +02:00
Girish Ramakrishnan 46dbd016f4 typo 2025-05-07 13:35:09 +02:00
Girish Ramakrishnan 0cf0c7a27c notifications: add low disk space notification 2025-05-07 13:19:20 +02:00
Girish Ramakrishnan 5489237f11 Revert "nginx: disable gzip for SSE endpoints"
This reverts commit 51d1efead6.

This doesn't work. What we want is something like:

map $sent_http_content_type $buffering {
    default                     "on";         # Enable buffering by default
    "text/event-stream"         "off";         # Disable buffering for SSE responses
}

proxy_buffering $buffering;

unfortunately, proxy_buffering does not support variables.
https://mailman.nginx.org/pipermail/nginx/2023-November/ZGQLNBVQEG5KNLH55HTR4R4NFODBSIU3.html

Upstream has to possibly to X-Accel-Buffering to 'no' . Otherwise, we have to ship
nginx in the package.
2025-05-07 12:37:44 +02:00
Girish Ramakrishnan 51d9e7fcb1 network: fix crash because of ipaddr.parse usage 2025-05-07 09:37:18 +02:00
Johannes Zellner 21d7dd873e Adjust feature set 2025-05-06 18:49:56 +02:00
Girish Ramakrishnan dc49dd0a94 firewall: do not allow internal docker IPs 2025-05-06 16:37:36 +02:00
Girish Ramakrishnan a7c6e36ec3 replace ipaddr.js 2025-05-06 16:26:35 +02:00
Girish Ramakrishnan 86109127b8 test: fix domains test for dashboard at index0 2025-05-06 10:31:06 +02:00
Girish Ramakrishnan fde6e5f1fb add note on why we use ipaddr.process instead of ipaddr.parse 2025-05-05 17:34:55 +02:00
Johannes Zellner d5a8731850 replace proxy auth page with direct oidc redirect 2025-04-29 12:18:22 +02:00
Girish Ramakrishnan d8a9ef8187 constants: DOCKER_IPv6_SUBNET 2025-04-28 18:20:04 +02:00
Girish Ramakrishnan 475239bd02 constants: add some notes 2025-04-28 18:06:39 +02:00
Johannes Zellner 6e06e05f12 Push dashboard domain at index 0 of domain listing 2025-04-28 16:41:58 +02:00
Johannes Zellner aa46285b8f Bring back immich vectors hook in postgres addon 2025-04-28 15:43:15 +02:00
Johannes Zellner 5be2eb1c9a Fix superagent usage 2025-04-19 16:33:12 +02:00
Girish Ramakrishnan 06768833cc typo 2025-04-16 13:46:41 +02:00
Girish Ramakrishnan 51d1efead6 nginx: disable gzip for SSE endpoints
Gzip buffers output by default to optimize compression. This buffering delays the transmission of
events—breaking the “real-time” feel of SSE. Instead of seeing each event instantly, the client
might see a batch of events all at once after the gzip buffer flushes (which could take seconds or more).

gzip_types is a whitelist . But certain modules like proxies can not honor it.
2025-04-16 08:46:25 +02:00
Girish Ramakrishnan 04ff495066 underscore: handle null in isEqual 2025-04-15 14:39:49 +02:00
Johannes Zellner df408505e0 Ensure we include a much higher backups count for cleanup 2025-04-15 14:06:29 +02:00