Skip to content
This repository was archived by the owner on Mar 17, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
513 commits
Select commit Hold shift + click to select a range
f40d3f0
Merge pull request #122 from mozilla-rally/dependabot/npm_and_yarn/es…
Sep 13, 2021
7258bf4
Merge pull request #155 from mozilla-rally/dependabot/npm_and_yarn/es…
Sep 13, 2021
064200b
Merge pull request #169 from mozilla-rally/dependabot/npm_and_yarn/ro…
Sep 13, 2021
874d8b7
Bump @rollup/plugin-replace from 2.4.2 to 3.0.0
dependabot[bot] Sep 13, 2021
090ed92
Merge pull request #168 from mozilla-rally/dependabot/npm_and_yarn/ro…
Sep 13, 2021
86a6cec
Bump @rollup/plugin-commonjs from 19.0.0 to 20.0.0
dependabot[bot] Sep 13, 2021
98d30d4
Bump @mozilla/rally from 0.6.0 to 0.7.0
dependabot[bot] Sep 13, 2021
008b780
Bump web-ext from 6.1.0 to 6.4.0
dependabot[bot] Sep 13, 2021
032b5a2
Merge pull request #171 from mozilla-rally/dependabot/npm_and_yarn/ro…
Sep 13, 2021
3ee9be9
Merge pull request #172 from mozilla-rally/dependabot/npm_and_yarn/we…
Sep 13, 2021
dfb5f3a
Merge pull request #173 from mozilla-rally/dependabot/npm_and_yarn/mo…
Sep 13, 2021
90c05b8
Bump selenium-webdriver from 4.0.0-beta.3 to 4.0.0-rc-1
dependabot[bot] Sep 13, 2021
a24fa4a
upgrade to latest rally-sdk
rhelmer Sep 11, 2021
054ba92
prefer target name style test:integration over test-integration
rhelmer Sep 13, 2021
f4a24c6
need to build before lint, to ensure content scripts from dependencie…
rhelmer Sep 13, 2021
92e1f38
provide working examples for local emulators and rally-web-spike site
rhelmer Sep 16, 2021
c1d3b82
rebuild package-lock after rebase
rhelmer Sep 16, 2021
54fc4de
Merge pull request #166 from rhelmer/add-rally-web-platform-support
Sep 16, 2021
1c10038
Bump @rollup/plugin-node-resolve from 13.0.4 to 13.0.5
dependabot[bot] Sep 21, 2021
22dc47b
Bump rollup from 2.56.3 to 2.57.0
dependabot[bot] Sep 22, 2021
54ec924
Merge pull request #174 from mozilla-rally/dependabot/npm_and_yarn/se…
Sep 23, 2021
b93c577
Merge pull request #176 from mozilla-rally/dependabot/npm_and_yarn/ro…
Sep 23, 2021
739e370
Merge pull request #177 from mozilla-rally/dependabot/npm_and_yarn/ro…
Sep 23, 2021
21c02d6
Bump mocha from 9.1.1 to 9.1.2
dependabot[bot] Sep 27, 2021
b006ff6
Merge pull request #179 from mozilla-rally/dependabot/npm_and_yarn/mo…
Sep 28, 2021
5b050bc
Add a local-only "play-test" mode
rhelmer Sep 17, 2021
89419f5
add very basic examples for local data collection, and provide workin…
rhelmer Sep 17, 2021
8632161
ignore undefined constants that are provided by the build system
rhelmer Sep 17, 2021
3d6a123
bring docs up to date
rhelmer Sep 17, 2021
6955f01
remove console debug
rhelmer Sep 17, 2021
6a3b082
remove unused async
rhelmer Sep 17, 2021
ec4cf50
test extension opens its own tab now, and disable browser console sin…
rhelmer Sep 23, 2021
d65a577
remove unused vars causing lint error
rhelmer Sep 24, 2021
3b67641
add default tailwind css, need to add to build system
rhelmer Sep 24, 2021
36d135b
check in full tailwind css until build is ready
rhelmer Sep 24, 2021
b0f34c1
set initial state correctly
rhelmer Sep 24, 2021
470ce75
consistent formatting
rhelmer Sep 24, 2021
fa3cf20
remove copy of non-js files, we actually want to transform them now
rhelmer Sep 24, 2021
967764d
provide a toolbar icon to get back to options page
rhelmer Sep 24, 2021
ff4ec40
rename index.html to options.html
rhelmer Sep 24, 2021
d117bf1
generate default tailwind css during build, for now
rhelmer Sep 24, 2021
46e7bbd
point to in-progress rally-sdk PR, until that lands
rhelmer Sep 24, 2021
534c7e5
point to open PR of rally SDK, for now
rhelmer Sep 25, 2021
f4df53d
refactor out redundancy
rhelmer Sep 25, 2021
fe20fcb
dump as CSV instead of JSON, for use in Jupyter et al
rhelmer Sep 25, 2021
fb9df5b
point to open PR of rally SDK, for now
rhelmer Sep 25, 2021
a7ab3b8
point to official rally-sdk
rhelmer Sep 25, 2021
ee25941
bump to 0.8.0 for rally-sdk
rhelmer Sep 29, 2021
e958bd6
add tailwindcss dependency
rhelmer Sep 29, 2021
17c50a0
correct test target name
rhelmer Sep 29, 2021
6770c84
shrink toggle button slightly
rhelmer Sep 29, 2021
997b756
make download button slightly smaller
rhelmer Sep 29, 2021
f32c5b9
give cards more room
rhelmer Sep 30, 2021
ddfefa0
consistent card sizes
rhelmer Sep 30, 2021
03468d0
layout suggestions from https://github.com/mozilla-rally/study-templa…
rhelmer Sep 30, 2021
017a980
Merge pull request #175 from rhelmer/add-playtest-dev-mode
Sep 30, 2021
e10bc8f
Bump selenium-webdriver from 4.0.0-rc-1 to 4.0.0-rc-2
dependabot[bot] Sep 30, 2021
2187954
Bump @rollup/plugin-commonjs from 20.0.0 to 21.0.0
dependabot[bot] Oct 1, 2021
c3e07c5
Bump rollup from 2.57.0 to 2.58.0
dependabot[bot] Oct 1, 2021
f68e9f0
Merge pull request #182 from mozilla-rally/dependabot/npm_and_yarn/ro…
Oct 4, 2021
35d5aa8
Merge pull request #181 from mozilla-rally/dependabot/npm_and_yarn/ro…
Oct 4, 2021
8aef681
Merge pull request #180 from mozilla-rally/dependabot/npm_and_yarn/se…
Oct 4, 2021
1a5dcb2
set up jest+typescript and integration tests for the study template UI
rhelmer Sep 26, 2021
0c3d23e
use archived pageset
rhelmer Sep 26, 2021
2396491
add warc of rally.m.o for testing purposes
rhelmer Sep 26, 2021
a3ad66a
use local warc during tests
rhelmer Sep 26, 2021
1020ebf
lint should ignore webarchives
rhelmer Sep 26, 2021
aea719f
move ignore list to web-ext-config so it works for lint too
rhelmer Sep 27, 2021
e996d9d
use release Firefox, and install Chrome in CircleCI
rhelmer Sep 27, 2021
5dc7a9d
do not need JRE, yet anyway
rhelmer Sep 27, 2021
85146d6
run firefox in headless mode
rhelmer Sep 27, 2021
721d84b
add chromedriver, and modernize circleci config
rhelmer Sep 27, 2021
199877a
back out circle config changes,and add chrome deps
rhelmer Sep 27, 2021
a5fe69c
package developer extension for selenium tests
rhelmer Sep 27, 2021
cd1adf6
load browser polyfill for chrome, although web-science does not work …
rhelmer Sep 27, 2021
c6ef4c6
add shorter default timeout to driver.wait
rhelmer Sep 27, 2021
35244c6
remote debug logging
rhelmer Sep 27, 2021
ddf2a3e
point to in-progress PR of rally-sdk to see if tests pass
rhelmer Sep 27, 2021
132e3e9
have selenium store screenshots for debugging failures
rhelmer Sep 27, 2021
1823d2b
comment out final pause, see if it passes on circle
rhelmer Sep 27, 2021
c94c07a
download CSV
rhelmer Sep 28, 2021
c4b190a
upgrade to newer node on circle docker for fs.promises.rm
rhelmer Sep 28, 2021
2a92a3d
bump to 0.8.0 for rally-sdk
rhelmer Sep 29, 2021
73ad25e
start adding basic tests for CSV
rhelmer Sep 30, 2021
5feeb21
remove trap
rhelmer Sep 30, 2021
e7eec1e
Merge pull request #178 from rhelmer/update-integration-tests
Oct 4, 2021
68080c1
Bump chromedriver from 93.0.1 to 94.0.0
dependabot[bot] Oct 4, 2021
c56fd8f
Merge pull request #183 from mozilla-rally/dependabot/npm_and_yarn/ch…
Oct 5, 2021
a7e670d
Bump @mozilla/rally from 0.8.0 to 0.8.1
dependabot[bot] Oct 5, 2021
5e47e14
Merge pull request #184 from mozilla-rally/dependabot/npm_and_yarn/mo…
Oct 6, 2021
ad7db25
Bump @babel/preset-env from 7.15.6 to 7.15.8
dependabot[bot] Oct 6, 2021
4207897
Merge pull request #185 from mozilla-rally/dependabot/npm_and_yarn/ba…
Oct 7, 2021
6e7a302
Create story.md
marniepw Oct 13, 2021
9ab9564
Merge remote-tracking branch 'study-template/main' into add-playtest-…
rhelmer Dec 14, 2021
9f77b94
use tailwind-css and enable playtest UI
rhelmer Dec 14, 2021
e814a46
resolve conflict
rhelmer Dec 14, 2021
e55ff79
start using rally SDK
rhelmer Dec 21, 2021
33e48cc
hook up control panel
rhelmer Dec 21, 2021
d47cf6e
remove archived test site
rhelmer Dec 21, 2021
e0334e5
remove example js
rhelmer Dec 21, 2021
ee3c271
add glean, start integrating with playtest
rhelmer Dec 21, 2021
224d9ef
use searchUsagePings as namespace vs. pixel
rhelmer Dec 22, 2021
5630c1f
dev-mode rally ID should be all-0
rhelmer Dec 22, 2021
4e6e535
add basic glean config for testing
rhelmer Dec 22, 2021
2b64339
convert glean ping to CSV, discarding types
rhelmer Dec 22, 2021
5b2c948
store multiple pings in dev mode, and only store serp-visit pings
rhelmer Dec 22, 2021
89ea4cd
remove debug logging
rhelmer Dec 22, 2021
ce60bed
only send enrollment ping once
rhelmer Dec 22, 2021
9700901
more robust and simpler checks for playtest messages
rhelmer Dec 22, 2021
ef60ee2
set extension ID and homepage
rhelmer Dec 22, 2021
924aa4c
Add study pings.
knowtheory Dec 22, 2021
a333c35
Finalized treatment designs
kartkand Jan 3, 2022
8dacaa6
v1 functionality
kartkand Jan 3, 2022
dca33ca
interventionStartTime renamed to treatmentStartTime
kartkand Jan 3, 2022
63e16ed
isStageOne to isPhaseOne
kartkand Jan 3, 2022
6bd6d63
Tracked online services markdown file
kartkand Jan 7, 2022
71e7b29
Content scripts to remove and replace Google self preferenced results…
kartkand Jan 22, 2022
7f2a965
phase 2 functionality nearly complete
kartkand Jan 31, 2022
3c4db05
documentation for selfPreferencing.ts and slight modifications
kartkand Jan 31, 2022
71f4199
Merge branch 'main' into add-playtest-mode
Feb 1, 2022
ea7ce38
Merge pull request #52 from rhelmer/add-playtest-mode
Feb 1, 2022
cad57fd
Minor fixes
kartkand Feb 2, 2022
9c17343
Never change participant's homepage if they have multiple homepages
kartkand Feb 2, 2022
0b42a19
Minor fixes
kartkand Feb 4, 2022
8eaec30
Online service visit collection and navigational query functionality
kartkand Feb 6, 2022
53c9d74
Updated comment for alaska air metadata
kartkand Feb 6, 2022
0c61eaa
navigation query match terms combined into RegEx rather than manually…
kartkand Feb 9, 2022
5af748f
Instrumentation for shopping self preferencing and popular ecommerce …
kartkand Feb 12, 2022
b7bebac
Added Glean functionality for project
kartkand Feb 20, 2022
e147e6e
Updates to SERP content scripts
kartkand Feb 20, 2022
b110f5e
All Glean ping types are exported to CSV now instead of just serp vis…
kartkand Feb 22, 2022
9486eb3
Simplifying integration test to just make sure extension installs
kartkand Feb 22, 2022
2abde28
Added safety check for hardcoded 0 index in exportDataAsCsv
kartkand Feb 22, 2022
75ce152
Added descriptions to data documentation pings.yaml and metrics.yaml …
kartkand Feb 22, 2022
6caf591
Added popular brands associated with hotel conglomerates in navigatio…
kartkand Feb 22, 2022
63d61ac
Fixed documentation for confirmationReferrerIncludesStringArray
kartkand Feb 22, 2022
c64a6b0
Updated Glean output data doc and small fixes to metrics.yaml
kartkand Feb 22, 2022
efd9699
Minor changes
kartkand Feb 22, 2022
116f09e
Typesafing Glean with getPositiveInteger and ternary operators
kartkand Feb 25, 2022
c1d12f6
Updating choice ballot data tracking so that each ballot attempt has …
kartkand Feb 25, 2022
5579abf
Notice and choice ballot send regular attention and dwell time update…
kartkand Feb 26, 2022
241d7d6
Fixed ZillaSlab font location in style.css
kartkand Feb 26, 2022
d750001
Modify generation of replacement result
kartkand Mar 3, 2022
5bc9766
Don't consider missing word links in an organic search result to be o…
kartkand Mar 3, 2022
6d14f6a
Not passing Rally object to StudyModule anymore
kartkand Mar 7, 2022
7b7075a
Console logging hidden behind debugging flag
kartkand Mar 7, 2022
92a5f13
Updated survey config with Princeton subdomain survey completion URL
kartkand Mar 7, 2022
e234d2e
Created setExtendedTimeout method in Utils.ts
kartkand Mar 13, 2022
61a82bd
Updated survey config object names to match their respective surveyNa…
kartkand Mar 13, 2022
c4eac77
Using currentTime in StudyModule.ts
kartkand Mar 13, 2022
e728b7c
Reorganized StudyModule for consistency and added comments
kartkand Mar 13, 2022
b57945e
Added comments to ContentScripts.ts
kartkand Mar 13, 2022
ca2d75c
Added a check to the changeSearchEngine method in api.js
kartkand Mar 13, 2022
73a8b80
OnlineServiceVisitCollection only reports an event for services where…
kartkand Mar 13, 2022
109d8ef
Moved search engine XML files to Princeton subdomain
kartkand Mar 13, 2022
9cbc50d
Removed getCoarsenedTimestamp function, we will coarsen in backend an…
kartkand Mar 14, 2022
62b1a8d
Minor changes to SERP content script getSearchAreaTopHeight and getSe…
kartkand Mar 14, 2022
6e0946e
Minor changes to determining page values upon document ready state
kartkand Mar 14, 2022
ba77c8a
Minor fixes to selfPreferencing.ts: not getting organic results with …
kartkand Mar 14, 2022
d1cffd1
https://bugzilla.mozilla.org/show_bug.cgi?id=1760255 - add rally ID t…
rhelmer Mar 21, 2022
a3b1458
Merge pull request #77 from rhelmer/add-events-to-rally-id-metrics
rhelmer Mar 23, 2022
c821fae
Updated study condition weights and modified modal treatments to use …
kartkand Apr 14, 2022
eff93de
Merge branch 'main' of github.com:citp/search-engine-usage into main
kartkand Apr 14, 2022
d700046
Condition weights must all be positive so commented out conditions wi…
kartkand Apr 14, 2022
1b834bd
Modified attribution tracking so that redirects are considered attrib…
kartkand Apr 14, 2022
aa9f1e5
Minor fixes to Google content script to fix bugs with self preference…
kartkand Apr 14, 2022
fd682ce
Minor fixes to Baidu script for functioanlity with async page loads
kartkand Apr 14, 2022
ebce8c2
Minor changes the self preferencing script functionality
kartkand Apr 14, 2022
2afd0f7
Changed functionality so that self preferencing results are tracked w…
kartkand Apr 14, 2022
c15e949
Add links to data review
rhelmer Apr 15, 2022
6eae1a7
Merge pull request #84 from mozilla-rally/add-data-review-links
rhelmer Apr 15, 2022
66497a0
added links to data review doc and bugzilla ticket
jepstein Apr 19, 2022
03502a1
added missing data review links
jepstein Apr 19, 2022
3e09950
Merge pull request #87 from mozilla-rally/add-data-review-links-pings
jepstein Apr 19, 2022
9bb727e
Updated study id in manifest.json from search-engine-usage-study@rall…
kartkand May 23, 2022
3e41e30
add public key from bug 1762997#c3
rhelmer May 24, 2022
20a63bc
set app id
rhelmer May 24, 2022
26870be
add valid schemaNamespace for this study
rhelmer May 24, 2022
5238b0c
start by default for core add-on
rhelmer May 24, 2022
f87892e
update glean docs
rhelmer May 24, 2022
aae6455
Merge pull request #96 from mozilla-rally/add-public-key
rhelmer May 26, 2022
8177d6c
Merge pull request #97 from mozilla-rally/start-by-default
rhelmer May 26, 2022
f38f541
Modified attribution tracking to account for the possibility of trans…
kartkand May 28, 2022
9047110
Not using remotely-hosted search engine configs as per suggestion of …
kartkand Jun 6, 2022
2b757d9
Using DOMPurify to sanitize DOM manipulation as per suggestion of add…
kartkand Jun 6, 2022
0f7b4d4
Change extension ID for JSObject passed for changing search engine de…
kartkand Jun 6, 2022
d932eff
Changing documentation for changeSearchEngine because the search engi…
kartkand Jun 10, 2022
356d046
Submit commits to Glean probe-scraper
relud Jun 21, 2022
dc666c7
revert search engine on uninstall and fix CI failures (#109)
rhelmer Jun 24, 2022
457ab15
Updating import to correctly match case of file name
kartkand Jun 26, 2022
c896f20
Clearing oldEngine user pref if the participant is reverting their ch…
kartkand Jun 26, 2022
cfe698b
Changing extensionID in experimental/api.js to actual extension ID
kartkand Jun 27, 2022
5d0a5a1
Resetting default to the original in case of error in onShutdown
kartkand Jun 27, 2022
8e168d4
Switched from using Yandex to Brave
kartkand Jun 28, 2022
3a2fdc8
Reverting homepage upon onShutdown()
kartkand Jun 28, 2022
0421622
Brave selectors fixed
kartkand Jul 4, 2022
f2979c3
move dependencies that get rolled up into output scripts out of devDe…
Jul 15, 2022
a8b19e4
sync package-lock
Jul 15, 2022
82e2d5f
CI runs on Linux which is case-sensitive
Jul 15, 2022
d65dccc
Merge pull request #112 from mozilla-rally/split-dependencies
rhelmer Jul 15, 2022
3491f51
Address issue with checking of homepage if the homepage did not have …
kartkand Jul 20, 2022
db8fc43
Merge branch 'main' of github.com:citp/search-engine-usage into main
kartkand Jul 29, 2022
57d03ac
Added functionality for reporting total number of results for a query…
kartkand Aug 8, 2022
86c8b03
Bump geckodriver from 1.22.3 to 2.0.4
dependabot[bot] Aug 8, 2022
c5af1aa
Converting queries to compatibility decomposition form, removing all …
kartkand Aug 8, 2022
897aa25
Hook up taskcluster for priv. signing, closes #37
rhelmer Nov 11, 2021
d43b47c
switch from -rally to -extensions org
rhelmer Nov 11, 2021
8cbd06a
Use private repo for taskcluster config
rhelmer Jan 4, 2022
54f32da
use main branch
rhelmer Jan 4, 2022
d6f1609
point to xpi-template
rhelmer Jan 4, 2022
5b3b435
Update taskcluster version + python3
hneiva Jan 6, 2022
30a6cb0
Update ci image version
hneiva Jan 6, 2022
a6346e5
Point to main branch of xpi-template
hneiva Jan 6, 2022
61e49bf
Pull taskgraph from pypi
hneiva Apr 29, 2022
4b45097
bump name and version number
Aug 8, 2022
ca31e66
rename output file to same name as declared in xpi-manifest
Aug 8, 2022
7275f2c
bump version to 1.1.0
Aug 8, 2022
f01383a
switch github repo to public
Aug 8, 2022
14b7a24
Merge pull request #120 from mozilla-rally/public-repo
rhelmer Aug 8, 2022
4c336bc
remove rename of XPI before integration test
Aug 8, 2022
ee796c3
customize integration tests
Aug 8, 2022
ca30f2b
customize integration tests for this study
Aug 8, 2022
6d8db52
skip integration tests on taskcluster
Aug 8, 2022
bf503da
skip lint in taskcluster
Aug 8, 2022
20079c5
remove circular dependency, and only build tailwind in dev
Aug 8, 2022
972c522
break compilation into two phases to reduce memory usage
Aug 8, 2022
1e0d2c2
run package as part of build, for taskcluster
Aug 8, 2022
f613ada
Bump eslint-plugin-mocha from 8.2.0 to 10.1.0
dependabot[bot] Aug 8, 2022
bf674a2
Bump webextension-polyfill from 0.8.0 to 0.9.0
dependabot[bot] Aug 8, 2022
f73ff63
add now-required mozillaAddons perm for privileged code
Aug 8, 2022
36eb471
Merge pull request #119 from mozilla-rally/dependabot/npm_and_yarn/we…
rhelmer Aug 9, 2022
826258c
Merge pull request #118 from mozilla-rally/dependabot/npm_and_yarn/es…
rhelmer Aug 9, 2022
a99443c
Bump @rollup/plugin-commonjs from 19.0.2 to 22.0.2
dependabot[bot] Aug 9, 2022
b859ce1
Merge pull request #25 from mozilla-rally/dependabot/npm_and_yarn/gec…
rhelmer Aug 9, 2022
de11fe7
Merge pull request #107 from relud/patch-1
Aug 9, 2022
e9cff5a
Revert "Submit commits to Glean probe-scraper"
Aug 9, 2022
abcab98
Merge pull request #122 from mozilla-rally/dependabot/npm_and_yarn/ro…
Aug 9, 2022
586a792
Implemented lottery functionality and modified long timeouts to use b…
kartkand Aug 11, 2022
83b7efb
Implemented lottery functionality and modified long timeouts to use b…
kartkand Aug 11, 2022
fcf9621
Updated getNumResults for SERP content scripts
kartkand Aug 16, 2022
f38d4c7
Getting number of Google query results count for all SERPs
kartkand Aug 16, 2022
5f79e72
Update to SerpVisitCollection.ts for getting number of Google query r…
kartkand Aug 16, 2022
4ffa4f4
Wraaping components of SERP parsing in try/catch so one component of …
kartkand Aug 16, 2022
aa9edd0
Moving lottery lambda URLs to consts and documenting what they are
kartkand Aug 16, 2022
848186e
Updated initial survey URL to new survey with Brave added as search e…
kartkand Aug 16, 2022
d0b0d19
Getting whether ad landing page is in history in InitialCollection
kartkand Sep 4, 2022
9355a62
Updating SERP selectors
kartkand Sep 20, 2022
81a444d
Updated SERP selectors
kartkand Sep 20, 2022
fb02ec6
Decommision via self-uninstall
thomik-corp Jan 25, 2023
2010911
Merge pull request #154 from mozilla-rally/kill-extension
thomik-corp Jan 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version: 2.1
jobs:
Linting:
docker:
- image: cimg/node:14.13.1
- image: cimg/python:3.8.8-node
steps:
- checkout
- run:
Expand All @@ -23,7 +23,7 @@ jobs:

Firefox integration tests:
docker:
- image: cimg/node:14.13.1
- image: cimg/python:3.8.8-node
steps:
- checkout
- run:
Expand Down
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
dist
tests/integration/webarchive
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ module.exports = {
"mocha"
],
root: true,
ignorePatterns: [ "compiled-ts/**/*.js" ],
rules: {
"node/no-deprecated-api": "error",
"node/no-extraneous-require": "off",
"node/no-missing-import": "off",
"node/no-unpublished-import": "off",
"node/no-unpublished-require": "off",
"node/no-unsupported-features/es-syntax": "off",

"no-multi-spaces": "error",
"no-unused-vars": [ "error", { vars: "all", args: "none", ignoreRestSiblings: false } ],
"no-var": "warn",
Expand Down
19 changes: 19 additions & 0 deletions .github/story.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Story
about: Use this to file a new story for a cycle
title: "[story]"
assignees: ''

---

## Story

*fill this out*: as a **PERSONA**, I want to **BE ABLE TO DO SOME TASK** so that I can **ACHIEVE AN INTENDED OUTCOME**.

## Definition of Done (optional)

*Write out the concrete deliverable here in a sentence.*

## Tasks (optional)

*List all the tasks needed to close this story. You can follow the [task list](https://docs.github.com/en/github/managing-your-work-on-github/about-task-lists) syntax. Feel free to link to each task as its own github issue!*
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,15 @@ dist

# Generated study files
web-ext-artifacts/

# Compiled Typescript .js
compiled-ts/

.DS_Store

# Testing output files
tests/output/

# Glean-related files
.venv/
src/generated/
308 changes: 308 additions & 0 deletions .taskcluster.yml

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions OpenSearch/Brave.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Brave</ShortName>
<LongName>Brave</LongName>
<Description>Brave Search: private, independent, open</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="32" height="32" type="image/png">https://cdn.search.brave.com/serp/v1/static/brand/eebf5f2ce06b0b0ee6bbd72d7e18621d4618b9663471d42463c692d019068072-brave-lion-favicon.png</Image>
<Url type="text/html" method="get" template="https://search.brave.com/search?q={searchTerms}"/>
<Url type="application/x-suggestions+json" method="get" template="https://search.brave.com/api/suggest?q={searchTerms}"/>
</OpenSearchDescription>
82 changes: 9 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,80 +1,14 @@
# Mozilla Rally study template.
The purpose of this repository is to provide a starting point to build a Rally study. It contains:
# Search Engine Usage Study [DECOMMISSIONED]
A study to assess how individuals interact with their search engines.

1. an example [`manifest.json`](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json) file.
2. an example background and content script in `src/`.
3. a rollup config file that builds the files needed for the web extension using the source files in `src/` (the background & content scripts).
4. an example integration test that launches a browser & installs the add-on.
5. a `web-ext-config.js` file & an eslint configuration.

## Getting started

1. Fork this repository.
2. Customize the [manifest.json](./manifest.json) file:
* change the `name`, `author`, and `description` properties;
* swap the value of `application.gecko.id` (e.g. `[email protected]`) with the one provided you by the Rally team;
3. Customize the [package.json](./package.json) file. At a bare minimum, change the `name`,`description`, `version`, `author`, `repository`, `bugs`, and `homepage` properties;
4. Provide the encryption data to the `Rally` class constructor in the [src/background.js](./src/background.js) file:

```js
rally.initialize(
// A sample key id used for encrypting data.
"sample-invalid-key-id",
// A sample *valid* JWK object for the encryption.
{
"kty":"EC",
"crv":"P-256",
"x":"f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
"y":"x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0",
"kid":"Public key used in JWS spec Appendix A.3 example"
},
// ... other required arguments ...
);
```

4. From the forked repository directory, install all the NPM dependencies:

```bash
fork-dir> npm install .
```

5. Test the customized study in Firefox and commit your changes: doing this right after the initial fork provides a nice and clean cutting point with the original repository, which will simplify future updates (if needed).

## Building upon this template
This template uses [rollup.js](https://rollupjs.org/) as a module bundler and NPM for dependency management. The [manifest.json](./manifest.json) file already includes a sample background scripts.

Dependencies can be added using the [`npm install`](https://docs.npmjs.com/cli/v6/commands/npm-install) command, using the appropriate `--save-dev` or `--save-prod` switch. This command will take care of automatically updating the [package.json](./package.json) file.

New modules can be added in the `src/` directory. Modules need to expose the exported functions using the `module.exports` syntax. For example, a class can be exported as follows in a `MyClass.js` file:

```js
module.exports = class MyClass {
myFunc() {
console.log("Testing!");
}
}
```

And then be imported in another file with `const MyClass = require("./MyClass.js");`.

Plain functions can be exposed as follows in a `MyFuncs.js` file:

```js
module.exports = {
myTest() {
//... something!
},
otherFunc() {
// ... other function!
}
};
```

And then be imported in another file with `const {myTest, otherFunc} = require("./MyFuncs.js");`.
## Requirements
* [Node.js](https://nodejs.org/en/), available via [Homebrew](https://brew.sh/) on macOS
* [Mozilla web-ext](https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/)

## Supported NPM commands
The template comes with a set of pre-defined NPM commands (to run as `npm run <command>`) to help study authors:
The repo comes with a set of pre-defined NPM commands (to run as `npm run <command>`):

* `compile-typescript`: Compiles the Typescript source code. The compiled code is saved in the `src/` directory.
* `build`: assembles the final addon. The bundler generated code is saved in the `dist/` directory.
* `dev`: assembles the addon in _developer mode_. In this mode data doesn't get submitted but, instead, is dumped to the [Browser Console](https://developer.mozilla.org/en-US/docs/Tools/Browser_Console). This mode allows for a smoother development process.
* `lint`: run linting on the add-on code.
Expand All @@ -85,3 +19,5 @@ The template comes with a set of pre-defined NPM commands (to run as `npm run <c

## Manual testing in the browser
To test, either load as a temporary add-on in Firefox (`about:debugging`) or Chrome ("developer mode" in `chrome://extensions`) or use `npm run start`.

Debugging output is available in Tools → Web Developer → Browser Console. Make sure that the Show Content Messages option is checked. You might find it helpful to set a filter for debugging messages of interest.
7 changes: 7 additions & 0 deletions babel.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = {
presets: [
['@babel/preset-env', { targets: { node: 'current' } }],
'@babel/preset-typescript',
],
sourceMap: 'inline'
};
Loading