Commit graph

675 commits

Author SHA1 Message Date
Hosted Weblate
a2da437ded
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-29 23:01:15 +02:00
Éloi Rivard
f7e2195494
Translated using Weblate (French)
Currently translated at 100.0% (313 of 313 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-29 23:01:14 +02:00
Éloi Rivard
2e6ec739e7 User number field wording 2023-03-29 23:01:02 +02:00
Éloi Rivard
43c6d02ca6 Avoid double crsf HTML input in admin test mail form 2023-03-29 22:43:52 +02:00
Éloi Rivard
78a129d494 Forms validate URIs 2023-03-29 21:33:47 +02:00
Hosted Weblate
d94721d244
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-29 19:42:38 +02:00
Éloi Rivard
e6ecfcfecd Unique email form validator wording 2023-03-29 19:34:17 +02:00
Éloi Rivard
9b4bf87aea Avoid browser password autofilling when defining new passwords 2023-03-29 19:03:28 +02:00
Éloi Rivard
366c824a6b Removed useless form macro condition 2023-03-28 23:50:18 +02:00
Éloi Rivard
40c36cdf64 Use the form_render macro when possible 2023-03-28 23:31:35 +02:00
Éloi Rivard
d9f591a73e Renamed fomanticui.html in form.html 2023-03-28 20:38:19 +02:00
Éloi Rivard
9ac7b4808f Merge branch 'csrf' into 'main'
CSRF protection everywhere

See merge request yaal/canaille!119
2023-03-28 18:34:02 +00:00
Éloi Rivard
f97dc3b2c6 CSRF protection everywhere 2023-03-28 20:30:29 +02:00
Éloi Rivard
e978ec5a84
Translated using Weblate (French)
Currently translated at 100.0% (315 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-28 19:41:18 +02:00
Éloi Rivard
98df762666 Fixed user uid and email unicity at creation 2023-03-27 23:16:32 +02:00
Sofi
7e7db25a5c
Translated using Weblate (Norwegian Bokmål)
Currently translated at 53.6% (169 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-03-24 23:37:00 +01:00
Sofi
91b76785ed
Translated using Weblate (Norwegian Bokmål)
Currently translated at 52.6% (166 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-03-23 22:41:42 +01:00
Éloi Rivard
47576c541f Fixed some jinja translation with {% trans %} blocks and new lines. 2023-03-22 19:29:28 +01:00
Éloi Rivard
7e0e0d6068 Profile edition refactoring 2023-03-22 08:52:00 +01:00
Éloi Rivard
bacbb9a3bb Avoid to display flash messages twice when impersonating or sending a password initialization mail 2023-03-21 22:01:32 +01:00
Éloi Rivard
77d4efe5e5
Translated using Weblate (French)
Currently translated at 100.0% (315 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-19 12:40:03 +01:00
gallegonovato
3dd3f995b4
Translated using Weblate (Spanish)
Currently translated at 100.0% (315 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-19 12:40:02 +01:00
Éloi Rivard
dd394391c8 Added last_modified and etag headers on the user photos 2023-03-18 01:29:04 +01:00
Éloi Rivard
61940844e6 Properly handle LDAP date timezones 2023-03-18 00:39:32 +01:00
Éloi Rivard
6b87788d23 Fixed HTML errors 2023-03-17 22:32:53 +01:00
Hosted Weblate
6932fda955
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-17 17:38:07 +01:00
gallegonovato
6d6b5564e8
Translated using Weblate (Spanish)
Currently translated at 100.0% (313 of 313 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-17 17:38:06 +01:00
Éloi Rivard
8e84b016da Organization field support 2023-03-17 17:36:23 +01:00
Éloi Rivard
7628bd1a41 Fixed submit button display bug 2023-03-17 16:03:44 +01:00
Éloi Rivard
f1e6cd1586 Removed unused template parts 2023-03-17 09:27:48 +01:00
Éloi Rivard
21fa7599ac Revert "Avoid to use pkg_resources to get the version number"
This is not available with python 3.7

This reverts commit 053d39fb43.
2023-03-16 23:16:55 +01:00
Éloi Rivard
053d39fb43 Avoid to use pkg_resources to get the version number 2023-03-16 23:10:20 +01:00
Éloi Rivard
b839fa76d9 Mail admin message wording 2023-03-16 20:15:44 +01:00
Éloi Rivard
f09db3646a Avoid carriage returns in HTML head title tag 2023-03-16 19:43:06 +01:00
Éloi Rivard
191f48a4e1
Translated using Weblate (French)
Currently translated at 100.0% (313 of 313 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-16 19:42:47 +01:00
Hosted Weblate
91b74a9479
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-16 19:17:48 +01:00
Éloi Rivard
ccbe8a35c6
Translated using Weblate (French)
Currently translated at 100.0% (309 of 309 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-16 19:17:47 +01:00
Éloi Rivard
e1c4951639 Updated language catalogs 2023-03-16 19:17:11 +01:00
Éloi Rivard
24f0417460 Split the profile page in two 2023-03-16 18:45:35 +01:00
Éloi Rivard
7e7a1427e5 Form field descriptions are displayed as tooltips 2023-03-16 18:45:35 +01:00
Éloi Rivard
93e159c6cb Use fomantic ui popups to quicken the apparition of 'title' tooltips 2023-03-16 18:45:35 +01:00
Éloi Rivard
0f93029d2a Split the consent page in two 2023-03-16 18:45:35 +01:00
Éloi Rivard
69c67345c2 Introduced a submenu 2023-03-16 18:45:34 +01:00
Éloi Rivard
3ef07a955b Make sure the input HTML class names are displayed in one line 2023-03-16 16:32:37 +01:00
Hosted Weblate
57d0f128b4
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-16 16:26:14 +01:00
Éloi Rivard
5aad527454 Unit tests use WebTest .mustcontain method when possible 2023-03-16 16:25:14 +01:00
Éloi Rivard
94af1744ba pre-commit update 2023-03-14 12:08:37 +01:00
Éloi Rivard
4742ea3ce7 Fixed links in the autorization list admin page 2023-03-13 15:59:22 +01:00
Éloi Rivard
7d5b5ab723 title was a TelField 2023-03-13 13:47:15 +01:00
Éloi Rivard
7eef2748f2 Faker is not imported anymore when the clean command is called 2023-03-13 09:46:17 +01:00
Éloi Rivard
dfb26d087f
Translated using Weblate (French)
Currently translated at 100.0% (309 of 309 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-12 23:35:25 +01:00
gallegonovato
f8b94a98cc
Translated using Weblate (Spanish)
Currently translated at 100.0% (309 of 309 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-12 23:35:25 +01:00
Éloi Rivard
fb1c6446fa Users can only search other users based on the fields they can read or write 2023-03-12 19:04:39 +01:00
Éloi Rivard
705150942e Populate ignore unicity errors if launched several times in a row 2023-03-12 17:42:32 +01:00
Éloi Rivard
fa74812044 Fixed populate command uniqueness 2023-03-12 17:31:59 +01:00
Éloi Rivard
c91801df76 Sort the languages dropdown alphabetically 2023-03-12 16:55:28 +01:00
Éloi Rivard
09b399a4c0 Translation README 2023-03-12 10:45:42 +01:00
Hosted Weblate
4871273449
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-12 10:42:35 +01:00
Éloi Rivard
bbf7eaac98 Suggest uid as the default user identifier in the sample configuration 2023-03-11 22:49:04 +01:00
Éloi Rivard
ae7feb3e60 Fixed region placeholder 2023-03-11 22:37:53 +01:00
Éloi Rivard
a07b51c2d8
Translated using Weblate (French)
Currently translated at 100.0% (306 of 306 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-11 22:35:00 +01:00
Éloi Rivard
2c4c3fb37e Title edition support 2023-03-11 22:34:29 +01:00
Éloi Rivard
0e6a6ee943 Updated language catalogs 2023-03-11 20:14:37 +01:00
Éloi Rivard
7237561ba7
Translated using Weblate (French)
Currently translated at 100.0% (300 of 300 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-11 20:13:39 +01:00
gallegonovato
ce82186a29
Translated using Weblate (Spanish)
Currently translated at 100.0% (300 of 300 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-11 20:13:39 +01:00
Éloi Rivard
4170242073 Address edition support (but not in the OIDC claims yet) 2023-03-11 20:12:50 +01:00
Éloi Rivard
822988536d LDAPObject can have several objectClass 2023-03-11 19:46:12 +01:00
Éloi Rivard
402e60325c departmentNumber edition support #129 2023-03-11 12:55:03 +01:00
Éloi Rivard
7c01158e44 More LDAP syntax definitions 2023-03-11 12:54:27 +01:00
Éloi Rivard
3406428f13 Renamed group attributes to match SCIM naming convention 2023-03-11 12:54:27 +01:00
gallegonovato
41edb53ff4
Translated using Weblate (Spanish)
Currently translated at 100.0% (299 of 299 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-11 11:37:34 +01:00
Éloi Rivard
971cf317c9 Used 'id' instead of 'dn' 2023-03-10 18:14:15 +01:00
Éloi Rivard
fafe47e69d Page titles 2023-03-10 01:02:36 +01:00
Éloi Rivard
31111b64e2 Dash in the title 2023-03-10 00:48:40 +01:00
Éloi Rivard
7918641e22 Consent cn alias, again 2023-03-10 00:40:16 +01:00
Éloi Rivard
e802e3d5e2 Consent cn alias 2023-03-10 00:38:16 +01:00
Éloi Rivard
0e81177151 Table search button partially reloads the table 2023-03-09 23:11:39 +01:00
Éloi Rivard
b29d125f09 Fixed client edition page 2023-03-09 23:09:44 +01:00
Éloi Rivard
f5b97ddbca
Translated using Weblate (French)
Currently translated at 100.0% (299 of 299 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-09 23:06:10 +01:00
Éloi Rivard
ff69d9ddb2 Updated language catalogs 2023-03-09 21:01:29 +01:00
Éloi Rivard
3d37073f18 Fixed unit tests 2023-03-09 20:58:45 +01:00
Éloi Rivard
a32e92d3d9 Added headers to tables 2023-03-09 20:34:57 +01:00
Éloi Rivard
246d0d25e5 Translatable strings extraction 2023-03-09 19:33:28 +01:00
Éloi Rivard
cf9b5c11a3 Dynamic tables with htmx
- Search is triggered with user inputs
- Page changes are triggered with clicks
2023-03-09 19:31:59 +01:00
Éloi Rivard
2d0c58c3e3 Added htmx dependency 2023-03-09 19:31:59 +01:00
Éloi Rivard
46a346a0d0 Table search implementation 2023-03-09 19:31:59 +01:00
Éloi Rivard
fbf449edd6 LDAPObject fuzzy search 2023-03-09 19:31:59 +01:00
Éloi Rivard
091270df53 LDAPObject pagination performance improvements
Creates a LDAPObjectQuery class that is returned by LDAPObject.filter
This avoids to create objects for each ldap result, but only for the
asked slice. It also store the whole results length so `len` calls are
a bit faster.
2023-03-09 19:31:59 +01:00
Éloi Rivard
e5d968d4f5 Every list of items is paginated server-side. 2023-03-09 19:31:59 +01:00
Éloi Rivard
480b085db3 User list template refactoring 2023-03-09 19:31:59 +01:00
Éloi Rivard
5549558366 Removed datatables 2023-03-09 19:31:59 +01:00
Éloi Rivard
52e0cd3615 Translatable strings extraction 2023-03-09 19:31:51 +01:00
Éloi Rivard
cfb67ed89b Add HTML table tags 2023-03-09 18:34:36 +01:00
Éloi Rivard
36cc47e40d Moved jinja macros in their own directory 2023-03-09 18:10:28 +01:00
Éloi Rivard
681c311d05 Forgotten password test improvement
Search for error messages in flashes instead of directly in the HTML.
2023-03-09 18:10:28 +01:00
Éloi Rivard
8b3781f73f Fixed missing HTML translation 2023-03-09 17:28:09 +01:00
Éloi Rivard
990c624c32 Save one LDAP connection when calling save() 2023-03-09 13:00:17 +01:00
Éloi Rivard
087ada53d1 Do not directly save objects in Group.all/remove_member 2023-03-09 10:50:05 +01:00
Éloi Rivard
21ab633b2f Consent list: fixed display for locales with long translations 2023-03-09 09:29:04 +01:00
Éloi Rivard
d0f6c341f3 LDAPObject refactoring 2023-03-09 01:14:07 +01:00
Éloi Rivard
53581404ab LDAPObject dn attributes are automatically initialized 2023-03-08 23:53:53 +01:00
Éloi Rivard
d201d6f617 Lazy conversion of LDAP to python format for LDAPObject attributes 2023-03-08 18:54:27 +01:00
Éloi Rivard
0eaa5e1319 LDAPObject.query can take non string values 2023-03-08 18:50:34 +01:00
Éloi Rivard
7e42467bfc Renamed LDAPObject.rdn in LDAPObject.rdn_attribute 2023-03-08 18:50:33 +01:00
Éloi Rivard
5d9a41f18b Delayed LDAPObject may and must initialization 2023-03-08 00:53:27 +01:00
Éloi Rivard
edd7873cea Fixed unit tests coverage 2023-03-07 20:10:21 +01:00
Éloi Rivard
84c10f8205 update_ldap_attributes is a classmethod 2023-03-07 18:05:00 +01:00
Éloi Rivard
c5b11d2fb3 Merge LDAPObject.all and LDAPObject.filter in LDAPObject.query 2023-03-07 17:58:27 +01:00
Éloi Rivard
cc65d78719 Renames LDAPObject.ldap in LDAPObject.ldap_connection 2023-03-07 17:55:32 +01:00
Éloi Rivard
333cbec201 LDAPObject __eq__ method checks if attributes exist 2023-03-07 17:42:46 +01:00
Éloi Rivard
d345218557 Updated to flask-babel 3 2023-03-01 15:32:40 +01:00
Éloi Rivard
a57c86cc2c SMTP SSL fixes 2023-02-28 10:07:08 +01:00
Wang Wenlin
4fa09b3a70 Enable SSL SMTP 2023-02-28 08:53:47 +00:00
Éloi Rivard
b9704ce8f1 Split populate logics in its own file 2023-02-26 22:21:55 +01:00
Jesús Pérez Rey (Chuso)
dbddfae33b
Add Galician datatables translation.
Signed-off-by: Jesús Pérez Rey (Chuso) <git@chuso.net>
2023-02-26 21:22:17 +01:00
Éloi Rivard
2c2797fbad A populate command can be used to fill the database with random users generated with faker. 2023-02-26 19:48:07 +01:00
Éloi Rivard
b5b6331aea i18n refactorization 2023-02-26 18:21:06 +01:00
Jesús P Rey
f7dc7b1186
Translated using Weblate (Galician)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/gl/
2023-02-19 23:35:58 +01:00
Jesús P Rey
38ae55a00d
Translated using Weblate (Galician)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/gl/
2023-02-18 23:08:29 +01:00
Jesús P Rey
537d42d73d
Added translation using Weblate (Galician) 2023-02-18 21:24:23 +01:00
Éloi Rivard
ceeb6c1393
Translated using Weblate (French)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-16 15:37:39 +01:00
gallegonovato
907175717e
Translated using Weblate (Spanish)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-02-16 15:37:39 +01:00
Éloi Rivard
8b4d5eb247 This is too soon for the walrus operator 2023-02-14 22:06:03 +01:00
Éloi Rivard
c51022d383 Updated translation files 2023-02-14 22:04:59 +01:00
Éloi Rivard
7458868f77 Pre-consented clients are displayed in the user consent list, and their consents can be revoked. 2023-02-14 21:56:47 +01:00
Éloi Rivard
d551b1ab35 Revoked consents can be restored 2023-02-14 19:05:43 +01:00
Éloi Rivard
a96518ef9c Display TOS and policy URI on the consent list page 2023-02-14 13:51:59 +01:00
Éloi Rivard
896e9cca03
Translated using Weblate (French)
Currently translated at 100.0% (288 of 288 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-11 15:35:33 +01:00
gallegonovato
51bb584d55
Translated using Weblate (Spanish)
Currently translated at 100.0% (280 of 280 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-02-11 15:35:32 +01:00
Éloi Rivard
daffdc03b1
Translated using Weblate (French)
Currently translated at 100.0% (269 of 269 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-10 09:54:04 +01:00
Éloi Rivard
f43575206a Use unicode suspension points 2023-02-10 09:53:26 +01:00
Éloi Rivard
2eb777a3ca Implements admin token deletion 2023-02-04 19:00:16 +01:00
Éloi Rivard
ddea98bff9
Translated using Weblate (French)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-04 18:53:26 +01:00
gallegonovato
ef98cb52a8
Translated using Weblate (Spanish)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-02-04 18:53:25 +01:00
Éloi Rivard
3359b51d9b Implements admin token deletion 2023-02-04 18:41:49 +01:00
Éloi Rivard
3ac7a8013f Punctuation uniformization 2023-02-03 18:49:44 +01:00
Éloi Rivard
b94c5b468c Reworked admin token page 2023-02-03 18:44:09 +01:00
gallegonovato
b45801268f
Translated using Weblate (Spanish)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
40725b8e00
Translated using Weblate (Norwegian Bokmål)
Currently translated at 64.0% (176 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
5b7e6aa5a5
Translated using Weblate (Norwegian Bokmål)
Currently translated at 58.5% (161 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
6982cf80e1
Translated using Weblate (Norwegian Bokmål)
Currently translated at 39.2% (108 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
7367aeecb0
Translated using Weblate (Norwegian Bokmål)
Currently translated at 4.0% (11 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
fccbe00c8a
Translated using Weblate (Norwegian Bokmål)
Currently translated at 3.6% (10 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
J. Lavoie
a9c444e0b8
Translated using Weblate (German)
Currently translated at 17.0% (47 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/de/
2023-02-03 18:06:34 +01:00
J. Lavoie
f98618d351
Translated using Weblate (French)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-03 18:06:34 +01:00
Allan Nordhøy
514f84ba97
Added translation using Weblate (Norwegian Bokmål) 2023-02-03 18:06:34 +01:00
J. Lavoie
ad6dfca154
Translated using Weblate (French)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-03 18:06:34 +01:00
J. Lavoie
89d4282f62
Added translation using Weblate (German) 2023-02-03 18:06:34 +01:00
Éloi Rivard
75bca52050 Merge branch 'kingu-main-patch-85823' into 'main'
Shortened profile strings

See merge request yaal/canaille!99
2023-01-31 08:25:23 +00:00
Allan Nordhøy
21d8c1b2bf Shortened profile strings 2023-01-31 01:06:06 +00:00