diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 0000000..fac3071
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,55 @@
+name: Deploy to GitHub Pages
+
+on:
+ # Deploy automatically when pushing to master
+ push:
+ branches:
+ - master
+ # Allow manual deployment from the Actions tab
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: "pages"
+ cancel-in-progress: false
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ # Currently deploying static files directly.
+ # When upgrading to Vite, add build steps here:
+ #
+ # - name: Setup Node
+ # uses: actions/setup-node@v4
+ # with:
+ # node-version: '20'
+ #
+ # - name: Install dependencies
+ # run: npm ci
+ #
+ # - name: Build
+ # run: npm run build
+ #
+ # Then change the upload path below from '.' to './dist' (or your build output directory)
+
+ - name: Setup Pages
+ uses: actions/configure-pages@v4
+
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ # Deploy everything in the root directory
+ # Change to './dist' when using Vite
+ path: '.'
+
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/OpenPRs.html b/OpenPRs.html
index 0c64d94..0098d80 100644
--- a/OpenPRs.html
+++ b/OpenPRs.html
@@ -9,7 +9,7 @@
-
+
@@ -215,20 +215,17 @@
-
-
+
diff --git a/SearchResults.js b/SearchResults.js
index 20d0afb..48273fc 100644
--- a/SearchResults.js
+++ b/SearchResults.js
@@ -125,8 +125,11 @@ function SearchResults() {
var nextLinks = linksHeader.split(",").filter(function (link) { return link.endsWith(nextLinkSuffix); });
if (nextLinks.length > 0) {
var nextLink = nextLinks[0];
- nextLink = nextLink.substring(1, nextLink.length - nextLinkSuffix.length - 1);
- getPage(nextLink);
+ // Extract URL from ; rel="next" format
+ var match = nextLink.match(/<([^>]+)>/);
+ if (match) {
+ getPage(match[1]);
+ }
} else if (onComplete)
onComplete(pullRequests, totalCount);
})
diff --git a/TravisBuilds.js b/TravisBuilds.js
deleted file mode 100644
index ad9e787..0000000
--- a/TravisBuilds.js
+++ /dev/null
@@ -1,55 +0,0 @@
-function TravisBuilds(repo, branch) {
- var self = this;
-
- self.buildState = ko.observable();
- self.previousBuildState = ko.observable();
-
- function specificState(buildState, state) {
- return ko.pureComputed(function () { return buildState() == state; });
- }
- self.created = specificState(self.buildState, "created");
- self.started = specificState(self.buildState, "started");
- self.passed = specificState(self.buildState, "passed");
- self.failed = specificState(self.buildState, "failed");
-
- self.building = ko.pureComputed(function() { return self.created() || self.started(); });
-
- self.lastCompleteBuildState = ko.pureComputed(function() {
- return self.building() ? self.previousBuildState() : self.buildState();
- });
- self.lastCompleteBuildPassed = specificState(self.lastCompleteBuildState, "passed");
- self.lastCompleteBuildFailed = specificState(self.lastCompleteBuildState, "failed");
-
- function request(method, uri, data, success) {
- return $.ajax(
- {
- type: method,
- url: "https://api.travis-ci.com" + uri,
- beforeSend: function(jqXHR, settings) {
- jqXHR.setRequestHeader("Travis-API-Version", "3");
- jqXHR.setRequestHeader("Authorization", "token " + travisAccessCode);
- return true;
- },
- data: data,
- dataType: "json",
- success: success
- });
- }
-
- function get(uri, success) { return request("GET", uri, null, success); }
- function post(uri, data, success) { return request("POST", uri, data, success); }
-
- self.update = function() {
- get(
- "/repo/" + encodeURIComponent(repo) + "/branch/" + encodeURIComponent(branch),
- function (data, textStatus, jqXHR) {
- self.buildState(data.last_build.state);
- self.previousBuildState(data.last_build.previous_state);
- });
- }
-
- self.load = function () {
- self.update();
- setInterval(function() { self.update(); }, 1 * 60 * 1000);
- };
-}
diff --git a/credentials.sample.js b/credentials.sample.js
index 0ab4809..7d2d7ee 100644
--- a/credentials.sample.js
+++ b/credentials.sample.js
@@ -6,9 +6,6 @@ var username = "username";
// A personal access token from https://github.com/settings/tokens
var accessCode = "token";
-// An API token from https://developer.travis-ci.com/authentication
-var travisAccessCode = "token";
-
// ///////////////////// Leave the below /////////////////////
$.ajaxSetup({