Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
be4d1a8
Javascript logging fix (D:1512)
abeverley May 13, 2026
a135b7d
Update changelist and version number
droberts-ctrlo May 13, 2026
8c00dad
Rebuild JS
abeverley May 13, 2026
85922b2
Fix cypress to work with newer browser versions
droberts-ctrlo Jun 19, 2026
30c43cd
Jest cleanup (#601)
droberts-ctrlo Feb 4, 2026
a367c49
Js formatting (#612)
droberts-ctrlo Apr 29, 2026
afc25d9
Added JSDocs (squashed from DR)
abeverley May 13, 2026
1c339a9
Formatted test and config code and updated test files
droberts-ctrlo Jul 16, 2025
6f2a230
Updated error handler
droberts-ctrlo Dec 2, 2025
263c94b
Added editorconfig and upgraded ESLint to current version
droberts-ctrlo Jul 17, 2025
bf1b190
Formatted and changed code with ESLint fixes - functionality has not …
droberts-ctrlo Jul 17, 2025
c0c1a4a
Created and updated JSDoc and TS typings where necessary
droberts-ctrlo Jul 25, 2025
8ed1fc8
Updated linting rules, and added comments where required
droberts-ctrlo Jul 29, 2025
2240eb9
Updated and removed extra dependencies and exports where not required
droberts-ctrlo Aug 5, 2025
d2700eb
Updated with changes within current dev
droberts-ctrlo Aug 19, 2025
10ce489
Fix where review highlighted errors or invalid changes
droberts-ctrlo May 14, 2026
6d39e68
Fixed formatting and code where this was broken on merge with current…
droberts-ctrlo Aug 4, 2025
aa0e02f
Upgraded packages and set up new webpack config
droberts-ctrlo Jul 31, 2025
bcbe514
Removed extra unused dependencies
droberts-ctrlo Aug 5, 2025
b0904d0
Updated to new DataTables.net API
droberts-ctrlo Jul 31, 2025
18d1b19
Fix errors in merge for DT fullscreen
droberts-ctrlo May 21, 2026
42ae389
Fix code due to review
droberts-ctrlo May 21, 2026
539e0e9
Further fix from review
droberts-ctrlo May 21, 2026
4f5f392
Updated packages where required
droberts-ctrlo Jun 9, 2026
14f85fb
Package upgrades
droberts-ctrlo Jun 9, 2026
4810fb1
Updated error handler
droberts-ctrlo Dec 2, 2025
190db36
Updated dashboard and react components
droberts-ctrlo Aug 5, 2025
d857914
Fixes after review
droberts-ctrlo Jun 15, 2026
e1eb83f
Fix typo from rebase
droberts-ctrlo Jul 20, 2026
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
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.8.0
2.8.3
12 changes: 12 additions & 0 deletions changelist.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,16 @@
# GADS Changelist
--------
**Version**: 2.8.3
**Released**: 13-05-2026

# Fixes

- Fix for error in JS logging
- Fix error in drag and drop
- Better error for when duplicate curval ID's are present

# QoL Fixes

--------
**Version**: 2.8.2
**Released**: 01-05-2026
Expand Down
2 changes: 1 addition & 1 deletion lib/GADS.pm
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ tie %{schema->storage->dbh->{CachedKids}}, 'Tie::Cache', 100;
# required for that)
GADS::DB->setup(schema);

our $VERSION = '0.1';
our $VERSION = '2.8.3';

# set serializer => 'JSON';
set behind_proxy => config->{behind_proxy}; # XXX Why doesn't this work in config file
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
"@types/typeahead.js": "^0.11.6",
"autoprefixer": "^10.5.0",
"babel-loader": "^10.1.1",
"buffer": "^6.0.3",
"clean-webpack-plugin": "^4.0.0",
"copy-webpack-plugin": "^14.0.0",
"core-js": "^3.49.0",
Expand Down
2 changes: 1 addition & 1 deletion public/js/site.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import DataTable from 'datatables.net-bs4';
import DataTable from 'datatables.net';

/**
* Create a toggle button
Expand Down
2 changes: 1 addition & 1 deletion src/frontend/components/data-table/lib/helper.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,4 @@ describe.skip('helper - Jest really doesn\'t like JQuery right now!', () => {
clearTable($(target));
expect(target.querySelectorAll('tbody tr').length).toBe(1);
});
});
});
16 changes: 8 additions & 8 deletions src/frontend/js/lib/logging.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ class Logging {
if (this.allowLogging) {
console.log(...message);
} else {
const message = this.formatMessage('log', ...message);
uploadMessage(message);
const msg = this.formatMessage('log', ...message);
uploadMessage(msg);
}
}

Expand All @@ -38,8 +38,8 @@ class Logging {
if (this.allowLogging) {
console.info(...message);
} else {
const message = this.formatMessage('info', ...message);
uploadMessage(message);
const msg = this.formatMessage('info', ...message);
uploadMessage(msg);
}
}

Expand All @@ -51,8 +51,8 @@ class Logging {
if (this.allowLogging) {
console.warn(...message);
} else {
const message = this.formatMessage('warn', ...message);
uploadMessage(message);
const msg = this.formatMessage('warn', ...message);
uploadMessage(msg);
}
}

Expand All @@ -64,8 +64,8 @@ class Logging {
if (this.allowLogging) {
console.error(...message);
} else {
const message = this.formatMessage('error', ...message);
uploadMessage(message);
const msg = this.formatMessage('error', ...message);
uploadMessage(msg);
}
}

Expand Down

This file was deleted.

17 changes: 14 additions & 3 deletions src/frontend/js/lib/util/scriptErrorHandler/lib/MessageUploader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,33 @@ export const uploadMessage = async (message: string) => {
description: message,
url: window.location.href
};
const uploader = new Uploader('/api/script_error', 'POST');
const messageUploader = new MessageUploader(uploader);
const messageUploader = MessageUploader.instance;
return await messageUploader.uploadMessage(body.description);
};

/**
* Class to upload messages to the server. It takes an instance of Uploader to handle the actual upload process.
*/
export class MessageUploader {
class MessageUploader {
private static _instance: MessageUploader;

/**
* Create an instance of MessageUploader.
* @param uploader The uploader to use when uploading messages
*/
constructor(private uploader: Uploader) {
}

/**
* Get the singleton instance of MessageUploader. If it doesn't exist, create a new instance with a new Uploader.
*/
static get instance(): MessageUploader {
if (!this._instance) {
this._instance = new MessageUploader(new Uploader('/api/script_error', 'POST'));
}
return this._instance;
}

/**
* Upload a message to the server. It constructs the request body with the message description,
* current URL, and CSRF token, then uses the uploader to send the data. If the upload fails, it logs an error to the console.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { describe, it, expect } from '@jest/globals';
import { TypeaheadBuilder } from './TypeaheadBuilder';

describe('builder', () => {
Expand Down
2 changes: 1 addition & 1 deletion views/layouts/main.tt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@
%]
</div>
<script type="text/javascript" src="[% url.js %]/fengari-web.js"></script>
<script type="text/javascript" src="[% url.js %]/site.js?v=39"></script>
<script type="text/javascript" src="[% url.js %]/site.js?v=40"></script>
</body>
</html>
Loading
Loading