Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release securedrop-client 0.9.0 #1637

Closed
11 of 16 tasks
zenmonkeykstop opened this issue Mar 9, 2023 · 16 comments
Closed
11 of 16 tasks

Release securedrop-client 0.9.0 #1637

zenmonkeykstop opened this issue Mar 9, 2023 · 16 comments

Comments

@zenmonkeykstop
Copy link
Contributor

zenmonkeykstop commented Mar 9, 2023

This issue tracks the SecureDrop Client release 0.9.0. It will be organized by:

This release includes the following changes:

  • adds support for printing and exporting conversation transcripts, and for exporting full conversations
  • updates download time-outs to address Tor Network performance changes
  • adds status bar showing information on sync progress.
  • numerous bugfixes and improvements.

SecureDrop maintainers and testers: As you QA this release, please report back your testing results as comments on this ticket. File GitHub issues for any problems found, tag them "QA: Release", and associate them with the release milestone for tracking (or ask a maintainer to do so).

Test plan

Available below. Please post results as a comment to this issue.

Installing an RC in a production workstation:

  • shut down sd-app if it's running
  • download the securedrop testing key https://raw.githubusercontent.com/freedomofpress/securedrop/develop/securedrop/tests/files/test_journalist_key.sec in a networked VM
  • copy it to dom0 with "qvm-run --pass-io cat <keyfile> > testkey.sec" (qrexec policies prevent direct qvm-copy to sd-small-bullseye-template)
  • copy it to the small template with "qvm-copy-to-vm sd-small-bullseye-template testkey.sec"
  • in a small template terminal:
    • install the key with "cat QubesIncoming/dom0/testkey.sec | sudo apt-key add"
    • edit /etc/apt/sources.list.d/securedrop_workstation.list, changing apt.freedom.press to apt-test.freedom.press
    • run "sudo apt-get update"
    • run "sudo apt install --upgrade securedrop-client"
    • revert the apt config change to prevent any other packages from being updated from test repos
    • shutdown the small template
  • start the client as normal via the desktop icon.

Release tasks

  • Check if there are any security bug fixes waiting to be pulled into the RC
  • Check if there are any translations:
    • pending merge into main
    • pending inclusion as a supported language in MANIFEST.in
  • Update changelog
  • Create test plan
  • Build RC package
  • Begin formal QA using RC; increment RC and rebuild as needed
  • Build production package in standard build environment
  • Sign production package
  • Perform final pre-flight testing using apt-qa.freedom.press
    • Localization: In a dispVM, change your locale (e.g.: export LANG=es_ES.utf-8; dpkg-reconfigure locales), run the Client, and confirm that the application is translated.
  • Publish production package
  • Publicize release via support channels
  • Close [v0.9.0] set supported languages #1533
@eloquence
Copy link
Member

The changes in https://github.com/freedomofpress/securedrop-builder/pull/402/files moved the .desktop file to a new location, which has also been updated in the dom0 launcher here. If we release the Client without the changes in the dom0 launcher, the dom0 desktop shortcut will fail to launch the SecureDrop Client.

We either have to back out the rename for 0.9.0, or ship an RPM at the same time that includes the change. Even if we ship an RPM, we'd have to carefully think through the order of update operations to avoid first-run errors.

@zenmonkeykstop
Copy link
Contributor Author

Looks like the workstation rpm with the change, 0.7.1, was staging-only to unbreak testing against nightlies. It wasn't tagged and the commit wasn't recorded in the build log 😢 so we can't use it as is and would have to cut a new one anyway. My vote would be to back out the change for now.

@eaon
Copy link
Contributor

eaon commented Mar 13, 2023

I'd vote for releasing this with both the new .desktop and the old .desktop file (basically just reverting or not including #1601 in the release) cause then we can handle securedrop-workstation (and securedrop-updater) completely independently and not worry

@zenmonkeykstop
Copy link
Contributor Author

RC2 installed and the icon thing is sorted. Test plan also coming together so I think we're pretty much go for QA. Will add some notes on switching to the RC version in a prod workstation.

@rocodes
Copy link
Contributor

rocodes commented Mar 14, 2023

Test Plan

Instructions: It is helpful to have real-world scenarios simulated in the test plan, so if you don't get through every single Export or Download scenario, that's fine. You are encouraged to creatively test the interactions between features (eg by prompting a download and then exporting, or interrupting network connectivity, etc).

Basic acceptance test scenarios have not been enumerated, but can be found here if you are looking for a reference for expected client behaviour.

