25 Commits

Author SHA1 Message Date
Ivan Kuchin 6bac672e60 use textarea for possibly multiline texts/commands 2026-05-21 17:07:34 +02:00
Tomas Hykel f39957d226 feat: Support semantic identifiers in Git snippets tooltip 2026-05-19 20:03:18 +02:00
Alexander Brandon Coles 6e8510ca1d [#66563] Migrate specs to Vitest
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
2026-05-08 09:52:17 +02:00
Ivan Kuchin 6e648e6551 return array of message parts instead of joining and splitting again 2026-04-15 21:06:34 +02:00
Ivan Kuchin 2503c8d20b provide separate paragrahps as separate -m arguments instead of relying on literal newlines
Also removes newline at the end which will be automatically inserted by
git
2026-04-15 20:41:44 +02:00
Ivan Kuchin 44eeba5ad3 fix sinqle quote escaping 2026-04-15 20:41:44 +02:00
Alexander Brandon Coles ec796281bd Merge pull request #22222 from opf/code-maintenance/remove-zone.js-spec-migration
[#72834] Migrate frontend specs to Zoneless, removing zone.js
2026-04-06 15:27:15 +01:00
Alexander Brandon Coles 6506e28d81 Fix zone.js migration for 3 remaining specs
- `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>
2026-04-06 14:50:42 +01:00
Mir Bhatia 05c179bf21 Use short path in github quick snippets copy helper 2026-04-02 17:04:51 +02:00
Alexander Brandon Coles c51283de3b Remove vestiges of JSHint config, comments 2025-08-12 17:44:45 +01:00
Klaus Zanders 81bc35da8e Simplify generation logic
Co-authored-by: Christophe Bliard <c.bliard@openproject.com>
2025-03-13 09:05:19 +01:00
Klaus Zanders fe026347d7 Change generation of git branch names to only allow [a-zA-Z\-_] 2025-03-12 17:08:37 +01:00
Alexander Brandon Coles cc4fbd0628 Replace invalid octal escape sequences in RegEx
TypeScript 5.5 introduces syntax checking for regexen.

See: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-5.html#regular-expression-syntax-checking
2025-01-27 08:15:05 -03:00
Judith Roth a0b38ba8ee [#56994] Fix git snippet for GitHub appear broken (although it isn't)
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
2024-08-12 16:48:24 +02:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Christophe Bliard c795874f7f Update copyright year for 2024
command used: `rg -l 'Copyright \(C\) 2012-202\d the OpenProject' | xargs -n 100 sed -i -r 's/Copyright \(C\) 2012-202. the OpenProject/Copyright (C) 2012-2024 the OpenProject/'`
2024-01-02 16:23:54 +01:00
Benjamin Bädorf 72a8976ab5 Drop-modal with portal 2023-01-26 18:00:37 +01:00
Christophe Bliard 21a696ef9b Update copyright information for 2023 2022-12-30 15:51:26 +01:00
Christophe Bliard bc8d423ec2 update copyright information for 2022 2022-03-01 17:05:59 +01:00
Oliver Günther ccfa29c728 Move license and copyright docs to root, fix names and references 2021-09-02 21:50:46 +02:00
Benjamin Bädorf 9432de82dd Refactor/remove tickety tick formatter (#9429)
* 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
2021-07-15 21:04:33 +02:00
Benjamin Bädorf 3a877457ad Feat/frontend linting (#9424)
* 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>
2021-07-08 15:38:01 +00:00
Aleix Suau 7e2e05c88f Feature/36390 code structure (#9319)
* core/shared/features in progress

* shared/components in progress

* Fix rebase errors

* core: added admin + apiv3

* shared: attachments + attirbute-help-text

* core: OpenprojectAugmentingModule

* shared: OpenprojectAutocompleterModule

* shared: Autocompleter

* feature: backlog

* feature: bim

* feature: boards

* shared: calendar

* core: userModule

* feature: dashboards

* shared: editor

* shared: fields

* shared: focus

* core: globalsearch

* shared: grid

* shared: grid fix

* core: hal

* shared: icon

* feature: invite user modal

* feature: job status

* shared: members autocomplete

* shared: modal

* feature: my page

* feature: overview

* shared: principal

* feature: projects

* feature: repoting

* core: routing

* shared: time entries

* shared: OpenprojectWorkPackageGraphsModule

* feature: workpackages

* core: active window

* shared: autofocus

* features: wp: back-button

* core: browser

* shared: collapseible section

* core: config

* shared: copy-to-clipboard

* shared: date-time

* shared: helpers: drag-and-drop

* shared: draggable autocompleter

* shared: dynamic bootstrapper

* shared: dynamic forms

* features: wp: edit actions bar

* shared: EditableToolbarTitleComponent

* core: BannersService

* shared: OpFormFieldComponent

* shared: hide section

* shared: highlight col

* core: I18 + Sanitizer

* shared: isClickedWithModifier

* core: LoadingIndicator

* core: Modal Heading

* core: Model auth

* shared: no results

* shared: notifications

* shared: datepicker

* shared: option-list

* core: path helper

* shared: persistent toggle

* shared: remote field

* shared: set click position

* shared: slide toggle

* shared: tabs

* shared: drag-scroll

* shared: keyCodes

* shared: OPSharedModule

* global styles: common

* core:

* import fixes

* shared: Enterprise banner

* features: wps: filters

* features: home screen

* import fixes

* core: html

* import fixes

* core: main-menu

* features: home screen

* shared: modals

* shared: op-context-menu

* core + shared: current project

* core: schema-cache

* shared: table-pagination

* features: wps: time-entries

* shared: user-link

* features: wps

* features: wps

* features: wps: all wp-* components

* core: states

* Rename: angular4-modules to app.module

* core: expression service

* Modules just with plugins

* Test fixes

* added missing content-tabs.component.sass

* Replaced with .op-ckeditor--wrapper

* Replaced by .op-ckeditor-source-element

* Replaced by the entire wysiwyg_editor.rb with dev version

* Replacements by ckeditor-augmented-textarea

* Fixes ./spec/support/components/work_packages/table_configuration_modal.rb:106

* Fixes ./modules/reporting/spec/features/update_entries_spec.rb:69

* work_packages renamed to work-packages

* TimeEntryChangeset moved to helpers

* 'filters' moved to wps/components

* 'admin' moved to features

* HAL moved to shared

* plugins moved to features

* plugins moved to features

* Test fixes

* Unit test fixes

* plugin generator into /features/plugins

* fix sass rule indentation

* Revert "plugins moved to features"

This reverts commit f65ccbfd4b.

* Import fixes

* Avoid commiting in linked plugins

Co-authored-by: ulferts <jens.ulferts@googlemail.com>
Co-authored-by: Oliver Günther <mail@oliverguenther.de>
2021-06-08 21:10:58 +02:00
Wieland Lindenthal e72d940b5b Feature/37108 improve design of GitHub tab (#9329)
* 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>
2021-06-01 10:29:05 +02:00
Philipp Tessenow a46de71009 [#36204] Add new GitHub plugin tab enabling users to copy git actions (#9027)
* 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
2021-04-07 09:34:56 +02:00