[低] 两端文件夹导入的递归深度与数量上限不一致

Open
#66 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
34/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python, swift
Domain
desktop-dev

Research direction

Start by reading the folder enumeration in Sources/BirdLockCore/IO/SourceFrame.swift around lines 63-78, then the import path in windows/birdlock/core/frames.py around lines 286-321, and write down the two behaviours side by side (recursion depth, limit=3000, project cap of 100000). The issue states the problem but not which policy wins, so the first deliverable is a decision on one shared recursion/limit rule; only then change both call sites and add a fixture with nested burst subfolders plus an over-3000-image selection to prove parity. If the inconsistency is kept, the same finding goes into the usage or architecture doc instead, which is the cheaper route.

Written by the indexing model from the issue text.

Description

位置:Sources/BirdLockCore/IO/SourceFrame.swift:63-78;windows/birdlock/core/frames.py:286-321

现象:Mac 对拖入的文件夹只枚举直接子文件(代码注释写明 non-recursive),没有数量上限(工程校验上限 100000);Windows 在所选文件夹自身没有图片时会向下递归最多 2 层,且有 limit=3000 并静默截断。拖入「多个连拍子文件夹的父目录」时 Mac 报「没有找到 JPG / HEIF 图片」而 Windows 能导入;一次选择超过 3000 张时 Windows 丢素材。

建议:统一递归策略与上限,或在使用说明/架构文档中记录这是有意的平台差异。

来源:2026-11-15 全仓只读审计,PR #7 未包含此项。

Dominant language
Swift
Stars
2
Forks
2
Avg merge
1h 11m
Merged PRs (30d)
2

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cyandee/BirdLock

All issues in cyandee/BirdLock

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.