Skip to content

Commit 4d9a133

Browse files
Release OpenProject 11.3.3
2 parents c72ab48 + 80f49b1 commit 4d9a133

File tree

65 files changed

+568
-401
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+568
-401
lines changed

.github/workflows/test-core.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
${{ runner.os }}-core-tests-
4848
- name: test
4949
run: |
50-
docker-compose -f docker-compose.ci.yml build ci
50+
docker-compose -f docker-compose.ci.yml build --pull ci
5151
docker-compose -f docker-compose.ci.yml run ci setup-tests run-units
5252
- name: cleanup
5353
if: ${{ always() }}
@@ -77,7 +77,7 @@ jobs:
7777
${{ runner.os }}-core-tests-
7878
- name: test
7979
run: |
80-
docker-compose -f docker-compose.ci.yml build ci
80+
docker-compose -f docker-compose.ci.yml build --pull ci
8181
docker-compose -f docker-compose.ci.yml run ci setup-tests run-features
8282
- name: cleanup
8383
if: ${{ always() }}

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.7.3
1+
2.7.4

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
source 'https://rubygems.org'
3030

31-
ruby '~> 2.7.3'
31+
ruby '~> 2.7.4'
3232

3333
gem 'actionpack-xml_parser', '~> 2.0.0'
3434
gem 'activemodel-serializers-xml', '~> 1.0.1'

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1117,7 +1117,7 @@ DEPENDENCIES
11171117
with_advisory_lock (~> 4.6.0)
11181118

11191119
RUBY VERSION
1120-
ruby 2.7.3p183
1120+
ruby 2.7.4p191
11211121

11221122
BUNDLED WITH
11231123
2.1.4

app/controllers/messages_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ def quote
144144
subject = @message.subject.gsub('"', '\"')
145145
subject = "RE: #{subject}" unless subject.starts_with?('RE:')
146146
content = "#{ll(Setting.default_language, :text_user_wrote, user)}\n> "
147-
content << text.to_s.strip.gsub(%r{<pre>((.|\s)*?)</pre>}m, '[...]').gsub('"', '\"').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
147+
content << text.to_s.strip.gsub(%r{<pre>(.+?)</pre>}m, '[...]').gsub('"', '\"').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
148148

149149
respond_to do |format|
150150
format.json { render json: { subject: subject, content: content } }

app/helpers/sentry_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ def sentry_frontend_dsn_tag
1414
data: {
1515
dsn: OpenProject::Configuration.sentry_frontend_dsn,
1616
version: OpenProject::VERSION.to_s,
17-
tracing_rate: OpenProject::Configuration.sentry_traces_sample_rate
17+
tracing_factor: OpenProject::Configuration.sentry_frontend_trace_factor
1818
}
1919
end
2020

app/services/groups/set_attributes_service.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class SetAttributesService < ::BaseServices::SetAttributes
3333
private
3434

3535
def set_attributes(params)
36-
set_users(params)
36+
set_users(params) if params.key?(:user_ids)
3737
super
3838
end
3939

config/initializers/sentry.rb

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,51 @@ class SentryJob < Sentry::SendEventJob
3737
# Sample rate for performance
3838
# 0.0 = disabled
3939
# 1.0 = all samples are traced
40-
config.traces_sample_rate = OpenProject::Configuration.sentry_traces_sample_rate
41-
config.traces_sampler = lambda do |sampling_context|
42-
# ignore health checks transactions
43-
!["/health_checks"].include?(sampling_context[:transaction_context][:name])
40+
sample_factor = OpenProject::Configuration.sentry_trace_factor.to_f
41+
42+
# Define a tracing sample handler
43+
trace_sampler = lambda do |sampling_context|
44+
# if this is the continuation of a trace, just use that decision (rate controlled by the caller)
45+
next sampling_context[:parent_sampled] unless sampling_context[:parent_sampled].nil?
46+
47+
# transaction_context is the transaction object in hash form
48+
# keep in mind that sampling happens right after the transaction is initialized
49+
# for example, at the beginning of the request
50+
transaction_context = sampling_context[:transaction_context]
51+
52+
# transaction_context helps you sample transactions with more sophistication
53+
# for example, you can provide different sample rates based on the operation or name
54+
op = transaction_context[:op]
55+
transaction_name = transaction_context[:name]
56+
57+
rate = case op
58+
when /request/
59+
case transaction_name
60+
when /health_check/
61+
0.0
62+
else
63+
[0.1 * sample_factor, 1.0].min
64+
end
65+
when /delayed_job/
66+
[0.01 * sample_factor, 1.0].min
67+
else
68+
0.0 # ignore all other transactions
69+
end
70+
71+
Rails.logger.debug { "[SENTRY TRACE SAMPLER] Decided on sampling rate #{rate} for #{op}: #{transaction_name} " }
72+
73+
rate
74+
end
75+
76+
# Assign the sampler conditionally to avoid running the lambda
77+
# when we don't trace anyway
78+
if sample_factor.zero?
79+
Rails.logger.debug { "[SENTRY TRACE SAMPLER] Requested factor is zero, skipping performance tracing" }
80+
config.traces_sample_rate = 0
81+
config.traces_sampler = nil
82+
else
83+
Rails.logger.debug { "[SENTRY TRACE SAMPLER] Requested factor is #{sample_factor}, setting up performance tracing" }
84+
config.traces_sampler = trace_sampler
4485
end
4586

