rhandrade / tray-theme

CLI criado para ajudar desenvolvedores a criarem ótimos temas para Tray.
MIT License
20 stars 3 forks source link

Discussão sobre melhorias do projeto #6

Closed leolopes closed 2 years ago

leolopes commented 3 years ago

Olá pessoal, somos da www.strongway.com.br , e queremos, primeiramente, agradecer por ter tornado este projeto open source. No intuito de tentar ajudar nas melhorias do projeto, verifiquei o roadmap de vocês. Um dos itens citados é: "Melhorar estrutura do projeto".

Vocês têm alguma ideia dos problemas de estrutura a resolver, ou alguma ideia de que linha querem seguir nesse sentido?

Vou marcar o @JuniorPaula para acompanhar.

rhandrade commented 3 years ago

Olá @leolopes e @JuniorPaula, primeiramente seja bem-vindo ao projeto.

Sobre esse item que coloquei a ideia seria separar o parte das requisições em si feitas para a api em um outro pacote npm. Hoje existe dentro da pasta src/api/v1/ o arquivo TrayApi.ts, que é responsável por toda a comunicação com os servidores da Tray. E isso necessariamente não é algo diretamente relacionado ao CLI.

Minha ideia então é migrar tudo para um novo repositório, algo como tray-opencode-sdk que será responsável somente pela comunicação com a Tray. Com isso conseguimos separar as responsabilidades e criar tratamentos de erros mais precisos, além é claro que permitir que outros projetos possam usar esse sdk.

Fora isso tem outras coisas que desejo fazer, divididos em várias versões, como:

Para a versão estável 1.0.0 quero focar nesses itens:

Toda ajuda e sugestão será bem vinda ao projeto! A ideia é ter todos que desenvolvem para a Tray trocando experiências para melhorar essa ferramenta.

Estou vendo a possibilidade de alguém da Tray ajudar, principalmente na parte do servidor da API, a qual não temos acesso.

leolopes commented 3 years ago

Olá @rhandrade , desculpe a demora na resposta. Os últimos dias têm sido um pouco complicados, mas vamos lá. Obrigado por toda a explicação. Concordo com as prioridades que você estabeleceu para a versão 1.0.0.

Dei uma olhada no código e vi especificamente um retorno de falso negativo, aqui: https://github.com/rhandrade/tray-theme/blob/be37861de904a8a29e0835f4253b04ffc61be6e5/src/api/v1/TrayApi.ts#L308

Neste caso específico eu me questiono se esse retorno é sempre um falso negativo, ou se tem casos em que realmente é negativo. Aí fica sempre a dúvida, hehe.

Quanto aos falsos positivos, imagino que você já tenha alguma ideias de quais são, certo? Ou seria o caso de ir descobrindo com o uso?

leolopes commented 3 years ago

Vi que você fez tópicos para discussões específicas, vou dar uma olhada lá.

rhandrade commented 3 years ago

@leolopes Desculpe a demora, esses dias estou enrolado e não consegui mexer muito.

Essa parte em específico é um 'work around'. Se tiver esse código undefined local variable or method 'upfile_updated' significa que será sempre um falso negativo para esse endpoint. Isso porque a remoção do arquivo realmente ocorre, o que da a entender que esse trecho de código vem depois da remoção do arquivo e serviria para dar alguma mensagem de retorno talvez. Caso o arquivo não seja removido, outro erro é lançado e ai ele retorna erro normalmente.

A ideia seria não depender dessas gambiarras, reportando isso para a Tray e eles arrumando, mas nem sei a quantas anda o projeto, então é meio complicado esperar esse comportamento deles.

Sobre os falsos positivos/negativos, eu já removi nessa issue aqui #12.