All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
- all: minor readme updates in frontend and server (98c14a5)
- api:
⚠️ WIP. Partially cleans up api, modules and services around streams (7a2312f) - api: api & services pruning (35fd2cf)
- api: cleaning up in progress (4d6e899)
- api: implemented branch & commit services + tests (d2ddf03)
- api: splits auth and apps gql schemas into separate files (348a81a)
- app init: async'ed app init & awaiting knex.migrate.latest() on first run (e3dd8b1)
- apps: added graphql explorer app that works with actual server data (ce6024c)
- apps: corrects redirect url for the desktop manager (33d7af7)
- apps: graphql explorer proper challenges & logout (d9414b5)
- apps: listing, revoking, & tests (c843d68)
- apps: more service implementations, cleanup, and tests (6cdeccb)
- apps: resolver for secret field & author return on app (e0b60d5)
- apps: scaffolded more app services & more (cleanup, tests, etc.) (03bd49e)
- apps: scaffolding & cleaning up models & api (ffcca11)
- apps: scaffolding first/third party server apps for authorization purposes (8ba6419)
- apps: services & gql resolvers + tests (a9f5ada)
- apps & auth: wIP: scaffolding "everything is a client app" backbone (58bb827)
- arch: moved core module subparts in their independent folders (913100d)
- auth: added google strategy; improved auth screen; added strategies to servreInfo endpoint (242dec4)
- auth: frontend app flow ✅ (647f1c3)
- auth: implemented github strategy & backend flow (c27ad2f)
- auth: implemented third party redirects (29bb2fb)
- auth: local flow (login & register) done (in rel with local frontend app) (6d70578)
- auth: login screen scaffolding (7c499f1)
- auth: returns the userid on registration if no app id is present (1b57a2b)
- auth: scaffolding app authz & authn flows (165f1cd)
- auth: scaffolding local strategy to pair with 3rd party ones (7a660cf)
- auth: user login scaffold (71bb84d)
- auth & streams & tests: authentication middleware implemented, api tests for stream create (414edee)
- auth-dir: add auth directives to schema (6b8bb65)
- auth-dir: break auth into three directives (405964b)
- auth-dirs: allow hasScope and hasRole on obj (9bb7b6f)
- auth-dirs: do a check for
context.auth
(7c13ab0) - auth-dirs: only allow on field definitons (0674083)
- auth-dirs: remove @isAuthorized directives (eabfa99)
- auth-dirs: revert @hasScope and @hasRole (222f932)
- commit: adds createdAt prop to user commit (557f24f)
- commits: fixed object insertion bugs, and added create commit service (47a7fc9)
- compression: obj ingestion now accepts gzipped buffers (eb3a028)
- deps: updated dependencies (177b98b)
- dev: adds frontend port env var for non-standard local environments (b363b97)
- directives: add @hasRole directive (ec09927)
- directives: add @hasScope to schema (ee06bdf)
- directives: create HasScopeDirective (199e576)
- docker: add docker configuration for frontend and server (f45c6d5)
- docker: refactor of Dockerfile and avoid loading dev dependency in prod (a5a233d)
- docker-compose and database: automated database initialization scripts (500331d), closes #73
- docker-compose.yaml: added sample compose file with database and redis (a64b6ee)
- dockerfile docker-compose app.js: production environment compatible build (299ceee)
- dockerfile docker-compose app.js: production environment compatible build (44965b7)
- docs: windoze node 12 to avoid knex error (a05b339)
- error tracing: adds sentry error tracing to apollo server & express routes (3c4a5ac)
- frontend: ... more stuff. got bored to make actual atomic commits (147f215)
- frontend: added button and dialog for displaying app secrets (79b6dd6)
- frontend: added links to commits in activity feed (b5f0014)
- frontend: added vue app (7011dd3)
- frontend: adds commit data explorer (structured) (91e77a7)
- frontend: adds error page (bfd8088)
- frontend: adds revokation dialog confirm for apps; minor fixes re rest (d087572)
- frontend: adds source app and branch to commit list item (56f3b3f)
- frontend: adds source application "avatar" (f3b1edb)
- frontend: app creation and deletion (e658905)
- frontend: buttons in sidebars (user/stream) (d5bfc86)
- frontend: correctly handles revoked tokens stuck in local storage (e19c43d)
- frontend: gql queries improvs (+adds branches and commits sep) (ce53bd9)
- frontend: login/register mobile readiness (41dd6c2)
- frontend: made all stream based routes child routes; fixed issues re multiple fetching (9c8c964)
- frontend: minor changes to stream collab layout & sidebar (d339561)
- frontend: minor fiddles w/h sidebars and commit list item (avatars) (4010151)
- frontend: mobile menu (b538061)
- frontend: more mobile devices layout improvements (it looks good now) (f3e1a6d)
- frontend: moves user top menu and search bar into separate components (fed36fb)
- frontend: new routes (branch, profile) and stream page improvs (2a41633)
- frontend: object data viewer + scaffolded profile and user profile (2051da8)
- frontend: prevents white flash if system theme is dark (174b914)
- frontend: profile PAT section shaping up (b70ef7e)
- frontend: profile updates (aa73007)
- frontend: replacers all avatars with user avatar component (7cd5a79)
- frontend: scaffolded frontend apps & flows (c2eb776)
- frontend: split up sidebars in sub-components, +more work on profile page (6ea1da3)
- frontend: splits dialogs edit/new stream (30b098f)
- frontend: stores user id in localstorage on login (dad4257)
- frontend: stream description editing and proper md rendering and sanitisation (2201f6e)
- frontend: stream list beautification and direct links (0bbe3cf)
- frontend: token revokation and creation ✅ (6cfec10)
- frontend: various display improvements (5ee98e8)
- frontend: various fixes and improvements (25798b0)
- frontend: various improvements (074a712)
- frontend: various layout improvements (745df44)
- frontend: various little hacks (a4aa7af)
- get children: added gzipped streamed response for object children (3667e99)
- gql: (re-)implemented some commits & re-organized gql tests (9715129)
- gql: adds company and avatar to StreamCollaborator (b0ea8e6)
- gql: adds missing fields to getCommitById (93ee475)
- gql: adds streamSearch, adds pagination to userSearch (e51345c)
- gql: adds tests for stream search and user search (80b293c)
- gql: adds UserSearchResults and improves user search (c6e08b2)
- gql: implemented branch query resolvers & tests (0fe6a0f)
- gql: implemented resolvers & tests for stream commits & branch commits (b14dae6)
- gql: implemented stream commit resolver (f6b1a54)
- gql: limits set to max=100 and default=25 for streams, users, branches & commits. Additional changes as per PR #14. (64279a8)
- gql: nukes realObject field from commits (7d0115c)
- gql: returns error if limit > 100 (5f17642)
- gql: search users wip (9733cc6)
- gql: stream users now returns a custom type - no longer polluting the original (a9a7787)
- graphql: added first working test (d35af3b)
- graphql: added ws handling (server) & apollo client (frontend) (3e1f0cd)
- graphql: consolidated some responses, and improved some resolver behaviour (ba874be)
- graphql: get object children query in place (f0e5560)
- graphql: implemented more mutations and queries (c512113)
- graphql: implemented object & reference mutations (f23583d)
- graphql: implemented object mutations (3f1c963)
- graphql: initial explorations in providing a graphql api (b758f56)
- graphql: initial scaffolding (1995d8d)
- graphql: more implementations (74ca015)
- graphql: more scaffolding (200331a)
- graphql: scaffolding (13a8ab2)
- graphql: scaffoled permission mutations on streams (0225fce)
- local auth: in dev/test mode, returns a token on the authorization finalisation middleware (107266b)
- logging: preliminary implementation (3aaa63b)
- models: removed username field form user (c096ba8)
- object creation: proper batching in object creation, using transactions (da16647)
- objects: added controllers and tests for object & commit routes (1527ad2)
- permissions: allows getting public streams with anon requests + tests. test cov back >90% FTW (6d9dd03)
- queries: added query filters & verbs to getObjectChildrenQuery (090370d)
- queries: figuring out the perfect querie for getting objects (85cc525)
- queries: finished implementation of getObjectChildrenQuery (dfc8920)
- queries: fixed keyset non-sequential scan pagination (755f9e6)
- queries: implemented 90% of the getObjectChildrenQuery (b39d729)
- queries: implemented fast query route for children (1a4442b)
- queries: keyset cursor works on non-unique field values (34490a5)
- references: added api routes and tests for references (a513a7a)
- references: added services, tests, etc (02d3286)
- resolvers: added serverInfo route, bumped test coverage (59e03f8)
- rest: removed the rest api (a68bd62)
- roles: storing & enforcing roles (bd5d743)
- roles & api: added server-bound user roles, validation, tests, and adde missing api routes (6eafa2d)
- scopes: adds server:setup to spklwebapp (fe938b1)
- scopes and roles: separated user and token services (a355757)
- server: added limitations to various fields (related to #39) (d70147a)
- server: added migrations for totalChildrenCount and sourceApplication for commit table (6f61a36)
- server: adds redirect url return field to apps (0a4d6ef)
- server: adds stream role in relevant queries (7845e75)
- server: commits: implements all fields in services & updates parents (2973ce8)
- server: defaults branch query to "main" branch (35653cd)
- server: deprecates
previousCommitIds
field in favour ofparents
across all commit schemas (3697559) - server: fixes link sharing for stream update (d8be80d)
- server: grabs profile pic from elgoog account (6f08f08)
- server: implements branchName and total kids count in get commit by id + test (1758858)
- server: implements branchName and totalChildren count across all commit get services (349d91e)
- server: minor formatting (7471ee5)
- server: moves scope, role & app registration to service (init) logic (afb5078)
- server: personal api token query & specs (622d61c)
- server: retrieves latest commit on commit query if no id is specified (3606ac9)
- server: returns author avatar url for commits (8399a80)
- server: simplifies parent commits relationship (33d3ae6)
- server: wip: adds tests for new commit fields & implementation start (dd78e80)
- server/commits: create commit service now accepts source app & children count (b2366f7)
- server/frontend: 🤯 much improvements, so fixes, many code (857dc51)
- server/frontend: auth revamp WIP (5947bd2)
- server/frontend: various (225f363)
- server/frontend: various, see details (700d70b)
- server/frontend: wIP: auth flows are being revamped. HIC SVNT DRACONES (a5542cf)
- services: added public streams only filter for getting user's commits (6becdcb)
- setup: finalised(-ish) setup flow & added auth sub app scaffold (3d5e9d3)
- setup: removes setup check so we stop confusing people if it's not working yet :) (6d90e26)
- setup flow: added registration form (8381c62)
- setup flow: added token scope, scaffolding setup app (34d9780)
- streaming: refactored streaming endpoint (63e2171)
- streaming&fixes: fixes index on closure table & finalizes streaming response for obj children (a8d0960)
- streams: added service logic for stream creation and sharing (4f8a274)
- streams: added stream deletion (d398527)
- streams: finalised routes and tests (integration & service) for streams (4ecc313)
- streams api: scaffolded routes and tests for basic stream routes (94b5976)
- structure: frontend + backend <3 (ceba890)
- structure: structured frontend into an MPA and various other fixes (23b63c7)
- sub: filter stream created sub by owner id (fee7ffb)
- subs: add @hasScope dir to streamCreated (fa20915)
- subs: add scope auth to branch & commit subs (397fb04)
- subs: add stream updated and deleted subs (e3f2d73)
- subs: added redis pubsubber (shared resource), imported it into stream resolvers (7b32d39)
- subs: adds 'grantor' userid on stream permissions granted event (0e98b6f)
- subs: auth within subscripition resolvers (be8e8be)
- subs: copy over regular auth logic for subs (4698612)
- subs: finish up streams subscriptions (78657bb)
- subs: pass header token to connection (cf6c0e4)
- subs: permission subs resolvers (f712871)
- subs: rename stream subs & apply directives (6c3e8b1)
- subs: return stream input from streamCreated (9d34ac0)
- subs: simplify stream create/delete subs (6db1bdc)
- subs: subs for branch & commit mutations 🥳 (c406abe)
- subs: throw ForbiddenError if no token (8838cfd)
- subscriptions: trying to figure out subs (d7b75f9)
- telemetry: track actions & remove page track (fd94f44)
- tokens: added db-bound token scopes (eb240fd)
- tokens: expiring tokens ✅ + test; lifespan default is 100yrs (dad5ca9)
- tracing: better performance tracing (0afc412)
- tracing: cleanup & .env-example addtions (76b3987)
- tracing: improved GQL ops tracing logs (3e3d99b)
- tree: figuring out the best queries for object children (7be78e0)
- trees: migrated reference tracking to closure table for faster scans on getChildren (666e69c)
- ui: adds 300ms delay to tooltips (48003d3)
- ui: adds basic input field validation to stream and branch name (29f1cea)
- ui: adds collaborator search (13a3b6e)
- ui: adds dark mode 🌛 (8dc1577)
- ui: adds debounce to stream and user search ⛹️♀️ (85c92a3)
- ui: adds edit user and edit server, list item commit (aafe47c)
- ui: adds empty stream page and stream query (00cd096)
- ui: adds infinite scroll to streams page and a click-copy btn for stream ids (2407268)
- ui: adds new stream dialog (46acb27)
- ui: adds server info and user commits (77734b3)
- ui: adds stream delete, branch edit and delete (0c91944)
- ui: adds stream search (9557550)
- ui: adds tooltips (aedc611)
- ui: adds update user profile (8219c25)
- ui: creates stream and commit components (1cb0380)
- ui: edit commit message (77887dc)
- ui: edit stream and other ui tweaks (98f548f)
- ui: grant and revoke stream permissions (30bd4ed)
- ui: layout now is set in each view for more flexibility, moves sidebar to its own component (1f88ddd)
- ui: minor color fix for dark mode 💅 (8883265)
- ui: minor tweaks and additions (e03969c)
- ui: remember dark mode fix (cd93416)
- ui: removes active class from HOME button 🏠 (3bc04e2)
- ui: scaffolding feed (4edf26e)
- ui: scaffolds frontend wip (b299e18)
- ui: updates date-times to match new server format (bb09b91)
- ui: updates link incon, and other minor tweaks (ff420de)
- ui: updates stream page, add new branch flow (0958847)
- upload: allows for both gzipped multiparts as well as application/text/json (3673fde)
- uploads: added test streaming endpoint for uploads (6847791)
- users: scaffolded user services (789f594)
- users: users & api tokens logic + tests for services (89932ab)
- various: gql api (tests & resolvers), added eslint & editorconfig (2b33ab5)
- various: tests (96596d2)
- viewer: Added polycurve conversion. (74c68fb)
- viewer: adds fullscreen toggle (f899cf3)
- viewer: adds loading convience method and improves selection behaviour (5428bab)
- viewer: adds optional inclusion box test for selection helper (fd03ed7)
- viewer: adds progress bar in renderer component (01fa4b5)
- viewer: adds renderer to object page and cleans up commit view (15eb208)
- viewer: adds small help menu to renderer component (9ec099e)
- viewer: adds viewer to commit page, and sorts out unique renderer lifecycle (29d4772)
- viewer: adds viewer to stream main page & other improvements (ae0f197)
- viewer: adds zoom on section box toggle (0cd249d)
- viewer: caches last loaded url in renderer & prevents reload unless changed (b7f0517)
- viewer: changes camera controls; makes zooming smoother; fixes selection handling timeouts (6f365fa)
- viewer: Dealt with chunking in curve conversions (626546c)
- viewer: double tapping ✅ (39f0e82)
- viewer: first (rather large) commit (87290b9)
- viewer: Initial curve conversions (80610cc)
- viewer: interaction methods for section boxes (6abf2d7)
- viewer: intermeidate step (db2a3f0)
- viewer: multiple improvements (258f029)
- viewer: reflections and shiny things + section plane refactor (3b9e198)
- viewer: scaffolds frontend renderer integration (5d4cf9c)
- viewer: section box now 💯 (6fe5608)
- viewer: section cuts & various improvements (60ef859)
- viewer: selection utils: esc clears selection (a26cf1c)
- viewer: throttles progress updates (084c688)
- .gitignore: merged all node_modules ignore into a single glob pattern (a3d3e43)
- apollo: replaces non existing AuthorizationError with ForbiddenError (73c5de8)
- auth: correctly checks whether authN strategies are enabled before loading them (436bdf8)
- auth: enforces one token per app per user & tests (ef1d48c)
- auth-dir: fix silly typo (3463b99)
- cursor: fixing date-only cursors casting (
.toISOString()
) in getUserStreams (a1b1663) - dates: consolidates date formatting to ISO strings (2bf77a8)
- dependencies: added commitizen deps (fd7b018)
- directives: find correct resolver (11c357a)
- directives: typo in hasScope (0f1dc60)
- dockerfile: add viewer to the docker build process (404bd39), closes #83
- dockerfile, docker-compose.yaml: add wait for db and redis to server container (356467b)
- docs: Removed unnecessary
npm i
step. (d223bbf) - errors: fixed misnamed err var name in startup causing no reports of EADDRINUSE being logged (18bb402)
- frontend: closes #74 (a4e2a75)
- frontend: displays app author only if present (39f3a43)
- frontend: fixes interaction calls for renderer (d508da0)
- frontend: fixes issue of routes and history mode (34fe403)
- frontend: fixes issue of routes and history mode (3619353)
- frontend: minor fixes in stream page layout (125fb60)
- git and docker ignore files: merged node_modules ignore commands into a single glob pattern (f14c600)
- gql: commitUpdate return type (f4d236c)
- gql: query users, improves validations (8df402e)
- gql: removes unnecessary join from getCommitById query (4d00d8a)
- graphql: AuthorizationError is not a constructor (eb4f7a9)
- graphql: fixed commit data field retrieval (310be6d)
- local authn: fixes some uncaught errs & adds tests for local authN api (6be9375)
- logging: minor fixes (c6a5c5c)
- objecs: makes createObjectsBatched await its promises (forEach -> for ... of) (e3aacb7)
- objecst: added route to get many (on 413 - request headers too large) (ee8591e)
- references: fixed dupe branch commit errors (215b2d9)
- server: adds cors on object download route (4e44040)
- server: correctly sets path for app proxy (2f3ba1b)
- server: corrects path for serving app (5915886)
- server: downgraded pg lib to ^7.18.2 (753f1de)
- server: ensures first object is returned in correct format, theoretically kills #78 (aca61b8)
- server: fixes #96 (5f7dae3)
- server: fixes destructuring fail on no stream acl present (ad9b917)
- server: fixes stream get service when no role is present (26f0841)
- server: prevents main branch deletion (07a27bd), closes #61
- server: prevents users from revoking their own permissions (dfc70d3)
- server: remote hotfix: correctly serving frontend in production from server (4f0ab3e)
- server: removes console log statements (65c44ca)
- server: retuns personal user tokens correctly (df0cba1)
- server: returns secrets for owned apps (7f38ab2)
- server: token revokation checks for format (bearer xxx) (3510aa4)
- server: updates stream
updatedAt
on common ops relating to a stream (bd96248), closes #47 - services: unified update function signature (expects id in object) (660e41d)
- setup: fully removes the setup check app (8a023d2)
- streams: oops forgot some ❗ (0723a69)
- subs: remove redundant stream sub defs (99f4738)
- subs: replaces permission subs with created/deleted + sharedBy/revokedBy props (690d95b)
- subs: subscriptions now properly initialising (8f25a6f)
- subs: wrapps onConnection in a try catch and checks for auth headers (16f3e1b)
- subscriptions: added stream deleted subscription (11571a1)
- tests: fixed failing tests (9a269d0)
- tests: fixes issue introduced when updateing getCommitById method (485c650)
- tests: removed console.log statement (ec1467a)
- tests: someone fumbled up (9ce41e1)
- tests & frontend: fixes the frontend client subscription connection & scaffolds tests (1868641)
- tests & queries: added graphql handlers for object children, tests, and refactoring (05afd4f)
- tests/subscriptions: fixes port conflict in subscription tests when ran from all tests command (7a03c88)
- typo: spelling mistake in error message (56f27e4)
- ui: changes stream name length to max 150 chars, fixes feed text (25f2321)
- ui: makes delete button smaller (0f3a8c0)
- ui: typo in query (c735885)
- uploads: awaits db insertion before returning from upload route (d8a632a)
- viewer: cleans selection on scene disposal (0269fec)
- viewer: double tap zoom to object made nicer; other minor improvements (113b027)
- viewer: near/far correctly set on zoom zoom (70bbc43)
- http-proxy-middleware dev dependency (a2bc60a)
- remove
debug: true
(392c95d) - upload: upload response status changed from 303 (redirect) to 201 (created) (e199e88)
- user email: corrects behaviour on protecting user/profile email feild (55f5095)
- users: fixes scope checking in user & email resolvers (profile:read/email & user:read/email) (8b8b449)
- viewer: fixes loading of nested elems (e.g., windows in walls) (8de7162)