)]}'
{"docker/mailman/web/Dockerfile":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"6874fc25e2884780726127e0edab6b3eae14dc04","unresolved":true,"context_lines":[{"line_number":24,"context_line":"\t\ttyping \\"},{"line_number":25,"context_line":"\t\txapian-haystack \\"},{"line_number":26,"context_line":"\t\tdjango-auth-ldap \\"},{"line_number":27,"context_line":"\t\tpymemcache \\"},{"line_number":28,"context_line":"\t\tdiskcache \\"},{"line_number":29,"context_line":"\t\tdjango-utils-six \\"},{"line_number":30,"context_line":"\t\ttzdata \\"}],"source_content_type":"text/x-dockerfile","patch_set":1,"id":"7b980cf5_c4a1b4a6","line":27,"updated":"2024-09-24 22:20:42.000000000","message":"I wonder why they changed. As much as I love jogo it looks like python-memcached is more actively maintained. I guess worst case we know who talk to if pymemcache is a problem.","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"926a57bb48a599637aa557eeec040d6a5b391f8e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"\t\ttyping \\"},{"line_number":25,"context_line":"\t\txapian-haystack \\"},{"line_number":26,"context_line":"\t\tdjango-auth-ldap \\"},{"line_number":27,"context_line":"\t\tpymemcache \\"},{"line_number":28,"context_line":"\t\tdiskcache \\"},{"line_number":29,"context_line":"\t\tdjango-utils-six \\"},{"line_number":30,"context_line":"\t\ttzdata \\"}],"source_content_type":"text/x-dockerfile","patch_set":1,"id":"a001c1e2_e1378120","line":27,"in_reply_to":"02e089e2_5ee8cb4c","updated":"2024-10-04 18:17:02.000000000","message":"Acknowledged","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"40de64b4087cb8ceb5c17fde0c438395f2ccab94","unresolved":true,"context_lines":[{"line_number":24,"context_line":"\t\ttyping \\"},{"line_number":25,"context_line":"\t\txapian-haystack \\"},{"line_number":26,"context_line":"\t\tdjango-auth-ldap \\"},{"line_number":27,"context_line":"\t\tpymemcache \\"},{"line_number":28,"context_line":"\t\tdiskcache \\"},{"line_number":29,"context_line":"\t\tdjango-utils-six \\"},{"line_number":30,"context_line":"\t\ttzdata \\"}],"source_content_type":"text/x-dockerfile","patch_set":1,"id":"02e089e2_5ee8cb4c","line":27,"in_reply_to":"7b980cf5_c4a1b4a6","updated":"2024-10-02 16:39:59.000000000","message":"The commit introducing this change implies it\u0027s in favor of using pure Python dependencies (presumably for improved portability?).","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"}],"docker/mailman/web/docker-entrypoint.sh":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"6874fc25e2884780726127e0edab6b3eae14dc04","unresolved":true,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"if [[ ! -v DATABASE_URL ]]; then"},{"line_number":70,"context_line":"\techo \"DATABASE_URL is not defined. Using sqlite database...\""},{"line_number":71,"context_line":"\texport DATABASE_URL\u003dsqlite:////opt/mail-web-data/mailmanweb.db"},{"line_number":72,"context_line":"\texport DATABASE_TYPE\u003d\u0027sqlite\u0027"},{"line_number":73,"context_line":"fi"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"51496881_af3bb555","line":71,"range":{"start_line":71,"start_character":31,"end_line":71,"end_character":32},"updated":"2024-09-24 22:20:42.000000000","message":"I assume this is the case upstream and we set DATABASE_URL so shouldn\u0027t be affect but isn\u0027t this one too many `/`s?","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"40de64b4087cb8ceb5c17fde0c438395f2ccab94","unresolved":true,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"if [[ ! -v DATABASE_URL ]]; then"},{"line_number":70,"context_line":"\techo \"DATABASE_URL is not defined. Using sqlite database...\""},{"line_number":71,"context_line":"\texport DATABASE_URL\u003dsqlite:////opt/mail-web-data/mailmanweb.db"},{"line_number":72,"context_line":"\texport DATABASE_TYPE\u003d\u0027sqlite\u0027"},{"line_number":73,"context_line":"fi"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"8e95e210_85854608","line":71,"range":{"start_line":71,"start_character":31,"end_line":71,"end_character":32},"in_reply_to":"51496881_af3bb555","updated":"2024-10-02 16:39:59.000000000","message":"The commit which changed it refers to a discussion at https://github.com/joke2k/django-environ/issues/187#issuecomment-400577114 which seems to imply that four is the number of the slashes and the number of the slashes shall be four. Thou shalt not use five slashes, nor shalt thou use three slashes (lest thou then typest a fourth). Six is right out.","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"926a57bb48a599637aa557eeec040d6a5b391f8e","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"if [[ ! -v DATABASE_URL ]]; then"},{"line_number":70,"context_line":"\techo \"DATABASE_URL is not defined. Using sqlite database...\""},{"line_number":71,"context_line":"\texport DATABASE_URL\u003dsqlite:////opt/mail-web-data/mailmanweb.db"},{"line_number":72,"context_line":"\texport DATABASE_TYPE\u003d\u0027sqlite\u0027"},{"line_number":73,"context_line":"fi"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"c8cdf047_a2781b3f","line":71,"range":{"start_line":71,"start_character":31,"end_line":71,"end_character":32},"in_reply_to":"8e95e210_85854608","updated":"2024-10-04 18:17:02.000000000","message":"Amazing","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"}],"docker/mailman/web/mailman-web/urls.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"6874fc25e2884780726127e0edab6b3eae14dc04","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    path(\u0027postorius/\u0027, include(\u0027postorius.urls\u0027)),"},{"line_number":39,"context_line":"    path(\u0027hyperkitty/\u0027, include(\u0027hyperkitty.urls\u0027)),"},{"line_number":40,"context_line":"    # Order counts for various links. Put the above first and the following"},{"line_number":41,"context_line":"    # after so the suggested Apache config still works."},{"line_number":42,"context_line":"    path(\u0027mailman3/\u0027, include(\u0027postorius.urls\u0027)),"},{"line_number":43,"context_line":"    path(\u0027archives/\u0027, include(\u0027hyperkitty.urls\u0027)),"},{"line_number":44,"context_line":"    path(\u0027\u0027, include(\u0027django_mailman3.urls\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"f6d2a8fa_eb819231","line":41,"updated":"2024-09-24 22:20:42.000000000","message":"I realize this comment is coming from upstream, but I wonder if we should try to capture which is modern and which is deprecated? Based on the diff I believe the first two are the modern paths and the second two are the deprecated old paths.","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"926a57bb48a599637aa557eeec040d6a5b391f8e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    path(\u0027postorius/\u0027, include(\u0027postorius.urls\u0027)),"},{"line_number":39,"context_line":"    path(\u0027hyperkitty/\u0027, include(\u0027hyperkitty.urls\u0027)),"},{"line_number":40,"context_line":"    # Order counts for various links. Put the above first and the following"},{"line_number":41,"context_line":"    # after so the suggested Apache config still works."},{"line_number":42,"context_line":"    path(\u0027mailman3/\u0027, include(\u0027postorius.urls\u0027)),"},{"line_number":43,"context_line":"    path(\u0027archives/\u0027, include(\u0027hyperkitty.urls\u0027)),"},{"line_number":44,"context_line":"    path(\u0027\u0027, include(\u0027django_mailman3.urls\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"2ba32eb2_1c47b99d","line":41,"in_reply_to":"845ee58a_a72bd9d3","updated":"2024-10-04 18:17:02.000000000","message":"Acknowledged","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"40de64b4087cb8ceb5c17fde0c438395f2ccab94","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    path(\u0027postorius/\u0027, include(\u0027postorius.urls\u0027)),"},{"line_number":39,"context_line":"    path(\u0027hyperkitty/\u0027, include(\u0027hyperkitty.urls\u0027)),"},{"line_number":40,"context_line":"    # Order counts for various links. Put the above first and the following"},{"line_number":41,"context_line":"    # after so the suggested Apache config still works."},{"line_number":42,"context_line":"    path(\u0027mailman3/\u0027, include(\u0027postorius.urls\u0027)),"},{"line_number":43,"context_line":"    path(\u0027archives/\u0027, include(\u0027hyperkitty.urls\u0027)),"},{"line_number":44,"context_line":"    path(\u0027\u0027, include(\u0027django_mailman3.urls\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"845ee58a_a72bd9d3","line":41,"in_reply_to":"f6d2a8fa_eb819231","updated":"2024-10-02 16:39:59.000000000","message":"Yes, you\u0027re correct. I\u0027d prefer not to introduce additional edits to the middle of this file, since they have to be hand-merged every time it\u0027s updated. I\u0027ll update the comment at the top to convey this nuance instead.","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"}],"playbooks/roles/mailman3/files/web-settings.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"6874fc25e2884780726127e0edab6b3eae14dc04","unresolved":true,"context_lines":[{"line_number":57,"context_line":"ALLOWED_HOSTS \u003d ["},{"line_number":58,"context_line":"    \"localhost\",  # Archiving API from Mailman, keep it."},{"line_number":59,"context_line":"    \"127.0.0.1\",  # OpenDev addition because we use host networking"},{"line_number":60,"context_line":"    \"mailman-web\","},{"line_number":61,"context_line":"    os.environ.get(\u0027SERVE_FROM_DOMAIN\u0027),"},{"line_number":62,"context_line":"]"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"49ff2d6a_7781ecf5","line":60,"updated":"2024-09-24 22:20:42.000000000","message":"We need to continue removing this name from ALLOWED_HOSTS because we use host networking so it doesn\u0027t resolve. The try except below appears to be upstream trying to fix this issue for us; however, by keeping this name in this list (which they do) they\u0027ve undone that work...","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"40de64b4087cb8ceb5c17fde0c438395f2ccab94","unresolved":true,"context_lines":[{"line_number":57,"context_line":"ALLOWED_HOSTS \u003d ["},{"line_number":58,"context_line":"    \"localhost\",  # Archiving API from Mailman, keep it."},{"line_number":59,"context_line":"    \"127.0.0.1\",  # OpenDev addition because we use host networking"},{"line_number":60,"context_line":"    \"mailman-web\","},{"line_number":61,"context_line":"    os.environ.get(\u0027SERVE_FROM_DOMAIN\u0027),"},{"line_number":62,"context_line":"]"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"6505605d_278f08f4","line":60,"in_reply_to":"49ff2d6a_7781ecf5","updated":"2024-10-02 16:39:59.000000000","message":"It seems like ALLOWED_HOSTS is just matched verbatim, as evidenced by the additional inclusion of the gethostbyname() lookup for the same. As such, keeping the name in this list shouldn\u0027t impact anything and means one less edit we have to keep persisting in our fork of the file, reducing the overall delta. Yes it doesn\u0027t resolve in our deployment, but since it doesn\u0027t need to be resolved it also doesn\u0027t hurt to keep in closer to upstream\u0027s version.","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"926a57bb48a599637aa557eeec040d6a5b391f8e","unresolved":false,"context_lines":[{"line_number":57,"context_line":"ALLOWED_HOSTS \u003d ["},{"line_number":58,"context_line":"    \"localhost\",  # Archiving API from Mailman, keep it."},{"line_number":59,"context_line":"    \"127.0.0.1\",  # OpenDev addition because we use host networking"},{"line_number":60,"context_line":"    \"mailman-web\","},{"line_number":61,"context_line":"    os.environ.get(\u0027SERVE_FROM_DOMAIN\u0027),"},{"line_number":62,"context_line":"]"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"680c17da_dc16d240","line":60,"in_reply_to":"6505605d_278f08f4","updated":"2024-10-04 18:17:02.000000000","message":"Acknowledged","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"6874fc25e2884780726127e0edab6b3eae14dc04","unresolved":true,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"# Avoid Django 3.2+ warning"},{"line_number":168,"context_line":"# https://github.com/maxking/docker-mailman/issues/595"},{"line_number":169,"context_line":"DEFAULT_AUTO_FIELD \u003d \u0027django.db.models.AutoField\u0027"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"# If you\u0027re behind a proxy, use the X-Forwarded-Host header"}],"source_content_type":"text/x-python","patch_set":1,"id":"fb8deab0_b574e30c","line":169,"updated":"2024-09-24 22:20:42.000000000","message":"I believe that we can drop this configuration item from playbooks/roles/mailman3/files/web-settings_local.py now that we\u0027re setting it here.","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"926a57bb48a599637aa557eeec040d6a5b391f8e","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"# Avoid Django 3.2+ warning"},{"line_number":168,"context_line":"# https://github.com/maxking/docker-mailman/issues/595"},{"line_number":169,"context_line":"DEFAULT_AUTO_FIELD \u003d \u0027django.db.models.AutoField\u0027"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"# If you\u0027re behind a proxy, use the X-Forwarded-Host header"}],"source_content_type":"text/x-python","patch_set":1,"id":"b1d97f15_83f9757e","line":169,"in_reply_to":"c9ad5387_32f145c3","updated":"2024-10-04 18:17:02.000000000","message":"Done","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"40de64b4087cb8ceb5c17fde0c438395f2ccab94","unresolved":true,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"# Avoid Django 3.2+ warning"},{"line_number":168,"context_line":"# https://github.com/maxking/docker-mailman/issues/595"},{"line_number":169,"context_line":"DEFAULT_AUTO_FIELD \u003d \u0027django.db.models.AutoField\u0027"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"# If you\u0027re behind a proxy, use the X-Forwarded-Host header"}],"source_content_type":"text/x-python","patch_set":1,"id":"c9ad5387_32f145c3","line":169,"in_reply_to":"fb8deab0_b574e30c","updated":"2024-10-02 16:39:59.000000000","message":"Good catch! I\u0027ll clean that up.","commit_id":"c1e6c26cb044ea8626ea8d4bfd8cf1765c437afe"}]}
