These 56 commits are when the Protocol Buffers files have changed:
| Commit: | 5b2bc5e | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Implement full gettext-based translation framework and translate missing strings to Finnish and Chinese.
The documentation is generated from this commit.
| Commit: | fae9297 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Implement "version sets" (versioned media) - special folders that look like media items in Organizer "Version set" is a folder kind whose contents represent revisions of one media file, shown as a single media-style tile that opens its Active version, with a version dropdown in the player to switch between them. The feature lives mostly in the basic_folders organizer; common.proto and the core client stay organizer-agnostic via generic interfaces: Proto (additive): - common: Folder.preview_as_media_tile (render a folder as a media tile + media-only drop target); Visualization.Badge + repeated badges; openMediaFile(id, {headerHtml, keepHTML, preserveTime}) host fn. - organizer: on_media_file_deleted RPC. Organizer (basic_folders) — composes the primitives: - migration 0004; DbFolder.kind + active_media_file_id; is_version_set. - commands: set_folder_kind, make_versioned, set_active_version. - version-set tile (preview_as_media_tile + an openMediaFile open-action whose <select> switches version) and Manage view; vN / "vN of M" badges; active-version resolution; nested set previews as its active media, not a folder. - read-only render; write-path invariant repair (repair_version_sets) runs from on_media_file_deleted, at session start, and at startup: demote-on-subfolder, delete-when-empty. - move rules: media-only guard, active-follows-latest, active fallback on move-out, auto-delete empty set + redirect to parent. Client: - playerHeaderHtml store; openMediaFile(id, opts) renders organizer HTML in the NavBar title slot and optionally preserves timecode/playstate; collab disabled while a header is set. - FolderTile media-tile mode (reuses VideoTile + media-only drop guard); Badges.svelte (mini-badges); VideoPlayer queued/clamped seek. - player history: push only on entering the player so Back returns to the folder, not through versions. - restore the dragged item when a folder-into-version-set drop is rejected. Server: del_media_file_and_cleanup fires on_media_file_deleted; build.rs declares rerun-if-changed for the proto files. Also fixes: breadcrumb mislabelling the current folder as 'Home'; the missing-conversion popup on media tiles.
| Commit: | 2660588 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Add optional external notification hook for comment/message/media events Off by default; runs a user script (event in env, JSON on stdin) via a queued worker. Renames push_notify_message -> push_user_message.
| Commit: | 3b6aa4f | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Add OnMediaFileIngestedRequest to server->org proto, so basic_folders can notify ingested videos. Bump to v0.10.0
| Commit: | b5c79fb | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Add support for X-Remote-User-Can-Upload. Also pass all X-Remote-* HTTP headers to Organizer by default.
| Commit: | a69ffd4 | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Check Client version against Server version on connect
| Commit: | f2d8b9e | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Fix collab mode regression
| Commit: | bb27986 | |
|---|---|---|
| Author: | elonen | |
Implement subtitle info edit UI
| Commit: | 4629dbc | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Implement subtitle upload and delete
| Commit: | 43dbea9 | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Add 'subtitles' table to the server DB schema
| Commit: | 3b5bfbb | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Implement DB migration dependency solver. Also restore entire database file from backup if foreign key checks fail after all migrations have been applied instead of rolling back on individual migrations, because main server migrations might break foreign keys for Organizer tables, and need to be fixed with Organizer migrations afterwards => cannot assume FKs are ok after every single migration anymore.
| Commit: | b9b17d0 | |
|---|---|---|
| Author: | elonen | |
Improve progress reporting, show status on icons
| Commit: | af4d964 | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Implement transcoding and thumbnailing for audio and images
| Commit: | f621a5a | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Add 'media_type' table to DB schema, rename 'videos' to 'media_files'
| Commit: | 6ee2841 | |
|---|---|---|
| Author: | elonen | |
Attempt at improving client history API interaction
| Commit: | 02d9d3d | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Add browser history navigation support to organizer generated pages
| Commit: | fdc9466 | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Improve DB and error handling for organizer
| Commit: | b9c4c87 | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Add 'users' table to enforce fk relations. Pass admin status in auth HTTP headers.
| Commit: | 0351b97 | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Basic_folders: Add user folder management UI for admin
| Commit: | 69c5b4f | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Remove broken transaction funcs from Organizer gRPC API. Improve DB concurrency.
| Commit: | c59bcaf | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Remove the overengineered PropNode/PropEdge abstraction
| Commit: | 3efc862 | |
|---|---|---|
| Author: | elonen | |
Implement working folder plugin in Python
| Commit: | 0454ea5 | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Add stubs for Organizer database migrations, logic not actually implemented yet
| Commit: | f029e93 | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Organizer: working move and reorder
| Commit: | b010e9c | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Use Protobuf messages for client->server calls, too
| Commit: | 283bb9a | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Working folder navigation + breadcrumbs
| Commit: | 1e97703 | |
|---|---|---|
| Author: | elonen | |
Rename incorrect ChildOf/ParentOf to ChildIs/ParentIs. Remove default organizer user nodes + owner edges for now.
| Commit: | 2f58d52 | |
|---|---|---|
| Author: | elonen | |
Rust organizer: use guard for transaction begin/rollback
| Commit: | de4edc6 | |
|---|---|---|
| Author: | elonen | |
| Committer: | elonen | |
Add a stub Python version of default organizer. Minor org<>srv integration tweaks.
| Commit: | 781eb34 | |
|---|---|---|
| Author: | Jarno Elonen | |
Add support for organizer unit testing. Fix some related race conditions.
| Commit: | c92ee61 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Add singleton support to PropNode, and implement some folder ops for example Organizer
| Commit: | 62effba | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Implement popup actions over folder listing
| Commit: | 9dd687c | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Support for looping playback in GUI & collab. Closes #34
| Commit: | 74a74b2 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Add transactions to DB interface
| Commit: | 112863d | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Rename UserInfo fields 'username' and 'displayname' to 'id' and 'name'
| Commit: | 8a49197 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Implement cookies and the rest of organizer RPC endpoints Authorize HTTP uploads from organizer
| Commit: | f04caeb | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Add orig video download button to frontend. Close #32 A new download icon between share and collab icons in playback page's header is a href to original video file.
| Commit: | 3400628 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Disable video reordering by dnd unless explicitly enabled by organizer
| Commit: | c217973 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Implement DB upsert and delete for the organizer API
| Commit: | c4b09e4 | |
|---|---|---|
| Author: | Jarno Elonen | |
Rename proto3 field GraphObj.obj into GraphObj.id
| Commit: | 720fd97 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Implement proto3 DB read requests
| Commit: | 167754f | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Add draft Protobuf messages for database access
| Commit: | 6d9e7b1 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Refactor db: make 'video_hash' primary key 'id'. Split thumb_sheet_dims to cols, rows.
| Commit: | 7029cc6 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Split protobuf into multiple 'packages' (namespaces)
| Commit: | 7288068 | |
|---|---|---|
| Author: | Jarno Elonen | |
Split clapshot.proto into multiple files
| Commit: | b3517c2 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Replace all server->client JSON commands with protobuf Messages
| Commit: | 7ebdcbc | |
|---|---|---|
| Author: | Jarno Elonen | |
More proto3 migration and bug fixes
| Commit: | 5632717 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Always convert DB models to Protobuf instead of directly to JSON
| Commit: | 335e03e | |
|---|---|---|
| Author: | Jarno Elonen | |
Upgrade Svelte and TS. Use proto3 for Comments in API.
| Commit: | 20853a8 | |
|---|---|---|
| Author: | Jarno Elonen | |
Move rename/trash logic to server-side script. Replace Handlebars with plain JS
| Commit: | 6d5391c | |
|---|---|---|
| Author: | Jarno Elonen | |
Implement most Organizer authz hooks
| Commit: | eae81f7 | |
|---|---|---|
| Author: | Jarno Elonen | |
Define popup actions for Client on protobuf messages, too
| Commit: | 6c7b0e7 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Change client to use proto3 structures
| Commit: | 98391c5 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Move proto3 stuff to a separate library directory
| Commit: | 511ac70 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Make gRPC bidirectional
| Commit: | d522344 | |
|---|---|---|
| Author: | Jarno Elonen | |
| Committer: | Jarno Elonen | |
Add basic Rust-side grpc server