Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: let users change default installation directory janroot #1010

Closed
Tracked by #1494
freelerobot opened this issue Dec 14, 2023 · 7 comments
Closed
Tracked by #1494

feat: let users change default installation directory janroot #1010

freelerobot opened this issue Dec 14, 2023 · 7 comments
Assignees
Labels
needs designs Needs designs P0: critical Mission critical type: feature request A new feature
Milestone

Comments

@freelerobot
Copy link
Contributor

freelerobot commented Dec 14, 2023

Goal

Allow users to change the app data folder in settings

Design

Full design flow: https://www.figma.com/file/ytn1nRZ17FUmJHTlhmZB9f/Jan-App?type=design&node-id=2270-285004&mode=design&t=bQyiFG80Dcr1XlBm-4

User flow

  1. Go to Settings / Advanced Settings
  2. See Jan Data Folder
  3. Users can:
  • Show Jan Data Folder in Finder.
  • Relocate Jan Data Folder by clicking on the edit button.
Screenshot 2024-01-16 at 2 00 31 PM
  1. Users need to confirm if they want to relocate Jan App Folder request.
Screenshot 2024-01-16 at 2 04 52 PM
  1. Users can see the progress of relocating Jan App Folder.
Screenshot 2024-01-16 at 2 05 08 PM
  1. The app will restart upon completion.
Screenshot 2024-01-16 at 2 07 23 PM

Error scenarios

  1. Folder is not available / does not have enough space
Screenshot 2024-01-16 at 2 08 04 PM
  1. A more generic error for other disrupting cases
Screenshot 2024-01-16 at 2 08 38 PM
@freelerobot freelerobot added P2: nice to have Nice to have feature type: feature request A new feature labels Dec 14, 2023
@freelerobot freelerobot moved this to Triaged (Backlog) in Menlo Dec 14, 2023
@freelerobot freelerobot added P1: important Important feature / fix and removed P2: nice to have Nice to have feature labels Jan 5, 2024
@freelerobot freelerobot changed the title feat: let users change janroot feat: let users change default app directory janroot Jan 5, 2024
@freelerobot freelerobot added this to the v0.4.5 milestone Jan 5, 2024
@imtuyethan imtuyethan moved this from Icebox to Planned in Menlo Jan 8, 2024
@imtuyethan imtuyethan moved this from Planned to In Progress in Menlo Jan 9, 2024
@imtuyethan imtuyethan changed the title feat: let users change default app directory janroot feat: let users change default installation directory and model directoryjanroot Jan 9, 2024
@imtuyethan imtuyethan changed the title feat: let users change default installation directory and model directoryjanroot feat: let users change default installation directory and model directory janroot Jan 9, 2024
@imtuyethan
Copy link
Contributor

Todo

  • @louis-jan Allow users to choose the default folder configurable on installation
  • Allow users to change the model folder directory
  • Allow users to change the installation directory

1. Allow users to choose the default folder configurable on installation

For @louis-jan @namchuai to configure

2. Allow users to change the model folder directory

Full design flow: https://www.figma.com/file/ytn1nRZ17FUmJHTlhmZB9f/Jan-App?type=design&node-id=2052-155715&mode=design&t=ZWZGgzJWErWbLVBs-4

Preview:
Users should be able to change model directory in settings/models

Screenshot 2024-01-09 at 5 20 14 PM Screenshot 2024-01-09 at 5 21 44 PM

Error when the folder is not available:

Settings

Side note

Screenshot 2024-01-09 at 5 27 05 PM

3. Allow users to change the installation directory

Similarly for changing app directory
Full design flow:
https://www.figma.com/file/ytn1nRZ17FUmJHTlhmZB9f/Jan-App?type=design&node-id=2060-186972&mode=design&t=ZWZGgzJWErWbLVBs-4

Data privacy

@freelerobot
Copy link
Contributor Author

freelerobot commented Jan 10, 2024

I noticed we're also letting users change model directory, in addition to janroot

