From b1cc1f6588938b04c627daaa312a3cbf0060626f Mon Sep 17 00:00:00 2001 From: ahtlon Date: Fri, 13 Mar 2026 16:33:36 +0100 Subject: [PATCH] test commit --- dont merge this/gitea2.json | 350 ++++ dont merge this/gitea_out.json | 1668 +++++++++++++++++++ dont merge this/gitlab-pulls-sorted.json | 1888 ++++++++++++++++++++++ dont merge this/pretty_gl_api_out.json | 1864 +++++++++++++++++++++ dont merge this/raw_gl_api_out.txt | 1 + 5 files changed, 5771 insertions(+) create mode 100644 dont merge this/gitea2.json create mode 100644 dont merge this/gitea_out.json create mode 100644 dont merge this/gitlab-pulls-sorted.json create mode 100644 dont merge this/pretty_gl_api_out.json create mode 100644 dont merge this/raw_gl_api_out.txt diff --git a/dont merge this/gitea2.json b/dont merge this/gitea2.json new file mode 100644 index 00000000..2c48d896 --- /dev/null +++ b/dont merge this/gitea2.json @@ -0,0 +1,350 @@ +{ + "allow_maintainer_edit": false, + "assignee": null, + "assignees": null, + "base": { + "label": "master", + "ref": "master", + "repo": { + "allow_fast_forward_only_merge": false, + "allow_manual_merge": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_rebase_update": true, + "allow_squash_merge": true, + "archived": false, + "archived_at": "1970-01-01T01:00:00+01:00", + "autodetect_manual_merge": false, + "avatar_url": "", + "clone_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure.git", + "created_at": "2024-10-24T19:38:14+02:00", + "default_allow_maintainer_edit": false, + "default_branch": "master", + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "description": "", + "empty": false, + "fork": true, + "forks_count": 0, + "full_name": "ahtlon/infrastructure", + "has_actions": true, + "has_code": true, + "has_issues": false, + "has_packages": false, + "has_projects": false, + "has_pull_requests": true, + "has_releases": false, + "has_wiki": false, + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure", + "id": 29, + "ignore_whitespace_conflicts": false, + "internal": false, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure/languages", + "licenses": [], + "link": "", + "mirror": false, + "mirror_interval": "", + "mirror_updated": "0001-01-01T00:00:00Z", + "name": "infrastructure", + "object_format_name": "sha1", + "open_issues_count": 0, + "open_pr_counter": 5, + "original_url": "", + "owner": { + "active": false, + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "created": "2024-10-23T17:19:18+02:00", + "description": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "followers_count": 0, + "following_count": 0, + "full_name": "", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "id": 8, + "is_admin": false, + "language": "", + "last_login": "0001-01-01T00:00:00Z", + "location": "", + "login": "ahtlon", + "login_name": "", + "prohibit_login": false, + "restricted": false, + "source_id": 0, + "starred_repos_count": 0, + "username": "ahtlon", + "visibility": "public", + "website": "" + }, + "parent": { + "allow_fast_forward_only_merge": false, + "allow_manual_merge": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_rebase_update": true, + "allow_squash_merge": true, + "archived": false, + "archived_at": "1970-01-01T01:00:00+01:00", + "autodetect_manual_merge": false, + "avatar_url": "", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "created_at": "2022-10-04T18:35:43+02:00", + "default_allow_maintainer_edit": false, + "default_branch": "master", + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "description": "", + "empty": false, + "fork": false, + "forks_count": 1, + "full_name": "malobeo/infrastructure", + "has_actions": true, + "has_code": true, + "has_issues": true, + "has_packages": false, + "has_projects": true, + "has_pull_requests": true, + "has_releases": true, + "has_wiki": true, + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "id": 15, + "ignore_whitespace_conflicts": false, + "internal": false, + "internal_tracker": { + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true, + "enable_time_tracker": true + }, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "licenses": [], + "link": "", + "mirror": false, + "mirror_interval": "", + "mirror_updated": "0001-01-01T00:00:00Z", + "name": "infrastructure", + "object_format_name": "sha1", + "open_issues_count": 40, + "open_pr_counter": 4, + "original_url": "", + "owner": { + "active": false, + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "created": "2023-03-29T17:26:16+02:00", + "description": "", + "email": "", + "followers_count": 0, + "following_count": 0, + "full_name": "", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "id": 7, + "is_admin": false, + "language": "", + "last_login": "0001-01-01T00:00:00Z", + "location": "", + "login": "malobeo", + "login_name": "", + "prohibit_login": false, + "restricted": false, + "source_id": 0, + "starred_repos_count": 0, + "username": "malobeo", + "visibility": "public", + "website": "" + }, + "permissions": { + "admin": false, + "pull": true, + "push": false + }, + "private": false, + "projects_mode": "", + "release_counter": 0, + "size": 2878, + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "stars_count": 1, + "template": false, + "topics": [], + "updated_at": "2026-03-12T01:11:13+01:00", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "watchers_count": 2, + "website": "" + }, + "permissions": { + "admin": false, + "pull": true, + "push": false + }, + "private": false, + "projects_mode": "all", + "release_counter": 0, + "size": 14507, + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/ahtlon/infrastructure.git", + "stars_count": 0, + "template": false, + "topics": [], + "updated_at": "2026-03-12T01:05:43+01:00", + "url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure", + "watchers_count": 1, + "website": "" + }, + "repo_id": 29, + "sha": "dacdb2214ea6ff645c444ce0eaab68c317f0a616" + }, + "body": "", + "closed_at": null, + "comments": 0, + "created_at": "2026-03-11T17:29:55+01:00", + "diff_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/8.diff", + "draft": false, + "due_date": null, + "head": { + "label": "nixpkgs_bump_20260305", + "ref": "nixpkgs_bump_20260305", + "repo": { + "allow_fast_forward_only_merge": false, + "allow_manual_merge": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_rebase_update": true, + "allow_squash_merge": true, + "archived": false, + "archived_at": "1970-01-01T01:00:00+01:00", + "autodetect_manual_merge": false, + "avatar_url": "", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "created_at": "2022-10-04T18:35:43+02:00", + "default_allow_maintainer_edit": false, + "default_branch": "master", + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "description": "", + "empty": false, + "fork": false, + "forks_count": 1, + "full_name": "malobeo/infrastructure", + "has_actions": true, + "has_code": true, + "has_issues": true, + "has_packages": false, + "has_projects": true, + "has_pull_requests": true, + "has_releases": true, + "has_wiki": true, + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "id": 15, + "ignore_whitespace_conflicts": false, + "internal": false, + "internal_tracker": { + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true, + "enable_time_tracker": true + }, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "licenses": [], + "link": "", + "mirror": false, + "mirror_interval": "", + "mirror_updated": "0001-01-01T00:00:00Z", + "name": "infrastructure", + "object_format_name": "sha1", + "open_issues_count": 40, + "open_pr_counter": 4, + "original_url": "", + "owner": { + "active": false, + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "created": "2023-03-29T17:26:16+02:00", + "description": "", + "email": "", + "followers_count": 0, + "following_count": 0, + "full_name": "", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "id": 7, + "is_admin": false, + "language": "", + "last_login": "0001-01-01T00:00:00Z", + "location": "", + "login": "malobeo", + "login_name": "", + "prohibit_login": false, + "restricted": false, + "source_id": 0, + "starred_repos_count": 0, + "username": "malobeo", + "visibility": "public", + "website": "" + }, + "permissions": { + "admin": false, + "pull": true, + "push": false + }, + "private": false, + "projects_mode": "", + "release_counter": 0, + "size": 2878, + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "stars_count": 1, + "template": false, + "topics": [], + "updated_at": "2026-03-12T01:11:13+01:00", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "watchers_count": 2, + "website": "" + }, + "repo_id": 15, + "sha": "7c66a24563d0e95c292aafeaa08056effc6152d9" + }, + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/8", + "id": 66, + "is_locked": false, + "labels": [], + "merge_base": "344eeb437b0aa29baee1227e48878f987e21e296", + "merge_commit_sha": null, + "mergeable": true, + "merged": false, + "merged_at": null, + "merged_by": null, + "milestone": null, + "number": 8, + "patch_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/8.patch", + "pin_order": 0, + "requested_reviewers": null, + "requested_reviewers_teams": null, + "state": "open", + "target_repo_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure.git", + "title": "Update flake.lock", + "updated_at": "2026-03-11T17:29:55+01:00", + "url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/8", + "user": { + "active": false, + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "created": "2024-10-23T17:19:18+02:00", + "description": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "followers_count": 0, + "following_count": 0, + "full_name": "", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "id": 8, + "is_admin": false, + "language": "", + "last_login": "0001-01-01T00:00:00Z", + "location": "", + "login": "ahtlon", + "login_name": "", + "prohibit_login": false, + "restricted": false, + "source_id": 0, + "starred_repos_count": 0, + "username": "ahtlon", + "visibility": "public", + "website": "" + } +} diff --git a/dont merge this/gitea_out.json b/dont merge this/gitea_out.json new file mode 100644 index 00000000..fb690b87 --- /dev/null +++ b/dont merge this/gitea_out.json @@ -0,0 +1,1668 @@ +[ + { + "id": 66, + "url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/8", + "number": 8, + "user": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "title": "Update flake.lock", + "body": "", + "labels": [], + "milestone": null, + "assignee": null, + "assignees": null, + "requested_reviewers": null, + "requested_reviewers_teams": null, + "state": "open", + "draft": false, + "is_locked": false, + "comments": 0, + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/8", + "diff_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/8.diff", + "patch_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/8.patch", + "mergeable": true, + "merged": false, + "merged_at": null, + "merge_commit_sha": null, + "merged_by": null, + "allow_maintainer_edit": false, + "base": { + "label": "master", + "ref": "master", + "sha": "72b2ae020a1b11900b6f9560fc184689f8e1a85f", + "repo_id": 29, + "repo": { + "id": 29, + "owner": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "name": "infrastructure", + "full_name": "ahtlon/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": true, + "template": false, + "parent": { + "id": 15, + "owner": { + "id": 7, + "login": "malobeo", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "", + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2023-03-29T17:26:16+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "malobeo" + }, + "name": "infrastructure", + "full_name": "malobeo/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": false, + "template": false, + "mirror": false, + "size": 2868, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 1, + "forks_count": 1, + "watchers_count": 2, + "open_issues_count": 40, + "open_pr_counter": 3, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2022-10-04T18:35:43+02:00", + "updated_at": "2026-03-09T14:48:21+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "", + "has_releases": true, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + }, + "mirror": false, + "size": 14494, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/ahtlon/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 0, + "forks_count": 0, + "watchers_count": 1, + "open_issues_count": 0, + "open_pr_counter": 4, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2024-10-24T19:38:14+02:00", + "updated_at": "2026-03-10T18:52:11+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": false, + "has_wiki": false, + "has_pull_requests": true, + "has_projects": false, + "projects_mode": "all", + "has_releases": false, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + } + }, + "head": { + "label": "nixpkgs_bump_20260305", + "ref": "nixpkgs_bump_20260305", + "sha": "7c66a24563d0e95c292aafeaa08056effc6152d9", + "repo_id": 15, + "repo": { + "id": 15, + "owner": { + "id": 7, + "login": "malobeo", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "", + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2023-03-29T17:26:16+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "malobeo" + }, + "name": "infrastructure", + "full_name": "malobeo/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": false, + "template": false, + "mirror": false, + "size": 2868, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 1, + "forks_count": 1, + "watchers_count": 2, + "open_issues_count": 40, + "open_pr_counter": 3, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2022-10-04T18:35:43+02:00", + "updated_at": "2026-03-09T14:48:21+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "", + "has_releases": true, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + } + }, + "merge_base": "344eeb437b0aa29baee1227e48878f987e21e296", + "due_date": null, + "created_at": "2026-03-11T17:29:55+01:00", + "updated_at": "2026-03-11T17:29:55+01:00", + "closed_at": null, + "pin_order": 0 + }, + { + "id": 65, + "url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/7", + "number": 7, + "user": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "title": "Update flake.lock", + "body": "", + "labels": [], + "milestone": null, + "assignee": null, + "assignees": null, + "requested_reviewers": null, + "requested_reviewers_teams": null, + "state": "open", + "draft": false, + "is_locked": false, + "comments": 0, + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/7", + "diff_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/7.diff", + "patch_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/7.patch", + "mergeable": false, + "merged": false, + "merged_at": null, + "merge_commit_sha": null, + "merged_by": null, + "allow_maintainer_edit": false, + "base": { + "label": "master", + "ref": "master", + "sha": "72b2ae020a1b11900b6f9560fc184689f8e1a85f", + "repo_id": 29, + "repo": { + "id": 29, + "owner": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "name": "infrastructure", + "full_name": "ahtlon/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": true, + "template": false, + "parent": { + "id": 15, + "owner": { + "id": 7, + "login": "malobeo", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "", + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2023-03-29T17:26:16+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "malobeo" + }, + "name": "infrastructure", + "full_name": "malobeo/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": false, + "template": false, + "mirror": false, + "size": 2868, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 1, + "forks_count": 1, + "watchers_count": 2, + "open_issues_count": 40, + "open_pr_counter": 3, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2022-10-04T18:35:43+02:00", + "updated_at": "2026-03-09T14:48:21+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "", + "has_releases": true, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + }, + "mirror": false, + "size": 14494, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/ahtlon/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 0, + "forks_count": 0, + "watchers_count": 1, + "open_issues_count": 0, + "open_pr_counter": 4, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2024-10-24T19:38:14+02:00", + "updated_at": "2026-03-10T18:52:11+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": false, + "has_wiki": false, + "has_pull_requests": true, + "has_projects": false, + "projects_mode": "all", + "has_releases": false, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + } + }, + "head": { + "label": "nixpkgs_bump_20260219", + "ref": "nixpkgs_bump_20260219", + "sha": "ca122447f09e9492ac7813edd612d1ac445a1c0a", + "repo_id": 29, + "repo": { + "id": 29, + "owner": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "name": "infrastructure", + "full_name": "ahtlon/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": true, + "template": false, + "parent": { + "id": 15, + "owner": { + "id": 7, + "login": "malobeo", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "", + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2023-03-29T17:26:16+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "malobeo" + }, + "name": "infrastructure", + "full_name": "malobeo/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": false, + "template": false, + "mirror": false, + "size": 2868, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 1, + "forks_count": 1, + "watchers_count": 2, + "open_issues_count": 40, + "open_pr_counter": 3, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2022-10-04T18:35:43+02:00", + "updated_at": "2026-03-09T14:48:21+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "", + "has_releases": true, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + }, + "mirror": false, + "size": 14494, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/ahtlon/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 0, + "forks_count": 0, + "watchers_count": 1, + "open_issues_count": 0, + "open_pr_counter": 4, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2024-10-24T19:38:14+02:00", + "updated_at": "2026-03-10T18:52:11+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": false, + "has_wiki": false, + "has_pull_requests": true, + "has_projects": false, + "projects_mode": "all", + "has_releases": false, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + } + }, + "merge_base": "4b222ac4b014cb65986fab31b928d1ebce105dac", + "due_date": null, + "created_at": "2026-03-11T17:29:45+01:00", + "updated_at": "2026-03-11T17:29:46+01:00", + "closed_at": null, + "pin_order": 0 + }, + { + "id": 64, + "url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/6", + "number": 6, + "user": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "title": "Update flake.lock", + "body": "", + "labels": [], + "milestone": null, + "assignee": null, + "assignees": null, + "requested_reviewers": null, + "requested_reviewers_teams": null, + "state": "open", + "draft": false, + "is_locked": false, + "comments": 0, + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/6", + "diff_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/6.diff", + "patch_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/6.patch", + "mergeable": false, + "merged": false, + "merged_at": null, + "merge_commit_sha": null, + "merged_by": null, + "allow_maintainer_edit": false, + "base": { + "label": "master", + "ref": "master", + "sha": "72b2ae020a1b11900b6f9560fc184689f8e1a85f", + "repo_id": 29, + "repo": { + "id": 29, + "owner": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "name": "infrastructure", + "full_name": "ahtlon/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": true, + "template": false, + "parent": { + "id": 15, + "owner": { + "id": 7, + "login": "malobeo", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "", + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2023-03-29T17:26:16+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "malobeo" + }, + "name": "infrastructure", + "full_name": "malobeo/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": false, + "template": false, + "mirror": false, + "size": 2868, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 1, + "forks_count": 1, + "watchers_count": 2, + "open_issues_count": 40, + "open_pr_counter": 3, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2022-10-04T18:35:43+02:00", + "updated_at": "2026-03-09T14:48:21+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "", + "has_releases": true, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + }, + "mirror": false, + "size": 14494, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/ahtlon/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 0, + "forks_count": 0, + "watchers_count": 1, + "open_issues_count": 0, + "open_pr_counter": 4, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2024-10-24T19:38:14+02:00", + "updated_at": "2026-03-10T18:52:11+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": false, + "has_wiki": false, + "has_pull_requests": true, + "has_projects": false, + "projects_mode": "all", + "has_releases": false, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + } + }, + "head": { + "label": "nixpkgs_bump_20260226", + "ref": "nixpkgs_bump_20260226", + "sha": "34d8dba451e31a44fb6606ef42ae13b4040822c8", + "repo_id": 29, + "repo": { + "id": 29, + "owner": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "name": "infrastructure", + "full_name": "ahtlon/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": true, + "template": false, + "parent": { + "id": 15, + "owner": { + "id": 7, + "login": "malobeo", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "", + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2023-03-29T17:26:16+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "malobeo" + }, + "name": "infrastructure", + "full_name": "malobeo/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": false, + "template": false, + "mirror": false, + "size": 2868, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 1, + "forks_count": 1, + "watchers_count": 2, + "open_issues_count": 40, + "open_pr_counter": 3, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2022-10-04T18:35:43+02:00", + "updated_at": "2026-03-09T14:48:21+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "", + "has_releases": true, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + }, + "mirror": false, + "size": 14494, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/ahtlon/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 0, + "forks_count": 0, + "watchers_count": 1, + "open_issues_count": 0, + "open_pr_counter": 4, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2024-10-24T19:38:14+02:00", + "updated_at": "2026-03-10T18:52:11+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": false, + "has_wiki": false, + "has_pull_requests": true, + "has_projects": false, + "projects_mode": "all", + "has_releases": false, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + } + }, + "merge_base": "4b222ac4b014cb65986fab31b928d1ebce105dac", + "due_date": null, + "created_at": "2026-03-11T17:29:37+01:00", + "updated_at": "2026-03-11T17:29:37+01:00", + "closed_at": null, + "pin_order": 0 + }, + { + "id": 63, + "url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/5", + "number": 5, + "user": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "title": "Update flake.lock", + "body": "", + "labels": [], + "milestone": null, + "assignee": null, + "assignees": null, + "requested_reviewers": null, + "requested_reviewers_teams": null, + "state": "open", + "draft": false, + "is_locked": false, + "comments": 0, + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/5", + "diff_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/5.diff", + "patch_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure/pulls/5.patch", + "mergeable": false, + "merged": false, + "merged_at": null, + "merge_commit_sha": null, + "merged_by": null, + "allow_maintainer_edit": false, + "base": { + "label": "master", + "ref": "master", + "sha": "72b2ae020a1b11900b6f9560fc184689f8e1a85f", + "repo_id": 29, + "repo": { + "id": 29, + "owner": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "name": "infrastructure", + "full_name": "ahtlon/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": true, + "template": false, + "parent": { + "id": 15, + "owner": { + "id": 7, + "login": "malobeo", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "", + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2023-03-29T17:26:16+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "malobeo" + }, + "name": "infrastructure", + "full_name": "malobeo/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": false, + "template": false, + "mirror": false, + "size": 2868, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 1, + "forks_count": 1, + "watchers_count": 2, + "open_issues_count": 40, + "open_pr_counter": 3, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2022-10-04T18:35:43+02:00", + "updated_at": "2026-03-09T14:48:21+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "", + "has_releases": true, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + }, + "mirror": false, + "size": 14494, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/ahtlon/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 0, + "forks_count": 0, + "watchers_count": 1, + "open_issues_count": 0, + "open_pr_counter": 4, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2024-10-24T19:38:14+02:00", + "updated_at": "2026-03-10T18:52:11+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": false, + "has_wiki": false, + "has_pull_requests": true, + "has_projects": false, + "projects_mode": "all", + "has_releases": false, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + } + }, + "head": { + "label": "nixpkgs_bump_20260305", + "ref": "nixpkgs_bump_20260305", + "sha": "c058886c138d148abbdf53689158b47e3f32f591", + "repo_id": 29, + "repo": { + "id": 29, + "owner": { + "id": 8, + "login": "ahtlon", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "ahtlon@noreply.git.dynamicdiscord.de", + "avatar_url": "https://git.dynamicdiscord.de/avatars/7399d018a0bcee0f2da113bdeeafec029316d8e8ce774b829de4125b026c0599", + "html_url": "https://git.dynamicdiscord.de/ahtlon", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-10-23T17:19:18+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "ahtlon" + }, + "name": "infrastructure", + "full_name": "ahtlon/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": true, + "template": false, + "parent": { + "id": 15, + "owner": { + "id": 7, + "login": "malobeo", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "", + "avatar_url": "https://git.dynamicdiscord.de/avatars/9ea8af20ca015cb078b2971cd4e91e6d", + "html_url": "https://git.dynamicdiscord.de/malobeo", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2023-03-29T17:26:16+02:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "malobeo" + }, + "name": "infrastructure", + "full_name": "malobeo/infrastructure", + "description": "", + "empty": false, + "private": false, + "fork": false, + "template": false, + "mirror": false, + "size": 2868, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/malobeo/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/malobeo/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/malobeo/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/malobeo/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 1, + "forks_count": 1, + "watchers_count": 2, + "open_issues_count": 40, + "open_pr_counter": 3, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2022-10-04T18:35:43+02:00", + "updated_at": "2026-03-09T14:48:21+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "", + "has_releases": true, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + }, + "mirror": false, + "size": 14494, + "language": "", + "languages_url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure/languages", + "html_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure", + "url": "https://git.dynamicdiscord.de/api/v1/repos/ahtlon/infrastructure", + "link": "", + "ssh_url": "ssh://gitea@git.dynamicdiscord.de:23428/ahtlon/infrastructure.git", + "clone_url": "https://git.dynamicdiscord.de/ahtlon/infrastructure.git", + "original_url": "", + "website": "", + "stars_count": 0, + "forks_count": 0, + "watchers_count": 1, + "open_issues_count": 0, + "open_pr_counter": 4, + "release_counter": 0, + "default_branch": "master", + "archived": false, + "created_at": "2024-10-24T19:38:14+02:00", + "updated_at": "2026-03-10T18:52:11+01:00", + "archived_at": "1970-01-01T01:00:00+01:00", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "has_code": true, + "has_issues": false, + "has_wiki": false, + "has_pull_requests": true, + "has_projects": false, + "projects_mode": "all", + "has_releases": false, + "has_packages": false, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": false, + "allow_rebase_update": true, + "allow_manual_merge": false, + "autodetect_manual_merge": false, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "", + "internal": false, + "mirror_interval": "", + "object_format_name": "sha1", + "mirror_updated": "0001-01-01T00:00:00Z", + "topics": [], + "licenses": [] + } + }, + "merge_base": "4b222ac4b014cb65986fab31b928d1ebce105dac", + "due_date": null, + "created_at": "2026-03-11T17:29:15+01:00", + "updated_at": "2026-03-11T17:29:16+01:00", + "closed_at": null, + "pin_order": 0 + } +] diff --git a/dont merge this/gitlab-pulls-sorted.json b/dont merge this/gitlab-pulls-sorted.json new file mode 100644 index 00000000..36b35346 --- /dev/null +++ b/dont merge this/gitlab-pulls-sorted.json @@ -0,0 +1,1888 @@ +{ + "188" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/e9880a1272735864c672129f857d2ae23793470aa05a8ade4120de3a569fd577?s=80&d=identicon", + "id" : 1457649, + "locked" : false, + "name" : "James Kay", + "public_email" : "", + "state" : "active", + "username" : "Twey", + "web_url" : "https://gitlab.com/Twey" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2020-09-05T23:09:50.477Z", + "description" : "This MR adds support for exposing a simple configuration file for [Mozilla-style autoconfig](https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration/FileFormat/HowTo) using nginx.\n\nIt aims to be configurable to support any configuration that `simple-nixos-mailserver` supports, but (in the name of simplicity) no more.", + "detailed_merge_status" : "mergeable", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : false, + "id" : 69970363, + "iid" : "188", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "can_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2020-09-05T23:09:50.477Z", + "project_id" : 7219050, + "reference" : "!188", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!188", + "relative" : "!188", + "short" : "!188" + }, + "reviewers" : [], + "sha" : "1861e82addf785dc5de8ca4f9fb3ac950c8dccef", + "should_remove_source_branch" : null, + "source_branch" : "autoconfig", + "source_project_id" : 20956714, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Add support for Mozilla-style autoconfig", + "updated_at" : "2025-05-06T04:05:17.065Z", + "upvotes" : 2, + "user_notes_count" : 5, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/188", + "work_in_progress" : false + }, + "231" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/27ca745ce4ffb3a351f8cf8b746fb5745fd63f5bc4652da18ffa9b630b637eb6?s=80&d=identicon", + "id" : 122171, + "locked" : false, + "name" : "dotlambda", + "public_email" : "", + "state" : "active", + "username" : "dotlambda", + "web_url" : "https://gitlab.com/dotlambda" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2021-05-30T17:17:20.391Z", + "description" : "The script was copied from https://github.com/mailcow/mailcow-dockerized/blob/3dece1a05c97c1b989b432bd0609710fef91e95c/data/conf/dovecot/global_sieve_before.", + "detailed_merge_status" : "conflict", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : false, + "has_conflicts" : true, + "id" : 102038772, + "iid" : "231", + "imported" : false, + "imported_from" : "none", + "labels" : [ + "Topic: SIeve" + ], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2021-05-30T17:17:20.391Z", + "project_id" : 7219050, + "reference" : "!231", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!231", + "relative" : "!231", + "short" : "!231" + }, + "reviewers" : [], + "sha" : "373e61bb32d720f57ae66b74da1ec147b701e78d", + "should_remove_source_branch" : null, + "source_branch" : "sieve-deltachat", + "source_project_id" : 9594265, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "add sieve script for Delta Chat", + "updated_at" : "2026-03-09T20:24:39.803Z", + "upvotes" : 0, + "user_notes_count" : 3, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/231", + "work_in_progress" : false + }, + "262" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/2875513/avatar.png", + "id" : 2875513, + "locked" : false, + "name" : "Joey Hewitt", + "public_email" : "", + "state" : "active", + "username" : "scintill", + "web_url" : "https://gitlab.com/scintill" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2022-01-30T02:14:00.624Z", + "description" : "> [!warning]\n> Around the end of 2024, Apple stopped issuing necessary certificates, effectively breaking this feature. There are reports they are in touch with opensource developers and working to make a new API though. [See here](https://github.com/freswa/dovecot-xaps-daemon/issues/43)\n\nThis isn't ready for merging, but I don't know if I'll have the time to polish it, so I'll just offer what I have. This enables push notifications on mail receipt in the iOS default Mail app. Apple's push infrastructure is used to deliver notification from the mail server to the iOS device with the Mail app, which notifies the user according to the on-device settings.\n\nVariants of this configuration have been working for me for almost 3 years up to iOS 16.3.1. (I should note that people using this feature are nervous Apple will shut it down, since they discontinued the Mac OS X Server product it was created for. On the other hand, Fastmail supports it, so maybe they have some sway with Apple to keep it alive.)\n\nWhat needs to be done:\n- [ ] Apple has to enable certificates for this again (see top)\n- [ ] add \"enable\" flag instead of assuming enable\n- [ ] make the Apple ID email and password configurable - they are coded into the Nix source itself right now.\n - This is for the provisioning of Apple push certificates and doesn't need to have any relation to your hosted email accounts.\n - You should use the Apple ID you've purchased macOS Server with.\n - There is no support for an app password if you have 2FA. Use your normal password. No other special type or configuration of the account is required.\n- [ ] add some documentation, such as explaining the above in the config definitions. The xaps repositories may have some pointers on troubleshooting, some more technical details about how it works, and privacy implications. I can probably provide those if needed too, but I don't remember the details off hand.", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 137674084, + "iid" : "262", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2022-01-30T02:14:00.624Z", + "project_id" : 7219050, + "reference" : "!262", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!262", + "relative" : "!262", + "short" : "!262" + }, + "reviewers" : [], + "sha" : "ba4f09fdfe06f5120c62aae487cf39e073d8d9c5", + "should_remove_source_branch" : null, + "source_branch" : "dovecot-push-xaps", + "source_project_id" : 13098371, + "squash" : true, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 4 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: iOS Mail app push notification support", + "updated_at" : "2026-03-09T20:32:16.807Z", + "upvotes" : 1, + "user_notes_count" : 1, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/262", + "work_in_progress" : true + }, + "335" : { + "allow_collaboration" : false, + "allow_maintainer_to_push" : false, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/1282303/avatar.png", + "id" : 1282303, + "locked" : false, + "name" : "Brendan Golden", + "public_email" : "", + "state" : "active", + "username" : "Brendan_Golden", + "web_url" : "https://gitlab.com/Brendan_Golden" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2024-07-21T12:26:31.935Z", + "description" : "As mentioned in #259 we have tested using virtual aliases for LDAP users and have been using it for teh last 9 months. \nOpening this MR in case its useful upstream.", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : null, + "has_conflicts" : true, + "id" : 316457158, + "iid" : "335", + "imported" : false, + "imported_from" : "none", + "labels" : [ + "Needs: Test case" + ], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2024-07-21T12:26:35.206Z", + "project_id" : 7219050, + "reference" : "!335", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!335", + "relative" : "!335", + "short" : "!335" + }, + "reviewers" : [], + "sha" : "806a4cfd2174b3941e9426d75ed09561c547e6fd", + "should_remove_source_branch" : null, + "source_branch" : "master", + "source_project_id" : 60195854, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: feat: enable virtual aliases for ldap users", + "updated_at" : "2026-03-09T21:04:39.276Z", + "upvotes" : 1, + "user_notes_count" : 5, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/335", + "work_in_progress" : true + }, + "337" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/3388498/avatar.png", + "id" : 3388498, + "locked" : false, + "name" : "Marcel", + "public_email" : "", + "state" : "active", + "username" : "MarcelCoding", + "web_url" : "https://gitlab.com/MarcelCoding" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2024-08-10T19:07:59.293Z", + "description" : "Add support for configuring mail server for domains where users should not be able to receive/send mails. This is useful for using this mail server also as a relay, e.g. for hosting a mailman.\n\nCloses !333\n\nAlso restrict LDAP users from sending from relay domains.", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 320575925, + "iid" : "337", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2024-08-10T19:08:02.504Z", + "project_id" : 7219050, + "reference" : "!337", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!337", + "relative" : "!337", + "short" : "!337" + }, + "reviewers" : [], + "sha" : "5648001ef3c4ee4a82ecc30c3ec7eea804ce1a52", + "should_remove_source_branch" : null, + "source_branch" : "relay", + "source_project_id" : 56809539, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: domains: seperate into domains and relayDomains", + "updated_at" : "2025-05-15T12:19:00.450Z", + "upvotes" : 5, + "user_notes_count" : 29, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/337", + "work_in_progress" : true + }, + "341" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/941ca13f28dbf695e3a49bc257b75993c3dcbc2a3d69e62788ad8fb786dcbed1?s=80&d=identicon", + "id" : 1689563, + "locked" : false, + "name" : "Sandro", + "public_email" : "", + "state" : "active", + "username" : "SuperSandro2000", + "web_url" : "https://gitlab.com/SuperSandro2000" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2024-10-01T22:16:38.902Z", + "description" : "Extracted from the mail server config over at https://gitea.c3d2.de/c3d2/nix-config/src/branch/master/hosts/mail/default.nix\n\nCloses: !16", + "detailed_merge_status" : "conflict", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 331333681, + "iid" : "341", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2024-10-01T22:16:45.449Z", + "project_id" : 7219050, + "reference" : "!341", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!341", + "relative" : "!341", + "short" : "!341" + }, + "reviewers" : [], + "sha" : "f35b4bf7545461fdbec63852c04cfafee6673e1c", + "should_remove_source_branch" : null, + "source_branch" : "rpsamd-web-ui", + "source_project_id" : 56809539, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Add option to enable rspamd web ui", + "updated_at" : "2026-03-09T21:38:19.646Z", + "upvotes" : 1, + "user_notes_count" : 15, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/341", + "work_in_progress" : false + }, + "343" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/ce2706acd861897902d2d58d4eb6bec3074708c63d8ccc46dddffb6e81b51095?s=80&d=identicon", + "id" : 10003463, + "locked" : false, + "name" : "Jeremy Fleischman", + "public_email" : "", + "state" : "active", + "username" : "jflysohigh", + "web_url" : "https://gitlab.com/jflysohigh" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2024-10-29T04:52:33.423Z", + "description" : "https://mxtoolbox.com/ warned me about the loosey-goosey DMARC entry\nthese instructions steered me towards. Hopefully this will save others\nsome time in the future.", + "detailed_merge_status" : "conflict", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 337527756, + "iid" : "343", + "imported" : false, + "imported_from" : "none", + "labels" : [ + "Topic: DMARC", + "Topic: Docs" + ], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2024-10-29T04:52:37.217Z", + "project_id" : 7219050, + "reference" : "!343", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!343", + "relative" : "!343", + "short" : "!343" + }, + "reviewers" : [], + "sha" : "de52c04605e89fe1a2b8762bb2e5e2d85db34051", + "should_remove_source_branch" : null, + "source_branch" : "dmarc-strictness", + "source_project_id" : 63051045, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Add a note about DMARC strictness", + "updated_at" : "2025-07-09T23:45:36.687Z", + "upvotes" : 1, + "user_notes_count" : 15, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/343", + "work_in_progress" : false + }, + "344" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/ce2706acd861897902d2d58d4eb6bec3074708c63d8ccc46dddffb6e81b51095?s=80&d=identicon", + "id" : 10003463, + "locked" : false, + "name" : "Jeremy Fleischman", + "public_email" : "", + "state" : "active", + "username" : "jflysohigh", + "web_url" : "https://gitlab.com/jflysohigh" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2024-10-31T20:37:00.119Z", + "description" : "This gives people an option to declaratively manage these secrets,\nrather than having them generated.", + "detailed_merge_status" : "mergeable", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : false, + "id" : 338994368, + "iid" : "344", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "can_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2024-10-31T20:37:03.558Z", + "project_id" : 7219050, + "reference" : "!344", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!344", + "relative" : "!344", + "short" : "!344" + }, + "reviewers" : [], + "sha" : "20cfeb0d7a03c2a04a6f6d3d5dd364f786345634", + "should_remove_source_branch" : null, + "source_branch" : "dkim-path", + "source_project_id" : 63051045, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "feat: add support for DKIM private key files", + "updated_at" : "2026-03-11T06:33:05.279Z", + "upvotes" : 0, + "user_notes_count" : 39, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/344", + "work_in_progress" : false + }, + "351" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/60727c5131be4f66abaa95e6b1f35bb65bce69caa201ee750e9f20b2380ade53?s=80&d=identicon", + "id" : 10345923, + "locked" : false, + "name" : "Christian Ulrich", + "public_email" : null, + "state" : "active", + "username" : "royneary", + "web_url" : "https://gitlab.com/royneary" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2024-11-28T18:21:17.519Z", + "description" : "This is needed for looking up mail aliases in the LDAP database.\n\nFixes #304", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 346002219, + "iid" : "351", + "imported" : false, + "imported_from" : "none", + "labels" : [ + "Needs: Test case", + "Topic: LDAP" + ], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2024-11-28T18:21:20.358Z", + "project_id" : 7219050, + "reference" : "!351", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!351", + "relative" : "!351", + "short" : "!351" + }, + "reviewers" : [], + "sha" : "aafe694008e531c17f1f8864d21d21dca1b3c528", + "should_remove_source_branch" : null, + "source_branch" : "fix-ldap-mail-aliases", + "source_project_id" : 64304002, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: set virtual_alias_maps for LDAP", + "updated_at" : "2026-03-09T21:10:03.369Z", + "upvotes" : 2, + "user_notes_count" : 5, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/351", + "work_in_progress" : true + }, + "353" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/774d56705d6aa05e9036276887f503148f8043735b28c8195d4c52edf5fb53cf?s=80&d=identicon", + "id" : 101041, + "locked" : false, + "name" : "Jos van den Oever", + "public_email" : "", + "state" : "active", + "username" : "vandenoever", + "web_url" : "https://gitlab.com/vandenoever" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2024-12-04T14:40:19.884Z", + "description" : "This new option specifies if members of an alias can send mail with the alias in the `From:` header.\n\nWe've been using this in production for months and rely on it a lot.", + "detailed_merge_status" : "conflict", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 347132924, + "iid" : "353", + "imported" : false, + "imported_from" : "none", + "labels" : [ + "Needs: Test case" + ], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2024-12-04T14:40:24.231Z", + "project_id" : 7219050, + "reference" : "!353", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!353", + "relative" : "!353", + "short" : "!353" + }, + "reviewers" : [], + "sha" : "ea9c7a64b2d36dfa99c3b2c17135f3e9f6fe8503", + "should_remove_source_branch" : null, + "source_branch" : "send-from-aliases", + "source_project_id" : 50559158, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Add option sendFromAliases", + "updated_at" : "2025-06-12T16:57:03.797Z", + "upvotes" : 1, + "user_notes_count" : 1, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/353", + "work_in_progress" : false + }, + "359" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/760866e3f665c2c84419f8e46706e63737bb03738fd10e041bb0c2414f29676a?s=80&d=identicon", + "id" : 15300676, + "locked" : false, + "name" : "Levi Zim", + "public_email" : "", + "state" : "active", + "username" : "kxxt", + "web_url" : "https://gitlab.com/kxxt" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-01-21T13:38:15.615Z", + "description" : "borg writes to $HOME/.config but in our case it also works on $HOME (/var/vmail).\n\nThis could cause the following error when running the backup: file changed while we backed it up\n\n```\n× borgbackup.service - borgbackup\n Loaded: loaded (/etc/systemd/system/borgbackup.service; linked; preset: ignored)\n Drop-In: /nix/store/8iqfrm23vqm9vb4dhfrkm2gp53rhds65-system-units/service.d\n └─10-all-failure-handler.conf\n Active: failed (Result: exit-code) since Tue 2025-01-21 11:00:14 UTC; 54ms ago\n Duration: 11.283s\n Invocation: 1712129869394f1f8eabc4cd26d3ab4c\nTriggeredBy: ● borgbackup.timer\n Docs: man:borgbackup\n Process: 78255 ExecStart=/nix/store/khkr1l6395czf0sn79i0kmfp7pvimlm5-unit-script-borgbackup-start/bin/borgbackup-start (code=exited, status=1/FAILURE)\n Main PID: 78255 (code=exited, status=1/FAILURE)\n IP: 16.6K in, 18.8K out\n IO: 24K read, 628K written\n Mem peak: 66.2M\n CPU: 1.887s\n\nJan 21 11:00:02 revelations systemd[1]: Started borgbackup.\nJan 21 11:00:13 revelations borgbackup-start[78267]: /var/vmail/.config/borg/security/25276a6702fe342e099d0c711d20ff31752131884fd017bf76c0169ba84682b2/nonce: file changed while we backed it up\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Main process exited, code=exited, status=1/FAILURE\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Failed with result 'exit-code'.\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Triggering OnFailure= dependencies.\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Consumed 1.887s CPU time, 66.2M memory peak, 24K read from disk, 628K written to disk, 16.6K incoming IP traffic, 18.8K outgoing IP traffic.\n```\n\nThis commit fixes it by setting HOME to private /tmp for borg.", + "detailed_merge_status" : "mergeable", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : false, + "id" : 356785056, + "iid" : "359", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "can_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-01-21T13:38:18.391Z", + "project_id" : 7219050, + "reference" : "!359", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!359", + "relative" : "!359", + "short" : "!359" + }, + "reviewers" : [], + "sha" : "3e4908fa0f98293d962a09d73839a55490bb2f94", + "should_remove_source_branch" : null, + "source_branch" : "fix-borg-home", + "source_project_id" : 66340613, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Set HOME to private /tmp for borgbackup", + "updated_at" : "2025-11-08T12:51:01.583Z", + "upvotes" : 0, + "user_notes_count" : 7, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/359", + "work_in_progress" : false + }, + "378" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/feefeb288a5dba3c70b9afb20090560cad56fd31c28f1131faad223648492bf6?s=80&d=identicon", + "id" : 26224246, + "locked" : false, + "name" : "Michael Lohmann", + "public_email" : "", + "state" : "active", + "username" : "miallo", + "web_url" : "https://gitlab.com/miallo" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-04-15T05:43:31.215Z", + "description" : "", + "detailed_merge_status" : "conflict", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 376539562, + "iid" : "378", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-04-15T05:43:38.678Z", + "project_id" : 7219050, + "reference" : "!378", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!378", + "relative" : "!378", + "short" : "!378" + }, + "reviewers" : [], + "sha" : "507e7b077fb9ebbd7f7edd59f99d157edff04229", + "should_remove_source_branch" : null, + "source_branch" : "domain-dkim-selector", + "source_project_id" : 67139966, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Allow per domain DKIM selectors", + "updated_at" : "2025-07-29T06:00:21.846Z", + "upvotes" : 0, + "user_notes_count" : 8, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/378", + "work_in_progress" : false + }, + "379" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "id" : 34373, + "locked" : false, + "name" : "Martin Weinelt", + "public_email" : "", + "state" : "active", + "username" : "mweinelt", + "web_url" : "https://gitlab.com/mweinelt" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-04-17T01:31:24.141Z", + "description" : "Factored out of !374 \n\n> Working on extending the LDAP test with a DKIM signature check. Getting the fetchmail/procmail/msmtp stack up is unfortunately error-prone and therefore annoying.", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 377139637, + "iid" : "379", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-04-17T01:31:27.373Z", + "project_id" : 7219050, + "reference" : "!379", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!379", + "relative" : "!379", + "short" : "!379" + }, + "reviewers" : [], + "sha" : "ccd796bed62fd43f677f5f546767b52ecceedcb5", + "should_remove_source_branch" : null, + "source_branch" : "ldap-dkim-test", + "source_project_id" : 17834976, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: tests: Check DKIM signature in LDAP scenario", + "updated_at" : "2025-04-17T01:31:27.379Z", + "upvotes" : 0, + "user_notes_count" : 0, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/379", + "work_in_progress" : true + }, + "402" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/91620da9251d6a4eba310891ee15f597f6f6fef5dcb37de6d25608051991d3c7?s=80&d=identicon", + "id" : 12198860, + "locked" : false, + "name" : "Dustin Frisch", + "public_email" : null, + "state" : "active", + "username" : "fooker", + "web_url" : "https://gitlab.com/fooker" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-05-27T20:31:13.648Z", + "description" : "Proof of concept to support oauth2 authentication on postfix and dovecot", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 386572485, + "iid" : "402", + "imported" : false, + "imported_from" : "none", + "labels" : [ + "Has: Test case" + ], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-05-27T20:31:22.566Z", + "project_id" : 7219050, + "reference" : "!402", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!402", + "relative" : "!402", + "short" : "!402" + }, + "reviewers" : [], + "sha" : "1d204120c08170665f5aa8122104b68a0190c4f8", + "should_remove_source_branch" : null, + "source_branch" : "pr/oauth2", + "source_project_id" : 70229551, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: oauth2 support", + "updated_at" : "2025-07-23T01:45:45.307Z", + "upvotes" : 3, + "user_notes_count" : 11, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/402", + "work_in_progress" : true + }, + "417" : { + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "id" : 34373, + "locked" : false, + "name" : "Martin Weinelt", + "public_email" : "", + "state" : "active", + "username" : "mweinelt", + "web_url" : "https://gitlab.com/mweinelt" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-06-15T05:05:12.919Z", + "description" : "The `mailserver.localDnsResolver` option was just a wrapper for\n`services.kresd.enable`. We don't require any specific resolver, so just\nsuggest kresd in the setup guide instead, this doesn't need to stay an\nimplementation detail we keep.\n\nI also added a warning, when resolved is enabled, since it takes over\nresolvconf and prevents use of a full-blown resolver.", + "detailed_merge_status" : "conflict", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : false, + "has_conflicts" : true, + "id" : 391155756, + "iid" : "417", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-06-15T05:05:15.255Z", + "project_id" : 7219050, + "reference" : "!417", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!417", + "relative" : "!417", + "short" : "!417" + }, + "reviewers" : [ + { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/369851/avatar.png", + "id" : 369851, + "locked" : false, + "name" : "lewo", + "public_email" : "", + "state" : "active", + "username" : "lewo", + "web_url" : "https://gitlab.com/lewo" + } + ], + "sha" : "1e73ae79635cf06b533cc0251bdbf3042690fa35", + "should_remove_source_branch" : null, + "source_branch" : "local-resolver", + "source_project_id" : 7219050, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Remove localDnsResolver option", + "updated_at" : "2025-07-10T14:37:05.838Z", + "upvotes" : 0, + "user_notes_count" : 5, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/417", + "work_in_progress" : false + }, + "433" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/feefeb288a5dba3c70b9afb20090560cad56fd31c28f1131faad223648492bf6?s=80&d=identicon", + "id" : 26224246, + "locked" : false, + "name" : "Michael Lohmann", + "public_email" : "", + "state" : "active", + "username" : "miallo", + "web_url" : "https://gitlab.com/miallo" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-07-27T18:10:16.424Z", + "description" : "Closes #316\n\nThank you @mweinelt for your suggestion!", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 402617374, + "iid" : "433", + "imported" : false, + "imported_from" : "none", + "labels" : [ + "Has: Documentation" + ], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-07-27T18:10:19.293Z", + "project_id" : 7219050, + "reference" : "!433", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!433", + "relative" : "!433", + "short" : "!433" + }, + "reviewers" : [], + "sha" : "32c225a3546bed3adcd86fa584779d8b1ba9ebc7", + "should_remove_source_branch" : null, + "source_branch" : "add-mecsa-to-doc", + "source_project_id" : 67139966, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: docs/setup-guide: Add MECSA to testing section", + "updated_at" : "2025-07-29T05:59:28.726Z", + "upvotes" : 0, + "user_notes_count" : 5, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/433", + "work_in_progress" : true + }, + "434" : { + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "id" : 34373, + "locked" : false, + "name" : "Martin Weinelt", + "public_email" : "", + "state" : "active", + "username" : "mweinelt", + "web_url" : "https://gitlab.com/mweinelt" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-07-28T00:23:19.652Z", + "description" : "", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : false, + "has_conflicts" : false, + "id" : 402630633, + "iid" : "434", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "can_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-07-28T00:23:22.887Z", + "project_id" : 7219050, + "reference" : "!434", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!434", + "relative" : "!434", + "short" : "!434" + }, + "reviewers" : [], + "sha" : "5cda7349d236b4f4e950f0f2ebdbaaf7bcfeb90d", + "should_remove_source_branch" : null, + "source_branch" : "mta-sts-nginx", + "source_project_id" : 7219050, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: Add support for the HTTPS part of MTA-STS", + "updated_at" : "2026-03-08T23:33:34.982Z", + "upvotes" : 0, + "user_notes_count" : 9, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/434", + "work_in_progress" : true + }, + "451" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/22432332/avatar.png", + "id" : 22432332, + "locked" : false, + "name" : "Steffen Beyer", + "public_email" : "", + "state" : "active", + "username" : "serpent213", + "web_url" : "https://gitlab.com/serpent213" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-10-02T13:16:17.907Z", + "description" : "After\n```\nmachine # [ 116.619518] rspamd[1236]: <>; ; rspamd_url_init: start compiling of 10229 TLD suffixes; it might take a long time\n```\nmy machine takes around three minutes to complete, internal tests didn't pass.\n\nThis patch fixes it for me, but I'm not sure it's the right approach. See also [internal.nix#L207](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/blob/4a05bb1911715c199711d13bd1ed1bd694210112/tests/internal.nix#L207).", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : true, + "has_conflicts" : false, + "id" : 420450925, + "iid" : "451", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "can_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-10-02T13:16:22.539Z", + "project_id" : 7219050, + "reference" : "!451", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!451", + "relative" : "!451", + "short" : "!451" + }, + "reviewers" : [], + "sha" : "4c855be6ac064a414287fb7e38433e025cecb824", + "should_remove_source_branch" : null, + "source_branch" : "fix-internal-test", + "source_project_id" : 74985681, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: test/fix: Wait for rspamd before internal tests", + "updated_at" : "2025-11-26T03:15:54.596Z", + "upvotes" : 0, + "user_notes_count" : 3, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/451", + "work_in_progress" : true + }, + "453" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/19472236/avatar.png", + "id" : 19472236, + "locked" : false, + "name" : "lennart", + "public_email" : "", + "state" : "active", + "username" : "riotbib", + "web_url" : "https://gitlab.com/riotbib" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-10-12T08:44:18.487Z", + "description" : "To comply with GDPR mailserver operators should a) inform a rejected\nsender about processing this data with a legitimate interest (Art. 13\nGDPR) and b) provide an alternative way to raise concers (Art. 21 GDPR).\n\nThe new `customRejectSenderMessage` option fullfills requirement b), e.g.\none may set it to an adress on another mailserver where the sender is\nnot rejected or a postal address.\n\nAccording to our Data Privacy Officer the following message checks a\nlawyer's boxes.\n\n> Your e-mail has not been delivered because we have blocked your e-mail\n> address. If you believe that your e-mail address has been blocked by\n> mistake, or if you have any other legitimate concern, please contact…\n\nRequirement a) should be a manual process informing the rejected sender\nabout being blocked from now on. A word of warning upfront is kind.\n\nNote: This feature mainly is made if there is an actual human on the\nother end, who doesn't get that they are sending unsolicited mail, not\nfor junk or fraud mail. Just block those then.", + "detailed_merge_status" : "mergeable", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : false, + "id" : 423002774, + "iid" : "453", + "imported" : false, + "imported_from" : "none", + "labels" : [ + "Needs: Release-Notes", + "Topic: SMTP" + ], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "can_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-10-12T08:44:22.906Z", + "project_id" : 7219050, + "reference" : "!453", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!453", + "relative" : "!453", + "short" : "!453" + }, + "reviewers" : [], + "sha" : "0a3571f608c7ad0ba2dba6fe1cfdf66e0408cd8d", + "should_remove_source_branch" : null, + "source_branch" : "add-option-custom-reject-sender-message", + "source_project_id" : 58331700, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Add rejectSenderMessage option", + "updated_at" : "2025-12-29T13:19:17.562Z", + "upvotes" : 0, + "user_notes_count" : 8, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/453", + "work_in_progress" : false + }, + "454" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://secure.gravatar.com/avatar/913fd0c8923dd0ef115dbc16bac4262c4b85acb7c2363e4209dcba019df4b50c?s=80&d=identicon", + "id" : 104968, + "locked" : false, + "name" : "poelzi", + "public_email" : "", + "state" : "active", + "username" : "poelzi", + "web_url" : "https://gitlab.com/poelzi" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-10-22T12:29:27.287Z", + "description" : "Quota service can be broken on ZFS for example.\nCreate option enableQuota (default = true) to control all quota settings. I choose enableQuota to align with the rest of the option names.", + "detailed_merge_status" : "mergeable", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : false, + "id" : 425626338, + "iid" : "454", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "can_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-10-22T12:29:36.222Z", + "project_id" : 7219050, + "reference" : "!454", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!454", + "relative" : "!454", + "short" : "!454" + }, + "reviewers" : [], + "sha" : "8b3a1861d6f721779d34f011f3507978f4ed3492", + "should_remove_source_branch" : null, + "source_branch" : "enableQuota", + "source_project_id" : 52717552, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Add mailserver.enableQuota to control quota services. Default = true", + "updated_at" : "2025-11-22T16:03:59.765Z", + "upvotes" : 0, + "user_notes_count" : 7, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/454", + "work_in_progress" : false + }, + "475" : { + "allow_collaboration" : true, + "allow_maintainer_to_push" : true, + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/5172429/avatar.png", + "id" : 5172429, + "locked" : false, + "name" : "Michael Hoang", + "public_email" : "", + "state" : "active", + "username" : "Enzime", + "web_url" : "https://gitlab.com/Enzime" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2025-12-04T00:02:45.207Z", + "description" : "", + "detailed_merge_status" : "conflict", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : true, + "has_conflicts" : true, + "id" : 437973810, + "iid" : "475", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2025-12-04T00:02:51.724Z", + "project_id" : 7219050, + "reference" : "!475", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!475", + "relative" : "!475", + "short" : "!475" + }, + "reviewers" : [], + "sha" : "dde48b4898bf26ece9d617be6bf95f26856ce7a1", + "should_remove_source_branch" : null, + "source_branch" : "push-xyyyysvzylxs", + "source_project_id" : 76853387, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "mailserver: enable POP3S if POP3 is enabled", + "updated_at" : "2026-02-26T00:16:59.988Z", + "upvotes" : 0, + "user_notes_count" : 5, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/475", + "work_in_progress" : false + }, + "482" : { + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "id" : 34373, + "locked" : false, + "name" : "Martin Weinelt", + "public_email" : "", + "state" : "active", + "username" : "mweinelt", + "web_url" : "https://gitlab.com/mweinelt" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2026-03-04T15:14:41.313Z", + "description" : "Ensure we have an immediate way forward after https://github.com/NixOS/nixpkgs/pull/488676.\n\nIt would of course be preferable to jump onto `dovecot_2_4` instead, but that requires more work here and there.", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : false, + "has_conflicts" : true, + "id" : 461031880, + "iid" : "482", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2026-03-04T15:14:44.189Z", + "project_id" : 7219050, + "reference" : "!482", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!482", + "relative" : "!482", + "short" : "!482" + }, + "reviewers" : [], + "sha" : "85979c2a6717357f8ed7a5b9417dd47734d4a408", + "should_remove_source_branch" : null, + "source_branch" : "dovecot-2.3-compat", + "source_project_id" : 7219050, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 0, + "count" : 0 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : null, + "time_estimate" : 0, + "total_time_spent" : 0 + }, + "title" : "Draft: dovecot: pin to dovecot_2_3", + "updated_at" : "2026-03-04T15:29:11.598Z", + "upvotes" : 0, + "user_notes_count" : 0, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/482", + "work_in_progress" : true + }, + "484" : { + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "id" : 34373, + "locked" : false, + "name" : "Martin Weinelt", + "public_email" : "", + "state" : "active", + "username" : "mweinelt", + "web_url" : "https://gitlab.com/mweinelt" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2026-03-06T01:42:33.418Z", + "description" : "This change adds support for configuring one or multiple DKIM keys per\ndomain to enable proper DKIM key transition.\n\nAdditionally, DKIM private keys can now also be passed as managed\nsecrets.\n\nTODO:\n- [x] Think about how to treat the DKIM key for the dedicated SRS Domain\n - Previously we would just generate a key with the default settings\n - Now we keep doing that, but the SRS domain's selectors can also be configured\n- [x] Write a dedicated docs page for DKIM key migration\n- [x] Test passing a DKIM key via the `keyFile` option\n- [x] Test setting up multiple keys\n- [x] ~~Beg @emilylange for a review~~\n- [x] Test DKIM key migration in production\n\nSupersedes: !344, !378 \nFixes: #341", + "detailed_merge_status" : "mergeable", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : false, + "force_remove_source_branch" : false, + "has_conflicts" : false, + "id" : 461539791, + "iid" : "484", + "imported" : false, + "imported_from" : "none", + "labels" : [], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "can_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : { + "created_at" : "2025-10-30T12:04:25.834Z", + "description" : "", + "due_date" : "2026-05-31", + "expired" : false, + "id" : 6187552, + "iid" : 3, + "project_id" : 7219050, + "start_date" : "2025-12-01", + "state" : "active", + "title" : "26.05", + "updated_at" : "2025-10-30T12:04:25.834Z", + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/milestones/3" + }, + "prepared_at" : "2026-03-06T01:42:38.004Z", + "project_id" : 7219050, + "reference" : "!484", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!484", + "relative" : "!484", + "short" : "!484" + }, + "reviewers" : [], + "sha" : "e4356d5f9cb82fe7b745442d052945108ca9591d", + "should_remove_source_branch" : null, + "source_branch" : "dkim-key-management", + "source_project_id" : 7219050, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 6, + "count" : 6 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : "12h", + "time_estimate" : 0, + "total_time_spent" : 43200 + }, + "title" : "Add support for DKIM key management", + "updated_at" : "2026-03-11T14:34:10.512Z", + "upvotes" : 1, + "user_notes_count" : 35, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/484", + "work_in_progress" : false + }, + "486" : { + "approvals_before_merge" : null, + "assignee" : null, + "assignees" : [], + "author" : { + "avatar_url" : "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "id" : 34373, + "locked" : false, + "name" : "Martin Weinelt", + "public_email" : "", + "state" : "active", + "username" : "mweinelt", + "web_url" : "https://gitlab.com/mweinelt" + }, + "blocking_discussions_resolved" : true, + "closed_at" : null, + "closed_by" : null, + "created_at" : "2026-03-06T23:20:06.827Z", + "description" : "This is obviously a tough sell because of the migration cost, but is what\nwe actually planned for the LDAP integration to be.\n\nStoring mail in a directory referencing the users UUID is much more\nstable than basing this on a uid or a common name.\n\nThis also finally resolves the issue where users have a homeDirectory on\nLDAP and it leaks into the Dovecot user.\n\nCloses: #342 \n\n---\n\nTODO:\n- [x] Tests\n- [ ] Release notes\n- [ ] Docs updates\n- [ ] Migration script\n- [ ] Migration story", + "detailed_merge_status" : "draft_status", + "discussion_locked" : null, + "downvotes" : 0, + "draft" : true, + "force_remove_source_branch" : false, + "has_conflicts" : true, + "id" : 461868403, + "iid" : "486", + "imported" : false, + "imported_from" : "none", + "labels" : [ + "Has: Test case", + "Needs: Documentation", + "Needs: Migration story", + "Topic: LDAP" + ], + "merge_after" : null, + "merge_commit_sha" : null, + "merge_status" : "cannot_be_merged", + "merge_user" : null, + "merge_when_pipeline_succeeds" : false, + "merged_at" : null, + "merged_by" : null, + "milestone" : null, + "prepared_at" : "2026-03-06T23:20:10.189Z", + "project_id" : 7219050, + "reference" : "!486", + "references" : { + "full" : "simple-nixos-mailserver/nixos-mailserver!486", + "relative" : "!486", + "short" : "!486" + }, + "reviewers" : [], + "sha" : "3fd87da3293fd9fe473c630fbeef5101fe46feb9", + "should_remove_source_branch" : null, + "source_branch" : "dovecot-ldap-override-fields", + "source_project_id" : 7219050, + "squash" : false, + "squash_commit_sha" : null, + "squash_on_merge" : false, + "state" : "opened", + "target_branch" : "master", + "target_project_id" : 7219050, + "target_repo_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", + "task_completion_status" : { + "completed_count" : 1, + "count" : 5 + }, + "time_stats" : { + "human_time_estimate" : null, + "human_total_time_spent" : "4h", + "time_estimate" : 0, + "total_time_spent" : 14400 + }, + "title" : "Draft: ldap: stable home directories based on UUID attribute", + "updated_at" : "2026-03-09T23:01:08.682Z", + "upvotes" : 0, + "user_notes_count" : 0, + "web_url" : "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/486", + "work_in_progress" : true + } +} diff --git a/dont merge this/pretty_gl_api_out.json b/dont merge this/pretty_gl_api_out.json new file mode 100644 index 00000000..cb648d2e --- /dev/null +++ b/dont merge this/pretty_gl_api_out.json @@ -0,0 +1,1864 @@ +[ + { + "id": 461868403, + "iid": 486, + "project_id": 7219050, + "title": "Draft: ldap: stable home directories based on UUID attribute", + "description": "This is obviously a tough sell because of the migration cost, but is what\nwe actually planned for the LDAP integration to be.\n\nStoring mail in a directory referencing the users UUID is much more\nstable than basing this on a uid or a common name.\n\nThis also finally resolves the issue where users have a homeDirectory on\nLDAP and it leaks into the Dovecot user.\n\nCloses: #342 \n\n---\n\nTODO:\n- [x] Tests\n- [ ] Release notes\n- [ ] Docs updates\n- [ ] Migration script\n- [ ] Migration story", + "state": "opened", + "created_at": "2026-03-06T23:20:06.827Z", + "updated_at": "2026-03-09T23:01:08.682Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "dovecot-ldap-override-fields", + "user_notes_count": 0, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 34373, + "username": "mweinelt", + "public_email": "", + "name": "Martin Weinelt", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "web_url": "https://gitlab.com/mweinelt" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 7219050, + "target_project_id": 7219050, + "labels": [ + "Has: Test case", + "Needs: Documentation", + "Needs: Migration story", + "Topic: LDAP" + ], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "3fd87da3293fd9fe473c630fbeef5101fe46feb9", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": false, + "prepared_at": "2026-03-06T23:20:10.189Z", + "reference": "!486", + "references": { + "short": "!486", + "relative": "!486", + "full": "simple-nixos-mailserver/nixos-mailserver!486" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/486", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 14400, + "human_time_estimate": null, + "human_total_time_spent": "4h" + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 5, + "completed_count": 1 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 461539791, + "iid": 484, + "project_id": 7219050, + "title": "Add support for DKIM key management", + "description": "This change adds support for configuring one or multiple DKIM keys per\ndomain to enable proper DKIM key transition.\n\nAdditionally, DKIM private keys can now also be passed as managed\nsecrets.\n\nTODO:\n- [x] Think about how to treat the DKIM key for the dedicated SRS Domain\n - Previously we would just generate a key with the default settings\n - Now we keep doing that, but the SRS domain's selectors can also be configured\n- [x] Write a dedicated docs page for DKIM key migration\n- [x] Test passing a DKIM key via the `keyFile` option\n- [x] Test setting up multiple keys\n- [x] ~~Beg @emilylange for a review~~\n- [x] Test DKIM key migration in production\n\nSupersedes: !344, !378 \nFixes: #341", + "state": "opened", + "created_at": "2026-03-06T01:42:33.418Z", + "updated_at": "2026-03-11T14:34:10.512Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "dkim-key-management", + "user_notes_count": 35, + "upvotes": 1, + "downvotes": 0, + "author": { + "id": 34373, + "username": "mweinelt", + "public_email": "", + "name": "Martin Weinelt", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "web_url": "https://gitlab.com/mweinelt" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 7219050, + "target_project_id": 7219050, + "labels": [], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": { + "id": 6187552, + "iid": 3, + "project_id": 7219050, + "title": "26.05", + "description": "", + "state": "active", + "created_at": "2025-10-30T12:04:25.834Z", + "updated_at": "2025-10-30T12:04:25.834Z", + "due_date": "2026-05-31", + "start_date": "2025-12-01", + "expired": false, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/milestones/3" + }, + "merge_when_pipeline_succeeds": false, + "merge_status": "can_be_merged", + "detailed_merge_status": "mergeable", + "merge_after": null, + "sha": "e4356d5f9cb82fe7b745442d052945108ca9591d", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": false, + "prepared_at": "2026-03-06T01:42:38.004Z", + "reference": "!484", + "references": { + "short": "!484", + "relative": "!484", + "full": "simple-nixos-mailserver/nixos-mailserver!484" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/484", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 43200, + "human_time_estimate": null, + "human_total_time_spent": "12h" + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 6, + "completed_count": 6 + }, + "has_conflicts": false, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 461031880, + "iid": 482, + "project_id": 7219050, + "title": "Draft: dovecot: pin to dovecot_2_3", + "description": "Ensure we have an immediate way forward after https://github.com/NixOS/nixpkgs/pull/488676.\n\nIt would of course be preferable to jump onto `dovecot_2_4` instead, but that requires more work here and there.", + "state": "opened", + "created_at": "2026-03-04T15:14:41.313Z", + "updated_at": "2026-03-04T15:29:11.598Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "dovecot-2.3-compat", + "user_notes_count": 0, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 34373, + "username": "mweinelt", + "public_email": "", + "name": "Martin Weinelt", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "web_url": "https://gitlab.com/mweinelt" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 7219050, + "target_project_id": 7219050, + "labels": [], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "85979c2a6717357f8ed7a5b9417dd47734d4a408", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": false, + "prepared_at": "2026-03-04T15:14:44.189Z", + "reference": "!482", + "references": { + "short": "!482", + "relative": "!482", + "full": "simple-nixos-mailserver/nixos-mailserver!482" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/482", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 437973810, + "iid": 475, + "project_id": 7219050, + "title": "mailserver: enable POP3S if POP3 is enabled", + "description": "", + "state": "opened", + "created_at": "2025-12-04T00:02:45.207Z", + "updated_at": "2026-02-26T00:16:59.988Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "push-xyyyysvzylxs", + "user_notes_count": 5, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 5172429, + "username": "Enzime", + "public_email": "", + "name": "Michael Hoang", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/5172429/avatar.png", + "web_url": "https://gitlab.com/Enzime" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 76853387, + "target_project_id": 7219050, + "labels": [], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "conflict", + "merge_after": null, + "sha": "dde48b4898bf26ece9d617be6bf95f26856ce7a1", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2025-12-04T00:02:51.724Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!475", + "references": { + "short": "!475", + "relative": "!475", + "full": "simple-nixos-mailserver/nixos-mailserver!475" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/475", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 425626338, + "iid": 454, + "project_id": 7219050, + "title": "Add mailserver.enableQuota to control quota services. Default = true", + "description": "Quota service can be broken on ZFS for example.\nCreate option enableQuota (default = true) to control all quota settings. I choose enableQuota to align with the rest of the option names.", + "state": "opened", + "created_at": "2025-10-22T12:29:27.287Z", + "updated_at": "2025-11-22T16:03:59.765Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "enableQuota", + "user_notes_count": 7, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 104968, + "username": "poelzi", + "public_email": "", + "name": "poelzi", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/913fd0c8923dd0ef115dbc16bac4262c4b85acb7c2363e4209dcba019df4b50c?s=80&d=identicon", + "web_url": "https://gitlab.com/poelzi" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 52717552, + "target_project_id": 7219050, + "labels": [], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "can_be_merged", + "detailed_merge_status": "mergeable", + "merge_after": null, + "sha": "8b3a1861d6f721779d34f011f3507978f4ed3492", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2025-10-22T12:29:36.222Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!454", + "references": { + "short": "!454", + "relative": "!454", + "full": "simple-nixos-mailserver/nixos-mailserver!454" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/454", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": false, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 423002774, + "iid": 453, + "project_id": 7219050, + "title": "Add rejectSenderMessage option", + "description": "To comply with GDPR mailserver operators should a) inform a rejected\nsender about processing this data with a legitimate interest (Art. 13\nGDPR) and b) provide an alternative way to raise concers (Art. 21 GDPR).\n\nThe new `customRejectSenderMessage` option fullfills requirement b), e.g.\none may set it to an adress on another mailserver where the sender is\nnot rejected or a postal address.\n\nAccording to our Data Privacy Officer the following message checks a\nlawyer's boxes.\n\n> Your e-mail has not been delivered because we have blocked your e-mail\n> address. If you believe that your e-mail address has been blocked by\n> mistake, or if you have any other legitimate concern, please contact…\n\nRequirement a) should be a manual process informing the rejected sender\nabout being blocked from now on. A word of warning upfront is kind.\n\nNote: This feature mainly is made if there is an actual human on the\nother end, who doesn't get that they are sending unsolicited mail, not\nfor junk or fraud mail. Just block those then.", + "state": "opened", + "created_at": "2025-10-12T08:44:18.487Z", + "updated_at": "2025-12-29T13:19:17.562Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "add-option-custom-reject-sender-message", + "user_notes_count": 8, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 19472236, + "username": "riotbib", + "public_email": "", + "name": "lennart", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/19472236/avatar.png", + "web_url": "https://gitlab.com/riotbib" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 58331700, + "target_project_id": 7219050, + "labels": [ + "Needs: Release-Notes", + "Topic: SMTP" + ], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "can_be_merged", + "detailed_merge_status": "mergeable", + "merge_after": null, + "sha": "0a3571f608c7ad0ba2dba6fe1cfdf66e0408cd8d", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2025-10-12T08:44:22.906Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!453", + "references": { + "short": "!453", + "relative": "!453", + "full": "simple-nixos-mailserver/nixos-mailserver!453" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/453", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": false, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 420450925, + "iid": 451, + "project_id": 7219050, + "title": "Draft: test/fix: Wait for rspamd before internal tests", + "description": "After\n```\nmachine # [ 116.619518] rspamd[1236]: <>; ; rspamd_url_init: start compiling of 10229 TLD suffixes; it might take a long time\n```\nmy machine takes around three minutes to complete, internal tests didn't pass.\n\nThis patch fixes it for me, but I'm not sure it's the right approach. See also [internal.nix#L207](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/blob/4a05bb1911715c199711d13bd1ed1bd694210112/tests/internal.nix#L207).", + "state": "opened", + "created_at": "2025-10-02T13:16:17.907Z", + "updated_at": "2025-11-26T03:15:54.596Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "fix-internal-test", + "user_notes_count": 3, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 22432332, + "username": "serpent213", + "public_email": "", + "name": "Steffen Beyer", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/22432332/avatar.png", + "web_url": "https://gitlab.com/serpent213" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 74985681, + "target_project_id": 7219050, + "labels": [], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "can_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "4c855be6ac064a414287fb7e38433e025cecb824", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2025-10-02T13:16:22.539Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!451", + "references": { + "short": "!451", + "relative": "!451", + "full": "simple-nixos-mailserver/nixos-mailserver!451" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/451", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": false, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 402630633, + "iid": 434, + "project_id": 7219050, + "title": "Draft: Add support for the HTTPS part of MTA-STS", + "description": "", + "state": "opened", + "created_at": "2025-07-28T00:23:19.652Z", + "updated_at": "2026-03-08T23:33:34.982Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "mta-sts-nginx", + "user_notes_count": 9, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 34373, + "username": "mweinelt", + "public_email": "", + "name": "Martin Weinelt", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "web_url": "https://gitlab.com/mweinelt" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 7219050, + "target_project_id": 7219050, + "labels": [], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "can_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "5cda7349d236b4f4e950f0f2ebdbaaf7bcfeb90d", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": false, + "prepared_at": "2025-07-28T00:23:22.887Z", + "reference": "!434", + "references": { + "short": "!434", + "relative": "!434", + "full": "simple-nixos-mailserver/nixos-mailserver!434" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/434", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": false, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 402617374, + "iid": 433, + "project_id": 7219050, + "title": "Draft: docs/setup-guide: Add MECSA to testing section", + "description": "Closes #316\n\nThank you @mweinelt for your suggestion!", + "state": "opened", + "created_at": "2025-07-27T18:10:16.424Z", + "updated_at": "2025-07-29T05:59:28.726Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "add-mecsa-to-doc", + "user_notes_count": 5, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 26224246, + "username": "miallo", + "public_email": "", + "name": "Michael Lohmann", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/feefeb288a5dba3c70b9afb20090560cad56fd31c28f1131faad223648492bf6?s=80&d=identicon", + "web_url": "https://gitlab.com/miallo" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 67139966, + "target_project_id": 7219050, + "labels": [ + "Has: Documentation" + ], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "32c225a3546bed3adcd86fa584779d8b1ba9ebc7", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2025-07-27T18:10:19.293Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!433", + "references": { + "short": "!433", + "relative": "!433", + "full": "simple-nixos-mailserver/nixos-mailserver!433" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/433", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 391155756, + "iid": 417, + "project_id": 7219050, + "title": "Remove localDnsResolver option", + "description": "The `mailserver.localDnsResolver` option was just a wrapper for\n`services.kresd.enable`. We don't require any specific resolver, so just\nsuggest kresd in the setup guide instead, this doesn't need to stay an\nimplementation detail we keep.\n\nI also added a warning, when resolved is enabled, since it takes over\nresolvconf and prevents use of a full-blown resolver.", + "state": "opened", + "created_at": "2025-06-15T05:05:12.919Z", + "updated_at": "2025-07-10T14:37:05.838Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "local-resolver", + "user_notes_count": 5, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 34373, + "username": "mweinelt", + "public_email": "", + "name": "Martin Weinelt", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "web_url": "https://gitlab.com/mweinelt" + }, + "assignees": [], + "assignee": null, + "reviewers": [ + { + "id": 369851, + "username": "lewo", + "public_email": "", + "name": "lewo", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/369851/avatar.png", + "web_url": "https://gitlab.com/lewo" + } + ], + "source_project_id": 7219050, + "target_project_id": 7219050, + "labels": [], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "conflict", + "merge_after": null, + "sha": "1e73ae79635cf06b533cc0251bdbf3042690fa35", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": false, + "prepared_at": "2025-06-15T05:05:15.255Z", + "reference": "!417", + "references": { + "short": "!417", + "relative": "!417", + "full": "simple-nixos-mailserver/nixos-mailserver!417" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/417", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 386572485, + "iid": 402, + "project_id": 7219050, + "title": "Draft: oauth2 support", + "description": "Proof of concept to support oauth2 authentication on postfix and dovecot", + "state": "opened", + "created_at": "2025-05-27T20:31:13.648Z", + "updated_at": "2025-07-23T01:45:45.307Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "pr/oauth2", + "user_notes_count": 11, + "upvotes": 3, + "downvotes": 0, + "author": { + "id": 12198860, + "username": "fooker", + "public_email": null, + "name": "Dustin Frisch", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/91620da9251d6a4eba310891ee15f597f6f6fef5dcb37de6d25608051991d3c7?s=80&d=identicon", + "web_url": "https://gitlab.com/fooker" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 70229551, + "target_project_id": 7219050, + "labels": [ + "Has: Test case" + ], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "1d204120c08170665f5aa8122104b68a0190c4f8", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2025-05-27T20:31:22.566Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!402", + "references": { + "short": "!402", + "relative": "!402", + "full": "simple-nixos-mailserver/nixos-mailserver!402" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/402", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 377139637, + "iid": 379, + "project_id": 7219050, + "title": "Draft: tests: Check DKIM signature in LDAP scenario", + "description": "Factored out of !374 \n\n> Working on extending the LDAP test with a DKIM signature check. Getting the fetchmail/procmail/msmtp stack up is unfortunately error-prone and therefore annoying.", + "state": "opened", + "created_at": "2025-04-17T01:31:24.141Z", + "updated_at": "2025-04-17T01:31:27.379Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "ldap-dkim-test", + "user_notes_count": 0, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 34373, + "username": "mweinelt", + "public_email": "", + "name": "Martin Weinelt", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png", + "web_url": "https://gitlab.com/mweinelt" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 17834976, + "target_project_id": 7219050, + "labels": [], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "ccd796bed62fd43f677f5f546767b52ecceedcb5", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2025-04-17T01:31:27.373Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!379", + "references": { + "short": "!379", + "relative": "!379", + "full": "simple-nixos-mailserver/nixos-mailserver!379" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/379", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 376539562, + "iid": 378, + "project_id": 7219050, + "title": "Allow per domain DKIM selectors", + "description": "", + "state": "opened", + "created_at": "2025-04-15T05:43:31.215Z", + "updated_at": "2025-07-29T06:00:21.846Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "domain-dkim-selector", + "user_notes_count": 8, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 26224246, + "username": "miallo", + "public_email": "", + "name": "Michael Lohmann", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/feefeb288a5dba3c70b9afb20090560cad56fd31c28f1131faad223648492bf6?s=80&d=identicon", + "web_url": "https://gitlab.com/miallo" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 67139966, + "target_project_id": 7219050, + "labels": [], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "conflict", + "merge_after": null, + "sha": "507e7b077fb9ebbd7f7edd59f99d157edff04229", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2025-04-15T05:43:38.678Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!378", + "references": { + "short": "!378", + "relative": "!378", + "full": "simple-nixos-mailserver/nixos-mailserver!378" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/378", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 356785056, + "iid": 359, + "project_id": 7219050, + "title": "Set HOME to private /tmp for borgbackup", + "description": "borg writes to $HOME/.config but in our case it also works on $HOME (/var/vmail).\n\nThis could cause the following error when running the backup: file changed while we backed it up\n\n```\n× borgbackup.service - borgbackup\n Loaded: loaded (/etc/systemd/system/borgbackup.service; linked; preset: ignored)\n Drop-In: /nix/store/8iqfrm23vqm9vb4dhfrkm2gp53rhds65-system-units/service.d\n └─10-all-failure-handler.conf\n Active: failed (Result: exit-code) since Tue 2025-01-21 11:00:14 UTC; 54ms ago\n Duration: 11.283s\n Invocation: 1712129869394f1f8eabc4cd26d3ab4c\nTriggeredBy: ● borgbackup.timer\n Docs: man:borgbackup\n Process: 78255 ExecStart=/nix/store/khkr1l6395czf0sn79i0kmfp7pvimlm5-unit-script-borgbackup-start/bin/borgbackup-start (code=exited, status=1/FAILURE)\n Main PID: 78255 (code=exited, status=1/FAILURE)\n IP: 16.6K in, 18.8K out\n IO: 24K read, 628K written\n Mem peak: 66.2M\n CPU: 1.887s\n\nJan 21 11:00:02 revelations systemd[1]: Started borgbackup.\nJan 21 11:00:13 revelations borgbackup-start[78267]: /var/vmail/.config/borg/security/25276a6702fe342e099d0c711d20ff31752131884fd017bf76c0169ba84682b2/nonce: file changed while we backed it up\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Main process exited, code=exited, status=1/FAILURE\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Failed with result 'exit-code'.\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Triggering OnFailure= dependencies.\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Consumed 1.887s CPU time, 66.2M memory peak, 24K read from disk, 628K written to disk, 16.6K incoming IP traffic, 18.8K outgoing IP traffic.\n```\n\nThis commit fixes it by setting HOME to private /tmp for borg.", + "state": "opened", + "created_at": "2025-01-21T13:38:15.615Z", + "updated_at": "2025-11-08T12:51:01.583Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "fix-borg-home", + "user_notes_count": 7, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 15300676, + "username": "kxxt", + "public_email": "", + "name": "Levi Zim", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/760866e3f665c2c84419f8e46706e63737bb03738fd10e041bb0c2414f29676a?s=80&d=identicon", + "web_url": "https://gitlab.com/kxxt" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 66340613, + "target_project_id": 7219050, + "labels": [], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "can_be_merged", + "detailed_merge_status": "mergeable", + "merge_after": null, + "sha": "3e4908fa0f98293d962a09d73839a55490bb2f94", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2025-01-21T13:38:18.391Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!359", + "references": { + "short": "!359", + "relative": "!359", + "full": "simple-nixos-mailserver/nixos-mailserver!359" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/359", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": false, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 347132924, + "iid": 353, + "project_id": 7219050, + "title": "Add option sendFromAliases", + "description": "This new option specifies if members of an alias can send mail with the alias in the `From:` header.\n\nWe've been using this in production for months and rely on it a lot.", + "state": "opened", + "created_at": "2024-12-04T14:40:19.884Z", + "updated_at": "2025-06-12T16:57:03.797Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "send-from-aliases", + "user_notes_count": 1, + "upvotes": 1, + "downvotes": 0, + "author": { + "id": 101041, + "username": "vandenoever", + "public_email": "", + "name": "Jos van den Oever", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/774d56705d6aa05e9036276887f503148f8043735b28c8195d4c52edf5fb53cf?s=80&d=identicon", + "web_url": "https://gitlab.com/vandenoever" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 50559158, + "target_project_id": 7219050, + "labels": [ + "Needs: Test case" + ], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "conflict", + "merge_after": null, + "sha": "ea9c7a64b2d36dfa99c3b2c17135f3e9f6fe8503", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2024-12-04T14:40:24.231Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!353", + "references": { + "short": "!353", + "relative": "!353", + "full": "simple-nixos-mailserver/nixos-mailserver!353" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/353", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 346002219, + "iid": 351, + "project_id": 7219050, + "title": "Draft: set virtual_alias_maps for LDAP", + "description": "This is needed for looking up mail aliases in the LDAP database.\n\nFixes #304", + "state": "opened", + "created_at": "2024-11-28T18:21:17.519Z", + "updated_at": "2026-03-09T21:10:03.369Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "fix-ldap-mail-aliases", + "user_notes_count": 5, + "upvotes": 2, + "downvotes": 0, + "author": { + "id": 10345923, + "username": "royneary", + "public_email": null, + "name": "Christian Ulrich", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/60727c5131be4f66abaa95e6b1f35bb65bce69caa201ee750e9f20b2380ade53?s=80&d=identicon", + "web_url": "https://gitlab.com/royneary" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 64304002, + "target_project_id": 7219050, + "labels": [ + "Needs: Test case", + "Topic: LDAP" + ], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "aafe694008e531c17f1f8864d21d21dca1b3c528", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2024-11-28T18:21:20.358Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!351", + "references": { + "short": "!351", + "relative": "!351", + "full": "simple-nixos-mailserver/nixos-mailserver!351" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/351", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 338994368, + "iid": 344, + "project_id": 7219050, + "title": "feat: add support for DKIM private key files", + "description": "This gives people an option to declaratively manage these secrets,\nrather than having them generated.", + "state": "opened", + "created_at": "2024-10-31T20:37:00.119Z", + "updated_at": "2026-03-11T06:33:05.279Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "dkim-path", + "user_notes_count": 39, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 10003463, + "username": "jflysohigh", + "public_email": "", + "name": "Jeremy Fleischman", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/ce2706acd861897902d2d58d4eb6bec3074708c63d8ccc46dddffb6e81b51095?s=80&d=identicon", + "web_url": "https://gitlab.com/jflysohigh" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 63051045, + "target_project_id": 7219050, + "labels": [], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "can_be_merged", + "detailed_merge_status": "mergeable", + "merge_after": null, + "sha": "20cfeb0d7a03c2a04a6f6d3d5dd364f786345634", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2024-10-31T20:37:03.558Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!344", + "references": { + "short": "!344", + "relative": "!344", + "full": "simple-nixos-mailserver/nixos-mailserver!344" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/344", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": false, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 337527756, + "iid": 343, + "project_id": 7219050, + "title": "Add a note about DMARC strictness", + "description": "https://mxtoolbox.com/ warned me about the loosey-goosey DMARC entry\nthese instructions steered me towards. Hopefully this will save others\nsome time in the future.", + "state": "opened", + "created_at": "2024-10-29T04:52:33.423Z", + "updated_at": "2025-07-09T23:45:36.687Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "dmarc-strictness", + "user_notes_count": 15, + "upvotes": 1, + "downvotes": 0, + "author": { + "id": 10003463, + "username": "jflysohigh", + "public_email": "", + "name": "Jeremy Fleischman", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/ce2706acd861897902d2d58d4eb6bec3074708c63d8ccc46dddffb6e81b51095?s=80&d=identicon", + "web_url": "https://gitlab.com/jflysohigh" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 63051045, + "target_project_id": 7219050, + "labels": [ + "Topic: DMARC", + "Topic: Docs" + ], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "conflict", + "merge_after": null, + "sha": "de52c04605e89fe1a2b8762bb2e5e2d85db34051", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2024-10-29T04:52:37.217Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!343", + "references": { + "short": "!343", + "relative": "!343", + "full": "simple-nixos-mailserver/nixos-mailserver!343" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/343", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 331333681, + "iid": 341, + "project_id": 7219050, + "title": "Add option to enable rspamd web ui", + "description": "Extracted from the mail server config over at https://gitea.c3d2.de/c3d2/nix-config/src/branch/master/hosts/mail/default.nix\n\nCloses: !16", + "state": "opened", + "created_at": "2024-10-01T22:16:38.902Z", + "updated_at": "2026-03-09T21:38:19.646Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "rpsamd-web-ui", + "user_notes_count": 15, + "upvotes": 1, + "downvotes": 0, + "author": { + "id": 1689563, + "username": "SuperSandro2000", + "public_email": "", + "name": "Sandro", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/941ca13f28dbf695e3a49bc257b75993c3dcbc2a3d69e62788ad8fb786dcbed1?s=80&d=identicon", + "web_url": "https://gitlab.com/SuperSandro2000" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 56809539, + "target_project_id": 7219050, + "labels": [], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "conflict", + "merge_after": null, + "sha": "f35b4bf7545461fdbec63852c04cfafee6673e1c", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2024-10-01T22:16:45.449Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!341", + "references": { + "short": "!341", + "relative": "!341", + "full": "simple-nixos-mailserver/nixos-mailserver!341" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/341", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 320575925, + "iid": 337, + "project_id": 7219050, + "title": "Draft: domains: seperate into domains and relayDomains", + "description": "Add support for configuring mail server for domains where users should not be able to receive/send mails. This is useful for using this mail server also as a relay, e.g. for hosting a mailman.\n\nCloses !333\n\nAlso restrict LDAP users from sending from relay domains.", + "state": "opened", + "created_at": "2024-08-10T19:07:59.293Z", + "updated_at": "2025-05-15T12:19:00.450Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "relay", + "user_notes_count": 29, + "upvotes": 5, + "downvotes": 0, + "author": { + "id": 3388498, + "username": "MarcelCoding", + "public_email": "", + "name": "Marcel", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/3388498/avatar.png", + "web_url": "https://gitlab.com/MarcelCoding" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 56809539, + "target_project_id": 7219050, + "labels": [], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "5648001ef3c4ee4a82ecc30c3ec7eea804ce1a52", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2024-08-10T19:08:02.504Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!337", + "references": { + "short": "!337", + "relative": "!337", + "full": "simple-nixos-mailserver/nixos-mailserver!337" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/337", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 316457158, + "iid": 335, + "project_id": 7219050, + "title": "Draft: feat: enable virtual aliases for ldap users", + "description": "As mentioned in #259 we have tested using virtual aliases for LDAP users and have been using it for teh last 9 months. \nOpening this MR in case its useful upstream.", + "state": "opened", + "created_at": "2024-07-21T12:26:31.935Z", + "updated_at": "2026-03-09T21:04:39.276Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "master", + "user_notes_count": 5, + "upvotes": 1, + "downvotes": 0, + "author": { + "id": 1282303, + "username": "Brendan_Golden", + "public_email": "", + "name": "Brendan Golden", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/1282303/avatar.png", + "web_url": "https://gitlab.com/Brendan_Golden" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 60195854, + "target_project_id": 7219050, + "labels": [ + "Needs: Test case" + ], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "806a4cfd2174b3941e9426d75ed09561c547e6fd", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": null, + "prepared_at": "2024-07-21T12:26:35.206Z", + "allow_collaboration": false, + "allow_maintainer_to_push": false, + "reference": "!335", + "references": { + "short": "!335", + "relative": "!335", + "full": "simple-nixos-mailserver/nixos-mailserver!335" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/335", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 137674084, + "iid": 262, + "project_id": 7219050, + "title": "Draft: iOS Mail app push notification support", + "description": "> [!warning]\n> Around the end of 2024, Apple stopped issuing necessary certificates, effectively breaking this feature. There are reports they are in touch with opensource developers and working to make a new API though. [See here](https://github.com/freswa/dovecot-xaps-daemon/issues/43)\n\nThis isn't ready for merging, but I don't know if I'll have the time to polish it, so I'll just offer what I have. This enables push notifications on mail receipt in the iOS default Mail app. Apple's push infrastructure is used to deliver notification from the mail server to the iOS device with the Mail app, which notifies the user according to the on-device settings.\n\nVariants of this configuration have been working for me for almost 3 years up to iOS 16.3.1. (I should note that people using this feature are nervous Apple will shut it down, since they discontinued the Mac OS X Server product it was created for. On the other hand, Fastmail supports it, so maybe they have some sway with Apple to keep it alive.)\n\nWhat needs to be done:\n- [ ] Apple has to enable certificates for this again (see top)\n- [ ] add \"enable\" flag instead of assuming enable\n- [ ] make the Apple ID email and password configurable - they are coded into the Nix source itself right now.\n - This is for the provisioning of Apple push certificates and doesn't need to have any relation to your hosted email accounts.\n - You should use the Apple ID you've purchased macOS Server with.\n - There is no support for an app password if you have 2FA. Use your normal password. No other special type or configuration of the account is required.\n- [ ] add some documentation, such as explaining the above in the config definitions. The xaps repositories may have some pointers on troubleshooting, some more technical details about how it works, and privacy implications. I can probably provide those if needed too, but I don't remember the details off hand.", + "state": "opened", + "created_at": "2022-01-30T02:14:00.624Z", + "updated_at": "2026-03-09T20:32:16.807Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "dovecot-push-xaps", + "user_notes_count": 1, + "upvotes": 1, + "downvotes": 0, + "author": { + "id": 2875513, + "username": "scintill", + "public_email": "", + "name": "Joey Hewitt", + "state": "active", + "locked": false, + "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/2875513/avatar.png", + "web_url": "https://gitlab.com/scintill" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 13098371, + "target_project_id": 7219050, + "labels": [], + "draft": true, + "imported": false, + "imported_from": "none", + "work_in_progress": true, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "draft_status", + "merge_after": null, + "sha": "ba4f09fdfe06f5120c62aae487cf39e073d8d9c5", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2022-01-30T02:14:00.624Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!262", + "references": { + "short": "!262", + "relative": "!262", + "full": "simple-nixos-mailserver/nixos-mailserver!262" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/262", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": true, + "squash_on_merge": false, + "task_completion_status": { + "count": 4, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 102038772, + "iid": 231, + "project_id": 7219050, + "title": "add sieve script for Delta Chat", + "description": "The script was copied from https://github.com/mailcow/mailcow-dockerized/blob/3dece1a05c97c1b989b432bd0609710fef91e95c/data/conf/dovecot/global_sieve_before.", + "state": "opened", + "created_at": "2021-05-30T17:17:20.391Z", + "updated_at": "2026-03-09T20:24:39.803Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "sieve-deltachat", + "user_notes_count": 3, + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 122171, + "username": "dotlambda", + "public_email": "", + "name": "dotlambda", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/27ca745ce4ffb3a351f8cf8b746fb5745fd63f5bc4652da18ffa9b630b637eb6?s=80&d=identicon", + "web_url": "https://gitlab.com/dotlambda" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 9594265, + "target_project_id": 7219050, + "labels": [ + "Topic: SIeve" + ], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "cannot_be_merged", + "detailed_merge_status": "conflict", + "merge_after": null, + "sha": "373e61bb32d720f57ae66b74da1ec147b701e78d", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": false, + "prepared_at": "2021-05-30T17:17:20.391Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!231", + "references": { + "short": "!231", + "relative": "!231", + "full": "simple-nixos-mailserver/nixos-mailserver!231" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/231", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": true, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + }, + { + "id": 69970363, + "iid": 188, + "project_id": 7219050, + "title": "Add support for Mozilla-style autoconfig", + "description": "This MR adds support for exposing a simple configuration file for [Mozilla-style autoconfig](https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration/FileFormat/HowTo) using nginx.\n\nIt aims to be configurable to support any configuration that `simple-nixos-mailserver` supports, but (in the name of simplicity) no more.", + "state": "opened", + "created_at": "2020-09-05T23:09:50.477Z", + "updated_at": "2025-05-06T04:05:17.065Z", + "merged_by": null, + "merge_user": null, + "merged_at": null, + "closed_by": null, + "closed_at": null, + "target_branch": "master", + "source_branch": "autoconfig", + "user_notes_count": 5, + "upvotes": 2, + "downvotes": 0, + "author": { + "id": 1457649, + "username": "Twey", + "public_email": "", + "name": "James Kay", + "state": "active", + "locked": false, + "avatar_url": "https://secure.gravatar.com/avatar/e9880a1272735864c672129f857d2ae23793470aa05a8ade4120de3a569fd577?s=80&d=identicon", + "web_url": "https://gitlab.com/Twey" + }, + "assignees": [], + "assignee": null, + "reviewers": [], + "source_project_id": 20956714, + "target_project_id": 7219050, + "labels": [], + "draft": false, + "imported": false, + "imported_from": "none", + "work_in_progress": false, + "milestone": null, + "merge_when_pipeline_succeeds": false, + "merge_status": "can_be_merged", + "detailed_merge_status": "mergeable", + "merge_after": null, + "sha": "1861e82addf785dc5de8ca4f9fb3ac950c8dccef", + "merge_commit_sha": null, + "squash_commit_sha": null, + "discussion_locked": null, + "should_remove_source_branch": null, + "force_remove_source_branch": true, + "prepared_at": "2020-09-05T23:09:50.477Z", + "allow_collaboration": true, + "allow_maintainer_to_push": true, + "reference": "!188", + "references": { + "short": "!188", + "relative": "!188", + "full": "simple-nixos-mailserver/nixos-mailserver!188" + }, + "web_url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/188", + "time_stats": { + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null + }, + "squash": false, + "squash_on_merge": false, + "task_completion_status": { + "count": 0, + "completed_count": 0 + }, + "has_conflicts": false, + "blocking_discussions_resolved": true, + "approvals_before_merge": null + } +] diff --git a/dont merge this/raw_gl_api_out.txt b/dont merge this/raw_gl_api_out.txt new file mode 100644 index 00000000..ff913bad --- /dev/null +++ b/dont merge this/raw_gl_api_out.txt @@ -0,0 +1 @@ +[{"id":461868403,"iid":486,"project_id":7219050,"title":"Draft: ldap: stable home directories based on UUID attribute","description":"This is obviously a tough sell because of the migration cost, but is what\nwe actually planned for the LDAP integration to be.\n\nStoring mail in a directory referencing the users UUID is much more\nstable than basing this on a uid or a common name.\n\nThis also finally resolves the issue where users have a homeDirectory on\nLDAP and it leaks into the Dovecot user.\n\nCloses: #342 \n\n---\n\nTODO:\n- [x] Tests\n- [ ] Release notes\n- [ ] Docs updates\n- [ ] Migration script\n- [ ] Migration story","state":"opened","created_at":"2026-03-06T23:20:06.827Z","updated_at":"2026-03-09T23:01:08.682Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"dovecot-ldap-override-fields","user_notes_count":0,"upvotes":0,"downvotes":0,"author":{"id":34373,"username":"mweinelt","public_email":"","name":"Martin Weinelt","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png","web_url":"https://gitlab.com/mweinelt"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":7219050,"target_project_id":7219050,"labels":["Has: Test case","Needs: Documentation","Needs: Migration story","Topic: LDAP"],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"3fd87da3293fd9fe473c630fbeef5101fe46feb9","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":false,"prepared_at":"2026-03-06T23:20:10.189Z","reference":"!486","references":{"short":"!486","relative":"!486","full":"simple-nixos-mailserver/nixos-mailserver!486"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/486","time_stats":{"time_estimate":0,"total_time_spent":14400,"human_time_estimate":null,"human_total_time_spent":"4h"},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":5,"completed_count":1},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":461539791,"iid":484,"project_id":7219050,"title":"Add support for DKIM key management","description":"This change adds support for configuring one or multiple DKIM keys per\ndomain to enable proper DKIM key transition.\n\nAdditionally, DKIM private keys can now also be passed as managed\nsecrets.\n\nTODO:\n- [x] Think about how to treat the DKIM key for the dedicated SRS Domain\n - Previously we would just generate a key with the default settings\n - Now we keep doing that, but the SRS domain's selectors can also be configured\n- [x] Write a dedicated docs page for DKIM key migration\n- [x] Test passing a DKIM key via the `keyFile` option\n- [x] Test setting up multiple keys\n- [x] ~~Beg @emilylange for a review~~\n- [x] Test DKIM key migration in production\n\nSupersedes: !344, !378 \nFixes: #341","state":"opened","created_at":"2026-03-06T01:42:33.418Z","updated_at":"2026-03-11T14:34:10.512Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"dkim-key-management","user_notes_count":35,"upvotes":1,"downvotes":0,"author":{"id":34373,"username":"mweinelt","public_email":"","name":"Martin Weinelt","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png","web_url":"https://gitlab.com/mweinelt"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":7219050,"target_project_id":7219050,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":{"id":6187552,"iid":3,"project_id":7219050,"title":"26.05","description":"","state":"active","created_at":"2025-10-30T12:04:25.834Z","updated_at":"2025-10-30T12:04:25.834Z","due_date":"2026-05-31","start_date":"2025-12-01","expired":false,"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/milestones/3"},"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"mergeable","merge_after":null,"sha":"e4356d5f9cb82fe7b745442d052945108ca9591d","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":false,"prepared_at":"2026-03-06T01:42:38.004Z","reference":"!484","references":{"short":"!484","relative":"!484","full":"simple-nixos-mailserver/nixos-mailserver!484"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/484","time_stats":{"time_estimate":0,"total_time_spent":43200,"human_time_estimate":null,"human_total_time_spent":"12h"},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":6,"completed_count":6},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":461031880,"iid":482,"project_id":7219050,"title":"Draft: dovecot: pin to dovecot_2_3","description":"Ensure we have an immediate way forward after https://github.com/NixOS/nixpkgs/pull/488676.\n\nIt would of course be preferable to jump onto `dovecot_2_4` instead, but that requires more work here and there.","state":"opened","created_at":"2026-03-04T15:14:41.313Z","updated_at":"2026-03-04T15:29:11.598Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"dovecot-2.3-compat","user_notes_count":0,"upvotes":0,"downvotes":0,"author":{"id":34373,"username":"mweinelt","public_email":"","name":"Martin Weinelt","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png","web_url":"https://gitlab.com/mweinelt"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":7219050,"target_project_id":7219050,"labels":[],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"85979c2a6717357f8ed7a5b9417dd47734d4a408","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":false,"prepared_at":"2026-03-04T15:14:44.189Z","reference":"!482","references":{"short":"!482","relative":"!482","full":"simple-nixos-mailserver/nixos-mailserver!482"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/482","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":437973810,"iid":475,"project_id":7219050,"title":"mailserver: enable POP3S if POP3 is enabled","description":"","state":"opened","created_at":"2025-12-04T00:02:45.207Z","updated_at":"2026-02-26T00:16:59.988Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"push-xyyyysvzylxs","user_notes_count":5,"upvotes":0,"downvotes":0,"author":{"id":5172429,"username":"Enzime","public_email":"","name":"Michael Hoang","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/5172429/avatar.png","web_url":"https://gitlab.com/Enzime"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":76853387,"target_project_id":7219050,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"conflict","merge_after":null,"sha":"dde48b4898bf26ece9d617be6bf95f26856ce7a1","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2025-12-04T00:02:51.724Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!475","references":{"short":"!475","relative":"!475","full":"simple-nixos-mailserver/nixos-mailserver!475"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/475","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":425626338,"iid":454,"project_id":7219050,"title":"Add mailserver.enableQuota to control quota services. Default = true","description":"Quota service can be broken on ZFS for example.\nCreate option enableQuota (default = true) to control all quota settings. I choose enableQuota to align with the rest of the option names.","state":"opened","created_at":"2025-10-22T12:29:27.287Z","updated_at":"2025-11-22T16:03:59.765Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"enableQuota","user_notes_count":7,"upvotes":0,"downvotes":0,"author":{"id":104968,"username":"poelzi","public_email":"","name":"poelzi","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/913fd0c8923dd0ef115dbc16bac4262c4b85acb7c2363e4209dcba019df4b50c?s=80\u0026d=identicon","web_url":"https://gitlab.com/poelzi"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":52717552,"target_project_id":7219050,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"mergeable","merge_after":null,"sha":"8b3a1861d6f721779d34f011f3507978f4ed3492","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2025-10-22T12:29:36.222Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!454","references":{"short":"!454","relative":"!454","full":"simple-nixos-mailserver/nixos-mailserver!454"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/454","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":423002774,"iid":453,"project_id":7219050,"title":"Add rejectSenderMessage option","description":"To comply with GDPR mailserver operators should a) inform a rejected\nsender about processing this data with a legitimate interest (Art. 13\nGDPR) and b) provide an alternative way to raise concers (Art. 21 GDPR).\n\nThe new `customRejectSenderMessage` option fullfills requirement b), e.g.\none may set it to an adress on another mailserver where the sender is\nnot rejected or a postal address.\n\nAccording to our Data Privacy Officer the following message checks a\nlawyer's boxes.\n\n\u003e Your e-mail has not been delivered because we have blocked your e-mail\n\u003e address. If you believe that your e-mail address has been blocked by\n\u003e mistake, or if you have any other legitimate concern, please contact…\n\nRequirement a) should be a manual process informing the rejected sender\nabout being blocked from now on. A word of warning upfront is kind.\n\nNote: This feature mainly is made if there is an actual human on the\nother end, who doesn't get that they are sending unsolicited mail, not\nfor junk or fraud mail. Just block those then.","state":"opened","created_at":"2025-10-12T08:44:18.487Z","updated_at":"2025-12-29T13:19:17.562Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"add-option-custom-reject-sender-message","user_notes_count":8,"upvotes":0,"downvotes":0,"author":{"id":19472236,"username":"riotbib","public_email":"","name":"lennart","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/19472236/avatar.png","web_url":"https://gitlab.com/riotbib"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":58331700,"target_project_id":7219050,"labels":["Needs: Release-Notes","Topic: SMTP"],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"mergeable","merge_after":null,"sha":"0a3571f608c7ad0ba2dba6fe1cfdf66e0408cd8d","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2025-10-12T08:44:22.906Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!453","references":{"short":"!453","relative":"!453","full":"simple-nixos-mailserver/nixos-mailserver!453"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/453","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":420450925,"iid":451,"project_id":7219050,"title":"Draft: test/fix: Wait for rspamd before internal tests","description":"After\n```\nmachine # [ 116.619518] rspamd[1236]: \u003c\u003e; ; rspamd_url_init: start compiling of 10229 TLD suffixes; it might take a long time\n```\nmy machine takes around three minutes to complete, internal tests didn't pass.\n\nThis patch fixes it for me, but I'm not sure it's the right approach. See also [internal.nix#L207](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/blob/4a05bb1911715c199711d13bd1ed1bd694210112/tests/internal.nix#L207).","state":"opened","created_at":"2025-10-02T13:16:17.907Z","updated_at":"2025-11-26T03:15:54.596Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"fix-internal-test","user_notes_count":3,"upvotes":0,"downvotes":0,"author":{"id":22432332,"username":"serpent213","public_email":"","name":"Steffen Beyer","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/22432332/avatar.png","web_url":"https://gitlab.com/serpent213"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":74985681,"target_project_id":7219050,"labels":[],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"4c855be6ac064a414287fb7e38433e025cecb824","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2025-10-02T13:16:22.539Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!451","references":{"short":"!451","relative":"!451","full":"simple-nixos-mailserver/nixos-mailserver!451"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/451","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":402630633,"iid":434,"project_id":7219050,"title":"Draft: Add support for the HTTPS part of MTA-STS","description":"","state":"opened","created_at":"2025-07-28T00:23:19.652Z","updated_at":"2026-03-08T23:33:34.982Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"mta-sts-nginx","user_notes_count":9,"upvotes":0,"downvotes":0,"author":{"id":34373,"username":"mweinelt","public_email":"","name":"Martin Weinelt","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png","web_url":"https://gitlab.com/mweinelt"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":7219050,"target_project_id":7219050,"labels":[],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"5cda7349d236b4f4e950f0f2ebdbaaf7bcfeb90d","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":false,"prepared_at":"2025-07-28T00:23:22.887Z","reference":"!434","references":{"short":"!434","relative":"!434","full":"simple-nixos-mailserver/nixos-mailserver!434"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/434","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":402617374,"iid":433,"project_id":7219050,"title":"Draft: docs/setup-guide: Add MECSA to testing section","description":"Closes #316\n\nThank you @mweinelt for your suggestion!","state":"opened","created_at":"2025-07-27T18:10:16.424Z","updated_at":"2025-07-29T05:59:28.726Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"add-mecsa-to-doc","user_notes_count":5,"upvotes":0,"downvotes":0,"author":{"id":26224246,"username":"miallo","public_email":"","name":"Michael Lohmann","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/feefeb288a5dba3c70b9afb20090560cad56fd31c28f1131faad223648492bf6?s=80\u0026d=identicon","web_url":"https://gitlab.com/miallo"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":67139966,"target_project_id":7219050,"labels":["Has: Documentation"],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"32c225a3546bed3adcd86fa584779d8b1ba9ebc7","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2025-07-27T18:10:19.293Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!433","references":{"short":"!433","relative":"!433","full":"simple-nixos-mailserver/nixos-mailserver!433"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/433","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":391155756,"iid":417,"project_id":7219050,"title":"Remove localDnsResolver option","description":"The `mailserver.localDnsResolver` option was just a wrapper for\n`services.kresd.enable`. We don't require any specific resolver, so just\nsuggest kresd in the setup guide instead, this doesn't need to stay an\nimplementation detail we keep.\n\nI also added a warning, when resolved is enabled, since it takes over\nresolvconf and prevents use of a full-blown resolver.","state":"opened","created_at":"2025-06-15T05:05:12.919Z","updated_at":"2025-07-10T14:37:05.838Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"local-resolver","user_notes_count":5,"upvotes":0,"downvotes":0,"author":{"id":34373,"username":"mweinelt","public_email":"","name":"Martin Weinelt","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png","web_url":"https://gitlab.com/mweinelt"},"assignees":[],"assignee":null,"reviewers":[{"id":369851,"username":"lewo","public_email":"","name":"lewo","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/369851/avatar.png","web_url":"https://gitlab.com/lewo"}],"source_project_id":7219050,"target_project_id":7219050,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"conflict","merge_after":null,"sha":"1e73ae79635cf06b533cc0251bdbf3042690fa35","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":false,"prepared_at":"2025-06-15T05:05:15.255Z","reference":"!417","references":{"short":"!417","relative":"!417","full":"simple-nixos-mailserver/nixos-mailserver!417"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/417","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":386572485,"iid":402,"project_id":7219050,"title":"Draft: oauth2 support","description":"Proof of concept to support oauth2 authentication on postfix and dovecot","state":"opened","created_at":"2025-05-27T20:31:13.648Z","updated_at":"2025-07-23T01:45:45.307Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"pr/oauth2","user_notes_count":11,"upvotes":3,"downvotes":0,"author":{"id":12198860,"username":"fooker","public_email":null,"name":"Dustin Frisch","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/91620da9251d6a4eba310891ee15f597f6f6fef5dcb37de6d25608051991d3c7?s=80\u0026d=identicon","web_url":"https://gitlab.com/fooker"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":70229551,"target_project_id":7219050,"labels":["Has: Test case"],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"1d204120c08170665f5aa8122104b68a0190c4f8","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2025-05-27T20:31:22.566Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!402","references":{"short":"!402","relative":"!402","full":"simple-nixos-mailserver/nixos-mailserver!402"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/402","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":377139637,"iid":379,"project_id":7219050,"title":"Draft: tests: Check DKIM signature in LDAP scenario","description":"Factored out of !374 \n\n\u003e Working on extending the LDAP test with a DKIM signature check. Getting the fetchmail/procmail/msmtp stack up is unfortunately error-prone and therefore annoying.","state":"opened","created_at":"2025-04-17T01:31:24.141Z","updated_at":"2025-04-17T01:31:27.379Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"ldap-dkim-test","user_notes_count":0,"upvotes":0,"downvotes":0,"author":{"id":34373,"username":"mweinelt","public_email":"","name":"Martin Weinelt","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/34373/avatar.png","web_url":"https://gitlab.com/mweinelt"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":17834976,"target_project_id":7219050,"labels":[],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"ccd796bed62fd43f677f5f546767b52ecceedcb5","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2025-04-17T01:31:27.373Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!379","references":{"short":"!379","relative":"!379","full":"simple-nixos-mailserver/nixos-mailserver!379"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/379","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":376539562,"iid":378,"project_id":7219050,"title":"Allow per domain DKIM selectors","description":"","state":"opened","created_at":"2025-04-15T05:43:31.215Z","updated_at":"2025-07-29T06:00:21.846Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"domain-dkim-selector","user_notes_count":8,"upvotes":0,"downvotes":0,"author":{"id":26224246,"username":"miallo","public_email":"","name":"Michael Lohmann","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/feefeb288a5dba3c70b9afb20090560cad56fd31c28f1131faad223648492bf6?s=80\u0026d=identicon","web_url":"https://gitlab.com/miallo"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":67139966,"target_project_id":7219050,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"conflict","merge_after":null,"sha":"507e7b077fb9ebbd7f7edd59f99d157edff04229","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2025-04-15T05:43:38.678Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!378","references":{"short":"!378","relative":"!378","full":"simple-nixos-mailserver/nixos-mailserver!378"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/378","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":356785056,"iid":359,"project_id":7219050,"title":"Set HOME to private /tmp for borgbackup","description":"borg writes to $HOME/.config but in our case it also works on $HOME (/var/vmail).\n\nThis could cause the following error when running the backup: file changed while we backed it up\n\n```\n× borgbackup.service - borgbackup\n Loaded: loaded (/etc/systemd/system/borgbackup.service; linked; preset: ignored)\n Drop-In: /nix/store/8iqfrm23vqm9vb4dhfrkm2gp53rhds65-system-units/service.d\n └─10-all-failure-handler.conf\n Active: failed (Result: exit-code) since Tue 2025-01-21 11:00:14 UTC; 54ms ago\n Duration: 11.283s\n Invocation: 1712129869394f1f8eabc4cd26d3ab4c\nTriggeredBy: ● borgbackup.timer\n Docs: man:borgbackup\n Process: 78255 ExecStart=/nix/store/khkr1l6395czf0sn79i0kmfp7pvimlm5-unit-script-borgbackup-start/bin/borgbackup-start (code=exited, status=1/FAILURE)\n Main PID: 78255 (code=exited, status=1/FAILURE)\n IP: 16.6K in, 18.8K out\n IO: 24K read, 628K written\n Mem peak: 66.2M\n CPU: 1.887s\n\nJan 21 11:00:02 revelations systemd[1]: Started borgbackup.\nJan 21 11:00:13 revelations borgbackup-start[78267]: /var/vmail/.config/borg/security/25276a6702fe342e099d0c711d20ff31752131884fd017bf76c0169ba84682b2/nonce: file changed while we backed it up\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Main process exited, code=exited, status=1/FAILURE\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Failed with result 'exit-code'.\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Triggering OnFailure= dependencies.\nJan 21 11:00:14 revelations systemd[1]: borgbackup.service: Consumed 1.887s CPU time, 66.2M memory peak, 24K read from disk, 628K written to disk, 16.6K incoming IP traffic, 18.8K outgoing IP traffic.\n```\n\nThis commit fixes it by setting HOME to private /tmp for borg.","state":"opened","created_at":"2025-01-21T13:38:15.615Z","updated_at":"2025-11-08T12:51:01.583Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"fix-borg-home","user_notes_count":7,"upvotes":0,"downvotes":0,"author":{"id":15300676,"username":"kxxt","public_email":"","name":"Levi Zim","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/760866e3f665c2c84419f8e46706e63737bb03738fd10e041bb0c2414f29676a?s=80\u0026d=identicon","web_url":"https://gitlab.com/kxxt"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":66340613,"target_project_id":7219050,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"mergeable","merge_after":null,"sha":"3e4908fa0f98293d962a09d73839a55490bb2f94","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2025-01-21T13:38:18.391Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!359","references":{"short":"!359","relative":"!359","full":"simple-nixos-mailserver/nixos-mailserver!359"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/359","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":347132924,"iid":353,"project_id":7219050,"title":"Add option sendFromAliases","description":"This new option specifies if members of an alias can send mail with the alias in the `From:` header.\n\nWe've been using this in production for months and rely on it a lot.","state":"opened","created_at":"2024-12-04T14:40:19.884Z","updated_at":"2025-06-12T16:57:03.797Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"send-from-aliases","user_notes_count":1,"upvotes":1,"downvotes":0,"author":{"id":101041,"username":"vandenoever","public_email":"","name":"Jos van den Oever","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/774d56705d6aa05e9036276887f503148f8043735b28c8195d4c52edf5fb53cf?s=80\u0026d=identicon","web_url":"https://gitlab.com/vandenoever"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":50559158,"target_project_id":7219050,"labels":["Needs: Test case"],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"conflict","merge_after":null,"sha":"ea9c7a64b2d36dfa99c3b2c17135f3e9f6fe8503","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2024-12-04T14:40:24.231Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!353","references":{"short":"!353","relative":"!353","full":"simple-nixos-mailserver/nixos-mailserver!353"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/353","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":346002219,"iid":351,"project_id":7219050,"title":"Draft: set virtual_alias_maps for LDAP","description":"This is needed for looking up mail aliases in the LDAP database.\n\nFixes #304","state":"opened","created_at":"2024-11-28T18:21:17.519Z","updated_at":"2026-03-09T21:10:03.369Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"fix-ldap-mail-aliases","user_notes_count":5,"upvotes":2,"downvotes":0,"author":{"id":10345923,"username":"royneary","public_email":null,"name":"Christian Ulrich","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/60727c5131be4f66abaa95e6b1f35bb65bce69caa201ee750e9f20b2380ade53?s=80\u0026d=identicon","web_url":"https://gitlab.com/royneary"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":64304002,"target_project_id":7219050,"labels":["Needs: Test case","Topic: LDAP"],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"aafe694008e531c17f1f8864d21d21dca1b3c528","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2024-11-28T18:21:20.358Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!351","references":{"short":"!351","relative":"!351","full":"simple-nixos-mailserver/nixos-mailserver!351"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/351","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":338994368,"iid":344,"project_id":7219050,"title":"feat: add support for DKIM private key files","description":"This gives people an option to declaratively manage these secrets,\nrather than having them generated.","state":"opened","created_at":"2024-10-31T20:37:00.119Z","updated_at":"2026-03-11T06:33:05.279Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"dkim-path","user_notes_count":39,"upvotes":0,"downvotes":0,"author":{"id":10003463,"username":"jflysohigh","public_email":"","name":"Jeremy Fleischman","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/ce2706acd861897902d2d58d4eb6bec3074708c63d8ccc46dddffb6e81b51095?s=80\u0026d=identicon","web_url":"https://gitlab.com/jflysohigh"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":63051045,"target_project_id":7219050,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"mergeable","merge_after":null,"sha":"20cfeb0d7a03c2a04a6f6d3d5dd364f786345634","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2024-10-31T20:37:03.558Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!344","references":{"short":"!344","relative":"!344","full":"simple-nixos-mailserver/nixos-mailserver!344"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/344","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":337527756,"iid":343,"project_id":7219050,"title":"Add a note about DMARC strictness","description":"https://mxtoolbox.com/ warned me about the loosey-goosey DMARC entry\nthese instructions steered me towards. Hopefully this will save others\nsome time in the future.","state":"opened","created_at":"2024-10-29T04:52:33.423Z","updated_at":"2025-07-09T23:45:36.687Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"dmarc-strictness","user_notes_count":15,"upvotes":1,"downvotes":0,"author":{"id":10003463,"username":"jflysohigh","public_email":"","name":"Jeremy Fleischman","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/ce2706acd861897902d2d58d4eb6bec3074708c63d8ccc46dddffb6e81b51095?s=80\u0026d=identicon","web_url":"https://gitlab.com/jflysohigh"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":63051045,"target_project_id":7219050,"labels":["Topic: DMARC","Topic: Docs"],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"conflict","merge_after":null,"sha":"de52c04605e89fe1a2b8762bb2e5e2d85db34051","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2024-10-29T04:52:37.217Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!343","references":{"short":"!343","relative":"!343","full":"simple-nixos-mailserver/nixos-mailserver!343"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/343","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":331333681,"iid":341,"project_id":7219050,"title":"Add option to enable rspamd web ui","description":"Extracted from the mail server config over at https://gitea.c3d2.de/c3d2/nix-config/src/branch/master/hosts/mail/default.nix\n\nCloses: !16","state":"opened","created_at":"2024-10-01T22:16:38.902Z","updated_at":"2026-03-09T21:38:19.646Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"rpsamd-web-ui","user_notes_count":15,"upvotes":1,"downvotes":0,"author":{"id":1689563,"username":"SuperSandro2000","public_email":"","name":"Sandro","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/941ca13f28dbf695e3a49bc257b75993c3dcbc2a3d69e62788ad8fb786dcbed1?s=80\u0026d=identicon","web_url":"https://gitlab.com/SuperSandro2000"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":56809539,"target_project_id":7219050,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"conflict","merge_after":null,"sha":"f35b4bf7545461fdbec63852c04cfafee6673e1c","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2024-10-01T22:16:45.449Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!341","references":{"short":"!341","relative":"!341","full":"simple-nixos-mailserver/nixos-mailserver!341"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/341","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":320575925,"iid":337,"project_id":7219050,"title":"Draft: domains: seperate into domains and relayDomains","description":"Add support for configuring mail server for domains where users should not be able to receive/send mails. This is useful for using this mail server also as a relay, e.g. for hosting a mailman.\n\nCloses !333\n\nAlso restrict LDAP users from sending from relay domains.","state":"opened","created_at":"2024-08-10T19:07:59.293Z","updated_at":"2025-05-15T12:19:00.450Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"relay","user_notes_count":29,"upvotes":5,"downvotes":0,"author":{"id":3388498,"username":"MarcelCoding","public_email":"","name":"Marcel","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/3388498/avatar.png","web_url":"https://gitlab.com/MarcelCoding"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":56809539,"target_project_id":7219050,"labels":[],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"5648001ef3c4ee4a82ecc30c3ec7eea804ce1a52","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2024-08-10T19:08:02.504Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!337","references":{"short":"!337","relative":"!337","full":"simple-nixos-mailserver/nixos-mailserver!337"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/337","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":316457158,"iid":335,"project_id":7219050,"title":"Draft: feat: enable virtual aliases for ldap users","description":"As mentioned in #259 we have tested using virtual aliases for LDAP users and have been using it for teh last 9 months. \nOpening this MR in case its useful upstream.","state":"opened","created_at":"2024-07-21T12:26:31.935Z","updated_at":"2026-03-09T21:04:39.276Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"master","user_notes_count":5,"upvotes":1,"downvotes":0,"author":{"id":1282303,"username":"Brendan_Golden","public_email":"","name":"Brendan Golden","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1282303/avatar.png","web_url":"https://gitlab.com/Brendan_Golden"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":60195854,"target_project_id":7219050,"labels":["Needs: Test case"],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"806a4cfd2174b3941e9426d75ed09561c547e6fd","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":null,"prepared_at":"2024-07-21T12:26:35.206Z","allow_collaboration":false,"allow_maintainer_to_push":false,"reference":"!335","references":{"short":"!335","relative":"!335","full":"simple-nixos-mailserver/nixos-mailserver!335"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/335","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":137674084,"iid":262,"project_id":7219050,"title":"Draft: iOS Mail app push notification support","description":"\u003e [!warning]\n\u003e Around the end of 2024, Apple stopped issuing necessary certificates, effectively breaking this feature. There are reports they are in touch with opensource developers and working to make a new API though. [See here](https://github.com/freswa/dovecot-xaps-daemon/issues/43)\n\nThis isn't ready for merging, but I don't know if I'll have the time to polish it, so I'll just offer what I have. This enables push notifications on mail receipt in the iOS default Mail app. Apple's push infrastructure is used to deliver notification from the mail server to the iOS device with the Mail app, which notifies the user according to the on-device settings.\n\nVariants of this configuration have been working for me for almost 3 years up to iOS 16.3.1. (I should note that people using this feature are nervous Apple will shut it down, since they discontinued the Mac OS X Server product it was created for. On the other hand, Fastmail supports it, so maybe they have some sway with Apple to keep it alive.)\n\nWhat needs to be done:\n- [ ] Apple has to enable certificates for this again (see top)\n- [ ] add \"enable\" flag instead of assuming enable\n- [ ] make the Apple ID email and password configurable - they are coded into the Nix source itself right now.\n - This is for the provisioning of Apple push certificates and doesn't need to have any relation to your hosted email accounts.\n - You should use the Apple ID you've purchased macOS Server with.\n - There is no support for an app password if you have 2FA. Use your normal password. No other special type or configuration of the account is required.\n- [ ] add some documentation, such as explaining the above in the config definitions. The xaps repositories may have some pointers on troubleshooting, some more technical details about how it works, and privacy implications. I can probably provide those if needed too, but I don't remember the details off hand.","state":"opened","created_at":"2022-01-30T02:14:00.624Z","updated_at":"2026-03-09T20:32:16.807Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"dovecot-push-xaps","user_notes_count":1,"upvotes":1,"downvotes":0,"author":{"id":2875513,"username":"scintill","public_email":"","name":"Joey Hewitt","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/2875513/avatar.png","web_url":"https://gitlab.com/scintill"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":13098371,"target_project_id":7219050,"labels":[],"draft":true,"imported":false,"imported_from":"none","work_in_progress":true,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"draft_status","merge_after":null,"sha":"ba4f09fdfe06f5120c62aae487cf39e073d8d9c5","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2022-01-30T02:14:00.624Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!262","references":{"short":"!262","relative":"!262","full":"simple-nixos-mailserver/nixos-mailserver!262"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/262","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":true,"squash_on_merge":false,"task_completion_status":{"count":4,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":102038772,"iid":231,"project_id":7219050,"title":"add sieve script for Delta Chat","description":"The script was copied from https://github.com/mailcow/mailcow-dockerized/blob/3dece1a05c97c1b989b432bd0609710fef91e95c/data/conf/dovecot/global_sieve_before.","state":"opened","created_at":"2021-05-30T17:17:20.391Z","updated_at":"2026-03-09T20:24:39.803Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"sieve-deltachat","user_notes_count":3,"upvotes":0,"downvotes":0,"author":{"id":122171,"username":"dotlambda","public_email":"","name":"dotlambda","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/27ca745ce4ffb3a351f8cf8b746fb5745fd63f5bc4652da18ffa9b630b637eb6?s=80\u0026d=identicon","web_url":"https://gitlab.com/dotlambda"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":9594265,"target_project_id":7219050,"labels":["Topic: SIeve"],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"conflict","merge_after":null,"sha":"373e61bb32d720f57ae66b74da1ec147b701e78d","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":false,"prepared_at":"2021-05-30T17:17:20.391Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!231","references":{"short":"!231","relative":"!231","full":"simple-nixos-mailserver/nixos-mailserver!231"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/231","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null},{"id":69970363,"iid":188,"project_id":7219050,"title":"Add support for Mozilla-style autoconfig","description":"This MR adds support for exposing a simple configuration file for [Mozilla-style autoconfig](https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration/FileFormat/HowTo) using nginx.\n\nIt aims to be configurable to support any configuration that `simple-nixos-mailserver` supports, but (in the name of simplicity) no more.","state":"opened","created_at":"2020-09-05T23:09:50.477Z","updated_at":"2025-05-06T04:05:17.065Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"autoconfig","user_notes_count":5,"upvotes":2,"downvotes":0,"author":{"id":1457649,"username":"Twey","public_email":"","name":"James Kay","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/e9880a1272735864c672129f857d2ae23793470aa05a8ade4120de3a569fd577?s=80\u0026d=identicon","web_url":"https://gitlab.com/Twey"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":20956714,"target_project_id":7219050,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"mergeable","merge_after":null,"sha":"1861e82addf785dc5de8ca4f9fb3ac950c8dccef","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2020-09-05T23:09:50.477Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!188","references":{"short":"!188","relative":"!188","full":"simple-nixos-mailserver/nixos-mailserver!188"},"web_url":"https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/merge_requests/188","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null}] \ No newline at end of file