[tor-commits] [Git][tpo/applications/mullvad-browser][mullvad-browser-128.1.0esr-14.0-1] 2 commits: fixup! Bug 42683: Create script to generate issue triage csv file from bugzilla query and git logs

Pier Angelo Vendrame (@pierov) git at gitlab.torproject.org
Tue Aug 13 07:34:19 UTC 2024



Pier Angelo Vendrame pushed to branch mullvad-browser-128.1.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser


Commits:
4e65b15b by Beatriz Rizental at 2024-08-13T09:34:08+02:00
fixup! Bug 42683: Create script to generate issue triage csv file from bugzilla query and git logs

- - - - -
7793d86c by Morgan at 2024-08-13T09:34:09+02:00
fixup! Adding issue and merge request templates

add QA issue templates for tor browser desktop and android

- - - - -


3 changed files:

- + .gitlab/issue_templates/QA - Android.md
- + .gitlab/issue_templates/QA - Desktop.md
- tools/torbrowser/generate-bugzilla-triage-csv.sh


Changes:

=====================================
.gitlab/issue_templates/QA - Android.md
=====================================
@@ -0,0 +1,71 @@
+Manual QA test check-list for major android releases. Please copy/paste form into your own comment, fill out relevant info and run through the checklist!
+<details>
+    <summary>Tor Browser Android QA Checklist</summary>
+```markdown
+# System Information
+
+- Version: Tor Browser XXX
+- OS: Android YYY
+- Device + CPU Architecture: ZZZ
+
+# Features
+
+## Base functionality
+- [ ] Tor Browser launches successfully
+- [ ] Connects to the Tor network
+- [ ] Localisation (Browser chrome)
+  - [ ] Check especially the recently added strings
+- [ ] Toolbars and menus work
+- [ ] Fingerprinting resistance: https://arkenfox.github.io/TZP/tzp.html
+- [ ] Security level (Standard, Safer, Safest)
+    - **TODO**: test pages verifying correct behaviour
+
+## Proxy safety
+- [ ] Tor exit test: https://check.torproject.org
+- [ ] Circuit isolation
+    - Following websites should all report different IP addresses
+    - https://ifconfig.io
+    - https://myip.wtf
+    - https://wtfismyip.com
+- [ ] DNS leaks: https://dnsleaktest.com
+
+## Connectivity + Anti-Censorship
+- [ ] Bridges:
+    - Bootstrap
+    - Browse: https://check.torproject.org
+    - [ ] Default bridges:
+        - [ ] obfs4
+        - [ ] meek
+        - [ ] snowflake
+    - [ ] User provided bridges:
+        - [ ] obfs4 from https://bridges.torproject.org
+        - [ ] webtunnel from https://bridges.torproject.org
+        - [ ] conjure from [gitlab](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/conjure/-/blob/main/client/torrc?ref_type=heads#L6)
+
+## Web Browsing
+- [ ] HTTPS-Only: http://http.badssl.com
+- [ ] .onion:
+    - [ ] torproject.org onion: http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion/
+    - [ ] Onion service errors
+        - [ ] invalid onion: http://invalid.onion
+        - [ ] onion offline: http://wfdn32ds656ycma5gvrh7duvdvxbg2ygzr3no3ijsya25qm6nnko4iqd.onion/
+        - [ ] onion baddssl: https://gitlab.torproject.org/tpo/applications/team/-/wikis/Development-Information/BadSSL-But-Onion
+        - **TODO** all the identity block states
+        - **TODO** client auth
+- [ ] **TODO**: .securedrop.tor.onion
+- [ ] **TODO**: onion-service alt-svc
+- [ ] HTML5 Video: https://tekeye.uk/html/html5-video-test-page
+    - [ ] MPEG4
+    - [ ] WebM
+    - [ ] Ogg
+- [ ] WebSocket Test: https://websocketking.com/
+
+## External Components
+- [ ] NoScript
+  - [ ] Latest Version: https://addons.mozilla.org/en-US/firefox/addon/noscript/
+  - [ ] Not removable from about:addons
+  - [ ] Tests: https://test-data.tbb.torproject.org/test-data/noscript/
+    - **TODO**: fix test pages
+```
+
+</details>


