Skip to content
This repository has been archived by the owner on Apr 15, 2019. It is now read-only.

Giant update of all new features added by SOASTA in the last 7 years #53

Open
wants to merge 2,020 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2020 commits
Select commit Hold shift + click to select a range
93dcef4
AutoXHR: Don't track SCRIPT tags for XHR beacons
nicjansma Nov 27, 2018
50440f9
Boomerang: Keep track of all unload handlers to know when to send unl…
nicjansma Nov 27, 2018
309175d
Continuity: Fix issue related to screen orientation in iPhone and iPad
Nov 26, 2018
ef83d9c
Lint fixes
nicjansma May 13, 2019
26daad9
TPAnalytics: Add data to spa_hard beacons
querymetrics Nov 15, 2018
f718f4b
SPA: Ignore route changes if a routeChangeWaitFilter has not yet comp…
querymetrics Dec 10, 2018
6e66ed2
History: ignore replaceState if a SPA nav is in progress and no URL c…
querymetrics Dec 11, 2018
f43e3db
SPA: Only apply routeFilter and routeChangeWaitFilter on SPA soft nav…
querymetrics Dec 12, 2018
a319eae
11-restiming/03-url-length: Reduce size of long URL in test
nicjansma Dec 27, 2018
91a58ea
AutoXHR: track uninteresting timeout per event instead of per page
querymetrics Jan 10, 2019
9cb0d48
AutoXHR: Cleanup listeners on observed nodes
querymetrics Dec 13, 2018
e3af081
Boomerang Performance Tests
nicjansma Dec 18, 2018
d7c485d
Strips out BOOMR.debug and related messages for production builds
nicjansma Dec 26, 2018
65faac0
Grunt: Use UglifyJS-3
nicjansma Dec 26, 2018
dc544f4
AutoXHR: track fetch the same way as xhr during spa navs
querymetrics Jan 15, 2019
b20b6b3
AutoXHR: Track LINK stylesheets as interesting nodes
querymetrics Jan 29, 2019
0164663
Doc: Remove Continuity sub-classes
nicjansma Feb 11, 2019
a0ade85
AutoXHR: Add xhrs to pending events at send instead of load finished
querymetrics Jan 15, 2019
ac1258c
AutoXHR: Include Fetch requests in SPA backend time
querymetrics Jan 29, 2019
33f4f86
AutoXHR: Allow config overrides for SPA and XHR idle wait timeouts
querymetrics Jan 30, 2019
d013d5e
Boomerang: Ensure only a single beacon is being sent at once
nicjansma Feb 6, 2019
7834819
ResourceTiming: Allow for non-optimal Trie to improve performance
nicjansma Feb 21, 2019
f0034ac
Tests: Fixes 21-continuity/05-longtasks for recent Chrome
nicjansma Feb 25, 2019
6bb23ee
AutoXHR: Test fixes
querymetrics Feb 22, 2019
378985a
IFrameDelay: Gracefully handle different load orders
querymetrics Feb 15, 2019
0896978
Grunt: Only run Perf tests if using NodeJS 8+
nicjansma Mar 21, 2019
f9861a5
History: Add config option to disable monitoring of replaceState
querymetrics Mar 20, 2019
c41b4ff
AutoXHR: Make routeChangeWaitFilter wait_complete calls wait for othe…
querymetrics Apr 8, 2019
ec37497
IFrameDelay: listen for postMessage calls on the correct window
querymetrics Apr 22, 2019
6127bf2
Continuity: Document events for TTFI
nicjansma Mar 28, 2019
33371c3
Boomerang Loader Snippet v12
nicjansma Apr 24, 2019
6b77ed5
Grunt: Allow specifying multiple webdriver-version
nicjansma Apr 25, 2019
a56511b
IFrameDelay: Force tests to load boomerang in an iframe when using th…
querymetrics Apr 25, 2019
b429824
Lint fixes
nicjansma May 13, 2019
8938212
Test Server: Fix resolving ./routes.js
nicjansma May 13, 2019
ff83a96
Boomerang: typeof check instead of against undefined
nicjansma May 13, 2019
672cc0b
It's a feature, not a bug
nicjansma May 13, 2019
4d885e4
Update version to 1.650.0
nicjansma May 16, 2019
0e59e4b
Docs: Fix Loader Snippet Formatting
nicjansma May 3, 2019
207f868
NavigationTiming: Don't use chrome.loadTimes() when there are no pain…
nicjansma May 10, 2019
487401c
UserTiming: Update usertiming-compression package to latest version
sukratkashyap Sep 17, 2019
de848a6
Fix setting rt.si to UUID to fix the refreshing bug
sukratkashyap Sep 23, 2019
c9db232
NPM: Allow running grunt build (#261)
nicjansma Dec 31, 2019
94e5c80
Fixed typos and minor edits (#282)
mcmimik Dec 31, 2019
63ef0a5
Add support for background image detection for c.tti.hi (#251)
Dec 31, 2019
c1d737a
Fix typo (#289)
Feb 14, 2020
6a7bb53
package.json: Add 'build' script
nicjansma Mar 10, 2020
649376c
AutoXHR: xhr abort status fix for FireFox
querymetrics Apr 26, 2019
ea1e75a
Test fixes and do not cache /assets/* resources
querymetrics Apr 26, 2019
3ca65d8
Fix test timeout issue
querymetrics May 7, 2019
32d455e
Memory: Remove reference to BatteryManager API as this API is obsolete
ashenoy2014 May 6, 2019
060465c
Add support for test-port as grunt-option
andreas-marschke Jan 11, 2019
94a4c0c
Early beacons
querymetrics Jun 29, 2018
fe324b0
ResourceTiming: More initiatorTypes
nicjansma Apr 18, 2018
0422d5d
Boomerang: Fix empty-beacon check
nicjansma May 10, 2019
ea9067a
Tests: Fix 06-bugs/issue-606 after dependent library update
nicjansma May 13, 2019
44c5340
Test fixes
querymetrics May 16, 2019
5529ec2
Optimize cookie access
nicjansma Dec 29, 2018
2ff0bbb
Test fixes for IE11
querymetrics May 27, 2019
d3e4d58
Test fixes
querymetrics May 23, 2019
a2bbba0
Continuity: ceil duration times
querymetrics Jun 3, 2019
bf0d877
Boomerang: Don't set cookie if domain is null, fallback to current ho…
nicjansma May 31, 2019
2661603
Errors: Ensure message.indexOf is a function
nicjansma Jun 12, 2019
5191df5
Early beacon fix for SPA events
querymetrics Jun 18, 2019
4be27ad
RT: Cleanup beacon parameter cleanup
nicjansma Jul 24, 2019
f6ab5a6
Config: Allow overriding beacon_disable_sendbeacon
nicjansma Jul 2, 2019
7a752aa
History SPA v2
querymetrics Apr 16, 2018
1fce148
Continuity: Don't track interaction times in Safari if loaded in iframe
querymetrics Jul 31, 2019
dbf8dc2
Docs: Document rt.si, rt.ss, rt.sl, rt.tt, rt.obo
nicjansma Jul 24, 2019
957f2b7
ResTiming: Disable srcset physical dimension collection by default
querymetrics Jul 3, 2019
8e686f7
Continuity: Turn monitorStats off by default
nicjansma Aug 22, 2019
51184b5
Version History up to 1.672.0
nicjansma Aug 22, 2019
3869b1d
Add support for navigator.connection.saveData
bluesmoon May 17, 2019
3dfd2d6
ResTiming: Add tests for disable srcset physical dimension collection…
querymetrics Jul 3, 2019
d7400e2
21-continuity/13-interaction: Change c.fid assertion
nicjansma Sep 4, 2019
2e8956d
NavTiming: Allow data to go on both Early and first Page Load beacon
nicjansma Sep 5, 2019
35480ab
Continuity: Don't disable collection when API beacons are sent
nicjansma Sep 3, 2019
f139f1a
NavTiming: Fix after merge
nicjansma Sep 6, 2019
ffa4fa2
21-continuity/33-interaction-iframe: Change c.fid assertion
nicjansma Sep 6, 2019
eab4d08
Update copyrights and fix in Early docs
querymetrics Sep 16, 2019
0127643
#1018 - MD5 plugin replaced by FNV implementation built in Bommerang …
ceckoslab Oct 2, 2019
28d1fca
AutoXHR: Handle removing src attribute from monitored resource
querymetrics Oct 4, 2019
615fb66
RT: Error wrapping when we have NS_ERROR_FAILURE when Firefox 31 thro…
ceckoslab Sep 26, 2019
8fec108
Version History up to 1.687.0
nicjansma Dec 30, 2019
eeda36b
Navigation Timing: Plugin sends twice per page (pt 2)
nicjansma Dec 30, 2019
f843b0a
Version bump to 1.687.0
nicjansma Dec 30, 2019
6575341
Test fixes
nicjansma Dec 31, 2019
43a2e87
Removed additional SPA tests not needed in OS repo
nicjansma Jan 6, 2020
0210256
21-continuity/33-interaction-iframe: Increase valid range of a test
nicjansma Jan 6, 2020
32d52c6
Remove localStorage tests (mPulse only)
nicjansma Jan 13, 2020
953a35b
Build: Adding CICD Github Actions to every push to the repository (#297)
sukratkashyap Jul 15, 2020
47ba787
DNS: Updated URL for docs (#302)
haani104 Aug 31, 2020
cf5b056
CI: Fix Github E2E tests by setting Chrome version (#305)
sukratkashyap Aug 31, 2020
bf64f61
#1036 - removed use strict from third-party-analytics plugin. Reason …
ceckoslab Jan 3, 2020
c2df993
Docs: Fix Pull Request link
nicjansma Nov 27, 2019
a874328
SPA: Don't subtract SPA_TIMEOUT unless timedOut
nicjansma Oct 31, 2018
327041c
Update Snippet to have its own reference to the parentNode
andreas-marschke Jan 21, 2020
67e1c97
Bump Snippet Version to 14
andreas-marschke Jan 21, 2020
8b4cd39
Consent Inline Plugin and Docs
ceckoslab Jan 28, 2020
3c07c1c
PaintTiming: Largest Contentful Paint
nicjansma Jan 28, 2020
0436f84
Continuity: Add the ability to track Cumulative Layout Shift
ashenoy2014 Jan 28, 2020
4305905
update snippetVersion js var in docs and snippet to version 14 as doc…
andreas-marschke Jan 27, 2020
69f4eb8
PaintTiming: Expose LCP via BOOMR.plugins.PaintTiming.metrics.lcp fun…
Mar 5, 2020
b8b2196
Tests: Fix BOOMR_test.getFirstOrContentfulPaint to use LCP if available
nicjansma Apr 9, 2020
232447b
Tests: Ensure /delay path roots requested files to wwwRoot
nicjansma Apr 16, 2020
6e8ec43
#1011 - Fixed warning when calling getQueryParamValue with malformed …
ceckoslab Jan 30, 2020
1f6f9a1
Boomerang: Document additional beacon vars
nicjansma Feb 24, 2020
80a40bb
Continuity: Scroll Log: Trim decimals
nicjansma Feb 20, 2020
7ad8fd1
Fixed reference to c.t.lt -> c.t.longtask
nicjansma Feb 19, 2020
cc644cf
ResTiming: Service Worker timing capture at resource level
ashenoy2014 Apr 30, 2020
57ed7a0
Remove Visibility and Orientation change from FID calculations
ashenoy2014 Mar 12, 2020
8bf4c99
EventTiming support
nicjansma Aug 13, 2018
83ab2f4
Listen for firstInput too
nicjansma Aug 15, 2018
c3e09f1
More updates
nicjansma Sep 16, 2019
82e906c
EventTiming: Misc fixes
nicjansma Sep 16, 2019
eefe152
Continuity: Don't add TTI/TTFI twice
nicjansma Oct 9, 2019
0a9fe8d
Change First Input Delay calculation to be difference between event's…
Mar 4, 2020
f4fdbce
Time to First Interaction added to EventTiming
nicjansma Apr 20, 2020
8fbffd9
Use BOOMR.hrNow() to compare to .timeStamp (which is high-res)
nicjansma Apr 20, 2020
b3481ea
Errors: monitorEvents and monitorTimeout are now disabled by default
nicjansma May 4, 2020
46971b8
Docs: Include minified snippets in built documentation; Add Header Sn…
nicjansma Apr 30, 2020
052fc57
Build: Minification fixes
nicjansma Jun 5, 2020
bfc3848
EventTiming: Change firstInput type to first-input per spec change
nicjansma May 29, 2020
47b96e4
Tests: Fix 21-continuity tests that looked at LCP
nicjansma Jun 11, 2020
37e5f92
History: Correctly forward arguments to routeFilter
nicjansma Jun 10, 2020
223becf
Boomerang 1.710.0 Release Notes
nicjansma May 29, 2020
9808f32
Continuity: CLS docs
nicjansma Jun 18, 2020
155221f
Docs: Added additional Back-end Servers and integration guides
nicjansma Jun 19, 2020
1f26180
Boomerang: Added support for SameSite and Secure cookie attributes.
ceckoslab Jul 29, 2020
b1e8287
Version 1.720.0
nicjansma Aug 21, 2020
90fb305
Updated package-lock.json
nicjansma Aug 24, 2020
d545ce8
Remove misc version history notes
nicjansma Aug 26, 2020
183d24f
Tests: Reliability fixes
nicjansma Aug 26, 2020
b101ba0
Tests: Remove two 30-same-site-cookie tests not needed for OS repo
nicjansma Aug 26, 2020
87ebdb7
Tests: 21-continuity\34-keep-going-api-beacon: Give some wiggle room …
nicjansma Aug 31, 2020
e7f702e
.npmignore: .github/
nicjansma Sep 30, 2020
27dcbd9
package.json: Fix install/postinstall to use non-global scripts and b…
nicjansma Dec 1, 2020
dd558a5
AutoXHR: Adding xhr.ru (response URL) beacon parameter for XHR and Fetch
sukratkashyap Jan 26, 2021
0b4b058
Now the EvenTiming plugin observes events that happen in top frame. P…
ceckoslab Oct 7, 2020
d09c777
Misc doc update
nicjansma Jun 25, 2020
40d2fd3
Continuity: Only add Time To Visually Ready to the page load beacon
nicjansma Sep 3, 2020
08d53af
AutoXHR: Don't wait on lazy-loaded images
nicjansma Sep 14, 2020
da23c32
Memory: Supress a hard loop when we send error beacons from the Memor…
ceckoslab Sep 23, 2020
e885e05
AutoXHR: Don't send XHR beacons if there were no DOM mutations
nicjansma Aug 23, 2018
11447f3
ResourceTiming: Include the Boomerang and Config URL
nicjansma Jul 8, 2020
e926480
AutoXHR: For XHR beacons that happen before Page Load, save ResourceT…
nicjansma Sep 10, 2020
3062e1c
ESLint updates
querymetrics Nov 13, 2020
4bb2ab9
Boomerang: Always ensure Session Length is at least 1
nicjansma Sep 9, 2020
eb5ebee
Doc: Loader Snippet Known Issues and other JSDoc changes
nicjansma Nov 16, 2020
0463889
Build: Support for build flavors
nicjansma Nov 17, 2020
b5657cf
Dockerize the tests
querymetrics May 14, 2019
72f4dfc
Make error stack check in unit test browser independent
querymetrics Dec 22, 2020
f993239
AutoXHR: Ignore opacity:0, 0px-dimension DOM elements, custom filters
nicjansma Mar 3, 2021
95effe5
Build: Misc fixes
nicjansma Nov 17, 2020
fd2932a
Early: Unblock early beacon during missed spa hard nav
querymetrics Feb 9, 2021
406b38e
Tests: Utility functions for testing SPAs
querymetrics Dec 20, 2018
d24e857
Tests: Run the e2e tests with HTTPS
querymetrics Mar 16, 2021
92d46a6
SPA: Option to apply Wait Filter for Hard Navs
nicjansma Jul 8, 2020
7ac33ae
Build: Additional fixes for build flavors
ceckoslab Apr 8, 2021
b13cc4c
AutoXHR: Allow SPA to start from clicks
nicjansma Mar 19, 2021
afbcc0b
1.737.0 Version History updated
nicjansma Jul 15, 2021
989136b
Tests: Cleanup some unused helper functions
nicjansma Jul 15, 2021
d803533
Build: Fix pacakge files
nicjansma Jul 16, 2021
2550b7d
Test fixes
nicjansma Aug 3, 2021
5de691c
Version 1.737.0
nicjansma Aug 18, 2021
82f3b66
.npmignore: docker/
nicjansma Aug 18, 2021
9668e2c
Github Actions: compressed-size and lint (#291)
nicjansma Aug 23, 2021
7dcaaef
Disable deep package path publishing for jsdoc generation
nicjansma Feb 22, 2022
3fe1997
SPA: Lint: Fix incorrectly globally exported variable (#343)
bluesmoon Jan 6, 2023
9e7063e
AutoXHR: Add support for SVGAnimatedString
liufei May 18, 2023
724474a
Lint: Lint fixes
nicjansma May 19, 2023
1213fd9
Laoder Snippet: Reduced support for IE8, use script src instead of do…
nicjansma Jun 28, 2021
37e73bb
Move README.md Copyright to own subsection at the bottom, extend Akam…
andreas-marschke Dec 22, 2021
51c1114
Add support for collecting navigator.deviceMemory as dev.mem
andreas-marschke Sep 27, 2021
8a96bce
Add reporting for element and source URL for LCP
andreas-marschke Jul 5, 2021
6dd01ff
AutoXHR: Avoid re-wrapping XHR/fetch during config refreshes
nicjansma Feb 4, 2022
83ba006
SPA: Always trigger spa_navigation in the event of a nav
andreas-marschke Mar 25, 2022
f1cbffa
Docs: Version History update for 1.747.0
nicjansma Mar 8, 2022
de107cb
Continuity: Fix Hero Image timing detection in Firefox
nicjansma Mar 25, 2022
d964a42
Continuity: Include First Input Delay when it is 0ms
nicjansma Mar 25, 2022
329679a
Tests: Fixes 12-react/108-hard-nav-disable
nicjansma Mar 30, 2022
3e4bd15
Boomerang: Use navigator.userAgentData if exists
andreas-marschke May 20, 2022
b281aca
PaintTiming: Only include pt.lcp.src and pt.lcp.el on the pt.lcp beacon
nicjansma Apr 13, 2022
c96810b
Build: Strip BOOMR.info, .warn, .error on production builds
nicjansma May 23, 2022
9e17e27
Boomerang: Avoid navigator.userAgent if navigator.userAgentData exists
andreas-marschke Jul 12, 2022
8839efe
Continuity: Disable Page Busy polling for Firefox
nicjansma Mar 25, 2022
f905fa1
ResourceTiming: Don't add data to Unload beacons. Memory: Only add d…
nicjansma May 15, 2019
11ab7d5
Continuity: Add supporting data for LCP and CLS
ptimilsi Aug 30, 2022
de8aedf
EventTiming: Interaction to Next Paint (INP) support
nicjansma Aug 30, 2022
e83f5dc
SPA: Include timing data in spa_init and spa_navigation events
nicjansma Jul 22, 2022
0565c2b
Boomerang: Support collecting High Entropy Client Hints
ptimilsi Aug 31, 2022
2848807
Boomerang: Don't listen for beforeunload if pagehide is supported; Ad…
nicjansma May 27, 2022
afee90b
Tests: Fix many Docker failures, Remove PhantomJS, fix Dockerfiles
nicjansma Mar 16, 2022
1479450
Add nextHopProtocol to resource timing data
bluesmoon Jul 1, 2022
c110c98
ResourceTiming: nextHopProtocol: Add tests, update inclusion logic, a…
nicjansma Aug 30, 2022
22fc480
ResourceTiming: Remove timepoints calculations
nicjansma Sep 1, 2022
cb576c2
Docs: Memory's dev.mem
nicjansma Sep 21, 2022
4aa2115
EventTiming: Ensure timestamps and durations are rounded to nearest ms
nicjansma Sep 21, 2022
cb13b8e
EventTiming: Add additional serialized event mappings
nicjansma Sep 29, 2022
7640773
Continuity: Don't add c.cls.d or c.cls.topid if there were no CLS ent…
nicjansma Sep 21, 2022
415fde1
EventTiming: interactionToNextPaint() API should return the latest co…
nicjansma Sep 29, 2022
a5ab454
RT: Don't update cookie on beacon_url change
nicjansma Sep 21, 2022
419d8f0
Lint: Added new lint rules (+untabify)
nicjansma Sep 29, 2022
7f3d80a
EventTiming: Add target to EventTiming information captured
avgray Oct 17, 2022
d6ec371
Code coverage for unit and end-to-end tests
vturcotte Dec 16, 2022
c1373db
Lint: Added spaced-comment rule
nicjansma May 4, 2023
109f02f
Docs: Update to 1.766; Improve Continuity docs for FID
nicjansma May 3, 2023
42951f2
EventTiming: Fix 'Object.values is not a function' warning
nicjansma Jan 24, 2023
e29d0e8
AutoXHR: Add support for SVGAnimatedString
liufei May 18, 2023
8c9a459
ConsentInline: Making the ConsentInline plugin compatible with Boomer…
ceckoslab Nov 14, 2022
a4cc797
PaintTiming: Updated listeners and LCP data population conditions to …
avgray May 19, 2023
f96d664
Misc jsdoc.conf.json copyright update
nicjansma Jun 25, 2023
c76d925
Misc version and date fixes
nicjansma Jun 30, 2023
c0cbec6
Fixed package-lock.json
nicjansma Jun 30, 2023
dac0fd3
Version History: Remove Akamai-specific changes
nicjansma Sep 22, 2024
e942abf
.vscode update for source.fixAll.eslint
nicjansma Sep 22, 2024
2b72e31
Allow override and disabling of sending interval during page load for…
avgray May 5, 2023
0778c0f
ResourceTiming: Add initiator types early-hints, ping, font
jberner12 May 10, 2023
8e60d51
Docs: Misc docs cleanup
nicjansma May 26, 2023
3a56135
Boomerang: Run localStorage.removeItem in the finally block
bluesmoon Jul 3, 2023
af165fb
BFCache: BFCache plugin added
nicjansma May 26, 2023
981519e
SPA: Ensure spa_navigation event has correct requestStart time; RT: U…
nicjansma May 3, 2023
59f6da6
PaintTiming: Disconnect LCP observer after sending LCP on Page Load
nicjansma Jul 3, 2023
cfdb761
SPA: Lint: Fix incorrectly globally exported variable
bluesmoon Jan 6, 2023
5c47004
Tests: Allow-list in existing globals added per-test
nicjansma Jul 5, 2023
fe16d6f
Tests: Update timing checks to be more reliable in Docker tests
nicjansma Sep 1, 2022
cf96864
Tests: Fix test issues
nicjansma Jul 14, 2023
44281da
SPA: Soft Navigation Heuristics
nicjansma Jul 3, 2023
48d25a6
Docs: 1.785 Release Notes
nicjansma Jul 17, 2023
34176ac
BFCache: Only append OT if document.head.append is available
nicjansma Aug 14, 2023
0a88df5
Tests: Ensure HTTPS-requiring tests alert if not on HTTPS; Loosen req…
nicjansma Aug 2, 2023
c277dc0
SPA: Remove Origin Trial token for Soft Navigation Heuristics
nicjansma Sep 22, 2024
0ab461b
BFCache: Round timestamps to avoid microsecond timing differences
nicjansma Aug 1, 2023
430baef
History: Don't reset a SPA route change for XHR beacons
nicjansma Jul 27, 2023
3814acd
Tests: Fixes missed from rebases
nicjansma Oct 16, 2023
24deac4
Add e2e tests of bw plugin
EricJLarson Jun 1, 2023
fa0f818
AutoXHR: Do not wait for unchanged resources contained in a node element
querymetrics Nov 17, 2023
f5824aa
Now we allow CLS values of 0 to be sent by Boomerang JS. Also a flaky…
ceckoslab Nov 16, 2023
00da36e
Docs: 1.790 Release Notes
nicjansma Oct 23, 2023
c77ef34
History: Clarify documentation about routeChangeWaitFilter and routeC…
vturcotte Jan 23, 2024
77f4e16
BFCache: Set Page Dimensions: Page Group, AB, Custom Dimensions
nicjansma Feb 12, 2024
8a0f5f6
Change default HTTPS behaviour of bandwidth test to "run" instead of …
bluesmoon Feb 17, 2024
212796e
Continuity: Ignore errors from Battery API
nicjansma Feb 6, 2024
70020dd
PaintTiming: Use URL from LCP object directly if available
nicjansma Aug 31, 2023
dd0e88e
Boomerang: Initial Prerendered Support
nicjansma Nov 1, 2023
7b6ac2b
Boomerang: Prerendered Support Part 2
ashenoy2014 Aug 12, 2024
cd32231
Version History up to 1.815.0
nicjansma Sep 30, 2024
55d7451
Bump version to 1.815.0
nicjansma Oct 1, 2024
c205948
package.json: Fix dependencies (and remove unused)
nicjansma Oct 1, 2024
649cb43
Tests: Backport test fixes
nicjansma Oct 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .bowerrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"directory": "tests/vendor",
"color" : false,
"interactive": false
}
11 changes: 11 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.git
.github
node_modules
build
tests/build
tests/pages
tests/vendor
tests/coverage
tests/results
tests/samples
tests/perf/results
11 changes: 11 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[*]
end_of_line = lf
insert_final_newline = true

[*.js]
indent_style = space
indent_size = 2

[*.html]
indent_style = space
indent_size = 2
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**/*.headers
node_modules/
146 changes: 146 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
{
"root": true,
"env": {
"browser": true
},
"plugins": [
"html"
],
"globals": {
"BOOMR": true,
"BOOMR_start": true,
"BOOMR_lstart": true,
"BOOMR_onload": true,
"BOOMR_test": true,
"console": false,
"unescape": false,
"BOOMR_configt": true,
"BOOMR_check_doc_domain": true,
"_BOOMR_userAgentCheck": true
},
"rules": {
//
// Rules that were enabled by default in pre-1.0 eslint
// https://github.com/eslint/eslint/blob/master/docs/user-guide/migrating-to-1.0.0.md
// re-enable all the ones we are not specifically disabling
//
"no-alert": "error",
"no-array-constructor": "error",
"no-caller": "error",
"no-catch-shadow": "error",
"no-eval": "error",
"no-extend-native": "error",
"no-extra-bind": "error",
"no-implied-eval": "error",
"no-iterator": "error",
"no-label-var": "error",
"no-labels": "error",
"no-lone-blocks": "error",
"no-loop-func": "error",
"no-multi-str": "error",
"no-native-reassign": "error",
"no-new": "error",
"no-new-func": "error",
"no-new-object": "error",
"no-new-wrappers": "error",
"no-octal-escape": "error",
"no-process-exit": "error",
"no-proto": "error",
"no-return-assign": "error",
"no-script-url": "error",
"no-sequences": "error",
"no-shadow": "error",
"no-shadow-restricted-names": "error",
"no-spaced-func": "error",
"no-undef-init": "error",
"no-unused-expressions": "error",
"no-use-before-define": ["error", { "functions": false }],
"no-with": "error",
"comma-spacing": "error",
"curly": ["error", "all"],
"eol-last": "error",
"no-extra-parens": ["error", "functions"],
"eqeqeq": "error",
"new-parens": "error",
"semi": "error",
"space-infix-ops": "error",
"yoda": ["error", "never"],
"spaced-comment": ["error", "always", {
"block": {
"balanced": true
}
}],

//
// Changes over defaults
//
"keyword-spacing": "error",
"no-mixed-spaces-and-tabs": "error",
"quotes": ["error", "double", "avoid-escape"],
"dot-notation": ["error", {"allowKeywords": false}],
"space-unary-ops": "error",
"key-spacing": ["error", {"beforeColon": false, "afterColon": true, "mode": "minimum"}],
"no-empty": "error",
"brace-style": ["error", "stroustrup", { "allowSingleLine": false }],
"semi-spacing": ["error", {"before": false, "after": true}],
"indent": ["error", 2, {"VariableDeclarator": "first", "MemberExpression": 1, "CallExpression": {"arguments": 1}}],
"space-before-function-paren": ["error", "never"],
"no-trailing-spaces": ["error", { "skipBlankLines": false }],
"linebreak-style": ["error", "unix"],
"comma-dangle": ["error", "never"],
"operator-linebreak": ["error", "after"],
"space-in-parens": ["error", "never"],
"no-debugger": "error",
"block-spacing": "error",
"lines-around-comment": ["error", { allowBlockStart: true, allowObjectStart: true, ignorePattern: "BEGIN_|END_|SOASTA PRIVATE" }],
"no-inline-comments": ["error", { "ignorePattern": "^ ?(BEGIN_|END_|fails|keep)" } ],
"newline-after-var": ["error", "always"],
"newline-before-return": "error",
"max-len": ["error", 120],
"no-irregular-whitespace": "error",
"no-multiple-empty-lines": ["error", { "max": 1} ],
"padded-blocks": ["error", "never"],
"one-var-declaration-per-line": "error",
"padding-line-between-statements": ["error",
{ blankLine: "always", prev: "block-like", next: "if" },
{ blankLine: "always", prev: "expression", next: "if" },
{ blankLine: "always", prev: "var", next: "if" },
{ blankLine: "always", prev: "block-like", next: "var" },
{ blankLine: "always", prev: "try", next: "*" },
{ blankLine: "always", prev: "block-like", next: "expression" },
{ blankLine: "always", prev: "*", next: "function" }
],

//
// To enable soon
//

//"require-jsdoc": "error",
//"valid-jsdoc": "error",

//
// Disabled rules
//

// We have a lot of variables in underscore_casing
"camelcase": 0,

// Not ready for strict-mode yet
"strict": 0,

// We have some functions like BOOMR_check_doc_domain or BOOMR.
"new-cap": 0,

// We use console.log for debugging
"no-console": 0,

// We use _s in a couple places for internal vars
"no-underscore-dangle": 0,

// We delete some global vars for compat with older IE versions
"no-delete-var": 0,

// We use spaces for alignment in many places
"no-multi-spaces": 0
}
}
23 changes: 23 additions & 0 deletions .github/workflows/compressed-size.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Compressed Size

on:
push:
branches:
- master
pull_request:

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]

steps:
- uses: actions/checkout@v2
- uses: preactjs/compressed-size-action@v2
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
pattern: '{build/boomerang-1.0.0.min.js,build/plugins/*.js}'
compression: brotli
show-total: false
23 changes: 23 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Lint

on:
push:
branches:
- master
pull_request:

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]

steps:
- uses: actions/checkout@v2
- run: npm ci --no-audit --prefer-offline
- uses: a-b-r-o-w-n/eslint-action@v2
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
files: '**/*.js'
extensions: '.js'
137 changes: 137 additions & 0 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: Node.js CI

on:
push:
branches:
- master
pull_request:

jobs:
build-and-lint:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci --no-audit --prefer-offline
- run: npm run build
- run: npm run lint

unit-test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci --no-audit --prefer-offline
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run unit-test

e2e-test-1:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
env:
CI_NODE_INDEX: 0
CI_NODE_TOTAL: 5
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci --no-audit --prefer-offline
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test

e2e-test-2:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
env:
CI_NODE_INDEX: 1
CI_NODE_TOTAL: 5
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci --no-audit --prefer-offline
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test

e2e-test-3:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
env:
CI_NODE_INDEX: 2
CI_NODE_TOTAL: 5
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci --no-audit --prefer-offline
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test

e2e-test-4:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
env:
CI_NODE_INDEX: 3
CI_NODE_TOTAL: 5
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci --no-audit --prefer-offline
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test

e2e-test-5:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
env:
CI_NODE_INDEX: 4
CI_NODE_TOTAL: 5
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci --no-audit --prefer-offline
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test
Loading