prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  [qt-journalist-updater] Add a time estimate to the update progress bar
  ## Description
  
  [See epic #3076 for primary feature, PRs for this ticket should go into `qt-journalist-updater`]
  
  We should add a reasonable time estimate to the update progress bar as the upgrade progresses
  
  ## User Stories
  
  As a journalist user, I want an estimate of how long it will take until updates are finished so that I can plan. 
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `journalist_gui/journalist_gui/strings.py`
  Content:
  ```
  1 window_title = 'SecureDrop Updater'
  2 update_in_progress = ("SecureDrop workstation updates are available! "
  3                       "You should install them now. If you don\'t want to, "
  4                       "you can install them the next time you reboot.")
  5 fetching_update = 'Fetching and verifying latest update...'
  6 updating_tails_env = 'Configuring local Tails environment...'
  7 finished = 'Update successfully completed!'
  8 finished_dialog_message = 'Updates completed successfully. Click OK to close.'
  9 finished_dialog_title = 'SecureDrop Workstation is up to date!'
  10 update_failed_dialog_title = 'Error Updating SecureDrop Workstation'
  11 update_failed_generic_reason = ("Update failed. "
  12                                 "Please contact your SecureDrop "
  13                                 "administrator.")
  14 update_failed_sig_failure = ("WARNING: Signature verification failed. "
  15                              "Contact your SecureDrop administrator "
  16                              "immediately.")
  17 tailsconfig_failed_sudo_password = 'Sudo password incorrect'
  18 tailsconfig_failed_generic_reason = ("Tails workstation configuration failed. "
  19                                      "Contact your administrator.")
  20 install_update_button = 'Install Now'
  21 install_later_button = 'Install Later'
  22
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/journalist_gui/journalist_gui/strings.py b/journalist_gui/journalist_gui/strings.py
  --- a/journalist_gui/journalist_gui/strings.py
  +++ b/journalist_gui/journalist_gui/strings.py
  @@ -2,8 +2,10 @@
   update_in_progress = ("SecureDrop workstation updates are available! "
                         "You should install them now. If you don\'t want to, "
                         "you can install them the next time you reboot.")
  -fetching_update = 'Fetching and verifying latest update...'
  -updating_tails_env = 'Configuring local Tails environment...'
  +fetching_update = ('Fetching and verifying latest update...'
  +                   ' (4 mins remaining)')
  +updating_tails_env = ('Configuring local Tails environment...'
  +                      ' (1 min remaining)')
   finished = 'Update successfully completed!'
   finished_dialog_message = 'Updates completed successfully. Click OK to close.'
   finished_dialog_title = 'SecureDrop Workstation is up to date!'
  
verification_info: {"golden_diff": "diff --git a/journalist_gui/journalist_gui/strings.py b/journalist_gui/journalist_gui/strings.py\n--- a/journalist_gui/journalist_gui/strings.py\n+++ b/journalist_gui/journalist_gui/strings.py\n@@ -2,8 +2,10 @@\n update_in_progress = (\"SecureDrop workstation updates are available! \"\n                       \"You should install them now. If you don\\'t want to, \"\n                       \"you can install them the next time you reboot.\")\n-fetching_update = 'Fetching and verifying latest update...'\n-updating_tails_env = 'Configuring local Tails environment...'\n+fetching_update = ('Fetching and verifying latest update...'\n+                   ' (4 mins remaining)')\n+updating_tails_env = ('Configuring local Tails environment...'\n+                      ' (1 min remaining)')\n finished = 'Update successfully completed!'\n finished_dialog_message = 'Updates completed successfully. Click OK to close.'\n finished_dialog_title = 'SecureDrop Workstation is up to date!'\n", "issue": "[qt-journalist-updater] Add a time estimate to the update progress bar\n## Description\r\n\r\n[See epic #3076 for primary feature, PRs for this ticket should go into `qt-journalist-updater`]\r\n\r\nWe should add a reasonable time estimate to the update progress bar as the upgrade progresses\r\n\r\n## User Stories\r\n\r\nAs a journalist user, I want an estimate of how long it will take until updates are finished so that I can plan. \n", "before_files": [{"content": "window_title = 'SecureDrop Updater'\nupdate_in_progress = (\"SecureDrop workstation updates are available! \"\n                      \"You should install them now. If you don\\'t want to, \"\n                      \"you can install them the next time you reboot.\")\nfetching_update = 'Fetching and verifying latest update...'\nupdating_tails_env = 'Configuring local Tails environment...'\nfinished = 'Update successfully completed!'\nfinished_dialog_message = 'Updates completed successfully. Click OK to close.'\nfinished_dialog_title = 'SecureDrop Workstation is up to date!'\nupdate_failed_dialog_title = 'Error Updating SecureDrop Workstation'\nupdate_failed_generic_reason = (\"Update failed. \"\n                                \"Please contact your SecureDrop \"\n                                \"administrator.\")\nupdate_failed_sig_failure = (\"WARNING: Signature verification failed. \"\n                             \"Contact your SecureDrop administrator \"\n                             \"immediately.\")\ntailsconfig_failed_sudo_password = 'Sudo password incorrect'\ntailsconfig_failed_generic_reason = (\"Tails workstation configuration failed. \"\n                                     \"Contact your administrator.\")\ninstall_update_button = 'Install Now'\ninstall_later_button = 'Install Later'\n", "path": "journalist_gui/journalist_gui/strings.py"}], "after_files": [{"content": "window_title = 'SecureDrop Updater'\nupdate_in_progress = (\"SecureDrop workstation updates are available! \"\n                      \"You should install them now. If you don\\'t want to, \"\n                      \"you can install them the next time you reboot.\")\nfetching_update = ('Fetching and verifying latest update...'\n                   ' (4 mins remaining)')\nupdating_tails_env = ('Configuring local Tails environment...'\n                      ' (1 min remaining)')\nfinished = 'Update successfully completed!'\nfinished_dialog_message = 'Updates completed successfully. Click OK to close.'\nfinished_dialog_title = 'SecureDrop Workstation is up to date!'\nupdate_failed_dialog_title = 'Error Updating SecureDrop Workstation'\nupdate_failed_generic_reason = (\"Update failed. \"\n                                \"Please contact your SecureDrop \"\n                                \"administrator.\")\nupdate_failed_sig_failure = (\"WARNING: Signature verification failed. \"\n                             \"Contact your SecureDrop administrator \"\n                             \"immediately.\")\ntailsconfig_failed_sudo_password = 'Sudo password incorrect'\ntailsconfig_failed_generic_reason = (\"Tails workstation configuration failed. \"\n                                     \"Contact your administrator.\")\ninstall_update_button = 'Install Now'\ninstall_later_button = 'Install Later'\n", "path": "journalist_gui/journalist_gui/strings.py"}]}