Skip to content

feat(developer): Multi-process model for projects 🦕#10114

Merged
mcdurdin merged 3 commits intomasterfrom
feat/developer/multi-process-file-loading
Dec 5, 2023
Merged

feat(developer): Multi-process model for projects 🦕#10114
mcdurdin merged 3 commits intomasterfrom
feat/developer/multi-process-file-loading

Conversation

@mcdurdin
Copy link
Copy Markdown
Member

@mcdurdin mcdurdin commented Dec 1, 2023

Fixes #2761 (sorta).
Fixes #10003.

Note: does not eliminate project files altogether, because there are too many ambiguities that arose when we tried to do that. However, it should improve many aspects of project-based editing.

This is a bit of an omnibus commit, apologies for that. This commit moves Keyman Developer to a proper multi-process model, where editing files from multiple projects is handled much more cleanly, with each project loaded in a separate process.

Files that are edited outside of a project structure are loaded into a 'temporary project' in a single process, which provides a pathway for existing users who may have legacy files outside the normal Keyman Developer project model.

There are several components to this:

  1. Inter-process communication (Multiprocess, CopyDataHelper units and multiprocess test project). These modules establish a method of enumerating running Keyman Developer instances (with EnumWindow), recording relevant metadata for each instance (by thread id) in the registry (registry used because it manages contention without additional effort from us), and communicating between processes with WM_COPYDATA.
  2. Command-line parsing (TikeCommandLine). Determines project ownership (ProjectOwningFile) for each filename passed on the command-line, and passes these over to existing instances of Keyman Developer that have that project loaded, or starts new instances as needed.
  3. Temporary project management. Mostly in ProjectUI.

Also, moved GlobalProjectStateWnd management out of ProjectFile.pas and into Project.pas, alongside other global project variables.

The Keyman Developer UI also uses the same functionality to determine if a file should open in the same instance or in a separate instance (see TfrmKeymanDeveloper.OpenFilesInProject).

