Skip to content

Latest commit

 

History

History
1192 lines (566 loc) · 49.7 KB

CHANGELOG.md

File metadata and controls

1192 lines (566 loc) · 49.7 KB

Changelog

1.15.8 (2025-01-16)

fix

1.15.7 (2025-01-09)

fix

  • Embedded workaround no longer goes into a doom loop on any downstream errors (5eec247)

1.15.6 (2025-01-09)

fix

  • Removed restrictOrigin option as its just too painful to pre-emptively guess who we are talking to in the variety of modes we support (66d4105)

1.15.5 (2025-01-09)

chore

docs

  • Marked saveProjectState() as depreciated (f4184e6)

feat

  • getUser() now also returns the user credits (276b33d)

refactor

1.15.4 (2024-12-12)

fix

  • Throw error when trying to use setProjectState() with a nullish/empty path (6aeb6ae)

1.15.3 (2024-11-18)

fix

  • Moved restrictOrigin overrides into devMode toggle (7e4ed36)
  • Removed useless eslint override (7c9bbd9)
  • Various fixes to the new use() syntax (6dbf55f)
  • Various patches, mainly to keep eslint happy (d9c111a)

1.15.2 (2024-11-18)

devops

  • Build step for bootstrapper (7fd53fd)

docs

feat

  • Initial build of the bootstrapper component (f334645)
  • Prep for .use(url:String) being supported in future (463c3d9)

fix

  • Dont expect the DOM element always being present (0f97dc4)
  • Error in IIF (6b84c69)
  • Misspelling (2950e57)
  • Removed pointles registry setting (66291f2)

task

1.15.1 (2024-11-14)

devops

  • Also patch restrictOrigin rule when using child mode (5647e84)

1.15.0 (2024-11-13)

feat

  • Added write throttle to bindProjectState() (a86afc0)
  • All clients now have a unique session ID (5c4d24d)
  • Transmit session ID with project state patches (f31f52a)
  • uiDie() (bc144c4)

fix

  • Always return a promise for handshakeLoop() (cab3e60)
  • Better handling for modeOverrides - dont stomp on URL if the user has already overriden it (e5d847b)
  • Local dev mode fixes for TERA-fy client mode (e9c0697)

refactor

  • Move from a ignoreCount model to a did-i-do-that model for state patching (1f560ac)

1.14.2 (2024-11-01)

fix

  • Wrong body text binding with UIConfirm (ecd870c)

1.14.1 (2024-10-17)

docs

  • Stale docs for setProjectFileContents() (e9e8867)

1.14.0 (2024-10-17)

devops

  • Changed CHANGELOG format angular -> eslint (9461445)

docs

  • Nicer TOC for the documentation structure (5aa6088)
  • Removed outdated Playground links (cafe9a5)

fix

  • Typos and missing function headers (34b1267)

refactor

  • setProjectFile() -> setProjectFileContents() inline with naming convention (0a45f44)

1.13.5 (2024-10-17)

devops

  • Changed CHANGELOG format angular -> eslint (9461445)

docs

  • Nicer TOC for the documentation structure (5aa6088)
  • Removed outdated Playground links (cafe9a5)

fix

  • Typos and missing function headers (34b1267)

refactor

  • setProjectFile() -> setProjectFileContents() inline with naming convention (0a45f44)

1.13.4 (2024-07-24)

chore

fix

  • ProjectFile.teraUrl should never assume we are using the base tera-tools.com domain - accept any source (87f417b)

refactor

  • Eslint comment level fixups (7db5e3c)

1.13.3 (2024-07-13)

chore

devops

  • Move proxy destination to dev.tera-tools.com (57eb2ad)

refactor

  • $tera.setPage{Url,Title} -> .setPage({path:String, title:String}) (4d4efc5)
  • Redirect client-mode Tera instances to dev.tera-tools.com + allow restrictOrigin policy (cac14eb)

1.13.2 (2024-07-11)

chore

refactor

  • Be less fussy when trying to emit to clients that dont exist (b0f4d12)

1.13.1 (2024-07-10)

chore

