Historia wersji dodatku iNaturalist Metadata Tool — 9 wersji
iNaturalist Metadata Tool Autor: Megachile
Historia wersji dodatku iNaturalist Metadata Tool — 9 wersji
Zachowaj ostrożność podczas używania starych wersji! Są one wyświetlane w celach testowych i historycznych.Zawsze powinno używać się najnowszej wersji dodatku.
Najnowsza wersja
Wersja 3.3.8
Data wydania: 26 lip 2026 — 246,28 KBDziała z: firefox 109.0a1 i nowsze, android 120.0 i nowszeThree forum-reported issues, plus a set of bulk annotation undo bugs found while testing them.
Added
Annotation disagreements are now visible (#59, requested by @rcavasin) — when a conflicting annotation is already present and isn't yours to replace, iNaturalist only records your click as a downvote; the annotation you configured is never added. That used to flash green like any success, which is invisible if you annotate by keyboard shortcut with the Info tab open. The button now flashes amber and names both values. Bulk actions get a matching "Recorded as a downvote only" section listing each affected observation. Deliberate downvotes (the "Downvote (disagree with)" checkbox) are unaffected.
Observation fields can be selected by ID (#60, reported by @ariellopezpics) — the Field ID box is no longer read-only; type an ID and the name fills in. Also wired into both ends of Copy Observation Field.
The bulk action controls can be moved and hidden (#61, reported by @bradbarnd) — hover for a ☰ grip, drag anywhere, snaps to the nearest corner and remembers it. Shift+V (or a new checkbox under Bulk Action Settings) hides the whole cluster, and that now persists.
Fixed
Observation field search missed exact matches (#60) — searching date never offered the field actually called "Date" (ID 108); the API ranks by usage and only 10 results were requested, putting the exact match ~30th.
The bulk controls covered the iNaturalist logo (#61) — they were anchored opposite the main buttons, so the default position pushed them over the logo. Alt+N now rotates both clusters together, preserving their arrangement.
Undoing a bulk annotation did nothing — the undo record never captured the new annotation's identifier, so every annotation undo failed with "Annotation UUID not found".
Undoing a replaced annotation discarded the original value — Alive → Dead → undo left the observation with no annotation instead of restoring Alive.
Undoing could remove a vote you cast yourself — undo now restores a vote's original direction, only withdraws votes the action created, and leaves votes alone when it can't tell.
Custom button order could be saved with invalid entries — saveButtonOrder existed twice and the surviving copy had lost its safeguards.
Manually entered field IDs can no longer be saved unconfirmed, which previously paired a new ID with the previous field's name and datatype.
Changed
Removed 49 unreferenced functions (~1,100 lines), including a complete duplicate of the bulk results path that nothing called. A new test fails the build if dead code or duplicate declarations reappear.Licencja kodu źródłowego: Licencja MIT
Poprzednie wersje
Wersja 3.3.7
Data wydania: 10 lip 2026 — 246,54 KBDziała z: firefox 109.0a1 i nowsze, android 120.0 i nowszeNew action: "Agree with Community ID" (#58) — posts an identification matching each observation's community taxon (falls back to the leading taxon when there's no consensus yet), resolved per-observation at run time. Skips observations with nothing to agree with, or where you already hold that identification.
Fixed: bulk identification undo now works — undoing "Add Taxon ID" (and the new Agree) deletes the posted identification and restores the one it auto-withdrew. Previously the undo record never captured the posted ID's UUID, so undo silently did nothing.
Fixed: Mac Cmd+click in bulk mode now opens the observation modal like Ctrl+click on Windows/Linux (#56).
Hardened: an unrecognized action type now fails gracefully per-observation instead of crashing the whole batch.Licencja kodu źródłowego: Licencja MIT
Wersja 3.3.6
Data wydania: 1 lip 2026 — 245,14 KBDziała z: firefox 109.0a1 i nowsze, android 120.0 i nowszeThe taxon autocomplete ↗ link was dead (residual from #56, reported by @bazwal on Firefox/Linux). After v3.3.5 moved suggestion selection to mousedown, the ↗ "open taxon page" link still relied on an <a> element, which only activates on click. Because click fires after the input blurs, the ~200 ms blur teardown could remove the link before the click landed — so clicking ↗ just closed the dropdown and did nothing. The link is now a <span> opened programmatically via window.open inside the mousedown handler (which fires before blur), so both selecting a taxon and opening its page are timing-independent.
Taxa with no photo showed a broken-image icon. The suggestion thumbnail fell back to a placeholder.jpg that isn't bundled with the extension. No-photo taxa (and images that fail to load) now render a neutral gray placeholder rectangle sized to match the thumbnail, keeping row height and text alignment consistent.Licencja kodu źródłowego: Licencja MIT
Wersja 3.3.5
Data wydania: 30 cze 2026 — 244,53 KBDziała z: firefox 109.0a1 i nowsze, android 120.0 i nowszeTwo bug fixes.
Fixed
"Enable Bulk Action Mode" button went off-screen when cycling button positions. The button only showed at the default bottom-right corner and disappeared at every other Alt+N position. It kept a stale position: fixed left over from before all bulk UI was moved into #bulk-ui-wrapper, so as a child of that wrapper it anchored to the viewport instead of following it. The button now flows inside the fixed wrapper and follows it to whichever corner it moves to.
Clicking a taxon autocomplete suggestion could fail to register. The suggestion list is hidden ~200 ms after the input blurs, and selection ran on click (which fires after blur), so the list could be gone before the click landed. Selection now runs on mousedown with preventDefault — it fires before blur and keeps the input focused, so picks register reliably. The suggestion markup was also simplified, with the taxon page moved to a small ↗ link.Licencja kodu źródłowego: Licencja MIT
Wersja 3.3.4
Data wydania: 11 cze 2026 — 244,53 KBDziała z: firefox 109.0a1 i nowsze, android 120.0 i nowszeFreely movable & resizable button cluster (#54)
The on-page button cluster can now be moved and resized freely, beyond the four corner presets.
New
Drag to move — grab the ☰ grip to place the cluster anywhere; position is remembered.
Drag to resize — corner grip sets the cluster width; the size is remembered and overrides the max-width cap.
Gear menu — the rarely-used Sort / Edit Layout / Set-picker controls now tuck behind a ⚙ gear instead of taking permanent space. Click to open, click away to close.
Quiet by default — the grip and gear stay hidden until you hover the buttons, then enlarge and darken so they're easy to grab.
Alt+N still cycles the corner presets and now also resets a free move/resize back to a corner.
Robustness
Stays clear of the scrollbar and never clips off-screen; saved layout re-clamps into view on window resize.
Sort/edit/set controls snap to the side/edge nearest the cluster.
Resize uses a min-height floor so buttons never spill past the box.
Under the hood
23 new tests; full suite 309 passing. No new permissions.Licencja kodu źródłowego: Licencja MIT
Wersja 3.3.3
Data wydania: 6 cze 2026 — 241,28 KBDziała z: firefox 109.0a1 i nowsze, android 120.0 i nowszeAdded
iNaturalist Network multi-node support (#51) — the buttons and shortcuts now work on every iNaturalist Network site (iNaturalist Australia / inaturalist.ala.org.au, mexico.inaturalist.org, naturalista.uy, argentinat.org, biodiversity4all.org, and the rest), not just www.inaturalist.org. The whole Network shares one account system and one API, so your existing login just works on whichever site you use. User-facing links (Identify/Explore, the URL builder) now stay on the node you're actually on.
"All places" toggle in the URL builder — regional sites default to their own country when no place is set; tick this to add place_id=any and keep a query global. (Ignored if you've added a specific Place filter.)
Fixed
Editing an "Add Taxon ID" button wiped the taxon (#52) — opening a saved Add Taxon ID action and clicking Update Configuration failed with "Please select a valid taxon…" until you re-picked the taxon. The id is now preserved on edit.
URL builder Location Accuracy labels were dead clicks (#53) — only the radio dots responded; the Any/True/False labels are now clickable and the Accuracy Above/Below labels sit on their number inputs.
URL builder Geoprivacy couldn't be cleared (#53) — Geoprivacy and Taxon Geoprivacy now have an "Any" option, so you can return to no filter after selecting one.Licencja kodu źródłowego: Licencja MIT
Wersja 3.3.2
Data wydania: 31 maj 2026 — 239,84 KBDziała z: firefox 109.0a1 i nowsze, android 120.0 i nowszeFixed
Editing a multi-action configuration could blank a selection and fail to save (#50) — when a configuration had more than one action, the "Mark as Reviewed/Unreviewed" (and "Follow/Unfollow") radio buttons could silently lose their selection, and then Update Configuration threw Cannot read properties of null (reading 'value'). The radios used hardcoded name/id attributes, so every action's radios shared one document-wide radio group and cleared each other. Each action now gets a unique radio-group name/id, and the save reads are null-guarded with a sensible default. Thanks to @sbrobeson for the precise repro that pinpointed the cause.
macOS Alt(Option) keyboard shortcuts did nothing (#49) — e.g. Alt+N to rotate buttons. On macOS, Option turns the keystroke into a special character, so event.key was no longer the letter the shortcut was matching against. Shortcuts now fall back to event.code (the physical key) when Alt is held.
Mojibake on the options page — the expand/collapse arrows on existing configuration items (and a few other glyphs) rendered as â–¼ because options.html had no <meta charset>, so the browser decoded options.js as Windows-1252 instead of UTF-8. Added <meta charset="UTF-8">.
Added
Firefox for Android support (#47) — added browser_specific_settings.gecko_android to the manifest so the extension can be installed on Firefox for Android.Licencja kodu źródłowego: Licencja MIT
Wersja 3.3.1
Data wydania: 29 maj 2026 — 250,25 KBDziała z: firefox 109.0a1 i nowsze~8× faster bulk actions. A 200-obs OF bulk dropped from ~4–5 minutes to ~33 seconds via parallel validation, prevention, and per-obs action loops, plus a v2 selective-fields prefetch and elimination of unused waits.
Downvote-existing-annotation action. New checkbox on the annotation action panel: downvote the matching existing annotation instead of trying to add a new one. Useful for cleanup workflows.
URLgen state persistence. All your URL-builder settings (quality grade, reviewed, licenses, bbox, custom lists, action boxes) now actually persist across sessions. Previously only action boxes did.
URLgen default state is now all three quality grades + reviewed=any (was just research-grade + reviewed=no).
Bug fixes: 429 cascade on addAnnotation, silent undo-record loss past 10 MB, v2 prefetch subfield gap, dead-code cleanup.
Fixed
Project dropdown surfaces common-word projects (#48) — lookupProject now queries iNaturalist's relevance-ranked /projects/autocomplete endpoint instead of the general /projects search sorted by observation_count (which came back null, so the sort was meaningless and buried matches past per_page). Typing "blue" now finds the project Blue!.
Added
Manual project ID entry (#48) — the Project ID field is no longer read-only. Typing an ID resolves it via the new lookupProjectById helper and auto-fills the project name (inline success/error feedback), as an escape hatch for any project the dropdown still can't surface.Licencja kodu źródłowego: Licencja MIT
Wersja 3.2.3
Data wydania: 10 maj 2026 — 235,77 KBDziała z: firefox 109.0a1 i nowszePatch release: remove third-party CDN dependency.
Discovered during the Chrome Web Store submission pass that URLgen.html loaded FontAwesome from cdnjs.cloudflare.com at runtime — meaning Cloudflare saw users' IPs every time the URL filter generator opened. This contradicted the privacy policy's claim of no third-party hosts beyond iNaturalist (and GitHub for explicit issue-reporter clicks).
Removed
The remote cdnjs.cloudflare.com stylesheet link from URLgen.html.
Changed
The two draw-control icons on the URL filter generator's map are now inline SVGs in URLgen.js, using currentColor so they inherit Leaflet's control styling. Zero additional payload; no font files; no remote loads.
Note on .fa-* references in content.js
Unchanged — those query iNaturalist's own page DOM (iNat already loads FontAwesome on its pages). We never needed to ship the library ourselves for those references.Licencja kodu źródłowego: Licencja MIT