upend/CHANGELOG.md

12 KiB

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