Commit Graph

49 Commits

Author SHA1 Message Date
316ca7c042 Removed manual check of email
New users would never be able to login because of the manual checking of email.
This has happened since the requirements and code has changed over time and we
missed the manual constraint.

This is related to the fix where we removed the database constraint.
2025-03-31 13:33:46 +02:00
35b1a306e1 Merge pull request 'Clarify about text' () from about-text-rewrite into develop
Reviewed-on: 
2025-03-27 06:49:37 +01:00
349025f200 Clarify about text
The last paragraph in the about page, stated that 'All processing is done locally ...'.
It was not clear enough where 'locally' actually was.

Changed the last paragraph to have more clarity.
The rewrite reads like this:
'All processing is done locally at the Department of Computer and Systems Sciences (DSV), Stockholm University, Sweden.
 No information is transmitted to external servers or cloud services, ensuring your privacy and data security.'
2025-03-27 06:48:19 +01:00
9bf855875b Merge pull request 'Title in head element' () from head-title-spelling into develop
Reviewed-on: 
2025-03-26 10:17:34 +01:00
b7b74f2e35 Title in head element
The title in the head element was mispelled previously
it showed 'Seshat Auido Transcriber'.

Now it's fixed to the correct spelling 'Seshat Audio Transcriber'.
2025-03-26 10:05:01 +01:00
f7466a57df Use OAuth 2.0 Token Introspection during log in ()
Currently, it uses an endpoint similar to OpenID Connect UserInfo but with some differences. The endpoint does not require the "openid" scope for example. There is an ongoing effort to replace the OAuth 2.0 authorization server with a more standard compliant one which would break the endpoint (since it would require the "openid" scope). It is currently not possible to request the "openid" scope to future-proof since Spring would act differently if that scope is present and assume full OpenID Connect. That leads to requiring an id token to have been issued which the current authorization server does not do.