refactor

  • More consistant argument pattern for ui* functions (5faa0f2)

1.13.0 (2024-07-09)

chore

feat

  • Debugging functionality to watch patch paths via {debugPaths: Array<String|Array>} (23003bc)
  • uiConfirm(), uiPrompt() & uiThrow() (32f4378)

fix

  • Issue where minimize/maximize screwed around with local dev mode focusRequest() state (68d547c)
  • Stop trying to handshake after timeout has tripped (cc11595)

1.12.0 (2024-07-04)

chore

fix

  • Better handling of TERA-fy server running in top-level mode and no iframes being present on the page (31d2785)
  • Dead code (6c84c51)
  • Dont use the faulty jsonpatch.com standard as object keys dont get correctly escaped (949cb14)

1.11.5 (2024-07-03)

chore

fix

  • Idiot level typo caused state to always revert back to baseline for Vue@3 plugins (e237a68)

1.11.4 (2024-07-02)

chore

fix

  • Attempting to apply defaults to a path that doesnt exist resulted in a dangling-pointer (b98aec8)
  • Typo (cfbdc08)

ux

  • More patch information when debug mode is enabled (c0508a6)
  • Start tera debug mode minimized + provide toggle support (d9ecdab)

1.11.0 (2024-06-25)

chore

feat

  • Much better handshake handling for the various initComms() profiles (6de5e9b)

1.10.0 (2024-06-08)

chore

feat

  • Added uiProgress() functionality (371094d)

fix

  • More file content handling functionality (ca96f04)
  • Use correct dialog title when handling files (0d261e7)

1.9.1 (2024-06-06)

chore

fix

1.9.0 (2024-06-06)

chore

1.8.0 (2024-06-04)

chore

docs

  • Added stubs for some plugins + vite config (ca7cbeb)
  • Minor doc update for lazy file fetching (3c8535d)

feat

  • Add stub for uiProgress (unfinished implementation) (402d181)
  • Added plugins/vite (3d48f3b)
  • More init debug steps + transmit server verbosity as first action (8cb6e52)
  • setServerVerbosity() (a0f7f77)
  • toggleDevMode() now also accepts the "proxy" meta value to switch to local proxy-forwarding mode (d2fa61d)

fix

  • Remove secondary /project path segment when computing ProjectFile.teraUrl (18ad085)
  • Updated default port to match TERA proxy deployment (6904dfc)

refactor

  • Change behaviour of set{,IfDev}() to ignore nullish values (e24e4de)
  • Moved proxy functionality into a universal module (0e80fbc)

task

  • Add export for proxy library (0c891aa)

1.7.4 (2024-05-31)

chore

fix

  • Route file fetching through the TERA $project service instead of the raw $supabase feed (2e0ef7f)

refactor

  • Change from using private properties to old-style underscore + defineProperties to get non-enumerable functionality (431a34b)

1.7.3 (2024-05-31)

chore

fix

  • Wrong entity when debugging in Vue3 plugin (1e6bbed)

1.7.2 (2024-05-31)

chore

fix

  • Stupid typo upsets some build resolution systems (c62a4a3)

1.7.1 (2024-05-31)

chore

fix

  • Stupid typo upsets some build resolution systems (9b2aa1f)

1.7.0 (2024-05-28)

chore

feat

  • Added more file operation - creation of stubs + file removal + nicer getProjectFile() handling (ec68885)

fix

  • Actually write the file when using setProjectLibrary() (282e710)
  • Used wrong filename when passing output to RefLib for file write (e9d36d8)

1.6.1 (2024-05-27)

chore

docs

  • Missing labels + whitespace (ad433a6)

refactor

  • Move from annoying Supabase absolute URLs to using a new file ID based system for file handling (0328e96)

1.6.0 (2024-05-23)

chore

feat

  • Much more verbosity during init() if its called for (1a56267)
  • setProjectState{Flush,Refresh}() (c404a3d)
  • Yet more error reporting during client init() (930e8cb)

