Commit Graph

322 Commits

Author SHA1 Message Date
Alessandro Magionami dceedf512f chore(gatekeeper): remove last references to year limit for team plan 2025-03-10 10:11:40 +01:00
Alessandro Magionami dd461b2fb4 chore(gatekeeper): remove viewer product and prices 2025-03-07 14:38:44 +01:00
Alessandro Magionami cfa944ed8d chore(gatekeeper): add missing helm values for new plans 2025-03-07 12:10:12 +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
Kristaps Fabians Geikins 954b1a9f11 feat: plan prices accurately read from Stripe (#4104)
* WIP prices + new caching utils

* cached workspace plan prices

* GQL API done

* integrated in frontend

* fixed missing FF

* CR fixes

* integration tests

* removed non-existant team yearly env var
2025-03-05 12:23:38 +02:00
Iain Sproat 4d60e5e42b feat(feature flag): add workspacesNewPlanEnabled (#4101) 2025-03-03 12:50:43 +00:00
Alessandro Magionami ee92b254bc Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2728-full-seat-products-for-new-paid-plans 2025-02-28 09:37:57 +01:00
Mike 2ecb98146a Feat: prevent non work emails (#3993) 2025-02-26 10:55:02 +01:00
Alessandro Magionami 41454ad91a chore(gatekeeper): fix conflicts 2025-02-25 10:01:35 +01:00
Iain Sproat 18128aefec chore(helm chart): remove flag to use FE1 over FE2 (#4038) 2025-02-20 18:03:34 +00:00
Kristaps Fabians Geikins 1d2a594f0a chore: upgrade TS 5.2 -> 5.7.3 & ESLint to 9.20.1 (#4032)
* chore: upgrade TS 5.2 -> 5.7.3

* vite dts fix

* lint fix

* resolutions fix

* ui comp build fix

* precommit fix?

* latest eslint version

* autoloader fix

* undo unnecessary viewer change

* eslint fixes fe2 + trying disabled type linting

* lint fixes
2025-02-20 14:18:18 +02:00
Iain Sproat ec98f8d4cb chore(fe1): remove deprecated frontend (#3998)
---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-02-18 12:36:52 +00:00
Mike f376cfcc46 Fix: Always force email verification (#3990) 2025-02-15 08:30:57 +01:00
Gergő Jedlicska c4a6da410b feat(core): drop the closure table pls (#3900)
* feat(core): drop the closure table pls

* feat(core): remove closures feature flag

* feat(core): remove more closure stuff

* feat(core): only drop closure table if it exists
2025-02-07 14:06:53 +01:00
Iain Sproat 55315feb59 fix(server/diffdownload): fix the bug where client connection close events were not propogated to the database stream connection (#3921)
* WIP: trying to catch a bug

* great success

* reinstate gzip

* Remove feature flag

* remove stream-chain dependency

* remove superfluous logging lines

* re-align with original where possible

* re-align package.json

* More re-alignment with main branch before the previous 'fix'

* A smaller failing example
2025-02-04 11:09:53 +01:00
Iain Sproat 32c310f849 fix(server/objects): solves database connection resource leak when client connections are prematurely closed (#3889) 2025-01-28 15:56:21 +01:00
andrewwallacespeckle fc634ebfe5 Add force onboarding FF (#3897) 2025-01-28 10:04:54 +01:00
Iain Sproat e6adceda6c chore(Dockerfile): use COPY --link flag (#3869) 2025-01-22 15:03:13 +00:00
andrewwallacespeckle e68e3173a8 Add FF_FORCE_EMAIL_VERIFICATION (#3866) 2025-01-22 13:40:57 +00:00
Iain Sproat 9ee823a215 chore(Dockerfile): avoid missing cache when cloning repo (#3867) 2025-01-22 13:32:09 +00:00
Iain Sproat a1352fe8c8 chore(Dockerfile): remove all ADD statements as cache is missed (#3865) 2025-01-22 13:07:39 +00:00
Kristaps Fabians Geikins 347fa4b462 feat(server): improving knex query stack traces (#3855)
* feat(server): improving knex query stack traces

* minor cleanup

* more improvements
2025-01-21 10:59:09 +01:00
Kristaps Fabians Geikins dfed4ae5c1 feat(server): get request ctx from anywhere + log it w/ db operations (#3823) 2025-01-15 12:08:51 +02:00
Kristaps Fabians Geikins 3351e09418 feat(server): logging stack traces for db errors + allow async stack traces through env var (#3819) 2025-01-14 17:25:30 +01:00
Iain Sproat 17c6f71ba5 feat(fe2 helm chart): allows nodejs inspect flag to be enabled (#3770) 2025-01-07 20:35:22 +00:00
Iain Sproat 457c532b2b feat(server): allow ratelimiting to be explicitly disabled (#3757)
* feat(server): allow ratelimiting to be explicitly disabled
- allows rate limiter to be enabled or disabled explicitly
- example .env file for testing now explicitly disables it
- disables rate limiter in CI tests, except where explicitly testing the rate limiter
2025-01-03 08:24:28 +00:00
Iain Sproat 571338c604 feat(feature flags): consolidate multi region & multi region blob storage (#3709) 2024-12-18 15:28:19 +00:00
Iain Sproat 0115e654b7 feat(database monitor): handles multi-region and connection pooling (#3685) 2024-12-17 09:36:39 +00:00
Iain Sproat c4def81ae2 feat(server options): allow connection timeouts to be configured (#3701)
* feat(server options): allow connection timeouts to be configured

* feat(postgres config): allow connection parameters to be configured
2024-12-16 13:39:40 +00:00
Iain Sproat 298e0977de fix(helm chart): set a default value in Helm Chart for workspacesMultiRegionBlobStorageEnabled feature flag (#3645) 2024-12-05 14:04:48 +00:00
Iain Sproat 9b1b1dfb71 feat(server/feature flags): adds multi-region blob storage ff (#3643) 2024-12-05 15:13:34 +02:00
Iain Sproat cdf9c4858a refactor(env vars): rename AUTOMATE_ENCRTYPTION_KEYS_PATH with ENCRYPTION_KEYS_PATH (#3616) 2024-12-04 10:29:35 +00:00
Iain Sproat 3b51fc6d8d fix(helm chart): consistent spelling of workspaces (#3595) 2024-12-02 19:26:41 +01:00
Adam Hathcock 1ac972f02a feat(file imports): adds an experimental IFC parser (#3525)
* first pass of CLI ifc converter

* some updates

* closer

* yarn works

* can execute ifc?

* change exe

* remove extra venv needs

* invocation works

* fixed dockerfile and url

* refactor(fileimport): temp results path should not be hardcoded in parsers

* update importer to output stuff

* fix up argments

* remove dead code

* adjust dockerfile to have tini and workdir better

* fix node to a specific version

* Add shell statement and pin yarn version

* add ifc converter c# to ignore

* merge fix

* move ifc c#

* fix the api usage

* update the importer to new SDK

* Adds a feature flag `FF_FILEIMPORT_IFC_DOTNET_ENABLED` for enabling .Net IFC parser

* move directories

* put back ifc js

* use FF and reversions

* needs token too

* fix docker?

* one last copy fix

* adjust prettier ignore

* change to enable

* fix helm chart nesting

* Amend healthcheck node binary path

* Add FF_FILEIMPORT_IFC_DOTNET_ENABLED to feature flag parser

* Allow app to write to /.config directory

* fix: volume name has to be lower case

* update ifc importing

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: root <root@Clynelish>
2024-11-29 06:34:08 +01:00
Iain Sproat c841bb45f2 fix(helm chart): add Gendo feature flag to frontend-2 (#3563) 2024-11-26 20:49:10 +00:00
Iain Sproat 5f1e0a0b36 fix(helm chart): allow service account access to gendo secret (#3560) 2024-11-26 18:07:11 +01:00
Iain Sproat 506ecf33fd fix(helm chart): capitalization of gendoAI (#3557) 2024-11-26 15:27:49 +00:00
Iain Sproat d8b828f565 fix(feature flag): align spelling of feature flags (#3556)
- workspace is plural in other feature flags
2024-11-26 14:56:50 +00:00
Gergő Jedlicska 01b222ced8 gergo/web 2155 gendo module multi region (#3528)
* fix(workspaces): allow workspace delete for paid workspaces

* feat(gendo): multi region gendo with new api integration and limits

* feat(gendo): user credits

* feat: adds limits to gendo panel, and terms and conditions link

* fix: reworks setting back camera view

* feat(gendo): webhook signature verification

* fix(gendo): nullability

* test(blobstorage): fix test dependency injection

---------

Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
2024-11-22 16:43:31 +01:00
Iain Sproat 01450de54d fix(helm chart): root is read-only so mount volume to specific directory (#3458)
* fix(helm chart): mount correct path

* fix(helm chart): root is read-only so mount volume to specific directory
2024-11-07 14:20:05 +01:00
Iain Sproat a80e515d12 fix(helm chart): provide service account with access to multi-region (#3457) 2024-11-07 12:35:25 +00:00
Iain Sproat 05ba9ee8e6 feat(helm chart): include multi-region feature flag and mount volume from secret (#3453)
* feat(helm chart): include multi-region feature flag and volume from secret

* fix monitoring deployment template

* Add environment variables to all services
2024-11-07 10:11:48 +00:00
Iain Sproat 8d72d50d45 fix(helm chart): secret path must be relative and not absolute (#3449) 2024-11-06 20:14:52 +00:00
Gergő Jedlicska f210d9b749 gergo/web 2109 project region based db connection selector (#3434)
* feat(projects): add project regions, default to null

* feat(multiregion): add projectRegion Db client lookup logic

* feat(multiregion): add project region repositories and caching

* feat(multiRegion): db initialization and get project db client

* feat(docker-compose): add second db for regions testing

* feat(multiRegion): initialize region with pubs and subs working

* fix(multiRegion): get region client even if it was registered in another pod

* feat(workspaces): create workspace resolver split

* feat: update server region metadata

* feat(projects): rewrite project creation

* feat(multiRegion): getRegionDb

* fix(workspaces): get projects now can retur null

* feat(multiRegion): make local multi region DB-s work

* feat: set d efault workspace region

* CR changes

* tests

* feat(multiRegion): bind region properly

* fe update

* test fixes

* feat(multiRegion): automatically create aiven extras plugin

* ci(postgres): use published postgres with aiven extras

* fix(multiRegion): roll back the aiven extras migration, there is a better way

* tests fix

* fix(billing): we do not need to add a seat, if the workspace is on a plan, but has no sub

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-11-06 17:29:08 +01:00
Iain Sproat 395202ddfb chore(helm chart): remove obsolete Makefile (#3439)
- replaced with Tilt deployment in .circleci directory
2024-11-05 10:11:05 +00:00
Iain Sproat 8ea43d7b98 feat(server/multi region config): mount file and read config from file (#3407)
* feat(multi region config): mount file and read config from file
* feat(helm): allow multi region config to be mounted from a secret
* Allow the file name to be amended
2024-10-30 10:59:03 +00:00
andrewwallacespeckle def74d1029 Update deployment.yml (#3381) 2024-10-23 11:52:15 +01:00
andrewwallacespeckle ce37f9592d Update api key name for consistency (#3380) 2024-10-23 10:38:54 +01:00
Adam Hathcock 89882c4fd6 Add otel tracing (#3294)
* add OpenTelemetry

* fix local tracing and add pino

* fix otel as seperate file

* Rework provider initialization

* Use env vars

* review comments

* lock update

* updates to env var handling

* Helm chart for opentelemetry environment variables
- also adds try/catch when detecting if environment variable exists

* review fixes

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2024-10-22 15:23:39 +01:00
andrewwallacespeckle 083531e5c9 refactor(fe2): Use webflow api for dashboard stories (#3342)
* Initial work

* fallback image

* Update api name

* Add read time

* Filter out newly updated stories

* Update webflow.ts

* Add NuxtImg

* Update webflow.ts

* Update Card.vue

* Rename to Webflow Items

* Helm changes

* Rename webflow to blog

* useAsyncData

* Throw error if no API
2024-10-22 14:58:31 +01:00