To get around this the implementation is changed to use a standard compliant Token Introspection endpoint to get access to the subject of the access token (which is the only part that's necessary right now). Since the endpoint is standard compliant it will work with any future authorization server.

It may be necessary to run docker compose up --build to get the latest version of the Toker containers.

Co-authored-by: Andreas Svanberg <andreass@dsv.su.se>
Reviewed-on: 
Reviewed-by: Andreas Svanberg <andreass@dsv.su.se>
Co-authored-by: Nico Athanassiadis <nico@dsv.su.se>
Co-committed-by: Nico Athanassiadis <nico@dsv.su.se>
2025-03-25 15:48:32 +01:00
263774f74b Merge pull request 'about-and-progress-bar' () from about-and-progress-bar into develop
Reviewed-on: 
2025-03-24 14:01:23 +01:00
3ca8101796 Restiled to work with mobile units
Previously when using a mobile unit there was a vertical and horizontal scroll outside the content.

Now there is no vertical or horizontal scrolling outuside the content area, and no horizontal scrolling when using a mobile device.
2025-03-24 13:23:50 +01:00
e39c5daaa5 About page and progress bar
Added an about page that describes succinctly what the application is and what tech it is using.
Made it as a single page so that a link can be referenced in text.

Added a progressbar when uploading files.
2025-03-24 11:42:49 +01:00
48845951cb Merge pull request 'Update README.md' () from niat8586-patch-1 into develop
Reviewed-on: 
2025-03-07 10:14:06 +01:00
ee045fe3de Update README.md 2025-03-07 10:13:20 +01:00
b16f6c2a24 Merge pull request 'Powered with Whisper AI' () from whisper-text into develop
Reviewed-on: 
2025-03-07 10:08:32 +01:00
5dfa5875ee Powered with Whisper AI
Added text under the Seshat Audio Transcriber heading so that users know
that the application uses whisper ai. The text is also clickable and
opens a new tab or window that goes to https://openai.com/index/whisper
if the users wants to learn more about whisper ai.
2025-03-07 10:06:59 +01:00
b56109eb4d Merge pull request 'Ensure that jobs are enqueued after application restart.' () from ensure-requeuing-jobs-on-restart into develop
Reviewed-on: 
2025-02-09 15:50:33 +01:00
af439dda32 Ensure that jobs are enqueued after application restart.
Jobs that are in state of PROCESSING or PENDING will be enqueued after
application restart so users that have had an uploaded file in PROCESSING or PENDING do not
need to manually re-upload the files again.
2025-02-09 15:45:04 +01:00
9f186c8406 Merge pull request 'Do not log transcribed text from whisper' () from turn-off-verbose-mode into develop
Reviewed-on: 
2025-02-07 11:37:27 +01:00
5eeca0dcd0 Do not log transcribed text from whisper
Turning off the verbose mode when calling whisper process.
This should fix issue 
2025-02-07 11:33:12 +01:00
f6dfed08ee Merge pull request 'Will not use matomo' () from matomo-web-analytics into develop
Reviewed-on: 
2025-02-07 11:23:23 +01:00
c14c38bf3f Will not use matomo
Decided to not use matomo for analytics.
The application is a single page.
Any statistics we want we can parse from the logs.

An issue  has been added to make the logs more parse friendly.
2025-02-07 11:18:43 +01:00
5bd8350fb6 Merge pull request 'Changes in the matomo script' () from matomo-web-analytics into develop
Reviewed-on: 
2025-02-07 10:05:35 +01:00
4b9ea7b148 Changes in the matomo script 2025-02-07 10:01:15 +01:00
fc166e7e43 Merge pull request 'Testing matomo webanalytics' () from matomo-web-analytics into develop
Reviewed-on: 
2025-02-07 09:54:51 +01:00
32e75b17c0 Testing matomo webanalytics
Adding some web-analytics for statistics purposes
2025-02-07 09:50:36 +01:00
f6de1c74cb Merge pull request 'Simple file content validation' () from simple-client-validation into develop
Reviewed-on: 
Reviewed-by: Andreas Svanberg <andreass@dsv.su.se>
2025-02-04 11:32:32 +01:00
1d38c59643 Changed arrow function so that the parameter is clearly shown inside a parentheses.
Changed the alert text a bit to make it more clear that they need to select an
audio or video file to upload.
2025-02-04 11:28:19 +01:00
efb0f72a88 Changed validation to work on mime type instead.
It now only accepts audio/* and video/* mime types.
2025-02-04 11:10:51 +01:00
a37f4bb60b Added .mkv to accepted and allowedExtensions 2025-02-04 10:22:53 +01:00
652f6ec22a Removed unused const in validateFile function 2025-02-04 10:04:15 +01:00
448c1e9d6b Simple file content validation
Instead of enforcing we are "warning" that the outcome for the selected file may not work as expected
2025-02-04 10:03:09 +01:00
b948beaa2b Simple file content validation
Added a simple file content validation to what files can be uploaded.
This should at least help users select the correct file type.

There is no server side validation and that is something we actually will need to implement
at some point.
2025-02-04 09:44:48 +01:00
8430f36f50 Merge pull request 'Ensure clean up of uploaded file if job fails.' () from failed-job-cleanup into develop
Reviewed-on: 
2025-02-04 06:43:13 +01:00
cced346d3b Ensured clean up of uploaded file if job fails.
Previously if a job failed and it's status was set to `JobStatus.FAILED` the uploaded
file was never removed. Which was the intended design. This was an omission.

Now if the job is set to FAILED, the uploaded file will be removed correctly.
This is to ensure that uploaded files do not persist in perpetuity on the file system.

FileMetadata will still be available in the DB (B.N. not the actual file).
2025-02-04 06:39:07 +01:00
03f8f6bfaa Merge pull request 'ui-fixes' () from ui-fixes into develop
Reviewed-on: 
2025-02-03 08:40:25 +01:00
d390552dc3 Better user experience, user no longer needs to manually refresh page.
Utilizing htmx to load and trigger relevant parts of the page.
`PENDING` and `PROCESSING` uploaded files now have a spinner to show that something
is happening behind the scenes.

Once a file is completed a trigger will be sent so the `Your Transcribed Files` section
will be updated with the new file.

Note: A side effect that needs addressing later is that the checkbox to select all transcribed files
stops working as intended. The side effect dispersal after a refresh of the page and the select all checkbox works.
User can still select multiple files with the checkboxes and download selected as intended.
2025-02-03 08:35:09 +01:00
9bd90341ee Removed webjars
I experienced some weird behavior when using webjars to get the dependencies of
bootstrap, bootstrap-icons, htmx. Opted to manually download and include the
files in the project instead.

All the files can be found under a folder called 3p with their respective subfolder.
2025-01-31 09:37:28 +01:00
f9b60b8fd0 Removed CDNs replaced with webjars
Since we are going to production we should not make use of CDNs
For more information you can read https://blog.wesleyac.com/posts/why-not-javascript-cdn

Now uses webjars to take down the needed dependencies.

Also moved the javascript to its own file.
2025-01-27 08:51:33 +01:00
fc5c202b53 Merge pull request 'Fixed the whisper.working-directory property to include the env folder as well.' () from properties-fix into develop
Reviewed-on: 
2025-01-14 14:01:13 +01:00
c1843b89f9 Fixed the whisper.working-directory property to include the env folder as well. 2025-01-14 13:58:04 +01:00
2071b13004 Merge pull request 'Added explicit whisper properties, so the application is easier to configure.' () from properties-login-and-files into develop
Reviewed-on: 
2025-01-14 12:50:08 +01:00
2e680f2bd8 Added explicit whisper properties, so the application is easier to configure.
Changed the upload and output root so when developing you can more easily find the files.
Model folder is also changed to be consistent with other directory changes.
Users are no longer required to go from a login page and click on the application name to get to oauth login.
Transcribed files in the files management view are now sorted the same way as the uploaded file status.
2025-01-14 12:46:08 +01:00
7b6087ad89 Merge pull request 'Added testcontainers' () from seshat-testcontainers into develop
Reviewed-on: 
2025-01-13 12:43:00 +01:00
6871172d57 Added testcontainers
Added testcontainers so we can run the tests without starting the db, since it's dockerized.
2025-01-13 12:39:46 +01:00
d8de67c45d Merge pull request 'Fixed an issue with the css for the table-wrapper class' () from css-fix-table-wrapper into develop
Reviewed-on: 
2025-01-13 12:13:44 +01:00
780c7c7184 Fixed an issue with the css for the table-wrapper class
The section that uses this class was not working properly due to the
missing overflow-y: scroll statement.

The idea was to only show 3 of the uploaded files at a time, when the overflow statement was missing
the other uploaded files where bleeding through and over the transcribed files section.

This should fix that issue so that the uploaded file section does not bleed over the transcribed section content.
2025-01-13 12:10:01 +01:00
c9df177a57 Merge pull request 'SSO Oauth 2 - and other improvements.' () from single-sign-on-oauth2 into main
Reviewed-on: 
2025-01-09 10:31:30 +01:00
e4e2f75f94 SSO Oauth 2 - and other improvements.
Single sign on has been added, it works in the same fashion as the Scipro application.

Application no longer supports self registration of users.

Users can now upload the same file again if they want too.

UI SU logotype added, "look and feel" a la stockholm university.
UI improved feedback of the uploaded files, now also shows when a file was uploaded together with the status
UI improved feedback of the transcribed files, files are grouped in collapsable divs based on the source file.
The transcribed files section also shows when the files where created which are based on the upload of the source file,
this to help differentiate if the user uploaded the same source file.
Bulk download zip file will have a folder structure resembling the grouped structure from the transcribed files section,
transcribed files belonging together will be in their correct folder.

Increased the varchar limit from the default value to a more appropriate value to handle long file names or paths.
When cleaning up files the application now cleans up empty folders when needed.

The application needs a bit more internal improvements and polish, for example in some places the application
both uses java.io and java.nio it would be better to use java.nio across the board.
This can be done at a later date.
2025-01-09 07:46:37 +01:00
f5b8179b79 Update README.md 2024-12-17 11:56:53 +01:00
63301d578c Update README.md 2024-12-02 10:24:45 +01:00
ccc0ab104a Initial commit 2024-12-02 10:18:41 +01:00