4687
# Set release info

config/locales/crowdin/el.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ el:
203203
no_results_title_text: Προς το παρόν δεν υπάρχουν έργα
204204
no_results_content_text: Δημιουργία νέου έργου
205205
settings:
206-
change_identifier: Change identifier
206+
change_identifier: Αλλαγή αναγνωριστικού
207207
activities:
208208
no_results_title_text: Προς το παρόν δεν υπάρχουν διαθέσιμες δραστηριότητες.
209209
forums:
@@ -225,7 +225,7 @@ el:
225225
index:
226226
no_results_title_text: Αυτή τη στιγμή δεν υπάρχουν μέλη που να αποτελούν μέρος αυτού του έργου.
227227
no_results_content_text: Προσθέστε ένα μέλος στο έργο
228-
invite_by_mail: "Send invite to %{mail}"
228+
invite_by_mail: "Αποστολή πρόσκλησης στο %{mail}"
229229
my:
230230
access_token:
231231
failed_to_reset_token: "Αποτυχία επαναφοράς του token πρόσβασης: %{error}"
@@ -832,7 +832,7 @@ el:
832832
label_create_token: "Δημιουργία token αντιγράφου ασφαλείας"
833833
label_delete_token: "Διαγραφή token αντιγράφου ασφαλείας"
834834
label_reset_token: "Επαναφορά token αντιγράφου ασφαλείας"
835-
label_token_users: "The following users have active backup tokens"
835+
label_token_users: "Οι ακόλουθοι χρήστες έχουν ενεργά token αντιγράφων ασφαλείας"
836836
reset_token:
837837
action_create: Δημιουργία
838838
action_reset: Επαναφορά
@@ -1532,8 +1532,8 @@ el:
15321532
label_member_new: "Νέο μέλος"
15331533
label_member_all_admin: "(Όλοι οι ρόλοι λόγω κατάστασης διαχειριστή)"
15341534
label_member_plural: "Μέλη"
1535-
lable_membership_added: 'Member added'
1536-
lable_membership_updated: 'Member updated'
1535+
lable_membership_added: 'Το μέλος προστέθηκε'
1536+
lable_membership_updated: 'Το μέλος ενημερώθηκε'
15371537
label_menu_item_name: "Όνομα στοιχείου μενού"
15381538
label_message: "Μήνυμα"
15391539
label_message_last: "Τελευταίο μήνυμα"
@@ -1855,8 +1855,8 @@ el:
18551855
mail_body_account_activation_request: "'Ένας νέος χρήστης (%{value}) έχει εγγραφεί. Ο λογαριασμός είναι σε στάδιο αναμονής της έγκρισης σας:"
18561856
mail_body_account_information: "Πληροφορίες του λογαριασμού σας"
18571857
mail_body_account_information_external: "Μπορείτε να χρησιμοποιήσετε τον λογαριασμό %{value} για να συνδεθείτε."
1858-
mail_body_backup_ready: "Your requested backup is ready. You can download it here:"
1859-
mail_body_backup_token_reset_admin_info: The backup token for user '%{user}' has been reset.
1858+
mail_body_backup_ready: "Το ζητούμενο αντίγραφο ασφαλείας είναι έτοιμο. Μπορείτε να το κατεβάσετε εδώ:"
1859+
mail_body_backup_token_reset_admin_info: Το token αντιγράφου ασφαλείας για το χρήστη '%{user}' έχει επαναφερθεί.
18601860
mail_body_backup_token_reset_user_info: Your backup token has been reset.
18611861
mail_body_backup_token_info: The previous token is no longer valid.
18621862
mail_body_backup_waiting_period: The new token will be enabled in %{hours} hours.
@@ -1877,7 +1877,7 @@ el:
18771877
mail_body_wiki_content_added: "Η σελίδα wiki '%{id}' προστέθηκε από τον %{author}."
18781878
mail_body_wiki_content_updated: "Η σελίδα wiki '%{id}' ενημερώθηκε από τον %{author}."
18791879
mail_subject_account_activation_request: "Αίτηση ενεργοποίησης του λογαριασμού %{value}"
1880-
mail_subject_backup_ready: "Your backup is ready"
1880+
mail_subject_backup_ready: "Το αντίγραφο ασφαλείας σας είναι έτοιμο"
18811881
mail_subject_backup_token_reset: "Backup token reset"
18821882
mail_subject_lost_password: "Ο %{value} κωδικός σας"
18831883
mail_subject_register: "Ενεργοποίηση του %{value} λογαριασμού σας"
@@ -1891,21 +1891,21 @@ el:
18911891
added_by:
18921892
without_message: "%{user} added you as a member to the project '%{project}'."
18931893
with_message: "%{user} added you as a member to the project '%{project}' writing:"
1894-
roles: "You have the following roles:"
1894+
roles: "Έχετε τους ακόλουθους ρόλους:"
18951895
mail_member_updated_project:
1896-
subject: "%{project} - Your roles have been updated"
1896+
subject: "%{project} - Οι ρόλοι σας έχουν ενημερωθεί"
18971897
body:
18981898
updated_by:
18991899
without_message: "%{user} updated the roles you have in the project '%{project}'."
19001900
with_message: "%{user} updated the roles you have in the project '%{project}' writing:"
1901-
roles: "You now have the following roles:"
1901+
roles: "Πλέον έχετε τους ακόλουθους ρόλους:"
19021902
mail_member_updated_global:
19031903
subject: "Your global permissions have been updated"
19041904
body:
19051905
updated_by:
19061906
without_message: "%{user} updated the roles you have globally."
19071907
with_message: "%{user} updated the roles you have globally writing:"
1908-
roles: "You now have the following roles:"
1908+
roles: "Πλέον έχετε τους ακόλουθους ρόλους:"
19091909
mail_user_activation_limit_reached:
19101910
subject: Επετεύχθη το όριο ενεργοποίησης χρηστών
19111911
message: |
@@ -2258,7 +2258,7 @@ el:
22582258
setting_consent_required: "Απαιτείται συγκατάθεση"
22592259
setting_consent_decline_mail: "Συγκατάθεση επικοινωνίας διεύθυνσης email"
22602260
setting_cross_project_work_package_relations: "Επιτρέψτε συσχετισμό πακέτων εργασίας μεταξύ έργων"
2261-
setting_first_week_of_year: "First week in year contains"
2261+
setting_first_week_of_year: "Η πρώτη εβδομάδα του έτους περιέχει"
22622262
setting_date_format: "Μορφηποίηση ημερομηνίας"
22632263
setting_default_language: "Προεπιλεγμένη γλώσσα"
22642264
setting_default_notification_option: "Προεπιλεγμένη επιλογή ειδοποιήσεων"
@@ -2734,7 +2734,7 @@ el:
27342734
code_403: "Δεν έχετε εξουσιοδότηση πρόσβασης σε αυτή τη σελίδα."
27352735
code_404: "Ο ζητούμενος πόρος δεν βρέθηκε."
27362736
code_409: "Δεν ήταν δυνατή η ενημέρωση του πόρου λόγω αντιφατικών τροποποιήσεων."
2737-
code_429: "Too many requests. Please try again later."
2737+
code_429: "Πάρα πολλά αιτήματα. Παρακαλώ δοκιμάστε ξανά αργότερα."
27382738
code_500: "Παρουσιάστηκε ένα εσωτερικό σφάλμα."
27392739
expected:
27402740
date: "ΕΕΕΕ-ΜΜ-ΗΗ (ISO 8601 ημερομηνία μόνο)"
@@ -2855,4 +2855,4 @@ el:
28552855
authorization_error: "Παρουσιάστηκε ένα σφάλμα εξουσιοδότησης."
28562856
revoke_my_application_confirmation: "Είστε βέβαιοι ότι θέλετε να αφαιρέσετε αυτή την εφαρμογή; Αυτό θα ανακαλέσει %{token_count} που είναι ενεργά για αυτή."
28572857
my_registered_applications: "Καταγεγραμμένες εφαρμογές OAuth"
2858-
you: you
2858+
you: εσείς

