From 228636cd646b9f676963925e344f6d29e3660bc0 Mon Sep 17 00:00:00 2001 From: Florian M Date: Mon, 15 Jun 2026 16:55:45 +0200 Subject: [PATCH 1/3] Fix typos codespell --- .codespellrc | 4 ++-- CHANGELOG.released.md | 6 +++--- app/models/task/TaskCreationResult.scala | 4 ++-- app/security/CertificateValidationService.scala | 2 +- conf/webknossos.versioned.routes | 2 +- .../admin/dataset/composition_wizard/03_select_datasets.tsx | 2 +- .../admin/user/permissions_and_teams_modal_view.tsx | 2 +- .../test/sagas/save_mutex_strategy_switching.spec.ts | 2 +- .../viewer/model/accessors/annotation_accessor.ts | 2 +- .../viewer/model/accessors/volumetracing_accessor.ts | 2 +- .../javascripts/viewer/model/sagas/saving/save_saga.tsx | 2 +- .../viewer/view/right_border_tabs/abstract_tree_renderer.ts | 6 +++--- schema/evolutions/069-tasktype-project-unique-per-orga.sql | 2 +- .../reversions/169-per-user-annotation-view-config.sql | 2 +- .../com/scalableminds/util/mvc/ExtendedController.scala | 6 +++--- .../dataformats/{SafeCachable.scala => SafeCacheable.scala} | 2 +- .../webknossos/datastore/storage/AgglomerateFileCache.scala | 4 ++-- .../webknossos/datastore/storage/Hdf5FileCache.scala | 4 ++-- .../tracingstore/tracings/volume/VolumeUpdateActions.scala | 2 +- 19 files changed, 29 insertions(+), 29 deletions(-) rename webknossos-datastore/app/com/scalableminds/webknossos/datastore/dataformats/{SafeCachable.scala => SafeCacheable.scala} (97%) diff --git a/.codespellrc b/.codespellrc index 3f75a49db49..7c45be8d2f0 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,6 +1,6 @@ [codespell] # Ref: https://github.com/codespell-project/codespell#using-a-config-file -skip = *.svg,*.sublime-workspace,*.lock,.codespellrc,./util/target/,./binaryData,./node_modules,./pg,./project/target,./target,./webknossos-datastore/target,./webknossos-jni/target,./webknossos-tracingstore/target,./util/target,./coverage,./public-test,./tools/proxy/node_modules,./docs/publications.md,./public/bundle,./public/assets,./tools/migration-unified-annotation-versioning/venv,./tools/migration-unified-annotation-versioning/*.json +skip = *.svg,*.sublime-workspace,*.lock,.codespellrc,./util/target/,./binaryData,./node_modules,./pg,./project/target,./target,./webknossos-datastore/target,./webknossos-jni/target,./webknossos-tracingstore/target,./util/target,./coverage,./public-test,./tools/proxy/node_modules,./docs/publications.md,./public/bundle,./public/assets,./tools/migration-unified-annotation-versioning/venv,./tools/migration-unified-annotation-versioning/*.json,./fossildb/data,*.log,./webknossos-slick-codegen/target,./fossildb/backup,*_pb2.py # some names and camelCased variables etc ignore-regex = \b([a-z]+[A-Z][a-zA-Z]*|H Mattern|Manuel|Nat Commun)\b -ignore-words-list = lod,nd,ue,DoubleClick,InOut +ignore-words-list = lod,nd,ue,DoubleClick,InOut,Applyable diff --git a/CHANGELOG.released.md b/CHANGELOG.released.md index dd6ff5291a7..2c4e7fa46d4 100644 --- a/CHANGELOG.released.md +++ b/CHANGELOG.released.md @@ -317,7 +317,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released - Clicking `Focus Tree in Skeleton Tab` or `Focus in Segment List` will not only focus the clicked tree/segment, but also open the right tab if it was not open already. [#8917](https://github.com/scalableminds/webknossos/pull/8917) - Renamed Basic plan to Personal plan. [#8951](https://github.com/scalableminds/webknossos/pull/8951) - Improved the error message when loading an unusable dataset or an annotation for an unusable dataset [#8956](https://github.com/scalableminds/webknossos/pull/8956) -- Changed the pre-selected default format for volume annotation downloads from WKW to Zarr. [#8970](https://github.com/scalableminds/webknossos/pull/8970) +- Changed the preselected default format for volume annotation downloads from WKW to Zarr. [#8970](https://github.com/scalableminds/webknossos/pull/8970) - The tracingstore route `/mapping/:tracingId/agglomerateGraph/:agglomerateId` used by the python client now returns the static fallback agglomerate graph from the datastore in case of volume annotation layers with no editable mapping. [#9013](https://github.com/scalableminds/webknossos/pull/9013) ### Fixed @@ -404,7 +404,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released - Changed that the d/f switching setting no longer affects movements other than moving via the d/f keyboard shortcuts. [#8786](https://github.com/scalableminds/webknossos/pull/8786) - Explicitly scanning datasets on disk is now faster for multi-organization setups. [#8791](https://github.com/scalableminds/webknossos/pull/8791) - Integrated "Change Email" functionality into Account Settings [#8840](https://github.com/scalableminds/webknossos/pull/8840) -- When adding a new dataset from UI modal, the organization's default team is now automatically pre-selected for dataset access permissions. [#8847](https://github.com/scalableminds/webknossos/pull/8847) +- When adding a new dataset from UI modal, the organization's default team is now automatically preselected for dataset access permissions. [#8847](https://github.com/scalableminds/webknossos/pull/8847) - Zarr streaming a volume annotation will now respond with errors (500) if the underlying data encountered errors. [#8853](https://github.com/scalableminds/webknossos/pull/8853) - datasource-properties.jsons with wkwResolutions now do not need the cubeLength parameter anymore. [#8854](https://github.com/scalableminds/webknossos/pull/8854) - Added protection against server outages by limiting the number of update actions in an annotation update transaction to 1000000. [#8866](https://github.com/scalableminds/webknossos/pull/8866) @@ -1157,7 +1157,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released - Added the option to convert agglomerate skeletons to freely modifiable skeletons in the context menu of the Skeleton tab. [#7537](https://github.com/scalableminds/webknossos/pull/7537) - The annotation list in the dashboard now also shows segment counts of volume annotations (after they have been edited). [#7548](https://github.com/scalableminds/webknossos/pull/7548) - The buildinfo route now reports the supported HTTP API versions. [#7581](https://github.com/scalableminds/webknossos/pull/7581) -- After deleting specific teams, projects and task types, their names can now be re-used when creating new ones. [#7573](https://github.com/scalableminds/webknossos/pull/7573) +- After deleting specific teams, projects and task types, their names can now be reused when creating new ones. [#7573](https://github.com/scalableminds/webknossos/pull/7573) ### Changed - Improved loading speed of the annotation list. [#7410](https://github.com/scalableminds/webknossos/pull/7410) diff --git a/app/models/task/TaskCreationResult.scala b/app/models/task/TaskCreationResult.scala index 2c0fd925741..cb1f5f9afb9 100644 --- a/app/models/task/TaskCreationResult.scala +++ b/app/models/task/TaskCreationResult.scala @@ -1,6 +1,6 @@ package models.task -import com.scalableminds.util.mvc.JsonResultAttribues +import com.scalableminds.util.mvc.JsonResultAttributes import com.scalableminds.util.tools.Fox import com.scalableminds.util.tools.{Box, Empty, Failure, Full, ParamFailure} import play.api.http.Status @@ -10,7 +10,7 @@ import scala.concurrent.{ExecutionContext, Future} case class TaskCreationResult(tasks: List[JsObject], warnings: List[String]) -object TaskCreationResult extends JsonResultAttribues with Status { +object TaskCreationResult extends JsonResultAttributes with Status { implicit val jsonFormat: Format[TaskCreationResult] = Json.format[TaskCreationResult] def fromTaskJsFoxes(taskJsons: List[Fox[JsObject]], warnings: List[String])( diff --git a/app/security/CertificateValidationService.scala b/app/security/CertificateValidationService.scala index 03a98eda1de..06e362ce489 100644 --- a/app/security/CertificateValidationService.scala +++ b/app/security/CertificateValidationService.scala @@ -63,7 +63,7 @@ class CertificateValidationService @Inject()(implicit ec: ExecutionContext) exte (for { certificate <- Properties.envOrNone("CERTIFICATE") // JwtJson already throws an error which is transformed to an empty option when the certificate is expired. - // In case the token is expired, tge default map will be used. + // In case the token is expired, the default map will be used. token <- JwtJson.decodeJson(certificate, publicKey, JwtOptions(expiration = false)).toOption featureOverrides <- Some( (token \ "webknossos").asOpt[Map[String, Boolean]].getOrElse(defaultConfigOverridesMap)) diff --git a/conf/webknossos.versioned.routes b/conf/webknossos.versioned.routes index db0938c73e6..4438bb85267 100644 --- a/conf/webknossos.versioned.routes +++ b/conf/webknossos.versioned.routes @@ -9,7 +9,7 @@ # changed in v12: Dataset upload now expects layersToLink in new format with datasetId instead of orgaId+directoryName # changed in v11: Datasets reserveManualUpload flow via WK side. Note: older versions of the route are *not* supported for security reasons. # changed in v9: Datasets are now identified by their id, not their name. The routes now need to pass a dataset id instead of a name and organization id tuple. - # Requests to the TracingStore and DatasStore need to address a dataset based on its directoryName and organization id. + # Requests to the TracingStore and DataStore need to address a dataset based on its directoryName and organization id. # changed in v8: Datasets' name was renamed to id and the displayName is now named name. # changed in v7: datasources now contain scale as object with keys factor and unit, e.g. {"factor": [11,11,5.5], "unit": "nm"} # changed in v6: isValidName always returns Ok, with a JSON object containing possible errors and key "isValid" diff --git a/frontend/javascripts/admin/dataset/composition_wizard/03_select_datasets.tsx b/frontend/javascripts/admin/dataset/composition_wizard/03_select_datasets.tsx index 46561a38991..d3d7b5b0ad0 100644 --- a/frontend/javascripts/admin/dataset/composition_wizard/03_select_datasets.tsx +++ b/frontend/javascripts/admin/dataset/composition_wizard/03_select_datasets.tsx @@ -50,7 +50,7 @@ export default function SelectDatasets({ wizardContext, setWizardContext }: Wiza return (

