|
1 | 1 | # TODO |
2 | 2 |
|
| 3 | +* figure out a way of safely storing PyPI credentials |
| 4 | +* promote dependencies to latest versions |
| 5 | + * and do proper testing before committing |
| 6 | +* setup testing with pytest |
| 7 | + * setup folder structure for tests |
| 8 | + * configure required dependencies in `pyproject.toml` |
| 9 | + * pytest, faker |
| 10 | + * setup pytest configuration in `pyproject.toml` |
| 11 | + * setup pytest pre-commit hook |
| 12 | +* setup test coverage |
| 13 | + * first research best framework for this in python |
| 14 | +* setup auto documentation generation |
| 15 | + |
3 | 16 | * fix configuration saving/loading so that visibility status can also be saved and loaded |
4 | | - * this needs to be done statically: when defining a configuration component there should be an optional children field which denotes the children of the component that will be unfolded, i.e. shouldb become visible. There hsould also (perhaps on the same field) be a defined value for which the child components should be visible. Then during the saving of new component values, we will do a check where we see if a given component has any children. if so and if the new component value is equal to the value for which the children should become visible, then we set the visibility field on the children to true. |
| 17 | + * this needs to be done statically: when defining a configuration component there should be an optional children field which denotes the children of the component that will be unfolded, i.e. shouldb become visible. There hsould also (perhaps on the same field) be a defined value for which the child components should be visible. Then during the saving of new component values, we will do a check where we see if a given component has any children. if so and if the new component value is equal to the value for which the children should become visible, then we set the visibility field on the children to true. |
5 | 18 | * When this has been implemented we can finally have all the components with children be included rather than excluded from saving and loading as is the case now (and of course the visiblity of their children will be saved too) |
6 | 19 |
|
7 | 20 | * remodularize frontend code to reflect new tab layout |
|
85 | 98 | * Possible solutions |
86 | 99 | * use gr.browserstate to allow state to be preserved acrross page loads. |
87 | 100 | * Save any changes to components to a session dictionary and load from it upon refresh |
88 | | - * See [here](https://github.com/gradio-app/gradio/issues/3106#issuecomment-1694704623) |
| 101 | + * See [this GitHub issue comment](https://github.com/gradio-app/gradio/issues/3106#issuecomment-1694704623) |
89 | 102 | * Problem is that this solution might not work with accordions or other types of blocks |
90 | 103 | * should use .expand() and .collapse() event listeners on accordions to programmatically reset the state of accordions to what they were before after user has refreshed the page |
91 | 104 | * Use localstorage |
92 | | - * see [here](https://huggingface.co/spaces/YiXinCoding/gradio-chat-history/blob/main/app.py) and [here](https://huggingface.co/spaces/radames/gradio_window_localStorage/blob/main/app.py) |
| 105 | + * see [this chat history example](https://huggingface.co/spaces/YiXinCoding/gradio-chat-history/blob/main/app.py) and [this localStorage example](https://huggingface.co/spaces/radames/gradio_window_localStorage/blob/main/app.py) |
93 | 106 |
|
94 | 107 | * Whenever the state of a component is changed save the new state to a custom JSON file. |
95 | 108 | * Then whenever the app is refreshed load the current state of components from the JSON file |
|
128 | 141 |
|
129 | 142 | ## Core |
130 | 143 |
|
131 | | -### Common |
| 144 | +### Common Features |
132 | 145 |
|
133 | 146 | * instead of having custom embedder models, just allow users to upload new embedder models which will be shown in the main embedder models dropdown (and perhaps also saved in the main embedder models dir?) |
134 | 147 |
|
|
403 | 416 | * when ultimate rvc is downloaded as a pypi package the exposed commands are much faster so investigate this |
404 | 417 |
|
405 | 418 | ## GitHub |
| 419 | + |
406 | 420 | * setup discussions forum on repo |
407 | 421 | * add support me/by me coffee section on readme |
408 | 422 | * add an acknowledgements section to readme |
| 423 | + |
409 | 424 | ### Actions |
410 | 425 |
|
411 | 426 | * linting with Ruff |
|
0 commit comments