Skip to content

Latest commit

 

History

History
350 lines (342 loc) · 53.4 KB

CHANGELOG.md

File metadata and controls

350 lines (342 loc) · 53.4 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

2.2.0 (2021-02-25)

Features

  • 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 of parents 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)

Bug Fixes

  • .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)