{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1077612,"defaultBranch":"ete4","name":"ete","ownerLogin":"etetoolkit","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-11-13T16:04:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/16984099?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1725292563.0","currentOid":""},"activityList":{"items":[{"before":"fd525071e5ee0007439bc7cb394738e16f67c668","after":"0170e4bc051f0bc261fb934fe72c7f7d2ea39635","ref":"refs/heads/faster","pushedAt":"2024-09-23T07:36:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"draw.py: Remove some TODO comments.\n\nBetter tracked at https://github.com/orgs/etetoolkit/projects/6/ for example.","shortMessageHtmlLink":"draw.py: Remove some TODO comments."}},{"before":"255574e7ee5c848f44188fa648554ea85d2397b5","after":"fd525071e5ee0007439bc7cb394738e16f67c668","ref":"refs/heads/faster","pushedAt":"2024-09-22T22:36:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Allow setting the node style.\n\nIn addition to fixing a bug (missing the default empty string of\nthe style.get(...)), this allows setting the style of the node\nwith something like:\n\n def draw_node(node):\n yield {\"node\": {\"fill\": \"lightgreen\"}}\n\nas the drawing function for the Layout.","shortMessageHtmlLink":"Allow setting the node style."}},{"before":"d80441ffba55351c3f6d4110896664c0a12ed571","after":"255574e7ee5c848f44188fa648554ea85d2397b5","ref":"refs/heads/faster","pushedAt":"2024-09-20T10:39:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"draw.py: Get style dictionaries from the draw_node() and so on.\n\nWith this change we should be able to use the styles that\nthe user has sent, and do it at any time when we want to\ndraw the elements of the tree.","shortMessageHtmlLink":"draw.py: Get style dictionaries from the draw_node() and so on."}},{"before":"1e145acb12f8abc03774d4123e676ad5d455ab61","after":"d80441ffba55351c3f6d4110896664c0a12ed571","ref":"refs/heads/faster","pushedAt":"2024-09-20T09:22:09.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"cosmetics","shortMessageHtmlLink":"cosmetics"}},{"before":"77e30ef7c23ecf4d0cf8ecdf9bcc02910dd1cc83","after":"1e145acb12f8abc03774d4123e676ad5d455ab61","ref":"refs/heads/faster","pushedAt":"2024-09-20T08:37:36.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"draw.js: Receive the style for a nodebox.\n\nThe style was not being received when creating a nodebox.\n\nIn part it is because js does not warn you that there are\nmore elements in the list you are unpacking.\n\nIn part it is because I forgot.","shortMessageHtmlLink":"draw.js: Receive the style for a nodebox."}},{"before":"791fd7389504e11a4bb95a139c6209bf090f294b","after":"77e30ef7c23ecf4d0cf8ecdf9bcc02910dd1cc83","ref":"refs/heads/faster","pushedAt":"2024-09-17T16:23:20.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"cosmetics","shortMessageHtmlLink":"cosmetics"}},{"before":"8c1052817a4a937f97db7b8165604b378e2127aa","after":"69c8f5b551a81295cc80c3a9622a649a70a77257","ref":"refs/heads/sprint","pushedAt":"2024-09-17T12:57:09.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Merge pull request #758 from etetoolkit/faster\n\nUpdates from branch faster","shortMessageHtmlLink":"Merge pull request #758 from etetoolkit/faster"}},{"before":"d9c7a9ca7189a08d266f0af441fb7a5dfae65bbd","after":"791fd7389504e11a4bb95a139c6209bf090f294b","ref":"refs/heads/faster","pushedAt":"2024-09-17T12:55:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"TextFace -> TextFace, PropFace, EvalTextFace. And fs_min.\n\nNow:\n- TextFace contains a fixed text\n- PropFace shows a property of the node\n- EvalTextFace is the previous TextFace, which really evalutates\n given string\n\nAlso add fs_min as argument. If the font size that is going to be\nused in any of the text faces is smaller than it, do not draw the\ntexts at all.","shortMessageHtmlLink":"TextFace -> TextFace, PropFace, EvalTextFace. And fs_min."}},{"before":"0ffa1e56195447fd0524fea974831fb14b440808","after":"d9c7a9ca7189a08d266f0af441fb7a5dfae65bbd","ref":"refs/heads/faster","pushedAt":"2024-09-09T12:10:42.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Use relative imports.","shortMessageHtmlLink":"Use relative imports."}},{"before":"b27e592ca63ecb80828acb86663b220bd32f9573","after":"8c1052817a4a937f97db7b8165604b378e2127aa","ref":"refs/heads/sprint","pushedAt":"2024-09-05T17:03:29.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Merge pull request #757 from etetoolkit/faster\n\ntree.pyx: Use absolute imports.","shortMessageHtmlLink":"Merge pull request #757 from etetoolkit/faster"}},{"before":"f9b300b645492bfe41ec4b340054073af7535656","after":"0ffa1e56195447fd0524fea974831fb14b440808","ref":"refs/heads/faster","pushedAt":"2024-09-05T17:02:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"tree.pyx: Use absolute imports.","shortMessageHtmlLink":"tree.pyx: Use absolute imports."}},{"before":"7cb67478ce425b322f4d57f7656ac740011f42bf","after":"b27e592ca63ecb80828acb86663b220bd32f9573","ref":"refs/heads/sprint","pushedAt":"2024-09-04T13:00:57.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Merge pull request #756 from etetoolkit/faster\n\nRemove obsolete clustering stuff and nexml","shortMessageHtmlLink":"Merge pull request #756 from etetoolkit/faster"}},{"before":"7cb67478ce425b322f4d57f7656ac740011f42bf","after":"f9b300b645492bfe41ec4b340054073af7535656","ref":"refs/heads/faster","pushedAt":"2024-09-04T12:57:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Remove unused nexml parser and related files.\n\nAt least, it is not used by anyone we know.\n\nAlso, the parser was autogenerated a long time ago, and its code\nis very messy. We did not have any working test or use case for it.\n\nSo, goodbye!","shortMessageHtmlLink":"Remove unused nexml parser and related files."}},{"before":null,"after":"7cb67478ce425b322f4d57f7656ac740011f42bf","ref":"refs/heads/sprint","pushedAt":"2024-09-02T15:56:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"newick.pyx: cosmetics","shortMessageHtmlLink":"newick.pyx: cosmetics"}},{"before":"ea3a54a99226fc355e4d2cf5c7801a1ceafc3f8b","after":"7cb67478ce425b322f4d57f7656ac740011f42bf","ref":"refs/heads/faster","pushedAt":"2024-08-29T08:27:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"newick.pyx: cosmetics","shortMessageHtmlLink":"newick.pyx: cosmetics"}},{"before":"a1f27eb435e2427ae3747ffc28bed97905ad0c07","after":"ea3a54a99226fc355e4d2cf5c7801a1ceafc3f8b","ref":"refs/heads/faster","pushedAt":"2024-08-29T01:22:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"newick.pyx: More uniform way managing the newick text.\n\nBasically cosmetics, but also we are more ready to try reading\nthe different parts of the tree in different Threads, since the\nway the functions access the newick would make it easier (always\nwith the full text and a position where we are).\n\nThe speed is basically the same as before. The code should be a bit\nmore clear.\n\nAlso, we are fixing the behavior of certain formats that required\ncertain fields to be present. Before this change, if there was no\ncontent at all for a node, they would not have been checked.\n\nTo do it properly, we set the root node as an exception where those\nvalues do not have to be required.","shortMessageHtmlLink":"newick.pyx: More uniform way managing the newick text."}},{"before":"0751999f0fcfc97de46d255ea4121d7e81272adb","after":"a1f27eb435e2427ae3747ffc28bed97905ad0c07","ref":"refs/heads/faster","pushedAt":"2024-08-28T23:05:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"newick.pyx: cosmetics\n\nCleaner code. It seems to be very slightly faster than the old code\ntoo.","shortMessageHtmlLink":"newick.pyx: cosmetics"}},{"before":"4cd4e7be293f5b6afefcc1a4e213d7395e1c130f","after":"0751999f0fcfc97de46d255ea4121d7e81272adb","ref":"refs/heads/faster","pushedAt":"2024-08-28T00:22:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"cosmetics","shortMessageHtmlLink":"cosmetics"}},{"before":"feb9e69c011b5846e73b1b914eee984f7b851053","after":"4cd4e7be293f5b6afefcc1a4e213d7395e1c130f","ref":"refs/heads/faster","pushedAt":"2024-08-28T00:22:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"newick.pyx: Add two common parsers referred by name.\n\nSo parser=0 is now the same as parser=\"support\".\n\nAnd some cosmetic changes.","shortMessageHtmlLink":"newick.pyx: Add two common parsers referred by name."}},{"before":"90af388b21bc9e26520fb22868c8df29972832d8","after":"feb9e69c011b5846e73b1b914eee984f7b851053","ref":"refs/heads/faster","pushedAt":"2024-08-27T23:38:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Fix old SyntaxWarnings in a few regular expressions.","shortMessageHtmlLink":"Fix old SyntaxWarnings in a few regular expressions."}},{"before":"08415348a6cc75e177855ec0a5ec40de8cd3967e","after":"90af388b21bc9e26520fb22868c8df29972832d8","ref":"refs/heads/faster","pushedAt":"2024-08-27T23:34:09.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"draw.py: Change the order of (dis)appearance of decorations in a column.\n\nIf we have a total dy vertical space in a column, and there are n rows\nof decorations to place, the first decoration is granted a space of:\n\n dy / n\n\nThe second one, the remaining space after the first one has been\ndrawn, divided by the remaining decorations to draw. And so on.\n\nThat makes the last drawn decorations to have the maximum possible\navailable space, because the previous ones may have used less space\nthan what they had allocated. They may even not have been drawn at all\nif the space was too small!\n\nBut the effect that this caused could be surprising, because the first\ndecorations may not appear (not enough space), while the last do\nappear (enough space, because nothing was drawn before). We want the\ncontrary: if any decoration is not going to appear for lack of space,\nit better be the last ones! This commit implements that change.","shortMessageHtmlLink":"draw.py: Change the order of (dis)appearance of decorations in a column."}},{"before":"69527ddad0e1fb6b13f78436666d721a51b37ae8","after":"08415348a6cc75e177855ec0a5ec40de8cd3967e","ref":"refs/heads/faster","pushedAt":"2024-08-21T12:44:32.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Internally cache the decorations for the nodes, and rename layout functions.\n\nThis commit changes the names of the functions in a Layout.\n\nFor example, instead of having node_style() and node_decos(), we have\nnow draw_node() that can produce both decorations and styles. The\nstyles are dictionaries, that we will combine later, by the way.\n\nAlso, we cache by default the output of draw_node(), so the\ndecorations that correspond to a node will be stored and reused (using\nlru_cache). This can be controlled with the argument cache_size when\ncreating a Layout. For example, Layout(..., cache_size=0) will not\ncache anything.","shortMessageHtmlLink":"Internally cache the decorations for the nodes, and rename layout fun…"}},{"before":"5364ddb3edcb20ba21f627cd328ecaef7bda1886","after":"69527ddad0e1fb6b13f78436666d721a51b37ae8","ref":"refs/heads/faster","pushedAt":"2024-08-20T12:48:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Add comments and tests related to multisupport.","shortMessageHtmlLink":"Add comments and tests related to multisupport."}},{"before":"58a47023a161fd718c4c6906e529459e81ec0648","after":"5364ddb3edcb20ba21f627cd328ecaef7bda1886","ref":"refs/heads/faster","pushedAt":"2024-08-20T00:18:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Add parser for newick with multiple values of support.\n\nSome trees generated by iq-tree have multiple values for the support,\nthat look like 23/43 for example.\n\nThis change adds a parser called \"multisupport\" that reads and writes\nin that format.\n\nWe should add some documentation and tests too.","shortMessageHtmlLink":"Add parser for newick with multiple values of support."}},{"before":"9000184df9ed396f7349032547d270f3aacc919a","after":"58a47023a161fd718c4c6906e529459e81ec0648","ref":"refs/heads/faster","pushedAt":"2024-08-16T17:02:26.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"menu.js: Allow to modify the min_size_content from the gui too.\n\nThe min_size_content controls when some drawing element is too\nsmall to appear (so it either does not appear or a box appears\nin its place).\n\nThis is different from the min_size parameters, which controls\nwhen a node is too small to appear by itself, so it is then\ncollapsed (possibly with other nodes).","shortMessageHtmlLink":"menu.js: Allow to modify the min_size_content from the gui too."}},{"before":"13e1602b29db933349ef928a491df9e65eb9b5f4","after":"9000184df9ed396f7349032547d270f3aacc919a","ref":"refs/heads/faster","pushedAt":"2024-08-14T07:26:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"draw.js: Fix summary text appearing with bad sizes in circular mode.\n\nWhat was I thinking when I used max() instead of min()?\n\nI cannot think of corner cases where that would be wrong.","shortMessageHtmlLink":"draw.js: Fix summary text appearing with bad sizes in circular mode."}},{"before":"32c38aa26f8f08c163a2b1e24ddf122b67b7ca2d","after":"13e1602b29db933349ef928a491df9e65eb9b5f4","ref":"refs/heads/faster","pushedAt":"2024-08-07T16:37:46.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"gui.js: Remove example initial labels.\n\nThose were there for testing purposes, mainly.\n\nThe user will normally start exploring a tree with the default layout,\nwhich already includes the equivalent to those labels.\n\nAnd while exploring, one can add labels from the gui, of course.","shortMessageHtmlLink":"gui.js: Remove example initial labels."}},{"before":"5bb5c658bf21ff77b8c111641b6ea155cf7dc2ac","after":"32c38aa26f8f08c163a2b1e24ddf122b67b7ca2d","ref":"refs/heads/faster","pushedAt":"2024-08-07T09:31:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Add __init__.py in smartview so we can load the main things from there.","shortMessageHtmlLink":"Add __init__.py in smartview so we can load the main things from there."}},{"before":"661382502d6c7c30fe03c838b8e4384fd73d1dae","after":"5bb5c658bf21ff77b8c111641b6ea155cf7dc2ac","ref":"refs/heads/faster","pushedAt":"2024-08-06T22:37:58.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"Add RectFace.","shortMessageHtmlLink":"Add RectFace."}},{"before":"72fc7548a2df90fea8d474d10b44e8b82bb08374","after":"661382502d6c7c30fe03c838b8e4384fd73d1dae","ref":"refs/heads/faster","pushedAt":"2024-08-06T15:35:29.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"jordibc","name":"Jordi Burguet-Castell","path":"/jordibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1568405?s=80&v=4"},"commit":{"message":"draw.js: Fix checking the style in a circle.\n\nThe check for whether it was a nodedot was broken -- style can\nbe a string or an object (dictionary) with the style properties.","shortMessageHtmlLink":"draw.js: Fix checking the style in a circle."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QwNzozNjo0Ni4wMDAwMDBazwAAAAS9qRV7","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QwNzozNjo0Ni4wMDAwMDBazwAAAAS9qRV7","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wNlQxNTozNToyOS4wMDAwMDBazwAAAASTRR2C"}},"title":"Activity · etetoolkit/ete"}