Questions:

  1. Does that add engineering complexity?
  2. Does that fundamentally solve the users' issue where they have unique & unpredictable ways of storing model binaries, and want a way to symlink into specific model paths? feat: users can symlink model binaries #1381
  3. What engineering challenges, edge cases, arise, as a result of decoupling /models from janroot? i.e. what happens when I want to delete the App? What happens when i want to package my Jan configs and bring it to a different computer.

My concern is the designs introduce engineering scope creep, that (1) doesn't solve user problems and (2) prone to bugs

@louis-menlo
Copy link
Contributor

louis-menlo commented Jan 10, 2024

  1. Migration will be a challenge where users have downloaded models. We need to relocate the entire directory. There is no fs progress sync for now. Should ask user for the action?
  2. Yes
  3. Decoupling /models from janroot would introduce two kinds of settings: abs vs relv paths (to jan root).

Edge cases:

  • AppData (default created by electron) accidentally removed by users, the global config file is there.
  • Delete app: we should gather all possible locations and ask the user before cleaning them. However, it seems that only Windows users are familiar with un-installers. On MacOS, they will likely not open the dmg file again to run uninstall script, they will prob just delete the jan.app.

@freelerobot
Copy link
Contributor Author

  • Delete app: we should gather all possible locations and ask the user before cleaning them. However, it seems that only Windows users are familiar with un-installers. On MacOS, they will likely not open the dmg file again to run uninstall script, they will prob just delete the jan.app.

This is my main concern with increasing the scope of this ticket to let users fork off ~/models.

This means mac users will be left with many orphaned model.jsons even though they deleted the app. Bad practice.

Let's do one thing at a time. Reduce complexity please.

@freelerobot freelerobot changed the title feat: let users change default installation directory and model directory janroot feat: let users change default installation directory janroot Jan 10, 2024
@sukesh-ak
Copy link

LM Studio has this simple option to relocate local models folder.
image

In case of Jan, it could be the entire data-root which also contains all the folders like assistants, models etc.

@urmauur urmauur moved this from In Progress to Planned in Menlo Jan 10, 2024
@imtuyethan imtuyethan moved this from Planned to In Progress in Menlo Jan 11, 2024
@urmauur urmauur moved this from In Progress to Planned in Menlo Jan 11, 2024
@imtuyethan
Copy link
Contributor

imtuyethan commented Jan 11, 2024

To do

Allow users to change the app directory in settings

Design

Full design flow: https://www.figma.com/file/ytn1nRZ17FUmJHTlhmZB9f/Jan-App?type=design&node-id=2270-285004&mode=design&t=e4y3O3QchhS4m1GT-4
cc @louis-jan @urmauur

Preview

Screenshot 2024-01-11 at 6 51 47 PM Screenshot 2024-01-11 at 7 40 23 PM

Error

@imtuyethan
Copy link
Contributor

Archive @0xSage's original comment:

Problem
I have the code at ~, and now the app backs up data at ~.
I'd like to designate another place for app data persistence.

Uploading image.png…

Success Criteria
A clear and concise description of what you want to happen.

  1. I go to settings
  2. I type in a new directory
  3. I confirm I want to Change App Data Location
  4. I see a transition/in progress state (if any)
  5. I get a confirmation it was done
  6. I get a prompt to restart the App (if needed)
  7. Upon returning to settings, I see my new path ++ shortcut to open up folder in the new location

Not in scope

  • Letting users change models folder
  • I'd prefer we allow feat: users can symlink model binaries #1381 before letting users fork off folders
  • An Obsidian Vault-like onboarding flow guiding users through choosing vault locations

Additional context
Add any other context or screenshots about the feature request here.

@github-project-automation github-project-automation bot moved this from Planned to Done in Menlo Jan 16, 2024
@Van-QA Van-QA modified the milestones: v0.4.5, v0.4.6 Jan 23, 2024
@louis-menlo louis-menlo mentioned this issue Feb 1, 2024
5 tasks
Van-QA added a commit that referenced this issue Feb 5, 2024
Move Jan Data App: #1010
Factory Settings: #1620
Van-QA added a commit that referenced this issue Feb 5, 2024
Move Jan Data App: #1010
Factory Settings: #1620
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs designs Needs designs P0: critical Mission critical type: feature request A new feature
Projects
Archived in project
Development

No branches or pull requests

7 participants