Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Renaming a folder doubles the folder name in file paths (console errors show /lib/lib/helper.js)

Open Beginner friendly
#4,365 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
javascript, redux
Domain
frontend

Research direction

The bug is in the UPDATE_FILE_NAME case of client/modules/IDE/reducers/files.js, where the children loop passes action.id to setFilePath instead of childId. Read that case and the setFilePath helper, then add reducer tests for top-level and nested folder renames in files.test.js, which currently only cover deletion. Done when renaming folder js to lib gives children paths like /lib/helper.js and the new tests pass.

Written by the indexing model from the issue text.

Description

Awaiting Maintainer Approval Bug
p5.js version

2.3.4

What is your operating system?

Mac OS

Web browser and version

155.0.8059.40 (Official Build) (arm64)

Actual Behavior

After renaming a folder in the sidebar, the editor stores a wrong path for the
folder and every file inside it: the folder's own name is added twice. This shows
up in console errors. A script in a renamed folder lib reports its error at
/lib/lib/helper.js:1:1 instead of /lib/helper.js:1:1

When logged in, the wrong path only lasts until the next save (each save rebuilds
the paths). When logged out, nothing is saved to the server, so it stays wrong for
the whole session.

Cause: in client/modules/IDE/reducers/files.js, the UPDATE_FILE_NAME case loops
over the folder's children but passes action.id (the folder itself) instead of
childId to setFilePath:

updatedFile.children.forEach((childId) => {
  setFilePath(newState, action.id, childPath);
});
Expected Behavior

After renaming folder js to lib, files inside it should have the path
/lib/..., and the console should show at /lib/helper.js:1:1.

Steps to reproduce
  1. Open editor.p5js.org while logged out.
  2. Create a folder js, and inside it a file helper.js containing noSuchFunction();
  3. In index.html, add <script src="js/helper.js"></script> above the sketch.js script tag.
  4. Press Play and expand the error in the console: at /js/helper.js:1:1 (correct).
  5. Rename the folder js to lib and change the script tag to lib/helper.js.
  6. Press Play and expand the error: at /lib/lib/helper.js:1:1 (wrong).
Image Image

Suggested fix: pass childId instead of action.id to setFilePath in the
UPDATE_FILE_NAME case. I've tested this locally with unit tests for the reducer
(top-level and nested folder renames); the existing tests in files.test.js only
cover deletion. I'd be happy to open a PR with the fix and tests if this is approved.

Related: #2186 (mutation in the files reducer), a different issue in the same file.

Dominant language
JavaScript
Stars
1.7k
Forks
1.7k
Avg merge
5d 16h
Merged PRs (30d)
8

Getting set up

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 processing/p5.js-web-editor

All issues in processing/p5.js-web-editor

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.