Hugging Face
Models
Datasets
Spaces
Buckets
new
Docs
Enterprise
Pricing
Website
Tasks
HuggingChat
Collections
Languages
Organizations
Community
Blog
Posts
Daily Papers
Hardware
Learn
Discord
Forum
GitHub
Solutions
Team & Enterprise
Hugging Face PRO
Enterprise Support
Inference Providers
Inference Endpoints
Storage Buckets
Log In
Sign Up
Spaces:
Duplicated from
bep40/bongdaplus-news
bep40
/
VNEWS
like
0
Running
App
Files
Files
Community
58
Fetching metadata from the HF Docker repository...
Upload CHANGELOG.md
#57
by
bep40
- opened
28 days ago
base:
refs/heads/main
←
from:
refs/pr/57
Discussion
Files changed
+478
-10381
Squash main
4b6e868e
Restore to commit 1098f70: Fix VTV popup URLs v10
0635de3e
Fix: Optimize shorts scraper - 35s timeout, 30min cache, fallback to prevent homepage blocking
ad95efe6
Upload static/app_v2.js with huggingface_hub
4a48d3eb
Upload yt_scraper.py with huggingface_hub
13f22207
Upload main.py with huggingface_hub
81ec5f2f
Upload main.py
2d4dd0f6
Upload yt_scraper.py
dd411534
Upload yt_scraper.py
df68dfe6
Restore yt_scraper.py from commit 1098f70 (yt-dlp based, working)
8ae59c77
Restore app_v2.js from commit 1098f70 (full homepage with Shorts section)
56256914
Add shorts_cache.py - runtime cache module for external updater
8bea5bd8
Add /api/shorts/update + /api/shorts/status endpoints, prioritize runtime cache in scrape_shorts
5ed2bc00
Upload shorts_updater.py with huggingface_hub
f7e76670
Upload _run.py with huggingface_hub
9fe36a24
Upload CHANGELOG.md with huggingface_hub
281b3249
Upload shorts_updater.py with huggingface_hub
5eed590f
Upload _run.py with huggingface_hub
f6a3cb4e
Upload shorts_updater.py with huggingface_hub
dd2e509c
Upload _run.py with huggingface_hub
a513f146
Upload shorts_updater.py with huggingface_hub
d3ef1d79
Upload shorts_updater.py with huggingface_hub
16ae8f44
Upload shorts_updater.py with huggingface_hub
97766fe9
Upload shorts_config.json with huggingface_hub
89eba641
Upload static/shorts_fresh_fetch.js with huggingface_hub
5a49c717
Upload static/index_v2.html with huggingface_hub
2ca63d3b
Upload static/shorts_fresh.js with huggingface_hub
1d8b1ca7
Delete static/shorts_fresh_fetch.js with huggingface_hub
6db3bccd
Upload static/index_v2.html with huggingface_hub
e8f1d9eb
Upload static/shorts_fresh.js with huggingface_hub
c0d9cada
Upload static/index_v2.html with huggingface_hub
be2b94cd
Upload .rebuild with huggingface_hub
1818c695
Upload static/index_v2.html with huggingface_hub
88d7be8e
Upload static/shorts_fresh.js with huggingface_hub
89e3a15e
Upload .rebuild with huggingface_hub
6d262bdf
Delete shorts_updater.py with huggingface_hub
636795b2
Delete static/shorts_fresh.js with huggingface_hub
ea46a09e
Delete shorts_config.json with huggingface_hub
58987f29
Upload _run.py with huggingface_hub
0db6aeb0
Upload static/index_v2.html with huggingface_hub
95b836c8
Upload .rebuild with huggingface_hub
67767244
Upload static/shorts_fresh.js
e9b0a823
Upload .rebuild
70fa1112
Upload .rebuild
fe548a34
Delete static/index_v2.html
1caa0d8f
Upload static/index_v2.html
8f948b97
Upload .rebuild
a8c31b83
Upload static/shorts_fresh.js
1daebb98
Upload .rebuild
0346980d
Upload static/shorts_fresh.js
09c57c1d
Upload shorts_rss_proxy.py
6034d3ae
Upload shorts_rss_proxy.py
395e02a5
Upload static/shorts_fresh.js
b37dc7b3
Upload _run.py
906bc4fb
Upload .rebuild
bcd3b915
Upload shorts_rss_proxy.py
d4037159
Upload static/shorts_fresh.js
c82b5789
Upload wall_cleanup.py
d1c460dc
Upload _run.py
2ef0d432
Upload wall_cleanup.py
d376c093
Upload static/shorts_fresh.js
547080f8
Upload static/wall_24h_filter.js
60c9b787
Upload static/shorts_fresh.js
87aa7ba0
Upload static/shorts_fresh.js
36390e57
Upload static/wall_24h_patch.js
2ef06e76
Upload static/index_v2.html
8a899972
Upload static/wall_24h_patch.js
580bd3b3
Upload wall_24h_api.py
4ffeb5af
Upload _run.py
f656f3f7
Upload static/wall_24h_patch.js
7d0b7b18
Upload .rebuild
1c6d6734
Upload static/index_v2.html
cdb744da
Upload .rebuild
9e437afb
Upload static/index_v2.html
c8b9976e
Upload static/index_v2.html
475084ff
Upload wall_24h_api.py
aa39f040
Upload static/index_v2.html
21efac93
Upload wall_24h_api.py
0e66c094
Delete static/wall_24h_filter.js with huggingface_hub
42b480f9
Delete wall_24h_api.py with huggingface_hub
b60d6166
Delete static/wall_24h_patch.js with huggingface_hub
a45b872f
Delete wall_cleanup.py with huggingface_hub
0091eb32
Delete _run.py with huggingface_hub
3c472139
Delete .rebuild with huggingface_hub
e8c86eb4
Delete shorts_rss_proxy.py with huggingface_hub
4f13e56f
Delete static/shorts_fresh.js with huggingface_hub
b304519b
Delete static/index_v2.html with huggingface_hub
d72ac7a6
Upload _run.py with huggingface_hub
3efc7db8
Upload .rebuild with huggingface_hub
dac3747d
Upload shorts_rss_proxy.py with huggingface_hub
541d71ee
Upload static/index_v2.html with huggingface_hub
6386d511
Upload static/shorts_fresh.js with huggingface_hub
86ddfc86
Upload vtv_api.py
48e2e2a1
Upload static/app_v2.js with huggingface_hub
53420bf9
Upload main.py with huggingface_hub
83297ab9
Upload static/shorts_fresh.js with huggingface_hub
c48e790c
Upload .restart_trigger with huggingface_hub
d0039b52
fix: swap xemtivitop primary, remove Dantri/SKDS shorts from shorts_rss_proxy.py
2eb00836
fix: swap xemtivitop primary, remove Dantri/SKDS shorts from yt_scraper_fixed.py
1248ff63
fix: swap xemtivitop primary, remove Dantri/SKDS shorts from yt_scraper.py
aa0dcfd3
fix: swap xemtivitop primary, remove Dantri/SKDS shorts from vtv_api.py
89eefeec
Upload vtv_api.py
a922f94d
Upload vtv_api.py with huggingface_hub
45b83ffa
Upload static/app_v2.js with huggingface_hub
c5ba3024
Upload .rebuild with huggingface_hub
d3ae9098
Upload vtv_api.py with huggingface_hub
78cff778
Upload static/wc2026_v2.js with huggingface_hub
726bf0cd
Upload static/app_v2.js with huggingface_hub
06ba96b0
Upload static/shorts_fresh.js with huggingface_hub
9fa3ca13
Upload .rebuild with huggingface_hub
a098253b
Upload .rebuild with huggingface_hub
2b7cb4bc
Upload .restart_trigger
b601633d
Upload .rebuild
5f12c89b
Restore main.py to commit 48e2e2a
807af4b6
Restore 4 files to commit 48e2e2a
f3ff3773
Trigger Space rebuild after restore
0c0140d0
VTV Digital CDN primary source for VTV1-VTV9 streams
243c3f3f
Upload static/app_v2.js
933872ac
fix: restore VTV Digital CDN ssaimh URLs + xemtivitop dynamic scraping from commit 48e2e2a
21f2306e
fix: remove Dantri/SKDS shorts completely, clean up main.py
e4bd817d
fix: remove Dantri/SKDS shorts slider from homepage loadHome()
02f8c17d
FIX: add loadHome() call - was missing, causing homepage to hang on 'Đang tải...'
7aa2274b
FIX: restore wc2026_v2.js from commit 48e2e2a - was corrupted with orphaned code fragments
45f2f9e9
Upload static/app_v2.js
b1730caa
Upload main.py
44eb5169
Upload static/shorts_fresh.js
13bbb980
Upload static/app_v2.js
abb5f67b
Upload static/index_v2.html
616edb9a
Upload .huggingface/rebuild
aee8f58a
Upload .rebuild
25b1b3db
Clean _run.py: remove shorts RSS proxy setup (Dantri/SKDS removed per user request)
368e8fa0
Trigger rebuild: clean _run.py, remove shorts RSS proxy
cb2d0b67
Update README: v17 shorts Dantri/SKDS removed, VTV ssaimh primary
95294710
Trigger rebuild: v17 shorts Dantri/SKDS removed, VTV ssaimh primary, _run.py clean
c11e1f09
Upload vtv_api.py
56065a5a
Restore: slide rewrite AI + share btn in article, 16:9 toggle on highlight/shorts view, add sv2.xemtivitop.com PHP stream source
3c8dce76
Restore: slide rewrite AI + share btn in article, 16:9 toggle on all TikTok slides, sv2.xemtivitop.com PHP stream source
704453d3
Restore features: AI slide rewrite + share button in article view, 16:9 toggle in TikTok feed, sv2.xemtivitop.com backup stream source
fa889d5e
Upload static/app_v2.js
d2b937e5
Upload vtv_api.py
aa3212a7
Upload vtv_api.py
3b3112ae
Upload static/app_v2.js
2c48c31c
Upload static/app_v2.js
402f2854
Upload vtv_api.py
10377bd1
Upload Dockerfile
098473e1
Upload .huggingface/rebuild
42642fcc
Upload README.md
20fca479
Upload requirements.txt
be2576c3
Upload vtv_api.py
11415327
Upload .huggingface/rebuild
a06d9b20
Restore .huggingface/rebuild to state at commit be2576c3f86d
9538ac67
Restore vtv_api.py to state at commit be2576c3f86d
538a1486
Trigger rebuild: restored vtv_api.py and .huggingface/rebuild to commit be2576c3f86d state
98d3241a
Restore to commit 20fca4799c3248c51a4da0b6cb98ba9016b73578
a46d62d3
Upload vtv_api.py
1a637e49
Trigger rebuild for VTV stream fix
1a549ebe
Trigger VTV stream fix rebuild: sv2.xemtivitop.com forced for VTV6, prioritized for VTV2/VTV3/VTV9
eb3fea04
Fix VTV6 stream + fix click tabs vtv2/vtv3/vtv9 (#34)
1ff2314f
Trigger rebuild after PR #34 merge
8e779434
Force rebuild after VTV6 fix merge
db6c25ce
Bump rebuild trigger for Docker Space deploy
ed6585ba
Bump Dockerfile build comment to force Docker Space rebuild with VTV6 fixes
41b5e32b
Force space restart to deploy VTV6 fixes
dc3d9044
Add vtv_init.js - auto-renders VTV player into homepage DOM
ec28a468
Add vtv_init.js script to load VTV player on homepage
be4a592b
Load vtv_init.js on homepage to render VTV player
0d2cfec5
Load vtv_init.js to render VTV player on homepage
1757088a
Upload static/vtv_init.js
2e81a6d9
Load vtv_init.js to render VTV player on homepage
54b9290a
Fix vtv_init.js - proper JS injecting VTV player into homepage
3808e537
Load vtv_init.js to render VTV player on homepage
cd719878
Verify vtv_init.js content
344d1c4a
Rewrite vtv_init.js as self-contained VTV player using backend API - no dependency on yt_live.js IIFE scope
6c5f754c
Trigger rebuild - updated vtv_init.js loads VTV player on homepage with backend API
08a2c5da
Fix vtv_init.js: add self-contained CSS, fix HLS loading, better error handling
df310bf8
Trigger rebuild - vtv_init.js v3 with self-contained CSS + better error handling
594306a3
Fix vtv_init.js: always proxy stream URLs + fix CSS z-index/display conflicts
a81951c3
Trigger rebuild - vtv_init.js v4 with always-proxy and inline CSS
62f90dd1
Upload vtv_api.py
b9580035
Upload static/vtv_init.js
4750386d
Upload Dockerfile
a3de2588
Upload .rebuild
4c3fb0f1
FIX: Nâng cấp vtv_api.py - extract sv2 + fallback chain cho VTV6, thêm patterns mới
c18d777a
rebuild
f5ef2ebb
rebuild trigger
84e2872b
FIX v2: Massive decode_sv2_script with 23 techniques. SV2_ONLY_CHANNELS removed, VTV6 added to SV2_PRIORITY_CHANNELS with fallback
61a0f483
Trigger rebuild for VTV fix v2
99f91b3f
Trigger rebuild: VTV Player v6 professional UI + stream fix
719a835c
VTV stream fix: add direct FPTPlay + VTVGo + mediacdn CDN with verification. Add long timeout retry and CDN health check at startup.
54c77fe7
VTV Player v6: Professional UI + real-time EPG + stream fix. vtv_init.js rewritten completely.
c5819ec2
Upload vtv_api.py
d981a298
Upload vtv_scraper.py
5f716f3b
Update timezone to +17 and optimize VTV stream sources
96669d43
Restart Space for changes to take effect
d393750c
Upload vtv_api.py
e9c69622
Upload static/vtv_init.js
d3186bd8
Upload .rebuild
92dfcf3f
Upload .restart_trigger
1014c58a
Upload main.py
46f60a98
Upload .rebuild
648e0ffb
Upload vtv_api.py
4f6b2e5b
Upload .rebuild
9a1b1649
vtv_api.py v2: direct FPTPlay CDN URLs, skip server-side verify (403 from outside VN)
d596a392
Upload static/vtv_init.js
f361d3de
Upload .rebuild
cd43411d
v3: GMT+0, VTV6 priority URL (vtvgolive-ssaimh), per-channel EPG slug
08a5832b
v3: VTV6 default, VTV6 first in tabs, GMT+0 clock
379ce031
v3: GMT+0 for VN_TZ
740f968a
v3: GMT+0 VN_TZ (full restore)
0934f8a1
v4: Fix EPG + VTV6 stream. EPG: vtvgo API primary, multi-source fallback. VTV6: proxy vtvdigital through server, add FPTPlay fallback.
b10f6373
v4: VTV6 uses server proxy for CORS-broken vtvdigital CDN, FPTPlay fallback
d85f6933
v4: trigger rebuild
f629e6c4
restore from commit 719a835ce: .restart_trigger
18879bd9
restore from commit 719a835ce: .rebuild (vtv v6 pro UI + stream cdn fix)
2d8c6856
restore from commit 719a835ce: main.py (VN_TZ=7, vtv v6 pro UI)
61cd00e9
restore from commit 719a835ce: static/vtv_init.js (VTV Player v6 — Professional UI + Real-time EPG)
965ade48
v5: VTV player v7 — M3U multi-source, auto-fallback, XMLTV EPG
1e4c3745
v5: VTV player from M3U with multi-source fallback + XMLTV EPG
6c3d63a9
trigger rebuild v5
5879c8e5
v5: fix EPG parsing — gzip.decompress for 48MB XMLTV + iterparse
0c47ead3
trigger rebuild v5 EPG fix
c8b47b9d
trigger rebuild v5 EPG bg thread
5acc870c
v5: EPG background thread + disk cache, gunzip CLI fix for 48MB XMLTV
11bb7008
Pre-parsed XMLTV EPG data for VTV channels
5b206816
v5: EPG from pre-parsed JSON — no more 48MB XML parsing
89bfdc61
trigger rebuild v5 EPG from bundled JSON
480a91e1
Khôi phục vtv_api.py từ commit 719a835ce + thêm ngày tháng cho EPG
3f4c5a76
Sửa timezone bug (dùng Intl.DateTimeFormat Asia/Ho_Chi_Minh thay vì +7*3600000) + thêm ngày tháng cho EPG
42168ec6
trigger rebuild
9a195afe
Chuyển sang sv2 iframe embed cho VTV1-10 + proxy vượt CORS
b225add1
Chuyển sang iframe sv2 cho player, vừa với frame
f78314fc
Khôi phục vtv_api.py từ commit 719a835ce (VTV Player v6 — multi-source CDN chain)
549061ba
Khôi phục static/vtv_init.js từ commit 719a835ce (HLS.js player — không iframe)
be43d186
Trigger rebuild — khôi phục từ commit 719a835ce
61cb2019
rebuild trigger — khôi phục vtv_api.py + vtv_init.js gốc từ 719a835ce
14b779e6
Force rebuild — bump CMD timestamp
510c2bc9
Thêm sv2 iframe proxy + sửa vtv_init.js dùng iframe embed EPG + date cho programs
82e20fc1
Thêm sv2 iframe embed cho VTV1-10 + proxy + EPG date fix
07729f63
Trigger rebuild — sv2 iframe + proxy
88b8f757
Force rebuild — sv2 iframe embed cho VTV1-10 + proxy
dcf9cf7f
feat: add Love4vn M3U FLV streams + proxy for VTV channels
e0c62861
Upload static/vtv_init.js
18131819
Upload static/vtv_init.js
b22fe511
Upload vtv_api.py
888d7bf3
Upload .rebuild
3561f69f
Upload static/vtv_init.js
b499eb23
Upload vtv_api.py
3deaa556
Upload .rebuild
6a4ad33e
Upload vtv_api.py
25e713a7
Upload .rebuild
2963d196
Upload vtv_api.py
882a4896
Upload .rebuild
92e3da93
Upload vtv_api.py
ca432477
Upload vtv_api.py
ae30435b
Upload static/vtv_init.js
7dbf7bb8
Upload vtv_api.py
a91549ec
Upload vtv_api.py
47fb76a5
Upload vtv_api.py
7131e482
Fix rewrite_slide.py: use same wall_posts.json path as app_v2_entry.py, proper image proxy
7b284616
Add import rewrite_slide so /api/rewrite_slide endpoint gets registered
32328f7f
Restore full app_v2_entry.py with import rewrite_slide added
72c3aaa8
Add rewrite_fix_v2.js: auto-slide viewer + auto Short AI creation after rewrite, no page reload
f38029d6
Fix rewriteUrl() to auto rewrite slides, not just readArticle
39a38b60
Add rewrite_fix_v2.js script to index_v2.html
3cfda9ed
Upload app_v2_entry.py
564474ae
Upload static/rewrite_fix_v2.js
b78d3dc1
Upload static/rewrite_fix_v2.js
a4891332
Upload static/rewrite_fix_v2.js
ddf4cb14
Upload static/rewrite_fix_v2.js
dc2556b3
Upload .restart_trigger
5f5531e1
Fix: inline rewrite_fix_v2.js, rewriteUrl→rewriteSlide, auto Short AI without reload
636dc469
Upload .restart_trigger
bf004df6
Upload .rebuild
2933ddfb
Upload static/index_v2.html
2526886c
[FIX] inline loadHome() non-blocking, fix $featuredData.away bug, rewriteUrl→rewriteSlide auto Short AI
ab4c7e14
[FIX] VnExpress Short format scraper fallback for JS-lazy-loaded articles
c40f060f
trigger rebuild
ea3ccc2b
Restore to commit 7131e48 (Upload vtv_api.py)
e93a1a6a
Fix: rewriteUrl AI create post + auto Short AI without page reload
e0c43114
Bump app_v2.js cache version
54b27228
Move AI Wall below compose box + fix prependWallPost target
b9bc3b19
Bump JS cache version
f35afceb
Auto scheduler: rewrite AI + short at 7/13/19 VN time from hot topics + latest articles
6ba9db99
Trigger rebuild
70268ed5
Add 'Tạo lại' button for AI short on wall cards with video
3795d6bc
Bump JS cache version to 20260704
26b56467
Trigger Space rebuild
11dbf1af
v2.5 Add 'Tạo lại' short button on wall cards with video
540d428b
Remove --reload flag (fixes scheduler restart on Space rebuild)
c1472e6d
Add catch-up for missed scheduler slots on startup
2bc42853
Trigger Space rebuild for Dockerfile change
d71158d3
Fix catch-up condition: run for h<=current_hour + add debug endpoint
992698a4
Trigger Dockerfile rebuild
5ffb7b60
Force Space rebuild v2
511527c0
Add /api/debug/auto_schedule and /api/debug/trigger_auto endpoints
24083fc5
Fix: add missing 'import asyncio' and fix random → _random2 in scheduler
1707f8bc
Refactor: _run_scheduled_sync helper + background non-blocking trigger
5c8ae5f9
Update VTV6 HARDCODED_URL to working freem3u CDN + add m3u8_proxy_url response field
c78ede86
v11: Add toggle button JWPlayer ↔ HLS.js native player (via /api/proxy/m3u8)
2eb76ddd
Auto scheduler: 3 topics HOT khác nhau ko trùng, mỗi topic 1 bài
42bb7032
Add wall polling 30s: auto prepend new scheduled posts in real-time
9eef961d
Upload static/index_v2.html
0931ba70
Restore index_v2.html with JS version 20260707
bf2ca14d
Upload app_v2_entry.py with huggingface_hub
6e354ede
Upload static/index_v2.html with huggingface_hub
416dd97f
Upload app_v2_entry.py
b62d8a1b
Upload static/rewrite_fix_v2.js with huggingface_hub
c9b2796d
Fix: add /api/shorts/rss endpoint, fix /s/{slug} to show slide content, add og:description
cbe9dc47
Upload static/app_v2.js
1a4ef965
Upload app_v2_entry.py with huggingface_hub
e1356cde
Upload .rebuild_v2
3be83e42
Upload static/rewrite_fix_v2.js
0666a9ba
Upload app_v2_entry.py
cb4f8387
Fix: og:image from slides, og:description from text, preserve SEO-friendly URL in canonical
ef816db8
Fix: rewriteSlide shows slides inline instead of plain text
860a9659
Trigger rebuild after JS and Python fixes
720f8411
Trigger rebuild with timestamp 1783737931.5545342
542c69ad
Trigger rebuild
ae0fd709
Trigger rebuild
67e34373
Trigger rebuild
1bb3bc7d
Force rebuild - update timestamp 1783740350
d29e1381
Fix: Restore correct app_v2_entry.py with og:image from slides, og:description from text, URL-based canonical
b05f45b8
Fix: prioritize posts with slides when searching by URL, og:image from slides
30ee9dfd
v2.7 - Replaced mic TTS button with direct video MP4 share on Short AI feed
4729802b
v2.7 - Fixed shareUrl for Short AI, video MP4 share button active
feaa0fea
Fix: slides saved in post for rewrite_share
2d52421a
Fix: shareVideoToApps absolute URL
9f683926
Trigger rebuild with fixed code
768ebba1
Delete Dockerfile with huggingface_hub
fe20da2e
Add requirements for build trigger
f70debec
Delete requirements.txt with huggingface_hub
f068ea41
Restore Dockerfile with all dependencies
ac423291
Add requirements for build
09925e67
Add dockerignore
97fdbcfa
Force rebuild - add timestamp
5034ac42
Force rebuild - add httpx dependency
0a119163
Delete Dockerfile with huggingface_hub
43f1b7d6
Delete .dockerignore with huggingface_hub
4bf0c631
Zero-GPU requirements
134d9112
Zero-GPU entry point
0d1baa68
Zero-GPU: add main.py as entry point
2c0ef3d9
Delete main.py with huggingface_hub
445260d2
Delete app.py with huggingface_hub
84bdc1c1
Restore Dockerfile for Docker Space
2fb94c7d
Delete requirements.txt with huggingface_hub
37cc791d
Docker rebuild with cache bust for slides fix
b7afac68
Simplified CMD for uvicorn
5f39bf1f
Add .dockerignore to skip cache files
e5ef33a7
Add main.py entry point
7708d078
Delete Dockerfile with huggingface_hub
8fc463d9
Try Gradio mounting
1b50cca2
Delete gradio_app.py with huggingface_hub
ed4444f8
Restore to commit 4729802be3c7a1c222a6e95b17bb47f0025d2135 - v2.7
a9cfcec0
Delete .huggingface/*
09b34c0f
Delete .dockerignore
6cae87d4
Restore .huggingface folder from commit 4729802
fb2cbf51
v2.8 - Changed Short AI feed video share icon from 📤 to 📥 to avoid confusion with article share
e92c4976
v2.8 - Updated changelog for icon change
fc6f4ae2
Fix: _lj() returns [] for wall posts to ensure slides persist after reload - /api/wall returns correct format
48ad6e46
Add /s and /s/{slug} endpoints for slide rendering - fix lost slide format after reload
55926fed
Trigger rebuild - added /s endpoints for slide rendering
bc431942
Fix doShare to prefer post_id in /s?post_id= for reliable sharing
7e31322b
Fix /s/{slug} to search by URL instead of ID - preserve slide format after reload
4839c2ce
Trigger rebuild - deploy /s endpoint slide fixes
958d027b
Trigger rebuild - update entry point
6215fdc8
Add .dockerignore to optimize Docker build
495dfab7
Remove .dockerignore - using Zero-GPU Docker SDK
022c35ce
Upload .restart_trigger with huggingface_hub
7817bcc6
Force rebuild - trigger Docker restart
31a544cd
Force rebuild - v2.7 restore with slide endpoint fix
f2359e0e
Upload .restart_trigger with huggingface_hub
a95608b0
Upload runtime.txt with huggingface_hub
5b1789db
Trigger Docker rebuild
ada19629
Add runtime.txt for Docker rebuild
6689bf49
Upload runtime.txt with huggingface_hub
ae9a7329
Switch to Zero-GPU CPU for testing
cbd300f3
Upload .huggingface/main.json with huggingface_hub
d685052c
Fix doShare with postId support
3ac63ed3
Trigger rebuild
6776a1b7
Upload .rebuild with huggingface_hub
e078ef8a
Upload .rebuild_flag with huggingface_hub
e16ef4bb
Upload .docker_rebuild with huggingface_hub
2a3b11a9
Upload ai_patch.py
f845ba52
Upload app_v2_entry.py
a3350060
Upload static/app_v2.js
27394855
Restore ai_patch.py to state at commit 2a3b11a
43585690
Restore app_v2_entry.py to state at commit 2a3b11a
7b15b9c3
Restore static/app_v2.js to state at commit 2a3b11a
7d3207c2
Restore to commit 2a3b11a - force Docker rebuild
7d4eb51f
Fix: save slides into post before writing to wall_posts.json so slides persist after page reload
7fb7fe00
Trigger rebuild after slide fix
1e4bf6b2
Fix: doShare with fallback, shareVideoToApps with download, comment box scroll fix
d09d9193
Fix: inline-comments CSS - ensure input visible with min-height + sticky bottom
d4ca80fa
Fix: doShare in inline script use toast instead of alert, add fallback
639ec86c
Trigger rebuild after share buttons + comment box fix
20323603
Fix: doShare sync copy during gesture + navigator.share bonus; shareVideoToApps direct download fallback
213cd459
Fix: inline doShare same sync-copy pattern
883b31a4
Trigger rebuild: share buttons + video share + comment box final fix
783ff78b
Bump app_v2.js version to 20260711 to bust browser cache
d8db1254
Trigger rebuild after cache-bust fix
101d0736
Fix: doShare uses navigator.clipboard.writeText as primary (works on Chrome mobile); overflow:clip for inline comments
b68704a1
Fix: inline doShare same clipboard API; overflow:clip not hidden for comments input
4749fa24
Force Docker rebuild 1783786956 - clipboard API fix + overflow:clip
194f208f
Remove unused rewrite_fix_v2.js (not loaded in index_v2.html)
d7e4334e
v18.6: /s?url= fetches og:image for rich preview cards
1723b886
v18.11: add /api/proxy/img endpoint for CDN images
8f37e0ef
Upload static/app_v2.js
44f6e808
Upload static/app_v2.js
4f973466
Upload .rebuild
f1fe4636
Fix: add missing loadCat, rewriteSlide, shareVideoToApps functions
05665005
Add fix.js to load after app_v2.js; add missing loadCat, rewriteSlide, shareVideoToApps functions
759fc275
Remove 404 rewrite_fix.js script load; missing functions now provided by fix.js
1b7bef32
Trigger rebuild — add missing functions fix
e35abd35
Upload .rebuild
e691e260
Trigger Docker rebuild
3007db68
restore .rebuild to 2a3b11a
74b35b5e
restore live_mode.js to 2a3b11a
fac3201b
restore .rebuild_v2 to 2a3b11a
1cb1d7b9
restore index_v2.html to 2a3b11a
56f13ab3
delete fix.js — not in original commit 2a3b11a
41765e82
restore to 2a3b11a - trigger rebuild
2c25bfee
Restore to commit 8f37e0e (v18.11: add /api/proxy/img endpoint)
2bcee4f6
Fix /api/url_wall and /api/rewrite_share: generate slides properly, remove broken req._body hack, prioritize app_v2_entry routes over ai_patch
be50e4e2
Trigger rebuild after url_wall/rewrite_share fix
0c432195
Fix: add missing rewriteUrl() function for URL rewrite button on homepage (v2.9)
69c6616e
Trigger rebuild after rewriteUrl fix
9ba3b395
Bump app_v2.js cache version to force refresh after rewriteUrl fix
97698d4c
Upload app_v2_entry.py
d1fa7d7b
Restore v18.11 + fix rewriteUrl() function for URL rewrite button
1512b8f0
Restore to commit 8f37e0efb93a31689e91942abbc2edb6f7493bf5 - v18.11 (add /api/proxy/img endpoint)
32da1baa
Upload static/app_v2.js
92f0cdf9
fix: add rewriteUrl()+shareVideoToApps(), fix doShare SPACE fallback
c5f23cbb
FIX root cause: add missing switchWCTab() so loadHome() renders homepage (AI wall, slides, rewrite input, share/send-MP4 buttons)
494e8311
FIX rewrite-slide scraping: add fallback selectors + all-<p> + og:description fallback so slides are never empty (fixes 'dán URL không tạo được slide')
9b0dbb7d
ROBUST rewrite-slide: final fallback builds slides from ai_text/title so slides are NEVER empty (fixes Dantri slides=0 and flaky 422)
8ab28506
FIX share/send-MP4: remove broken duplicate shareVideoToApps (link-only shadowed the file-share version); keep file-share (fetch blob->File->navigator.share({files})) + re-add downloadVideo fallback for desktop. doShare unchanged.
d8ed42ec
Upload auto_poster.py
471547c8
Upload ai_patch.py
44813b6d
Upload auto_poster.py
26c7dba0
Delete auto_poster.py
4969f05c
Upload ai_patch.py
dcee409a
Trigger rebuild after restore to d8ed42ec
e207163d
Delete .rebuild, .rebuild_v2, .rebuild_flag, .rebuild_v2, .huggingface/rebuild, .docker_rebuild, .restart_trigger
962ea948
Upload Dockerfile
0bae7f65
Upload Dockerfile
35249f7a
Upload logs_route.py
32f457ee
Upload _run.py
7f77fdc3
Upload .restart_trigger
a894cc7a
Add auto_scheduler.py - tự động đăng 3 bài rewrite AI + short từ 3 chủ đề HOT lúc 7:00, 13:00, 19:00
a9de00bd
Add app_v2_patch.py - auto scheduler startup + status/trigger API endpoints
ba24ffc0
Update app_v2_entry.py - add app_v2_patch import to start auto scheduler
58565b4e
Trigger restart to apply auto scheduler changes
48609cc5
Restore full app_v2_entry.py with auto scheduler import
1229376d
Upload auto_scheduler.py
1d6294b0
Upload app_v2_patch.py
eb156c5a
Upload .restart_trigger
aa3d76f5
Upload auto_scheduler.py
1b2559a0
Upload .restart_trigger
90f6f6b0
Upload auto_scheduler.py
50ff107c
Upload auto_scheduler.py
de31d3d4
Upload .restart_trigger
74534d18
Upload storage.py
9dec132e
Upload main.py
39e84447
Upload storage.py
056e2f49
Upload main.py
8926f78c
Upload ai_ext.py
8738005d
Upload ai_patch.py
90811adc
Upload auto_scheduler.py
cb828e54
Update short video header: auto_scheduled posts use Tin tóm tắt VNEWS header
eb01f25d
Update short video header: auto_scheduled posts use Tin tóm tắt VNEWS header
0012fea2
Upload ai_patch.py with huggingface_hub
87fe551f
Upload auto_scheduler.py with huggingface_hub
888a03be
Upload .restart_trigger with huggingface_hub
4c830ace
fix(auto): add VNEWS branded title + clean HTML artifacts in text
ec214e38
Trigger rebuild - add auto title + clean HTML
95738c2b
Trigger rebuild v2.8 - auto title + clean HTML
8dcf36d9
Add gitignore to clear pycache
f27c7e3c
fix(html): remove malformed <a href= src=> tags from AI text
0b2c8eef
FIX: Remove malformed HTML artifacts like <a href=" src=" from auto posts
30bf42a4
FIX: Remove malformed HTML artifacts <a href=" src=" from auto scheduled posts
6c3add60
FIX: Handle truncated HTML tags <a href=" src=" in _clean function
f80e77fe
FIX: Import html module and clean malformed HTML artifacts
7326af94
Upload ai_patch.py
89e1bbf8
Upload auto_scheduler.py
59d24222
feat: add /api/publish to accept AI-composed article directly
2638dfa9
Upload ai_patch.py
f900d997
Upload ai_patch.py
311576b5
Upload auto_scheduler.py
a98a7e59
Upload .restart_trigger
5843203b
Upload ai_ext.py
fed390a4
Upload app_v2_entry.py
241a9d6b
Fix: restore app_v2_entry.py with indentation fix
acba9abd
Trigger restart to apply indentation fix
5ab230d3
Upload app_patch_unified.py
2a1f8f09
Upload ai_patch.py
84814ec2
Restart Space after fixes
43ffa35b
Upload ai_runtime_patch_fast.py
9f1c1909
Restart: apply rewrite slides + short fixes
85311920
Upload _run.py
ae1253ee
Upload restart2.md
21eff60b
Fix rewrite: single scrape_any_url call, extract images+slides from results
ca0d13d8
Trigger rebuild v3
bba8308e
Upload ai_runtime_patch_fast.py
04ee5704
Upload ai_runtime_patch_fast.py
fd0f8b73
Upload RESTART_TRIGGER.md
6544dad3
Upload ai_runtime_patch_fast.py
93462ebb
Upload RESTART_TRIGGER.md
754380d0
v5: synchronous short gen, logging, non-blocking event loop executor
362fc121
FIX syntax bug _scrape, full v5 rewrite synchronous short gen with logging
eb388866
v5.1: add auto-scheduler trigger endpoint + route protection, fix short gen
f38cb3e6
trigger restart for v5.1
99fe2611
Fix Dockerfile: add Noto fonts for Vietnamese diacritics support in short video frames
25314805
FIX: Comprehensive short video fix — Vietnamese font detection, robust text segmentation, remove atempo=1.0, proper error aggregation
c1c9987e
FIX: ai_patch.py - Vietnamese font auto-detection, robust text segmentation, word wrapping
16ee98b4
FIX: ai_ext.py - Vietnamese font auto-detection instead of hardcoded DejaVu paths
04422746
FIX: New standalone short video module - clean endpoint registration, no route filtering conflicts
4dd7d5e3
Upload _run.py
786612f4
Upload rebuild_trigger.txt
1a6aada4
Fix syntax error: truncate incomplete FINAL6E_INJECT string literal
f204d8a9
Fix: remove incomplete ai_wall_share endpoint, add proper FINAL_INJECT
fa6f5627
Fix incomplete FINAL6E_INJECT string - truncate and add minimal closing
18916d2e
Fix: import FileResponse from fastapi directly instead of ai_runtime_final6
36266dfa
Fix: use direct file read instead of _load_index_html for index endpoint
ac54c24e
Fix: use index_v2.html as main UI file
92cc960d
Fix: use direct file read for index_v2.html
bdf29090
Fix: restore original short video frame layout with progress bars and badge
2b657c52
Fix: add total parameter to _make_frame call for progress bars
64a7b151
Remove duplicate _draw_vn_text function, use wrap_text_vn/_draw_center instead
a703232c
Restore to commit bdf29090e1ff324b34841a86e871cc6942e06551
b915c23c
Apply shorts feature from commit 32da1baa - /api/shorts + /api/ai/short endpoints
0280ca57
Switch to ai_runtime_patch_fast entry point
cfb98c17
Upload _run.py
10f15885
Upload ai_runtime_final.py
17454ef1
Upload ai_runtime_final6.py
3755bde2
Upload ai_runtime_patch_fast.py
26f8fe9e
Upload main.py
79a2cca7
Upload app_patch_unified.py
a7fa25af
Restore to commit b915c23c (force reset main branch)
8559ef17
Restore to commit 0280ca577f097d7e64a3c6679c5f592feb6ba938
29faf242
Restore to commit 0280ca57: remove leftover file
be964a5f
Restore ai_runtime_fix.py from target commit 0280ca57
47a11ab4
Restore static/rewrite_fix_v2.js from target commit
02f2f184
Upload auto_update_sse.py
86050f8b
Upload ai_runtime_fix.py
86b22282
Upload auto_scheduler.py
88a3d7f7
Upload static/auto_update.js
905f24b8
Upload ai_runtime_patch_fast.py
95ff900b
Upload restart.txt
8ac9fab6
Upload app_v2_entry.py
d0bb163c
Upload app_v2_entry_hot.py
5b64cea7
Upload static/hot_ai_prepend.js
0084efdd
Upload ai_runtime_patch_fast.py
58121ce1
Upload ai_runtime_patch_final.py
815646de
Upload app_v2_entry.py
95c94397
Delete ai_runtime_patch_fast.py
70a5af9e
Upload app_v2_entry.py
82808c3a
Upload app_v2_entry.py
3f454229
Upload app_v2_entry.py
4b62185e
Upload app_v2_entry.py
d09cb646
Upload ai_runtime_patch_final.py
3b20b8e9
Delete app_v2_entry.py
c51d918d
Upload patch_ai_hot.py
49f613ac
Upload app_v2_entry.py
2dbc689c
Upload app_v2_entry.py
d34a94b6
Upload app_v2_entry.py
eddac14e
Restore 4 files to commit 0280ca577
c65cfe6a
Fix: AI topics now appear FIRST in hot topics (insert(0) instead of append)
fa68ff50
Upload app_v2_entry.py
fd90fb64
Upload auto_scheduler.py
11d6464d
Upload static/hot_multi.js
b6b5a07b
Upload static/hot_ai_prepend.js
4dc0605f
Restore static/hot_multi.js from commit 0280ca5 (v1: 3 topics, no pagination)
57980de0
Restore auto_scheduler.py from commit 0280ca5 (v7: 3 topics, no AI Thế Giới)
f585a27d
Fix SyntaxError: remove unclosed _EMOTION_KEYWORDS dict
ab8625e8
Restore app_v2_entry.py from commit 0280ca57
f5f9ba32
Restore auto_scheduler.py from commit 0280ca57
1fec4822
Remove static/hot_ai_prepend.js (not in original commit)
12a645df
Remove static/auto_update.js (not in original commit)
5d905501
feat: add AI Việt Nam, AI Thế Giới hot topics + lazy load more endpoint
22cf653d
trigger restart after hot topics update
6598104d
trigger hard restart
fb76b540
trigger restart
f3a7f531
fix: increase hot topics limit from 24 to 28 to fit AI Việt Nam + all forced topics
b54ab337
trigger rebuild after hot topics limit fix
b086b621
Upload static/hot_multi.js
a7acca06
Upload .restart_trigger
b34facbf
Upload static/hot_multi.js
a044cc04
Upload .restart_trigger
cbfc0692
Restore 100% to commit 57980de0 - 8 files reverted
2f6c478e
Nâng lên 5 chủ đề HOT (AI Thế Giới + AI Việt Nam + top 3) + lazy load more button
d930ad24
Fix SyntaxError: xóa _EMOTION_KEYWORDS dict không hoàn chỉnh (dead code)
6e21011b
Clean up trailing comment line
97c471a2
Delete static/auto_update.js, static/hot_ai_prepend.js
28289723
Restore to commit 5d90550 - revert 5-topic HOT and other changes
f912870c
Upload static/hot_multi.js
1edec693
Upload .restart_trigger
02c48b3c
Upload main.py
cdf0e8c1
Add date_vn to article scraper, add date extraction to search functions
5c3cb08b
Add Cập nhật tab to livescore (7 days results + upcoming)
eed57f89
Update hot_multi.js v3 - date display, 5 topics, lazy load
0a31d424
Upload .restart_trigger
e0fd416f
Move Cập nhật tab to first position, make default
89e6ebc4
Upload .restart_trigger
8e10e010
Add AI-specific scrapers: GenK AI (ai.chn), Tinhte, VatvoStudio, KhoaHoc.tv for AI Thế Giới / AI Việt Nam topics - sorted by newest first
4532efbb
Trigger restart for AI scrapers
9a6451eb
Fix AI scrapers: RSS-based sources (GenK AI RSS, VnExpress AI RSS, KhoaHoc.tv AI, Thanh Niên AI) + random shuffle, no source priority
b7b24059
Fix typo os_W_OK -> os.W_OK
ee77cfd6
Fix typo os_W_OK -> os.W_OK, clean upload
9de910b8
Trigger restart for AI scraper update
538bd7fa
Upload static/app_v2.js
8fff4964
Upload static/app_v2.js with huggingface_hub
1184ccfa
Upload app_v2_entry.py with huggingface_hub
fb67314d
Upload static/app_v2.js with huggingface_hub
a5ad45bc
Trigger rebuild
1a5c3540
Upload static/app_v2.js with huggingface_hub
e2c4a036
Upload app_v2_entry.py with huggingface_hub
7339591c
Upload static/app_v2.js with huggingface_hub
4443ce3c
Bump cache buster 20260711→20260722
5c1b2f7c
Upgrade personal opinion post v2: AI tổng hợp bài viết từ nguồn tin + hình ảnh
f28ba6be
Upgrade personal opinion v3: AI xao nau quan diem + nguon tin thanh bai moi
734aa0c4
Fix ai_ext.py fallback: return empty instead of echoing prompt
93aa0825
Upgrade personal opinion v3: AI xao nau quan diem + nguon tin thanh bai moi
e5454b60
Trigger rebuild: personal opinion v3 + ai_ext fix
d67ba6b5
Upload TEMP_REBUILD_TRIGGER.txt
f86ba59a
Upload .rebuild
04502e06
Upload opinion_v3_patch.py
259d6f1c
Upload app_v2_entry.py
e62d653f
Upload opinion_v3_patch.py
44c5b959
Upload app_v2_entry.py
8de4222b
Upload main.py
c48aeb21
Upload ai_patch.py
73ab8a28
Upload TRIGGER_REBUILD
b1f02694
Upload .rebuild
d6088dac
Upload .rebuild
923f1b73
Upload .rebuild
998c4aab
Upload .rebuild
de413e57
Upload static/app_v2.js
988ee1f7
fix: add working openPersonalPostPreview() - v3 opinion post with modal + hot sources
31a7f8da
fix: add working openPersonalPostPreview() - v3 opinion post with modal + hot sources
27297619
chore: trigger rebuild for opinion post v3 feature
9eb28553
Restore to commit f28ba6b (Upgrade personal opinion post v2)
60aa4844
Update ML Intern artifact metadata
ad2a1dd1
Update ML Intern artifact metadata
e00e7a0b
Clear main before restore
ac8bd330
Remove README.md
7975e29a
Update ML Intern artifact metadata
2d27b0fa
Restore batch 1/2
30cfb15b
Restore batch 2/2
af76b7ff
Trigger rebuild after restore to f28ba6b
9759e3f7
Fix personal opinion post: AI tổng hợp từ nguồn tin, KHÔNG copy nguyên văn tiêu đề/nội dung nguồn
a5c721c5
Trigger rebuild after fixing personal opinion post
69bfdbc0
Upload static/rewrite_fix.js
95dda6c9
Fix: thêm rewrite_fix.js script, sửa lỗi openPersonalPostPreview và fallback hashtag
1c369d6e
Fix backend: rotating User-Agents, timeout 20s, Google News RSS fallback, source=google param, sửa lỗi syntax TTS
a8bb5a14
Fix syntax errors in f-strings
247f507a
Fix: rotating User-Agents, timeout 20s, Google News RSS fallback, source=google param, sửa syntax f-string
d529d536
Fix: rotating User-Agents, timeout 20s, Google News RSS fallback, source=google param, fix _UNIQUE_CHARS corruption, fix f-string syntax
013df6e0
Upload main_patch.py
f5dac8b1
Upload rewrite_fix_v2.js
af57db1b
Upload app_v2_entry.py.gitigignore
ac247eaa
Upload requirements.txt
c31611ca
Upload Dockerfile
522373b0
Upload shorts_cache.py
ccf80e02
Upload shorts_rss_proxy.py
bd5a32a9
Upload wc2026_scraper.py
213b3032
Upload vtv_shorts.py
47ae7424
Upload yt_scraper.py
f7e262cc
Upload rewrite_slide.py
324b2283
Upload static/index_v2.html
c7289dcc
Upload static/app_v2.js
032c8945
Restore VNEWS to commit f28ba6befe4f21e5202132cf2117664f538c960b (#42)
432cb9d9
Upload requirements.txt
a2cb4cd5
Upload _run.py
c7e0d4c4
Upload Dockerfile
9751f2f8
Delete ai_runtime*.py, ai_runtime_fix.py, ai_runtime_patch*.py, app_clean.py, app_entry.py, app_final.py, app_main.py, app_patch_unified.py, app_run.py, app_v2_entry_hot.py, app_v2_entry_test.py, app_v2_entry_v2.py, app_v2_patch.py, auto_scheduler.py, auto_update_sse.py, bongda_proxy.py, logs_route.py, main_patch.py, match_detail.py, patch_*.py, piped_client.py, restore_runner.py, rewrite_slide.py, shorts_*.py, storage.py, vtv_shorts.py, yt_scraper.py, yt_scraper_fixed.py, ai_fix2.py, *.js, CHANGELOG.md, README.md, RESTART_TRIGGER.md, rebuild3.md, rebuild_trigger.txt, restart.txt, restart2.md, rewrite_fix_v2.js
cd3262a2
Upload .rebuild
babd0ec5
Upload .rebuild
88e7b31e
Upload static/vtv_init.js
a9a23152
Upload static/app_v2.js
10e2762c
Upload static/wc2026_v2.js
7f569063
Upload static/live_mode.js
9d7e37ba
Upload static/yt_live.js
ab87f9a8
Upload static/hot_multi.js
ace2242f
Upload static/wc_shorts_inject.js
dccdffa4
Upload static/match_detail_v6.js
8a92a14d
Upload CHANGELOG.md
e5a84670
Upload static/rewrite_fix_v2.js
becd9a2b
Upload README.md
b6929fcd
Upload static/app_v2_shorts_fix.js
98be3067
Upload static/shorts_fresh.js
ce5e2c07
Upload ai_runtime.py
c549a24c
Upload ai_fix2.py
f8dbfb78
Upload ai_runtime_final2.py
a4dac5db
Upload ai_runtime_final.py
825c1550
Upload ai_runtime_final3.py
9a472d13
Upload ai_runtime_final4.py
ebe9d97a
Upload ai_runtime_final5.py
289b9e2b
Upload ai_runtime_fix.py
6a395725
Upload vtv_shorts.py
e12709f9
Upload ai_runtime_patch_final.py
1ad37556
Upload ai_runtime_patch_fast.py
f27cf908
Upload shorts_cache.py
79c18744
Upload shorts_rss_proxy.py
1b652adb
Upload requirements.txt
52d13deb
Upload RESTART_TRIGGER.md
95345e91
Upload static/index.html
222d4d79
Upload _run.py
b338fd1b
Upload Dockerfile
479ff736
Upload ai_runtime_patch_fast.py
34972fd9
Upload main.py
822a4aec
Upload Dockerfile
1e0c3300
Upload README.md
a46bfa87
Upload app_v2_entry.py
55e1e343
Upload ai_ext.py
3723330f
Restore 100% về commit f28ba6befe4f21e5202132cf2117664f538c960b
5d7b3a91
Upload app_v2_entry.py
073cebce
Fix personal_post: extract keywords từ opinion, tìm nguồn đúng, AI tạo paragraph-per-slide
034f1f72
Upload .restart_trigger
76e8ad70
Fix: Xóa prompt nhà báo, cải thiện slide kết thúc câu hoàn chỉnh
42afe2b6
Upload rewrite_slide.py with huggingface_hub
3866b31e
Upload app_v2_entry.py with huggingface_hub
abcc933a
Upload app_v2_entry.py with huggingface_hub
f9578d01
Upload app_v2_entry.py with huggingface_hub
b01b9f16
Upload ai_ext.py with huggingface_hub
8e92960c
Upload ai_ext.py with huggingface_hub
d7b711b4
Upload app_v2_entry.py with huggingface_hub
337b1745
Upload ai_ext.py with huggingface_hub
e3279fe8
Upload app_v2_entry.py with huggingface_hub
b90b1028
Upload app_v2_entry.py with huggingface_hub
803c5cac
Upload app_v2_entry.py with huggingface_hub
e1fad24c
Upload app_v2_entry.py with huggingface_hub
ea1ac499
Upload ai_ext.py
c7263971
Fix rewrite URL and short JSON handling (#45)
67a020a0
Fix rewrite slide storage and JSON error handling (#46)
2244b3e4
Revert to commit c726397174f1d6971378440db116f34212130b49
a01d893e
Fix: add missing functions to ai_ext.py and fix truncated sad dict in app_v2_entry.py
e474194f
Revert to c726397: restore 100% to target commit
7d117b1d
Fix homepage loading: increase /api/wc2026 timeout to 20s
f5d90532
Fix rewrite URL, short JSON error, add missing endpoints, wc2026 timeout
6915b470
Fix personal opinion post: call AI to generate opinion-based article
53c38e16
Fix personal opinion post: use await for async qwen_generate
6b533c2b
Fix personal opinion post: use hot topics as primary sources
bd3dc360
Improve opinion post: increase AI timeout + improve fallback
005324e8
Fix: add /api/topic_post endpoint and rewriteHashtag opinion pass
e3b59162
Trigger rebuild: apply fixes
757b0380
Fix topic_post: better fallback slides combining opinion + sources
885f7127
Fix rewriteHashtag: show preview before publish
27984d0d
Upload folder using huggingface_hub
521bf533
Upload folder using huggingface_hub
f55ad185
Upload .restart_trigger with huggingface_hub
79c6f2c1
Upload .restart_trigger with huggingface_hub
8596c8ac
Upload README.md with huggingface_hub
471954d4
Upload .restart_trigger with huggingface_hub
67571d05
Upload app_v2_entry.py with huggingface_hub
7b2b4778
Update AI runtime to produce opinion posts instead of summaries
a58d9658
Khôi phục 100% về commit 6915b4708645899523b2c915e7d83205dbcf5b2b
646a9f62
Thêm AI Việt Nam & AI Thế Giới ưu tiên hàng đầu, tin mới nhất mỗi ngày
f2b9412f
Add AI News frontend section + AI chips highlight
17dccfc0
Add AI News section CSS styles + chip styling
917761cf
Trigger Space restart
950f07fa
Upload RESTART_TRIGGER.md
32710fcb
Upload Dockerfile
ad067ae6
Force rebuild
b0ca6f09
Fix Dockerfile bị hỏng - restore đầy đủ FROM/BUILD steps
b000f995
Fix triệt để: 'AI' (trí tuệ nhân tạo) không bị nhầm với 'ai' (who) trong TV
830002ac
Fix _run.py: import app from main.py (has FastAPI()), not app_v2_entry.py (no app object)
ba4072fb
Restore _run.py from commit 6915b470
c8a320db
Restore RESTART_TRIGGER.md from commit 6915b470
5f9caba3
Restore .restart_trigger from commit 6915b470
fa9a6660
Restore static/index_v2.html from commit 6915b470
b1a01985
Restore Dockerfile from commit 6915b470
ac80b08c
Restore app_v2_entry.py from commit 6915b470 (part 1/2)
434a878c
Khôi phục 100% về commit 6915b4708645899523b2c915e7d83205dbcf5b2b
be0ca5ad
Upload vtv_api.py
2b88633b
Upload static/vtv_init.js
04fa19d0
Upload restart.txt
576dc4c6
bep40
Owner
28 days ago
🤖
bep40/Space-Mutiverse-Control
No description provided.
Upload CHANGELOG.md
302b0ff2
bep40
changed pull request status to
merged
28 days ago
Edit
Preview
Upload images, audio, and videos by dragging in the text input, pasting, or
clicking here
.
Tap or paste here to upload images
Comment
·
Sign up
or
log in
to comment