)]}'
{"id":"depot~5781","triplet_id":"depot~canon~Ic6b66f05db2699bf1f93f870f5dd614c37eccc2d","project":"depot","branch":"canon","attention_set":{},"removed_from_attention_set":{"1000034":{"account":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"last_update":"2022-05-28 18:00:30.000000000","reason":"Change was submitted"},"1000001":{"account":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"last_update":"2022-05-28 17:59:23.000000000","reason":"removed on reply"},"1000010":{"account":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"last_update":"2022-05-28 17:59:48.000000000","reason":"grfn replied on the change"}},"hashtags":[],"change_id":"Ic6b66f05db2699bf1f93f870f5dd614c37eccc2d","subject":"fix(web/panettone): Properly handle un-padded base64 in jwts","status":"MERGED","created":"2022-05-28 17:56:35.000000000","updated":"2022-05-28 18:00:30.000000000","submitted":"2022-05-28 18:00:30.000000000","submitter":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"5781","meta_rev_id":"76520a0ccfdb755033e01b4b192e662dad73ac3b","_number":5781,"virtual_id_number":5781,"owner":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2022-05-28 18:00:30.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0},"Verified":{"approved":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2022-05-28 18:00:30.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Autosubmit":{"approved":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"all":[{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2022-05-28 18:00:30.000000000","_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true},"All-Comments-Resolved":{"approved":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"all":[{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]},"Conformant-Commit-Message":{"approved":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"all":[{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]}},"removable_reviewers":[{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"}],"reviewers":{"REVIEWER":[{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-05-28 17:56:36.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2022-05-28 17:56:47.000000000","updated_by":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"reviewer":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"state":"REVIEWER"},{"updated":"2022-05-28 17:56:47.000000000","updated_by":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"reviewer":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"state":"REVIEWER"},{"updated":"2022-05-28 17:57:52.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2022-05-28 18:00:30.000000000","updated_by":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"a3a47ca0a5f4cc66a5c7ea37367362de72f27586","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"date":"2022-05-28 17:56:35.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ef6b20daa874e08a016422c68cfe2aad41d9d48d","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2022-05-28 17:56:36.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/tvl/depot/builds/13957","accounts_in_message":[],"_revision_number":1},{"id":"523cb6ce469ff498575da26b487140a5b0681f55","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2022-05-28 17:57:52.000000000","message":"Patch Set 1: Verified+1\n\nBuild of patchset 1 passed: https://buildkite.com/tvl/depot/builds/13957","accounts_in_message":[],"_revision_number":1},{"id":"2ab6fb03cb10f37a58729471624b218e961ee184","author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"date":"2022-05-28 17:59:23.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"f7cfdf9a45ad8e714f33b17d0b6e1aee483689fa","author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"date":"2022-05-28 17:59:48.000000000","message":"Patch Set 1: Autosubmit+1","accounts_in_message":[],"_revision_number":1},{"id":"3f327ff0212e9957052881f8b78e323c3f2eac66","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"date":"2022-05-28 18:00:30.000000000","message":"Patch Set 2: Patch Set 1 was rebased","accounts_in_message":[],"_revision_number":2},{"id":"76520a0ccfdb755033e01b4b192e662dad73ac3b","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"date":"2022-05-28 18:00:30.000000000","message":"Change has been successfully rebased and submitted as b39ca017c0453c7420da64d062a2aa00e27d1fd3\n\n1 is the latest approved patch-set.\nNo files were changed between the latest approved patch-set and the submitted one.\n","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"b39ca017c0453c7420da64d062a2aa00e27d1fd3","revisions":{"546f84b17d02050c00228ba9bc72cdf85175d3ce":{"kind":"REWORK","_number":1,"created":"2022-05-28 17:56:35.000000000","uploader":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"ref":"refs/changes/81/5781/1","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/81/5781/1","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/81/5781/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/81/5781/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/81/5781/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/81/5781/1"}}},"commit":{"parents":[{"commit":"863846f8e513ce721ddbf10f7abc9913dd1d0365","subject":"feat(web/panettone): Implement OAuth2-based authentication","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d863846f8e513ce721ddbf10f7abc9913dd1d0365"}]}],"author":{"name":"Griffin Smith","email":"grfn@gws.fyi","date":"2022-05-28 17:53:17.000000000","tz":-240},"committer":{"name":"Griffin Smith","email":"grfn@gws.fyi","date":"2022-05-28 17:56:28.000000000","tz":-240},"subject":"fix(web/panettone): Properly handle un-padded base64 in jwts","message":"fix(web/panettone): Properly handle un-padded base64 in jwts\n\nThe JWT spec apparently specifies that base64 strings in jwts aren\u0027t to\nbe padded - but the common lisp base64 library doesn\u0027t know how to\ndecode unpadded base64 (it signals a condition in that case). This adds\nthe extra padding characters (a number of `\u003d` characters such that the\nlength of the string is a multiple of 4) using some FORMAT wizardry (?).\n\nChange-Id: Ic6b66f05db2699bf1f93f870f5dd614c37eccc2d\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d546f84b17d02050c00228ba9bc72cdf85175d3ce"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d546f84b17d02050c00228ba9bc72cdf85175d3ce"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"863846f8e513ce721ddbf10f7abc9913dd1d0365","is_merged_in_target_branch":false,"change_id":"Id32bf5e09d67f0f1e883024c6e013eb342f03b05","change_number":5772,"patch_set_number":8,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"70f75db1d8f985aa091ddc978ba867d25615ebaf":{"kind":"NO_CHANGE","_number":2,"created":"2022-05-28 18:00:30.000000000","uploader":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"ref":"refs/changes/81/5781/2","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/81/5781/2","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/81/5781/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/81/5781/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/81/5781/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/81/5781/2"}}},"commit":{"parents":[{"commit":"c1bddf191f0f4ca9d14d254a29dfaaa0c49149b5","subject":"feat(web/panettone): Implement OAuth2-based authentication","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dc1bddf191f0f4ca9d14d254a29dfaaa0c49149b5"}]}],"author":{"name":"Griffin Smith","email":"grfn@gws.fyi","date":"2022-05-28 17:53:17.000000000","tz":-240},"committer":{"name":"grfn","email":"grfn@gws.fyi","date":"2022-05-28 18:00:30.000000000","tz":0},"subject":"fix(web/panettone): Properly handle un-padded base64 in jwts","message":"fix(web/panettone): Properly handle un-padded base64 in jwts\n\nThe JWT spec apparently specifies that base64 strings in jwts aren\u0027t to\nbe padded - but the common lisp base64 library doesn\u0027t know how to\ndecode unpadded base64 (it signals a condition in that case). This adds\nthe extra padding characters (a number of `\u003d` characters such that the\nlength of the string is a multiple of 4) using some FORMAT wizardry (?).\n\nChange-Id: Ic6b66f05db2699bf1f93f870f5dd614c37eccc2d\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d70f75db1d8f985aa091ddc978ba867d25615ebaf"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d70f75db1d8f985aa091ddc978ba867d25615ebaf"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"c1bddf191f0f4ca9d14d254a29dfaaa0c49149b5","is_merged_in_target_branch":true,"change_id":"Id32bf5e09d67f0f1e883024c6e013eb342f03b05","change_number":5772,"patch_set_number":9,"change_status":"MERGED"}],"branch":"refs/heads/canon","description":"Rebase"},"b39ca017c0453c7420da64d062a2aa00e27d1fd3":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2022-05-28 18:00:30.000000000","uploader":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"ref":"refs/changes/81/5781/3","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/81/5781/3","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/81/5781/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/81/5781/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/81/5781/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/81/5781/3"}}},"commit":{"parents":[{"commit":"c1bddf191f0f4ca9d14d254a29dfaaa0c49149b5","subject":"feat(web/panettone): Implement OAuth2-based authentication","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dc1bddf191f0f4ca9d14d254a29dfaaa0c49149b5"}]}],"author":{"name":"Griffin Smith","email":"grfn@gws.fyi","date":"2022-05-28 17:53:17.000000000","tz":-240},"committer":{"name":"clbot","email":"clbot@tvl.fyi","date":"2022-05-28 18:00:30.000000000","tz":0},"subject":"fix(web/panettone): Properly handle un-padded base64 in jwts","message":"fix(web/panettone): Properly handle un-padded base64 in jwts\n\nThe JWT spec apparently specifies that base64 strings in jwts aren\u0027t to\nbe padded - but the common lisp base64 library doesn\u0027t know how to\ndecode unpadded base64 (it signals a condition in that case). This adds\nthe extra padding characters (a number of `\u003d` characters such that the\nlength of the string is a multiple of 4) using some FORMAT wizardry (?).\n\nChange-Id: Ic6b66f05db2699bf1f93f870f5dd614c37eccc2d\nReviewed-on: https://cl.tvl.fyi/c/depot/+/5781\nTested-by: BuildkiteCI\nReviewed-by: tazjin \u003ctazjin@tvl.su\u003e\nAutosubmit: grfn \u003cgrfn@gws.fyi\u003e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003db39ca017c0453c7420da64d062a2aa00e27d1fd3"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003db39ca017c0453c7420da64d062a2aa00e27d1fd3"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"c1bddf191f0f4ca9d14d254a29dfaaa0c49149b5","is_merged_in_target_branch":true,"change_id":"Id32bf5e09d67f0f1e883024c6e013eb342f03b05","change_number":5772,"patch_set_number":9,"change_status":"MERGED"}],"branch":"refs/heads/canon"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Code-Review-from-owners","status":"OK","applied_by":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"}},{"label":"Autosubmit","status":"MAY"},{"label":"Conformant-Commit-Message","status":"OK","applied_by":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"}},{"label":"All-Comments-Resolved","status":"OK","applied_by":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"}},{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[]}},{"name":"All-Comments-Resolved","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:All-Comments-Resolved\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:All-Comments-Resolved\u003dCustom-Rule"],"failing_atoms":[]}},{"name":"Code-Review-from-owners","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review-from-owners\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review-from-owners\u003dCustom-Rule"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[]}},{"name":"Conformant-Commit-Message","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Conformant-Commit-Message\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Conformant-Commit-Message\u003dCustom-Rule"],"failing_atoms":[]}}]}
