Compare commits

..
2 Commits
Author SHA1 Message Date
ginnoir 48063e4b7f chore: release v0.4.4
Release / build-and-push (push) Has been cancelled
2026-06-02 03:48:52 -05:00
ginnoir 6eab68560e fix(garden): remove trailing slashes from openplantbook api urls and update label
Trailing slashes on /plant/search/ and /plant/detail/ caused Django to
return an HTML redirect page instead of JSON. SDK uses no trailing slashes.

Also updates the helper text to reference OpenPlantBook instead of Perenual.
2026-06-02 03:48:38 -05:00
4 changed files with 11 additions and 5 deletions
+6
View File
@@ -1,5 +1,11 @@
# Changelog
## [0.4.4](https://github.com/ginnoir/famapp/compare/v0.4.3...v0.4.4) (2026-06-02)
### Bug Fixes
- **garden:** remove trailing slashes from openplantbook api urls and update label ([c744921](https://github.com/ginnoir/famapp/commit/c744921e6cfcf0269992cfd9afea47cc55082602))
## [0.4.3](https://github.com/ginnoir/famapp/compare/v0.4.2...v0.4.3) (2026-06-02)
### Bug Fixes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "famapp",
"version": "0.4.3",
"version": "0.4.4",
"private": true,
"type": "module",
"packageManager": "pnpm@10.33.3",
+1 -1
View File
@@ -156,7 +156,7 @@ export function PlantForm({ existingPlant, defaultContainerId, containers }: Pro
initialValue={existingPlant?.scientificName ?? ""}
/>
<p className="text-xs text-[var(--ink-mute)]">
Search Perenual to auto-fill scientific name and care notes.
Search OpenPlantBook to auto-fill scientific name and care notes.
</p>
</div>
+3 -3
View File
@@ -75,12 +75,12 @@ export async function searchSpecies(query: string): Promise<SpeciesSuggestion[]>
if (!token) return [];
try {
const url = `${BASE_URL}/plant/search/?alias=${encodeURIComponent(query)}&limit=20`;
const url = `${BASE_URL}/plant/search?alias=${encodeURIComponent(query)}&limit=20`;
const res = await fetch(url, {
headers: { Authorization: `Bearer ${token}` },
cache: "no-store",
});
if (!res.ok) throw new Error(`OpenPlantBook search error: ${res.status}`);
if (!res.ok) throw new Error(`OpenPlantBook search error: ${res.status} ${res.url}`);
const json = (await res.json()) as { results?: unknown[] };
if (!Array.isArray(json.results)) return [];
@@ -116,7 +116,7 @@ export async function getSpeciesById(id: string): Promise<SpeciesSuggestion | nu
if (!token) return null;
try {
const url = `${BASE_URL}/plant/detail/${encodeURIComponent(id)}/?include=care`;
const url = `${BASE_URL}/plant/detail/${encodeURIComponent(id)}?include=care`;
const res = await fetch(url, {
headers: { Authorization: `Bearer ${token}` },
cache: "no-store",