1.15.8 (2025-01-16)
- Debugging artefact (c6cac8a)
1.15.7 (2025-01-09)
- Embedded workaround no longer goes into a doom loop on any downstream errors (5eec247)
1.15.6 (2025-01-09)
- 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)
- Bump reflib to latest (19e0bf4)
- Marked saveProjectState() as depreciated (f4184e6)
- getUser() now also returns the user credits (276b33d)
- uiDie() -> uiPanic() (daf6960)
1.15.4 (2024-12-12)
- Throw error when trying to use setProjectState() with a nullish/empty path (6aeb6ae)
1.15.3 (2024-11-18)
- 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)
- Build step for bootstrapper (7fd53fd)
- Various docs fixups (df14fac)
- Initial build of the bootstrapper component (f334645)
- Prep for .use(url:String) being supported in future (463c3d9)
- Dont expect the DOM element always being present (0f97dc4)
- Error in IIF (6b84c69)
- Misspelling (2950e57)
- Removed pointles registry setting (66291f2)
- Rebuild lock (bfe1ba0)
1.15.1 (2024-11-14)
- Also patch restrictOrigin rule when using child mode (5647e84)
1.15.0 (2024-11-13)
- 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)
- 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)
- Move from a ignoreCount model to a did-i-do-that model for state patching (1f560ac)
1.14.2 (2024-11-01)
- Wrong body text binding with UIConfirm (ecd870c)
1.14.1 (2024-10-17)
- Stale docs for setProjectFileContents() (e9e8867)
1.14.0 (2024-10-17)
- Changed CHANGELOG format angular -> eslint (9461445)
- Typos and missing function headers (34b1267)
- setProjectFile() -> setProjectFileContents() inline with naming convention (0a45f44)
1.13.5 (2024-10-17)
- Changed CHANGELOG format angular -> eslint (9461445)
- Typos and missing function headers (34b1267)
- setProjectFile() -> setProjectFileContents() inline with naming convention (0a45f44)
1.13.4 (2024-07-24)
- ProjectFile.teraUrl should never assume we are using the base tera-tools.com domain - accept any source (87f417b)
- Eslint comment level fixups (7db5e3c)
1.13.3 (2024-07-13)
- release v1.13.3 (952ef4d)
- Move proxy destination to dev.tera-tools.com (57eb2ad)
- $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)
- release v1.13.2 (8cbe700)
- Be less fussy when trying to emit to clients that dont exist (b0f4d12)
1.13.1 (2024-07-10)
- release v1.13.1 (a029fd5)
- More consistant argument pattern for ui* functions (5faa0f2)
1.13.0 (2024-07-09)
- Debugging functionality to watch patch paths via
{debugPaths: Array<String|Array>}
(23003bc) - uiConfirm(), uiPrompt() & uiThrow() (32f4378)
- 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)
- release v1.12.0 (284ec76)
- 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)
- release v1.11.5 (42e43b3)
- Idiot level typo caused state to always revert back to baseline for Vue@3 plugins (e237a68)
1.11.4 (2024-07-02)
- Bump release-it to latest (c9d947d)
- release v1.11.4 (1fab0e5)
- Version bump (c54de66)
- Version bump (099a1d4)
- Attempting to apply defaults to a path that doesnt exist resulted in a dangling-pointer (b98aec8)
- Typo (cfbdc08)
- More patch information when debug mode is enabled (c0508a6)
- Start tera debug mode minimized + provide toggle support (d9ecdab)
1.11.0 (2024-06-25)
- release v1.11.0 (d8dbf6c)
- Much better handshake handling for the various initComms() profiles (6de5e9b)
1.10.0 (2024-06-08)
- release v1.10.0 (65a0ceb)
- Added uiProgress() functionality (371094d)
- More file content handling functionality (ca96f04)
- Use correct dialog title when handling files (0d261e7)
1.9.1 (2024-06-06)
- release v1.9.1 (5fc37dd)
1.9.0 (2024-06-06)
- release v1.9.0 (949cc61)
1.8.0 (2024-06-04)
- release v1.8.0 (34d4076)
- Added stubs for some plugins + vite config (ca7cbeb)
- Minor doc update for lazy file fetching (3c8535d)
- 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)
- Remove secondary /project path segment when computing ProjectFile.teraUrl (18ad085)
- Updated default port to match TERA proxy deployment (6904dfc)
- Change behaviour of set{,IfDev}() to ignore nullish values (e24e4de)
- Moved proxy functionality into a universal module (0e80fbc)
- Add export for proxy library (0c891aa)
1.7.4 (2024-05-31)
- release v1.7.4 (1dd8cce)
- Route file fetching through the TERA $project service instead of the raw $supabase feed (2e0ef7f)
- Change from using private properties to old-style underscore + defineProperties to get non-enumerable functionality (431a34b)
1.7.3 (2024-05-31)
- release v1.7.3 (66937f0)
- Wrong entity when debugging in Vue3 plugin (1e6bbed)
1.7.2 (2024-05-31)
- release v1.7.2 (be5d19d)
- Stupid typo upsets some build resolution systems (c62a4a3)
1.7.1 (2024-05-31)
- release v1.7.1 (0fed293)
- Stupid typo upsets some build resolution systems (9b2aa1f)
1.7.0 (2024-05-28)
- release v1.7.0 (4d4b1f3)
- Added more file operation - creation of stubs + file removal + nicer getProjectFile() handling (ec68885)
- 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)
- release v1.6.1 (ba64589)
- Missing labels + whitespace (ad433a6)
- Move from annoying Supabase absolute URLs to using a new file ID based system for file handling (0328e96)
1.6.0 (2024-05-23)
- release v1.6.0 (6afdefb)
- Much more verbosity during init() if its called for (1a56267)
- setProjectState{Flush,Refresh}() (c404a3d)
- Yet more error reporting during client init() (930e8cb)
- 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)
- More verbose output for plugins/vue2 (07e5072)
1.5.0 (2024-05-07)
- release v1.5.0 (fdf89d3)
- setPage{Url,Title}() functionality (bc6d00f)
1.4.4 (2024-05-07)
- release v1.4.4 (c26b34a)
- Allow raw access to the /dist/ directory for weirder imports (42a3a85)
- Mark setPageUrl as fixme (f481e08)
1.4.3 (2024-05-07)
- release v1.4.3 (10cff71)
- Stub function for setPageUrl() (eb2ca9a)
1.4.2 (2024-05-02)
- release v1.4.2 (3788cfa)
1.4.1 (2024-05-02)
- release v1.4.1 (19c3d29)
- Added debugging verbosity levels + refacroted all calls to be less chatty (081964c)
1.4.0 (2024-04-26)
- release v1.4.0 (e3ed2e2)
- Missing need provide {tera:TeraFyClient} during ProjectFile constructor (cdf26cc)
- TeraFy.projectLog() (6207188)
- Let release-it figure out the release increment (a2be698)
- merge() subclassed method should take an iterative, not a single object (4a33aca)
- 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)
- release v1.3.2 (6c5a6a2)
- Various minor tweaks to keep ESLint happy (c7e7f0d)
- Wrong API endpoint when setting file Blobs (45aa6df)
1.3.1 (2024-04-16)
- release v1.3.1 (6e431fd)
- setProjectStateDefaults() can now accept an entire object to default-merge (5d9a1f5)
- Various missing fields for the ProjectFile interface (8858a9f)
- Moved all path state functionality into its own utility library (25f63df)
- Set default release increment as patch (ab90c11)
1.3.0 (2024-04-15)
- release v1.3.0 (0caf39c)
- Typo (b0b3765)
- ProjectFile.{serialize,deserialize}() functions (d6c69f5)
- Export projectFile (d4940f3)
- Double-check all docuemnted promise-return functions actually return promises (d951b43)
1.2.2 (2024-04-11)
- release v1.2.2 (82e307a)
- Rebuild CHANGELOG from start of project (f559d76)
- 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)
- release v1.2.1 (b228454)
- Fix release script to bump patch level (6393c20)
- Recompile docs (2a77afe)
- 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)
- Deferred hints documentation into main TERA-Tools.com project (abb44d5)
- Duplicate function definition (2946fad)
- Typo (8e8ab94)
- 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)
- Wrong inherited argument when running setProjectLibrary() (aaaca64)
- parseProjectLibrary() -> getProjectLibrary() (f265624)
1.1.0 (2024-04-09)
- Rebuild (c2cbd3f)
- File saving UI (b2f8809)
- Yet more files added to prerelease step (399c6f8)
1.0.24 (2024-04-05)
- Added changelog + release infrastructure (d2ced34)
- Yet another fix for setProjectState() throwing when trying to save + remove defunct {sync:Boolean} option (4e320ec)
1.0.23 (2024-04-04)
1.0.22 (2024-04-04)
- Missing Promise chain response during setProjectState() (1fb7f29)
1.0.21 (2024-04-03)
- Rebuild (080a0d2)
- 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)
- Seperate Embed workaround code into its own function (984c37a)
1.0.20 (2024-04-02)
- Doc rebuild (841f04f)
- Yet more $auth screw-around with window.opener magic (d140da1)
1.0.19 (2024-04-02)
- 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 rebuild (0c39fa2)
- Start on Vue component (aa42855)
1.0.18 (2024-04-02)
- Added
npm run watch
script to main to rebuild client libraries on change (48fa42a)
- 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)
- 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)
- Juggle various {,peer,optional}depedencies config (aee116a)
- Promise Deferred util (8e4f1a8)
- Stepped auth when calling requireUser() (562798a)
1.0.17 (2024-03-14)
- Filled out stubs for {get,set,select}ProjectLibrary() (0bdbfd9)
- Typo (98fad09)
- getProjectLibrary() -> parseProjectLibrary() (f477c9d)
- Split selectProjectLibrary() -> selectProjectFile() + selectProjectLibrary() + added stub for file filtering (1e3d517)
1.0.16 (2024-03-06)
- getLibraryFile() now supports multiple file transforms before handing contents to requester (e413bd9)
- Dont try to inject undef values when devmode is enabled but the site URL isnt a string (47598b2)
1.0.15 (2024-02-29)
- Rebuild docs (83e9ddc)
- Bypass requestFocus() actions when already operating as top-level TERA (9e2515d)
1.0.14 (2024-02-27)
- yet more fixes to Live version of TERA-fy deployed to Live TERA (f72fb8d)
1.0.13 (2024-02-27)
- Added @vue/cli-service compatible version (ESM + ES2019 spec) (56501c9)
- TERA-fy client can now opt-in to sandbox overrides in dev mode (550ac9c)
- Wrong DOM reference when searching for external iFrame from top-level TERA window (51a0ab8)
- Wrong external referencing for Vue2 plugin (ddd7068)
- Rebuild /dist (09fa084)
- Provide each plugin with a copy of the TERA-fy client settings during init (705ac7b)
1.0.12 (2024-02-22)
- Added setProjectStateDefaults() to make priming defaults easier (55a6ce8)
- Tweaks to what is included in the NPM tarball (e2cf7e0)
- Various misc cleanup (7c19c26)
- Dropped the defunct terafy.subscribeProjectState demo (01e585b)
1.0.11 (2024-02-21)
- Updated function signatures between client & server (dc1117a)
- 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)
- Added @mfdc/supabase-reactive as a dep for the Vue plugins (2f7900d)
- Move horrible mixin() handler into its own utility library (713e26b)
1.0.10 (2024-02-18)
- 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)
- 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)
- 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)
- Swap NPM:jsdoc -> NPM:documentation (212ed1a)
- Rebuild (19766d7)
- Rebuild package-lock (a83e654)
- Update API playground to match API signatures (d483ec3)
1.0.9 (2023-11-09)
- getProjectLibrary() now working (019dacd)
1.0.8 (2023-11-02)
- Tera-Fy can now communicate upwards (window.parent) or downwards (via iFrame) depending on its active context (0c8d30d)
1.0.7 (2023-11-02)
- Misc fixes (2bd5e03)
1.0.6 (2023-11-01)
- Added example to README (40a564b)
- 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)
- Code tidy + injectComms() now waits o the frame responding (14491d3)
1.0.5 (2023-10-31)
- Change default tera-tools endpoint to live site (ca4a595)
- Various fixes to the mixin infrastructure (27ce126)
- Moved plugins to a more logical location (67821c5)
- Reuse this.set() in constructor if handed options (c02a51b)
1.0.4 (2023-10-27)
- Ignore dist/ when tooling/grepping (d303385)
- Updated API docs (ed2d934)
- 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)
- rebuild (e4fc5b8)
1.0.3 (2023-10-26)
- getProjectStateSnapshot() wasnt actually returning a result (db1c572)
1.0.2 (2023-10-26)
- Ping-pong RPC support with server<->client, added support for contexts to carry messages on server side (15b970d)
- setActiveProject() (c24158a)
- Rebuild (4d8dda2)
1.0.1 (2023-10-26)
- DevMode toggling + better stylesheet handling + toggleFullscreen() (cc96e76)
- File rename (79ab1cc)
- 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)