{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":271799467,"defaultBranch":"master","name":"nextclade","ownerLogin":"nextstrain","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-06-12T13:01:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/22159334?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717470571.0","currentOid":""},"activityList":{"items":[{"before":"29c49e5ddeb7c129c68baba4f01cda5cdeac1885","after":"8d2cab6ad6e5e9eed3b8f43d3092dee37272310b","ref":"refs/heads/master","pushedAt":"2024-06-04T03:09:31.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"Merge pull request #1471 from nextstrain/fix/large-auspice-json-local-storage","shortMessageHtmlLink":"Merge pull request #1471 from nextstrain/fix/large-auspice-json-local…"}},{"before":"5da539c53c3103c69202c8c2eefe661b65563cd3","after":null,"ref":"refs/heads/fix/large-auspice-json-local-storage","pushedAt":"2024-06-04T03:09:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"}},{"before":"8326ecb92f64ceb2dfee18d689dd25a53e1361f6","after":"5da539c53c3103c69202c8c2eefe661b65563cd3","ref":"refs/heads/fix/large-auspice-json-local-storage","pushedAt":"2024-06-04T00:41:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"refactor: lint","shortMessageHtmlLink":"refactor: lint"}},{"before":"39db89ef6fdfe1f35e212df23450b788f59a3051","after":"8326ecb92f64ceb2dfee18d689dd25a53e1361f6","ref":"refs/heads/fix/large-auspice-json-local-storage","pushedAt":"2024-06-04T00:35:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"fix(web): prevent writing large auspice json to local storage\n\nAfter `dataset-json-url` param is used, the entire auspice json was stored in local storage. For large files this would be bigger that what browsers allow and the store operation would fail. Subsequent reads would retrieve either nothing or some fragment of data.\n\nHere I add some logic to make sure we store auspice json in memory only. Sadly, this means that page reload wipes all the data and we currently don't have a good mechanism to store the previous dataset URL in order to re-fetch it. This will need to be implemented. Currently I opted for discarding the stored dataset if it was auspice dataset. This should be alright, as the feature was primarily designed to be used when navigating to Nextclade with url params set.\n\nThis PR only implements a workaround for something that's fundamentally poorly designed and broken. The full dataset description object is still saved to local storage. The definitive fix requires serious restructuring and altering many components. It will be implemented later (https://github.com/nextstrain/nextclade/issues/1464)\n\nBut this workaround should allow most use-cases of `dataset-json-url` to work and makes this auspice dataset feature releasable.\n\nCan be tested with a large tree like this:\n\n```\n?dataset-json-url=https://nextstrain.org/ncov/gisaid/global/all-time\n```","shortMessageHtmlLink":"fix(web): prevent writing large auspice json to local storage"}},{"before":null,"after":"39db89ef6fdfe1f35e212df23450b788f59a3051","ref":"refs/heads/fix/large-auspice-json-local-storage","pushedAt":"2024-06-04T00:35:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"fix(web): prevent writing large auspice json to local storage\n\nAfter `dataset-json-url` param is used, the entire auspice json was stored in local storage. For large files this would be bigger that what browsers allow and the store operation would fail. Subsequent reads would retrieve either nothing or some fragment of data.\n\nHere I add some logic to make sure we store auspice json in memory only. Sadly, this means that page reload wipes all the data and we currently don't have a good mechanism to store the previous dataset URL in order to re-fetch it. This will need to be implemented. Currently I opted for discarding the stored dataset if it was auspice dataset. This should be alright, as the feature was primarily designed to be used when navigating to Nextclade with url params set.\n\nThis PR only implements a workaround for something that's fundamentally poorly designed and broken. The full dataset description object is still saved to local storage. The definitive fix requires serious restructuring and altering many components. It will be implemented later (https://github.com/nextstrain/nextclade/issues/1464)\n\nBut this workaround should allow most use-cases of `dataset-json-url` to work and makes this auspice dataset feature releasable.\n\nCan be tested with a large tree like this:\n```\n?dataset-json-url=https://nextstrain.org/ncov/gisaid/global/all-time\n```","shortMessageHtmlLink":"fix(web): prevent writing large auspice json to local storage"}},{"before":"d8a46b1ca016e14e510a5db89946616b2749773f","after":null,"ref":"refs/heads/refactor/cleanup","pushedAt":"2024-06-03T17:41:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"}},{"before":"1f6c6571e02d65ea8f55e0f3f081316d884f2a88","after":"29c49e5ddeb7c129c68baba4f01cda5cdeac1885","ref":"refs/heads/master","pushedAt":"2024-06-03T17:41:04.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"Merge pull request #1470 from nextstrain/refactor/cleanup","shortMessageHtmlLink":"Merge pull request #1470 from nextstrain/refactor/cleanup"}},{"before":"fb988f17298b325334dcec6673ba49da50a5af12","after":null,"ref":"refs/heads/fix/auspice-dataset-name","pushedAt":"2024-06-03T17:40:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"}},{"before":"968fb0aa8bc967d2d88681af655e6f17bb2d5e21","after":"1f6c6571e02d65ea8f55e0f3f081316d884f2a88","ref":"refs/heads/master","pushedAt":"2024-06-03T17:40:56.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"Merge pull request #1469 from nextstrain/fix/auspice-dataset-name","shortMessageHtmlLink":"Merge pull request #1469 from nextstrain/fix/auspice-dataset-name"}},{"before":null,"after":"d8a46b1ca016e14e510a5db89946616b2749773f","ref":"refs/heads/refactor/cleanup","pushedAt":"2024-06-03T17:07:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"refactor: remove unused code","shortMessageHtmlLink":"refactor: remove unused code"}},{"before":null,"after":"fb988f17298b325334dcec6673ba49da50a5af12","ref":"refs/heads/fix/auspice-dataset-name","pushedAt":"2024-06-03T17:07:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"fix(web): prefer name from pathogen info rather than from Auspice meta","shortMessageHtmlLink":"fix(web): prefer name from pathogen info rather than from Auspice meta"}},{"before":"ad72920d7df25b765a8d5f7519a55ddfc30bb0ad","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/packages_rs/nextclade-web/auspice-2.52.0","pushedAt":"2024-06-01T14:29:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"12559326dc508dc8418f9a0edda524e5e14788b1","after":null,"ref":"refs/heads/feat/cli-help-input-dataset-auspice","pushedAt":"2024-05-31T19:10:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"}},{"before":"9803059b41b801f02265d7a61253a97cc131a15f","after":"968fb0aa8bc967d2d88681af655e6f17bb2d5e21","ref":"refs/heads/master","pushedAt":"2024-05-31T19:10:15.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"Merge pull request #1468 from nextstrain/feat/cli-help-input-dataset-auspice","shortMessageHtmlLink":"Merge pull request #1468 from nextstrain/feat/cli-help-input-dataset-…"}},{"before":null,"after":"12559326dc508dc8418f9a0edda524e5e14788b1","ref":"refs/heads/feat/cli-help-input-dataset-auspice","pushedAt":"2024-05-31T18:41:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"feat(cli): add Auspice JSON to CLI help and docs for `--input-dataset`\n\nFollowup of: https://github.com/nextstrain/nextclade/pull/1455","shortMessageHtmlLink":"feat(cli): add Auspice JSON to CLI help and docs for --input-dataset"}},{"before":"0b09de74e36a58ba0392926b2cf84f3083ca5b79","after":null,"ref":"refs/heads/refactor/graph","pushedAt":"2024-05-31T18:39:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"}},{"before":"77cd985dbcb1ad65bb29d1822dac39f323d4fc0f","after":"9803059b41b801f02265d7a61253a97cc131a15f","ref":"refs/heads/master","pushedAt":"2024-05-31T18:39:14.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"Merge pull request #1467 from nextstrain/refactor/graph","shortMessageHtmlLink":"Merge pull request #1467 from nextstrain/refactor/graph"}},{"before":"bf97a1743ce0e7cad5cb996c4e8d484de01082f1","after":null,"ref":"refs/heads/feat/branch-attrs-optional","pushedAt":"2024-05-31T18:00:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"}},{"before":"99b07c4b9594fb6637f4fb49ab931a9a27a73a90","after":"77cd985dbcb1ad65bb29d1822dac39f323d4fc0f","ref":"refs/heads/master","pushedAt":"2024-05-31T17:59:59.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"Merge pull request #1465 from nextstrain/feat/branch-attrs-optional","shortMessageHtmlLink":"Merge pull request #1465 from nextstrain/feat/branch-attrs-optional"}},{"before":"a6bc08c53653ca5dedf516845a2a8185f9f42a32","after":"bf97a1743ce0e7cad5cb996c4e8d484de01082f1","ref":"refs/heads/feat/branch-attrs-optional","pushedAt":"2024-05-31T17:59:35.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"Merge branch 'master' into feat/branch-attrs-optional","shortMessageHtmlLink":"Merge branch 'master' into feat/branch-attrs-optional"}},{"before":"674a3f4d3260f9ab1a47bdda6e4e225aebd60b33","after":"0b09de74e36a58ba0392926b2cf84f3083ca5b79","ref":"refs/heads/refactor/graph","pushedAt":"2024-05-31T17:49:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"fix: remove panics from graph ladderize","shortMessageHtmlLink":"fix: remove panics from graph ladderize"}},{"before":"9c807a6384b7f0a14f48fccb24b95dd3dc4331c3","after":"99b07c4b9594fb6637f4fb49ab931a9a27a73a90","ref":"refs/heads/master","pushedAt":"2024-05-31T17:49:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"docs: document clade-like attributes","shortMessageHtmlLink":"docs: document clade-like attributes"}},{"before":"0b09de74e36a58ba0392926b2cf84f3083ca5b79","after":"674a3f4d3260f9ab1a47bdda6e4e225aebd60b33","ref":"refs/heads/refactor/graph","pushedAt":"2024-05-31T17:45:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"docs: document clade-like attributes","shortMessageHtmlLink":"docs: document clade-like attributes"}},{"before":"8145f93d9a364bb10439f27178fb481779aa1a3d","after":"9c807a6384b7f0a14f48fccb24b95dd3dc4331c3","ref":"refs/heads/master","pushedAt":"2024-05-31T17:13:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"Merge pull request #1466 from nextstrain/fix/github-repo-url-check","shortMessageHtmlLink":"Merge pull request #1466 from nextstrain/fix/github-repo-url-check"}},{"before":"f79b67777949f6f25cdcb945d7d12ea1d72e0107","after":null,"ref":"refs/heads/fix/github-repo-url-check","pushedAt":"2024-05-31T17:13:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"}},{"before":null,"after":"0b09de74e36a58ba0392926b2cf84f3083ca5b79","ref":"refs/heads/refactor/graph","pushedAt":"2024-05-31T16:10:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"fix: remove panics from graph ladderize","shortMessageHtmlLink":"fix: remove panics from graph ladderize"}},{"before":"48ac9cec9ac396b9253f6238567b88c9d972cacc","after":"8145f93d9a364bb10439f27178fb481779aa1a3d","ref":"refs/heads/master","pushedAt":"2024-05-31T14:51:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"docs: mention `dataset-json-url` param as an experimental feature","shortMessageHtmlLink":"docs: mention dataset-json-url param as an experimental feature"}},{"before":"0bed1cd5adc64ca8e25ae9974b98052255698862","after":null,"ref":"refs/heads/refactor/auspice-json-remove-recursion","pushedAt":"2024-05-31T14:28:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"}},{"before":"f17e68798a716f42cb05dca8c3ccb3ea6c881af0","after":"48ac9cec9ac396b9253f6238567b88c9d972cacc","ref":"refs/heads/master","pushedAt":"2024-05-31T14:28:57.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"Merge pull request #1461 from nextstrain/refactor/auspice-json-remove-recursion","shortMessageHtmlLink":"Merge pull request #1461 from nextstrain/refactor/auspice-json-remove…"}},{"before":null,"after":"f79b67777949f6f25cdcb945d7d12ea1d72e0107","ref":"refs/heads/fix/github-repo-url-check","pushedAt":"2024-05-31T02:32:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ivan-aksamentov","name":"Ivan Aksamentov","path":"/ivan-aksamentov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9403403?s=80&v=4"},"commit":{"message":"fix(web): exclude selected GitHub URLs when checking for repo URL\n\nWhen deciding whether a URL is a GitHub repo url, currently certain URLs trigger false positives.\n\nFor example, user attachments (`https://github.com/user-attachments/files/12345678/example.txt`), assets, gists, releases etc.\n\nLet's exclude certain paths in regex from consideration.\n\nSome of these paths don't respond with CORS headers, so the cannot be used in Nextclade anyways, but at least users will see a correct error message, rather than GitHub repo URL parsing error, which does not make sense for the URLs listed above.","shortMessageHtmlLink":"fix(web): exclude selected GitHub URLs when checking for repo URL"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEW5BAMwA","startCursor":null,"endCursor":null}},"title":"Activity · nextstrain/nextclade"}