# Changelog All notable changes to this project will be documented in this file. ## [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 Tasks - 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 ### 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 ### Ci - Update clean task - Fix deps - Switch from Gitlab CI to Woodpecker, Taskfile fixes - Conditions on lints ## [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 Tasks - 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 Tasks - [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 ### Wip - Multiple modes of display for surface ## [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 Tasks - Log instrumenting - Don't package by default - Log -> tracing - ... - Update web deps - Css fix ### Performance - Only resort once initial query has finished - Only show items in gallery once sorted - Enable lazy loading of images (?) ### Ci - Make makefile more command-y ### 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 Tasks - 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 Tasks - --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 Tasks - 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 Tasks - 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 ### 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 ### Ci - Update Makefile for new webui build also ### 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