You will need a LUKS-encrypted Transfer Device and/or an SDW compatible printer to complete the export or print testing portions.

Test Environment

Use a modified prod setup as per parent comment.

Hardware: document your hardware specs here

Testing

PR: #1639

  • Clicking the SecureDrop icon on the desktop starts the Client

PR: #1531
PR: #1536

  1. Start the client in Portuguese:

    user@sd-app: LANG=pt_PT securedrop-client
    • The Client loads in Portuguese (Portugal)
    • Dates displayed in the source list are localized
    • Date displayed at the top of the conversation is localized
  • The Client loads in Chinese (Simplified):

    user@sd-app: LANG=zh_Hans securedrop-client

PR:
- #1604
- #1613

  1. Seed the server with at least one source with a few dozen messages including some unicode☃
  2. Start the Client
    • Confirm that the message "Retrieving N messages" is displayed when the files are being downloaded

PR: #1388

  1. Choose to "Download All Files"
    • Confirm that all the files for that source are displayed as "downloading…"
    • Confirm that all files are eventually downloaded
    • Attempting "Download all" in offline mode flashes message that sign-in is required

Export All/Export Transcript Assumptions (for general QA of export features):
- Export all and export transcript work in online and offline mode
- Error-handling (e.g. for wrong USB passphrase) is the same as with existing export

PR:
- #1582
- #1621
- #1624

  1. Choose to "Export Transcript"
    • Confirm that the transcript is exported, and contains all the messages
  2. Send a reply
  3. Choose to "Export Transcript" again
    • Confirm that the transcript that is exported includes the latest reply
  4. Restart the client in the pt_PT locale and attempt to export a transcript containing ☃ unicode chars
    • Confirm that the transcript is exported successfully

PR:
- #1627

  1. Select a source which files are not all downloaded

  2. Select "Export All Files and Transcript"

    • Confirm that a dialog indicates that not all files will be exported
    • Confirm that cancelling does that (nothing)
  3. Select "Export All Files and Transcript" again

    • Confirm that the same dialog is displayed
    • Confirm that continuing does display the usual export dialog
    • Confirm that export dialog title is translated when exporting a single file ("Preparing to export:…") (PR: Make dialog titles translatable; tweak Semgrep rules #1539)
    • Confirm that continuing does export the files that were downloaded and the transcript
    • Confirm that the exported transcript includes the latest messages and replies
  4. Download all the files

  5. Select "Export All Files and Transcript" once more

    • Confirm that no confirmation dialog is displayed this time, only the regular export dialog
    • Confirm that cancelling does that (nothing)
  6. Select "Export All Files and Transcript"

    • Confirm that no confirmation dialog is displayed this time, only the regular export dialog
    • Confirm that continuing does export the files that were downloaded and the transcript
    • Confirm that the exported transcript includes the latest messages and replies
  7. Select one file and export it:

    • Confirm that displays the usual export dialog
    • Confirm that export dialog title is translated when exporting a single file ("Preparing to export:…")
  8. Upload a large file from a source

  9. Select "Download All Files"...

  10. ...and choose "Export All Files and Transcript" before the download finishes

  • Confirm that a dialog indicates that not all files will be exported
  • Confirm that continuing does display the usual export dialog
  • Confirm that export dialog title is translated when exporting a single file
  1. restart the client in the pt_PT locale and select Export All on a source conversation including s ☃ unicode chars
  • Confirm that the files and transcript are exported successfully

  1. Upload a few files of different sizes (3kB, 1MB, 10MB) as a source
    • Confirm that you can download them as a journalist over Tor

PR: #1486

  1. Create a new source and submit a message.
  2. Log into the Client and wait for sync.
  3. Send a reply and wait for it to send.
  4. Disconnect sd-whonix from sys-firewall or run sudo service tor stop in sd-whonix.
  5. Send at least n >= 1 more replies.
  6. Quit the Client.
  7. Reconnect sd-whonix to sys-firewall or sudo service tor start in sd-whonix.
  8. Wait several seconds.
  9. Start the Client again.
  10. Log in again and wait for sync.
  11. Observe only the first message from step (5) has succeeded...
  12. ...and the rest are marked Failed to send.
  13. Repeat steps (1)‒(15), but log out (and back in) rather than quitting and restarting the Client.
  14. Observe only the first message from step (5) has succeeded...
  15. ...and the rest are marked Failed to send.

@cfm
Copy link
Member

cfm commented Mar 15, 2023

With securedrop-client 0.9.0-rc2+bullseye, a few test-plan nits, but no testing concerns!

Test Environment

  • Use a modified prod setup as per parent comment.

Hardware:

Qubes release 4.1.2 (R4.1)

Brand:        LENOVO
Model:        20W0CTO1WW
BIOS:        N34ET48W (1.48 )

Xen:        4.14.5
Kernel:        5.15.94-1

RAM:        48871 Mb

CPU:
  11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
Chipset:
  Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers [8086:9a14] (rev 01)
VGA:
  Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) (prog-if 00 [VGA controller])

