Proto commits in elonen/clapshot

These 51 commits are when the Protocol Buffers files have changed:

Commit:f2d8b9e
Author:elonen
Committer:elonen

Fix collab mode regression

The documentation is generated from this commit.

Commit:a69ffd4
Author:elonen
Committer:elonen

Check Client version against Server version on connect

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