Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New release for v3.5.4 #1280

Closed
wants to merge 20 commits into from
Closed

New release for v3.5.4 #1280

wants to merge 20 commits into from

Conversation

nknguyenhc
Copy link
Contributor

Summary:

New release for v3.5.4

Proposed Commit Message:

New release for v3.5.4

nknguyenhc and others added 20 commits January 25, 2024 13:39
Fix the broken link of a duplicate issue

Currently, the user cannot open the link to a duplicate issue
when opening an issue, as described in #1228.

The links now work as expected.
* Add whitespace validation

* Update whitespace validation for new issue

* Update whitespace validation for title of new issues

* Update whitespace validation for title of new issues

* Move validators into core

* Update import order

---------

Co-authored-by: Misra Aditya <[email protected]>
There is an uncaught error when the users click on an invalid internal link in Markdown or enter an invalid link in browser.

Internal links are unlikely to be used for bug reporting and are more likely to be invalid.

Let's show an error toaster and stop the navigation when clicking on an internal link in Markdown. Also, redirect the users to the login page if the users enter invalid link in browser.
Previously, image uploads depend on the user's default branch.
Now, we set the branch for image upload to be `main`. Images will 
be uploaded to `main` as a result.

---------

Co-authored-by: Chee Hong <[email protected]>
With preserving linebreaks, subset list items are rendered as a list,
and paragraph rendering is the same as Github.
Issue table settings such as page index are not 
saved when table is re-mounted.

This behavior inconveniences users as their settings 
are reset everytime they navigate to a specific issue and back.

Let's lift up the table settings of each mounted table to 
a service which the tables pull from when mounted.
Some of our packages are old and outdated. We should actively maintain 
and keep these packages up-to-date so it is easier to maintain in the 
future.

Let's upgrade to Angular 12 to keep our packages up-to-date.
Due to DOMPurify, the content used for preview is different.
However, given that ngx-markdown already has sufficient sanitation
by default, we remove sanitation by DOMPurify.
Currently, when a user attempts to submit a team response with an 
invalid assignee (defined as an assignee who has not joined the 
organization), the team response is processed (by adding the team 
response GitHub comment) before the assignee checks are made. The error 
message for an invalid assignee is also vague, only stating "Validation
Failed", with no additional context.

This causes the issue to be erroneously classified as “Responded” when
it has not actually been properly responded to as the “assignee” field 
would be left empty. The vague invalid assignee message also means users
will not know what to do to fix the issue.

This issue can be resolved by inverting the logic of team responses, 
ensuring the assignee validity is checked before making the team 
response comment. If the assignee is invalid, then the team response 
comment is never created, thus avoiding the erroneous classification. 
Also provided custom error parsing for invalid assignees to display 
proper reasons and actions for the validation failure for users to 
rectify the issue.

A proper diagram of the inversion of logic can be found in the pull
request:
#1264 (comment)
wait-on doesn't seem to be used at all in our workflows. Let's remove
it.
In order to use tslib, we need to include this compiler option in
tsconfig. Based off clean installs of angular 12 projects via ng new,
this setting appears to be the default as well.

See:
- https://angular.io/guide/typescript-configuration#tsconfig
- From https://www.npmjs.com/package/tslib
CATcher does not directly depend on node-fetch. After the removal of
electron, there are no more files depending on node-fetch.
- Remove `wait-on` as devDep
- Added `importHelpers: true` in `tsconfig.json` as part of `tslib`
- Remove `node-fetch` as dependency
Previously, upon login, users are brought to the
default landing page of the phase.

We redirect to the intended landing page,
with appropriate next route checking.
When CATcher's parsers were updated to use arcsecond, there was minimal
documentation within the codebase to explain how the parsers work. As
such, it was difficult to understand and maintain these parsers.

Let's add examples for each comment template and explain the parsers
that are more difficult to understand.
TSLint is now deprecated in favour of ESLint. We should keep our 
dependencies up-to-date.

Let's migrate to ESLint to ensure that our linter is up-to-date.
---------

Co-authored-by: Misra Aditya <[email protected]>
Co-authored-by: Wong Chee Hong <[email protected]>
Previously, a PR introduced new method signatures in AuthService.
However, these were not introduced in MockAuthService, causing 
the testing environment to fail when the application encountered these
undefined method signatures.

Lets address this regression by adding the method signatures for these
methods.
Some of our packages are old and outdated. We should actively maintain 
and keep these packages up-to-date so it is easier to maintain in the 
future.

Let's upgrade to Angular 13 to keep our packages up-to-date.
@nknguyenhc nknguyenhc closed this Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants