Apply Angular's Vitest migration schematic to update frontend and plugin
specs from Jasmine globals to Vitest APIs.
ng g @schematics/angular:refactor-jasmine-vitest
Fix migrated edge cases where async assertions or shallow tests changed.
https://community.openproject.org/wp/66563
- `op-autocompleter`: `jasmine.clock()` does not reliably intercept
RxJS `asyncScheduler` timers created inside other timer callbacks
(due to the component's `ngAfterViewInit` wrapping setup in
`setTimeout(..., 25)`). Converts the 'with debounce' test to
`async/await` with real `setTimeout` waits (100ms each), which
lets the component's internal timer chain complete naturally.
The two 'without debounce' tests are unaffected.
- `attribute-help-text`: replaces `await Promise.resolve()` with
`await new Promise(resolve => setTimeout(resolve, 0))`, which
guarantees the full 4-level Promise chain
(`async getId()` → `.then(show)` → `.finally(cleanup)`) has
settled before assertions run.
- `git-actions.service` (github_integration module): removes the
redundant `waitForAsync` `beforeEach` that was overwritten by a
second plain `beforeEach` anyway.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
For short commit messages it seemed like there was no whitespace
between the description and the link. This was never a problem
because when copying via the button newlines would be used to separate
the two. However, for short commit messages it looked broken.
https://community.openproject.org/projects/openproject/work_packages/56994
* Lazy load prettier dependency
* Remove tickety-tick-formatter completely
* Also escape dollar signs
* Fix branch name formatting
* Reduce commit message transformation for git-actions service to make it more in line with the tickety-tick formatter
* Update git commit formatter
* More fixes to formatter
* Fix regexes to work globally
* Also remove quotes from branch names
* Still trying to get these specs green
* Another tyr
* Change eslintrc config
* Try esprint fix
* Run linter fix
* Set most of the typescript linting rules to warn, run with --fix
* Fix some linting errors
* Optimize imports
* Build works again
* Remove fixes that didn't fix anything
* Make imports lint-conform again && disable trailing underscores as it is part of Angular and our convention
* Remove wrong automated fix
* Rename components with suffix "Component" for linting
* Linting, refactor reorder-delta-builder to a more functional style
* Update delta reorder specs
* Add exceptions for "++" in loops and bracket expressions in arrow functions
* Some linting fixes
* Fix some more linting
* Optimize imports
Co-authored-by: Henriette Darge <h.darge@openproject.com>
* Rename Git button to 'Git snippets'
* Change font for Github tab header
* Improve design of pr status badges
* Reorganize the design of PR headers
* Improve design of PR checks
* Improve design of git snippets menu
* Remove WP description from commit message and command
* Fix frontend specs for github integration
* Adding dots to the end of phrases.
* Github Integration: reduce dom depth. remove last border under PR
* Add target blank to PR details link & other fixes
* Fix work_package_github_tab_spec.rb
* Remove fdescribe
* Improve layout of Github pull requests tab header
* Add title to Github check icon
* Refactor classnames for github pull requests
This introduces `op-pull-request` and `op-pr-check` as BEM blocks, both in their own sass files, but the files still scoped to the pull request component.
* Fix frontend spec. Added karma Chrome debug config.
* Fix frontend specs after refactoring styles
Co-authored-by: Benjamin Bädorf <b.baedorf@openproject.com>
* Let GitHub integration show changes in a separate tab
* added new github integration icons to icon font
* add tab content: working tab-header and copy-menu
* modernise github_integrations ruby code
* refactored some code to be more modern ruby (if wrote most of it 7
years ago and couldn't look at some parts without squinting too much)
* make some intended-to-be-private module methods actually private
* fixed all rubocop errors in the /modules/github_integration
* re-organized tests a little
* gave our rubocop.yml some RSpec-related defaults -- happy to discuss
these, but I think we can live with these as a good starting point
👆 all without actually (intentionally) changing the behaviour
* removed dead angular template code
* codeclimate found more things than rubocop :)
* removed create-pr-button since we decided against implementing that feature
* added missing translations
* properly cache the github related part of the wp api
* lower case pull requests in translations
* fix specs