Net:
  Intel Corporation Ethernet Connection (13) I219-V (rev 20)
  Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)

Testing

PR: #1639

  • Clicking the SecureDrop icon on the desktop starts the Client

securedrop-launcher.desktop is not usable under i3, but this worked nicely to start the SecureDrop Workstation preflight updater (I normally upgrade directly through Qubes Update):

[user@dom0 ~]$ $(cat ~/Desktop/securedrop-launcher.desktop | grep "^Exec=" | sed "s/Exec=//")

PR: #1531
PR: #1536

  1. Start the client in Portuguese:

    user@sd-app: LANG=pt_PT securedrop-client
    • The Client loads in Portuguese (Portugal)
    • Dates displayed in the source list are localized
    • Date displayed at the top of the conversation is localized

—where "localized" here means "adjusted for time-zone", per #1626 towards #1536.

  • The Client loads in Chinese (Simplified):

    user@sd-app: LANG=zh_Hans securedrop-client

PR:
- #1604
- #1613

  1. Seed the server with at least one source with a few dozen messages
sdadmin@app:~$ sudo -u www-data /var/www/securedrop/loaddata.py --source-count 2 --messages-per-source 12 --files-per-source 12 --replies-per-source 12
Created journalist (username=clarkkent, password=correct horse battery staple profanity oil chewy, otp_secret=JHCOGO7VCER3EJ4L, is_admin=False)
Created source 1/2 (codename: 'cosmos margarita conform reaffirm untoasted promoter connected', journalist designation 'grass-covered meat', files: 12, messages: 12, replies: 12)
Created source 2/2 (codename: 'goatskin pouring upturned extrovert laptop bullish grudge', journalist designation 'omnivorous confession', files: 12, messages: 12, replies: 12)
  1. Start the Client
    • Confirm that the message "Retrieving N messages" is displayed when the files are being downloaded

PR: #1388

  1. Choose to "Download All Files"
    • Confirm that all the files for that source are displayed as "downloading…"
    • Confirm that all files are eventually downloaded
    • Attempting "Download all" in offline mode flashes message that sign-in is required

Export All/Export Transcript Assumptions (for general QA of export features):
- Export all and export transcript work in online and offline mode
- Error-handling (e.g. for wrong USB passphrase) is the same as with existing export

PR:
- #1582
- #1621
- #1624

  1. Choose to "Export Transcript"
    • Confirm that the transcript is exported, and contains all the messages
  2. Send a reply
  3. Choose to "Export Transcript" again
    • Confirm that the transcript that is exported includes the latest reply

PR:
- #1627

  1. Select a source which files are not all downloaded
  2. Select "Export All Files and Transcript"
    • Confirm that a dialog indicates that not all files will be exported
    • Confirm that cancelling does that (nothing)