This commit establishes the idea of 'keyman.kpj' as a future default filename for Keyman Developer projects, but does not enable it, in ProjectOwningFile. It is planned to introduce this fixed filename in version 18.0 (see #10113).

Note: .xml also added to list of supported file types in the File|Open dialog, for LDML keyboards. This is known as a PR Rider.

User Testing

SUITE_COMMAND_LINE: Tests involving the Keyman Developer Command Line

  • TEST_OPEN_PROJECT: Open Keyman Developer, and load an existing project. Close Keyman Developer, and reopen the IDE. Verify that the project you opened before is opened again.
  • TEST_OPEN_SAME_INSTANCE: Open Keyman Developer, and load an existing project. Then in File Explorer, double-click a .kmn file that belongs to that project. It should open in the same instance of Keyman Developer.
  • TEST_OPEN_SECOND_INSTANCE: Open Keyman Developer, and load an existing project. Then in File Explorer, double-click a .kmn file that belongs to another project. It should open in a new instance of Keyman Developer, along with its project.
  • TEST_OPEN_NON_PROJECT: Open Keyman Developer, and load an existing project. Then in File Explorer, double-click a .kmn file that is in a temporary folder, with no .kpj in the same folder nor in the parent folder. It should open in a new instance of Keyman Developer, and the title of Keyman Developer should be 'Temporary Project - Keyman Developer'.
  • TEST_COMMAND_LINE: Open a command prompt, and cd to the khmer_ankgor/source folder in the keyboards repository. Try running tike.exe khmer_angkor.kmn khmer_angkor.kps. One instance of Keyman Developer should open, with both files loaded, and it should have the title 'khmer_angkor - Keyman Developer'.
  • TEST_COMMAND_LINE_2: Try running tike.exe <file1.kmn> <file2.kmn> ..., where <file1.kmn> and <file2.kmn> are keyboard files from separate projects. Two instances of Keyman Developer should open, one for each file. Try various command line calls, with different .kmn, .kpj, and .kps files in each, and verify that the expected instances of Keyman Developer open.
  • TEST_OPENING_FILES: Try loading various keyboard source files from File Explorer and validate that the results are expected. Try when Keyman Developer is already running, and when it isn't. Try various permutations!

SUITE_FILE_MENU: Tests involving the File|Open menu item

Run these tests after SUITE_COMMAND_LINE; the behaviour should be largely the same as when opening files from the command line.

  • TEST_MENU_OPENING_FILES: Try loading various keyboard source files from the File|Open menu item and validate that the results are expected -- files from the same project should open in the same window, and any other files should open in another window, either another existing instance or in a new instance, depending on the project owner.
  • TEST_MENU_OPEN_PROJECT_1: Open a project. Try loading another project file from the Project|Open Project menu item and validate that the project opens in a new window.
  • TEST_MENU_OPEN_PROJECT_2: Close any open project so that Keyman Developer is running with no project loaded (and just one instance of Keyman Developer). Try loading a project file from the Project|Open Project menu item and validate that the project opens in the same window.

This is a bit of an omnibus commit, apologies for that. This commit
moves Keyman Developer to a proper multi-process model, where editing
files from multiple projects is handled much more cleanly, with each
project loaded in a separate process.

Files that are edited outside of a project structure are loaded into a
'temporary project' in a single process, which provides a pathway for
existing users who may have legacy files outside the normal Keyman
Developer project model.

There are several components to this:

1. Inter-process communication (Multiprocess, CopyDataHelper units and
   multiprocess test project). These modules establish a method of
   enumerating running Keyman Developer instances (with EnumWindow),
   recording relevant metadata for each instance (by thread id) in the
   registry (registry used because it manages contention without
   additional effort from us), and communicating between processes with
   WM_COPYDATA.
2. Command-line parsing (TikeCommandLine). Determines project ownership
   (ProjectOwningFile) for each filename passed on the command-line, and
   passes these over to existing instances of Keyman Developer that have
   that project loaded, or starts new instances as needed.
3. Temporary project management. Mostly in ProjectUI.

Also, moved GlobalProjectStateWnd management out of ProjectFile.pas and
into Project.pas, alongside other global project variables.

A follow-up will add functionality to determine if a file opened within
the Keyman Developer UI should open in the same instance or in a
separate instance (see TfrmKeymanDeveloper.OpenFileInProject). This will
use the same methodology as TikeCommandLine does now, so may involve
further refactoring.

This commit establishes the idea of 'keyman.kpj' as a future default
filename for Keyman Developer projects, but does not enable it, in
ProjectOwningFile. It is planned to introduce this fixed filename in
version 18.0 (see #10113).
@keymanapp-test-bot
Copy link
Copy Markdown

keymanapp-test-bot bot commented Dec 1, 2023

User Test Results

Test specification and instructions

✅ SUITE_COMMAND_LINE: Tests involving the Keyman Developer Command Line

7 tests in 1 groups PASSED
  • TEST_OPEN_PROJECT (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(dagbani.kpj). Closed Keyman Developer. 2. Reopened it. 3. Verified that the project that opened before is appeared again in the Keyman Developer.
  • TEST_OPEN_SAME_INSTANCE (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(dagbani.kpj).2. Using File Explorer, I have opened the same project(dagbani.kmn) by double clicking on the .kmn file. 3. Verified that no other second window appears on the screen. It seems to be working as expected.
  • TEST_OPEN_SECOND_INSTANCE (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(khmer_angkor).2. Using File Explorer, I have opened another project(gff_amharic) by double clicking on the .kmn file. 3. Verified that the second project is open in another instance of Keyman developer.
  • TEST_OPEN_NON_PROJECT (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(aramaic_hebrew.kpj).2. Using File Explorer, opened another project (eg., hieroglyphic.kmn)and move the .kmn file to a temporary folder. Double-clicked on the .kmn file. 3. Verified that it opens a new instance of Keyman Developer. Also, observed that "Temporary Project -Keyman Developer" appears in the title bar. Seems to be working fine.
  • TEST_COMMAND_LINE (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Open the Khmer_Angkor project Source path via the terminal window. 2. Run the above-mentioned command line. 3. Verified that one instance of Keyman Developer opens, with both files loaded, and it should have the title 'khmer_angkor - Keyman Developer'.
  • TEST_COMMAND_LINE_2 (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Able to open different projects by using the given command line. 2. Able to open separate instances of Keyman developer for each .kmn files, .kps and .kpj files on the screen. It seems to working fine. (notes)
  • TEST_OPENING_FILES (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project (eg., khmer_angkor). 2. Opened another project (gff_amharic.kmn) from the source file using File Explorer. 3. Repeated step 2 on various projects and they opened without having any problems. 4. Closed the previously opened project (ie., khmer_angkor). 5. Again tried to open various projects from the source file using File Explorer and I was able to succeed without getting any error message. It seems to be working fine.

🟩 SUITE_FILE_MENU: Tests involving the File|Open menu item

  • TEST_MENU_OPENING_FILES (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project from its source file (eg., common_devanagari.kmn). 2. Opened another project via File / Open menu items and noticed that it opens in a separate window. 3. Tried with some other project using the File / Open menu and they opened in a new instance. It seems to be working as expected. (notes)
  • 🟩 TEST_MENU_OPEN_PROJECT_1 (SKIPPED): This turns out to be addressed in fix(developer): prevent opening .kpj in multiple processes 🦕 #10137.
  • TEST_MENU_OPEN_PROJECT_2 (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Closed an existing project (eg., gff_amharic) in Keyman Developer. 2. Opened the another project (eg., hieroglyphic.kpj) via the Project / Open Project menu item and noticed that the project opened in the same window. It seems to working fine.

Test Artifacts

@github-actions github-actions bot added the feat label Dec 1, 2023
@keymanapp-test-bot keymanapp-test-bot bot added this to the A17S27 milestone Dec 1, 2023
Winapi.Windows;

type
TGlobalProjectStateWnd = class
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This class is moved from Keyman.Developer.System.Project.ProjectFile.pas, to keep it together with other globals. It is otherwise unmodified.

Result := FParent.OwnerProject;
if Result = nil then
begin
// TODO: RAISE ERROR
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a lowpri item -- technically this shouldn't happen, but the fallback we have here is probably fine.

@mcdurdin mcdurdin linked an issue Dec 1, 2023 that may be closed by this pull request
Base automatically changed from fix/developer/project-internal-paths to master December 1, 2023 05:31
@bharanidharanj
Copy link
Copy Markdown

  • TEST_COMMAND_LINE (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Open the Khmer_Angkor project Source path via the terminal window. 2. Run the above-mentioned command line. 3. Verified that one instance of Keyman Developer opens, with both files loaded, and it should have the title 'khmer_angkor - Keyman Developer'.

..Khmer_Angkor name appears in the title bar

@bharanidharanj
Copy link
Copy Markdown

  • TEST_COMMAND_LINE_2 (FAILED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Able to open different projects by using the given command line. 2. When I run the command line with .kpj it does not open the .kpj file in the Keyman Developer. Seems to be an issue.

..Opened different projects

..Opened .kmn and .kps files

..Not able to open the .kpj file with this command

@bharanidharanj
Copy link
Copy Markdown

  • TEST_OPEN_SECOND_INSTANCE (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(khmer_angkor).2. Using File Explorer, I have opened another project(gff_amharic) by double clicking on the .kmn file. 3. Verified that the second project is open in another instance of Keyman developer.

@bharanidharanj
Copy link
Copy Markdown

  • TEST_OPEN_SAME_INSTANCE (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(fv_cree_latin.kpj).2. Using File Explorer, I have opened the same project(fv_cree_latin.kmn) by double clicking on the .kmn file. 3. Verified that no other second window appears on the screen. It seems to be working as expected.

@bharanidharanj
Copy link
Copy Markdown

  • TEST_OPEN_PROJECT (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(fv_cree_latin.kpj). Closed Keyman Developer. 2. Reopened it. 3. Verified that the project that opened before is appeared again in the Keyman Developer.

@bharanidharanj
Copy link
Copy Markdown

  • TEST_OPEN_NON_PROJECT (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(fv_cree_latin.kpj).2. Using File Explorer, opened another project (eg., tamilnew)and move the .kmn file to a temporary folder. Double-clicked on the .kmn file. 3. Verified that it opens a new instance of Keyman Developer. Also, observed that "Temporary Project -Keyman Developer" appears in the title bar. Seems to be working fine.

@bharanidharanj
Copy link
Copy Markdown

bharanidharanj commented Dec 1, 2023

Test Results

  • TEST_OPEN_NON_PROJECT (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(fv_cree_latin.kpj).2. Using File Explorer, opened another project (eg., tamilnew)and move the .kmn file to a temporary folder. Double-clicked on the .kmn file. 3. Verified that it opens a new instance of Keyman Developer. Also, observed that "Temporary Project -Keyman Developer" appears in the title bar. Seems to be working fine.

@bharanidharanj
Copy link
Copy Markdown

Test Results

  • TEST_OPENING_FILES (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project (eg., khmer_angkor). 2. Opened another project (gff_amharic.kmn) from the source file using File Explorer. 3. Repeated step 2 on various projects and they opens without having any problem. 4. Closed the previously opened project (ie., khmer_angkor). 5. Again tried to open various projects from the source file using File Explorer and I was able to succeeded without getting any error message. Seems to be working fine.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Dec 1, 2023
@mcdurdin
Copy link
Copy Markdown
Member Author

mcdurdin commented Dec 1, 2023

  • TEST_COMMAND_LINE_2 (FAILED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Able to open different projects by using the given command line. 2. When I run the command line with .kpj it does not open the .kpj file in the Keyman Developer. Seems to be an issue.

In this test, the khmer_angkor.kpj file was not found, because it was not in the khmer_angkor/source folder. Even if it had been found, it seems to me likely that Keyman Developer would not have shown the Project tab. So two fixes to apply for this:

  1. provide a helpful error message to the user when the file is not found.
  2. make sure the project tab is made visible when the .kpj is passed on the command line.

@mcdurdin mcdurdin marked this pull request as draft December 4, 2023 01:33
Refactor the file-opening code so it can be used by Keyman Developer UI
as well as command-line, and then add support for opening files in
per-project instances from File|Open and friends.

Also moves the initialization code out of tike.dpr into
Keyman.Developer.System.Main.pas, which makes it easier to maintain and
read.
@mcdurdin
Copy link
Copy Markdown
Member Author

mcdurdin commented Dec 4, 2023

I've refactored the code to address the failing user test. This means that I think we need to re-run all the user tests, because the changes are fairly significant. I'm also going to add another test to cover the changes to the Keyman Developer File|Open menu item. Sorry @bharanidharanj!

@keymanapp-test-bot retest all

@keymanapp-test-bot keymanapp-test-bot bot added user-test-required User tests have not been completed and removed user-test-failed labels Dec 4, 2023
@mcdurdin mcdurdin marked this pull request as ready for review December 4, 2023 01:52

kpj := TProject.Create(pt, AFilename, False);
try
kpj.Options.Version := pv10;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why isn't this pv20 like in KeyboardProjectTemplate.pas?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We use a pv10 format here because it allows us to add arbitrary files. pv20 only allows files in the project path.

Copy link
Copy Markdown
Contributor

@darcywong00 darcywong00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@bharanidharanj
Copy link
Copy Markdown

  • TEST_COMMAND_LINE_2 (FAILED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Able to open different projects by using the given command line. 2. When I run the command line with .kpj it does not open the .kpj file in the Keyman Developer. Seems to be an issue.

In this test, the khmer_angkor.kpj file was not found, because it was not in the khmer_angkor/source folder. Even if it had been found, it seems to me likely that Keyman Developer would not have shown the Project tab. So two fixes to apply for this:

1. provide a helpful error message to the user when the file is not found.

2. make sure the project tab is made visible when the .kpj is passed on the command line.

@mcdurdin Shall I create a new issue for this issue (khmer_angkor.kpj file does not open using the command line)?

@mcdurdin
Copy link
Copy Markdown
Member Author

mcdurdin commented Dec 5, 2023

Shall I create a new issue for this issue (khmer_angkor.kpj file does not open using the command line)?

No need, I've addressed the problem in this PR already 😁 Thanks!

@bharanidharanj
Copy link
Copy Markdown

Test Results

SUITE_COMMAND_LINE: Tests involving the Keyman Developer Command Line

  • TEST_OPEN_PROJECT (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(dagbani.kpj). Closed Keyman Developer. 2. Reopened it. 3. Verified that the project that opened before is appeared again in the Keyman Developer.

  • TEST_OPEN_SAME_INSTANCE (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(dagbani.kpj).2. Using File Explorer, I have opened the same project(dagbani.kmn) by double clicking on the .kmn file. 3. Verified that no other second window appears on the screen. It seems to be working as expected.

  • TEST_OPEN_SECOND_INSTANCE (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(khmer_angkor).2. Using File Explorer, I have opened another project(gff_amharic) by double clicking on the .kmn file. 3. Verified that the second project is open in another instance of Keyman developer.

  • TEST_OPEN_NON_PROJECT (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project(aramaic_hebrew.kpj).2. Using File Explorer, opened another project (eg., hieroglyphic.kmn)and move the .kmn file to a temporary folder. Double-clicked on the .kmn file. 3. Verified that it opens a new instance of Keyman Developer. Also, observed that "Temporary Project -Keyman Developer" appears in the title bar. Seems to be working fine.

  • TEST_COMMAND_LINE (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Open the Khmer_Angkor project Source path via the terminal window. 2. Run the above-mentioned command line. 3. Verified that one instance of Keyman Developer opens, with both files loaded, and it should have the title 'khmer_angkor - Keyman Developer'.

  • TEST_COMMAND_LINE_2 (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Able to open different projects by using the given command line. 2. Able to open separate instances of Keyman developer for each .kmn files, .kps and .kpj files on the screen. It seems to working fine.

..opening kmn files

..opening kpj files

..opening kps files

  • TEST_OPENING_FILES (PASSED): Retested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project (eg., khmer_angkor). 2. Opened another project (gff_amharic.kmn) from the source file using File Explorer. 3. Repeated step 2 on various projects and they opened without having any problems. 4. Closed the previously opened project (ie., khmer_angkor). 5. Again tried to open various projects from the source file using File Explorer and I was able to succeed without getting any error message. It seems to be working fine.

@bharanidharanj
Copy link
Copy Markdown

Test Results

SUITE_FILE_MENU: Tests involving the File|Open menu item

  • TEST_MENU_OPENING_FILES (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Launched Keyman Developer and opened an existing project from its source file (eg., common_devanagari.kmn). 2. Opened another project via File / Open menu items and noticed that it opens in a separate window. 3. Tried with some other project using the File / Open menu and they opened in a new instance. It seems to be working as expected.

@bharanidharanj
Copy link
Copy Markdown

Test Results

SUITE_FILE_MENU: Tests involving the File|Open menu item

  • TEST_MENU_OPEN_PROJECT_1 (FAILED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Opened an existing project (eg., gff_amharic) in Keyman Developer. 2. Opened another project (eg., khmer_angkor) via Project / Open Project menu item and noticed that observed that it replaced the first project and showed up in the same window. seems to be an issue.

@bharanidharanj
Copy link
Copy Markdown

Test Results

SUITE_FILE_MENU: Tests involving the File|Open menu item

  • TEST_MENU_OPEN_PROJECT_2 (PASSED): Tested with the attached PR build (Keyman Developer 17.0.212-alpha-test-10114) on Windows 11 OS (VM) and here is my observation: 1. Closed an existing project (eg., gff_amharic) in Keyman Developer. 2. Opened the another project (eg., hieroglyphic.kpj) via the Project / Open Project menu item and noticed that the project opened in the same window. It seems to working fine.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Dec 5, 2023
@mcdurdin
Copy link
Copy Markdown
Member Author

mcdurdin commented Dec 5, 2023

SUITE_FILE_MENU
TEST_MENU_OPEN_PROJECT_1 SKIP This turns out to be addressed in #10137.

@mcdurdin mcdurdin merged commit 56d5f37 into master Dec 5, 2023
@mcdurdin mcdurdin deleted the feat/developer/multi-process-file-loading branch December 5, 2023 23:50
@keyman-server
Copy link
Copy Markdown
Collaborator

Changes in this pull request will be available for download in Keyman version 17.0.225-alpha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(developer): opening same project in two TIKE windows should not be possible feat(developer): Use Folders instead of Projects

4 participants