(kind, busy)
| 1648 | .map((item) => String(item || "").trim()) |
| 1649 | .filter((item) => item && /^[a-z-]+(\.[A-Z]{2})?$/i.test(item)) |
| 1650 | .slice(0, 4); |
| 1651 | if (categories.length) return categories; |
| 1652 | const fallback = [paper?.primary_category, paper?.arxiv_category, paper?.category] |
| 1653 | .map((item) => String(item || "").trim()) |
| 1654 | .filter((item) => item && item !== "unknown" && item !== "cached"); |
| 1655 | if (fallback.length) return fallback.slice(0, 3); |
| 1656 | return [paper?.source || ui().papers.sourceFallback].filter(Boolean); |
| 1657 | } |
| 1658 | |
| 1659 | function setStatus(message) { |
no test coverage detected