Descrição do problema
src/spsvalidator/build_info.py é um arquivo estático, commitado no repositório, com os valores de uma build antiga feita num Mac:
APP_VERSION = "1.10"
BUILD_MACOS_VERSION = "26.3.1 (25D2128)"
BUILD_PLATFORM = "macOS"
build_metadata.py (get_footer_build_label()) usa esses valores sempre que BUILD_MACOS_VERSION != "development" e BUILD_PLATFORM == "macOS", sem checar a plataforma real em que o app está rodando. Como o arquivo é estático e esses valores nunca mudam, o rodapé mostra "Compilado para macOS 26.3.1 (25D2128)" mesmo rodando em Linux, Windows, ou numa build de desenvolvimento local, qualquer que seja a plataforma real.
Isso também afeta a versão exibida no título da página. version.py só lê pyproject.toml quando esse arquivo existe (rodando a partir do código-fonte). Num executável empacotado, sem pyproject.toml embutido, cai no mesmo build_info.APP_VERSION estático ("1.10"), desacoplado da versão real declarada em pyproject.toml (hoje "0.2.0"). Ou seja, atualizar a versão em pyproject.toml não tem nenhum efeito no título de um binário já empacotado, seria preciso reempacotar com um build_info.py atualizado manualmente.
Os PRs #17 e #19 (abertos, ainda não mesclados) já propõem substituir esse arquivo estático por detecção de plataforma/versão em tempo de execução, na mesma linha do que este problema descreve.
Passos para reproduzir o problema
- Rode o app a partir do código-fonte em qualquer plataforma que não seja macOS (ex.:
spsvalidator --browser em Linux).
- Observe o rodapé da página inicial.
- O texto mostra "Compilado para macOS 26.3.1 (25D2128)", em vez de refletir a plataforma real (Linux, no exemplo).
Comportamento esperado
O rodapé deveria refletir a plataforma e a versão reais de onde o app está rodando, ou indicar claramente que é uma build de desenvolvimento (como o código já faz corretamente quando build_info.py está ausente ou em "development"). A versão exibida no título deveria vir de uma única fonte de verdade, o pyproject.toml, ou um build_info.py gerado automaticamente a cada empacotamento, não de um arquivo estático desatualizado commitado no repositório.
Screenshots ou vídeos
N/A
Anexos
N/A
Ambiente utilizado
- Linux (ambiente de desenvolvimento local)
- Python 3.12, rodando via
spsvalidator --browser
Descrição do problema
src/spsvalidator/build_info.pyé um arquivo estático, commitado no repositório, com os valores de uma build antiga feita num Mac:build_metadata.py(get_footer_build_label()) usa esses valores sempre queBUILD_MACOS_VERSION != "development"eBUILD_PLATFORM == "macOS", sem checar a plataforma real em que o app está rodando. Como o arquivo é estático e esses valores nunca mudam, o rodapé mostra "Compilado para macOS 26.3.1 (25D2128)" mesmo rodando em Linux, Windows, ou numa build de desenvolvimento local, qualquer que seja a plataforma real.Isso também afeta a versão exibida no título da página.
version.pysó lêpyproject.tomlquando esse arquivo existe (rodando a partir do código-fonte). Num executável empacotado, sempyproject.tomlembutido, cai no mesmobuild_info.APP_VERSIONestático ("1.10"), desacoplado da versão real declarada empyproject.toml(hoje "0.2.0"). Ou seja, atualizar a versão empyproject.tomlnão tem nenhum efeito no título de um binário já empacotado, seria preciso reempacotar com umbuild_info.pyatualizado manualmente.Os PRs #17 e #19 (abertos, ainda não mesclados) já propõem substituir esse arquivo estático por detecção de plataforma/versão em tempo de execução, na mesma linha do que este problema descreve.
Passos para reproduzir o problema
spsvalidator --browserem Linux).Comportamento esperado
O rodapé deveria refletir a plataforma e a versão reais de onde o app está rodando, ou indicar claramente que é uma build de desenvolvimento (como o código já faz corretamente quando
build_info.pyestá ausente ou em "development"). A versão exibida no título deveria vir de uma única fonte de verdade, opyproject.toml, ou umbuild_info.pygerado automaticamente a cada empacotamento, não de um arquivo estático desatualizado commitado no repositório.Screenshots ou vídeos
N/A
Anexos
N/A
Ambiente utilizado
spsvalidator --browser