=====================================
.gitlab/issue_templates/QA - Desktop.md
=====================================
@@ -0,0 +1,160 @@
+Manual QA test check-list for major desktop releases. Please copy/paste form into your own comment, fill out relevant info and run through the checklist!
+
+<details>
+    <summary>Tor Browser Desktop QA Checklist</summary>
+
+```markdown
+# System Information
+
+- Version: Tor Browser XXX
+- OS: Windows|macOS|Linux YYY
+- CPU Architecture:
+- Profile: New|Old
+
+# Features
+
+## Base functionality
+- [ ] Tor Browser launches successfully
+- [ ] Connects to the Tor network
+    - [ ] Homepage loads:
+        - [ ] about:tor
+        - [ ] about:blank
+        - [ ] custom
+- [ ] Tor Browser loads URLs passed by command-line after bootstrapped
+- [ ] Localisation (Browser chrome)
+  - [ ] Language notification/message bar
+  - [ ] Spoof English
+  - [ ] Check especially the recently added strings
+- [ ] UI Customisations:
+    - [ ] New Identity
+        - [ ] Toolbar icon
+        - [ ] Hamburger menu
+        - [ ] File menu
+    - [ ] New circuit for this site
+        - [ ] Circuit display
+        - [ ] Hamburger menu
+        - [ ] File menu
+    - [ ] No Firefox extras (Sync, Pocket, Report broken site, Tracking protection, etc)
+    - [ ] No unified extensions button (puzzle piece)
+    - [ ] NoScript button hidden
+    - [ ] Context Menu Populated
+- [ ] Fingerprinting resistance: https://arkenfox.github.io/TZP/tzp.html
+- [ ] Security level (Standard, Safer, Safest)
+    - Displays in:
+        - toolbar icon
+        - toolbar panel
+        - about:preferences#privacy
+    - [ ] On switch, each UI element is updated
+    - [ ] On custom config (toggle `svg.disabled`)
+        - [ ] each UI element displays warning
+        - [ ] `Restore defaults` reverts custom prefs
+    - **TODO**: test pages verifying correct behaviour
+- [ ] New identity
+- [ ] Betterboxing
+    - [ ] Reuse last window size
+    - [ ] Content alignment
+    - [ ] No letterboxing:
+        - [ ]empty tabs or privileged pages (eg: about:blank, about:about)
+        - [ ] full-screen video
+        - [ ] pdf viewer
+        - [ ] reader-mode
+- [ ] Downloads Warning
+    - [ ] Downloads toolbar panel
+    - [ ] about:downloads
+    - [ ] Library window (<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>o</kbd>)
+- [ ] Drag and Drop protections:
+    - [ ] Dragging a link from a tab to another tab in the same window works
+    - [ ] Dragging a link from a tab to another tab in a separate window works
+    - [ ] Dragging a link into the library creates a bookmark
+    - [ ] Dragging a link from Tor Browser to Firefox doesn't work
+    - [ ] Dragging a link from Firefox to Tor Browser works
+    - [ ] Dragging a link from Tor Browser to another app (e.g., text editor) doesn't work
+    - [ ] Repeat with page favicon
+
+## Proxy safety
+- [ ] Tor exit test: https://check.torproject.org
+- [ ] Circuit isolation
+    - Following websites should all report different IP addresses
+    - https://ifconfig.io
+    - https://myip.wtf
+    - https://wtfismyip.com
+- [ ] DNS leaks: https://dnsleaktest.com
+- [ ] Circuit Display
+    - [ ] Website => circuit
+    - [ ] Remote PDF => circuit
+    - [ ] Remote image => circuit
+    - [ ] .onion Website => circuit with onion-service relays
+    - [ ] .tor.onion Website => circuit with onion-service relays, link to true onion address
+        - http://ft.securedrop.tor.onion
+    - [ ] Website in reader mode => circuit (same as w/o reader mode)
+    - [ ] Local image => no circuit
+    - [ ] Local SVG with remote content => catch-all circuit, but not shown
+    - [ ] Local PDF => no circuit
+    - [ ] Local HTML `file://` with local resources  => no circuit
+    - [ ] Local HTML `file://` with remote resources => catch-all circuit, but not shown
+
+## Connectivity + Anti-Censorship
+- [ ] Tor daemon config by environment variables
+    - https://gitlab.torproject.org/tpo/applications/team/-/wikis/Environment-variables-and-related-preferences
+- [ ] Internet Test ( about:preferences#connection )
+  - [ ] Fails when offline
+  - [ ] Succeeds when online
+- [ ] Bridges:
+    - Bootstrap
+    - Browse: https://check.torproject.org
+    - Bridge node in circuit-display
+    - Bridge cards
+    - Disable
+    - Remove
+    - [ ] Default bridges:
+        - [ ] Removable as a group, not editable
+        - [ ] obfs4
+        - [ ] meek
+        - [ ] snowflake
+    - [ ] User provided bridges:
+        - [ ] Removable and editable individually
+        - [ ] obfs4 from https://bridges.torproject.org
+        - [ ] webtunnel from https://bridges.torproject.org
+        - [ ] conjure from [gitlab](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/conjure/-/blob/main/client/torrc?ref_type=heads#L6)
+    - [ ] Request bridges...
+        - [ ] Removable as a group, but not editable
+        - [ ] Succeeds when bootstrapped
+        - [ ] Succeeds when not bootstrapped
+    - **TODO**: Lox
+- [ ] Connect Assist
+    - Useful pref: `torbrowser.debug.censorship_level`
+    - [ ] Auto-bootstrap updates Tor connection settings on success
+    - [ ] Auto-bootstrap restore previous Tor connection settings on failure
+
+## Web Browsing
+- [ ] HTTPS-Only: http://http.badssl.com
+- [ ] Crypto-currency warning on http website
+    - **TODO**: we should provide an example page
+- [ ] .onion:
+    - [ ] torproject.org onion: http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion/
+    - [ ] Onion-Location pill
+    - [ ] Client authentication
+        - You can create an ephemeral client-auth onion-service using [onion share](https://onionshare.org)
+    - [ ] Onion service errors
+        - [ ] invalid onion: http://invalid.onion
+        - [ ] onion offline: http://wfdn32ds656ycma5gvrh7duvdvxbg2ygzr3no3ijsya25qm6nnko4iqd.onion/
+        - [ ] onion baddssl: https://gitlab.torproject.org/tpo/applications/team/-/wikis/Development-Information/BadSSL-But-Onion
+        - **TODO** all the identity block states
+        - **TODO** client auth
+- [ ] **TODO**: .securedrop.tor.onion
+- [ ] **TODO**: onion-service alt-svc
+- [ ] HTML5 Video: https://tekeye.uk/html/html5-video-test-page
+    - [ ] MPEG4
+    - [ ] WebM
+    - [ ] Ogg
+- [ ] WebSocket Test: https://websocketking.com/
+
+## External Components
+- [ ] NoScript
+  - [ ] Latest Version: https://addons.mozilla.org/en-US/firefox/addon/noscript/
+  - [ ] Not removable from about:addons
+  - [ ] Tests: https://test-data.tbb.torproject.org/test-data/noscript/
+    - **TODO**: fix test pages
+```
+
+</details>


=====================================
tools/torbrowser/generate-bugzilla-triage-csv.sh
=====================================
@@ -158,7 +158,7 @@ printf "\n]\n" >> "${git_json}"
 query_tail="&f1=product&n1=1&o1=anyexact&v1=Thunderbird%2CCalendar%2CChat%20Core%2CMailNews%20Core&f2=target_milestone&o2=substring&v2=${firefox_version}&limit=0"
 
 bugzilla_query="https://bugzilla.mozilla.org/buglist.cgi?${query_tail}"
-bugzilla_json_query="https://bugzilla.mozilla.org/rest/bug?include_fields=id,summary${query_tail}"
+bugzilla_json_query="https://bugzilla.mozilla.org/rest/bug?include_fields=id,component,summary${query_tail}"
 
 wget "${bugzilla_json_query}" -O ${bugzilla_json}
 
@@ -174,13 +174,14 @@ jq -s '[ (.[0].bugs)[], (.[1])[] ] | group_by(.id) | map(.[0])' "${bugzilla_json
 # Generate Triage CSV
 #
 
-echo "\"Review\",,\"Bugzilla Bug\""
+echo "\"Review\",,\"Bugzilla Component\",\"Bugzilla Bug\""
 
-jq '. | sort_by(.id)[] | "\(.id)|\(.summary)"' ${union_json} \
-| while IFS='|' read -r id summary; do
+jq '. | sort_by([.component, .id])[] | "\(.id)|\(.component)|\(.summary)"' ${union_json} \
+| while IFS='|' read -r id component summary; do
 
     # bugzilla info
     id="${id:1}"
+    component="${component:0}"
     summary="${summary:0:-1}"
     summary=$(jq_unescape "${summary}")
     # short summary for gitlab issue title
@@ -207,6 +208,7 @@ jq '. | sort_by(.id)[] | "\(.id)|\(.summary)"' ${union_json} \
         echoerr "Skipped Bugzilla ${id}: ${summary_short}"
     else
         csv_summary=$(csv_escape "${summary}")
+        csv_component=$(csv_escape "${component}")
 
         # parent issue
         bugzilla_url="https://bugzilla.mozilla.org/show_bug.cgi?id=${id}"
@@ -221,7 +223,7 @@ jq '. | sort_by(.id)[] | "\(.id)|\(.summary)"' ${union_json} \
         create_issue=$(csv_escape "=HYPERLINK(\"${new_issue_url}\", \"New Issue\")")
         bugzilla_link=$(csv_escape "=HYPERLINK(\"${bugzilla_url}\", \"Bugzilla ${id}: ${csv_summary}\")")
 
-        echo "FALSE,\"${create_issue}\",\"${bugzilla_link}\","
+        echo "FALSE,\"${create_issue}\",\"${csv_component}\",\"${bugzilla_link}\","
     fi
 done
 



View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/b25077f3ffc02595e210766394483a0fb81eb43e...7793d86cad9074037b714b37217211bdfcab45cf

-- 
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/b25077f3ffc02595e210766394483a0fb81eb43e...7793d86cad9074037b714b37217211bdfcab45cf
You're receiving this email because of your account on gitlab.torproject.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20240813/58fa4de0/attachment-0001.htm>


More information about the tor-commits mailing list