config/locales/crowdin/es.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1880,7 +1880,7 @@ es:
18801880
mail_body_wiki_content_updated: "La página wiki de '%{id}' ha sido actualizada por %{author}."
18811881
mail_subject_account_activation_request: "solicitud de activación de cuenta de %{value}"
18821882
mail_subject_backup_ready: "La copia de seguridad está preparada"
1883-
mail_subject_backup_token_reset: "Backup token reset"
1883+
mail_subject_backup_token_reset: "Resetear token de respaldo"
18841884
mail_subject_lost_password: "Su contraseña %{value}"
18851885
mail_subject_register: "La activación de la cuenta %{value}"
18861886
mail_subject_reminder: "%{count} paquete(s) de trabajo pendientes en los siguientes %{days} dias"

config/locales/crowdin/fr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1882,7 +1882,7 @@ fr:
18821882
mail_body_wiki_content_updated: "La page wiki '%{id}' a été mise à jour par %{author}."
18831883
mail_subject_account_activation_request: "Requête pour l'activation du compte %{value}"
18841884
mail_subject_backup_ready: "Votre sauvegarde est prête"
1885-
mail_subject_backup_token_reset: "Backup token reset"
1885+
mail_subject_backup_token_reset: "Réinitialisation du jeton de sauvegarde"
18861886
mail_subject_lost_password: "Votre mot de passe %{value}"
18871887
mail_subject_register: "Votre activation du compte %{value}"
18881888
mail_subject_reminder: "%{count} lot(s) de travaux à échéance dans les %{days} prochains jours"

0 commit comments

Comments
 (0)