fix

  • Also watch plugins/ with npm run watch (30b0f2f)
  • Better is-pojo detection when deep merging with Vue2 / $set (6f14991)
  • Less noisy errors when trying to set the URL on an inactive tool session / embedded TERA iframe (7a73e32)
  • Slight fixes for release-it scripting (2a1c0b1)
  • Typo when syncing local->remote writes (aed4511)
  • Vue2 handling for Array syncing (6449261)

refactor

  • More verbose output for plugins/vue2 (07e5072)

1.5.0 (2024-05-07)

chore

feat

  • setPage{Url,Title}() functionality (bc6d00f)

1.4.4 (2024-05-07)

chore

fix

  • Allow raw access to the /dist/ directory for weirder imports (42a3a85)
  • Mark setPageUrl as fixme (f481e08)

1.4.3 (2024-05-07)

chore

task

  • Stub function for setPageUrl() (eb2ca9a)

1.4.2 (2024-05-02)

chore

1.4.1 (2024-05-02)

chore

refactor

  • Added debugging verbosity levels + refacroted all calls to be less chatty (081964c)

1.4.0 (2024-04-26)

chore

docs

  • Missing need provide {tera:TeraFyClient} during ProjectFile constructor (cdf26cc)

feat

fix

  • Let release-it figure out the release increment (a2be698)
  • merge() subclassed method should take an iterative, not a single object (4a33aca)

refactor

  • Bind ProjectFile.tera -> #tera so that outsiders cant access the parent property and it doesnt show up as enumerable (b00619d)

1.3.2 (2024-04-18)

chore

fix

  • Various minor tweaks to keep ESLint happy (c7e7f0d)
  • Wrong API endpoint when setting file Blobs (45aa6df)

1.3.1 (2024-04-16)

chore

feat

  • setProjectStateDefaults() can now accept an entire object to default-merge (5d9a1f5)

fix

  • Various missing fields for the ProjectFile interface (8858a9f)

refactor

  • Moved all path state functionality into its own utility library (25f63df)
  • Set default release increment as patch (ab90c11)

1.3.0 (2024-04-15)

chore

docs

feat

  • ProjectFile.{serialize,deserialize}() functions (d6c69f5)

fix

refator

  • Double-check all docuemnted promise-return functions actually return promises (d951b43)

1.2.2 (2024-04-11)

chore

docs

  • Rebuild CHANGELOG from start of project (f559d76)

