infrost
fdb434e1fc
fix env declaration bug in new deployments
V0.1.1
2026-07-13 02:35:46 +01:00
infrost
a083471413
add typecheck in webapp build, webapp bug fixes and release dist.md
2026-07-13 02:24:38 +01:00
infrost
5aefdb68ab
readme.md: update package hint
2026-07-13 02:05:30 +01:00
infrost
bb726f800d
feat(raptorq): add configurable playback scheduling strategies
2026-07-13 01:49:53 +01:00
infrost
4d09dd0a3a
only resize canvas when changed, use arrary buffer to transfer frames
2026-07-13 00:21:42 +01:00
Frost
0ce648b009
Update README with emphasis on speed and community links
...
Enhanced the README to emphasize speed and added community discussion links.
2026-07-09 14:31:45 +01:00
infrost
f1fc53e5f1
update readme.md
2026-07-09 03:08:31 +01:00
infrost
f892c2cb97
fix ZXing wasm mem leak problem
2026-07-09 02:11:32 +01:00
infrost
ca56109b05
package optimsation and adding benchmark and more tests
2026-07-09 00:42:33 +01:00
infrost
c25569fb1a
Miscellaneous (Clearing technical debt, completing documentation)
2026-07-08 19:35:46 +01:00
Frost
1ec3f5e82c
Create CONTRIBUTING.md
2026-07-08 18:11:15 +01:00
Frost
017616dda1
Update issue templates
2026-07-08 18:11:15 +01:00
Frost
0db48256da
Add Contributor Covenant Code of Conduct
...
Added Contributor Covenant Code of Conduct to outline community standards and enforcement.
2026-07-08 18:11:15 +01:00
Frost
d54a0cc975
Revise SECURITY.md for clarity on support and reporting
...
Updated the security policy to clarify supported versions and reporting process for vulnerabilities.
2026-07-08 18:11:15 +01:00
Frost
1164112908
Revise file transfer test details in README
...
Updated the README to clarify file transfer test conditions and added an image.
2026-07-08 18:11:15 +01:00
infrost
cb901e20e6
update ui
2026-07-08 18:11:15 +01:00
infrost
c4d591efc3
新增 [sw.js (line 1)](D:/Code/QRloop/apps/web/public/sw.js:1),缓存 app shell、构建 assets、worker、wasm,支持离线回退。
...
新增 [manifest.webmanifest (line 1)](D:/Code/QRloop/apps/web/public/manifest.webmanifest:1) 和 app icon,并在 [index.html (line 9)](D:/Code/QRloop/apps/web/index.html:9) 接入。
新增启动屏 [boot_screen.tsx (line 1)](D:/Code/QRloop/apps/web/src/pwa/boot_screen.tsx:1),首次进入会显示进度条,等必要 runtime/wasm/worker assets 预缓存完成后才 reveal app。
新增 [preload.ts (line 1)](D:/Code/QRloop/apps/web/src/pwa/preload.ts:1),预缓存 fast_qr、RaptorQ、ZXing reader/writer wasm,以及 encode/decode/render/GIF workers。
Sender 默认从 file 开始,并把 File 放到 Text 前面:[sender.tsx (line 251)](D:/Code/QRloop/apps/web/src/app/routes/sender.tsx:251)。
为避免 web app 直接偷用 core 的 transitive dependency,我把 ZXing wasm URL 包成了 core 侧公开入口:
2026-07-08 18:11:14 +01:00
infrost
4634f49dcb
update readme.md and deployment guide
2026-07-08 18:11:14 +01:00
infrost
82880694bc
migrate to RaptorQR monorepo
2026-07-08 18:11:14 +01:00
infrost
bea0f5cf03
delete js-qrcode dependencies (no needed anymore)
2026-07-08 18:11:14 +01:00
infrost
001f152eec
Parallel QR 默认改成 4,选项扩到 1/2/4/6/8,live 和 GIF 布局都支持 6 = 3x2、8 = 4x2。
...
Sender 里 QR encoder、FEC codec、RaptorQ repair 都收进了 Advanced settings。
RaptorQ repair 默认从 20% 改成 10%。
Receiver 的 Max symbols 现在显示为 Auto (4),并且手动支持 6/8。
Sender 选 6/8 时会提示:Receiver 的 Auto (4) 只扫 4 个,需要手动把 Max symbols 设成对应的 6/8。
修了 fast_qr 容量:只有 ZXing WASM 继续扣那 2 bytes,fast_qr WASM 和 JS QR 都使用完整 QR byte capacity。
顺手修了 normalizeFecCodec('js-rlnc') 会被归回 wasm 默认的问题,不然高级设置里的 JS compatible 会选不住。
2026-07-08 18:11:14 +01:00
infrost
f30757a276
add test files
2026-07-08 18:11:13 +01:00
infrost
5552571932
ultra fast qr generate
2026-07-08 18:11:13 +01:00
infrost
699188678e
bug fixes on qr rendering
2026-07-08 18:11:13 +01:00
infrost
af28cd45df
add zxing-wasm qr encode method
2026-07-08 18:11:13 +01:00
Frost
2ad5b606c3
Update README with new demo link and test info
...
Updated the live demo link and clarified file transfer test details.
2026-07-08 18:11:13 +01:00
Frost
ed22655f5b
Revise file transfer scenarios in README
...
Updated file transfer scenarios and added details on performance improvements.
2026-07-08 18:11:13 +01:00
infrost
db447ec0a0
update readme.md
2026-07-08 18:08:48 +01:00
infrost
fd8b828ac4
change default message coding to raptorqwasm
2026-07-08 18:08:01 +01:00
infrost
0f28daf9cf
using raptorq wasm
2026-07-08 18:08:01 +01:00
infrost
ec6381b742
enable advance decode settings
2026-07-08 18:08:00 +01:00
infrost
682349e145
bug fixes and several improvements
2026-07-08 18:08:00 +01:00
infrost
f06e26c256
enable Parallel QR
2026-07-08 18:08:00 +01:00
infrost
452a0c5df2
change qr scanner to zxing/wasm and ui improvement
2026-07-08 18:08:00 +01:00
infrost
5e7e3393fe
add ajustable qr size
2026-07-08 18:08:00 +01:00
infrost
3f36779b73
add ajustable qr speed
2026-07-08 18:08:00 +01:00
infrost
1fb901bb56
init
2026-07-08 18:08:00 +01:00
Hermit
527d0e7b4e
Update README.md
2026-07-08 18:08:00 +01:00
Hermes Agent
25437e2223
Make package scoped
2026-07-08 18:08:00 +01:00
Hermes Agent
57a52db54c
Make prepublish hook do a full build
2026-07-08 18:08:00 +01:00
Hermes Agent
383b2f81d3
Replace em dashes with regular dashes in package.json, README, ARCHITECTURE
2026-05-04 16:34:13 +00:00
Hermes Agent
aaef21883b
Sync package.json version to v0.8.4
2026-05-04 16:31:31 +00:00
Hermes Agent
f8fd9e864e
Use relative Vite base path, remove strip-prefix hack
2026-05-04 16:09:32 +00:00
Hermes Agent
80c0a23bbd
Fix --serve: strip Vite base path, add --port/--host flags
2026-05-04 16:05:26 +00:00
Hermes Agent
6d4a01dcd7
package.json: set author to Hermit, GitHub username to hermitm0nk
2026-05-04 15:57:13 +00:00
Hermes Agent
80a37fffdc
Update package.json to v0.8.2, document CLI input modes and outer RS design in ARCHITECTURE.md
2026-05-04 15:56:04 +00:00
Hermes Agent
4b49acb8f7
CLI: pass filename and MIME type from file argument into packet metadata
...
- Added MIME type lookup table for common extensions
- Extracts basename from file path for filename metadata
- Channels filename/mimeType through readInput → buildFrames → packetize
- Stdin text mode leaves filename/mimeType undefined (as before)
2026-05-04 15:52:07 +00:00
Hermes Agent
5739d1b973
CLI: treat stdin as text input, file arg as binary input
...
- readInput() now returns {data, isText} tuple
- stdin (no file arg) → isText=true (text mode)
- file argument → isText=false (binary/file mode)
- Passes isText through to packetize for proper metadata tagging
2026-05-04 15:49:11 +00:00
Hermes Agent
c93eda9156
Fix parityCount to use Math.floor, neededPackets to use totalGenerations
...
parityCount: Math.ceil → Math.floor
- Small files (G ≤ 33) now truly get 0 parity generations
- Large files (G ≥ 34) still get proportional parity (≈3%)
- Previously Math.ceil always gave ≥1 parity for any G ≥ 1
neededPackets: K * sourceGenerations → K * totalGenerations
- Aligns with the round-robin scheduler: symbols are interleaved
across ALL generations, so practical minimum is K × totalGens
- Fixes the mismatch where 'needed' showed 32 but actual
decode required ~48 frames (for 2 source + 1 parity case)
Tests: Updated assembly test comments and totalGenerations params
to match new parityCount behavior.
Closes the long-standing 'needed frames count is off because of
outer error correction' issue.
2026-05-04 15:32:25 +00:00
Hermes Agent
d7fc7606ec
fix(receiver): revert indicator to framesWithQR/accepted/needed with correct math
...
- framesWithQR now counts ALL frames with a valid QR (including duplicates),
not just deduplicated ones. Moved increment before dedup check.
- acceptedPackets already correctly counts linearly-independent packets
(rank increase), capped at K per generation by the decoder.
- neededPackets = K * sourceGenerations, computed from constants.
- Keep generation count (solvedGens/sourceGens) as secondary indicator.
This gives an honest rough progress bar: useful can approach or briefly
touch required while some generations are still partially filled, but the
generation count is the definitive completion signal.
2026-05-04 14:36:39 +00:00