openvibers/openvibe.mediahub Commits

Home: drop and go, find anything, a bin for 30 days (#311)

OP OpenVibers committed 6 days ago · 864033f1f0 · 2 files, +7 −4

{
	"message": "API rate limit exceeded for user ID 279216588. If you reach out to GitHub Support for help, please include the request ID A7EE:13C84A:157145:264B6B:6AEF1A5F and timestamp 2026-11-07 12:32:31 UTC. For more on scraping GitHub and how it may affect your rights, please review our Terms of Service (https:\/\/docs.github.com\/en\/site-policy\/github-terms\/github-terms-of-service)",
	"documentation_url": "https://docs.github.com/en/rest/using-the-rest-api/getting-started-with-the-rest-api#rate-limiting",
	"status": "403"
}

Changes

ddiff --git a/server/http/pages.js b/server/http/pages.js
iindex 70250e8..8b060ed 100644
---- a/server/http/pages.js
++++ b/server/http/pages.js
@@@ -217,7 +217,10 @@ ${raw(showcase.features({
{ icon: 'ov:account', title: 'You choose who opens it', text: 'Named OpenVibe accounts, anyone signed in, or a public download page for anyone with the link.' },
{ icon: 'ov:shield', title: 'Reports that act', text: REPORT_NOTE },
{ icon: 'ov:drive', title: 'Backups', text: 'Keep a folder on your computer copied into your drive with the openvibe-download command. It sends only what is new or changed.' },
-- { icon: 'ov:plug', title: 'An API', text: 'Everything the pages do, over /api/v1 with your OpenVibe sign-in: upload, list, share and revoke.' },
++ { icon: 'ov:plug', title: 'An API', text: 'Everything the pages do, over /api/v1 with your OpenVibe sign-in: upload, list, share, move, rename and revoke.' },
++ { icon: 'ov:download', title: 'Drop and go', text: 'Drop files anywhere on the page, many at once. A tray shows each one going up, and the list updates when they are in.' },
++ { icon: 'ov:search', title: 'Find anything', text: 'Search every folder by name. Sort by newest, name or size, and see your files as a grid of pictures or a list.' },
++ { icon: 'ov:history', title: 'A bin for 30 days', text: 'Delete puts a file in the bin, its links stopped at once. Restore it any time in 30 days, or empty the bin yourself.' },
],
}))}
${raw(showcase.steps({
@@@ -225,7 +228,7 @@ ${raw(showcase.steps({
lede: 'Four steps, and the last one is the point.',
items: [
{ title: 'Sign in', text: 'OpenVibe.Network signs you in. Your session stays in an httpOnly cookie on this site.' },
-- { title: 'Upload', text: `Drop a file on Your files. A big one goes up in parts with a progress meter, up to ${gb(config.quotas.maxFileBytes)}.` },
++ { title: 'Upload', text: `Drop files anywhere on Your files, or tap New. Big ones go up in parts, each with its progress in the tray, up to ${gb(config.quotas.maxFileBytes)} a file.` },
{ title: 'Share', text: `Make a link that expires in an hour to ${rules.EXPIRY_MAX_HOURS / 24} days, public or for signed-in people, and optionally name the OpenVibe usernames allowed to open it.` },
{ title: 'Take it back', text: 'Revoke a link and it stops working at once. Delete a file and its shares go with it, and Media is asked to drop the bytes.' },
],
ddiff --git a/test/perf-budget.test.js b/test/perf-budget.test.js
iindex eb114d2..c1f1a46 100644
---- a/test/perf-budget.test.js
++++ b/test/perf-budget.test.js
@@@ -14,9 +14,9 @@ const { measure, check, format } = require('openvibe-shared/perf-budget');
// Budgets are set from the numbers measured on 2026-10-08 (the real ones, fresh database), rounded up with about 10%
// headroom; file counts are the measured counts and external files stay at 0.
const BUDGETS = {
-- htmlRawKB: 53, // 52.5 (2026-11-02: the home's own picture, the drive in miniature, MOTION-1); 50.3 with openvibe-shared 4.66.0: the mark with depth and motion, ov-fx loaded on request (2026-10-31); 49.4 with openvibe-shared 4.53.0: the footer's columns fold on phones (2026-10-30); 44.2 with the Part of OpenVibe section (Shared 4.13, 2026-10-26); measured 39.4 on 10-22: the home gained the backup command, the limits table, six questions (and their
++ htmlRawKB: 57, // 56.4 (2026-11-07: the home lists nine features, drop and go, find anything and the bin added); 52.5 (2026-11-02: the home's own picture, the drive in miniature, MOTION-1); 50.3 with openvibe-shared 4.66.0: the mark with depth and motion, ov-fx loaded on request (2026-10-31); 49.4 with openvibe-shared 4.53.0: the footer's columns fold on phones (2026-10-30); 44.2 with the Part of OpenVibe section (Shared 4.13, 2026-10-26); measured 39.4 on 10-22: the home gained the backup command, the limits table, six questions (and their
// FAQPage JSON-LD) and next steps on the network; was 29.7 at 27.5
-- htmlBrotliKB: 12, // 10.6 openvibe-shared 4.22.0: the navbar's magnifier search button and More dropdown (search.js and loading.js load only when used); 9.4 on 10-22 (the same sections); was 7.7 at 7.1
++ htmlBrotliKB: 12.6, // 12.3 (2026-11-07: nine features on the home); 10.6 openvibe-shared 4.22.0: the navbar's magnifier search button and More dropdown (search.js and loading.js load only when used); 9.4 on 10-22 (the same sections); was 7.7 at 7.1
jsFiles: 6, // 6: /shared/ov-glyphs.js in place of Font Awesome's stylesheet (2026-11-01, plan L54 K4); was: 5 (theme-loader, web-runtime, navbar, footer, boost: openvibe-shared/shell)
jsRawKB: 401, // 400.5 with openvibe-shared 4.80.0: 33 more solid glyphs in ov-glyphs.js (2026-11-01); 393.9 with openvibe-shared 4.77.0: the navbar loads the glyphs when a page first shows an icon (2026-11-01); 393: 393: /shared/ov-glyphs.js in place of Font Awesome (2026-11-01, plan L54 K4; Font Awesome's CSS and font were external, uncounted, and heavier); 328.2 openvibe-shared 4.70.0 (2026-11-01: the app bar, busy(), skeletons, view transitions); 324.8 with openvibe-shared 4.66.0: the mark with depth and motion, ov-fx loaded on request (2026-10-31); 323.2 with openvibe-shared 4.59.0: the Pair mark beside the name, set in the brand face (2026-10-31); 321.1 with openvibe-shared 4.53.0: the footer's columns fold on phones (2026-10-30); 318.1 with openvibe-shared 4.52.0: the Dock's loader and its Chats tab (2026-10-30); 315.6 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 307.8 with openvibe-shared 4.43.0 (room.css carries the kit tokens, 4.39.1; the kit's 4.39.0 rules); 300.5 openvibe-shared 4.25.0: the menu's orb beside the brand, both balances on phones, messages, the account sheet on phones and the bar stepping away on phones; 293 openvibe-shared 4.22.0: the navbar's magnifier search button and More dropdown (search.js and loading.js load only when used); 287.2 Shared 4.17.0: OpenCoins and Vibes chips (wallet: true) in the navbar; 273.2 with Shared 4.15.0 (2026-10-27: the compact footer opens into the whole one, the pulse line); 264.3 with Shared 4.13.0; 239.8
jsBrotliKB: 98, // 97.6 with openvibe-shared 4.80.0 (2026-11-01); 96.1 with openvibe-shared 4.77.0 (2026-11-01); 96: 96: /shared/ov-glyphs.js in place of Font Awesome (2026-11-01, plan L54 K4); 80.2 openvibe-shared 4.70.0 (2026-11-01: the app bar, busy(), skeletons, view transitions); 79.5 with openvibe-shared 4.59.0: the Pair mark beside the name, set in the brand face (2026-10-31); 78.2 with openvibe-shared 4.52.0: the Dock's loader and its Chats tab (2026-10-30); 77.6 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 76.1 with openvibe-shared 4.43.0 (room.css carries the kit tokens, 4.39.1; the kit's 4.39.0 rules); 74.2 openvibe-shared 4.25.0: the menu's orb beside the brand, both balances on phones, messages, the account sheet on phones and the bar stepping away on phones; 70.5 Shared 4.17.0: OpenCoins and Vibes chips (wallet: true) in the navbar; 67.9 Shared 4.15.0; 65.3 Shared 4.12.0: the light/dark switch, the seasonal mark and the theme pairs; 56.5