Kristaps Fabians Geikins
9688ef68ea
fix(fe2): more fixes and performance improvements ( #5281 )
...
* fix(fe2): further preview image cleanup/optimization
* server log streaming
* more hydration mismatch fixes
* lint fix
2025-08-21 09:57:47 +03:00
Iain Sproat
b960ba6f2a
fix(preview service): relative import should use alias ( #5075 )
2025-07-15 12:22:03 +01:00
Daniel Gak Anagrov
e6cd2ab441
feat(preview-service): re introduce preview service acceptance test ( #5049 )
...
* feat: basic structure for running tests
* feat: added test to ci
* feat: added server test (wip)
* refactor: restuctured entrypoint
* feat: added supertest
* fix: missing deps
* fix: test example ci
* fix: updated default envs
* feat: debug ci
* feat: switch browser
* fix: superadmin ci
* feat: try another image
* fix: try another image with node
* fix: mr comments
* fix: ci job
* chore: workaround to push the image
* chore: try with new base image
* chore: retry
* chore: retry
* chore: retry
* chore: retry
* chore: retry
* fix: test via debug
* fix: envbar
* chore: wrapped up changes, cleaned mr
* chore: fix linter and skiped puppeteer download
* fix: removed paralelism
* fix: paralelism issues
2025-07-15 10:56:09 +02:00
Iain Sproat
4a58e66d99
feat(file importer): send skp to rhino parser ( #4973 )
2025-06-23 13:45:26 +01:00
Kristaps Fabians Geikins
b406d0e32d
chore(server): node16 & export maps support for server ( #4698 )
...
* chore(server): node16 & export maps support for server
* moar cleanup
* lint fixc
2025-05-12 14:27:34 +03:00
Gergő Jedlicska
2fdcf1bd1d
refactor(shared): unified queue handling ( #4691 )
...
* feat(shared): unified queue initialization in shared
* feat(queues): use the new queue creation everywhere
* chore(shared): move to redis module
* chore(shared): fix export maps
* chore(fileimport): add deps properly
* fix(shared): import fix
* fix(everything): moear imports
* fix(server): cjs imports
2025-05-08 16:58:43 +02:00
Iain Sproat
6c8b715365
chore(shared): refactor previews in to worker directory
...
- add file imports to worker directory
2025-05-07 18:35:56 +02:00
Iain Sproat
ee4218b870
fix(preview service): remove reference to library it cannot access
2025-04-22 14:42:13 +01:00
Iain Sproat
2adf7a97ae
Merge pull request #4499 from specklesystems/iain/likes-time_ms
...
chore(readable code): use TIME_MS for readable durations
2025-04-22 09:48:19 +01:00
Iain Sproat
920099c39f
chore(readable code): use TIME_MS for readable durations
...
- we recently added TIME_MS helper; this applies it to existing durations
2025-04-18 17:51:43 +01:00
Iain Sproat
66f3f6ff74
Gracefully handle preview-service shutdown
2025-04-11 13:33:30 +01:00
Iain Sproat
188518dd8c
chore(preview service): include redis readiness check in healthcheck
2025-04-11 13:28:05 +01:00
Iain Sproat
2071a36e5d
fix(previews): disable previews is previews Redis is not reachable
...
- exit preview-service process if Redis is not reachable
- improve server healthcheck to include Redis client readiness check
2025-04-11 13:25:19 +01:00
Iain Sproat
af1acf3983
fix(preview service): check bull queue is ready before processing
2025-04-11 12:02:03 +01:00
Alexandru Popovici
c1958d199d
chore(preview-service): Chrome's passed args are logged ( #4381 )
...
* chore(preview-service): Chrome's passed args are logged
* improve log lines produced by preview service
---------
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com >
2025-04-11 11:08:43 +03:00
Iain Sproat
1b18786281
chore(preview service): use gl-egl over vulkan
2025-04-08 18:05:24 +01:00
Iain Sproat
5fc2d5c089
Merge pull request #4180 from specklesystems/iain/preview-service-handle-errors
...
fix(preview service): handle errors and failures
2025-04-08 17:55:49 +01:00
Iain Sproat
35c83d62a8
Revert change already in another PR
2025-04-08 15:13:40 +01:00
Iain Sproat
b66b19e1ac
Remove duplication of browser close
2025-04-08 15:10:39 +01:00
Iain Sproat
58ed9fc58b
Merge branch 'main' into iain/preview-service-handle-errors
2025-04-08 15:08:00 +01:00
Iain Sproat
be9bbc234f
Disable unnecessary chromium components
2025-04-08 14:56:05 +01:00
Iain Sproat
bbadd643b9
chore(preview service): improve logging
2025-04-08 10:57:12 +01:00
Iain Sproat
65564acc5a
feat(preview service): enable GPU rendering via Puppeteer
2025-04-07 17:34:31 +01:00
Iain Sproat
2433380a1c
feat(helm chart): separate helm chart for preview service
2025-03-31 18:19:44 +01:00
Iain Sproat
33e32ed02c
Add comments about role of shutdown process managing browser closure
2025-03-28 10:43:43 +00:00
Iain Sproat
0caaa7a264
SIGTERM could close browser before parent, resulting in race
...
- SIGTERM is no longer handled by puppeteer
2025-03-27 17:13:49 +00:00
Iain Sproat
3c753b5609
Use specific type
2025-03-27 15:49:16 +00:00
Iain Sproat
954d6d8871
Ensure browser is always closed
2025-03-27 15:46:57 +00:00
Iain Sproat
269b25d1a2
fix by using const
2025-03-27 15:32:54 +00:00
Iain Sproat
d788253f92
fix
2025-03-27 14:52:06 +00:00
Iain Sproat
d4c3ccd548
Use zod to split job id
2025-03-27 14:22:12 +00:00
Iain Sproat
cab78143c2
Log as warning if app is shutting down
2025-03-27 13:35:53 +00:00
Iain Sproat
dfd328f236
log job attempts made
2025-03-27 11:57:41 +00:00
Iain Sproat
b82e0dd370
Merge branch 'main' into iain/preview-service-handle-errors
2025-03-26 08:50:37 +00:00
Iain Sproat
894cc16ac9
Merge branch 'main' into iain/web-2811-new-preview-service-pods-stuck-on-terminating
2025-03-13 11:27:03 +00:00
Iain Sproat
f033953d33
Update objectpreview on error
...
- use const with explanatory variable names
2025-03-13 09:15:41 +00:00
Iain Sproat
e06bad327f
fix(preview service): use correct units for metrics ( #4173 )
2025-03-12 15:06:18 +01:00
Iain Sproat
8d81d65440
fix(preview service): ensure variables are defined within puppeteer scope
2025-03-12 12:01:34 +00:00
Iain Sproat
70a30e0795
fix(preview service): remove need for speckle shared in frontend ( #4169 )
...
* fix(preview service): remove need for speckle shared in frontend
* Add status for error logs
2025-03-12 12:28:54 +01:00
Iain Sproat
5804ee4b50
fix(preview service): handle shutdown via terminus
2025-03-12 09:28:38 +00:00
Iain Sproat
e9a90717a4
Observe load and render times in metrics
...
- makes new durations optional (so requests in flight aren't dropped during deployment)
- Adds durations as a label to existing metric
- Attempt to produce durations in error cases (so we can see long load times etc..)
2025-03-11 12:56:21 +00:00
Gergő Jedlicska
3fc61c2dbd
feat(preview-service): add load and render duration calculation to preview service
2025-03-11 12:59:50 +01:00
Iain Sproat
05d7a8fbe2
fix(preview service): expose metrics port via helm chart ( #4150 )
...
- remove obsolete references to metricsPort
- allow listen Host to be configured
2025-03-10 19:53:10 +01:00
Iain Sproat
cfef333a0c
feat(preview service): introduce /metrics endpoint for Prometheus ( #4127 )
2025-03-10 10:48:29 +00:00
Gergő Jedlicska
a900aa3c7b
fix(previews): logging and promise fixes ( #4137 )
2025-03-10 10:22:02 +01:00
Gergő Jedlicska
fb0e67f136
fix(preview-service): timeout was already in milis ( #4129 )
2025-03-06 19:58:48 +01:00
Gergő Jedlicska
990a5fa056
fix(previews): add proper timeout, remove some leftover crap ( #4128 )
2025-03-06 17:40:26 +01:00
Gergő Jedlicska
61609de97e
gergo/previews ( #3765 )
...
* feat(preview-generator): add new preview generator webapp
* wip(preview-service): reworking the preview service backend
* feat(previews): logging
* feat(preview-service): streamline payloads
* fix(preview-service): do not log the full payload
* feat(preview-service): build new preview service
* feat(preview-service): add separate response queue
* feat(previews): integrate preview queues with the server
* feat(previews): use module alias
* chore(previews): remove old preview service code
* feat(previews): log stuff on job statuses
* fix(previews): add missing deps and scripts
* fix(previews): package deps fix
* fix(server): moar typing fixes
* Metrics related to jobs: total count, request failures, response errors & durations
* duration should include unit.
- histogram metric should be summary
- error responses include duration in seconds
- attempt to remove metric before adding it (prevent errors with duplicate metrics)
* fix(server, frontend): some ts fixes
* fixes
* fix(frontend): remove unneeded ts-expect-error
* chore(preview-service): eslint
* TS fix
* feat(previews): more smoal fixes
* fix(preview-service): alias loading
* feat(helm): updates for new preview service queue setup
* feat(preview-service): launch new browser for each job
* feat(preview-service): add timeout, fix liveliness
* fix(helm): add access to new secret in service accounts
* tidy metrics into a separate file
* Remove broken preview service acceptance test
* fix broken import
* Add metrics to test
* feat(preview-service): handle preview service shutdown properly
* fix(previews): merge bork
---------
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com >
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com >
2025-03-06 14:26:56 +01:00
Iain Sproat
947f8fd4fa
fix(server/database streams): remove event listener on batch completion ( #3938 )
2025-02-05 15:16:22 +00:00
Iain Sproat
a4521d46a1
fix(logging): user-input issues should not be logged as error level ( #3935 )
...
* fix(logging): reduce user-input issues being logged as error
* error logging middleware should better handle caught errors
2025-02-05 15:08:10 +00:00