- Select the datasets that you want to combine or doublecheck the pre-selected datasets. Note + Select the datasets that you want to combine or doublecheck the preselected datasets. Note that the order of the datasets is important and needs to be equal to the order of the files from the upload.

diff --git a/frontend/javascripts/admin/user/permissions_and_teams_modal_view.tsx b/frontend/javascripts/admin/user/permissions_and_teams_modal_view.tsx index 7baec78f4d9..91535ae2db8 100644 --- a/frontend/javascripts/admin/user/permissions_and_teams_modal_view.tsx +++ b/frontend/javascripts/admin/user/permissions_and_teams_modal_view.tsx @@ -273,7 +273,7 @@ function PermissionsAndTeamsModalView(props: TeamRoleModalProps) { const onlyEditingSingleUser = selectedUserIds.length === 1; useEffect(() => { - // If a single user is selected, pre-select their teams + // If a single user is selected, preselect their teams const singleUserMaybe = getSingleUserMaybe(selectedUserIds, users); if (singleUserMaybe) { diff --git a/frontend/javascripts/test/sagas/save_mutex_strategy_switching.spec.ts b/frontend/javascripts/test/sagas/save_mutex_strategy_switching.spec.ts index c8abca9322f..2ee36a92dbf 100644 --- a/frontend/javascripts/test/sagas/save_mutex_strategy_switching.spec.ts +++ b/frontend/javascripts/test/sagas/save_mutex_strategy_switching.spec.ts @@ -110,7 +110,7 @@ describe("Save Mutex Saga collaboration mode switching", () => { /* * Tests for: - * Exclusive -> {Concurrent, OnwerOnly} + * Exclusive -> {Concurrent, OwnerOnly} */ it("Switching from Exclusive to Concurrent should cancel the continuous mutex saga and start the ad-hoc saga.", async (context: WebknossosTestContext) => { await setupWebknossosForTestingWithRestrictions(context, "Exclusive", true); diff --git a/frontend/javascripts/viewer/model/accessors/annotation_accessor.ts b/frontend/javascripts/viewer/model/accessors/annotation_accessor.ts index 1fce474a1bb..e44157af8d3 100644 --- a/frontend/javascripts/viewer/model/accessors/annotation_accessor.ts +++ b/frontend/javascripts/viewer/model/accessors/annotation_accessor.ts @@ -47,7 +47,7 @@ export function mayAddToSaveQueue(state: WebknossosState): boolean { * with update actions. */ return ( - // allowSave is initialized with allowUpdate and may be overriden when + // allowSave is initialized with allowUpdate and may be overridden when // saving is disabled (via DISABLE_SAVING action). Boolean(state.annotation.restrictions.allowSave) && !state.uiInformation.showVersionRestore && diff --git a/frontend/javascripts/viewer/model/accessors/volumetracing_accessor.ts b/frontend/javascripts/viewer/model/accessors/volumetracing_accessor.ts index 8f3b23af68a..a203708cf03 100644 --- a/frontend/javascripts/viewer/model/accessors/volumetracing_accessor.ts +++ b/frontend/javascripts/viewer/model/accessors/volumetracing_accessor.ts @@ -968,7 +968,7 @@ export type BucketRetrievalSource = export const getBucketRetrievalSourceFn = // The function that is passed to memoize will only be executed once // per layerName. This is important since the function uses reuseInstanceOnEquality - // to create a function that ensures that identical BucketRetrievalSource tuples will be re-used between + // to create a function that ensures that identical BucketRetrievalSource tuples will be reused between // consecutive calls. memoize((layerName: string) => reuseInstanceOnEquality((state: WebknossosState): BucketRetrievalSource => { diff --git a/frontend/javascripts/viewer/model/sagas/saving/save_saga.tsx b/frontend/javascripts/viewer/model/sagas/saving/save_saga.tsx index e0f96b8bc41..f4f0949f992 100644 --- a/frontend/javascripts/viewer/model/sagas/saving/save_saga.tsx +++ b/frontend/javascripts/viewer/model/sagas/saving/save_saga.tsx @@ -150,7 +150,7 @@ function needsPollAnnotationUpdates(state: WebknossosState): "yes" | "no" | "lat // If the version restore view is open, newer versions should not be fetched // as this could mess up the current state. - // Similarily, we should not poll for updates when a rebase is in progress. + // Similarly, we should not poll for updates when a rebase is in progress. const { isRestoringVersion, showVersionRestore } = state.uiInformation; const isVersionRestoreActive = showVersionRestore && !isRestoringVersion; const { isRebasingOrForwarding } = state.save.rebaseRelevantServerAnnotationState; diff --git a/frontend/javascripts/viewer/view/right_border_tabs/abstract_tree_renderer.ts b/frontend/javascripts/viewer/view/right_border_tabs/abstract_tree_renderer.ts index c89226aaf0e..9f4501cfc1f 100644 --- a/frontend/javascripts/viewer/view/right_border_tabs/abstract_tree_renderer.ts +++ b/frontend/javascripts/viewer/view/right_border_tabs/abstract_tree_renderer.ts @@ -5,7 +5,7 @@ import type { Tree } from "viewer/model/types/tree_types"; const NODE_RADIUS = 2; const MAX_NODE_DISTANCE = 100; -const CLICK_TRESHOLD = 6; +const CLICK_THRESHOLD = 6; const MODE_NORMAL = 0; // draw every node and the complete tree const MODE_NOCHAIN = 1; // draw only decision points @@ -70,7 +70,7 @@ class AbstractTreeRenderer { let id = null; for (const entry of nodeList) { - if (Math.abs(x - entry.x) <= CLICK_TRESHOLD && Math.abs(y - entry.y) <= CLICK_TRESHOLD) { + if (Math.abs(x - entry.x) <= CLICK_THRESHOLD && Math.abs(y - entry.y) <= CLICK_THRESHOLD) { id = entry.id; break; } @@ -356,7 +356,7 @@ class AbstractTreeRenderer { /** * Draws the dashed chain indicator and the start and end nodes. * @param {Number} top y coordinate in pixels - * @param {Number} middle middel x coordinate in pixels + * @param {Number} middle middle x coordinate in pixels * @param {AbstractNodeType} node * @param {Decision} decision */ diff --git a/schema/evolutions/069-tasktype-project-unique-per-orga.sql b/schema/evolutions/069-tasktype-project-unique-per-orga.sql index 527d96f6fe0..89596ef2515 100644 --- a/schema/evolutions/069-tasktype-project-unique-per-orga.sql +++ b/schema/evolutions/069-tasktype-project-unique-per-orga.sql @@ -17,7 +17,7 @@ ALTER TABLE webknossos.projects ALTER COLUMN _organization SET NOT NULL; ALTER TABLE webknossos.tasktypes ALTER COLUMN _organization SET NOT NULL; ALTER TABLE webknossos.taskTypes ADD CONSTRAINT tasktypes_summary__organization_key UNIQUE(summary, _organization); --- Project name uniqueness only enforced in scala, to allow re-using names of deleted ones. +-- Project name uniqueness only enforced in scala, to allow reusing names of deleted ones. -- Compare https://github.com/scalableminds/webknossos/issues/5388 CREATE VIEW webknossos.projects_ AS SELECT * FROM webknossos.projects WHERE NOT isDeleted; diff --git a/schema/evolutions/reversions/169-per-user-annotation-view-config.sql b/schema/evolutions/reversions/169-per-user-annotation-view-config.sql index 26b872440c8..daa9ab8342a 100644 --- a/schema/evolutions/reversions/169-per-user-annotation-view-config.sql +++ b/schema/evolutions/reversions/169-per-user-annotation-view-config.sql @@ -4,7 +4,7 @@ do $$ begin if (select schemaVersion from webknossos.releaseInformation) <> 169 DROP VIEW webknossos.annotations_; --- Readd old viewConfiguration column +-- Re-add old viewConfiguration column ALTER TABLE webknossos.annotations ADD COLUMN viewConfiguration JSONB; -- migrate owner view config to annotation table diff --git a/util/src/main/scala/com/scalableminds/util/mvc/ExtendedController.scala b/util/src/main/scala/com/scalableminds/util/mvc/ExtendedController.scala index 9bd2945ad05..161b03fccb9 100644 --- a/util/src/main/scala/com/scalableminds/util/mvc/ExtendedController.scala +++ b/util/src/main/scala/com/scalableminds/util/mvc/ExtendedController.scala @@ -111,7 +111,7 @@ trait ResultImplicits extends BoxToResultHelpers { class JsonResult(status: Int) extends Result(header = ResponseHeader(status), body = HttpEntity.NoEntity) - with JsonResultAttribues { + with JsonResultAttributes { private def createResult(content: JsValue)(implicit writeable: Writeable[JsValue]): Result = Result(header = ResponseHeader(status), @@ -182,13 +182,13 @@ trait MimeTypes { val octetStreamMimeType: String = "application/octet-stream" } -trait JsonResults extends JsonResultAttribues { +trait JsonResults extends JsonResultAttributes { val JsonOk = new JsonResult(OK) val JsonBadRequest = new JsonResult(BAD_REQUEST) val JsonNotFound = new JsonResult(NOT_FOUND) } -trait JsonResultAttribues { +trait JsonResultAttributes { val jsonSuccess = "success" val jsonError = "error" } diff --git a/webknossos-datastore/app/com/scalableminds/webknossos/datastore/dataformats/SafeCachable.scala b/webknossos-datastore/app/com/scalableminds/webknossos/datastore/dataformats/SafeCacheable.scala similarity index 97% rename from webknossos-datastore/app/com/scalableminds/webknossos/datastore/dataformats/SafeCachable.scala rename to webknossos-datastore/app/com/scalableminds/webknossos/datastore/dataformats/SafeCacheable.scala index cc21fba9f36..46ed09af6c2 100644 --- a/webknossos-datastore/app/com/scalableminds/webknossos/datastore/dataformats/SafeCachable.scala +++ b/webknossos-datastore/app/com/scalableminds/webknossos/datastore/dataformats/SafeCacheable.scala @@ -1,6 +1,6 @@ package com.scalableminds.webknossos.datastore.dataformats -trait SafeCachable { +trait SafeCacheable { private var accessCounter = 0 diff --git a/webknossos-datastore/app/com/scalableminds/webknossos/datastore/storage/AgglomerateFileCache.scala b/webknossos-datastore/app/com/scalableminds/webknossos/datastore/storage/AgglomerateFileCache.scala index 607c3305fe5..318ab91ef78 100644 --- a/webknossos-datastore/app/com/scalableminds/webknossos/datastore/storage/AgglomerateFileCache.scala +++ b/webknossos-datastore/app/com/scalableminds/webknossos/datastore/storage/AgglomerateFileCache.scala @@ -4,7 +4,7 @@ import java.util import ch.systemsx.cisd.hdf5.{HDF5DataSet, IHDF5Reader} import com.scalableminds.util.cache.LRUConcurrentCache import com.scalableminds.util.tools.{Box, Full} -import com.scalableminds.webknossos.datastore.dataformats.SafeCachable +import com.scalableminds.webknossos.datastore.dataformats.SafeCacheable import com.scalableminds.webknossos.datastore.models.datasource.{DataSourceId, LayerAttachment} import com.scalableminds.webknossos.datastore.models.requests.{Cuboid, DataServiceDataRequest} import com.typesafe.scalalogging.LazyLogging @@ -17,7 +17,7 @@ case class CachedAgglomerateFile(reader: IHDF5Reader, dataset: HDF5DataSet, agglomerateIdCache: AgglomerateIdCache, cache: Either[AgglomerateIdCache, BoundingBoxCache]) - extends SafeCachable { + extends SafeCacheable { override protected def onFinalize(): Unit = { dataset.close(); reader.close() } } diff --git a/webknossos-datastore/app/com/scalableminds/webknossos/datastore/storage/Hdf5FileCache.scala b/webknossos-datastore/app/com/scalableminds/webknossos/datastore/storage/Hdf5FileCache.scala index 03f0a1f4834..e00479b04a5 100644 --- a/webknossos-datastore/app/com/scalableminds/webknossos/datastore/storage/Hdf5FileCache.scala +++ b/webknossos-datastore/app/com/scalableminds/webknossos/datastore/storage/Hdf5FileCache.scala @@ -12,7 +12,7 @@ import ch.systemsx.cisd.hdf5.{ import com.scalableminds.util.Msg import com.scalableminds.util.cache.LRUConcurrentCache import com.scalableminds.util.tools.{Box, Failure, Full} -import com.scalableminds.webknossos.datastore.dataformats.SafeCachable +import com.scalableminds.webknossos.datastore.dataformats.SafeCacheable import com.scalableminds.webknossos.datastore.models.datasource.LayerAttachment import com.scalableminds.webknossos.datastore.services.ArrayArtifactHashing import com.scalableminds.webknossos.datastore.services.mesh.MeshFileUtils @@ -22,7 +22,7 @@ import java.nio.file.Path import scala.util.Using class CachedHdf5File(reader: IHDF5Reader) - extends SafeCachable + extends SafeCacheable with AutoCloseable with ArrayArtifactHashing with MeshFileUtils diff --git a/webknossos-tracingstore/app/com/scalableminds/webknossos/tracingstore/tracings/volume/VolumeUpdateActions.scala b/webknossos-tracingstore/app/com/scalableminds/webknossos/tracingstore/tracings/volume/VolumeUpdateActions.scala index 0eed67d9b62..cc1ac8e4df9 100644 --- a/webknossos-tracingstore/app/com/scalableminds/webknossos/tracingstore/tracings/volume/VolumeUpdateActions.scala +++ b/webknossos-tracingstore/app/com/scalableminds/webknossos/tracingstore/tracings/volume/VolumeUpdateActions.scala @@ -688,7 +688,7 @@ case class UpsertSegmentGroupVolumeAction(groupId: Int, private def renameInGroups(groups: Seq[SegmentGroup]): (Seq[SegmentGroup], Boolean) = { // To avoid traversing into the subbranch of the group which should be renamed, we pass the second argument to fold left. - // It keeps track of whether the renaming was already done and then earlies out instead of traversing deeper. + // It keeps track of whether the renaming was already done and then stops early instead of traversing deeper. val updated = groups.foldLeft((Vector.empty[SegmentGroup], false)) { // Pass as already renamed. case ((acc, true), g) => From 378d5d44138b8ba13e7500565de022274e7723c3 Mon Sep 17 00:00:00 2001 From: Florian M Date: Mon, 15 Jun 2026 16:57:25 +0200 Subject: [PATCH 2/3] Bump backend dependencies --- project/Dependencies.scala | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 5ec22811330..ac204d11482 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -1,5 +1,5 @@ -import play.sbt.PlayImport.{filters, _} -import sbt._ +import play.sbt.PlayImport.{filters, *} +import sbt.* object Dependencies { @@ -12,15 +12,15 @@ object Dependencies { ) private val silhouetteVersion = "10.0.4" - private val brotliVersion = "1.22.0" - private val slickVersion = "3.5.2" - private val awsVersion = "2.42.41" + private val brotliVersion = "1.23.0" + private val slickVersion = "3.6.1" + private val awsVersion = "2.46.10" private val scalapbVersion = scalapb.compiler.Version.scalapbVersion private val grpcVersion = scalapb.compiler.Version.grpcJavaVersion val utilDependencies: Seq[ModuleID] = Seq( // Play Web Framework. import play - "org.playframework" %% "play" % "3.0.10", + "org.playframework" %% "play" % "3.0.11", // Play’s JSON serialization. import play.api.libs.json "org.playframework" %% "play-json" % "3.0.6", // Sending emails. import org.apache.commons.mail @@ -36,7 +36,7 @@ object Dependencies { // Protocol buffers. import scalapb "com.thesamet.scalapb" %% "scalapb-runtime" % scalapbVersion, // LazyLogging. import com.typesafe.scalalogging - "com.typesafe.scala-logging" %% "scala-logging" % "3.9.5", + "com.typesafe.scala-logging" %% "scala-logging" % "3.9.6", // Asynchronous caching. import com.github.benmanes.caffeine caffeine, // password hashing with bcrypt. import at.favre.lib.crypto.bcrypt @@ -74,13 +74,13 @@ object Dependencies { // AWS Transfer Manager for multipart uploads. import software.amazon.awssdk.transfer.s3 "software.amazon.awssdk" % "s3-transfer-manager" % awsVersion, // Google cloud storage client. import com.google.cloud.storage, import com.google.auth.oauth2 - "com.google.cloud" % "google-cloud-storage" % "2.67.0", + "com.google.cloud" % "google-cloud-storage" % "2.69.0", // Blosc compression. import dev.zarr.bloscjava - "com.scalableminds" % "blosc-java" % "0.1-1.21.4", + "com.scalableminds" % "blosc-java" % "0.3-1.21.6", // Zstd compression. import org.apache.commons.compress "org.apache.commons" % "commons-compress" % "1.28.0", // Zstd compression native bindings. not imported - "com.github.luben" % "zstd-jni" % "1.5.7-7", + "com.github.luben" % "zstd-jni" % "1.5.7-11", // Brotli compression. import com.aayushatharva.brotli4j "com.aayushatharva.brotli4j" % "brotli4j" % brotliVersion, // Brotli compression native bindings. not imported @@ -108,9 +108,9 @@ object Dependencies { // End-to-end test specs specs2 % Test, // Writing XML. import com.sun.xml.txw2 - "org.glassfish.jaxb" % "txw2" % "4.0.7", + "org.glassfish.jaxb" % "txw2" % "4.0.9", // Makes txw2 write self-closing tags in xml (which we want). Not imported. - "com.fasterxml.woodstox" % "woodstox-core" % "7.1.1", + "com.fasterxml.woodstox" % "woodstox-core" % "7.2.1", // Json Web Tokens (used for OIDC Auth). import pdi.jwt "com.github.jwt-scala" %% "jwt-play-json" % "11.0.4", // SQL Queries. import slick @@ -120,9 +120,9 @@ object Dependencies { // SQL Queries class generation. Started with runner as slick.codegen.SourceCodeGenerator "com.typesafe.slick" %% "slick-codegen" % slickVersion, // SQL Queries postgres specifics. not imported. - "org.postgresql" % "postgresql" % "42.7.10", + "org.postgresql" % "postgresql" % "42.7.11", /// WebAuthn for passkey authentication. import com.webauthn4j - "com.webauthn4j" % "webauthn4j-core" % "0.29.7.RELEASE" exclude ("com.fasterxml.jackson.core", "jackson-databind"), + "com.webauthn4j" % "webauthn4j-core" % "0.31.7.RELEASE" exclude ("com.fasterxml.jackson.core", "jackson-databind"), ) val dependencyOverrides: Seq[ModuleID] = Seq( From c9f4f579148782a11893d86299d7a6af1c6eff8d Mon Sep 17 00:00:00 2001 From: Florian M Date: Mon, 15 Jun 2026 17:02:48 +0200 Subject: [PATCH 3/3] skip webauthn, done in separate pr --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index ac204d11482..b488859454f 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -122,7 +122,7 @@ object Dependencies { // SQL Queries postgres specifics. not imported. "org.postgresql" % "postgresql" % "42.7.11", /// WebAuthn for passkey authentication. import com.webauthn4j - "com.webauthn4j" % "webauthn4j-core" % "0.31.7.RELEASE" exclude ("com.fasterxml.jackson.core", "jackson-databind"), + "com.webauthn4j" % "webauthn4j-core" % "0.29.7.RELEASE" exclude ("com.fasterxml.jackson.core", "jackson-databind"), ) val dependencyOverrides: Seq[ModuleID] = Seq(