refactor

  • Change behaviour of setProjectStateDefaults() to return the input value rather than whether the value actually changed (_pathHas() can be used for this anyway (34e8529)

1.2.1 (2024-04-11)

chore

devops

  • Fix release script to bump patch level (6393c20)

docs

fix

  • Handle file meta data where created/modified/accessed dates are omitted for some reason (1544723)
  • Handle nullish errors on RPC calls (f873029)

1.2.0 (2024-04-11)

docs

  • Deferred hints documentation into main TERA-Tools.com project (abb44d5)
  • Duplicate function definition (2946fad)
  • Typo (8e8ab94)

feat

  • now supports save functionality (e60b63e)
  • More fixes and UX for file saving UI/UX (7c4e1af)
  • setProjectLibrary() can now prompt for a file path if none is specified (62a5f03)

fix

  • Wrong inherited argument when running setProjectLibrary() (aaaca64)

refactor

  • parseProjectLibrary() -> getProjectLibrary() (f265624)

1.1.0 (2024-04-09)

docs

feat

fix

  • Yet more files added to prerelease step (399c6f8)

1.0.24 (2024-04-05)

devops

  • Added changelog + release infrastructure (d2ced34)

fix

  • Yet another fix for setProjectState() throwing when trying to save + remove defunct {sync:Boolean} option (4e320ec)

task

  • Add NPM publish as post-bump step (51d5ea5)
  • postbump -> postcommit (75ea50a)

1.0.23 (2024-04-04)

1.0.22 (2024-04-04)

fix

  • Missing Promise chain response during setProjectState() (1fb7f29)

1.0.21 (2024-04-03)

docs

feat

  • More edits to (efc49f7)
  • Moved ProjectLibrary file into its own classdef + added more file setter methods (6c8eac3)
  • Stash + retrieve login data from LocalStorage when using embed + popup window workaround method (e9ec32c)

fix

  • Added projectFile class build to frontend scripts (b21fe29)
  • Missing dep (9bf58e4)

refactor

  • Seperate Embed workaround code into its own function (984c37a)

1.0.20 (2024-04-02)

docs

fix

  • Yet more $auth screw-around with window.opener magic (d140da1)

1.0.19 (2024-04-02)

devops

  • Added sanity check for $auth sticking in a loop on the server (23f197d)
  • Disabled sourcemapping as its too much of a headfuck when its not mapping correctly (f9f6b76)

docs

feat

1.0.18 (2024-04-02)

devops

  • Added npm run watch script to main to rebuild client libraries on change (48fa42a)

docs

feat

  • Added method to try authenticating locally via a popup when in embedded mode (7286958)
  • Added prototype window mode for client (9241854)
  • Added subclassable {has,get,set}Path methods to client for state setting (a4acedf)
  • Button selection when using uiAlert() (118223f)
  • getUser({forceRetry:Boolean}) (15b8efd)
  • uiSplat() + uiWindow() (a72fc33)

fix

  • Auto call to requireProject() in Vue2 mode (f592cfb)
  • Dont rely on server auth populating $auth.user.id (73f8c85)
  • Logic error when setting project state (7fcd826)
  • Subclass _pathSet() when in Vue2 mode (ea5537e)

refactor

  • Juggle various {,peer,optional}depedencies config (aee116a)
  • Promise Deferred util (8e4f1a8)
  • Stepped auth when calling requireUser() (562798a)

1.0.17 (2024-03-14)

docs

feat

  • Filled out stubs for {get,set,select}ProjectLibrary() (0bdbfd9)

fix

refactor

  • getProjectLibrary() -> parseProjectLibrary() (f477c9d)
  • Split selectProjectLibrary() -> selectProjectFile() + selectProjectLibrary() + added stub for file filtering (1e3d517)

1.0.16 (2024-03-06)

feat

  • getLibraryFile() now supports multiple file transforms before handing contents to requester (e413bd9)

fix

  • Dont try to inject undef values when devmode is enabled but the site URL isnt a string (47598b2)

1.0.15 (2024-02-29)

docs

feat

  • requireUser() + call to it from requireProject() (d4eedfa)
  • uiAlert() (09da928)

ux

  • Bypass requestFocus() actions when already operating as top-level TERA (9e2515d)

1.0.14 (2024-02-27)

fix

  • yet more fixes to Live version of TERA-fy deployed to Live TERA (f72fb8d)

1.0.13 (2024-02-27)

feat

  • Added @vue/cli-service compatible version (ESM + ES2019 spec) (56501c9)
  • TERA-fy client can now opt-in to sandbox overrides in dev mode (550ac9c)

fix

  • Wrong DOM reference when searching for external iFrame from top-level TERA window (51a0ab8)
  • Wrong external referencing for Vue2 plugin (ddd7068)

task

ux

  • Provide each plugin with a copy of the TERA-fy client settings during init (705ac7b)

1.0.12 (2024-02-22)

docs

feat

  • Added setProjectStateDefaults() to make priming defaults easier (55a6ce8)

fix

  • Tweaks to what is included in the NPM tarball (e2cf7e0)

refactor

test

  • Dropped the defunct terafy.subscribeProjectState demo (01e585b)

1.0.11 (2024-02-21)

docs

  • Updated function signatures between client & server (dc1117a)

feat

  • Added events / EventEmitter pattern to accept flushed updates from server (458ce79)
  • Client can now tell server where its loaded from via setServerMode() (b7c5fc0)
  • Updated Vue plugins (2+3) to handle remote project state changes (0abf7b4)

fix

  • Added @mfdc/supabase-reactive as a dep for the Vue plugins (2f7900d)

refactor

  • Move horrible mixin() handler into its own utility library (713e26b)

1.0.10 (2024-02-18)

docs

  • Added API docs for TERA-fy client (ca34abf)
  • Added example invocation for Vue plugins (5205235)
  • Added header area to playground + fixed TeraFy JS url (2fdd565)
  • Added link to generated docs pages (7670ff9)
  • Added stub functions to client so that JSDoc can pick them up (371a18e)
  • API doc build process + first generation build (81c7ff4)
  • Documentation compiler is now more specific about doc listing order (6353f15)
  • Dont allow project changing if there are no projects listed (3aff5dc)
  • More API adjustment options (1cd8a1d)
  • More docs tidying (1d2911f)
  • More links in README + small cleanup (6729637)
  • Move playground into docs folder (07d5d45)
  • Rebuild docs (709241c)
  • Reformat links to TERA-Explorer (8d2242a)
  • Various docs fixups (4add13a)
  • Yet more import nonsense with ESM files (5c41b6b)

feat

  • createProjectStatePatch() to avoid having to do this manually in each plugin (5414a22)
  • init() can now accept an options object (0ee55b7)
  • Prototype project subscription process (untested) (f13b957)
  • Various project-state patch handling functionality now implemented (8260808)

fix

  • Better reaction when there is no active user login (48bd61f)
  • Debugging artefacts (61d559b)
  • Dont allow plugins to override the main init() function - instead call them after that function has done its work (7db3ba0)
  • Plugins init() functions are now called AFTER all other init functionaly has finished + they are called with the outer object context (4757597)

refactor

  • Swap NPM:jsdoc -> NPM:documentation (212ed1a)

task

  • Rebuild (19766d7)
  • Rebuild package-lock (a83e654)
  • Update API playground to match API signatures (d483ec3)

1.0.9 (2023-11-09)

feat

  • getProjectLibrary() now working (019dacd)

1.0.8 (2023-11-02)

feat

  • Tera-Fy can now communicate upwards (window.parent) or downwards (via iFrame) depending on its active context (0c8d30d)

1.0.7 (2023-11-02)

fix

1.0.6 (2023-11-01)

docs

  • Added example to README (40a564b)

fix

  • Better error tracking methods with CLIENT|SERVER.debug() + try barriers around sendRaw() (b4062b3)
  • client.init() now returns its own instance in the promise payload so it can be awaited (05d6611)
  • Minor typo in package when generating docs (626a7fc)
  • Placehoder in Vue plugin to load basic project skeleton (f530e51)

refactor

  • Code tidy + injectComms() now waits o the frame responding (14491d3)

1.0.5 (2023-10-31)

fix

  • Change default tera-tools endpoint to live site (ca4a595)
  • Various fixes to the mixin infrastructure (27ce126)

refactor

  • Moved plugins to a more logical location (67821c5)
  • Reuse this.set() in constructor if handed options (c02a51b)

1.0.4 (2023-10-27)

devops

  • Ignore dist/ when tooling/grepping (d303385)

docs

feat

  • Added TeraFy.set() + minor fixes (ccf2221)
  • Implemented prototype plugin structure (4a35743)

refactor

  • getProjectStateSnapshot() -> getProjectState() (5939df2)
  • Move API generation to a single file (5039530)
  • Moved NPM:just-diff back to peerDeps as its likely to be needed anyway (37e1235)

task

1.0.3 (2023-10-26)

fix

  • getProjectStateSnapshot() wasnt actually returning a result (db1c572)

1.0.2 (2023-10-26)

feat

  • Ping-pong RPC support with server<->client, added support for contexts to carry messages on server side (15b970d)
  • setActiveProject() (c24158a)

task

1.0.1 (2023-10-26)

docs

feat

  • DevMode toggling + better stylesheet handling + toggleFullscreen() (cc96e76)

fix

refactor

task

  • Added dist + docs auto-gen (af4b6c1)
  • Basic proof-of-concept (835e175)
  • Cleanup package*.json (9c3732c)
  • iFrame example (non-functional) (d0b3b36)
  • Initial commit + hello world demo (b9559b5)
  • Proof-of-concept using iFrame + postMessage (47c9af8)
  • Prototype app (69b14c2)
  • Various cleanups now the solution has settled (52fcc61)