# Changelog All notable changes to this project will be documented in this file. ## [0.0.76] - 2024-02-06 ### Bug Fixes - [JSLIB]: Fix types for `putBlob()`, returns a single address ### Features - [WEBUI,JSLIB]: Upload progress - [WEBUI]: Files can be added or removed from the upload dialog - [WEBUI]: Select all uploaded files when done - [WEBUI]: Start upload on Enter press ### Operations & Development - Enable CACHE - --force pnpm install, DRY Earthfile slightly - Cache all rust earthly targets - Get rid of AppImage upload to S3 - Update Earthly image version - Remove parallelization - [WEBUI]: Force rebundling of dependencies for `dev` script - Intellij dev config builds jslib before webui launch - Git ignore uploaded files in example_vault ### Styling - [WEBUI]: Upload progress bar spacing, hide add button ### Build - [WEBEXT]: Update shared paths with webui, fix build - Further refactor Earthfile & build process - Fix upend-bin target ## [0.0.75] - 2024-02-02 ### Bug Fixes - [WEBUI]: Fix upload, re-add forgotten components (Footer, AddModal, DropPasteHandler) ### Operations & Development - Update Earthly image version ### Refactor - [WEBUI]: Fix typo, rename ProgessBar -> ProgressBar ### Styling - [WEBUI]: Fix uneven heights of roots ## [0.0.74] - 2024-01-28 ### Bug Fixes - [CLI]: Serve new SPA version - [WEBUI]: Selector race conditions / wonkiness - [CLI]: Serving web ui in Docker/AppImage - [WEBUI]: Ordering of attributes in Selector - [JSLIB]: Correct types for `UpObject.attr()` ### Features - [JSLIB]: Add timeouts / aborts to all api calls - [WEBUI]: Required & optional attributes ### Miscellaneous - [WEBUI]: Put /dist into .eslintignore ### Operations & Development - [WEBUI]: Fix HMR - Make `dev` intellij config not run --release version ### Refactor - [WEBUI]: Switch to SvelteKit | touchdown - [WEBUI]: Switch to SvelteKit | great lint fixing - [WEBUI]: Switch to SvelteKit | prettier everything - [WEBUI]: Switch to SvelteKit | fix image annotation - [WEBUI]: Switch to SvelteKit | fix nested blob preview - [WEBUI]: Switch to SvelteKit | properly handle BrowseColumn error - [WEBUI]: Misc fixes in ImageViewer ### Styling - [WEBUI]: Blob preview labels ### Build - [WEBUI]: Finish webui SPA build config - Optimize Earthly target dependencies ## [0.0.73] - 2024-01-27 ### Bug Fixes - [WEBUI]: Version display - [WEBUI]: Don't require confirmation for set remove in combine - [WEBUI]: "Required" without "Included" also now works in Combine - [WEBUI]: "Groups" label in Inspect column - [WEBUI]: Allow selection with cmd for macos - [WEBUI]: Various app sizing fixes - [WEBUI]: Fix sizing / overflows on <=1080 screens? - [WEBUI]: Upobject label overflow - [WEBUI]: Fix editing through inspect attribute list - [WEBUI]: Surface allows rudimentary rescaling - [WEBUI]: UpLink label overflows - [WEBUI]: Overflow of "Used" section in Attribute Inspect - [WEBUI]: Lint - [WEBUI]: Remove surface story, fix lint - [WEBUI]: Z-index on surface - [WEBUI]: Surface: point position matches axes - [WEBUI]: Surface starts at center - [WEBUI]: Error on search confirm - [WEBUI]: SurfaceColumn with new Selectors - [WEBUI]: Error in SurfaceColumn due to missing `y` - [WEBUI]: "initial" Selector values are no longer uneditable - [WEBUI]: Multiple Surface columns - [WEBUI]: Position of selector on surface - [WEBUI]: Surface centering on resize - [WEBUI]: Fix duplicate Selector options (?) - [DB]: Handling (again) existing files + tests - Prevent crashes while formatting unexpected value types - Selectors keep focus while adding entries - [WEBUI]: Url type display in UpObject - [WEBUI]: Attribute columns being squashed to unreadability - [WEBUI]: Editable overflow - Uploads via API are assigned paths like via FS - [CLI]: Image previews work for paths without extensions - [CLI]: Add ID3_PICTURE attribute description - [WEBUI]: Sort & optimize Keyed section - [WEBUI]: Selection in EntryList ### Features - [WEBUI]: Proper set operations - [WEBUI]: Add group view, duplicate group view - [WEBUI]: Quick & dirty reverse path resolution for duplicate group distinction - [WEBUI]: Turn groups view into a column, allow selection - [DB]: Add new vault scan modes (flat, depthfirst) - [DB]: Add an "INCOMING" rescan mode - [DB]: Add an "INCOMING" rescan mode - [DB]: Duplicate blob paths on initial scan - [JSLIB]: Add vault options functions - [WEBUI]: Show current vault mode in setup - [JSLIB]: Add variables to jslib query builder - [WEBUI]: Distinguish between correctly & incorrectly typed members in Inspect - [WEBUI]: Surface: add "display as point" - [WEBUI]: Surface view as Column in Browse - [CLI]: Add `--rescan_mode` CLI option, fix storybook cmd - [WEBUI]: "Last searched" options in header - [WEBUI]: SurfaceColumn's axes are fully reflected in URL - [JSLIB]: Or/and/not/join query builder support - [WEBUI]: SurfaceColumn automatically finds PERPENDICULAR attributes, if set - [WEBUI]: Press shift and click close to reload a column - [WEBUI]: Proper autofit of SurfaceColumn - [CLI,WEBUI]: Check file presence via HEAD, disable download button if necessary - [WEBUI]: Stable type sort in Inspect: by amount of attributes, address - [JSLIB]: Implement toString for UpObject - Add spinner to Selector - [CLI]: Add ID3 image extraction - [WEBUI]: Allow search / selection of entries via their attributes - [WEBUI]: Display KEYs in UpObject banner - [WEBUI]: Vault name in title on home - [WEBUI]: Add Keyed display to Home - [WEBUI]: Add section links from Home ### Miscellaneous - Specify crate resolver - [JSLIB]: Add eslint ava - [JSLIB]: Rebuild before running tests - [JSLIB]: Version bump - [JSLIB]: Fix eslint - [WEBUI]: Update storybook - [WEBUI]: Update entity addresses for storybook - [JSLIB]: Bump version - Add intellij run configurations - Fix types ### Operations & Development - Add appimages & changelogs to gitea releases - Test before lint - Use detached signature for appimages - Add mail pipeline step - Fix mail? - Remove mail (for the time being) - Fix prerelease step ### Performance - [WEBUI]: Only check for file existence for UpObjct banners - [WEBUI]: Use addressToComponents to get attribute addresses without querying backend - [JSLIB]: Add `attr` cache - Cancel unfinished updates in Selector - [WEBUI]: Early set for static Selector options ### Refactor - [WEBUI]: Use EntitySetEditor in Inspect & MultiGroup - [DB]: Better impls for UNode/UHierPath - [WEBUI]: Upobject label into own component - [DB]: Use `parse` instead of `from_str` - [DB]: Refactor tests in fs store - Tree mode -> (new) blob mode - [DB]: Use jwalk instead of walkdir - [DB]: Refactor rescan process - [JSLIB]: Specific constant for any instead of undefined - [WEBUI]: Use new query api - [CLI]: Use cargo manifest dir for resources in dev mode - [WEBUI]: Selector refactor, non-destructive search - [WEBUI]: Button labels on columns are i18n'd - [WEBUI]: Get rid of `any` in Surface - [WEBUI]: I18n in UpObject - [JSLIB]: Remove `url` and `attribute` from `getAddress`, fix build - [CLI]: Remove forgotten println - [CLI]: Refix log level for vault rescans - Chores in Selector.svelte - Dbg calls in Selector.svelte identify element - Remove unnecessary `scoped` leftovers from Vue - Formatting - [DB]: Remove deprecation notice until there's actually a better way - Clippy fixes - [WEBUI]: Use constants ### Styling - [WEBUI]: Non-inspect columns are lighter - [WEBUI]: Padding on groups in inspect - [WEBUI]: Notes in properties, enlarge scrollable area - [WEBUI]: Roots on home are in a column - [WEBUI]: Embolden 0 axes in Surface, text shadow - [WEBUI]: Reorder options in selector - [WEBUI]: Fix partially hidden Home footer; spacing - [WEBUI]: Column/inspect sizing, avoid scrollbar overlap - [WEBUI]: 2 columns at home - Show multiple roots as banners instead of full cards - [WEBUI]: # -> ⌘ - [WEBUI]: Key display in non-banners also - [WEBUI]: Monospace & diminished key display - [WEBUI]: Hide type keys ## [0.0.72] - 2023-10-22 ### Bug Fixes - [WEBUI]: Inner group preview sizing - [WEBUI]: Various mobile improvements (#23) - [WEBUI]: Ultrawide detail mode - Double ^C actually stops - [WEBEXT]: External instances, link opens stored instance - Fix mime detection on mac os - Web ui flag - Api fetch store info - [WEBUI]: Resolve upobjects with empty labels, explicitly disable resolving - Gallery empty state - Upgrade shadow-rs, fix libgit build - Disable libgit2 shadow-rs functionality, actually fix build - Local js dependencies - Build wasmlib before frontend - Upend js lib build (`files`) - Minor entity not yet loaded bug - Backlinks, untyped links don't include OFs - Unclickable items in detail mode, fixes #57 - Concurrent image loading - Impl display for upmultihash, fix preview debug log - Docker improvements - (loading) image overflow - Appimage webui path - Docker-minimal missing libssl3 - Upgrade vite, get rid of vite build voodoo - Audiopreview overflow - Never cache index.html, prevent stale assets - Don't hide jobs - Footer only showable when jobs present - Duplicate wasm initialization - Don't show type editor for nontypes - Entrylist scroll hijack - Wasm lint - Make `componentsToAddress` usable from JS - Webui layout & sizing fixes - Add url attributes to url type address - Webui, detail doesn't take up the whole screen - 3d model preview overflow - Don't duplicate columns unless shift is pressed - Hide browse add column after blur - Accessibility & lints - Audio annotations not being saved properly - Entitylist entry add - Selector overflow in entitylist - [JSLIB]: :sparkles: allow initialization of wasm via wasm modules - [JSLIB]: :wrench: moved wasm from dependencies to dev dependencies - [WEBUI]: :bug: add placeholder to indicate url pasting in entitylist - [JSLIB]: :rotating_light: fix lint fail due to missing type-only imports - [DB]: :bug: fix join behavior - [JSLIB]: :technologist: better error messages for api/query - [DB]: :bug: actually fix join behavior, improve performance as well - [WEBUI]: :ambulance: fix upend wasm import - [JSLIB]: :wrench: fix gitignore - [WEBUI]: Properly center banner select highlight - [WEBUI]: Make non-inspect columns play nice with index context - [CLI]: Proper version in vault info ### Features - [WEBEXT]: Add link to instance - Add `get` cli command, cli commands don't panic - [CLI]: Request the whole obj listing for `get` - Limit concurrent image loading - Upend.js `attr` includes backlinks - Provenance, vault stats - Add endpoint to aid with db migration - Extractors append types - Add link to typed entry views - Rudimentary type editor - Add download button to UpObject - Concurrent image loading indication - Add debug logging for external command extractors - Use `audiowaveform` for audio preview generation - Allow specifying vault name as env - Add basic group section to home - Add group count - Property adding in entrylist - Modeless group operations - Modeless entrylist editing - Always show members in inspect - Show URL types in non-banner upobjects - :package: upend jslib + wasm can be used from node - [JSLIB]: :sparkles: add basic query builder - [JSLIB]: :recycle: eav helper getters for uplisting - [JSLIB]: :sparkles: getRaw() just returns URL, fetchRaw() fetches the actual content - [WEBUI]: :construction: selection via ctrl+drag - [WEBUI]: :construction: generic `BrowseColumn`, EntryView accepts `entities` - [WEBUI]: :construction: base of select all - [WEBUI]: :construction: allow selection removal - [WEBUI]: :sparkles: batch adding/removing groups - Add selection & batch operations - [WEBUI]: :sparkles: rudimentary combine column - [WEBUI]: All "combined" can now be selected ### Miscellaneous - [WEBEXT]: More descriptive message for visiting upend - [WEBEXT]: Version bump - Add `debug` - Don't print header if result is empty in cli - [CLI]: Gracefull failback if API format changes - [WEBEXT]: Version bump - [CI]: Include web-ext artifacts in (pre)releases - Remove unused dependencies - Fix tests on mac - EntryList default columns - Include versions of all packages in /info - Deprecate get_all_attributes (#38) - Migrate from yarn to pnpm - Fix taskfile (pnpm --frozen-lockfile) - Lock update - Rename photo extractor to EXIF extractor - Remove unnecessary std::, reformat - Reformat webui w/ prettier - Add VS Code recommended extensions - Add .editorconfig - Rename build dockerfiles - Add prettier for webui - Add deploy:docker task - Change db/store traces to trace level - Log level to trace - Dev:frontend relies on build:jslib - Pnpm lock update - Reformat? - Remove prod tasks from Taskfile - Update cargo & webui deps - Rename Gallery to EntityList - Logging for swr fetch - Update upend logo - Fix stories errors - Update git cliff config - Change wording on "Create object", i18n - [JSLIB]: :recycle: tidy up tsconfig.json - :technologist: add earthly to recommended extensions - [JSLIB]: :wrench: tidy up gitignore - [JSLIB]: :recycle: use wasmlib from npm - [JSLIB]: :bookmark: version bump to 0.0.5 ### Operations & Development - Fix publish api key (?) - Fix woodpecker path check - Prerelease every push to main - Verbose build of upend.js - Move from using global `rust` image to local `rust-upend` - Also use local node docker image - Also cache target for incremental builds - Only upload nightlies from main - Upload packages to minio - Fix docker tasks - Add `gpg-agent` to upend-deploy docker - Also build a minimal docker image - Only publish dockers from main - Add an audit target - Add logging to Inspect - Add earthly target to update changelog - Add `--push` to deploy target - [JSLIB]: :rocket: publish jslib on tag - [JSLIB]: :white_check_mark: test jslib in CI - [JSLIB]: :sparkles: publish jslib whenever version is bumped - [JSLIB]: :rocket: publish wasmlib to repo - [JSLIB]: :bug: fix earthly publish target - :construction_worker: sequential js publish - [JSLIB]: :ambulance: do not attempt to publish jslib unless we're on `main` ### Refactor - Move actix app creation into separate module - [**breaking**] Unify groups, tags, types (on the backend) - Split inspect groups into its own widget - InspectGroups more self-sufficient - Get_resource_path, looks in /usr/share - Add `DEBUG:IMAGEHALT` localstorage variable that halts concurrent image loading - Add global mock/debug switches - Generic magic for addressable/asmultihash - Unify debug logs in webui - Provenance api log - EntryList uses CSS grid instead of tables - [JSLIB]: Reexport UpEndApi in index - :truck: rename jslib to use `@upnd` scope - [JSLIB]: :recycle: config obj instead of positional args in api ### Styling - Smaller iconbutton text - Don't use detail layout under 1600px width - Referred to after members - No more labelborder, more conventional table view - [WEBUI]: Transition select state in EntityList - [WEBUI]: Slightly reduce empty space in selectedcolumn ### Testing - Rudimentary route test - Add /api/hier test - [SERVER]: Add test for /api/obj/ entity info - Improve db open tests - [BASE]: :bug: `in` actually tested ### Release - V0.0.72 ## [0.0.71] - 2023-06-03 ### Bug Fixes - "database is locked" errors on init (?) - UpLink not updating - Text overflow - Prevent bonkers behavior on PUT (deny_unknown_fields) - Useful attribute mouseover - (group) previews getting hung up on a spinner - Overflow & spacing issues - Audio preview sizing issue - Image group overflow - Sort attributes by label too - Update upend_js to include entry provenance and timestamp - Don't use "Link" under the button - Unresolved audio annotations labels - Invariant entries have 0 timestamp - Pdf viewer - Tests - Taskfile - Put types - Commands - Don't show tags if empty - Image fragment viewing - Selector unlabeled attr handling - Suggest attributes on empty selector - Empty selector attr option - Selector hanging open - Incorrect max_size in /api/address - Proper error message when web ui not enabled - Increase multihash size to 256 bytes - Panics due to async black magic - Proper external fetch error handling - Don't needlessly insert hashy filename - Content-type for cors - Url labels on client, not backend - Await upend visit, contentType isn't array ### Documentation - Add conceptual tutorial ### Features - Attribute label display in Selector, create attribute feature - [**breaking**] Add provenance & timestamp to Entry - Add "as entries" inspect option - Display entity type in banner - Also show timestamp & provenance in EntryList - Add optional `provenance` query parameter to API calls - Only suggest type's attributes in attributeview editing - [CLI]: Insert entities for files with =, urls - Guess entryvalue in cli - Add `@=` support in cli queries - [CLI]: Implement tsv format for queries - Add addressing/hashing of remote urls - Proof of concept v0.1 web extension companion - Add external blobs via url at /api/blob - Add PUT /api/hier handler (for creation) - Extension supports adding - Webext display added time - Web extractor adds LBLs ### Media - Add more buttony upend icon ### Miscellaneous - Clippy lints - [WEBUI]: Fix eslint errors - Add text examples - Gitattributes fix - Add 2 levels of directories to example - [**breaking**] Separate server functionality into a crate - Fix missing vendor files in dev - Rename to entries - Remove duplicate sort - Add clean:vault task - Don't necessarily build jslib - Update `webpage` - `cargo update`, fix clippy lints - [**breaking**] Separate PUT /api/obj and PUT /api/blob endpoint - Server -> cli - Update repository in Cargo.toml - Fix clippy - Silence storybook errors - Open browser on `task dev` - Get rid of MTIME - Allow 127.0.0.1 origin by default - Cli docstrings - Use url instead of string in address - Add user agent to reqwests - Remove jsconfig.json - Lint webext - Fix rust lints - Update actix deps, get rid of one future incompat warning - Use api client from upend.js in webui - Forgotten placeholder var - Update yarn.lock for webui - [WEBEXT]: Fix url desync, types - Prevent double browser opening - Rename uploadFile to putBlob, enable remote url - Send a header with version - Safeguard in webext against running in upend - Version bump webext - Stuff for mozilla webext packaging - Bump webext version - Fancify readme - Links in readme - Switch to using git cliff for changelogs - Release ### Operations & Development - Update clean task - Fix deps - Switch from Gitlab CI to Woodpecker, Taskfile fixes - Conditions on lints ### Refactor - Unify put input handling - Move tools/upend_cli functionality to the cli crate - Various - Move entitylisting to upend.js, dry, formatting - Add api client to upend.js - Use global reqwest client ### Styling - !is_release instead of is_debug - Smaller add icon - Improve browse icons - Add text to iconbuttons - Also show attr in type ## [0.0.70] - 2023-03-08 ### Bug Fixes - Always resolve UpObject when banner (check for blobbiness) - Unnecessary underline on UpObject banner - Endless loading on group preview - Selector mouse behavior, focus event - Inflight queryonce cache never revalidated - Rotate models right side up in (pre)view - Audio regions editable state - Blobpreview endless loading state - Image overflow in inspect detail - Various audioviewer bugs & improvements - Only record annotation color if not default - Blob viewer jumping - Resize AudioViewer - Detail mode ### Features - Add arrow key support to Selector - Double click on surface to add a point - Update surface URL when changing axes - Shift+click to add on right - Resizable columns ### Miscellaneous - Rename /media to /assets - Add example vault with 1 video - Add blobpreview, blobviewer video stories - Add vertical video + stories - Add example images - Add image stories for blobs - Add upobjectcard story, routerdecorator, link upobject story - Add Gallery story - Stories - Add Selector stories - Add Surface story - Add --reinitialize to sb command - Fix Surface story, add prefilled story - Add example files (2 photos, 2 stls) - Add 3d model stories - Warn when reinitializing - Add audio example, update ATTRIBUTION - Run release version of upend for storybook - Add RouterDecorator to BlobViewer story - Add yarn interactive tools - Release upend version 0.0.70 ### Refactor - Gallery thumbnail is now UpObjectCard ### Styling - No min-height for blob preview (?) ### Build - Storybook init ## [0.0.69] - 2023-01-15 ### Bug Fixes - [UI]: Don't update last/num visited if object is nonexistent - [UI]: Simplify BlobPreview markup, improve loading state - [UI]: Jobs update after reload triggered - [API]: Malformed entries aren't parsed as invariants during PUT - [ERROR]: Address deserialize errors include origin - [UI]: Footer space, markup - [UI]: Selector initial attribute value - [UI]: Surface inaccuracies, zoom reacts everywhere, points are centered ### Features - [UI]: Footer is persistent and can be hidden - [CLI]: Initial upend cli - Add cli addressing from `sha256sum` output - Add attribute view - Add rudimentary surface view - [UI]: Reverse surface Y scale, add loading state - Add current position display to Surface view ### Miscellaneous - [UI]: Adjust OFT features on videoviewer timecode - [UI]: Footer is hidden by default - Ignore rel-noreferrer - [UI]: Remove unnecessary imports ### Performance - [UI]: Supply labels from sort keys - Load d3 asynchronously ### Styling - [UI]: Switch Inter for IBM Plex - [UI]: Switched root font size from 15px to 16px ## [0.0.68] - 2022-12-22 ### Bug Fixes - Add custom logging handler (elucidate db locked errors?) - .wavs also detected as audio - Add proper targets to db logging, panic in debug mode - Format duration, also change formatting to xhxmxs - Duration attribute label - Target - Tracing target has to be static - Properly set WAL, eliminate (?) intermittent `database locked` errors - Box-sizing: border-box - Centered spinner on image previews - Placeholder width/height for spinner in blobpreview - .identified on UpObject - Border on play icon - Spinner centering - Update vite, fix dynamic imports - Unsupported display in detail mode - Gallery without sort ### Features - Add --allow-hosts CLI option - Add i18next, move attribute labels - Supported format detection in videoviewer - Loading state in videoviewer preview ### Miscellaneous - Log instrumenting - Don't package by default - Log -> tracing - Update web deps - Css fix ### Operations & Development - Make makefile more command-y ### Performance - Only resort once initial query has finished - Only show items in gallery once sorted - Enable lazy loading of images (?) ### Ui - Replace spinner ## [0.0.67] - 2022-10-23 ### Bug Fixes - Icons when ui served from server - Continue with other extractors when one fails - Audio detection of .oggs - Also loading peaks - Add .mp3 override to type detection - .mp3 override in media extractor ### Features - Download blob with identified filename - Add media (duration) extractor - Add duration display for audio preview ### Miscellaneous - Unused css rule - Shut up svelte check - Enable tracing span for extractors - Change extractor error level to debug, add extractor markers ### Refactor - Unify media type detection ## [0.0.66] - 2022-10-22 ### Bug Fixes - Confirm before generating audio peaks in browser, avoid lock-ups in Chrome - Remove BlobViewer duplicity in Inspect ### Miscellaneous - --ui-enabled actually does something - 32 max port retries - Disallow `console.log` ## [0.0.65] - 2022-10-21 ### Bug Fixes - Skip empty files on vault update - Update tests to handle Skipped paths - Use `cargo clean` in Makefile/CI - Markdown display - Forgot to denote `TYPE` as denoting to types - Blobpreview sizing - Blobpreview hashbadge more in line with handled - Minor css fixes ### Features - Add cli option to open executable files - Group preview - Recurse up to 3 levels resolving group previews - On group preview, prefer objects with previews ### Miscellaneous - Put config into its own struct - Update address constants (fix file detection, group adding) - Separate clean commands in Makefile - Switch from `built` to `shadow_rs` ## [0.0.64] - 2022-10-16 ### Bug Fixes - Update project url, fix tests - Add global locks to db, fix sqlite errors (?) - Do not needlessly trigger drop handler UI - Use Gallery in Search, order by match order - Remember atttributeview state in search - Only get() connection in UpEndConnection when necessary - Video loading state in VideoViewer - HashBadge display in Chrome* - .avi previews as video - VIdeoViewer play after click - VIdeoViewer size in detail - Limit thumbnail generation to 1 thread per image - Lint due to `NodeJS` types - Consistent font sizing of timecode - VideoViewer vertical thumbnails - Reenable locks - Reenable initial quick vault scan - Restore store stats functionality somewhat - Limit previews to NUM_CPU/2 at a time, avoid brown lock-ups - Previews are cached re: mimetype as well - Create store dir if not exists - Don't run an initial full-hash update every start - Image thumbnails of audio (size query arg collision) - Actually remove objects on rescan - Svg (pre)views - No spurious "Database locked" on startup ### Features - Levenshtein sort entries in Selector - Use `match-sorter` instead of just levenshtein distance - Add timecode display to VideoViewer during previewing - [**breaking**] Switch from k12 to sha256, use proper multihash /base impl - [**breaking**] Multiple vaults - Add options to previews - If `audiowaveform` is present, generate & cache peaks on backend ### Miscellaneous - Add logging to fs tests - Fix frontend lint - Missing types, fix (some) Svelte check warnings - Switch from log to tracing - Log failed path updates immediately - Note to self about detail animations - Refactor widgets + gallery - VideoViewer preview optimization - Fix svelte warnings - Extract all API URLs into a global variable - Allow CORS from localhost - No default debug output in tests - Fix vault/db path semantics, previews in db path, `--clean` param - Lower default size&quality of image previews - Add logging - Fix typo ### Operations & Development - Update Makefile for new webui build also ### Performance - First check for files in /raw/ - Lower seek time for thumbnails - Correct `ffmpeg` params for efficient video previews - Implement speed-ups for vault db - Remove `valid` index on files - SQLite NORMAL mode on fs vault connections - Add checks to avoid duplicate metadata extraction ### Refactor - Use trait objects instead of FsStore directly ### Build - Switch from Rollup to Vite, upgrade Svelte ### Hotfix - Disable transactions for now ## [0.0.6] - 2021-06-19 ### Line-break - Anywhere for attr tables ## [0.0.3] - 2021-06-19 ### Refactor - Remove query_entries(), from_sexp into TryFrom, query_to_sqlite is a method ### Models - :File uses Hash instead of plain Vec