Conversation
* Removing fileSystem from Github API * Update ProjectFactory.mjs --------- Co-authored-by: Bryan Haberberger <bryan.j.haberberger@slu.edu>
* file dump init * services for feedback * /feedback/feedback is not a good route * Update cd_dev.yaml * stop if things are missing * adding verify on main * test results * added docs and ES6 conversion * what the Golden AI hell is adding imports from my docs?
* file dump init * services for feedback * /feedback/feedback is not a good route * Update cd_dev.yaml * stop if things are missing * adding verify on main * test results * added docs and ES6 conversion * what the Golden AI hell is adding imports from my docs? * explicitly adding CORS
* API call to Update Profile * existingEmail and existingName * Changes to comments * Update User.mjs
* saveCollection to RERUM * Adding Tinypen to Create RERUM Object * Update exists.test.mjs * Update exists.test.mjs * Update Page.mjs * Update cd_dev.yaml * stop if things are missing * adding verify on main * starting some adjustments * better the tests * headed home * multiple ways to extract the data * retest with suggestions * layer/page halos * percolating deletes * setting up routes --------- Co-authored-by: Patrick Cuba <cubap@slu.edu>
* Update index.mjs * Update index.mjs * Update index.mjs * Update index.mjs * Update index.mjs
* Update cd_dev.yaml * stop if things are missing * adding verify on main * cleanup missing properties, changed method names * just this route * id shouldn't be optional here. out of date test files dropped * This should never break. What's up? * bad merge * Update exists_unit.test.mjs * test is ugly The page router needs a projectId as well to actually work * Update end_to_end_unit.test.mjs These two cannot work without a corresponding project, so it will need to be rewritten * nested in router now * Update exists.test.mjs
* Update cd_dev.yaml * stop if things are missing * adding verify on main * Update cd_dev.yaml * stop if things are missing * adding verify on main * Update ci_dev.yaml (#219) * Update ci_dev.yaml * Update cd_prod.yaml * Update ci_prod.yaml * Update index.mjs * Update index.mjs * Update index.mjs * Update index.mjs * Refactor all .mjs files to .js and update imports. Closes #194 * un-mjs * npm update * Hey I heard you like tests, so I put tests in your tests * mjs > js * no mjs, bad mjs * fine * habesroxx * how bout now * hide, Jest is coming * runner love * Update package-lock.json * jest no like to run * null != undefined * default not defaulting * fixes "id is not defined" shoulda wrote test for this * out of scope, out of effs --------- Co-authored-by: Priyal Patel <mepripri0712@gmail.com>
* Columns Update on Annotator * remove update * back to start * Column Update on Line Parsing Change * deletes * bounds and post line * bounds fix * logs * itemsProvided * line fix * delete fix * remove comment
#428) * Initial plan * Fix my/projects endpoint to return 200 with empty array for users with no projects Co-authored-by: cubap <1119165+cubap@users.noreply.github.com> * Update API documentation to reflect new empty projects response * Revert unintended package-lock.json changes Co-authored-by: thehabes <3287006+thehabes@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: cubap <1119165+cubap@users.noreply.github.com> Co-authored-by: thehabes <3287006+thehabes@users.noreply.github.com>
* Runtime improvement on the /text amd /bounds routes * remove debug logging * whitespace * whitespace * one user fetch * not a diff * Change from standup, catch errors from the page and project update * Change from standup, catch errors from the page and project update * fix for copilot comment
* Error catching and logging * touchup * small tweak from testing and reviewing * Stop this unhandled 500 * Stop this 500 * 500s from other routes * Error handler as a middleware util * stop this 500 * Stop that 500 * returns * returns * use respondWithError in app.js too * touchup * touchup * touchup * touchup from copilot review * touchup from copilot review * touchup from copilot review * oof too much of a logic change, this is what we actually wanted.
* 'pixel' in fragment selector hotfix * Changes from testing
* Update packages, npm versions, and node versions * changes from testing * oh boy * undo localhost * undo localhost * the force * the force
…) Audit (#441) * First pass at auditing permission checks and adding them to the appropriate places * changes from review and testing * fix test * changes from testing and review * changes from copilot review
* packages * darnit jsdom
* Better attempt at using a personalized string for usernames in emails instead of the generic 'TPEN User' text. * Changes while reviewing * Changes while reviewing * Changes while reviewing
* First pass at validating the xywh * changes while reviewing
* caller choses whether to save after * Add shouldUpdate flag to Group role methods Introduce an optional shouldUpdate parameter to Group.setMemberRoles and Group.removeMemberRoles to control whether changes are immediately persisted. These methods now skip calling update() when shouldUpdate is false, allowing callers to batch multiple role mutations and perform a single update. Call sites updated: removed a redundant update in Project.removeMember flow and adjusted memberRouter to pass shouldUpdate=false for intermediate role changes, then call group.update() once after all changes. This reduces redundant DB writes and improves efficiency.
* Gave the agent pipeline a try * Changes while testing and reviewing * No tests * Lines section for API.html * Lines section for API.html * oo bail on this, it needs to be its own task * simplify * Say less in AI assistant files * Changes while reviewing * Changes while reviewing * Remove this section * clean this up a little * clean this up a little * Ah I see this was trying to help how it fails through, but we need these to throw their errors like usual. * Now it fails through how it is supposed to * Now it fails through how it is supposed to * white space lint stuff * How about a redo for reasons * clean up function documentation * changes while reviewing * touchup for function documentation * const * changes during review * changes during review * shape of the refactor * Gotta fix this now then * Gotta fix this now then * Remove the fallback conditionals, the Class will handle it * Remove imported Line function. It is no longer required here * changes from getting demo to run * changes from getting demo to run * Working demo * Changes during review * Changes during review * Gimme those sweet sweet rerum errors * Gimme those sweet sweet rerum errors * Changes during review * changes while testing * oops bad docs * Really take the body from RERUM even if falsey * Changes during standup * Touchups during final review step * Touchups during final review step * Touchups during final review step
* caller choses whether to save after * Add shouldUpdate flag to Group role methods Introduce an optional shouldUpdate parameter to Group.setMemberRoles and Group.removeMemberRoles to control whether changes are immediately persisted. These methods now skip calling update() when shouldUpdate is false, allowing callers to batch multiple role mutations and perform a single update. Call sites updated: removed a redundant update in Project.removeMember flow and adjusted memberRouter to pass shouldUpdate=false for intermediate role changes, then call group.update() once after all changes. This reduces redundant DB writes and improves efficiency. * auditfix * whitespace * No updated packages yet --------- Co-authored-by: Bryan Haberberger <bryan.j.haberberger@slu.edu>
* First pass at utilizing the Page and Line classes in the page routes * changes while reviewing * changes while reviewing * changes while reviewing * changes while reviewing * clean up and align error throughput * clean up and align error throughput * changes from testing * Really connect the wires after closer inspection * Really connect the wires after closer inspection * Really connect the wires after closer inspection * changes while revewing * changes while revewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes while testing and reviewing * Changes from standup * Changes from standup * Changes from standup * Changes during review * Changes during review
* First push at refactoring for the Layer * First push at refactoring for the Layer * Changes during readthrough and testing * Changes during readthrough and testing * Changes during readthrough and testing * Changes during readthrough and testing * Changes during readthrough and testing * Changes during readthrough and testing * Changes during readthrough and testing * Changes during readthrough and testing * Changes during readthrough and testing * Changes during readthrough and testing * Changes during review and testing * move this back * changes during testing and review * changes during testing and review * changes during testing and review * changes during testing and review * changes during testing and review * Changes from cubap review * Changes from cubap review * Make sure Layer references in the Pages are upgraded when Layer is upgraded
* start with ALL and work backwards * reset * try iiif/helpers * try cors * try dompurify * try dotenv and jwt * try marked and mongo * try jest * nodemon and sinon * try maria, which seems like it breaks * try maria again with this minor refactor * try jsdom, which we are pretty sure breaks. * ah ok, no refactor for that, so we have to lock it in at 27 * try latest node and npm lts * ah I see! Let's try the version bundled with nvm * Now how about after telling the server it's ok to use the latest version instead of the bundled version in nvm. * mkay how about a new package-lock.json built around that? * Yeah I was afraid of that * jsdom is locked down now. refactor complete. * update nodemailer
* Fix smoke test for development. Fix issue with bad usage of databaseTiny.find(). * Changes during review
* Initial plan * Remove API.md and jsdom/dompurify/marked packages Co-authored-by: thehabes <3287006+thehabes@users.noreply.github.com> * changes during review --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: thehabes <3287006+thehabes@users.noreply.github.com> Co-authored-by: Bryan Haberberger <bryan.j.haberberger@slu.edu>
* Initial plan * initial plan: eliminate redundant project data queries Co-authored-by: thehabes <3287006+thehabes@users.noreply.github.com> * eliminate redundant project data queries across route handlers - Add optional `project` param to `findPageById()` and `findLayerById()` in shared.js so callers with a pre-loaded project can skip the redundant DB fetch - Pass pre-loaded `project` to `findLayerById()` and `findPageById()` in layer/index.js - Pass pre-loaded `project` to `findPageById()` in page/index.js PUT /:pageId - Pass pre-loaded `project` to `findPageById()` in line/index.js (POST, PUT, PATCH×2) - Use `project.data` directly in customMetadataRouter.js GET/POST/PUT /:id/custom instead of calling `database.findOne()` again after `checkUserAccess()` already loaded it - Restructure projectReadRouter.js GET /:id to call `loadAsUser()` once and derive the access check from its result via new `userHasAccess()` helper (saves project+group load) - Remove redundant `loadAsUser()` call in projectReadRouter.js GET /:id/manifest; use `project.data` from `checkUserAccess()` for the existence check instead - Add optional `preloadedProjectData` param to `ProjectFactory.exportManifest()` so callers with already-loaded data skip the internal `loadAsUser()` fetch Co-authored-by: thehabes <3287006+thehabes@users.noreply.github.com> * address code review: add Array.isArray guard in userHasAccess, add comment on loadAsUser error pattern Co-authored-by: thehabes <3287006+thehabes@users.noreply.github.com> * no package lock changes * changes during review * changes during review * Changes during review * Changes during review --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: thehabes <3287006+thehabes@users.noreply.github.com> Co-authored-by: Bryan Haberberger <bryan.j.haberberger@slu.edu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Prevent npm from creating git tags during CI prerelease bumps by adding `--no-git-tag-version` to the `npm version prerelease --preid=alpha` commands in .github/workflows/ci_dev.yaml and .github/workflows/ci_prod.yaml. This aligns the prerelease step with the existing patch/minor no-tag behavior and avoids unintended tags from CI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request updates the version bumping strategy in the CI/CD GitHub workflows. The main change is to move automated version bumping from the CD (deployment) workflows to the CI (continuous integration) workflows, and to standardize how version increments are handled for development and production branches.
CI Workflow Improvements:
ci_dev.yaml, added a step to automatically bump the version as a patch and prerelease after E2E tests, committing and pushing the updated version to thedevelopmentbranch.ci_prod.yaml, added a step to automatically bump the version as a minor and prerelease after E2E tests, committing and pushing the updated version to themainbranch.CD Workflow Simplification:
cd_dev.yaml, removed the version bumping step to avoid redundant or conflicting version changes during deployment.cd_prod.yaml, removed both minor and prerelease version bumping steps for the same reason, streamlining the deployment process.