Tomáš Mládek
bbcaa58dd1
All checks were successful
ci/woodpecker/tag/woodpecker Pipeline was successful
24 KiB
24 KiB
Changelog
All notable changes to this project will be documented in this file.
[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: 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)
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 offrom_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
andattribute
fromgetAddress
, 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]: ✨ allow initialization of wasm via wasm modules
- [JSLIB]: 🔧 moved wasm from dependencies to dev dependencies
- WEBUI: 🐛 add placeholder to indicate url pasting in entitylist
- [JSLIB]: 🚨 fix lint fail due to missing type-only imports
- [DB]: 🐛 fix join behavior
- [JSLIB]: 🧑💻 better error messages for api/query
- [DB]: 🐛 actually fix join behavior, improve performance as well
- WEBUI: 🚑 fix upend wasm import
- [JSLIB]: 🔧 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
- 📦 upend jslib + wasm can be used from node
- [JSLIB]: ✨ add basic query builder
- [JSLIB]: ♻️ eav helper getters for uplisting
- [JSLIB]: ✨ getRaw() just returns URL, fetchRaw() fetches the actual content
- WEBUI: 🚧 selection via ctrl+drag
- WEBUI: 🚧 generic
BrowseColumn
, EntryView acceptsentities
- WEBUI: 🚧 base of select all
- WEBUI: 🚧 allow selection removal
- WEBUI: ✨ batch adding/removing groups
- Add selection & batch operations
- WEBUI: ✨ 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]: ♻️ tidy up tsconfig.json
- 🧑💻 add earthly to recommended extensions
- [JSLIB]: 🔧 tidy up gitignore
- [JSLIB]: ♻️ use wasmlib from npm
- [JSLIB]: 🔖 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 localrust-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]: 🚀 publish jslib on tag
- [JSLIB]: ✅ test jslib in CI
- [JSLIB]: ✨ publish jslib whenever version is bumped
- [JSLIB]: 🚀 publish wasmlib to repo
- [JSLIB]: 🐛 fix earthly publish target
- 👷 sequential js publish
- [JSLIB]: 🚑 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
- 🚚 rename jslib to use
@upnd
scope - [JSLIB]: ♻️ 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]: 🐛
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
toshadow_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