NB. Visible menu item is Export All.

  1. Select "Export All Files and Transcript" again

    • Confirm that the same dialog is displayed
    • Confirm that continuing does display the usual export dialog
    • Confirm that export dialog title is translated when exporting a single file ("Preparing to export:…") (PR: Make dialog titles translatable; tweak Semgrep rules #1539)
    • Confirm that continuing does export the files that were dowloaded and the transcript
    • Confirm that the exported transcript includes the latest messages and replies
  2. Download all the files

  3. Select "Export All Files and Transcript" once more

    • Confirm that no confirmation dialog is displayed this time, only the regular export dialog
    • Confirm that cancelling does that (nothing)
  4. Select "Export All Files and Transcript"

    • Confirm that no confirmation dialog is displayed this time, only the regular export dialog
    • Confirm that continuing does export the files that were dowloaded and the transcript
    • Confirm that the exported transcript includes the latest messages and replies
  5. Select one file and export it:

    • Confirm that displays the usual export dialog
    • Confirm that export dialog title is translated when exporting a single file ("Preparing to export:…")
  6. Upload a large file from a source

amnesia@amnesia:~$ dd if=/dev/urandom of=Tor\ Browser/10mb bs=1024 count=10000
10000+0 records in
10000+0 records out
10240000 bytes (10 MB, 9.8 MiB) copied, 0.127465 s, 80.3 MB/s
  1. Select "Download All Files"...
  2. ...and choose "Export All Files and Transcript" before the dowload finishes
  • Confirm that a dialog indicates that not all files will be exported
  • Confirm that continuing does display the usual export dialog
  • Confirm that export dialog title is translated when exporting a single file

amnesia@amnesia:~$ dd if=/dev/urandom of=Tor\ Browser/1mb bs=1024 count=1000
1000+0 records in
1000+0 records out
1024000 bytes (1.0 MB, 1000 KiB) copied, 0.0191366 s, 53.5 MB/s
amnesia@amnesia:~$ dd if=/dev/urandom of=Tor\ Browser/3kb bs=1024 count=3
3+0 records in
3+0 records out
3072 bytes (3.1 kB, 3.0 KiB) copied, 0.000355652 s, 8.6 MB/s
  1. Upload a few files of different sizes (3kB, 1MB, 10MB) as a source
    • Confirm that you can download them as a journalist over Tor

PR: #1486

  1. Create a new source and submit a message.
  2. Log into the Client and wait for sync.
  3. Send a reply and wait for it to send.
  4. Disconnect sd-whonix from sys-firewall or run sudo service tor stop in sd-whonix.
  5. Send at least n >= 1 more replies.
  6. Quit the Client.
  7. Reconnect sd-whonix to sys-firewall or sudo service tor start in sd-whonix.
  8. Wait several seconds.
  9. Start the Client again.
  10. Log in again and wait for sync.
  11. Observe only the first message from step (5) has succeeded...
  12. ...and the rest are marked Failed to send.
  13. Repeat steps (1)‒(15), but log out (and back in) rather than quitting and restarting the Client.
  14. Observe only the first message from step (5) has succeeded...
  15. ...and the rest are marked Failed to send.

@gonzalo-bulnes
Copy link
Contributor

gonzalo-bulnes commented Mar 15, 2023

No, but that's #1626 (review). Date time-zones are localized by #1626.

@cfm For extra clarity: are you pointing out at the fact that #1626/#1636 is/are missing from the list of PRs in that testing step (my mistake), or that the PR is missing from the release (would be unexpected)?

@gonzalo-bulnes
Copy link
Contributor

securedrop-launcher.desktop is not usable under i3, but this worked nicely to start the SecureDrop Workstation preflight updater (I normally upgrade directly through Qubes Update):

[user@dom0 ~]$ $(cat ~/Desktop/securedrop-launcher.desktop | grep "^Exec=" | sed "s/Exec=//")

You got out of your way to test this! The adjusted test plan seems sound to me 👍

@gonzalo-bulnes
Copy link
Contributor

gonzalo-bulnes commented Mar 15, 2023

—where "localized" here means "adjusted for time-zone", #1626 (review).

👍 Thanks @cfm. I was actually confused about that, thanks for pointing it out. Rewording: the timestamps/dates are still written "in English", but match your local time zone.

@zenmonkeykstop
Copy link
Contributor Author

zenmonkeykstop commented Mar 15, 2023

Test Plan

Test Environment

Use a modified prod setup as per parent comment.

Hardware: Lenovo X1 Carbon 6th-gen
Version: securedrop-client 0.9.0-rc2

Testing

PR: #1639

  • Clicking the SecureDrop icon on the desktop starts the Client

PR: #1531
PR: #1536

  1. Start the client in Portuguese:

    user@sd-app: LANG=pt_PT securedrop-client
    • The Client loads in Portuguese (Portugal)
    • Dates displayed in the source list are localized
    • Date displayed at the top of the conversation is localized
  • The Client loads in Chinese (Simplified):

    user@sd-app: LANG=zh_Hans securedrop-client

PR:
- #1604
- #1613

  1. Seed the server with at least one source with a few dozen messages
  2. Start the Client
    • Confirm that the message "Retrieving N messages" is displayed when the files are being downloaded

PR: #1388

  1. Choose to "Download All Files"
    • Confirm that all the files for that source are displayed as "downloading…"
    • Confirm that all files are eventually downloaded
    • Attempting "Download all" in offline mode flashes message that sign-in is required

Export All/Export Transcript Assumptions (for general QA of export features):
- Export all and export transcript work in online and offline mode
- Error-handling (e.g. for wrong USB passphrase) is the same as with existing export

PR:
- #1582
- #1621
- #1624

  1. Choose to "Export Transcript"
    • Confirm that the transcript is exported, and contains all the messages
  2. Send a reply
  3. Choose to "Export Transcript" again
    • Confirm that the transcript that is exported includes the latest reply

PR:
- #1627

  1. Select a source which files are not all downloaded

  2. Select "Export All Files and Transcript"

    • Confirm that a dialog indicates that not all files will be exported
    • Confirm that cancelling does that (nothing)
  3. Select "Export All Files and Transcript" again

    • Confirm that the same dialog is displayed
    • Confirm that continuing does display the usual export dialog
    • Confirm that export dialog title is translated when exporting a single file ("Preparing to export:…") (PR: Make dialog titles translatable; tweak Semgrep rules #1539)
    • Confirm that continuing does export the files that were downloaded and the transcript
    • Confirm that the exported transcript includes the latest messages and replies
  4. Download all the files

  5. Select "Export All Files and Transcript" once more

    • Confirm that no confirmation dialog is displayed this time, only the regular export dialog
    • Confirm that cancelling does that (nothing)
  6. Select "Export All Files and Transcript"

    • Confirm that no confirmation dialog is displayed this time, only the regular export dialog
    • Confirm that continuing does export the files that were downloaded and the transcript
    • Confirm that the exported transcript includes the latest messages and replies
  7. Select one file and export it:

    • Confirm that displays the usual export dialog
    • Confirm that export dialog title is translated when exporting a single file ("Preparing to export:…")
  8. Upload a large file from a source

  9. Select "Download All Files"...

  10. ...and choose "Export All Files and Transcript" before the download finishes

  • Confirm that a dialog indicates that not all files will be exported
  • Confirm that continuing does display the usual export dialog
  • Confirm that export dialog title is translated when exporting a single file

  1. Upload a few files of different sizes (3kB, 1MB, 10MB) as a source
    • Confirm that you can download them as a journalist over Tor

PR: #1486

  1. Create a new source and submit a message.
  2. Log into the Client and wait for sync.
  3. Send a reply and wait for it to send.
  4. Disconnect sd-whonix from sys-firewall or run sudo service tor stop in sd-whonix.
  5. Send at least n >= 1 more replies.
  6. Quit the Client.
  7. Reconnect sd-whonix to sys-firewall or sudo service tor start in sd-whonix.
  8. Wait several seconds.
  9. Start the Client again.
  10. Log in again and wait for sync.
  11. Observe only the first message from step (5) has succeeded...
  12. ...and the rest are marked Failed to send.
  13. Repeat steps (1)‒(15), but log out (and back in) rather than quitting and restarting the Client.
  14. Observe only the first message from step (5) has succeeded...
  15. ...and the rest are marked Failed to send.

@zenmonkeykstop
Copy link
Contributor Author

zenmonkeykstop commented Mar 15, 2023

One error hit so far with transcripts. See: #1643

Otherwise the test plan checks out!

@gonzalo-bulnes
Copy link
Contributor

Calling out #1643 as a release blocker. 🔥

And explicitly calling out #1644 and #1645 as not release blockers.

@rocodes
Copy link
Contributor

rocodes commented Mar 15, 2023

Print update: No issues printing transcripts (as long as avoiding #1643) on both an HP-4001dn and on Brother HL-2360DW.

@rocodes
Copy link
Contributor

rocodes commented Mar 16, 2023

Quick testing with RC3 indicates it does fix the transcript export/print crash issue. More testing TK.

@cfm
Copy link
Member

cfm commented Mar 16, 2023

With securedrop-client 0.9.0-rc3+bullseye, all tests except launch and LANG=zh_Hans conducted and passed under LANG=pt_PT. Skipped some tests not of interest between rc2 and rc3.

Test Environment

  • Use a modified prod setup as per parent comment.

Hardware:

Qubes release 4.1.2 (R4.1)

Brand:        LENOVO
Model:        20W0CTO1WW
BIOS:        N34ET48W (1.48 )

Xen:        4.14.5
Kernel:        5.15.94-1

RAM:        48871 Mb

CPU:
  11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
Chipset:
  Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers [8086:9a14] (rev 01)
VGA:
  Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) (prog-if 00 [VGA controller])

Net:
  Intel Corporation Ethernet Connection (13) I219-V (rev 20)
  Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)

Testing

PR: #1639

  • Clicking the SecureDrop icon on the desktop starts the Client

Same as #1637 (comment).


PR: #1531
PR: #1536

  1. Start the client in Portuguese:

    user@sd-app: LANG=pt_PT securedrop-client
    • The Client loads in Portuguese (Portugal)
    • Dates displayed in the source list are localized
    • Date displayed at the top of the conversation is localized
  • The Client loads in Chinese (Simplified):

    user@sd-app: LANG=zh_Hans securedrop-client

PR:
- #1604
- #1613

  1. Seed the server with at least one source with a few dozen messages including some unicode☃
  2. Start the Client
    • Confirm that the message "Retrieving N messages" is displayed when the files are being downloaded

PR: #1388

  1. Choose to "Download All Files"
    • Confirm that all the files for that source are displayed as "downloading…"
    • Confirm that all files are eventually downloaded
    • [skipped] Attempting "Download all" in offline mode flashes message that sign-in is required

Export All/Export Transcript Assumptions (for general QA of export features):
- Export all and export transcript work in online and offline mode
- Error-handling (e.g. for wrong USB passphrase) is the same as with existing export

PR:
- #1582
- #1621
- #1624

  1. Choose to "Export Transcript"
    • Confirm that the transcript is exported, and contains all the messages

Also confirmed that a transcript exported under LANG=pt_PT is identical to a transcript exported under the default locale en_US, including Unicode characters.

  1. Send a reply
  2. Choose to "Export Transcript" again
    • Confirm that the transcript that is exported includes the latest reply
  3. Restart the client in the pt_PT locale and attempt to export a transcript containing ☃ unicode chars
    • Confirm that the transcript is exported successfully

PR:
- #1627

  1. Select a source which files are not all downloaded

  2. Select "Export All Files and Transcript"

    • Confirm that a dialog indicates that not all files will be exported
    • Confirm that cancelling does that (nothing)
  3. Select "Export All Files and Transcript" again

    • Confirm that the same dialog is displayed
    • Confirm that continuing does display the usual export dialog
    • Confirm that export dialog title is translated when exporting a single file ("Preparing to export:…") (PR: Make dialog titles translatable; tweak Semgrep rules #1539)
    • Confirm that continuing does export the files that were downloaded and the transcript
    • Confirm that the exported transcript includes the latest messages and replies
  4. Download all the files

  5. Select "Export All Files and Transcript" once more

    • Confirm that no confirmation dialog is displayed this time, only the regular export dialog
    • Confirm that cancelling does that (nothing)
  6. Select "Export All Files and Transcript"

    • Confirm that no confirmation dialog is displayed this time, only the regular export dialog
    • Confirm that continuing does export the files that were downloaded and the transcript
    • Confirm that the exported transcript includes the latest messages and replies
  7. Select one file and export it:

    • Confirm that displays the usual export dialog
    • Confirm that export dialog title is translated when exporting a single file ("Preparing to export:…")
  8. Upload a large file from a source

  9. Select "Download All Files"...

  10. ...and choose "Export All Files and Transcript" before the download finishes

  • [skipped] Confirm that a dialog indicates that not all files will be exported
  • [skipped] Confirm that continuing does display the usual export dialog
  • [skipped] Confirm that export dialog title is translated when exporting a single file
  1. restart the client in the pt_PT locale and select Export All on a source conversation including s ☃ unicode chars
  • Confirm that the files and transcript are exported successfully

  1. Upload a few files of different sizes (3kB, 1MB, 10MB) as a source
    • [skipped] Confirm that you can download them as a journalist over Tor

PR: #1486

  1. Create a new source and submit a message.
  2. Log into the Client and wait for sync.
  3. Send a reply and wait for it to send.
  4. Disconnect sd-whonix from sys-firewall or run sudo service tor stop in sd-whonix.
  5. Send at least n >= 1 more replies.
  6. Quit the Client.
  7. Reconnect sd-whonix to sys-firewall or sudo service tor start in sd-whonix.
  8. Wait several seconds.
  9. Start the Client again.
  10. Log in again and wait for sync.
  11. [skipped] Observe only the first message from step (5) has succeeded...
  12. [skipped] ...and the rest are marked Failed to send.
  13. Repeat steps (1)‒(15), but log out (and back in) rather than quitting and restarting the Client.
  14. [skipped] Observe only the first message from step (5) has succeeded...
  15. [skipped] ...and the rest are marked Failed to send.

@gonzalo-bulnes
Copy link
Contributor

The release is done.

@eloquence eloquence unpinned this issue Mar 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants