Describe SealShare 2.4 on the website
A new "Download into a folder" feature card describes the folder download for large shares: the files saved one by one into a folder the recipient picks, in their folders, resuming after a broken connection, in Chrome and Edge on a computer. How it works, Files and folders (Browse Folder), Download limits (the hour starts again with every download) and ZIP download (progress and size) say what 2.4 changed, and the download screenshots' captions and alt texts match the page. Every screenshot is retaken: the upload page shows Browse Folder, the download page the file count, the total size and the folder download. The phone shots switch the folder download off, as real phones have no folder picker and desktop Chromium would otherwise show it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@@ -166,8 +166,11 @@ test('phone', function (string $theme) use ($files) {
|
|||||||
$password = visit(route('share.download', DemoData::PROTECTED_TOKEN, false));
|
$password = visit(route('share.download', DemoData::PROTECTED_TOKEN, false));
|
||||||
shoot(shotPage($password, 'phone', $theme), 'phone', $theme, '02-password');
|
shoot(shotPage($password, 'phone', $theme), 'phone', $theme, '02-password');
|
||||||
|
|
||||||
|
// Phones have no folder picker, so the page offers the ZIP there; desktop Chromium would offer the folder download.
|
||||||
$download = visit(route('share.download', DemoData::DELIVERY_TOKEN, false));
|
$download = visit(route('share.download', DemoData::DELIVERY_TOKEN, false));
|
||||||
shoot(shotPage($download, 'phone', $theme), 'phone', $theme, '03-download');
|
$page = shotPage($download, 'phone', $theme);
|
||||||
|
$page->script("Alpine.\$data(document.querySelector('[data-test=share-file-list]')).supported = false");
|
||||||
|
shoot($page, 'phone', $theme, '03-download');
|
||||||
|
|
||||||
$created = visit(route('share.created', DemoData::DELIVERY_TOKEN, false));
|
$created = visit(route('share.created', DemoData::DELIVERY_TOKEN, false));
|
||||||
$page = shotPage($created, 'phone', $theme);
|
$page = shotPage($created, 'phone', $theme);
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
@@ -274,7 +274,7 @@
|
|||||||
<li class="step">
|
<li class="step">
|
||||||
<span class="badge-icon badge-icon--tertiary" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-gem"/></svg><svg class="icon" aria-hidden="true"><use href="#i-download"/></svg></span>
|
<span class="badge-icon badge-icon--tertiary" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-gem"/></svg><svg class="icon" aria-hidden="true"><use href="#i-download"/></svg></span>
|
||||||
<h3 class="title">Download</h3>
|
<h3 class="title">Download</h3>
|
||||||
<p>Your customer opens the link and downloads single files or everything as a ZIP. Expired shares delete themselves.</p>
|
<p>Your customer opens the link and downloads single files, everything as a ZIP, or all of it straight into a folder. Expired shares delete themselves.</p>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
@@ -291,7 +291,7 @@
|
|||||||
<article class="feature">
|
<article class="feature">
|
||||||
<span class="badge-icon" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-drive-folder-upload"/></svg></span>
|
<span class="badge-icon" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-drive-folder-upload"/></svg></span>
|
||||||
<h3>Files and folders</h3>
|
<h3>Files and folders</h3>
|
||||||
<p>Drag & drop or browse; folders keep their structure. Files are encrypted in the browser and sent in chunks, with progress per file and a failed chunk retried on its own.</p>
|
<p>Drag & drop, or browse for files or a whole folder; folders keep their structure. Files are encrypted in the browser and sent in chunks, with progress per file and a failed chunk retried on its own.</p>
|
||||||
</article>
|
</article>
|
||||||
<article class="feature">
|
<article class="feature">
|
||||||
<span class="badge-icon badge-icon--secondary" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-sticky-note-2"/></svg></span>
|
<span class="badge-icon badge-icon--secondary" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-sticky-note-2"/></svg></span>
|
||||||
@@ -326,12 +326,17 @@
|
|||||||
<article class="feature">
|
<article class="feature">
|
||||||
<span class="badge-icon badge-icon--secondary" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-counter-5"/></svg></span>
|
<span class="badge-icon badge-icon--secondary" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-counter-5"/></svg></span>
|
||||||
<h3>Download limits</h3>
|
<h3>Download limits</h3>
|
||||||
<p>Close a share after a set number of downloads. The page tells recipients how many are left, and each one then has an hour for all the files and the ZIP.</p>
|
<p>Close a share after a set number of downloads. The page tells recipients how many are left; a recipient's download counts once, and their hour for the rest of the files starts again with every download.</p>
|
||||||
</article>
|
</article>
|
||||||
<article class="feature">
|
<article class="feature">
|
||||||
<span class="badge-icon badge-icon--tertiary" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-folder-zip"/></svg></span>
|
<span class="badge-icon badge-icon--tertiary" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-folder-zip"/></svg></span>
|
||||||
<h3>ZIP download</h3>
|
<h3>ZIP download</h3>
|
||||||
<p>Recipients download everything in one archive.</p>
|
<p>Recipients download everything in one archive, with its progress and size shown as it arrives.</p>
|
||||||
|
</article>
|
||||||
|
<article class="feature">
|
||||||
|
<span class="badge-icon badge-icon--tertiary" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-download"/></svg></span>
|
||||||
|
<h3>Download into a folder</h3>
|
||||||
|
<p>For large shares: the files are saved one by one into a folder the recipient picks, in their folders, and a broken connection resumes where it stopped. Single files resume too. In Chrome and Edge on a computer.</p>
|
||||||
</article>
|
</article>
|
||||||
<article class="feature">
|
<article class="feature">
|
||||||
<span class="badge-icon" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-delete-sweep"/></svg></span>
|
<span class="badge-icon" aria-hidden="true"><svg viewBox="0 0 100 100"><use href="#s-cookie-6"/></svg><svg class="icon" aria-hidden="true"><use href="#i-delete-sweep"/></svg></span>
|
||||||
@@ -446,11 +451,11 @@
|
|||||||
data-light-src="img/screenshots/desktop/light/04-download-800.webp" data-light-srcset="img/screenshots/desktop/light/04-download-1600.webp 1600w, img/screenshots/desktop/light/04-download-800.webp 800w"
|
data-light-src="img/screenshots/desktop/light/04-download-800.webp" data-light-srcset="img/screenshots/desktop/light/04-download-1600.webp 1600w, img/screenshots/desktop/light/04-download-800.webp 800w"
|
||||||
data-dark-src="img/screenshots/desktop/dark/04-download-800.webp" data-dark-srcset="img/screenshots/desktop/dark/04-download-1600.webp 1600w, img/screenshots/desktop/dark/04-download-800.webp 800w"
|
data-dark-src="img/screenshots/desktop/dark/04-download-800.webp" data-dark-srcset="img/screenshots/desktop/dark/04-download-1600.webp 1600w, img/screenshots/desktop/dark/04-download-800.webp 800w"
|
||||||
width="1512" height="982" loading="lazy" decoding="async"
|
width="1512" height="982" loading="lazy" decoding="async"
|
||||||
alt="The download page a recipient sees, listing the shared files and how many downloads are left">
|
alt="The download page a recipient sees, with the number of files and their size, the file list, the buttons to download everything into a folder or as a ZIP, and how many downloads are left">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<figcaption><strong>Your customer downloads</strong><span>Single files or everything as a ZIP, without an account.</span></figcaption>
|
<figcaption><strong>Your customer downloads</strong><span>Single files, everything into a folder or as a ZIP, without an account.</span></figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
@@ -523,7 +528,7 @@
|
|||||||
data-light-src="img/screenshots/phone/light/03-download-540.webp" data-light-srcset="img/screenshots/phone/light/03-download-1080.webp 1080w, img/screenshots/phone/light/03-download-540.webp 540w"
|
data-light-src="img/screenshots/phone/light/03-download-540.webp" data-light-srcset="img/screenshots/phone/light/03-download-1080.webp 1080w, img/screenshots/phone/light/03-download-540.webp 540w"
|
||||||
data-dark-src="img/screenshots/phone/dark/03-download-540.webp" data-dark-srcset="img/screenshots/phone/dark/03-download-1080.webp 1080w, img/screenshots/phone/dark/03-download-540.webp 540w"
|
data-dark-src="img/screenshots/phone/dark/03-download-540.webp" data-dark-srcset="img/screenshots/phone/dark/03-download-1080.webp 1080w, img/screenshots/phone/dark/03-download-540.webp 540w"
|
||||||
width="393" height="852" loading="lazy" decoding="async"
|
width="393" height="852" loading="lazy" decoding="async"
|
||||||
alt="The list of shared files on a phone, with the downloads left">
|
alt="The list of shared files on a phone, with their number and size and the downloads left">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<figcaption><strong>Download on the go</strong><span>Files and a ZIP of all of them.</span></figcaption>
|
<figcaption><strong>Download on the go</strong><span>Files and a ZIP of all of them.</span></figcaption>
|
||||||
|
|||||||