Skip to content

Commit 06a88b0

Browse files
authored
release(mobile): Release v0.2.1
release(mobile): Release v0.2.1
2 parents 3149bda + 7a14536 commit 06a88b0

5 files changed

Lines changed: 48 additions & 8 deletions

File tree

apps/mobile/changelog/0.2.1.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# What's New in v0.2.1
2+
3+
## Shiny new things
4+
5+
- Video playback is now supported in both the entry list and entry view (#3798 #3816)
6+
- AI summaries can be rendered in Markdown (bf7193d)
7+
8+
## Improvements
9+
10+
- Gradually rolling out an experimental unified local database for mobile and desktop (#3809)
11+
- Added a “Mark as read” option to the long-press menu in lists (7c4b896)
12+
- RSSHub routes list now shows popularity scores and sorts by them (9c3457a)
13+
- Polished the RSSHub route detail page and added “Top Feeds” (6a51c8f)
14+
- Feed-subscription page now displays feed analytics (2c27d91)
15+
- Trending list now shows subscriber counts (bdb6802)
16+
- AI will skip summarising extra-short articles to avoid trivial summaries (63388b4)
17+
18+
## No longer broken
19+
20+
- AI-summary component now correctly spans full width (2612f9)
21+
- Fixed icon-colour issues in dark mode (c7be63b)
22+
- Fixed misaligned icons (75c9f80)
23+
- Fixed occasional transparency on the bottom navigation bar (#3867)

apps/mobile/ios/Folo/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<key>CFBundlePackageType</key>
3333
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
3434
<key>CFBundleShortVersionString</key>
35-
<string>0.2.0</string>
35+
<string>0.2.1</string>
3636
<key>CFBundleSignature</key>
3737
<string>????</string>
3838
<key>CFBundleURLTypes</key>
@@ -52,7 +52,7 @@
5252
</dict>
5353
</array>
5454
<key>CFBundleVersion</key>
55-
<string>108</string>
55+
<string>109</string>
5656
<key>ITSAppUsesNonExemptEncryption</key>
5757
<false/>
5858
<key>LSApplicationCategoryType</key>

apps/mobile/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@follow/mobile",
3-
"version": "0.2.0",
3+
"version": "0.2.1",
44
"private": true,
55
"main": "src/main.tsx",
66
"scripts": {

apps/mobile/src/modules/discover/Recommendations.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ export const RecommendationTab: TabComponent<{
129129
const discoverLanguage = useUISettingKey("discoverLanguage")
130130

131131
const { data, isLoading } = useQuery({
132-
queryKey: ["rsshub-popular", "cache", tab.value],
132+
queryKey: ["rsshub-popular", "cache", tab.value, discoverLanguage],
133133
queryFn: () =>
134134
fetchRsshubPopular(tab.value, LanguageMap[discoverLanguage]).then((res) => res.data),
135135
staleTime: 1000 * 60 * 60 * 24, // 1 day

apps/mobile/src/modules/entry-content/EntryAISummary.tsx

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
import { parseHtml } from "@follow/components/ui/markdown/parse-html.ts"
12
import { useEntry } from "@follow/store/entry/hooks"
23
import { SummaryGeneratingStatus } from "@follow/store/summary/enum"
34
import { usePrefetchSummary, useSummary } from "@follow/store/summary/hooks"
45
import { useSummaryStore } from "@follow/store/summary/store"
56
import { useAtomValue } from "jotai"
67
import type { FC } from "react"
7-
import { useMemo } from "react"
8+
import { useCallback, useMemo } from "react"
89
import { Text } from "react-native"
910

1011
import { useActionLanguage, useGeneralSettingKey } from "@/src/atoms/settings/general"
@@ -21,14 +22,30 @@ export const EntryAISummary: FC<{
2122
const showReadability = useAtomValue(ctx.showReadabilityAtom)
2223
const showAISummaryOnce = useAtomValue(ctx.showAISummaryAtom)
2324
const showAISummary = useGeneralSettingKey("summary") || showAISummaryOnce
24-
const entryReadabilityContent = useEntry(entryId, (state) => state.readabilityContent)
25+
const entry = useEntry(
26+
entryId,
27+
useCallback(
28+
(state) => {
29+
const content = showReadability ? state.readabilityContent : state.content
30+
const target =
31+
showReadability && state.readabilityContent ? "readabilityContent" : "content"
32+
const textLength = content ? parseHtml(content).toText().length : 0
33+
34+
return {
35+
target,
36+
isShortContent: textLength < 100,
37+
} as const
38+
},
39+
[showReadability],
40+
),
41+
)
2542
const summary = useSummary(entryId)
2643
const actionLanguage = useActionLanguage()
2744
usePrefetchSummary({
2845
entryId,
29-
target: showReadability && entryReadabilityContent ? "readabilityContent" : "content",
46+
target: entry?.target || "content",
3047
actionLanguage,
31-
enabled: showAISummary,
48+
enabled: showAISummary && !entry?.isShortContent,
3249
})
3350
const summaryToShow = useMemo(() => {
3451
const maybeMarkdown = showReadability

0 commit comments

Comments
 (0)