-
Notifications
You must be signed in to change notification settings - Fork 25
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
Merge main into release for v1.0.0 #213
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Remove label-filter-bar as module export Let's remove label-filter-bar as an module as it is not a standalone module but a component under the issues-viewer module.
* Remove label-filter-bar as module export * Update version number
Let's update the octicon and its colour for the closed PR
Upgrade to Angular version 9.1 Currently, our version of Angular is no longer supported, and has missing Typescript features such as optional chaining. Let's upgrade Angular to a LTS version, one major version at a time. --------- Co-authored-by: Kang Su Min <[email protected]>
Improve UIX for milestones and label-filter-bar Let's update the UIX for milestone and label filter bar: - the Label Filter Bar has been updated with its background colour and font-weight - the issues/PRs without milestones have been added a default milestone for filter purpose - the default milestone values for the filter have been updated to avoid confusion - the milestones displayed in the filter bar will be sorted automatically to aid searching by users
Currently, issue and PR html components are rendered within the cardview component. This creates the difficulty in the future when new features are to be added to issues and PRs. Let's - Separate out the issues and PR as a separate component - Replace the old tag with the new tags
Inefficient nesting of subscribers in IssueDataTable has introduced unnecessary and very expensive computes to WATcher. Let's - Improve WATcher's efficiency by removing the nesting of subscribers in IssueDataTable.ts
Add better error messages for invalid repo inputs. Long and unreadable errors are produced when invalid repos are provided in auth. This makes the app difficult to use and unintuitive. Catching and validating these errors will help us create a better experience for the user. Let's * Add more validation in `Repo` to ensure given repos are indeed valid * Add clearer logging to `GithubService` for better debugging. * Change behaviour of PhaseService to validate org and repoName from localStorage * Edit components that request for repo-based information to validate repos before requesting * Change `LabelFilterBarComponent` to complete loading regardless of errors received
Let's upgrade Angular version to v10.2 and use Node v14 instead of v12.
Reset the `IssuesDataTable` before fetching and repopulating Issues.
Add an additional CardViewComponent that displays unassigned Issues.
Refactor and remove uses of Electron from WATcher There are many uses of Electron in WATcher, even with the CATcher Electron app being deprecated. As such, there are many instances of unused code, which is bad practice. Removing instances of uses of Electron allows us to trim the codebase and remove dead code. Let's * Refactor and remove uses of Electron from WATcher * Remove all uses of Electron in the `src` folder. * Remove uses of Electron from `package.json` and other files * Delete folders such as `electron-utils` and files such as `postinstall` that are used to initialise electron * Remove and amend scripts in `package.json` that are involved in building the electron app * Edit `deployment-actions.yml` to remove pre-build actions from CD workflow
Add horizontal scroll to Issues Viewer Originally, if screen width was decreased or if a team had more than 4-5 members, there would be `CardViewComponents` beyond the page. This leads to a dampened UX. Let's add horizontal scrolling for `IssuesViewerComponent`.
Profile page requires reusing code from filter-related components. To avoid too much code duplication, let's modularise the filter bar and abstract out important aspects of filter-related components - Modularizes Filter bar into its own components - Moves labelfilterbar to a component within the abstracted out filterbar - Abstract out dropdownfilter into its own class - Abstract out interfaces for filterableSource and filterableComponents for better code quality - Further abstract out filter functionalities to reduce code duplication
Fixed - Sorts issues by updated_at attribute In the issue dashboard, when a user tries to sort the issues/PRs by date updated, the sequence of cards remain the same as the previous order (sorted by ID), even though some of the issues that have a smaller ID have been more recently updated. The value used to sort the issues or PRs is incorrect. Let's sort them by using the updated_at attribute in Issue.
Let's bump some of our libraries to a more updated version to resolve missing peer dependencies.
Issues stored in issue service are being reset each time initialize is called in IssuesViewerComponent. This is undesirable as this method can be called when users manually press back on the browser. As the issues cache is being managed via a cache manager, this will create a scenario where the cache manager claims that there are no changes to the repo but the cache has already been cleared. This causes issues to be cleared and no new issues are being loaded from the GitHub Server. Let's resolve this by moving the reset to be called when repo change event occurs instead.
Previously, when there are no milestones in a repo, there is still a `Milestone.DefaultMilestone` instance in WATcher, with the string representation of `Without a milestone` for issues without a milestone. This causes the milestone selector to show `Without a milestone` as the trigger text when it is selected. Let's * Disable the milestone selector * Set the display text to `No Milestones` when there are no milestones in a repository.
Update website title after changing repository Website title does not change if repository changes after signing in. Let's update the website title when changing repositories.
Add wrap for username in issues-viewer's card-view Let's add an overflow-wrap to the card title.
Show loading spinner on switch repository WATcher freezes before changing to new repository issues. Let's show a loading spinner upon switching to a new repository.
Enclose PR/issues in scrollable container User profiles are automatically hidden when scrolling down to read more issues, and can no longer be seen without scrolling back up. Being able to see user profiles at all times helps with knowing the author of each PR/issue. Let's change it so that the user profile mat-card is kept in sight while scrolling through PR/issues.
Let's add link to WATcher-docs in Readme.
Let's update the pull request template to provide more details.
Add autofill for repository URL with browser cache Adding autofill suggestions for repository location would improve the user experience when accessing WATcher again. Let's add repository URL autofill suggestions with the browser cache.
As a majority of the WATcher code base is ported over from CATcher, it includes a lot of unused code. One such area is the code related to creating and updating issues on GitHub. Since WATcher is mainly used to read data from GitHub and not modify data for now. Let's remove code that is related to modifying or creating repos
Extract method from header.component changeRepositoryInPhaseIfValid() is more suited to phase.service than header.component. Let's extract the method into phase.service where appropriate.
ngx-markdown is a markdown formatter/parser that was ported over from CATcher. As WATcher does not use any form of markdown parser, this package currently does not serve any use in WATcher. Therefore, let's remove the unused package and the related components.
Fix hover, click interaction with issue cards Issue cards are no longer interactable as a result of the scroll shadow implementation, likely due to specifing the z-index of issue cards. Let's fix the interactions with issue cards so that users can hover and click on them by modifying the implementation of scroll shadows.
Add RepoUrlCacheService to reduce code duplication Duplicate code for updating suggestions in localStorage and generating filtered suggestions exist. Let's reduce code duplication by extracting the code to a separate class.
Let's fix incorrect type declaration to run ng test without error.
Allow keyboard enter when changing repository Users are unable to submit input via the enter key, and must click on the Change Repo button. Let's change it so users are able to use the keyboard enter when changing repositories in the Change Repository dialog.
Adds a small button to reset existing filters on issues Previously, users have to unselect each issue tag individually. Let's add a small button to reset existing filters.
…l bar (#163) Change labels filter to dynamic height, fixed width, and shadow scroll Previous, in a repository without labels, or with few labels, the container would still be a fixed height of `400px`. Previously, in a repository with many labels, the container would be scrollable, but the scroll bar would be hidden. Let's * Change `scroll-container`'s `height` to be `max-height` * Change `scroll-container`'s `width` to be a fixed width of `280px` * Add shadow scroll bar
Fix elements spilling out of assignee header component when username is too long. Let's wrap long usernames instead of using a scrollbar.
Fix bug to vary chip size of label in filter-bar with length
Show indication when no labels are found Previously, when no labels are found, there was no indication. Let's * Show an indication when no labels match the input * Show an indication when the repository has no labels
Allow users to filter their PRs by 'Merged' status. Previously, merged PRs are only shown when status is selected as 'All'. Let's allow users to filter their PRs by 'Merged' status.
Previously, the page would show loading spinners, with no content, until all the data has been loaded. Let's * Display the page data once it is loaded. * Display loading spinners below the content, until all data has been loaded. * Change `Sync` to a spinner while the content is being loaded.
Let's allow users to use WATcher for their private repositories.
Update labels without needing to refresh Labels are only fetched on initialization, requiring users to refresh in order for labels to update. Let's change it so labels are updated periodically, and when the Sync button is clicked.
Change auth process to login before selecting repo Users select a repository before login. WATcher does not fix a single repository, and allows users to change the selected repository. Having users login to Github prior to selecting a repository would facilitate a smoother UX. Let's allow users to login before choosing a repository.
Remove unused method verifySessionAvailability
Throw error if there are too many pages to fetch Previously, if a repository with too many pages was opened, the application would hang or crash. This would not be a pleasant experience if a user were to accidentally open such a repository. Let's * Detect this scenario and handle it elegantly with an error message.
Add a check if newRepo string is different from the currentRepo string Previously, the phaseService would always be called to change the repository if the newRepoString is a valid repo. Let's first check if the newRepoString is different from the currentRepo before calling the phaseService to changeRepository.
* fix missing graphql-type.ts error * update .gitignore * Revert "update .gitignore" This reverts commit 4488b3d. * Revert "fix missing graphql-type.ts error" This reverts commit 5d09336. * fix oction displayed for draft pr * remove debugging message --------- Co-authored-by: Xinyu <[email protected]>
* fix missing graphql-type.ts error * update .gitignore * Revert "update .gitignore" This reverts commit 4488b3d. * Revert "fix missing graphql-type.ts error" This reverts commit 5d09336. * fix deprecated async function call * fix warning --------- Co-authored-by: Xinyu <[email protected]>
Change auth process to login before selecting repo Users select a repository before login. WATcher does not fix a single repository, and allows users to change the selected repository. Having users login to Github prior to selecting a repository would facilitate a smoother UX. Let's allow users to login before choosing a repository.
Improve efficiency of saving and deleting issue models Previously, saving and deleting issues took up to O(n^2). Let's * Remove unnecessary loops to achieve O(n).
Enhance error handling for switching to invalid repos Let's re-open the page to change repos when an invalid one is entered.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.