From cedb29933e781e3a6c88eb39d1c8e6fdff5c3d00 Mon Sep 17 00:00:00 2001 From: Andrew Twydell Date: Mon, 8 Jun 2026 15:17:57 +0100 Subject: [PATCH 1/2] resolve profiles from URI in Jobs FileSystemProvider Signed-off-by: Andrew Twydell --- packages/zowe-explorer/CHANGELOG.md | 1 + .../trees/job/JobFSProvider.unit.test.ts | 322 ++++++++++++++++++ packages/zowe-explorer/l10n/bundle.l10n.json | 121 +------ packages/zowe-explorer/l10n/poeditor.json | 121 +------ .../src/trees/job/JobFSProvider.ts | 106 +++++- 5 files changed, 428 insertions(+), 243 deletions(-) diff --git a/packages/zowe-explorer/CHANGELOG.md b/packages/zowe-explorer/CHANGELOG.md index 5c80b9b7c9..b4e0d7b6c9 100644 --- a/packages/zowe-explorer/CHANGELOG.md +++ b/packages/zowe-explorer/CHANGELOG.md @@ -36,6 +36,7 @@ All notable changes to the "vscode-extension-for-zowe" extension will be documen ### Bug fixes +- Fixed an issue where the Jobs FileSystemProvider could not resolve profiles from URIs when opened programmatically, causing errors when extensions tried to open job spool files directly. The Jobs FileSystemProvider now extracts the profile name from the URI and loads it on-demand, matching the behavior of Datasets and USS FileSystemProviders. [#4284](https://github.com/zowe/zowe-explorer-vscode/issues/4284) - Fixed an issue where Zowe Explorer failed to activate if a VS Code workspace is opened and contains an invalid directory path. Now, invalid directory paths are ignored by Zowe Explorer and only valid paths are treated as project-level directories. [#4271](https://github.com/zowe/zowe-explorer-vscode/issues/4271) - Fixed an issue where saving contents to a data set or USS file could trigger built-in conflict detection, specifically when the API does not include a timestamp for that resource. Now, the modification time of a data set or USS file in Zowe Explorer's filesystem is kept as-is if the API does not provide a timestamp. Users can continue to use the "Pull from Mainframe" context-menu option to fetch the latest contents of a data set or USS file in an opened editor. [#4206](https://github.com/zowe/zowe-explorer-vscode/issues/4206) - Updated USS and data set file system providers to generate notifications based on remote system changes rather than local file system cache updates. [#4162](https://github.com/zowe/zowe-explorer-vscode/pull/4162) diff --git a/packages/zowe-explorer/__tests__/__unit__/trees/job/JobFSProvider.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/trees/job/JobFSProvider.unit.test.ts index 5d2e9a6236..fafb56d81d 100644 --- a/packages/zowe-explorer/__tests__/__unit__/trees/job/JobFSProvider.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/trees/job/JobFSProvider.unit.test.ts @@ -696,6 +696,36 @@ describe("fetchSpoolAtUri", () => { jesApiMock.mockRestore(); lookupAsFileMock.mockRestore(); }); + + it("resolves profile from URI when metadata is missing", async () => { + const spoolEntryWithoutMetadata = { ...testEntries.spool, metadata: undefined }; + const lookupAsFileMock = vi.spyOn(JobFSProvider.instance as any, "_lookupAsFile").mockReturnValueOnce(spoolEntryWithoutMetadata); + const getInfoFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_getInfoFromUri").mockReturnValue({ + profile: testProfile, + path: "/TESTJOB(JOB1234) - ACTIVE/JES2.JESMSGLG.2", + }); + + const mockJesApi = { + downloadSingleSpool: vi.fn((opts) => { + opts.stream.write("test data"); + }), + }; + + const jesApiMock = vi.spyOn(ZoweExplorerApiRegister, "getInstance").mockReturnValue({ + getJesApi: vi.fn().mockReturnValue(mockJesApi), + registeredJesApiTypes: vi.fn().mockReturnValue(["zosmf"]), + } as any); + + const entry = await JobFSProvider.instance.fetchSpoolAtUri(testUris.spool); + + expect(getInfoFromUriMock).toHaveBeenCalledWith(testUris.spool); + expect(entry.metadata).toBeDefined(); + expect(entry.metadata.profile).toBe(testProfile); + + lookupAsFileMock.mockRestore(); + getInfoFromUriMock.mockRestore(); + jesApiMock.mockRestore(); + }); }); describe("readFile", () => { @@ -718,6 +748,298 @@ describe("readFile", () => { lookupAsFileMock.mockRestore(); fetchSpoolAtUriMock.mockRestore(); }); + + it("creates entries from URI when spool entry doesn't exist", async () => { + const spoolEntry = { ...testEntries.spool }; + const fileNotFoundError = vscode.FileSystemError.FileNotFound(testUris.spool); + const lookupAsFileMock = vi + .spyOn(JobFSProvider.instance as any, "_lookupAsFile") + .mockImplementationOnce(() => { + throw fileNotFoundError; + }) + .mockReturnValueOnce(spoolEntry); + const createEntriesFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_createEntriesFromUri").mockResolvedValueOnce(undefined); + const fetchSpoolAtUriMock = vi.spyOn(JobFSProvider.instance, "fetchSpoolAtUri").mockResolvedValueOnce(spoolEntry); + + expect(await JobFSProvider.instance.readFile(testUris.spool)).toBe(spoolEntry.data); + expect(createEntriesFromUriMock).toHaveBeenCalledWith(testUris.spool); + expect(spoolEntry.wasAccessed).toBe(true); + + lookupAsFileMock.mockRestore(); + createEntriesFromUriMock.mockRestore(); + fetchSpoolAtUriMock.mockRestore(); + }); + + it("throws error if entry creation fails", async () => { + const fileNotFoundError = vscode.FileSystemError.FileNotFound(testUris.spool); + const lookupAsFileMock = vi.spyOn(JobFSProvider.instance as any, "_lookupAsFile").mockImplementation(() => { + throw fileNotFoundError; + }); + const createEntriesFromUriMock = vi + .spyOn(JobFSProvider.instance as any, "_createEntriesFromUri") + .mockRejectedValueOnce(new Error("Failed to create entries")); + + await expect(JobFSProvider.instance.readFile(testUris.spool)).rejects.toThrow("Failed to create entries"); + + lookupAsFileMock.mockRestore(); + createEntriesFromUriMock.mockRestore(); + }); + + it("throws non-FileNotFound errors immediately without creating entries", async () => { + const customError = new Error("Custom error that is not FileNotFound"); + const lookupAsFileMock = vi.spyOn(JobFSProvider.instance as any, "_lookupAsFile").mockImplementation(() => { + throw customError; + }); + const createEntriesFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_createEntriesFromUri"); + + await expect(JobFSProvider.instance.readFile(testUris.spool)).rejects.toThrow("Custom error that is not FileNotFound"); + expect(createEntriesFromUriMock).not.toHaveBeenCalled(); + + lookupAsFileMock.mockRestore(); + createEntriesFromUriMock.mockRestore(); + }); +}); + +describe("_createEntriesFromUri", () => { + const mockJob = createIJobObject(); + const mockSpoolFile = createIJobFile(); + // buildUniqueSpoolName will create: TESTJOB.JOB1234.STEP.STDOUT.101 + const testJobUri = Uri.from({ scheme: ZoweScheme.Jobs, path: "/sestest/JOB1234/TESTJOB.JOB1234.STEP.STDOUT.101" }); + + beforeEach(() => { + vi.clearAllMocks(); + }); + + it("throws FileNotFound error when URI has insufficient path parts", async () => { + const invalidUri = Uri.from({ scheme: ZoweScheme.Jobs, path: "/sestest/JOB1234" }); + const getInfoFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_getInfoFromUri").mockReturnValue({ + profile: testProfile, + path: "/JOB1234", + }); + + await expect((JobFSProvider.instance as any)._createEntriesFromUri(invalidUri)).rejects.toThrow(); + + getInfoFromUriMock.mockRestore(); + }); + + it("creates profile directory when it doesn't exist", async () => { + const getInfoFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_getInfoFromUri").mockReturnValue({ + profile: testProfile, + path: "/JOB1234/TESTJOB.JOB1234.STEP.STDOUT.101", + }); + const existsMock = vi.spyOn(JobFSProvider.instance, "exists").mockReturnValue(false); + const createDirectoryMock = vi.spyOn(JobFSProvider.instance, "createDirectory").mockImplementation(() => undefined); + const jobEntryWithSpools = { + ...testEntries.job, + entries: new Map(), + }; + const lookupAsDirMock = vi.spyOn(JobFSProvider.instance as any, "_lookupAsDirectory").mockReturnValue(jobEntryWithSpools); + + const mockJesApi = { + getJobsByParameters: vi.fn().mockResolvedValue([mockJob]), + getSpoolFiles: vi.fn().mockResolvedValue([mockSpoolFile]), + }; + const jesApiMock = vi.spyOn(ZoweExplorerApiRegister, "getInstance").mockReturnValue({ + getJesApi: vi.fn().mockReturnValue(mockJesApi), + registeredJesApiTypes: vi.fn().mockReturnValue(["zosmf"]), + } as any); + const ensureAuthNotCancelledMock = vi.spyOn(AuthUtils, "ensureAuthNotCancelled").mockResolvedValue(undefined); + const waitForUnlockMock = vi.spyOn(AuthHandler, "waitForUnlock").mockResolvedValue(undefined); + + // Mock writeFile to add the spool entry to the job's entries map + const writeFileMock = vi.spyOn(JobFSProvider.instance, "writeFile").mockImplementation((uri, content, options: any) => { + if (options?.name) { + jobEntryWithSpools.entries.set(options.name, testEntries.spool); + } + }); + + await (JobFSProvider.instance as any)._createEntriesFromUri(testJobUri); + + expect(createDirectoryMock).toHaveBeenCalledWith( + expect.objectContaining({ path: "/sestest" }), + expect.objectContaining({ isFilter: true }) + ); + + getInfoFromUriMock.mockRestore(); + existsMock.mockRestore(); + createDirectoryMock.mockRestore(); + lookupAsDirMock.mockRestore(); + jesApiMock.mockRestore(); + ensureAuthNotCancelledMock.mockRestore(); + waitForUnlockMock.mockRestore(); + writeFileMock.mockRestore(); + }); + + it("creates job directory and fetches job information when job doesn't exist", async () => { + const getInfoFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_getInfoFromUri").mockReturnValue({ + profile: testProfile, + path: "/JOB1234/TESTJOB.JOB1234.STEP.STDOUT.101", + }); + const existsMock = vi + .spyOn(JobFSProvider.instance, "exists") + .mockReturnValueOnce(true) // profile exists + .mockReturnValueOnce(false); // job doesn't exist + const createDirectoryMock = vi.spyOn(JobFSProvider.instance, "createDirectory").mockImplementation(() => undefined); + const jobEntryWithSpools = { + ...testEntries.job, + entries: new Map(), + }; + const lookupAsDirMock = vi.spyOn(JobFSProvider.instance as any, "_lookupAsDirectory").mockReturnValue(jobEntryWithSpools); + + const mockJesApi = { + getJobsByParameters: vi.fn().mockResolvedValue([mockJob]), + getSpoolFiles: vi.fn().mockResolvedValue([mockSpoolFile]), + }; + const jesApiMock = vi.spyOn(ZoweExplorerApiRegister, "getInstance").mockReturnValue({ + getJesApi: vi.fn().mockReturnValue(mockJesApi), + registeredJesApiTypes: vi.fn().mockReturnValue(["zosmf"]), + } as any); + const ensureAuthNotCancelledMock = vi.spyOn(AuthUtils, "ensureAuthNotCancelled").mockResolvedValue(undefined); + const waitForUnlockMock = vi.spyOn(AuthHandler, "waitForUnlock").mockResolvedValue(undefined); + + // Mock writeFile to add the spool entry to the job's entries map + const writeFileMock = vi.spyOn(JobFSProvider.instance, "writeFile").mockImplementation((uri, content, options: any) => { + if (options?.name) { + jobEntryWithSpools.entries.set(options.name, testEntries.spool); + } + }); + + await (JobFSProvider.instance as any)._createEntriesFromUri(testJobUri); + + expect(mockJesApi.getJobsByParameters).toHaveBeenCalledWith({ jobid: "JOB1234" }); + expect(createDirectoryMock).toHaveBeenCalledWith( + expect.objectContaining({ path: "/sestest/JOB1234" }), + expect.objectContaining({ job: mockJob }) + ); + expect(ensureAuthNotCancelledMock).toHaveBeenCalledWith(testProfile); + expect(waitForUnlockMock).toHaveBeenCalledWith(testProfile); + + getInfoFromUriMock.mockRestore(); + existsMock.mockRestore(); + createDirectoryMock.mockRestore(); + lookupAsDirMock.mockRestore(); + jesApiMock.mockRestore(); + ensureAuthNotCancelledMock.mockRestore(); + waitForUnlockMock.mockRestore(); + writeFileMock.mockRestore(); + }); + + it("throws FileNotFound error when job is not found on mainframe", async () => { + const getInfoFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_getInfoFromUri").mockReturnValue({ + profile: testProfile, + path: "/JOB1234/TESTJOB.JOB1234.STEP.STDOUT.101", + }); + const existsMock = vi + .spyOn(JobFSProvider.instance, "exists") + .mockReturnValueOnce(true) // profile exists + .mockReturnValueOnce(false); // job doesn't exist + + const mockJesApi = { + getJobsByParameters: vi.fn().mockResolvedValue([]), // No jobs found + }; + const jesApiMock = vi.spyOn(ZoweExplorerApiRegister, "getInstance").mockReturnValue({ + getJesApi: vi.fn().mockReturnValue(mockJesApi), + registeredJesApiTypes: vi.fn().mockReturnValue(["zosmf"]), + } as any); + const ensureAuthNotCancelledMock = vi.spyOn(AuthUtils, "ensureAuthNotCancelled").mockResolvedValue(undefined); + const waitForUnlockMock = vi.spyOn(AuthHandler, "waitForUnlock").mockResolvedValue(undefined); + + await expect((JobFSProvider.instance as any)._createEntriesFromUri(testJobUri)).rejects.toThrow(); + + getInfoFromUriMock.mockRestore(); + existsMock.mockRestore(); + jesApiMock.mockRestore(); + ensureAuthNotCancelledMock.mockRestore(); + waitForUnlockMock.mockRestore(); + }); + + it("fetches spool files when job entry has no entries", async () => { + const getInfoFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_getInfoFromUri").mockReturnValue({ + profile: testProfile, + path: "/JOB1234/TESTJOB.JOB1234.STEP.STDOUT.101", + }); + const existsMock = vi.spyOn(JobFSProvider.instance, "exists").mockReturnValue(true); + const jobEntryWithNoSpools = { + ...testEntries.job, + entries: new Map(), + }; + const lookupAsDirMock = vi.spyOn(JobFSProvider.instance as any, "_lookupAsDirectory").mockReturnValue(jobEntryWithNoSpools); + + const mockJesApi = { + getSpoolFiles: vi.fn().mockResolvedValue([mockSpoolFile]), + }; + const jesApiMock = vi.spyOn(ZoweExplorerApiRegister, "getInstance").mockReturnValue({ + getJesApi: vi.fn().mockReturnValue(mockJesApi), + registeredJesApiTypes: vi.fn().mockReturnValue(["zosmf"]), + } as any); + + // Mock writeFile to add the spool entry to the job's entries map with the correct name + const writeFileMock = vi.spyOn(JobFSProvider.instance, "writeFile").mockImplementation((uri, content, options: any) => { + if (options?.name) { + jobEntryWithNoSpools.entries.set(options.name, testEntries.spool); + } + }); + + await (JobFSProvider.instance as any)._createEntriesFromUri(testJobUri); + + expect(mockJesApi.getSpoolFiles).toHaveBeenCalledWith(mockJob.jobname, mockJob.jobid); + expect(writeFileMock).toHaveBeenCalled(); + + getInfoFromUriMock.mockRestore(); + existsMock.mockRestore(); + lookupAsDirMock.mockRestore(); + jesApiMock.mockRestore(); + writeFileMock.mockRestore(); + }); + + it("skips fetching spool files when job entry already has entries", async () => { + const getInfoFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_getInfoFromUri").mockReturnValue({ + profile: testProfile, + path: "/JOB1234/TESTJOB.JOB1234.STEP.STDOUT.101", + }); + const existsMock = vi.spyOn(JobFSProvider.instance, "exists").mockReturnValue(true); + const jobEntryWithSpools = { + ...testEntries.job, + entries: new Map([["TESTJOB.JOB1234.STEP.STDOUT.101", testEntries.spool]]), + }; + const lookupAsDirMock = vi.spyOn(JobFSProvider.instance as any, "_lookupAsDirectory").mockReturnValue(jobEntryWithSpools); + + const mockJesApi = { + getSpoolFiles: vi.fn().mockResolvedValue([mockSpoolFile]), + }; + const jesApiMock = vi.spyOn(ZoweExplorerApiRegister, "getInstance").mockReturnValue({ + getJesApi: vi.fn().mockReturnValue(mockJesApi), + registeredJesApiTypes: vi.fn().mockReturnValue(["zosmf"]), + } as any); + + await (JobFSProvider.instance as any)._createEntriesFromUri(testJobUri); + + expect(mockJesApi.getSpoolFiles).not.toHaveBeenCalled(); + + getInfoFromUriMock.mockRestore(); + existsMock.mockRestore(); + lookupAsDirMock.mockRestore(); + jesApiMock.mockRestore(); + }); + + it("throws FileNotFound error when spool file is not found in job entries", async () => { + const getInfoFromUriMock = vi.spyOn(JobFSProvider.instance as any, "_getInfoFromUri").mockReturnValue({ + profile: testProfile, + path: "/JOB1234/NONEXISTENT.SPOOL.FILE", + }); + const existsMock = vi.spyOn(JobFSProvider.instance, "exists").mockReturnValue(true); + const jobEntryWithDifferentSpool = { + ...testEntries.job, + entries: new Map([["DIFFERENT.SPOOL.NAME", testEntries.spool]]), + }; + const lookupAsDirMock = vi.spyOn(JobFSProvider.instance as any, "_lookupAsDirectory").mockReturnValue(jobEntryWithDifferentSpool); + + await expect((JobFSProvider.instance as any)._createEntriesFromUri(testJobUri)).rejects.toThrow(); + + getInfoFromUriMock.mockRestore(); + existsMock.mockRestore(); + lookupAsDirMock.mockRestore(); + }); }); describe("writeFile", () => { diff --git a/packages/zowe-explorer/l10n/bundle.l10n.json b/packages/zowe-explorer/l10n/bundle.l10n.json index 452922f6f2..ba93fca8a0 100644 --- a/packages/zowe-explorer/l10n/bundle.l10n.json +++ b/packages/zowe-explorer/l10n/bundle.l10n.json @@ -96,7 +96,6 @@ "Number of favorited members out of total members in a PDS" ] }, - "**Behavior:** Each command opens a dedicated terminal panel (for example, only MVS commands in the MVS terminal).": "**Behavior:** Each command opens a dedicated terminal panel (for example, only MVS commands in the MVS terminal).", "**Breaking:** Consolidated VS Code commands:": "**Breaking:** Consolidated VS Code commands:", "**Breaking:** Removed deprecated methods: #2238": "**Breaking:** Removed deprecated methods: #2238", "**Breaking:** Removed the zowe.ds.ZoweNode.openPS command in favor of using vscode.open with a data set URI. See the FileSystemProvider wiki page for more information on data set URIs. #2207": "**Breaking:** Removed the zowe.ds.ZoweNode.openPS command in favor of using vscode.open with a data set URI. See the FileSystemProvider wiki page for more information on data set URIs. #2207", @@ -107,30 +106,8 @@ "**Breaking:** Zowe Explorer no longer uses a temporary directory for storing Data Sets and USS files. All settings related to the temporary downloads folder have been removed. In order to access resources stored by Zowe Explorer V3, refer to the FileSystemProvider documentation for information on how to build and access resource URIs. Extenders can detect changes to resources using the onResourceChanged function in the ZoweExplorerApiRegister class. #2951": "**Breaking:** Zowe Explorer no longer uses a temporary directory for storing Data Sets and USS files. All settings related to the temporary downloads folder have been removed. In order to access resources stored by Zowe Explorer V3, refer to the FileSystemProvider documentation for information on how to build and access resource URIs. Extenders can detect changes to resources using the onResourceChanged function in the ZoweExplorerApiRegister class. #2951", "**BREAKING** Moved data set templates out of data set history settings into new setting \"zowe.ds.templates\". #2345": "**BREAKING** Moved data set templates out of data set history settings into new setting \"zowe.ds.templates\". #2345", "**Breaking** Moved data set templates out of data set history settings into new setting zowe.ds.templates. #2345": "**Breaking** Moved data set templates out of data set history settings into new setting zowe.ds.templates. #2345", - "**Enable:** Go to Zowe Explorer settings and check **Use Integrated Terminals**.": "**Enable:** Go to Zowe Explorer settings and check **Use Integrated Terminals**.", - "**Features:**": "**Features:**", - "**Features:** Reorder columns, filter and sort on columns, choose visible columns, and select multiple jobs for bulk cancel, delete, or download.": "**Features:** Reorder columns, filter and sort on columns, choose visible columns, and select multiple jobs for bulk cancel, delete, or download.", - "**How it works:**": "**How it works:**", "**New** Extender registration APIs:": "**New** Extender registration APIs:", - "**Note:** Sorting is only applied within each page, while the overall member list is fetched by alphabetical, ascending order.": "**Note:** Sorting is only applied within each page, while the overall member list is fetched by alphabetical, ascending order.", - "**Open Job:** This filters the job tree by the job ID to allow direct access to the job in one click. It behaves the same way as clicking the link on the popup but also closes the popup on the same click.": "**Open Job:** This filters the job tree by the job ID to allow direct access to the job in one click. It behaves the same way as clicking the link on the popup but also closes the popup on the same click.", - "**Open the table:**": "**Open the table:**", - "**Open the table:** Right-click a filtered jobs profile and select **Show as Table**.": "**Open the table:** Right-click a filtered jobs profile and select **Show as Table**.", - "**Open:** Right-click a profile in Data Sets, USS, or Jobs tree and select an **Issue x Command** option.": "**Open:** Right-click a profile in Data Sets, USS, or Jobs tree and select an **Issue x Command** option.", - "**Poll For Job Completion:** This button automatically starts polling for the job to complete. When it completes, there will be a new notification popup with the return code and the same open job button to filter the job in the job tree. The poll interval is 5000 ms by default (i.e. checking for completion every 5 seconds) but this interval can be changed in the setting **Zowe > Jobs: Poll Interval**.": "**Poll For Job Completion:** This button automatically starts polling for the job to complete. When it completes, there will be a new notification popup with the return code and the same open job button to filter the job in the job tree. The poll interval is 5000 ms by default (i.e. checking for completion every 5 seconds) but this interval can be changed in the setting **Zowe > Jobs: Poll Interval**.", - "**Right click** on sequential data sets, partitioned data sets (to download all members), partitioned data set members, USS files, or USS directories and click on the respective Download ... option to select download options.": "**Right click** on sequential data sets, partitioned data sets (to download all members), partitioned data set members, USS files, or USS directories and click on the respective Download ... option to select download options.", - "**Row actions:** Right-click a data set to:": "**Row actions:** Right-click a data set to:", - "**Row actions:** Right-click a job to:": "**Row actions:** Right-click a job to:", - "**Search options:**": "**Search options:**", "/u/username/directory": "/u/username/directory", - "#### Copy across LPAR updates": "#### Copy across LPAR updates", - "#### Favorite individual PDS members": "#### Favorite individual PDS members", - "#### Favorite VSAM data sets": "#### Favorite VSAM data sets", - "#### Get JCL encoding": "#### Get JCL encoding", - "#### Loading credential manager options": "#### Loading credential manager options", - "#### Submit job with encoding": "#### Submit job with encoding", - "#### VSAM support updates": "#### VSAM support updates", - "#### Windows custom persistence levels": "#### Windows custom persistence levels", "#2828": "#2828", "$(plus) Create a new Unix command": "$(plus) Create a new Unix command", "1 member": "1 member", @@ -149,23 +126,18 @@ ] }, "Ability to compare 2 files from MVS and/or UNIX System Services views via right click actions, with option to compare in Read-Only mode too.": "Ability to compare 2 files from MVS and/or UNIX System Services views via right click actions, with option to compare in Read-Only mode too.", - "Accessibility improvements": "Accessibility improvements", "Account Number": "Account Number", "action is not supported for this property type.": "action is not supported for this property type.", "Actions": "Actions", - "Active jobs in the **JOBS** tree can now be set to poll for job completion. Right-click on a filtered jobs profile, select **Start Polling Active Jobs**, and enter the desired poll interval. The default poll interval can be set in the Zowe Explorer settings under **Zowe > Jobs > Poll Interval**. The minimum interval is 1000ms.": "Active jobs in the **JOBS** tree can now be set to poll for job completion. Right-click on a filtered jobs profile, select **Start Polling Active Jobs**, and enter the desired poll interval. The default poll interval can be set in the Zowe Explorer settings under **Zowe > Jobs > Poll Interval**. The minimum interval is 1000ms.", - "Active jobs in the filtered profile automatically refresh at the specified interval and any new jobs matching the filter automatically appear. When a job completes, it shows a notification message with the job name and return code.": "Active jobs in the filtered profile automatically refresh at the specified interval and any new jobs matching the filter automatically appear. When a job completes, it shows a notification message with the job name and return code.", "Adapted to new API changes from grouping of common methods into singleton classes #2109": "Adapted to new API changes from grouping of common methods into singleton classes #2109", "Add": "Add", "Add a data set or USS resource to a virtual workspace with the new \"Add to Workspace\" context menu option. #3265": "Add a data set or USS resource to a virtual workspace with the new \"Add to Workspace\" context menu option. #3265", "Add Credentials": "Add Credentials", - "Add data sets, USS profiles, or USS directories to a VS Code workspace to group resources from different locations. Right-click a data set, USS profile, or USS directory and select **Add to workspace**.": "Add data sets, USS profiles, or USS directories to a VS Code workspace to group resources from different locations. Right-click a data set, USS profile, or USS directory and select **Add to workspace**.", "Add deprecation message to history settings explaining to users how to edit items. #2303": "Add deprecation message to history settings explaining to users how to edit items. #2303", "Add localization support to release notes and changelogs. #4047": "Add localization support to release notes and changelogs. #4047", "Add New History Item": "Add New History Item", "Add Profile to Tree": "Add Profile to Tree", "Add support for filtering PDS members by name and by date created. #4075": "Add support for filtering PDS members by name and by date created. #4075", - "Add to workspace": "Add to workspace", "Add username and password for basic authentication": "Add username and password for basic authentication", "Added \"Cancel Job\" feature for job nodes in Jobs tree view. #2251": "Added \"Cancel Job\" feature for job nodes in Jobs tree view. #2251", "Added \"Edit Attributes\" option for USS files and folders. #2254": "Added \"Edit Attributes\" option for USS files and folders. #2254", @@ -255,26 +227,20 @@ "Added support for consoleName property in z/OSMF profiles when issuing MVS commands #1667": "Added support for consoleName property in z/OSMF profiles when issuing MVS commands #1667", "Added support for consoleName property in z/OSMF profiles when issuing MVS commands. #1667": "Added support for consoleName property in z/OSMF profiles when issuing MVS commands. #1667", "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. #3945": "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. #3945", - "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. Updated Zowe SDKs to version 8.28.0 to address an issue where copying a PDS member to a data set across LPARs failed. This occurred when the target PDS already contained members, but none matched the name of the PDS member being copied.": "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. Updated Zowe SDKs to version 8.28.0 to address an issue where copying a PDS member to a data set across LPARs failed. This occurred when the target PDS already contained members, but none matched the name of the PDS member being copied.", "Added support for custom credential manager extensions in Zowe Explorer #2212": "Added support for custom credential manager extensions in Zowe Explorer #2212", - "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs.": "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs.", "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs. #3935": "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs. #3935", "Added support for downloading data sets, data set members, USS files, and USS directories. #3843": "Added support for downloading data sets, data set members, USS files, and USS directories. #3843", "Added support for enabling/disabling validation for a Zowe profile across all trees #2570": "Added support for enabling/disabling validation for a Zowe profile across all trees #2570", "Added support for encoding profile property when retrieving JCL with z/OSMF. #3877": "Added support for encoding profile property when retrieving JCL with z/OSMF. #3877", - "Added support for encoding profile property when retrieving JCL with z/OSMF. For example, include \"encoding\": \"IBM-1147\" in the z/OSMF profile to view JCL with \"IBM-1147\" encoding via the right-click Get JCL job option.": "Added support for encoding profile property when retrieving JCL with z/OSMF. For example, include \"encoding\": \"IBM-1147\" in the z/OSMF profile to view JCL with \"IBM-1147\" encoding via the right-click Get JCL job option.", "Added support for fetching virtual workspaces in parallel after Zowe Explorer activation. #3880": "Added support for fetching virtual workspaces in parallel after Zowe Explorer activation. #3880", "Added support for hiding a Zowe profile across all trees #2567": "Added support for hiding a Zowe profile across all trees #2567", "Added support for jobEncoding profile property when submitting jobs to z/OSMF. #3826": "Added support for jobEncoding profile property when submitting jobs to z/OSMF. #3826", - "Added support for jobEncoding profile property when submitting jobs to z/OSMF. For example, include \"jobEncoding\": \"IBM-1147\" in the z/OSMF profile to submit jobs with \"IBM-1147\" encoding.": "Added support for jobEncoding profile property when submitting jobs to z/OSMF. For example, include \"jobEncoding\": \"IBM-1147\" in the z/OSMF profile to submit jobs with \"IBM-1147\" encoding.", "Added support for loading credential manager options from the imperative.json file. Add a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager. #3935": "Added support for loading credential manager options from the imperative.json file. Add a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager. #3935", - "Added support for loading credential manager options from the imperative.json file. Added a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager.": "Added support for loading credential manager options from the imperative.json file. Added a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager.", "Added support for Local Storage settings for persistent settings in Zowe Explorer #2208": "Added support for Local Storage settings for persistent settings in Zowe Explorer #2208", "Added support for logging in to multiple API ML instances per team config file. #2264": "Added support for logging in to multiple API ML instances per team config file. #2264", "Added support for logging in to multiple API ML instances per team configuration file. #2264": "Added support for logging in to multiple API ML instances per team configuration file. #2264", "Added support for pasting at top-level of USS tree (if filtered), and optimized copy/paste operations to avoid using local paths when possible. #2041": "Added support for pasting at top-level of USS tree (if filtered), and optimized copy/paste operations to avoid using local paths when possible. #2041", "Added support for TTY-dependent scripts when using integrated terminals. #3640": "Added support for TTY-dependent scripts when using integrated terminals. #3640", - "Added support to delete VSAM data sets via right-click action.": "Added support to delete VSAM data sets via right-click action.", "Added support to delete VSAM data sets. #3824": "Added support to delete VSAM data sets. #3824", "Added support to view the Encoding history for MVS and Dataset in the History View. #2776": "Added support to view the Encoding history for MVS and Dataset in the History View. #2776", "Added the \"Copy Name\" option to VSAM data sets. #3466": "Added the \"Copy Name\" option to VSAM data sets. #3466", @@ -306,7 +272,6 @@ "Adopted new Zowe Explorer API, ZoweVsCodeExtension.createTeamConfiguration for Zowe team configuration creation. #3088": "Adopted new Zowe Explorer API, ZoweVsCodeExtension.createTeamConfiguration for Zowe team configuration creation. #3088", "Adopted support for VS Code proxy settings with zosmf profile types. #3010": "Adopted support for VS Code proxy settings with zosmf profile types. #3010", "Adopted ZE APIs new directConnectLogin and directConnectLogout methods for login and logout actions NOT using the tokenType apimlAuthenticationToken. #3346": "Adopted ZE APIs new directConnectLogin and directConnectLogout methods for login and logout actions NOT using the tokenType apimlAuthenticationToken. #3346", - "Advanced data set copy and paste": "Advanced data set copy and paste", "After installing the extension, please make sure to reload your VS Code window in order to start using the installed credential manager": "After installing the extension, please make sure to reload your VS Code window in order to start using the installed credential manager", "All": "All", "All Files": "All Files", @@ -327,7 +292,6 @@ "Allocating new data set": "Allocating new data set", "Allow deleting migrated datasets #2447": "Allow deleting migrated datasets #2447", "Allow extenders to add context menu actions to a top level node, i.e. data sets, USS, Jobs, by encoding the profile type in the context value. #3309": "Allow extenders to add context menu actions to a top level node, i.e. data sets, USS, Jobs, by encoding the profile type in the context value. #3309", - "Also available for a PDS in the Favorites tree": "Also available for a PDS in the Favorites tree", "An SSH profile will be used for issuing UNIX commands with the profile {0}.": "An SSH profile will be used for issuing UNIX commands with the profile {0}.", "Applied credential manager options from imperative.json to default credential manager": "Applied credential manager options from imperative.json to default credential manager", "Apply changes": "Apply changes", @@ -360,7 +324,6 @@ "Auth Method: ": "Auth Method: ", "Auto Store: ": "Auto Store: ", "Auto-detect from file tags": "Auto-detect from file tags", - "Auto-detect global team configuration": "Auto-detect global team configuration", "Back": "Back", "Basic Authentication": "Basic Authentication", "Binary": "Binary", @@ -382,7 +345,6 @@ "Cannot submit, item invalid.": "Cannot submit, item invalid.", "Cannot switch to token-based authentication for profile {0}.": "Cannot switch to token-based authentication for profile {0}.", "Case Sensitive": "Case Sensitive", - "Case sensitive and regex searching": "Case sensitive and regex searching", "Certificate Authentication": "Certificate Authentication", "Certificate File": "Certificate File", "Certificate Files": "Certificate Files", @@ -446,7 +408,6 @@ "Clear filter for PDS": "Clear filter for PDS", "Clear filter for profile": "Clear filter for profile", "Click on a filter to change its value": "Click on a filter to change its value", - "Click on Edit in settings.json to enter in desired values in the file. Specify the method and direction from the options provided by IntelliSense. For example:": "Click on Edit in settings.json to enter in desired values in the file. Specify the method and direction from the options provided by IntelliSense. For example:", "Column settings": "Column settings", "Command response: {0}/Command response": { "message": "Command response: {0}", @@ -466,7 +427,6 @@ "Contents": "Contents", "Continue": "Continue", "Convert existing profiles": "Convert existing profiles", - "Copy job info as JSON": "Copy job info as JSON", "Copying data set(s)": "Copying data set(s)", "Copying data sets is not supported.": "Copying data sets is not supported.", "Copying file structure...": "Copying file structure...", @@ -504,7 +464,6 @@ ] }, "Creation Date": "Creation Date", - "Credential Manager Updates": "Credential Manager Updates", "Credentials for {0} were successfully updated/Profile name": { "message": "Credentials for {0} were successfully updated", "comment": [ @@ -518,7 +477,6 @@ ] }, "Current Records": "Current Records", - "Currently, hidden Unix files (those starting with a .) are always listed in the USS tree. There is now a setting **Zowe > Files: Show Hidden Files** that can be disabled to hide these files.": "Currently, hidden Unix files (those starting with a .) are always listed in the USS tree. There is now a setting **Zowe > Files: Show Hidden Files** that can be disabled to hide these files.", "Custom credential manager {0} found, attempting to activate./Credential manager display name": { "message": "Custom credential manager {0} found, attempting to activate.", "comment": [ @@ -547,16 +505,9 @@ "New data set name" ] }, - "Data set search is now even smarter because it supports comma-separated member names within a partitioned data set. For example, MY.PDS(MEM1,TEST*) will return MY.PDS with the member called MEM1 and any members beginning with TEST.": "Data set search is now even smarter because it supports comma-separated member names within a partitioned data set. For example, MY.PDS(MEM1,TEST*) will return MY.PDS with the member called MEM1 and any members beginning with TEST.", - "Data set searches now support case sensitivity and regular expressions. Enable these options in the Search PDS members Quick Pick dialog.": "Data set searches now support case sensitivity and regular expressions. Enable these options in the Search PDS members Quick Pick dialog.", "Data Set Template Save Location": "Data Set Template Save Location", - "Data set tree pagination": "Data set tree pagination", "Data set(s) moved successfully.": "Data set(s) moved successfully.", "Data Sets": "Data Sets", - "Data sets and members can now be copied and pasted within or across LPARs. Drag and drop is also supported for moving items between locations. Permission and attribute edge cases are handled with clear error messages.": "Data sets and members can now be copied and pasted within or across LPARs. Drag and drop is also supported for moving items between locations. Permission and attribute edge cases are handled with clear error messages.", - "Data sets can now be searched for a string, similar to ISPF's SRCHFOR.": "Data sets can now be searched for a string, similar to ISPF's SRCHFOR.", - "Data sets can now be viewed in a table format, similar to the jobs table. The data sets table allows for easier filtering, sorting, and bulk actions on data sets and members.": "Data sets can now be viewed in a table format, similar to the jobs table. The data sets table allows for easier filtering, sorting, and bulk actions on data sets and members.", - "Data sets table": "Data sets table", "DatasetActions.copyDataSet - use DatasetActions.copyDataSets instead": "DatasetActions.copyDataSet - use DatasetActions.copyDataSets instead", "DatasetFSProvider.stat() will now throw a FileNotFound error for extenders trying to fetch an MVS resource that does not exist. #3252": "DatasetFSProvider.stat() will now throw a FileNotFound error for extenders trying to fetch an MVS resource that does not exist. #3252", "Date Completed": "Date Completed", @@ -569,7 +520,6 @@ "Encoding name" ] }, - "Default sort order": "Default sort order", "Default Zowe credentials manager not found on current platform. This is typically the case when running in container-based environments or Linux systems that miss required security libraries or user permissions.": "Default Zowe credentials manager not found on current platform. This is typically the case when running in container-based environments or Linux systems that miss required security libraries or user permissions.", "Delete": "Delete", "Delete action was canceled.": "Delete action was canceled.", @@ -591,13 +541,11 @@ "Disabled": "Disabled", "Display in Tree": "Display in Tree", "Display release notes after an update": "Display release notes after an update", - "Display the data set in the **DATA SETS** tree": "Display the data set in the **DATA SETS** tree", "Do you wish to apply this for all trees?": "Do you wish to apply this for all trees?", "Do you wish to change the authentication": "Do you wish to change the authentication", "Do you wish to use this credential manager instead?": "Do you wish to use this credential manager instead?", "Don't ask again": "Don't ask again", "Download": "Download", - "Download data sets and USS files to the local filesystem": "Download data sets and USS files to the local filesystem", "Download Options": "Download Options", "Download single spool operation not implemented by extender. Please contact the extension developer(s).": "Download single spool operation not implemented by extender. Please contact the extension developer(s).", "Downloaded: {0}/Download time": { @@ -625,9 +573,7 @@ "Easily search for data in filtered data sets and partitioned data sets with the new Search Filtered Data Sets and Search PDS Members functionality. #3306": "Easily search for data in filtered data sets and partitioned data sets with the new Search Filtered Data Sets and Search PDS Members functionality. #3306", "EBCDIC": "EBCDIC", "Edit Attributes": "Edit Attributes", - "Edit history": "Edit history", "Edit History": "Edit History", - "Edit history allows viewing, deleting, or adding a profile's search/filter history for data sets, USS, and jobs. Right-click a profile and select **Edit History**.": "Edit history allows viewing, deleting, or adding a profile's search/filter history for data sets, USS, and jobs. Right-click a profile and select **Edit History**.", "Edit Options (Case Sensitive: {0}, Regex: {1})/Case SensitiveRegex": { "message": "Edit Options (Case Sensitive: {0}, Regex: {1})", "comment": [ @@ -690,7 +636,6 @@ "Enter or update the console command": "Enter or update the console command", "Enter or update the TSO command": "Enter or update the TSO command", "Enter or update the Unix command": "Enter or update the Unix command", - "Enter search string in the input field at the top.": "Enter search string in the input field at the top.", "Enter the account number for the TSO connection.": "Enter the account number for the TSO connection.", "Enter the average block length (if allocation unit = BLK)": "Enter the average block length (if allocation unit = BLK)", "Enter the data set pattern to filter on": "Enter the data set pattern to filter on", @@ -926,7 +871,6 @@ ] }, "Favorites": "Favorites", - "Favorites changes": "Favorites changes", "Fetching data set...": "Fetching data set...", "Fetching spool file...": "Fetching spool file...", "File does not exist. It may have been deleted.": "File does not exist. It may have been deleted.", @@ -956,7 +900,6 @@ "Node label" ] }, - "Filter data sets by name or by date created": "Filter data sets by name or by date created", "Filter updated for {0}/Job label": { "message": "Filter updated for {0}", "comment": [ @@ -1107,6 +1050,7 @@ "Fixed an issue where the filesystem continued to use a profile with invalid credentials to fetch resources. Now, after an authentication error occurs for a profile, it cannot be used again in the filesystem until the authentication error is resolved. #3329": "Fixed an issue where the filesystem continued to use a profile with invalid credentials to fetch resources. Now, after an authentication error occurs for a profile, it cannot be used again in the filesystem until the authentication error is resolved. #3329", "Fixed an issue where the first change to a Zowe team configuration did not accurately refresh the data set, USS and job trees. #3524": "Fixed an issue where the first change to a Zowe team configuration did not accurately refresh the data set, USS and job trees. #3524", "Fixed an issue where the job spool pagination code lens was appearing even though the extender did not support pagination. #3714": "Fixed an issue where the job spool pagination code lens was appearing even though the extender did not support pagination. #3714", + "Fixed an issue where the Jobs FileSystemProvider could not resolve profiles from URIs when opened programmatically, causing errors when extensions tried to open job spool files directly. The Jobs FileSystemProvider now extracts the profile name from the URI and loads it on-demand, matching the behavior of Datasets and USS FileSystemProviders. #4284": "Fixed an issue where the Jobs FileSystemProvider could not resolve profiles from URIs when opened programmatically, causing errors when extensions tried to open job spool files directly. The Jobs FileSystemProvider now extracts the profile name from the URI and loads it on-demand, matching the behavior of Datasets and USS FileSystemProviders. #4284", "Fixed an issue where the location prompt for the Create Directory and Create File USS features would appear even when a path is already set for the profile or parent folder. #3183": "Fixed an issue where the location prompt for the Create Directory and Create File USS features would appear even when a path is already set for the profile or parent folder. #3183", "Fixed an issue where the mismatch etag error returned was not triggering the diff editor, resulting in possible loss of data due to the issue. #2277": "Fixed an issue where the mismatch etag error returned was not triggering the diff editor, resulting in possible loss of data due to the issue. #2277", "Fixed an issue where the onProfilesUpdate event did not fire after secure credentials were updated. #2822": "Fixed an issue where the onProfilesUpdate event did not fire after secure credentials were updated. #2822", @@ -1301,10 +1245,7 @@ "Hide Profile": "Hide Profile", "Hide profile name from tree view": "Hide profile name from tree view", "HLQ.**.DATASET or HLQ.DATASET.NAME": "HLQ.**.DATASET or HLQ.DATASET.NAME", - "Hovering over a data set, USS, or jobs profile now displays detailed connection information.": "Hovering over a data set, USS, or jobs profile now displays detailed connection information.", "ID": "ID", - "If searching more than 50 members, a prompt displays to confirm or cancel.": "If searching more than 50 members, a prompt displays to confirm or cancel.", - "If you wish to make localization contributions to these or generally across the rest of Zowe Explorer, please reach out in the usual places.": "If you wish to make localization contributions to these or generally across the rest of Zowe Explorer, please reach out in the usual places.", "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete or download. #2258": "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete or download. #2258", "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete, or download. #2258": "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete, or download. #2258", "Implemented change detection in the data sets and USS filesystems so that changes on the mainframe are reflected in opened editors for Data Sets and USS files. #3040": "Implemented change detection in the data sets and USS filesystems so that changes on the mainframe are reflected in opened editors for Data Sets and USS files. #3040", @@ -1327,7 +1268,6 @@ "Implemented the SharedActions.refreshProvider function to allow refreshing a single tree provider. #3524": "Implemented the SharedActions.refreshProvider function to allow refreshing a single tree provider. #3524", "Implemented the VS Code FileSystemProvider for the Data Sets, Jobs, and USS trees to handle all read/write actions as well as conflict resolution. #2207": "Implemented the VS Code FileSystemProvider for the Data Sets, Jobs, and USS trees to handle all read/write actions as well as conflict resolution. #2207", "Improved integrated terminal behavior to match standard terminal functionality. Now, users can smoothly maintain proper cursor position when typing and backspacing. #3391": "Improved integrated terminal behavior to match standard terminal functionality. Now, users can smoothly maintain proper cursor position when typing and backspacing. #3391", - "Improved USS filtering": "Improved USS filtering", "Include Hidden Files": "Include Hidden Files", "Include hidden files when downloading directories": "Include hidden files when downloading directories", "Initial Records": "Initial Records", @@ -1348,7 +1288,6 @@ "Local storage key" ] }, - "Integrated terminal": "Integrated terminal", "Internal error: A Zowe Explorer extension client tried to register an invalid Command API.": "Internal error: A Zowe Explorer extension client tried to register an invalid Command API.", "Internal error: A Zowe Explorer extension client tried to register an invalid JES API.": "Internal error: A Zowe Explorer extension client tried to register an invalid JES API.", "Internal error: A Zowe Explorer extension client tried to register an invalid MVS API.": "Internal error: A Zowe Explorer extension client tried to register an invalid MVS API.", @@ -1422,14 +1361,12 @@ ] }, "Job Correlator": "Job Correlator", - "Job enhancements": "Job enhancements", "Job ID": "Job ID", "Job Name": "Job Name", + "Job not found: {0}": "Job not found: {0}", "Job polling will automatically check active jobs for status changes at regular intervals. You will be notified when jobs complete. You can stop polling at any time by running this command again.": "Job polling will automatically check active jobs for status changes at regular intervals. You will be notified when jobs complete. You can stop polling at any time by running this command again.", "Job search cancelled.": "Job search cancelled.", - "Job spool pagination": "Job spool pagination", "Job submission failed.": "Job submission failed.", - "Job submission improvements": "Job submission improvements", "Job submitted {0} using profile {1}./Job IDProfile name": { "message": "Job submitted {0} using profile {1}.", "comment": [ @@ -1453,7 +1390,6 @@ "jobActions.modifyCommand.apiNonExisting": "jobActions.modifyCommand.apiNonExisting", "JobId: ": "JobId: ", "Jobs": "Jobs", - "Jobs table": "Jobs table", "Jobs with ID: {0}/Job Search ID": { "message": "Jobs with ID: {0}", "comment": [ @@ -1468,7 +1404,6 @@ "Job Status" ] }, - "Large job spool files now load faster by displaying a Load more… button at the bottom of the spool file to fetch additional lines as needed. For active jobs, use this button to retrieve new output without refreshing the **JOBS** tree. It is recommended to use the default keyboard shortcut Ctrl + L to quickly load more lines. The number of lines per page and the toggle for pagination can be configured in the settings under **Zowe > Jobs > Paginate**. The default is 100 lines per page.": "Large job spool files now load faster by displaying a Load more… button at the bottom of the spool file to fetch additional lines as needed. For active jobs, use this button to retrieve new output without refreshing the **JOBS** tree. It is recommended to use the default keyboard shortcut Ctrl + L to quickly load more lines. The number of lines per page and the toggle for pagination can be configured in the settings under **Zowe > Jobs > Paginate**. The default is 100 lines per page.", "Last Modified By": "Last Modified By", "Last refreshed:": "Last refreshed:", "Let the API infer encoding from individual USS file tags": "Let the API infer encoding from individual USS file tags", @@ -1492,8 +1427,6 @@ ] }, "Loading release notes...": "Loading release notes...", - "Localization for release notes and changelogs": "Localization for release notes and changelogs", - "Localization is tied to the VS Code localization setting. If there are no localizations available for a string, it will fallback to English.": "Localization is tied to the VS Code localization setting. If there are no localizations available for a string, it will fallback to English.", "Localization of strings within Zowe Explorer webviews. #2983": "Localization of strings within Zowe Explorer webviews. #2983", "Log in to Authentication Service": "Log in to Authentication Service", "Log in to obtain a new token value": "Log in to obtain a new token value", @@ -1513,7 +1446,6 @@ ] }, "Manage Persistent Properties": "Manage Persistent Properties", - "Many issues have been addressed to allow screen readers to better navigate and use Zowe Explorer features.": "Many issues have been addressed to allow screen readers to better navigate and use Zowe Explorer features.", "Member '{0}' not found in PDS '{1}'/Member namePDS name": { "message": "Member '{0}' not found in PDS '{1}'", "comment": [ @@ -1560,7 +1492,6 @@ "Moving MVS files...": "Moving MVS files...", "Moving USS files...": "Moving USS files...", "Must be a valid number": "Must be a valid number", - "MVS data set enhancements": "MVS data set enhancements", "Name": "Name", "Name of Data Set": "Name of Data Set", "Name of data set member": "Name of data set member", @@ -1637,10 +1568,6 @@ ] }, "not set": "not set", - "Note as this is a brand new feature, only the z/OSMF profile type supports this functionality upon release. Expect other profile types to add their backend support over time.": "Note as this is a brand new feature, only the z/OSMF profile type supports this functionality upon release. Expect other profile types to add their backend support over time.", - "Note that the filter only applies on the client side, so if pagination is enabled and active, each individual page is filtered and it may still require clicking through pages to get to the one with the filtered data sets or members.": "Note that the filter only applies on the client side, so if pagination is enabled and active, each individual page is filtered and it may still require clicking through pages to get to the one with the filtered data sets or members.", - "Note that when only a partial selection of PDS members are favorited, data set pagination is disabled on the PDS in the favorites tree.": "Note that when only a partial selection of PDS members are favorited, data set pagination is disabled on the PDS in the favorites tree.", - "Now the right click option on partitioned data sets and profile to filter data sets/data set members supports filtering by name or by date created. The filter by name supports wildcards and comma-separated names in the same way as the data set search.": "Now the right click option on partitioned data sets and profile to filter data sets/data set members supports filtering by name or by date created. The filter by name supports wildcards and comma-separated names in the same way as the data set search.", "Off": "Off", "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command:": "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command:", "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command: #2853": "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command: #2853", @@ -1659,11 +1586,7 @@ "Open File": "Open File", "Open Folder": "Open Folder", "Open Job": "Open Job", - "Open selected data set": "Open selected data set", "Open selected items": "Open selected items", - "Open the **Command Palette** and search for Zowe Explorer: List Data Sets, select a profile, and enter a search filter.": "Open the **Command Palette** and search for Zowe Explorer: List Data Sets, select a profile, and enter a search filter.", - "Open the data set": "Open the data set", - "Open the job in the Jobs tree": "Open the job in the Jobs tree", "Opening a dialog for Upload or Download of files will now open at the project level directory or the user's home directory if no project is opened. #2203": "Opening a dialog for Upload or Download of files will now open at the project level directory or the user's home directory if no project is opened. #2203", "Opening data set failed.": "Opening data set failed.", "openUSS() called from invalid node.": "openUSS() called from invalid node.", @@ -1707,13 +1630,10 @@ "Phase": "Phase", "Phase Name": "Phase Name", "Pin": "Pin", - "Pin or unpin the row": "Pin or unpin the row", - "Pin rows to keep them visible while scrolling": "Pin rows to keep them visible while scrolling", "Pin selected rows": "Pin selected rows", "Please enter a valid USS path.": "Please enter a valid USS path.", "Please install associated VS Code extension for custom credential manager or revert to default.": "Please install associated VS Code extension for custom credential manager or revert to default.", "Please review the following lines:": "Please review the following lines:", - "Please see the docs for much more detail on downloading data sets, downloading USS files or USS directories.": "Please see the docs for much more detail on downloading data sets, downloading USS files or USS directories.", "Please select a single profile or PDS.": "Please select a single profile or PDS.", "Plugin of name '{0}' was defined for custom credential management on imperative.json file./Credential manager display name": { "message": "Plugin of name '{0}' was defined for custom credential management on imperative.json file.", @@ -1721,7 +1641,6 @@ "Credential manager display name" ] }, - "Poll active jobs": "Poll active jobs", "Poll For Job Completion": "Poll For Job Completion", "Poll interval (in ms) for: {0}/URI path": { "message": "Poll interval (in ms) for: {0}", @@ -1807,7 +1726,6 @@ "Name of the selected profile" ] }, - "Profile info hover": "Profile info hover", "Profile is invalid": "Profile is invalid", "Profile is invalid, check connection details.": "Profile is invalid, check connection details.", "Profile not found.": "Profile not found.", @@ -1821,7 +1739,6 @@ ] }, "Profile: ": "Profile: ", - "Progress is shown in the status bar.": "Progress is shown in the status bar.", "Project": "Project", "Project: in the current working directory": "Project: in the current working directory", "Prompting the user for a data set pattern": "Prompting the user for a data set pattern", @@ -1860,9 +1777,7 @@ "Refresh File Properties": "Refresh File Properties", "refreshUSS() called from invalid node.": "refreshUSS() called from invalid node.", "Regex": "Regex", - "Release notes": "Release notes", "Release Notes": "Release Notes", - "Release notes for Zowe Explorer are now available in VS Code. Release notes are displayed when Zowe Explorer updates and can also be accessed from the command palette (Ctrl + Shift + P) by searching for Zowe Explorer: Display Release Notes. Disable automatic display of release notes when updating by unticking Display release notes after an update in this window or in the Zowe Explorer settings.": "Release notes for Zowe Explorer are now available in VS Code. Release notes are displayed when Zowe Explorer updates and can also be accessed from the command palette (Ctrl + Shift + P) by searching for Zowe Explorer: Display Release Notes. Disable automatic display of release notes when updating by unticking Display release notes after an update in this window or in the Zowe Explorer settings.", "Reload": "Reload", "Reload window": "Reload window", "Reload Window": "Reload Window", @@ -1892,7 +1807,6 @@ "Old data set name" ] }, - "Reorder, filter, sort, and choose visible columns": "Reorder, filter, sort, and choose visible columns", "Replace": "Replace", "Replaced an import of ILocalStorageAccess from \"@zowe/zowe-explorer-api/src/extend/ILocalStorageAccess\" to \"@zowe/zowe-explorer-api\". #3606": "Replaced an import of ILocalStorageAccess from \"@zowe/zowe-explorer-api/src/extend/ILocalStorageAccess\" to \"@zowe/zowe-explorer-api\". #3606", "Replaced keytar dependency with keyring module from @zowe/secrets-for-zowe-sdk. #2358 #2348": "Replaced keytar dependency with keyring module from @zowe/secrets-for-zowe-sdk. #2358 #2348", @@ -1908,15 +1822,10 @@ "Resolved TypeError: Cannot read properties of undefined (reading 'direction') error for favorited items. #3067": "Resolved TypeError: Cannot read properties of undefined (reading 'direction') error for favorited items. #3067", "Resolved user interface bug with tables that caused an inconsistent table height within the VS Code Panel. #3389": "Resolved user interface bug with tables that caused an inconsistent table height within the VS Code Panel. #3389", "Response From Service": "Response From Service", - "Results appear in the Zowe Resources panel, where files can be bulk opened.": "Results appear in the Zowe Resources panel, where files can be bulk opened.", "Retrieving response from JES list API": "Retrieving response from JES list API", "Retrieving response from MVS list API": "Retrieving response from MVS list API", "Retrieving response from USS list API": "Retrieving response from USS list API", "Return Code": "Return Code", - "Right-click a filtered data sets profile, a data set, or a favorite, and select **Show as Table**.": "Right-click a filtered data sets profile, a data set, or a favorite, and select **Show as Table**.", - "Right-click a PDS: **Search PDS members**": "Right-click a PDS: **Search PDS members**", - "Right-click a profile: **Search filtered data sets**": "Right-click a profile: **Search filtered data sets**", - "Right-click on a directory or partitioned data set in the **USS** or **DATA SETS** tree and select **Upload with Encoding...** to choose a character encoding for the uploaded files.": "Right-click on a directory or partitioned data set in the **USS** or **DATA SETS** tree and select **Upload with Encoding...** to choose a character encoding for the uploaded files.", "Save as User setting": "Save as User setting", "Save as Workspace setting": "Save as Workspace setting", "Saving data set...": "Saving data set...", @@ -1925,7 +1834,6 @@ "Search All Filesystems": "Search All Filesystems", "Search all mounted filesystems under the path": "Search all mounted filesystems under the path", "Search by job ID": "Search by job ID", - "Search data sets": "Search data sets", "Search data sets: use a comma to separate multiple patterns": "Search data sets: use a comma to separate multiple patterns", "Search History": "Search History", "Search Keyword History": "Search Keyword History", @@ -2011,11 +1919,9 @@ "Select default encoding for directory files (current: Auto-detect from file tags)": "Select default encoding for directory files (current: Auto-detect from file tags)", "Select Download Location": "Select Download Location", "Select download options": "Select download options", - "Select multiple data sets or members for bulk open": "Select multiple data sets or members for bulk open", "Select search options": "Select search options", "Select specific encoding for file": "Select specific encoding for file", "Select specific encoding for file (current: {0})": "Select specific encoding for file (current: {0})", - "Select text in the editor, right-click, and choose **Open Selected Data Set**. If the selected text is a valid data set name, it opens in a new editor tab or focus onto an existing tab if already open. If the selected text is a valid partitioned data set, it opens in the **DATA SETS** tree. This is equivalent to the ZOOM command in ISPF.": "Select text in the editor, right-click, and choose **Open Selected Data Set**. If the selected text is a valid data set name, it opens in a new editor tab or focus onto an existing tab if already open. If the selected text is a valid partitioned data set, it opens in the **DATA SETS** tree. This is equivalent to the ZOOM command in ISPF.", "Select the location of the config file to edit": "Select the location of the config file to edit", "Select the location where the config file will be initialized": "Select the location where the config file will be initialized", "Select the profile to use to open the data set": "Select the profile to use to open the data set", @@ -2046,9 +1952,7 @@ }, "Set a filter...": "Set a filter...", "Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546": "Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546", - "Setting to hide hidden USS files": "Setting to hide hidden USS files", "Settings have been successfully migrated for Zowe Explorer version 2 and above. To apply these settings, please reload your VS Code window.": "Settings have been successfully migrated for Zowe Explorer version 2 and above. To apply these settings, please reload your VS Code window.", - "Several members may be favorited or unfavorited at once by doing a multi-selection.": "Several members may be favorited or unfavorited at once by doing a multi-selection.", "Showing attributes for {0}./Label": { "message": "Showing attributes for {0}.", "comment": [ @@ -2056,7 +1960,6 @@ ] }, "Size": "Size", - "Smarter data set search filtering": "Smarter data set search filtering", "Solved issue with a conflicting keybinding for Edit History, changed keybinding to Ctrl+Alt+y for Windows and ⌘ Cmd+⌥ Opt+y for macOS. #2543": "Solved issue with a conflicting keybinding for Edit History, changed keybinding to Ctrl+Alt+y for Windows and ⌘ Cmd+⌥ Opt+y for macOS. #2543", "Sort": "Sort", "Sort Direction": "Sort Direction", @@ -2077,6 +1980,7 @@ }, "Specify another codepage": "Specify another codepage", "Specify the data set type (DSNTYPE)": "Specify the data set type (DSNTYPE)", + "Spool file not found: {0}": "Spool file not found: {0}", "SSH profile missing connection details. Please update.": "SSH profile missing connection details. Please update.", "Starting to poll job {0} for completion./Job display name": { "message": "Starting to poll job {0} for completion.", @@ -2102,7 +2006,6 @@ "Team config file deleted, refreshing Zowe Explorer.": "Team config file deleted, refreshing Zowe Explorer.", "Team config file updated, refreshing Zowe Explorer.": "Team config file updated, refreshing Zowe Explorer.", "Template of Data Set to be Created": "Template of Data Set to be Created", - "Text and alt text in the release notes and the changelogs are now localizable.": "Text and alt text in the release notes and the changelogs are now localizable.", "The 'move' function is not implemented for this USS API.": "The 'move' function is not implemented for this USS API.", "The \"Open Recent Member\" command can now be triggered from the command palette. #3477": "The \"Open Recent Member\" command can now be triggered from the command palette. #3477", "The \"Zowe Resources\" panel is now hidden by default until Zowe Explorer reveals it to display a table or other data. #3113": "The \"Zowe Resources\" panel is now hidden by default until Zowe Explorer reveals it to display a table or other data. #3113", @@ -2112,16 +2015,11 @@ "Node type" ] }, - "The **USS** tree can now be filtered by any selected directory. Right-click a directory and select Search by directory to filter. Use the Go Up One Directory button to quickly adjust the filter to the parent directory.": "The **USS** tree can now be filtered by any selected directory. Right-click a directory and select Search by directory to filter. Use the Go Up One Directory button to quickly adjust the filter to the parent directory.", "The API does not support updating attributes for this": "The API does not support updating attributes for this", "The cancel function is not implemented in this API.": "The cancel function is not implemented in this API.", "The data set member already exists.\nDo you want to replace it?": "The data set member already exists.\nDo you want to replace it?", - "The Data Sets tree and any data sets with many members now display <- Previous page and -> Next page navigation buttons to page through members. Only a subset of members is loaded at a time, allowing for large filters and data sets to load members faster. The number of members per page is configurable in the settings under **Zowe > Ds > Paginate**. The default is 100 members per page.": "The Data Sets tree and any data sets with many members now display <- Previous page and -> Next page navigation buttons to page through members. Only a subset of members is loaded at a time, allowing for large filters and data sets to load members faster. The number of members per page is configurable in the settings under **Zowe > Ds > Paginate**. The default is 100 members per page.", - "The default sort order of every data set or job can now be changed. For example, to always open a data set to see the most recently edited members, set the default sort order to be by descending, date modified. The following settings are available:": "The default sort order of every data set or job can now be changed. For example, to always open a data set to see the most recently edited members, set the default sort order to be by descending, date modified. The following settings are available:", "The downloadAllMembers API is not supported for this profile type. Please contact the extension developer.": "The downloadAllMembers API is not supported for this profile type. Please contact the extension developer.", "The downloadDirectory API is not supported for this profile type. Please contact the extension developer.": "The downloadDirectory API is not supported for this profile type. Please contact the extension developer.", - "The entire PDS can still be favorited with all members. When a member is removed from favorites, only it is removed, unless it is the only member in the PDS, in which case the entire PDS will be removed from favorites.": "The entire PDS can still be favorited with all members. When a member is removed from favorites, only it is removed, unless it is the only member in the PDS, in which case the entire PDS will be removed from favorites.", - "The favorites tree now supports being able to favorite individual members of a partitioned data set.": "The favorites tree now supports being able to favorite individual members of a partitioned data set.", "The following {0} item(s) were deleted:\n{1}{2}/Data Sets deleted lengthData Sets deletedAdditional datasets count": { "message": "The following {0} item(s) were deleted:\n{1}{2}", "comment": [ @@ -2136,7 +2034,6 @@ "Deleted jobs" ] }, - "The integrated terminal connects to the mainframe via SSH for MVS, TSO, or USS commands. Multiple sessions are supported. Currently disabled by default as further development is actively ongoing.": "The integrated terminal connects to the mainframe via SSH for MVS, TSO, or USS commands. Multiple sessions are supported. Currently disabled by default as further development is actively ongoing.", "The item {0} has been deleted./Label": { "message": "The item {0} has been deleted.", "comment": [ @@ -2144,7 +2041,6 @@ ] }, "The job was not cancelled.": "The job was not cancelled.", - "The jobs table is a panel that allows viewing filtered jobs more clearly and for performing bulk actions on jobs.": "The jobs table is a panel that allows viewing filtered jobs more clearly and for performing bulk actions on jobs.", "The partitioned (PO) data set already exists.\nDo you want to merge them while replacing any existing members?": "The partitioned (PO) data set already exists.\nDo you want to merge them while replacing any existing members?", "The paste operation is not supported for this node.": "The paste operation is not supported for this node.", "the PDS members in {0}/Node label": { @@ -2291,7 +2187,6 @@ "Updated js-yaml dependency for technical currency. #3937": "Updated js-yaml dependency for technical currency. #3937", "Updated linter rules and addressed linter errors. #2184": "Updated linter rules and addressed linter errors. #2184", "Updated linter rules and addressed linter errors. #2291": "Updated linter rules and addressed linter errors. #2291", - "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates.": "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates.", "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates. #3684": "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates. #3684", "Updated MVS view progress indicator for entering a filter search. #2181": "Updated MVS view progress indicator for entering a filter search. #2181", "Updated sorting of PDS members to show items without stats at bottom of list #2660": "Updated sorting of PDS members to show items without stats at bottom of list #2660", @@ -2320,7 +2215,6 @@ ] }, "Upload action was cancelled.": "Upload action was cancelled.", - "Upload with encoding": "Upload with encoding", "Uploading file to USS tree": "Uploading file to USS tree", "Uploading file...": "Uploading file...", "Uploading to data set": "Uploading to data set", @@ -2364,11 +2258,7 @@ "Value": "Value", "Version": "Version", "View Details": "View Details", - "View JCL (opens as an unsaved editor file)": "View JCL (opens as an unsaved editor file)", - "View members of a partitioned data set": "View members of a partitioned data set", "Volumes": "Volumes", - "VS Code engine support change": "VS Code engine support change", - "VSAM data sets can now be favorited.": "VSAM data sets can now be favorited.", "Waiting for data from extension...": "Waiting for data from extension...", "Welcome to the integrated terminal for: {0}/Terminal Name": { "message": "Welcome to the integrated terminal for: {0}", @@ -2377,9 +2267,6 @@ ] }, "What's New in Zowe Explorer {0}": "What's New in Zowe Explorer {0}", - "When all jobs have completed, polling automatically stops. Alternatively, to stop polling, right-click the profile again and select **Stop Polling Active Jobs**.": "When all jobs have completed, polling automatically stops. Alternatively, to stop polling, right-click the profile again and select **Stop Polling Active Jobs**.", - "When favoriting a data set member, the partitioned data set will still show in the favorites tree, but now only with the favorited data set member under it, rather than all members as before. When expanded, a tooltip will now show beside the data set name with the number of members that are favorited inside of it vs the total number of members the data set has.": "When favoriting a data set member, the partitioned data set will still show in the favorites tree, but now only with the favorited data set member under it, rather than all members as before. When expanded, a tooltip will now show beside the data set name with the number of members that are favorited inside of it vs the total number of members the data set has.", - "When submitting a job, there are now two buttons on the job submission notification popup:": "When submitting a job, there are now two buttons on the job submission notification popup:", "When the user types in a data set pattern in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the pattern. Once clicked, the new filter is added to the user's search history and the pattern is used for listing data sets. #3015": "When the user types in a data set pattern in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the pattern. Once clicked, the new filter is added to the user's search history and the pattern is used for listing data sets. #3015", "When the user types in a USS file path in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the file path. Once clicked, the new filter is added to the user's search history and the path is used for listing a USS directory. #3015": "When the user types in a USS file path in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the file path. Once clicked, the new filter is added to the user's search history and the path is used for listing a USS directory. #3015", "Write": "Write", @@ -2421,7 +2308,6 @@ "Log setting" ] }, - "Zowe Explorer now auto-detects the global team configuration, regardless of the location of the currently opened VS Code working directory.": "Zowe Explorer now auto-detects the global team configuration, regardless of the location of the currently opened VS Code working directory.", "Zowe Explorer now has a VS Code logger with a default log level of INFO.\n \nIt looks like the Zowe CLI's ZOWE_APP_LOG_LEVEL={0}.\n \nWould you like Zowe Explorer to update to the the same log level?/CLI setting": { "message": "Zowe Explorer now has a VS Code logger with a default log level of INFO.\n \nIt looks like the Zowe CLI's ZOWE_APP_LOG_LEVEL={0}.\n \nWould you like Zowe Explorer to update to the the same log level?", "comment": [ @@ -2429,7 +2315,6 @@ ] }, "Zowe Explorer now includes support for the VS Code display languages French, German, Japanese, Portuguese, and Spanish. Download the respective language pack and switch. #3239": "Zowe Explorer now includes support for the VS Code display languages French, German, Japanese, Portuguese, and Spanish. Download the respective language pack and switch. #3239", - "Zowe Explorer now supports being able to directly download data sets, data set members, USS files & USS directories to the local machine filesystem - with a multitude of basic and advanced options built into the download menus.": "Zowe Explorer now supports being able to directly download data sets, data set members, USS files & USS directories to the local machine filesystem - with a multitude of basic and advanced options built into the download menus.", "Zowe Explorer profiles are being set as secured.": "Zowe Explorer profiles are being set as secured.", "Zowe Explorer profiles are being set as unsecured.": "Zowe Explorer profiles are being set as unsecured.", "Zowe Explorer: Cancel job": "Zowe Explorer: Cancel job", diff --git a/packages/zowe-explorer/l10n/poeditor.json b/packages/zowe-explorer/l10n/poeditor.json index ab21dba7cc..c419f2abc9 100644 --- a/packages/zowe-explorer/l10n/poeditor.json +++ b/packages/zowe-explorer/l10n/poeditor.json @@ -616,7 +616,6 @@ "{0}. Or select a profile to add to the JOBS tree.": "", "{0}. Or select a profile to add to the USS tree.": "", "{0}/{1} members": "", - "**Behavior:** Each command opens a dedicated terminal panel (for example, only MVS commands in the MVS terminal).": "", "**Breaking:** Consolidated VS Code commands:": "", "**Breaking:** Removed deprecated methods: #2238": "", "**Breaking:** Removed the zowe.ds.ZoweNode.openPS command in favor of using vscode.open with a data set URI. See the FileSystemProvider wiki page for more information on data set URIs. #2207": "", @@ -627,30 +626,8 @@ "**Breaking:** Zowe Explorer no longer uses a temporary directory for storing Data Sets and USS files. All settings related to the temporary downloads folder have been removed. In order to access resources stored by Zowe Explorer V3, refer to the FileSystemProvider documentation for information on how to build and access resource URIs. Extenders can detect changes to resources using the onResourceChanged function in the ZoweExplorerApiRegister class. #2951": "", "**BREAKING** Moved data set templates out of data set history settings into new setting \"zowe.ds.templates\". #2345": "", "**Breaking** Moved data set templates out of data set history settings into new setting zowe.ds.templates. #2345": "", - "**Enable:** Go to Zowe Explorer settings and check **Use Integrated Terminals**.": "", - "**Features:**": "", - "**Features:** Reorder columns, filter and sort on columns, choose visible columns, and select multiple jobs for bulk cancel, delete, or download.": "", - "**How it works:**": "", "**New** Extender registration APIs:": "", - "**Note:** Sorting is only applied within each page, while the overall member list is fetched by alphabetical, ascending order.": "", - "**Open Job:** This filters the job tree by the job ID to allow direct access to the job in one click. It behaves the same way as clicking the link on the popup but also closes the popup on the same click.": "", - "**Open the table:**": "", - "**Open the table:** Right-click a filtered jobs profile and select **Show as Table**.": "", - "**Open:** Right-click a profile in Data Sets, USS, or Jobs tree and select an **Issue x Command** option.": "", - "**Poll For Job Completion:** This button automatically starts polling for the job to complete. When it completes, there will be a new notification popup with the return code and the same open job button to filter the job in the job tree. The poll interval is 5000 ms by default (i.e. checking for completion every 5 seconds) but this interval can be changed in the setting **Zowe > Jobs: Poll Interval**.": "", - "**Right click** on sequential data sets, partitioned data sets (to download all members), partitioned data set members, USS files, or USS directories and click on the respective Download ... option to select download options.": "", - "**Row actions:** Right-click a data set to:": "", - "**Row actions:** Right-click a job to:": "", - "**Search options:**": "", "/u/username/directory": "", - "#### Copy across LPAR updates": "", - "#### Favorite individual PDS members": "", - "#### Favorite VSAM data sets": "", - "#### Get JCL encoding": "", - "#### Loading credential manager options": "", - "#### Submit job with encoding": "", - "#### VSAM support updates": "", - "#### Windows custom persistence levels": "", "#2828": "", "$(plus) Create a new Unix command": "", "1 member": "", @@ -659,23 +636,18 @@ "A profile does not exist for this file.": "", "A search must be set for {0} before it can be added to a workspace.": "", "Ability to compare 2 files from MVS and/or UNIX System Services views via right click actions, with option to compare in Read-Only mode too.": "", - "Accessibility improvements": "", "Account Number": "", "action is not supported for this property type.": "", "Actions": "", - "Active jobs in the **JOBS** tree can now be set to poll for job completion. Right-click on a filtered jobs profile, select **Start Polling Active Jobs**, and enter the desired poll interval. The default poll interval can be set in the Zowe Explorer settings under **Zowe > Jobs > Poll Interval**. The minimum interval is 1000ms.": "", - "Active jobs in the filtered profile automatically refresh at the specified interval and any new jobs matching the filter automatically appear. When a job completes, it shows a notification message with the job name and return code.": "", "Adapted to new API changes from grouping of common methods into singleton classes #2109": "", "Add": "", "Add a data set or USS resource to a virtual workspace with the new \"Add to Workspace\" context menu option. #3265": "", "Add Credentials": "", - "Add data sets, USS profiles, or USS directories to a VS Code workspace to group resources from different locations. Right-click a data set, USS profile, or USS directory and select **Add to workspace**.": "", "Add deprecation message to history settings explaining to users how to edit items. #2303": "", "Add localization support to release notes and changelogs. #4047": "", "Add New History Item": "", "Add Profile to Tree": "", "Add support for filtering PDS members by name and by date created. #4075": "", - "Add to workspace": "", "Add username and password for basic authentication": "", "Added \"Cancel Job\" feature for job nodes in Jobs tree view. #2251": "", "Added \"Edit Attributes\" option for USS files and folders. #2254": "", @@ -765,26 +737,20 @@ "Added support for consoleName property in z/OSMF profiles when issuing MVS commands #1667": "", "Added support for consoleName property in z/OSMF profiles when issuing MVS commands. #1667": "", "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. #3945": "", - "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. Updated Zowe SDKs to version 8.28.0 to address an issue where copying a PDS member to a data set across LPARs failed. This occurred when the target PDS already contained members, but none matched the name of the PDS member being copied.": "", "Added support for custom credential manager extensions in Zowe Explorer #2212": "", - "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs.": "", "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs. #3935": "", "Added support for downloading data sets, data set members, USS files, and USS directories. #3843": "", "Added support for enabling/disabling validation for a Zowe profile across all trees #2570": "", "Added support for encoding profile property when retrieving JCL with z/OSMF. #3877": "", - "Added support for encoding profile property when retrieving JCL with z/OSMF. For example, include \"encoding\": \"IBM-1147\" in the z/OSMF profile to view JCL with \"IBM-1147\" encoding via the right-click Get JCL job option.": "", "Added support for fetching virtual workspaces in parallel after Zowe Explorer activation. #3880": "", "Added support for hiding a Zowe profile across all trees #2567": "", "Added support for jobEncoding profile property when submitting jobs to z/OSMF. #3826": "", - "Added support for jobEncoding profile property when submitting jobs to z/OSMF. For example, include \"jobEncoding\": \"IBM-1147\" in the z/OSMF profile to submit jobs with \"IBM-1147\" encoding.": "", "Added support for loading credential manager options from the imperative.json file. Add a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager. #3935": "", - "Added support for loading credential manager options from the imperative.json file. Added a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager.": "", "Added support for Local Storage settings for persistent settings in Zowe Explorer #2208": "", "Added support for logging in to multiple API ML instances per team config file. #2264": "", "Added support for logging in to multiple API ML instances per team configuration file. #2264": "", "Added support for pasting at top-level of USS tree (if filtered), and optimized copy/paste operations to avoid using local paths when possible. #2041": "", "Added support for TTY-dependent scripts when using integrated terminals. #3640": "", - "Added support to delete VSAM data sets via right-click action.": "", "Added support to delete VSAM data sets. #3824": "", "Added support to view the Encoding history for MVS and Dataset in the History View. #2776": "", "Added the \"Copy Name\" option to VSAM data sets. #3466": "", @@ -816,7 +782,6 @@ "Adopted new Zowe Explorer API, ZoweVsCodeExtension.createTeamConfiguration for Zowe team configuration creation. #3088": "", "Adopted support for VS Code proxy settings with zosmf profile types. #3010": "", "Adopted ZE APIs new directConnectLogin and directConnectLogout methods for login and logout actions NOT using the tokenType apimlAuthenticationToken. #3346": "", - "Advanced data set copy and paste": "", "After installing the extension, please make sure to reload your VS Code window in order to start using the installed credential manager": "", "All": "", "All Files": "", @@ -827,7 +792,6 @@ "Allocating new data set": "", "Allow deleting migrated datasets #2447": "", "Allow extenders to add context menu actions to a top level node, i.e. data sets, USS, Jobs, by encoding the profile type in the context value. #3309": "", - "Also available for a PDS in the Favorites tree": "", "An SSH profile will be used for issuing UNIX commands with the profile {0}.": "", "Applied credential manager options from imperative.json to default credential manager": "", "Apply changes": "", @@ -845,7 +809,6 @@ "Auth Method: ": "", "Auto Store: ": "", "Auto-detect from file tags": "", - "Auto-detect global team configuration": "", "Back": "", "Basic Authentication": "", "Binary": "", @@ -867,7 +830,6 @@ "Cannot submit, item invalid.": "", "Cannot switch to token-based authentication for profile {0}.": "", "Case Sensitive": "", - "Case sensitive and regex searching": "", "Certificate Authentication": "", "Certificate File": "", "Certificate Files": "", @@ -900,7 +862,6 @@ "Clear filter for PDS": "", "Clear filter for profile": "", "Click on a filter to change its value": "", - "Click on Edit in settings.json to enter in desired values in the file. Specify the method and direction from the options provided by IntelliSense. For example:": "", "Column settings": "", "Command response: {0}": "", "Common API": "", @@ -915,7 +876,6 @@ "Contents": "", "Continue": "", "Convert existing profiles": "", - "Copy job info as JSON": "", "Copying data set(s)": "", "Copying data sets is not supported.": "", "Copying file structure...": "", @@ -938,11 +898,9 @@ "Create the data set using the current attributes": "", "Creating new data set member {0}": "", "Creation Date": "", - "Credential Manager Updates": "", "Credentials for {0} were successfully updated": "", "Current encoding is {0}": "", "Current Records": "", - "Currently, hidden Unix files (those starting with a .) are always listed in the USS tree. There is now a setting **Zowe > Files: Show Hidden Files** that can be disabled to hide these files.": "", "Custom credential manager {0} found, attempting to activate.": "", "Custom credential manager {0} found": "", "Custom credential manager failed to activate": "", @@ -955,16 +913,9 @@ "Data Set Organization": "", "Data set pattern cannot be empty": "", "Data set renamed from {0} to {1}": "", - "Data set search is now even smarter because it supports comma-separated member names within a partitioned data set. For example, MY.PDS(MEM1,TEST*) will return MY.PDS with the member called MEM1 and any members beginning with TEST.": "", - "Data set searches now support case sensitivity and regular expressions. Enable these options in the Search PDS members Quick Pick dialog.": "", "Data Set Template Save Location": "", - "Data set tree pagination": "", "Data set(s) moved successfully.": "", "Data Sets": "", - "Data sets and members can now be copied and pasted within or across LPARs. Drag and drop is also supported for moving items between locations. Permission and attribute edge cases are handled with clear error messages.": "", - "Data sets can now be searched for a string, similar to ISPF's SRCHFOR.": "", - "Data sets can now be viewed in a table format, similar to the jobs table. The data sets table allows for easier filtering, sorting, and bulk actions on data sets and members.": "", - "Data sets table": "", "DatasetActions.copyDataSet - use DatasetActions.copyDataSets instead": "", "DatasetFSProvider.stat() will now throw a FileNotFound error for extenders trying to fetch an MVS resource that does not exist. #3252": "", "Date Completed": "", @@ -972,7 +923,6 @@ "Date Modified": "", "Date Submitted": "", "Default encoding is {0}": "", - "Default sort order": "", "Default Zowe credentials manager not found on current platform. This is typically the case when running in container-based environments or Linux systems that miss required security libraries or user permissions.": "", "Delete": "", "Delete action was canceled.": "", @@ -989,13 +939,11 @@ "Disabled": "", "Display in Tree": "", "Display release notes after an update": "", - "Display the data set in the **DATA SETS** tree": "", "Do you wish to apply this for all trees?": "", "Do you wish to change the authentication": "", "Do you wish to use this credential manager instead?": "", "Don't ask again": "", "Download": "", - "Download data sets and USS files to the local filesystem": "", "Download Options": "", "Download single spool operation not implemented by extender. Please contact the extension developer(s).": "", "Downloaded: {0}": "", @@ -1018,9 +966,7 @@ "Easily search for data in filtered data sets and partitioned data sets with the new Search Filtered Data Sets and Search PDS Members functionality. #3306": "", "EBCDIC": "", "Edit Attributes": "", - "Edit history": "", "Edit History": "", - "Edit history allows viewing, deleting, or adding a profile's search/filter history for data sets, USS, and jobs. Right-click a profile and select **Edit History**.": "", "Edit Options (Case Sensitive: {0}, Regex: {1})": "", "Edit Profile": "", "Enable Profile Validation": "", @@ -1057,7 +1003,6 @@ "Enter or update the console command": "", "Enter or update the TSO command": "", "Enter or update the Unix command": "", - "Enter search string in the input field at the top.": "", "Enter the account number for the TSO connection.": "", "Enter the average block length (if allocation unit = BLK)": "", "Enter the data set pattern to filter on": "", @@ -1123,7 +1068,6 @@ "Failed to update Zowe schema: insufficient permissions or read-only file. {0}": "", "Failed to upload changes for {0}: {1}": "", "Favorites": "", - "Favorites changes": "", "Fetching data set...": "", "Fetching spool file...": "", "File does not exist. It may have been deleted.": "", @@ -1142,7 +1086,6 @@ "Filter by permission octal mask": "", "Filter by user name or UID": "", "Filter cleared for {0}": "", - "Filter data sets by name or by date created": "", "Filter updated for {0}": "", "Filter: {0}": "", "Fix concerns regarding Unix command handling work. #2866": "", @@ -1271,6 +1214,7 @@ "Fixed an issue where the filesystem continued to use a profile with invalid credentials to fetch resources. Now, after an authentication error occurs for a profile, it cannot be used again in the filesystem until the authentication error is resolved. #3329": "", "Fixed an issue where the first change to a Zowe team configuration did not accurately refresh the data set, USS and job trees. #3524": "", "Fixed an issue where the job spool pagination code lens was appearing even though the extender did not support pagination. #3714": "", + "Fixed an issue where the Jobs FileSystemProvider could not resolve profiles from URIs when opened programmatically, causing errors when extensions tried to open job spool files directly. The Jobs FileSystemProvider now extracts the profile name from the URI and loads it on-demand, matching the behavior of Datasets and USS FileSystemProviders. #4284": "", "Fixed an issue where the location prompt for the Create Directory and Create File USS features would appear even when a path is already set for the profile or parent folder. #3183": "", "Fixed an issue where the mismatch etag error returned was not triggering the diff editor, resulting in possible loss of data due to the issue. #2277": "", "Fixed an issue where the onProfilesUpdate event did not fire after secure credentials were updated. #2822": "", @@ -1454,10 +1398,7 @@ "Hide Profile": "", "Hide profile name from tree view": "", "HLQ.**.DATASET or HLQ.DATASET.NAME": "", - "Hovering over a data set, USS, or jobs profile now displays detailed connection information.": "", "ID": "", - "If searching more than 50 members, a prompt displays to confirm or cancel.": "", - "If you wish to make localization contributions to these or generally across the rest of Zowe Explorer, please reach out in the usual places.": "", "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete or download. #2258": "", "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete, or download. #2258": "", "Implemented change detection in the data sets and USS filesystems so that changes on the mainframe are reflected in opened editors for Data Sets and USS files. #3040": "", @@ -1480,7 +1421,6 @@ "Implemented the SharedActions.refreshProvider function to allow refreshing a single tree provider. #3524": "", "Implemented the VS Code FileSystemProvider for the Data Sets, Jobs, and USS trees to handle all read/write actions as well as conflict resolution. #2207": "", "Improved integrated terminal behavior to match standard terminal functionality. Now, users can smoothly maintain proper cursor position when typing and backspacing. #3391": "", - "Improved USS filtering": "", "Include Hidden Files": "", "Include hidden files when downloading directories": "", "Initial Records": "", @@ -1491,7 +1431,6 @@ "Install": "", "Insufficient read permissions for {0} in local storage.": "", "Insufficient write permissions for {0} in local storage.": "", - "Integrated terminal": "", "Internal error: A Zowe Explorer extension client tried to register an invalid Command API.": "", "Internal error: A Zowe Explorer extension client tried to register an invalid JES API.": "", "Internal error: A Zowe Explorer extension client tried to register an invalid MVS API.": "", @@ -1519,23 +1458,19 @@ "Job {0} completed - {1}": "", "Job {0} was deleted.": "", "Job Correlator": "", - "Job enhancements": "", "Job ID": "", "Job Name": "", + "Job not found: {0}": "", "Job polling will automatically check active jobs for status changes at regular intervals. You will be notified when jobs complete. You can stop polling at any time by running this command again.": "", "Job search cancelled.": "", - "Job spool pagination": "", "Job submission failed.": "", - "Job submission improvements": "", "Job submitted {0} using profile {1}.": "", "Job submitted: {0}": "", "jobActions.modifyCommand.apiNonExisting": "", "JobId: ": "", "Jobs": "", - "Jobs table": "", "Jobs with ID: {0}": "", "Jobs: {0} | {1} | {2}": "", - "Large job spool files now load faster by displaying a Load more… button at the bottom of the spool file to fetch additional lines as needed. For active jobs, use this button to retrieve new output without refreshing the **JOBS** tree. It is recommended to use the default keyboard shortcut Ctrl + L to quickly load more lines. The number of lines per page and the toggle for pagination can be configured in the settings under **Zowe > Jobs > Paginate**. The default is 100 lines per page.": "", "Last Modified By": "", "Last refreshed:": "", "Let the API infer encoding from individual USS file tags": "", @@ -1544,8 +1479,6 @@ "Loading profile: {0} for jobs favorites": "", "Loading profile: {0} for USS favorites": "", "Loading release notes...": "", - "Localization for release notes and changelogs": "", - "Localization is tied to the VS Code localization setting. If there are no localizations available for a string, it will fallback to English.": "", "Localization of strings within Zowe Explorer webviews. #2983": "", "Log in to Authentication Service": "", "Log in to obtain a new token value": "", @@ -1555,7 +1488,6 @@ "Login using token-based authentication service was successful for profile {0}.": "", "Logout from authentication service was successful for {0}.": "", "Manage Persistent Properties": "", - "Many issues have been addressed to allow screen readers to better navigate and use Zowe Explorer features.": "", "Member '{0}' not found in PDS '{1}'": "", "Member {0} is already in favorites": "", "Member Name": "", @@ -1580,7 +1512,6 @@ "Moving MVS files...": "", "Moving USS files...": "", "Must be a valid number": "", - "MVS data set enhancements": "", "Name": "", "Name of Data Set": "", "Name of data set member": "", @@ -1626,10 +1557,6 @@ "not found": "", "Not implemented yet for profile of type: {0}": "", "not set": "", - "Note as this is a brand new feature, only the z/OSMF profile type supports this functionality upon release. Expect other profile types to add their backend support over time.": "", - "Note that the filter only applies on the client side, so if pagination is enabled and active, each individual page is filtered and it may still require clicking through pages to get to the one with the filtered data sets or members.": "", - "Note that when only a partial selection of PDS members are favorited, data set pagination is disabled on the PDS in the favorites tree.": "", - "Now the right click option on partitioned data sets and profile to filter data sets/data set members supports filtering by name or by date created. The filter by name supports wildcards and comma-separated names in the same way as the data set search.": "", "Off": "", "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command:": "", "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command: #2853": "", @@ -1643,11 +1570,7 @@ "Open File": "", "Open Folder": "", "Open Job": "", - "Open selected data set": "", "Open selected items": "", - "Open the **Command Palette** and search for Zowe Explorer: List Data Sets, select a profile, and enter a search filter.": "", - "Open the data set": "", - "Open the job in the Jobs tree": "", "Opening a dialog for Upload or Download of files will now open at the project level directory or the user's home directory if no project is opened. #2203": "", "Opening data set failed.": "", "openUSS() called from invalid node.": "", @@ -1686,16 +1609,12 @@ "Phase": "", "Phase Name": "", "Pin": "", - "Pin or unpin the row": "", - "Pin rows to keep them visible while scrolling": "", "Pin selected rows": "", "Please enter a valid USS path.": "", "Please install associated VS Code extension for custom credential manager or revert to default.": "", "Please review the following lines:": "", - "Please see the docs for much more detail on downloading data sets, downloading USS files or USS directories.": "", "Please select a single profile or PDS.": "", "Plugin of name '{0}' was defined for custom credential management on imperative.json file.": "", - "Poll active jobs": "", "Poll For Job Completion": "", "Poll interval (in ms) for: {0}": "", "Polling {0} active jobs may cause too many requests. Are you sure you want to continue?": "", @@ -1720,7 +1639,6 @@ "Profile {0} is using basic authentication. Choose a profile action.": "", "Profile {0} is using token authentication. Choose a profile action.": "", "Profile {0} not found.": "", - "Profile info hover": "", "Profile is invalid": "", "Profile is invalid, check connection details.": "", "Profile not found.": "", @@ -1729,7 +1647,6 @@ "Profile Type: ": "", "Profile validation failed for {0}.": "", "Profile: ": "", - "Progress is shown in the status bar.": "", "Project": "", "Project: in the current working directory": "", "Prompting the user for a data set pattern": "", @@ -1758,9 +1675,7 @@ "Refresh File Properties": "", "refreshUSS() called from invalid node.": "", "Regex": "", - "Release notes": "", "Release Notes": "", - "Release notes for Zowe Explorer are now available in VS Code. Release notes are displayed when Zowe Explorer updates and can also be accessed from the command palette (Ctrl + Shift + P) by searching for Zowe Explorer: Display Release Notes. Disable automatic display of release notes when updating by unticking Display release notes after an update in this window or in the Zowe Explorer settings.": "", "Reload": "", "Reload window": "", "Reload Window": "", @@ -1785,7 +1700,6 @@ "Renamed isHomeProfile context helper function to isGlobalProfile for clarity. #2026": "", "Renamed references to \"MVS Command\" to \"Console Command\" for clarity. #4300": "", "Renaming data set {0}": "", - "Reorder, filter, sort, and choose visible columns": "", "Replace": "", "Replaced an import of ILocalStorageAccess from \"@zowe/zowe-explorer-api/src/extend/ILocalStorageAccess\" to \"@zowe/zowe-explorer-api\". #3606": "", "Replaced keytar dependency with keyring module from @zowe/secrets-for-zowe-sdk. #2358 #2348": "", @@ -1801,15 +1715,10 @@ "Resolved TypeError: Cannot read properties of undefined (reading 'direction') error for favorited items. #3067": "", "Resolved user interface bug with tables that caused an inconsistent table height within the VS Code Panel. #3389": "", "Response From Service": "", - "Results appear in the Zowe Resources panel, where files can be bulk opened.": "", "Retrieving response from JES list API": "", "Retrieving response from MVS list API": "", "Retrieving response from USS list API": "", "Return Code": "", - "Right-click a filtered data sets profile, a data set, or a favorite, and select **Show as Table**.": "", - "Right-click a PDS: **Search PDS members**": "", - "Right-click a profile: **Search filtered data sets**": "", - "Right-click on a directory or partitioned data set in the **USS** or **DATA SETS** tree and select **Upload with Encoding...** to choose a character encoding for the uploaded files.": "", "Save as User setting": "", "Save as Workspace setting": "", "Saving data set...": "", @@ -1818,7 +1727,6 @@ "Search All Filesystems": "", "Search all mounted filesystems under the path": "", "Search by job ID": "", - "Search data sets": "", "Search data sets: use a comma to separate multiple patterns": "", "Search History": "", "Search Keyword History": "", @@ -1854,11 +1762,9 @@ "Select default encoding for directory files (current: Auto-detect from file tags)": "", "Select Download Location": "", "Select download options": "", - "Select multiple data sets or members for bulk open": "", "Select search options": "", "Select specific encoding for file": "", "Select specific encoding for file (current: {0})": "", - "Select text in the editor, right-click, and choose **Open Selected Data Set**. If the selected text is a valid data set name, it opens in a new editor tab or focus onto an existing tab if already open. If the selected text is a valid partitioned data set, it opens in the **DATA SETS** tree. This is equivalent to the ZOOM command in ISPF.": "", "Select the location of the config file to edit": "", "Select the location where the config file will be initialized": "", "Select the profile to use to open the data set": "", @@ -1879,12 +1785,9 @@ "Set a filter for {0}": "", "Set a filter...": "", "Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546": "", - "Setting to hide hidden USS files": "", "Settings have been successfully migrated for Zowe Explorer version 2 and above. To apply these settings, please reload your VS Code window.": "", - "Several members may be favorited or unfavorited at once by doing a multi-selection.": "", "Showing attributes for {0}.": "", "Size": "", - "Smarter data set search filtering": "", "Solved issue with a conflicting keybinding for Edit History, changed keybinding to Ctrl+Alt+y for Windows and ⌘ Cmd+⌥ Opt+y for macOS. #2543": "", "Sort": "", "Sort Direction": "", @@ -1894,6 +1797,7 @@ "Sorting updated for {0}": "", "Specify another codepage": "", "Specify the data set type (DSNTYPE)": "", + "Spool file not found: {0}": "", "SSH profile missing connection details. Please update.": "", "Starting to poll job {0} for completion.": "", "Status": "", @@ -1909,27 +1813,19 @@ "Team config file deleted, refreshing Zowe Explorer.": "", "Team config file updated, refreshing Zowe Explorer.": "", "Template of Data Set to be Created": "", - "Text and alt text in the release notes and the changelogs are now localizable.": "", "The 'move' function is not implemented for this USS API.": "", "The \"Open Recent Member\" command can now be triggered from the command palette. #3477": "", "The \"Zowe Resources\" panel is now hidden by default until Zowe Explorer reveals it to display a table or other data. #3113": "", "The {0} already exists.\nDo you want to replace it?": "", - "The **USS** tree can now be filtered by any selected directory. Right-click a directory and select Search by directory to filter. Use the Go Up One Directory button to quickly adjust the filter to the parent directory.": "", "The API does not support updating attributes for this": "", "The cancel function is not implemented in this API.": "", "The data set member already exists.\nDo you want to replace it?": "", - "The Data Sets tree and any data sets with many members now display <- Previous page and -> Next page navigation buttons to page through members. Only a subset of members is loaded at a time, allowing for large filters and data sets to load members faster. The number of members per page is configurable in the settings under **Zowe > Ds > Paginate**. The default is 100 members per page.": "", - "The default sort order of every data set or job can now be changed. For example, to always open a data set to see the most recently edited members, set the default sort order to be by descending, date modified. The following settings are available:": "", "The downloadAllMembers API is not supported for this profile type. Please contact the extension developer.": "", "The downloadDirectory API is not supported for this profile type. Please contact the extension developer.": "", - "The entire PDS can still be favorited with all members. When a member is removed from favorites, only it is removed, unless it is the only member in the PDS, in which case the entire PDS will be removed from favorites.": "", - "The favorites tree now supports being able to favorite individual members of a partitioned data set.": "", "The following {0} item(s) were deleted:\n{1}{2}": "", "The following jobs were deleted: {0}{1}": "", - "The integrated terminal connects to the mainframe via SSH for MVS, TSO, or USS commands. Multiple sessions are supported. Currently disabled by default as further development is actively ongoing.": "", "The item {0} has been deleted.": "", "The job was not cancelled.": "", - "The jobs table is a panel that allows viewing filtered jobs more clearly and for performing bulk actions on jobs.": "", "The partitioned (PO) data set already exists.\nDo you want to merge them while replacing any existing members?": "", "The paste operation is not supported for this node.": "", "the PDS members in {0}": "", @@ -2018,7 +1914,6 @@ "Updated js-yaml dependency for technical currency. #3937": "", "Updated linter rules and addressed linter errors. #2184": "", "Updated linter rules and addressed linter errors. #2291": "", - "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates.": "", "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates. #3684": "", "Updated MVS view progress indicator for entering a filter search. #2181": "", "Updated sorting of PDS members to show items without stats at bottom of list #2660": "", @@ -2041,7 +1936,6 @@ "Updating file properties": "", "Updating imperative.json credential manager to {0}.\n{1}": "", "Upload action was cancelled.": "", - "Upload with encoding": "", "Uploading file to USS tree": "", "Uploading file...": "", "Uploading to data set": "", @@ -2075,17 +1969,10 @@ "Value": "", "Version": "", "View Details": "", - "View JCL (opens as an unsaved editor file)": "", - "View members of a partitioned data set": "", "Volumes": "", - "VS Code engine support change": "", - "VSAM data sets can now be favorited.": "", "Waiting for data from extension...": "", "Welcome to the integrated terminal for: {0}": "", "What's New in Zowe Explorer {0}": "", - "When all jobs have completed, polling automatically stops. Alternatively, to stop polling, right-click the profile again and select **Stop Polling Active Jobs**.": "", - "When favoriting a data set member, the partitioned data set will still show in the favorites tree, but now only with the favorited data set member under it, rather than all members as before. When expanded, a tooltip will now show beside the data set name with the number of members that are favorited inside of it vs the total number of members the data set has.": "", - "When submitting a job, there are now two buttons on the job submission notification popup:": "", "When the user types in a data set pattern in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the pattern. Once clicked, the new filter is added to the user's search history and the pattern is used for listing data sets. #3015": "", "When the user types in a USS file path in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the file path. Once clicked, the new filter is added to the user's search history and the path is used for listing a USS directory. #3015": "", "Write": "", @@ -2107,10 +1994,8 @@ "Zowe Explorer": "", "Zowe Explorer has activated successfully.": "", "Zowe Explorer log level: {0}": "", - "Zowe Explorer now auto-detects the global team configuration, regardless of the location of the currently opened VS Code working directory.": "", "Zowe Explorer now has a VS Code logger with a default log level of INFO.\n \nIt looks like the Zowe CLI's ZOWE_APP_LOG_LEVEL={0}.\n \nWould you like Zowe Explorer to update to the the same log level?": "", "Zowe Explorer now includes support for the VS Code display languages French, German, Japanese, Portuguese, and Spanish. Download the respective language pack and switch. #3239": "", - "Zowe Explorer now supports being able to directly download data sets, data set members, USS files & USS directories to the local machine filesystem - with a multitude of basic and advanced options built into the download menus.": "", "Zowe Explorer profiles are being set as secured.": "", "Zowe Explorer profiles are being set as unsecured.": "", "Zowe Explorer: Cancel job": "", diff --git a/packages/zowe-explorer/src/trees/job/JobFSProvider.ts b/packages/zowe-explorer/src/trees/job/JobFSProvider.ts index b1b5c10400..0812ec882c 100644 --- a/packages/zowe-explorer/src/trees/job/JobFSProvider.ts +++ b/packages/zowe-explorer/src/trees/job/JobFSProvider.ts @@ -228,17 +228,18 @@ export class JobFSProvider extends BaseProvider implements vscode.FileSystemProv const bufBuilder = new BufferBuilder(); const metadata = spoolEntry.metadata ?? this._getInfoFromUri(uri); + // Assign metadata to the entry if it was resolved from URI + spoolEntry.metadata ??= metadata; const profile = Profiles.getInstance().loadNamedProfile(metadata.profile.name); const profileEncoding = spoolEntry.encoding ? null : profile.profile?.encoding; // use profile encoding rather than metadata encoding const apiRegister = ZoweExplorerApiRegister.getInstance(); - const jesApi = FsAbstractUtils.getApiOrThrowUnavailable( - spoolEntry.metadata.profile, - () => apiRegister.getJesApi(spoolEntry.metadata.profile), - { apiName: vscode.l10n.t("JES API"), registeredTypes: apiRegister.registeredJesApiTypes() } - ); + const jesApi = FsAbstractUtils.getApiOrThrowUnavailable(metadata.profile, () => apiRegister.getJesApi(metadata.profile), { + apiName: vscode.l10n.t("JES API"), + registeredTypes: apiRegister.registeredJesApiTypes(), + }); await AuthUtils.ensureAuthNotCancelled(profile); - await AuthHandler.waitForUnlock(spoolEntry.metadata.profile); + await AuthHandler.waitForUnlock(metadata.profile); const query = new URLSearchParams(uri.query); let recordRange = ""; const recordsToFetch = SettingsConfig.getDirectValue("zowe.jobs.paginate.recordsToFetch") ?? 0; @@ -298,7 +299,18 @@ export class JobFSProvider extends BaseProvider implements vscode.FileSystemProv * @returns The spool file's contents as an array of bytes */ public async readFile(uri: vscode.Uri): Promise { - const spoolEntry = this._lookupAsFile(uri) as SpoolEntry; + let spoolEntry: SpoolEntry; + try { + spoolEntry = this._lookupAsFile(uri) as SpoolEntry; + } catch (err) { + if (!(err instanceof vscode.FileSystemError) || err.code !== "FileNotFound") { + throw err; + } + // Entry doesn't exist - need to create it from URI + await this._createEntriesFromUri(uri); + spoolEntry = this._lookupAsFile(uri) as SpoolEntry; + } + if (!spoolEntry.wasAccessed) { await this.fetchSpoolAtUri(uri); spoolEntry.wasAccessed = true; @@ -413,4 +425,84 @@ export class JobFSProvider extends BaseProvider implements vscode.FileSystemProv path: uriInfo.isRoot ? "/" : uri.path.substring(uriInfo.slashAfterProfilePos), }; } + + /** + * Creates the necessary directory and file entries in the FileSystem from a URI. + * This is used when a URI is opened programmatically without going through the tree. + * @param uri The URI to create entries for (format: zowe-jobs:/profileName/jobId/spoolName) + */ + private async _createEntriesFromUri(uri: vscode.Uri): Promise { + const metadata = this._getInfoFromUri(uri); + const pathParts = metadata.path.split("/").filter(Boolean); + + // URI format: /jobId/spoolName + if (pathParts.length < 2) { + throw vscode.FileSystemError.FileNotFound(uri); + } + + const jobId = pathParts[0]; + const spoolName = pathParts[1]; + + // Create profile directory if it doesn't exist + const profileUri = uri.with({ path: `/${metadata.profile.name}` }); + if (!this.exists(profileUri)) { + this.createDirectory(profileUri, { isFilter: true }); + } + + // Create job directory if it doesn't exist + const jobUri = uri.with({ path: `/${metadata.profile.name}/${jobId}` }); + let jobEntry: JobEntry; + if (!this.exists(jobUri)) { + // Fetch job information from the mainframe + const apiRegister = ZoweExplorerApiRegister.getInstance(); + const jesApi = FsAbstractUtils.getApiOrThrowUnavailable(metadata.profile, () => apiRegister.getJesApi(metadata.profile), { + apiName: vscode.l10n.t("JES API"), + registeredTypes: apiRegister.registeredJesApiTypes(), + }); + + await AuthUtils.ensureAuthNotCancelled(metadata.profile); + await AuthHandler.waitForUnlock(metadata.profile); + + // Get job by job ID + let job: IJob; + await AuthUtils.retryRequest(metadata.profile, async () => { + const jobs = await jesApi.getJobsByParameters({ jobid: jobId }); + if (!jobs || jobs.length === 0) { + throw vscode.FileSystemError.FileNotFound(vscode.l10n.t("Job not found: {0}", jobId)); + } + job = jobs[0]; + }); + this.createDirectory(jobUri, { job }); + } + jobEntry = this._lookupAsDirectory(jobUri, false) as JobEntry; + + // Fetch spool files for the job if not already loaded + if (jobEntry.entries.size === 0) { + const apiRegister = ZoweExplorerApiRegister.getInstance(); + const jesApi = FsAbstractUtils.getApiOrThrowUnavailable(metadata.profile, () => apiRegister.getJesApi(metadata.profile), { + apiName: vscode.l10n.t("JES API"), + registeredTypes: apiRegister.registeredJesApiTypes(), + }); + + await AuthUtils.retryRequest(metadata.profile, async () => { + const spoolFiles = await jesApi.getSpoolFiles(jobEntry.job.jobname, jobEntry.job.jobid); + for (const spool of spoolFiles) { + const uniqueSpoolName = FsJobsUtils.buildUniqueSpoolName(spool); + if (!jobEntry.entries.has(uniqueSpoolName)) { + this.writeFile(uri.with({ path: path.posix.join(jobUri.path, uniqueSpoolName) }), new Uint8Array(), { + create: true, + overwrite: false, + name: uniqueSpoolName, + spool, + }); + } + } + }); + } + + // Verify the spool entry exists + if (!jobEntry.entries.has(spoolName)) { + throw vscode.FileSystemError.FileNotFound(vscode.l10n.t("Spool file not found: {0}", spoolName)); + } + } } From 17a77a91c5f291ada9a586793e554588e5613161 Mon Sep 17 00:00:00 2001 From: Fernando Rijo Cedeno <37381190+zFernand0@users.noreply.github.com> Date: Tue, 9 Jun 2026 09:07:58 -0400 Subject: [PATCH 2/2] chore: prettier + prepublish Signed-off-by: Fernando Rijo Cedeno <37381190+zFernand0@users.noreply.github.com> --- .../trees/job/JobFSProvider.unit.test.ts | 11 +- packages/zowe-explorer/l10n/bundle.l10n.json | 118 ++++++++++++++ packages/zowe-explorer/l10n/poeditor.json | 118 ++++++++++++++ .../src/trees/job/JobFSProvider.ts | 4 +- pnpm-lock.yaml | 149 +----------------- 5 files changed, 247 insertions(+), 153 deletions(-) diff --git a/packages/zowe-explorer/__tests__/__unit__/trees/job/JobFSProvider.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/trees/job/JobFSProvider.unit.test.ts index fafb56d81d..bb26cd725b 100644 --- a/packages/zowe-explorer/__tests__/__unit__/trees/job/JobFSProvider.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/trees/job/JobFSProvider.unit.test.ts @@ -845,7 +845,7 @@ describe("_createEntriesFromUri", () => { } as any); const ensureAuthNotCancelledMock = vi.spyOn(AuthUtils, "ensureAuthNotCancelled").mockResolvedValue(undefined); const waitForUnlockMock = vi.spyOn(AuthHandler, "waitForUnlock").mockResolvedValue(undefined); - + // Mock writeFile to add the spool entry to the job's entries map const writeFileMock = vi.spyOn(JobFSProvider.instance, "writeFile").mockImplementation((uri, content, options: any) => { if (options?.name) { @@ -855,10 +855,7 @@ describe("_createEntriesFromUri", () => { await (JobFSProvider.instance as any)._createEntriesFromUri(testJobUri); - expect(createDirectoryMock).toHaveBeenCalledWith( - expect.objectContaining({ path: "/sestest" }), - expect.objectContaining({ isFilter: true }) - ); + expect(createDirectoryMock).toHaveBeenCalledWith(expect.objectContaining({ path: "/sestest" }), expect.objectContaining({ isFilter: true })); getInfoFromUriMock.mockRestore(); existsMock.mockRestore(); @@ -896,7 +893,7 @@ describe("_createEntriesFromUri", () => { } as any); const ensureAuthNotCancelledMock = vi.spyOn(AuthUtils, "ensureAuthNotCancelled").mockResolvedValue(undefined); const waitForUnlockMock = vi.spyOn(AuthHandler, "waitForUnlock").mockResolvedValue(undefined); - + // Mock writeFile to add the spool entry to the job's entries map const writeFileMock = vi.spyOn(JobFSProvider.instance, "writeFile").mockImplementation((uri, content, options: any) => { if (options?.name) { @@ -972,7 +969,7 @@ describe("_createEntriesFromUri", () => { getJesApi: vi.fn().mockReturnValue(mockJesApi), registeredJesApiTypes: vi.fn().mockReturnValue(["zosmf"]), } as any); - + // Mock writeFile to add the spool entry to the job's entries map with the correct name const writeFileMock = vi.spyOn(JobFSProvider.instance, "writeFile").mockImplementation((uri, content, options: any) => { if (options?.name) { diff --git a/packages/zowe-explorer/l10n/bundle.l10n.json b/packages/zowe-explorer/l10n/bundle.l10n.json index ba93fca8a0..d9644020d4 100644 --- a/packages/zowe-explorer/l10n/bundle.l10n.json +++ b/packages/zowe-explorer/l10n/bundle.l10n.json @@ -96,6 +96,7 @@ "Number of favorited members out of total members in a PDS" ] }, + "**Behavior:** Each command opens a dedicated terminal panel (for example, only MVS commands in the MVS terminal).": "**Behavior:** Each command opens a dedicated terminal panel (for example, only MVS commands in the MVS terminal).", "**Breaking:** Consolidated VS Code commands:": "**Breaking:** Consolidated VS Code commands:", "**Breaking:** Removed deprecated methods: #2238": "**Breaking:** Removed deprecated methods: #2238", "**Breaking:** Removed the zowe.ds.ZoweNode.openPS command in favor of using vscode.open with a data set URI. See the FileSystemProvider wiki page for more information on data set URIs. #2207": "**Breaking:** Removed the zowe.ds.ZoweNode.openPS command in favor of using vscode.open with a data set URI. See the FileSystemProvider wiki page for more information on data set URIs. #2207", @@ -106,8 +107,30 @@ "**Breaking:** Zowe Explorer no longer uses a temporary directory for storing Data Sets and USS files. All settings related to the temporary downloads folder have been removed. In order to access resources stored by Zowe Explorer V3, refer to the FileSystemProvider documentation for information on how to build and access resource URIs. Extenders can detect changes to resources using the onResourceChanged function in the ZoweExplorerApiRegister class. #2951": "**Breaking:** Zowe Explorer no longer uses a temporary directory for storing Data Sets and USS files. All settings related to the temporary downloads folder have been removed. In order to access resources stored by Zowe Explorer V3, refer to the FileSystemProvider documentation for information on how to build and access resource URIs. Extenders can detect changes to resources using the onResourceChanged function in the ZoweExplorerApiRegister class. #2951", "**BREAKING** Moved data set templates out of data set history settings into new setting \"zowe.ds.templates\". #2345": "**BREAKING** Moved data set templates out of data set history settings into new setting \"zowe.ds.templates\". #2345", "**Breaking** Moved data set templates out of data set history settings into new setting zowe.ds.templates. #2345": "**Breaking** Moved data set templates out of data set history settings into new setting zowe.ds.templates. #2345", + "**Enable:** Go to Zowe Explorer settings and check **Use Integrated Terminals**.": "**Enable:** Go to Zowe Explorer settings and check **Use Integrated Terminals**.", + "**Features:**": "**Features:**", + "**Features:** Reorder columns, filter and sort on columns, choose visible columns, and select multiple jobs for bulk cancel, delete, or download.": "**Features:** Reorder columns, filter and sort on columns, choose visible columns, and select multiple jobs for bulk cancel, delete, or download.", + "**How it works:**": "**How it works:**", "**New** Extender registration APIs:": "**New** Extender registration APIs:", + "**Note:** Sorting is only applied within each page, while the overall member list is fetched by alphabetical, ascending order.": "**Note:** Sorting is only applied within each page, while the overall member list is fetched by alphabetical, ascending order.", + "**Open Job:** This filters the job tree by the job ID to allow direct access to the job in one click. It behaves the same way as clicking the link on the popup but also closes the popup on the same click.": "**Open Job:** This filters the job tree by the job ID to allow direct access to the job in one click. It behaves the same way as clicking the link on the popup but also closes the popup on the same click.", + "**Open the table:**": "**Open the table:**", + "**Open the table:** Right-click a filtered jobs profile and select **Show as Table**.": "**Open the table:** Right-click a filtered jobs profile and select **Show as Table**.", + "**Open:** Right-click a profile in Data Sets, USS, or Jobs tree and select an **Issue x Command** option.": "**Open:** Right-click a profile in Data Sets, USS, or Jobs tree and select an **Issue x Command** option.", + "**Poll For Job Completion:** This button automatically starts polling for the job to complete. When it completes, there will be a new notification popup with the return code and the same open job button to filter the job in the job tree. The poll interval is 5000 ms by default (i.e. checking for completion every 5 seconds) but this interval can be changed in the setting **Zowe > Jobs: Poll Interval**.": "**Poll For Job Completion:** This button automatically starts polling for the job to complete. When it completes, there will be a new notification popup with the return code and the same open job button to filter the job in the job tree. The poll interval is 5000 ms by default (i.e. checking for completion every 5 seconds) but this interval can be changed in the setting **Zowe > Jobs: Poll Interval**.", + "**Right click** on sequential data sets, partitioned data sets (to download all members), partitioned data set members, USS files, or USS directories and click on the respective Download ... option to select download options.": "**Right click** on sequential data sets, partitioned data sets (to download all members), partitioned data set members, USS files, or USS directories and click on the respective Download ... option to select download options.", + "**Row actions:** Right-click a data set to:": "**Row actions:** Right-click a data set to:", + "**Row actions:** Right-click a job to:": "**Row actions:** Right-click a job to:", + "**Search options:**": "**Search options:**", "/u/username/directory": "/u/username/directory", + "#### Copy across LPAR updates": "#### Copy across LPAR updates", + "#### Favorite individual PDS members": "#### Favorite individual PDS members", + "#### Favorite VSAM data sets": "#### Favorite VSAM data sets", + "#### Get JCL encoding": "#### Get JCL encoding", + "#### Loading credential manager options": "#### Loading credential manager options", + "#### Submit job with encoding": "#### Submit job with encoding", + "#### VSAM support updates": "#### VSAM support updates", + "#### Windows custom persistence levels": "#### Windows custom persistence levels", "#2828": "#2828", "$(plus) Create a new Unix command": "$(plus) Create a new Unix command", "1 member": "1 member", @@ -126,18 +149,23 @@ ] }, "Ability to compare 2 files from MVS and/or UNIX System Services views via right click actions, with option to compare in Read-Only mode too.": "Ability to compare 2 files from MVS and/or UNIX System Services views via right click actions, with option to compare in Read-Only mode too.", + "Accessibility improvements": "Accessibility improvements", "Account Number": "Account Number", "action is not supported for this property type.": "action is not supported for this property type.", "Actions": "Actions", + "Active jobs in the **JOBS** tree can now be set to poll for job completion. Right-click on a filtered jobs profile, select **Start Polling Active Jobs**, and enter the desired poll interval. The default poll interval can be set in the Zowe Explorer settings under **Zowe > Jobs > Poll Interval**. The minimum interval is 1000ms.": "Active jobs in the **JOBS** tree can now be set to poll for job completion. Right-click on a filtered jobs profile, select **Start Polling Active Jobs**, and enter the desired poll interval. The default poll interval can be set in the Zowe Explorer settings under **Zowe > Jobs > Poll Interval**. The minimum interval is 1000ms.", + "Active jobs in the filtered profile automatically refresh at the specified interval and any new jobs matching the filter automatically appear. When a job completes, it shows a notification message with the job name and return code.": "Active jobs in the filtered profile automatically refresh at the specified interval and any new jobs matching the filter automatically appear. When a job completes, it shows a notification message with the job name and return code.", "Adapted to new API changes from grouping of common methods into singleton classes #2109": "Adapted to new API changes from grouping of common methods into singleton classes #2109", "Add": "Add", "Add a data set or USS resource to a virtual workspace with the new \"Add to Workspace\" context menu option. #3265": "Add a data set or USS resource to a virtual workspace with the new \"Add to Workspace\" context menu option. #3265", "Add Credentials": "Add Credentials", + "Add data sets, USS profiles, or USS directories to a VS Code workspace to group resources from different locations. Right-click a data set, USS profile, or USS directory and select **Add to workspace**.": "Add data sets, USS profiles, or USS directories to a VS Code workspace to group resources from different locations. Right-click a data set, USS profile, or USS directory and select **Add to workspace**.", "Add deprecation message to history settings explaining to users how to edit items. #2303": "Add deprecation message to history settings explaining to users how to edit items. #2303", "Add localization support to release notes and changelogs. #4047": "Add localization support to release notes and changelogs. #4047", "Add New History Item": "Add New History Item", "Add Profile to Tree": "Add Profile to Tree", "Add support for filtering PDS members by name and by date created. #4075": "Add support for filtering PDS members by name and by date created. #4075", + "Add to workspace": "Add to workspace", "Add username and password for basic authentication": "Add username and password for basic authentication", "Added \"Cancel Job\" feature for job nodes in Jobs tree view. #2251": "Added \"Cancel Job\" feature for job nodes in Jobs tree view. #2251", "Added \"Edit Attributes\" option for USS files and folders. #2254": "Added \"Edit Attributes\" option for USS files and folders. #2254", @@ -227,20 +255,26 @@ "Added support for consoleName property in z/OSMF profiles when issuing MVS commands #1667": "Added support for consoleName property in z/OSMF profiles when issuing MVS commands #1667", "Added support for consoleName property in z/OSMF profiles when issuing MVS commands. #1667": "Added support for consoleName property in z/OSMF profiles when issuing MVS commands. #1667", "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. #3945": "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. #3945", + "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. Updated Zowe SDKs to version 8.28.0 to address an issue where copying a PDS member to a data set across LPARs failed. This occurred when the target PDS already contained members, but none matched the name of the PDS member being copied.": "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. Updated Zowe SDKs to version 8.28.0 to address an issue where copying a PDS member to a data set across LPARs failed. This occurred when the target PDS already contained members, but none matched the name of the PDS member being copied.", "Added support for custom credential manager extensions in Zowe Explorer #2212": "Added support for custom credential manager extensions in Zowe Explorer #2212", + "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs.": "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs.", "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs. #3935": "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs. #3935", "Added support for downloading data sets, data set members, USS files, and USS directories. #3843": "Added support for downloading data sets, data set members, USS files, and USS directories. #3843", "Added support for enabling/disabling validation for a Zowe profile across all trees #2570": "Added support for enabling/disabling validation for a Zowe profile across all trees #2570", "Added support for encoding profile property when retrieving JCL with z/OSMF. #3877": "Added support for encoding profile property when retrieving JCL with z/OSMF. #3877", + "Added support for encoding profile property when retrieving JCL with z/OSMF. For example, include \"encoding\": \"IBM-1147\" in the z/OSMF profile to view JCL with \"IBM-1147\" encoding via the right-click Get JCL job option.": "Added support for encoding profile property when retrieving JCL with z/OSMF. For example, include \"encoding\": \"IBM-1147\" in the z/OSMF profile to view JCL with \"IBM-1147\" encoding via the right-click Get JCL job option.", "Added support for fetching virtual workspaces in parallel after Zowe Explorer activation. #3880": "Added support for fetching virtual workspaces in parallel after Zowe Explorer activation. #3880", "Added support for hiding a Zowe profile across all trees #2567": "Added support for hiding a Zowe profile across all trees #2567", "Added support for jobEncoding profile property when submitting jobs to z/OSMF. #3826": "Added support for jobEncoding profile property when submitting jobs to z/OSMF. #3826", + "Added support for jobEncoding profile property when submitting jobs to z/OSMF. For example, include \"jobEncoding\": \"IBM-1147\" in the z/OSMF profile to submit jobs with \"IBM-1147\" encoding.": "Added support for jobEncoding profile property when submitting jobs to z/OSMF. For example, include \"jobEncoding\": \"IBM-1147\" in the z/OSMF profile to submit jobs with \"IBM-1147\" encoding.", "Added support for loading credential manager options from the imperative.json file. Add a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager. #3935": "Added support for loading credential manager options from the imperative.json file. Add a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager. #3935", + "Added support for loading credential manager options from the imperative.json file. Added a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager.": "Added support for loading credential manager options from the imperative.json file. Added a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager.", "Added support for Local Storage settings for persistent settings in Zowe Explorer #2208": "Added support for Local Storage settings for persistent settings in Zowe Explorer #2208", "Added support for logging in to multiple API ML instances per team config file. #2264": "Added support for logging in to multiple API ML instances per team config file. #2264", "Added support for logging in to multiple API ML instances per team configuration file. #2264": "Added support for logging in to multiple API ML instances per team configuration file. #2264", "Added support for pasting at top-level of USS tree (if filtered), and optimized copy/paste operations to avoid using local paths when possible. #2041": "Added support for pasting at top-level of USS tree (if filtered), and optimized copy/paste operations to avoid using local paths when possible. #2041", "Added support for TTY-dependent scripts when using integrated terminals. #3640": "Added support for TTY-dependent scripts when using integrated terminals. #3640", + "Added support to delete VSAM data sets via right-click action.": "Added support to delete VSAM data sets via right-click action.", "Added support to delete VSAM data sets. #3824": "Added support to delete VSAM data sets. #3824", "Added support to view the Encoding history for MVS and Dataset in the History View. #2776": "Added support to view the Encoding history for MVS and Dataset in the History View. #2776", "Added the \"Copy Name\" option to VSAM data sets. #3466": "Added the \"Copy Name\" option to VSAM data sets. #3466", @@ -272,6 +306,7 @@ "Adopted new Zowe Explorer API, ZoweVsCodeExtension.createTeamConfiguration for Zowe team configuration creation. #3088": "Adopted new Zowe Explorer API, ZoweVsCodeExtension.createTeamConfiguration for Zowe team configuration creation. #3088", "Adopted support for VS Code proxy settings with zosmf profile types. #3010": "Adopted support for VS Code proxy settings with zosmf profile types. #3010", "Adopted ZE APIs new directConnectLogin and directConnectLogout methods for login and logout actions NOT using the tokenType apimlAuthenticationToken. #3346": "Adopted ZE APIs new directConnectLogin and directConnectLogout methods for login and logout actions NOT using the tokenType apimlAuthenticationToken. #3346", + "Advanced data set copy and paste": "Advanced data set copy and paste", "After installing the extension, please make sure to reload your VS Code window in order to start using the installed credential manager": "After installing the extension, please make sure to reload your VS Code window in order to start using the installed credential manager", "All": "All", "All Files": "All Files", @@ -292,6 +327,7 @@ "Allocating new data set": "Allocating new data set", "Allow deleting migrated datasets #2447": "Allow deleting migrated datasets #2447", "Allow extenders to add context menu actions to a top level node, i.e. data sets, USS, Jobs, by encoding the profile type in the context value. #3309": "Allow extenders to add context menu actions to a top level node, i.e. data sets, USS, Jobs, by encoding the profile type in the context value. #3309", + "Also available for a PDS in the Favorites tree": "Also available for a PDS in the Favorites tree", "An SSH profile will be used for issuing UNIX commands with the profile {0}.": "An SSH profile will be used for issuing UNIX commands with the profile {0}.", "Applied credential manager options from imperative.json to default credential manager": "Applied credential manager options from imperative.json to default credential manager", "Apply changes": "Apply changes", @@ -324,6 +360,7 @@ "Auth Method: ": "Auth Method: ", "Auto Store: ": "Auto Store: ", "Auto-detect from file tags": "Auto-detect from file tags", + "Auto-detect global team configuration": "Auto-detect global team configuration", "Back": "Back", "Basic Authentication": "Basic Authentication", "Binary": "Binary", @@ -345,6 +382,7 @@ "Cannot submit, item invalid.": "Cannot submit, item invalid.", "Cannot switch to token-based authentication for profile {0}.": "Cannot switch to token-based authentication for profile {0}.", "Case Sensitive": "Case Sensitive", + "Case sensitive and regex searching": "Case sensitive and regex searching", "Certificate Authentication": "Certificate Authentication", "Certificate File": "Certificate File", "Certificate Files": "Certificate Files", @@ -408,6 +446,7 @@ "Clear filter for PDS": "Clear filter for PDS", "Clear filter for profile": "Clear filter for profile", "Click on a filter to change its value": "Click on a filter to change its value", + "Click on Edit in settings.json to enter in desired values in the file. Specify the method and direction from the options provided by IntelliSense. For example:": "Click on Edit in settings.json to enter in desired values in the file. Specify the method and direction from the options provided by IntelliSense. For example:", "Column settings": "Column settings", "Command response: {0}/Command response": { "message": "Command response: {0}", @@ -427,6 +466,7 @@ "Contents": "Contents", "Continue": "Continue", "Convert existing profiles": "Convert existing profiles", + "Copy job info as JSON": "Copy job info as JSON", "Copying data set(s)": "Copying data set(s)", "Copying data sets is not supported.": "Copying data sets is not supported.", "Copying file structure...": "Copying file structure...", @@ -464,6 +504,7 @@ ] }, "Creation Date": "Creation Date", + "Credential Manager Updates": "Credential Manager Updates", "Credentials for {0} were successfully updated/Profile name": { "message": "Credentials for {0} were successfully updated", "comment": [ @@ -477,6 +518,7 @@ ] }, "Current Records": "Current Records", + "Currently, hidden Unix files (those starting with a .) are always listed in the USS tree. There is now a setting **Zowe > Files: Show Hidden Files** that can be disabled to hide these files.": "Currently, hidden Unix files (those starting with a .) are always listed in the USS tree. There is now a setting **Zowe > Files: Show Hidden Files** that can be disabled to hide these files.", "Custom credential manager {0} found, attempting to activate./Credential manager display name": { "message": "Custom credential manager {0} found, attempting to activate.", "comment": [ @@ -505,9 +547,16 @@ "New data set name" ] }, + "Data set search is now even smarter because it supports comma-separated member names within a partitioned data set. For example, MY.PDS(MEM1,TEST*) will return MY.PDS with the member called MEM1 and any members beginning with TEST.": "Data set search is now even smarter because it supports comma-separated member names within a partitioned data set. For example, MY.PDS(MEM1,TEST*) will return MY.PDS with the member called MEM1 and any members beginning with TEST.", + "Data set searches now support case sensitivity and regular expressions. Enable these options in the Search PDS members Quick Pick dialog.": "Data set searches now support case sensitivity and regular expressions. Enable these options in the Search PDS members Quick Pick dialog.", "Data Set Template Save Location": "Data Set Template Save Location", + "Data set tree pagination": "Data set tree pagination", "Data set(s) moved successfully.": "Data set(s) moved successfully.", "Data Sets": "Data Sets", + "Data sets and members can now be copied and pasted within or across LPARs. Drag and drop is also supported for moving items between locations. Permission and attribute edge cases are handled with clear error messages.": "Data sets and members can now be copied and pasted within or across LPARs. Drag and drop is also supported for moving items between locations. Permission and attribute edge cases are handled with clear error messages.", + "Data sets can now be searched for a string, similar to ISPF's SRCHFOR.": "Data sets can now be searched for a string, similar to ISPF's SRCHFOR.", + "Data sets can now be viewed in a table format, similar to the jobs table. The data sets table allows for easier filtering, sorting, and bulk actions on data sets and members.": "Data sets can now be viewed in a table format, similar to the jobs table. The data sets table allows for easier filtering, sorting, and bulk actions on data sets and members.", + "Data sets table": "Data sets table", "DatasetActions.copyDataSet - use DatasetActions.copyDataSets instead": "DatasetActions.copyDataSet - use DatasetActions.copyDataSets instead", "DatasetFSProvider.stat() will now throw a FileNotFound error for extenders trying to fetch an MVS resource that does not exist. #3252": "DatasetFSProvider.stat() will now throw a FileNotFound error for extenders trying to fetch an MVS resource that does not exist. #3252", "Date Completed": "Date Completed", @@ -520,6 +569,7 @@ "Encoding name" ] }, + "Default sort order": "Default sort order", "Default Zowe credentials manager not found on current platform. This is typically the case when running in container-based environments or Linux systems that miss required security libraries or user permissions.": "Default Zowe credentials manager not found on current platform. This is typically the case when running in container-based environments or Linux systems that miss required security libraries or user permissions.", "Delete": "Delete", "Delete action was canceled.": "Delete action was canceled.", @@ -541,11 +591,13 @@ "Disabled": "Disabled", "Display in Tree": "Display in Tree", "Display release notes after an update": "Display release notes after an update", + "Display the data set in the **DATA SETS** tree": "Display the data set in the **DATA SETS** tree", "Do you wish to apply this for all trees?": "Do you wish to apply this for all trees?", "Do you wish to change the authentication": "Do you wish to change the authentication", "Do you wish to use this credential manager instead?": "Do you wish to use this credential manager instead?", "Don't ask again": "Don't ask again", "Download": "Download", + "Download data sets and USS files to the local filesystem": "Download data sets and USS files to the local filesystem", "Download Options": "Download Options", "Download single spool operation not implemented by extender. Please contact the extension developer(s).": "Download single spool operation not implemented by extender. Please contact the extension developer(s).", "Downloaded: {0}/Download time": { @@ -573,7 +625,9 @@ "Easily search for data in filtered data sets and partitioned data sets with the new Search Filtered Data Sets and Search PDS Members functionality. #3306": "Easily search for data in filtered data sets and partitioned data sets with the new Search Filtered Data Sets and Search PDS Members functionality. #3306", "EBCDIC": "EBCDIC", "Edit Attributes": "Edit Attributes", + "Edit history": "Edit history", "Edit History": "Edit History", + "Edit history allows viewing, deleting, or adding a profile's search/filter history for data sets, USS, and jobs. Right-click a profile and select **Edit History**.": "Edit history allows viewing, deleting, or adding a profile's search/filter history for data sets, USS, and jobs. Right-click a profile and select **Edit History**.", "Edit Options (Case Sensitive: {0}, Regex: {1})/Case SensitiveRegex": { "message": "Edit Options (Case Sensitive: {0}, Regex: {1})", "comment": [ @@ -636,6 +690,7 @@ "Enter or update the console command": "Enter or update the console command", "Enter or update the TSO command": "Enter or update the TSO command", "Enter or update the Unix command": "Enter or update the Unix command", + "Enter search string in the input field at the top.": "Enter search string in the input field at the top.", "Enter the account number for the TSO connection.": "Enter the account number for the TSO connection.", "Enter the average block length (if allocation unit = BLK)": "Enter the average block length (if allocation unit = BLK)", "Enter the data set pattern to filter on": "Enter the data set pattern to filter on", @@ -871,6 +926,7 @@ ] }, "Favorites": "Favorites", + "Favorites changes": "Favorites changes", "Fetching data set...": "Fetching data set...", "Fetching spool file...": "Fetching spool file...", "File does not exist. It may have been deleted.": "File does not exist. It may have been deleted.", @@ -900,6 +956,7 @@ "Node label" ] }, + "Filter data sets by name or by date created": "Filter data sets by name or by date created", "Filter updated for {0}/Job label": { "message": "Filter updated for {0}", "comment": [ @@ -1245,7 +1302,10 @@ "Hide Profile": "Hide Profile", "Hide profile name from tree view": "Hide profile name from tree view", "HLQ.**.DATASET or HLQ.DATASET.NAME": "HLQ.**.DATASET or HLQ.DATASET.NAME", + "Hovering over a data set, USS, or jobs profile now displays detailed connection information.": "Hovering over a data set, USS, or jobs profile now displays detailed connection information.", "ID": "ID", + "If searching more than 50 members, a prompt displays to confirm or cancel.": "If searching more than 50 members, a prompt displays to confirm or cancel.", + "If you wish to make localization contributions to these or generally across the rest of Zowe Explorer, please reach out in the usual places.": "If you wish to make localization contributions to these or generally across the rest of Zowe Explorer, please reach out in the usual places.", "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete or download. #2258": "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete or download. #2258", "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete, or download. #2258": "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete, or download. #2258", "Implemented change detection in the data sets and USS filesystems so that changes on the mainframe are reflected in opened editors for Data Sets and USS files. #3040": "Implemented change detection in the data sets and USS filesystems so that changes on the mainframe are reflected in opened editors for Data Sets and USS files. #3040", @@ -1268,6 +1328,7 @@ "Implemented the SharedActions.refreshProvider function to allow refreshing a single tree provider. #3524": "Implemented the SharedActions.refreshProvider function to allow refreshing a single tree provider. #3524", "Implemented the VS Code FileSystemProvider for the Data Sets, Jobs, and USS trees to handle all read/write actions as well as conflict resolution. #2207": "Implemented the VS Code FileSystemProvider for the Data Sets, Jobs, and USS trees to handle all read/write actions as well as conflict resolution. #2207", "Improved integrated terminal behavior to match standard terminal functionality. Now, users can smoothly maintain proper cursor position when typing and backspacing. #3391": "Improved integrated terminal behavior to match standard terminal functionality. Now, users can smoothly maintain proper cursor position when typing and backspacing. #3391", + "Improved USS filtering": "Improved USS filtering", "Include Hidden Files": "Include Hidden Files", "Include hidden files when downloading directories": "Include hidden files when downloading directories", "Initial Records": "Initial Records", @@ -1288,6 +1349,7 @@ "Local storage key" ] }, + "Integrated terminal": "Integrated terminal", "Internal error: A Zowe Explorer extension client tried to register an invalid Command API.": "Internal error: A Zowe Explorer extension client tried to register an invalid Command API.", "Internal error: A Zowe Explorer extension client tried to register an invalid JES API.": "Internal error: A Zowe Explorer extension client tried to register an invalid JES API.", "Internal error: A Zowe Explorer extension client tried to register an invalid MVS API.": "Internal error: A Zowe Explorer extension client tried to register an invalid MVS API.", @@ -1361,12 +1423,15 @@ ] }, "Job Correlator": "Job Correlator", + "Job enhancements": "Job enhancements", "Job ID": "Job ID", "Job Name": "Job Name", "Job not found: {0}": "Job not found: {0}", "Job polling will automatically check active jobs for status changes at regular intervals. You will be notified when jobs complete. You can stop polling at any time by running this command again.": "Job polling will automatically check active jobs for status changes at regular intervals. You will be notified when jobs complete. You can stop polling at any time by running this command again.", "Job search cancelled.": "Job search cancelled.", + "Job spool pagination": "Job spool pagination", "Job submission failed.": "Job submission failed.", + "Job submission improvements": "Job submission improvements", "Job submitted {0} using profile {1}./Job IDProfile name": { "message": "Job submitted {0} using profile {1}.", "comment": [ @@ -1390,6 +1455,7 @@ "jobActions.modifyCommand.apiNonExisting": "jobActions.modifyCommand.apiNonExisting", "JobId: ": "JobId: ", "Jobs": "Jobs", + "Jobs table": "Jobs table", "Jobs with ID: {0}/Job Search ID": { "message": "Jobs with ID: {0}", "comment": [ @@ -1404,6 +1470,7 @@ "Job Status" ] }, + "Large job spool files now load faster by displaying a Load more… button at the bottom of the spool file to fetch additional lines as needed. For active jobs, use this button to retrieve new output without refreshing the **JOBS** tree. It is recommended to use the default keyboard shortcut Ctrl + L to quickly load more lines. The number of lines per page and the toggle for pagination can be configured in the settings under **Zowe > Jobs > Paginate**. The default is 100 lines per page.": "Large job spool files now load faster by displaying a Load more… button at the bottom of the spool file to fetch additional lines as needed. For active jobs, use this button to retrieve new output without refreshing the **JOBS** tree. It is recommended to use the default keyboard shortcut Ctrl + L to quickly load more lines. The number of lines per page and the toggle for pagination can be configured in the settings under **Zowe > Jobs > Paginate**. The default is 100 lines per page.", "Last Modified By": "Last Modified By", "Last refreshed:": "Last refreshed:", "Let the API infer encoding from individual USS file tags": "Let the API infer encoding from individual USS file tags", @@ -1427,6 +1494,8 @@ ] }, "Loading release notes...": "Loading release notes...", + "Localization for release notes and changelogs": "Localization for release notes and changelogs", + "Localization is tied to the VS Code localization setting. If there are no localizations available for a string, it will fallback to English.": "Localization is tied to the VS Code localization setting. If there are no localizations available for a string, it will fallback to English.", "Localization of strings within Zowe Explorer webviews. #2983": "Localization of strings within Zowe Explorer webviews. #2983", "Log in to Authentication Service": "Log in to Authentication Service", "Log in to obtain a new token value": "Log in to obtain a new token value", @@ -1446,6 +1515,7 @@ ] }, "Manage Persistent Properties": "Manage Persistent Properties", + "Many issues have been addressed to allow screen readers to better navigate and use Zowe Explorer features.": "Many issues have been addressed to allow screen readers to better navigate and use Zowe Explorer features.", "Member '{0}' not found in PDS '{1}'/Member namePDS name": { "message": "Member '{0}' not found in PDS '{1}'", "comment": [ @@ -1492,6 +1562,7 @@ "Moving MVS files...": "Moving MVS files...", "Moving USS files...": "Moving USS files...", "Must be a valid number": "Must be a valid number", + "MVS data set enhancements": "MVS data set enhancements", "Name": "Name", "Name of Data Set": "Name of Data Set", "Name of data set member": "Name of data set member", @@ -1568,6 +1639,10 @@ ] }, "not set": "not set", + "Note as this is a brand new feature, only the z/OSMF profile type supports this functionality upon release. Expect other profile types to add their backend support over time.": "Note as this is a brand new feature, only the z/OSMF profile type supports this functionality upon release. Expect other profile types to add their backend support over time.", + "Note that the filter only applies on the client side, so if pagination is enabled and active, each individual page is filtered and it may still require clicking through pages to get to the one with the filtered data sets or members.": "Note that the filter only applies on the client side, so if pagination is enabled and active, each individual page is filtered and it may still require clicking through pages to get to the one with the filtered data sets or members.", + "Note that when only a partial selection of PDS members are favorited, data set pagination is disabled on the PDS in the favorites tree.": "Note that when only a partial selection of PDS members are favorited, data set pagination is disabled on the PDS in the favorites tree.", + "Now the right click option on partitioned data sets and profile to filter data sets/data set members supports filtering by name or by date created. The filter by name supports wildcards and comma-separated names in the same way as the data set search.": "Now the right click option on partitioned data sets and profile to filter data sets/data set members supports filtering by name or by date created. The filter by name supports wildcards and comma-separated names in the same way as the data set search.", "Off": "Off", "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command:": "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command:", "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command: #2853": "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command: #2853", @@ -1586,7 +1661,11 @@ "Open File": "Open File", "Open Folder": "Open Folder", "Open Job": "Open Job", + "Open selected data set": "Open selected data set", "Open selected items": "Open selected items", + "Open the **Command Palette** and search for Zowe Explorer: List Data Sets, select a profile, and enter a search filter.": "Open the **Command Palette** and search for Zowe Explorer: List Data Sets, select a profile, and enter a search filter.", + "Open the data set": "Open the data set", + "Open the job in the Jobs tree": "Open the job in the Jobs tree", "Opening a dialog for Upload or Download of files will now open at the project level directory or the user's home directory if no project is opened. #2203": "Opening a dialog for Upload or Download of files will now open at the project level directory or the user's home directory if no project is opened. #2203", "Opening data set failed.": "Opening data set failed.", "openUSS() called from invalid node.": "openUSS() called from invalid node.", @@ -1630,10 +1709,13 @@ "Phase": "Phase", "Phase Name": "Phase Name", "Pin": "Pin", + "Pin or unpin the row": "Pin or unpin the row", + "Pin rows to keep them visible while scrolling": "Pin rows to keep them visible while scrolling", "Pin selected rows": "Pin selected rows", "Please enter a valid USS path.": "Please enter a valid USS path.", "Please install associated VS Code extension for custom credential manager or revert to default.": "Please install associated VS Code extension for custom credential manager or revert to default.", "Please review the following lines:": "Please review the following lines:", + "Please see the docs for much more detail on downloading data sets, downloading USS files or USS directories.": "Please see the docs for much more detail on downloading data sets, downloading USS files or USS directories.", "Please select a single profile or PDS.": "Please select a single profile or PDS.", "Plugin of name '{0}' was defined for custom credential management on imperative.json file./Credential manager display name": { "message": "Plugin of name '{0}' was defined for custom credential management on imperative.json file.", @@ -1641,6 +1723,7 @@ "Credential manager display name" ] }, + "Poll active jobs": "Poll active jobs", "Poll For Job Completion": "Poll For Job Completion", "Poll interval (in ms) for: {0}/URI path": { "message": "Poll interval (in ms) for: {0}", @@ -1726,6 +1809,7 @@ "Name of the selected profile" ] }, + "Profile info hover": "Profile info hover", "Profile is invalid": "Profile is invalid", "Profile is invalid, check connection details.": "Profile is invalid, check connection details.", "Profile not found.": "Profile not found.", @@ -1739,6 +1823,7 @@ ] }, "Profile: ": "Profile: ", + "Progress is shown in the status bar.": "Progress is shown in the status bar.", "Project": "Project", "Project: in the current working directory": "Project: in the current working directory", "Prompting the user for a data set pattern": "Prompting the user for a data set pattern", @@ -1777,7 +1862,9 @@ "Refresh File Properties": "Refresh File Properties", "refreshUSS() called from invalid node.": "refreshUSS() called from invalid node.", "Regex": "Regex", + "Release notes": "Release notes", "Release Notes": "Release Notes", + "Release notes for Zowe Explorer are now available in VS Code. Release notes are displayed when Zowe Explorer updates and can also be accessed from the command palette (Ctrl + Shift + P) by searching for Zowe Explorer: Display Release Notes. Disable automatic display of release notes when updating by unticking Display release notes after an update in this window or in the Zowe Explorer settings.": "Release notes for Zowe Explorer are now available in VS Code. Release notes are displayed when Zowe Explorer updates and can also be accessed from the command palette (Ctrl + Shift + P) by searching for Zowe Explorer: Display Release Notes. Disable automatic display of release notes when updating by unticking Display release notes after an update in this window or in the Zowe Explorer settings.", "Reload": "Reload", "Reload window": "Reload window", "Reload Window": "Reload Window", @@ -1807,6 +1894,7 @@ "Old data set name" ] }, + "Reorder, filter, sort, and choose visible columns": "Reorder, filter, sort, and choose visible columns", "Replace": "Replace", "Replaced an import of ILocalStorageAccess from \"@zowe/zowe-explorer-api/src/extend/ILocalStorageAccess\" to \"@zowe/zowe-explorer-api\". #3606": "Replaced an import of ILocalStorageAccess from \"@zowe/zowe-explorer-api/src/extend/ILocalStorageAccess\" to \"@zowe/zowe-explorer-api\". #3606", "Replaced keytar dependency with keyring module from @zowe/secrets-for-zowe-sdk. #2358 #2348": "Replaced keytar dependency with keyring module from @zowe/secrets-for-zowe-sdk. #2358 #2348", @@ -1822,10 +1910,15 @@ "Resolved TypeError: Cannot read properties of undefined (reading 'direction') error for favorited items. #3067": "Resolved TypeError: Cannot read properties of undefined (reading 'direction') error for favorited items. #3067", "Resolved user interface bug with tables that caused an inconsistent table height within the VS Code Panel. #3389": "Resolved user interface bug with tables that caused an inconsistent table height within the VS Code Panel. #3389", "Response From Service": "Response From Service", + "Results appear in the Zowe Resources panel, where files can be bulk opened.": "Results appear in the Zowe Resources panel, where files can be bulk opened.", "Retrieving response from JES list API": "Retrieving response from JES list API", "Retrieving response from MVS list API": "Retrieving response from MVS list API", "Retrieving response from USS list API": "Retrieving response from USS list API", "Return Code": "Return Code", + "Right-click a filtered data sets profile, a data set, or a favorite, and select **Show as Table**.": "Right-click a filtered data sets profile, a data set, or a favorite, and select **Show as Table**.", + "Right-click a PDS: **Search PDS members**": "Right-click a PDS: **Search PDS members**", + "Right-click a profile: **Search filtered data sets**": "Right-click a profile: **Search filtered data sets**", + "Right-click on a directory or partitioned data set in the **USS** or **DATA SETS** tree and select **Upload with Encoding...** to choose a character encoding for the uploaded files.": "Right-click on a directory or partitioned data set in the **USS** or **DATA SETS** tree and select **Upload with Encoding...** to choose a character encoding for the uploaded files.", "Save as User setting": "Save as User setting", "Save as Workspace setting": "Save as Workspace setting", "Saving data set...": "Saving data set...", @@ -1834,6 +1927,7 @@ "Search All Filesystems": "Search All Filesystems", "Search all mounted filesystems under the path": "Search all mounted filesystems under the path", "Search by job ID": "Search by job ID", + "Search data sets": "Search data sets", "Search data sets: use a comma to separate multiple patterns": "Search data sets: use a comma to separate multiple patterns", "Search History": "Search History", "Search Keyword History": "Search Keyword History", @@ -1919,9 +2013,11 @@ "Select default encoding for directory files (current: Auto-detect from file tags)": "Select default encoding for directory files (current: Auto-detect from file tags)", "Select Download Location": "Select Download Location", "Select download options": "Select download options", + "Select multiple data sets or members for bulk open": "Select multiple data sets or members for bulk open", "Select search options": "Select search options", "Select specific encoding for file": "Select specific encoding for file", "Select specific encoding for file (current: {0})": "Select specific encoding for file (current: {0})", + "Select text in the editor, right-click, and choose **Open Selected Data Set**. If the selected text is a valid data set name, it opens in a new editor tab or focus onto an existing tab if already open. If the selected text is a valid partitioned data set, it opens in the **DATA SETS** tree. This is equivalent to the ZOOM command in ISPF.": "Select text in the editor, right-click, and choose **Open Selected Data Set**. If the selected text is a valid data set name, it opens in a new editor tab or focus onto an existing tab if already open. If the selected text is a valid partitioned data set, it opens in the **DATA SETS** tree. This is equivalent to the ZOOM command in ISPF.", "Select the location of the config file to edit": "Select the location of the config file to edit", "Select the location where the config file will be initialized": "Select the location where the config file will be initialized", "Select the profile to use to open the data set": "Select the profile to use to open the data set", @@ -1952,7 +2048,9 @@ }, "Set a filter...": "Set a filter...", "Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546": "Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546", + "Setting to hide hidden USS files": "Setting to hide hidden USS files", "Settings have been successfully migrated for Zowe Explorer version 2 and above. To apply these settings, please reload your VS Code window.": "Settings have been successfully migrated for Zowe Explorer version 2 and above. To apply these settings, please reload your VS Code window.", + "Several members may be favorited or unfavorited at once by doing a multi-selection.": "Several members may be favorited or unfavorited at once by doing a multi-selection.", "Showing attributes for {0}./Label": { "message": "Showing attributes for {0}.", "comment": [ @@ -1960,6 +2058,7 @@ ] }, "Size": "Size", + "Smarter data set search filtering": "Smarter data set search filtering", "Solved issue with a conflicting keybinding for Edit History, changed keybinding to Ctrl+Alt+y for Windows and ⌘ Cmd+⌥ Opt+y for macOS. #2543": "Solved issue with a conflicting keybinding for Edit History, changed keybinding to Ctrl+Alt+y for Windows and ⌘ Cmd+⌥ Opt+y for macOS. #2543", "Sort": "Sort", "Sort Direction": "Sort Direction", @@ -2006,6 +2105,7 @@ "Team config file deleted, refreshing Zowe Explorer.": "Team config file deleted, refreshing Zowe Explorer.", "Team config file updated, refreshing Zowe Explorer.": "Team config file updated, refreshing Zowe Explorer.", "Template of Data Set to be Created": "Template of Data Set to be Created", + "Text and alt text in the release notes and the changelogs are now localizable.": "Text and alt text in the release notes and the changelogs are now localizable.", "The 'move' function is not implemented for this USS API.": "The 'move' function is not implemented for this USS API.", "The \"Open Recent Member\" command can now be triggered from the command palette. #3477": "The \"Open Recent Member\" command can now be triggered from the command palette. #3477", "The \"Zowe Resources\" panel is now hidden by default until Zowe Explorer reveals it to display a table or other data. #3113": "The \"Zowe Resources\" panel is now hidden by default until Zowe Explorer reveals it to display a table or other data. #3113", @@ -2015,11 +2115,16 @@ "Node type" ] }, + "The **USS** tree can now be filtered by any selected directory. Right-click a directory and select Search by directory to filter. Use the Go Up One Directory button to quickly adjust the filter to the parent directory.": "The **USS** tree can now be filtered by any selected directory. Right-click a directory and select Search by directory to filter. Use the Go Up One Directory button to quickly adjust the filter to the parent directory.", "The API does not support updating attributes for this": "The API does not support updating attributes for this", "The cancel function is not implemented in this API.": "The cancel function is not implemented in this API.", "The data set member already exists.\nDo you want to replace it?": "The data set member already exists.\nDo you want to replace it?", + "The Data Sets tree and any data sets with many members now display <- Previous page and -> Next page navigation buttons to page through members. Only a subset of members is loaded at a time, allowing for large filters and data sets to load members faster. The number of members per page is configurable in the settings under **Zowe > Ds > Paginate**. The default is 100 members per page.": "The Data Sets tree and any data sets with many members now display <- Previous page and -> Next page navigation buttons to page through members. Only a subset of members is loaded at a time, allowing for large filters and data sets to load members faster. The number of members per page is configurable in the settings under **Zowe > Ds > Paginate**. The default is 100 members per page.", + "The default sort order of every data set or job can now be changed. For example, to always open a data set to see the most recently edited members, set the default sort order to be by descending, date modified. The following settings are available:": "The default sort order of every data set or job can now be changed. For example, to always open a data set to see the most recently edited members, set the default sort order to be by descending, date modified. The following settings are available:", "The downloadAllMembers API is not supported for this profile type. Please contact the extension developer.": "The downloadAllMembers API is not supported for this profile type. Please contact the extension developer.", "The downloadDirectory API is not supported for this profile type. Please contact the extension developer.": "The downloadDirectory API is not supported for this profile type. Please contact the extension developer.", + "The entire PDS can still be favorited with all members. When a member is removed from favorites, only it is removed, unless it is the only member in the PDS, in which case the entire PDS will be removed from favorites.": "The entire PDS can still be favorited with all members. When a member is removed from favorites, only it is removed, unless it is the only member in the PDS, in which case the entire PDS will be removed from favorites.", + "The favorites tree now supports being able to favorite individual members of a partitioned data set.": "The favorites tree now supports being able to favorite individual members of a partitioned data set.", "The following {0} item(s) were deleted:\n{1}{2}/Data Sets deleted lengthData Sets deletedAdditional datasets count": { "message": "The following {0} item(s) were deleted:\n{1}{2}", "comment": [ @@ -2034,6 +2139,7 @@ "Deleted jobs" ] }, + "The integrated terminal connects to the mainframe via SSH for MVS, TSO, or USS commands. Multiple sessions are supported. Currently disabled by default as further development is actively ongoing.": "The integrated terminal connects to the mainframe via SSH for MVS, TSO, or USS commands. Multiple sessions are supported. Currently disabled by default as further development is actively ongoing.", "The item {0} has been deleted./Label": { "message": "The item {0} has been deleted.", "comment": [ @@ -2041,6 +2147,7 @@ ] }, "The job was not cancelled.": "The job was not cancelled.", + "The jobs table is a panel that allows viewing filtered jobs more clearly and for performing bulk actions on jobs.": "The jobs table is a panel that allows viewing filtered jobs more clearly and for performing bulk actions on jobs.", "The partitioned (PO) data set already exists.\nDo you want to merge them while replacing any existing members?": "The partitioned (PO) data set already exists.\nDo you want to merge them while replacing any existing members?", "The paste operation is not supported for this node.": "The paste operation is not supported for this node.", "the PDS members in {0}/Node label": { @@ -2187,6 +2294,7 @@ "Updated js-yaml dependency for technical currency. #3937": "Updated js-yaml dependency for technical currency. #3937", "Updated linter rules and addressed linter errors. #2184": "Updated linter rules and addressed linter errors. #2184", "Updated linter rules and addressed linter errors. #2291": "Updated linter rules and addressed linter errors. #2291", + "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates.": "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates.", "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates. #3684": "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates. #3684", "Updated MVS view progress indicator for entering a filter search. #2181": "Updated MVS view progress indicator for entering a filter search. #2181", "Updated sorting of PDS members to show items without stats at bottom of list #2660": "Updated sorting of PDS members to show items without stats at bottom of list #2660", @@ -2215,6 +2323,7 @@ ] }, "Upload action was cancelled.": "Upload action was cancelled.", + "Upload with encoding": "Upload with encoding", "Uploading file to USS tree": "Uploading file to USS tree", "Uploading file...": "Uploading file...", "Uploading to data set": "Uploading to data set", @@ -2258,7 +2367,11 @@ "Value": "Value", "Version": "Version", "View Details": "View Details", + "View JCL (opens as an unsaved editor file)": "View JCL (opens as an unsaved editor file)", + "View members of a partitioned data set": "View members of a partitioned data set", "Volumes": "Volumes", + "VS Code engine support change": "VS Code engine support change", + "VSAM data sets can now be favorited.": "VSAM data sets can now be favorited.", "Waiting for data from extension...": "Waiting for data from extension...", "Welcome to the integrated terminal for: {0}/Terminal Name": { "message": "Welcome to the integrated terminal for: {0}", @@ -2267,6 +2380,9 @@ ] }, "What's New in Zowe Explorer {0}": "What's New in Zowe Explorer {0}", + "When all jobs have completed, polling automatically stops. Alternatively, to stop polling, right-click the profile again and select **Stop Polling Active Jobs**.": "When all jobs have completed, polling automatically stops. Alternatively, to stop polling, right-click the profile again and select **Stop Polling Active Jobs**.", + "When favoriting a data set member, the partitioned data set will still show in the favorites tree, but now only with the favorited data set member under it, rather than all members as before. When expanded, a tooltip will now show beside the data set name with the number of members that are favorited inside of it vs the total number of members the data set has.": "When favoriting a data set member, the partitioned data set will still show in the favorites tree, but now only with the favorited data set member under it, rather than all members as before. When expanded, a tooltip will now show beside the data set name with the number of members that are favorited inside of it vs the total number of members the data set has.", + "When submitting a job, there are now two buttons on the job submission notification popup:": "When submitting a job, there are now two buttons on the job submission notification popup:", "When the user types in a data set pattern in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the pattern. Once clicked, the new filter is added to the user's search history and the pattern is used for listing data sets. #3015": "When the user types in a data set pattern in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the pattern. Once clicked, the new filter is added to the user's search history and the pattern is used for listing data sets. #3015", "When the user types in a USS file path in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the file path. Once clicked, the new filter is added to the user's search history and the path is used for listing a USS directory. #3015": "When the user types in a USS file path in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the file path. Once clicked, the new filter is added to the user's search history and the path is used for listing a USS directory. #3015", "Write": "Write", @@ -2308,6 +2424,7 @@ "Log setting" ] }, + "Zowe Explorer now auto-detects the global team configuration, regardless of the location of the currently opened VS Code working directory.": "Zowe Explorer now auto-detects the global team configuration, regardless of the location of the currently opened VS Code working directory.", "Zowe Explorer now has a VS Code logger with a default log level of INFO.\n \nIt looks like the Zowe CLI's ZOWE_APP_LOG_LEVEL={0}.\n \nWould you like Zowe Explorer to update to the the same log level?/CLI setting": { "message": "Zowe Explorer now has a VS Code logger with a default log level of INFO.\n \nIt looks like the Zowe CLI's ZOWE_APP_LOG_LEVEL={0}.\n \nWould you like Zowe Explorer to update to the the same log level?", "comment": [ @@ -2315,6 +2432,7 @@ ] }, "Zowe Explorer now includes support for the VS Code display languages French, German, Japanese, Portuguese, and Spanish. Download the respective language pack and switch. #3239": "Zowe Explorer now includes support for the VS Code display languages French, German, Japanese, Portuguese, and Spanish. Download the respective language pack and switch. #3239", + "Zowe Explorer now supports being able to directly download data sets, data set members, USS files & USS directories to the local machine filesystem - with a multitude of basic and advanced options built into the download menus.": "Zowe Explorer now supports being able to directly download data sets, data set members, USS files & USS directories to the local machine filesystem - with a multitude of basic and advanced options built into the download menus.", "Zowe Explorer profiles are being set as secured.": "Zowe Explorer profiles are being set as secured.", "Zowe Explorer profiles are being set as unsecured.": "Zowe Explorer profiles are being set as unsecured.", "Zowe Explorer: Cancel job": "Zowe Explorer: Cancel job", diff --git a/packages/zowe-explorer/l10n/poeditor.json b/packages/zowe-explorer/l10n/poeditor.json index c419f2abc9..c13c9924b2 100644 --- a/packages/zowe-explorer/l10n/poeditor.json +++ b/packages/zowe-explorer/l10n/poeditor.json @@ -616,6 +616,7 @@ "{0}. Or select a profile to add to the JOBS tree.": "", "{0}. Or select a profile to add to the USS tree.": "", "{0}/{1} members": "", + "**Behavior:** Each command opens a dedicated terminal panel (for example, only MVS commands in the MVS terminal).": "", "**Breaking:** Consolidated VS Code commands:": "", "**Breaking:** Removed deprecated methods: #2238": "", "**Breaking:** Removed the zowe.ds.ZoweNode.openPS command in favor of using vscode.open with a data set URI. See the FileSystemProvider wiki page for more information on data set URIs. #2207": "", @@ -626,8 +627,30 @@ "**Breaking:** Zowe Explorer no longer uses a temporary directory for storing Data Sets and USS files. All settings related to the temporary downloads folder have been removed. In order to access resources stored by Zowe Explorer V3, refer to the FileSystemProvider documentation for information on how to build and access resource URIs. Extenders can detect changes to resources using the onResourceChanged function in the ZoweExplorerApiRegister class. #2951": "", "**BREAKING** Moved data set templates out of data set history settings into new setting \"zowe.ds.templates\". #2345": "", "**Breaking** Moved data set templates out of data set history settings into new setting zowe.ds.templates. #2345": "", + "**Enable:** Go to Zowe Explorer settings and check **Use Integrated Terminals**.": "", + "**Features:**": "", + "**Features:** Reorder columns, filter and sort on columns, choose visible columns, and select multiple jobs for bulk cancel, delete, or download.": "", + "**How it works:**": "", "**New** Extender registration APIs:": "", + "**Note:** Sorting is only applied within each page, while the overall member list is fetched by alphabetical, ascending order.": "", + "**Open Job:** This filters the job tree by the job ID to allow direct access to the job in one click. It behaves the same way as clicking the link on the popup but also closes the popup on the same click.": "", + "**Open the table:**": "", + "**Open the table:** Right-click a filtered jobs profile and select **Show as Table**.": "", + "**Open:** Right-click a profile in Data Sets, USS, or Jobs tree and select an **Issue x Command** option.": "", + "**Poll For Job Completion:** This button automatically starts polling for the job to complete. When it completes, there will be a new notification popup with the return code and the same open job button to filter the job in the job tree. The poll interval is 5000 ms by default (i.e. checking for completion every 5 seconds) but this interval can be changed in the setting **Zowe > Jobs: Poll Interval**.": "", + "**Right click** on sequential data sets, partitioned data sets (to download all members), partitioned data set members, USS files, or USS directories and click on the respective Download ... option to select download options.": "", + "**Row actions:** Right-click a data set to:": "", + "**Row actions:** Right-click a job to:": "", + "**Search options:**": "", "/u/username/directory": "", + "#### Copy across LPAR updates": "", + "#### Favorite individual PDS members": "", + "#### Favorite VSAM data sets": "", + "#### Get JCL encoding": "", + "#### Loading credential manager options": "", + "#### Submit job with encoding": "", + "#### VSAM support updates": "", + "#### Windows custom persistence levels": "", "#2828": "", "$(plus) Create a new Unix command": "", "1 member": "", @@ -636,18 +659,23 @@ "A profile does not exist for this file.": "", "A search must be set for {0} before it can be added to a workspace.": "", "Ability to compare 2 files from MVS and/or UNIX System Services views via right click actions, with option to compare in Read-Only mode too.": "", + "Accessibility improvements": "", "Account Number": "", "action is not supported for this property type.": "", "Actions": "", + "Active jobs in the **JOBS** tree can now be set to poll for job completion. Right-click on a filtered jobs profile, select **Start Polling Active Jobs**, and enter the desired poll interval. The default poll interval can be set in the Zowe Explorer settings under **Zowe > Jobs > Poll Interval**. The minimum interval is 1000ms.": "", + "Active jobs in the filtered profile automatically refresh at the specified interval and any new jobs matching the filter automatically appear. When a job completes, it shows a notification message with the job name and return code.": "", "Adapted to new API changes from grouping of common methods into singleton classes #2109": "", "Add": "", "Add a data set or USS resource to a virtual workspace with the new \"Add to Workspace\" context menu option. #3265": "", "Add Credentials": "", + "Add data sets, USS profiles, or USS directories to a VS Code workspace to group resources from different locations. Right-click a data set, USS profile, or USS directory and select **Add to workspace**.": "", "Add deprecation message to history settings explaining to users how to edit items. #2303": "", "Add localization support to release notes and changelogs. #4047": "", "Add New History Item": "", "Add Profile to Tree": "", "Add support for filtering PDS members by name and by date created. #4075": "", + "Add to workspace": "", "Add username and password for basic authentication": "", "Added \"Cancel Job\" feature for job nodes in Jobs tree view. #2251": "", "Added \"Edit Attributes\" option for USS files and folders. #2254": "", @@ -737,20 +765,26 @@ "Added support for consoleName property in z/OSMF profiles when issuing MVS commands #1667": "", "Added support for consoleName property in z/OSMF profiles when issuing MVS commands. #1667": "", "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. #3945": "", + "Added support for copying data sets from multiple source LPARs at once in the cross-LPAR copy/paste functionality. Updated Zowe SDKs to version 8.28.0 to address an issue where copying a PDS member to a data set across LPARs failed. This occurred when the target PDS already contained members, but none matched the name of the PDS member being copied.": "", "Added support for custom credential manager extensions in Zowe Explorer #2212": "", + "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs.": "", "Added support for custom persistence levels for Windows (persist option) to support the credential manager in less permissive environments. For more information on how to configure this option, refer to the \"Troubleshooting Zowe CLI credentials\" page on Zowe Docs. #3935": "", "Added support for downloading data sets, data set members, USS files, and USS directories. #3843": "", "Added support for enabling/disabling validation for a Zowe profile across all trees #2570": "", "Added support for encoding profile property when retrieving JCL with z/OSMF. #3877": "", + "Added support for encoding profile property when retrieving JCL with z/OSMF. For example, include \"encoding\": \"IBM-1147\" in the z/OSMF profile to view JCL with \"IBM-1147\" encoding via the right-click Get JCL job option.": "", "Added support for fetching virtual workspaces in parallel after Zowe Explorer activation. #3880": "", "Added support for hiding a Zowe profile across all trees #2567": "", "Added support for jobEncoding profile property when submitting jobs to z/OSMF. #3826": "", + "Added support for jobEncoding profile property when submitting jobs to z/OSMF. For example, include \"jobEncoding\": \"IBM-1147\" in the z/OSMF profile to submit jobs with \"IBM-1147\" encoding.": "", "Added support for loading credential manager options from the imperative.json file. Add a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager. #3935": "", + "Added support for loading credential manager options from the imperative.json file. Added a credentialManagerOptions object in the JSON object in imperative.json to specify options for the current credential manager.": "", "Added support for Local Storage settings for persistent settings in Zowe Explorer #2208": "", "Added support for logging in to multiple API ML instances per team config file. #2264": "", "Added support for logging in to multiple API ML instances per team configuration file. #2264": "", "Added support for pasting at top-level of USS tree (if filtered), and optimized copy/paste operations to avoid using local paths when possible. #2041": "", "Added support for TTY-dependent scripts when using integrated terminals. #3640": "", + "Added support to delete VSAM data sets via right-click action.": "", "Added support to delete VSAM data sets. #3824": "", "Added support to view the Encoding history for MVS and Dataset in the History View. #2776": "", "Added the \"Copy Name\" option to VSAM data sets. #3466": "", @@ -782,6 +816,7 @@ "Adopted new Zowe Explorer API, ZoweVsCodeExtension.createTeamConfiguration for Zowe team configuration creation. #3088": "", "Adopted support for VS Code proxy settings with zosmf profile types. #3010": "", "Adopted ZE APIs new directConnectLogin and directConnectLogout methods for login and logout actions NOT using the tokenType apimlAuthenticationToken. #3346": "", + "Advanced data set copy and paste": "", "After installing the extension, please make sure to reload your VS Code window in order to start using the installed credential manager": "", "All": "", "All Files": "", @@ -792,6 +827,7 @@ "Allocating new data set": "", "Allow deleting migrated datasets #2447": "", "Allow extenders to add context menu actions to a top level node, i.e. data sets, USS, Jobs, by encoding the profile type in the context value. #3309": "", + "Also available for a PDS in the Favorites tree": "", "An SSH profile will be used for issuing UNIX commands with the profile {0}.": "", "Applied credential manager options from imperative.json to default credential manager": "", "Apply changes": "", @@ -809,6 +845,7 @@ "Auth Method: ": "", "Auto Store: ": "", "Auto-detect from file tags": "", + "Auto-detect global team configuration": "", "Back": "", "Basic Authentication": "", "Binary": "", @@ -830,6 +867,7 @@ "Cannot submit, item invalid.": "", "Cannot switch to token-based authentication for profile {0}.": "", "Case Sensitive": "", + "Case sensitive and regex searching": "", "Certificate Authentication": "", "Certificate File": "", "Certificate Files": "", @@ -862,6 +900,7 @@ "Clear filter for PDS": "", "Clear filter for profile": "", "Click on a filter to change its value": "", + "Click on Edit in settings.json to enter in desired values in the file. Specify the method and direction from the options provided by IntelliSense. For example:": "", "Column settings": "", "Command response: {0}": "", "Common API": "", @@ -876,6 +915,7 @@ "Contents": "", "Continue": "", "Convert existing profiles": "", + "Copy job info as JSON": "", "Copying data set(s)": "", "Copying data sets is not supported.": "", "Copying file structure...": "", @@ -898,9 +938,11 @@ "Create the data set using the current attributes": "", "Creating new data set member {0}": "", "Creation Date": "", + "Credential Manager Updates": "", "Credentials for {0} were successfully updated": "", "Current encoding is {0}": "", "Current Records": "", + "Currently, hidden Unix files (those starting with a .) are always listed in the USS tree. There is now a setting **Zowe > Files: Show Hidden Files** that can be disabled to hide these files.": "", "Custom credential manager {0} found, attempting to activate.": "", "Custom credential manager {0} found": "", "Custom credential manager failed to activate": "", @@ -913,9 +955,16 @@ "Data Set Organization": "", "Data set pattern cannot be empty": "", "Data set renamed from {0} to {1}": "", + "Data set search is now even smarter because it supports comma-separated member names within a partitioned data set. For example, MY.PDS(MEM1,TEST*) will return MY.PDS with the member called MEM1 and any members beginning with TEST.": "", + "Data set searches now support case sensitivity and regular expressions. Enable these options in the Search PDS members Quick Pick dialog.": "", "Data Set Template Save Location": "", + "Data set tree pagination": "", "Data set(s) moved successfully.": "", "Data Sets": "", + "Data sets and members can now be copied and pasted within or across LPARs. Drag and drop is also supported for moving items between locations. Permission and attribute edge cases are handled with clear error messages.": "", + "Data sets can now be searched for a string, similar to ISPF's SRCHFOR.": "", + "Data sets can now be viewed in a table format, similar to the jobs table. The data sets table allows for easier filtering, sorting, and bulk actions on data sets and members.": "", + "Data sets table": "", "DatasetActions.copyDataSet - use DatasetActions.copyDataSets instead": "", "DatasetFSProvider.stat() will now throw a FileNotFound error for extenders trying to fetch an MVS resource that does not exist. #3252": "", "Date Completed": "", @@ -923,6 +972,7 @@ "Date Modified": "", "Date Submitted": "", "Default encoding is {0}": "", + "Default sort order": "", "Default Zowe credentials manager not found on current platform. This is typically the case when running in container-based environments or Linux systems that miss required security libraries or user permissions.": "", "Delete": "", "Delete action was canceled.": "", @@ -939,11 +989,13 @@ "Disabled": "", "Display in Tree": "", "Display release notes after an update": "", + "Display the data set in the **DATA SETS** tree": "", "Do you wish to apply this for all trees?": "", "Do you wish to change the authentication": "", "Do you wish to use this credential manager instead?": "", "Don't ask again": "", "Download": "", + "Download data sets and USS files to the local filesystem": "", "Download Options": "", "Download single spool operation not implemented by extender. Please contact the extension developer(s).": "", "Downloaded: {0}": "", @@ -966,7 +1018,9 @@ "Easily search for data in filtered data sets and partitioned data sets with the new Search Filtered Data Sets and Search PDS Members functionality. #3306": "", "EBCDIC": "", "Edit Attributes": "", + "Edit history": "", "Edit History": "", + "Edit history allows viewing, deleting, or adding a profile's search/filter history for data sets, USS, and jobs. Right-click a profile and select **Edit History**.": "", "Edit Options (Case Sensitive: {0}, Regex: {1})": "", "Edit Profile": "", "Enable Profile Validation": "", @@ -1003,6 +1057,7 @@ "Enter or update the console command": "", "Enter or update the TSO command": "", "Enter or update the Unix command": "", + "Enter search string in the input field at the top.": "", "Enter the account number for the TSO connection.": "", "Enter the average block length (if allocation unit = BLK)": "", "Enter the data set pattern to filter on": "", @@ -1068,6 +1123,7 @@ "Failed to update Zowe schema: insufficient permissions or read-only file. {0}": "", "Failed to upload changes for {0}: {1}": "", "Favorites": "", + "Favorites changes": "", "Fetching data set...": "", "Fetching spool file...": "", "File does not exist. It may have been deleted.": "", @@ -1086,6 +1142,7 @@ "Filter by permission octal mask": "", "Filter by user name or UID": "", "Filter cleared for {0}": "", + "Filter data sets by name or by date created": "", "Filter updated for {0}": "", "Filter: {0}": "", "Fix concerns regarding Unix command handling work. #2866": "", @@ -1398,7 +1455,10 @@ "Hide Profile": "", "Hide profile name from tree view": "", "HLQ.**.DATASET or HLQ.DATASET.NAME": "", + "Hovering over a data set, USS, or jobs profile now displays detailed connection information.": "", "ID": "", + "If searching more than 50 members, a prompt displays to confirm or cancel.": "", + "If you wish to make localization contributions to these or generally across the rest of Zowe Explorer, please reach out in the usual places.": "", "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete or download. #2258": "", "Implemented a \"Show as Table\" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete, or download. #2258": "", "Implemented change detection in the data sets and USS filesystems so that changes on the mainframe are reflected in opened editors for Data Sets and USS files. #3040": "", @@ -1421,6 +1481,7 @@ "Implemented the SharedActions.refreshProvider function to allow refreshing a single tree provider. #3524": "", "Implemented the VS Code FileSystemProvider for the Data Sets, Jobs, and USS trees to handle all read/write actions as well as conflict resolution. #2207": "", "Improved integrated terminal behavior to match standard terminal functionality. Now, users can smoothly maintain proper cursor position when typing and backspacing. #3391": "", + "Improved USS filtering": "", "Include Hidden Files": "", "Include hidden files when downloading directories": "", "Initial Records": "", @@ -1431,6 +1492,7 @@ "Install": "", "Insufficient read permissions for {0} in local storage.": "", "Insufficient write permissions for {0} in local storage.": "", + "Integrated terminal": "", "Internal error: A Zowe Explorer extension client tried to register an invalid Command API.": "", "Internal error: A Zowe Explorer extension client tried to register an invalid JES API.": "", "Internal error: A Zowe Explorer extension client tried to register an invalid MVS API.": "", @@ -1458,19 +1520,24 @@ "Job {0} completed - {1}": "", "Job {0} was deleted.": "", "Job Correlator": "", + "Job enhancements": "", "Job ID": "", "Job Name": "", "Job not found: {0}": "", "Job polling will automatically check active jobs for status changes at regular intervals. You will be notified when jobs complete. You can stop polling at any time by running this command again.": "", "Job search cancelled.": "", + "Job spool pagination": "", "Job submission failed.": "", + "Job submission improvements": "", "Job submitted {0} using profile {1}.": "", "Job submitted: {0}": "", "jobActions.modifyCommand.apiNonExisting": "", "JobId: ": "", "Jobs": "", + "Jobs table": "", "Jobs with ID: {0}": "", "Jobs: {0} | {1} | {2}": "", + "Large job spool files now load faster by displaying a Load more… button at the bottom of the spool file to fetch additional lines as needed. For active jobs, use this button to retrieve new output without refreshing the **JOBS** tree. It is recommended to use the default keyboard shortcut Ctrl + L to quickly load more lines. The number of lines per page and the toggle for pagination can be configured in the settings under **Zowe > Jobs > Paginate**. The default is 100 lines per page.": "", "Last Modified By": "", "Last refreshed:": "", "Let the API infer encoding from individual USS file tags": "", @@ -1479,6 +1546,8 @@ "Loading profile: {0} for jobs favorites": "", "Loading profile: {0} for USS favorites": "", "Loading release notes...": "", + "Localization for release notes and changelogs": "", + "Localization is tied to the VS Code localization setting. If there are no localizations available for a string, it will fallback to English.": "", "Localization of strings within Zowe Explorer webviews. #2983": "", "Log in to Authentication Service": "", "Log in to obtain a new token value": "", @@ -1488,6 +1557,7 @@ "Login using token-based authentication service was successful for profile {0}.": "", "Logout from authentication service was successful for {0}.": "", "Manage Persistent Properties": "", + "Many issues have been addressed to allow screen readers to better navigate and use Zowe Explorer features.": "", "Member '{0}' not found in PDS '{1}'": "", "Member {0} is already in favorites": "", "Member Name": "", @@ -1512,6 +1582,7 @@ "Moving MVS files...": "", "Moving USS files...": "", "Must be a valid number": "", + "MVS data set enhancements": "", "Name": "", "Name of Data Set": "", "Name of data set member": "", @@ -1557,6 +1628,10 @@ "not found": "", "Not implemented yet for profile of type: {0}": "", "not set": "", + "Note as this is a brand new feature, only the z/OSMF profile type supports this functionality upon release. Expect other profile types to add their backend support over time.": "", + "Note that the filter only applies on the client side, so if pagination is enabled and active, each individual page is filtered and it may still require clicking through pages to get to the one with the filtered data sets or members.": "", + "Note that when only a partial selection of PDS members are favorited, data set pagination is disabled on the PDS in the favorites tree.": "", + "Now the right click option on partitioned data sets and profile to filter data sets/data set members supports filtering by name or by date created. The filter by name supports wildcards and comma-separated names in the same way as the data set search.": "", "Off": "", "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command:": "", "Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command: #2853": "", @@ -1570,7 +1645,11 @@ "Open File": "", "Open Folder": "", "Open Job": "", + "Open selected data set": "", "Open selected items": "", + "Open the **Command Palette** and search for Zowe Explorer: List Data Sets, select a profile, and enter a search filter.": "", + "Open the data set": "", + "Open the job in the Jobs tree": "", "Opening a dialog for Upload or Download of files will now open at the project level directory or the user's home directory if no project is opened. #2203": "", "Opening data set failed.": "", "openUSS() called from invalid node.": "", @@ -1609,12 +1688,16 @@ "Phase": "", "Phase Name": "", "Pin": "", + "Pin or unpin the row": "", + "Pin rows to keep them visible while scrolling": "", "Pin selected rows": "", "Please enter a valid USS path.": "", "Please install associated VS Code extension for custom credential manager or revert to default.": "", "Please review the following lines:": "", + "Please see the docs for much more detail on downloading data sets, downloading USS files or USS directories.": "", "Please select a single profile or PDS.": "", "Plugin of name '{0}' was defined for custom credential management on imperative.json file.": "", + "Poll active jobs": "", "Poll For Job Completion": "", "Poll interval (in ms) for: {0}": "", "Polling {0} active jobs may cause too many requests. Are you sure you want to continue?": "", @@ -1639,6 +1722,7 @@ "Profile {0} is using basic authentication. Choose a profile action.": "", "Profile {0} is using token authentication. Choose a profile action.": "", "Profile {0} not found.": "", + "Profile info hover": "", "Profile is invalid": "", "Profile is invalid, check connection details.": "", "Profile not found.": "", @@ -1647,6 +1731,7 @@ "Profile Type: ": "", "Profile validation failed for {0}.": "", "Profile: ": "", + "Progress is shown in the status bar.": "", "Project": "", "Project: in the current working directory": "", "Prompting the user for a data set pattern": "", @@ -1675,7 +1760,9 @@ "Refresh File Properties": "", "refreshUSS() called from invalid node.": "", "Regex": "", + "Release notes": "", "Release Notes": "", + "Release notes for Zowe Explorer are now available in VS Code. Release notes are displayed when Zowe Explorer updates and can also be accessed from the command palette (Ctrl + Shift + P) by searching for Zowe Explorer: Display Release Notes. Disable automatic display of release notes when updating by unticking Display release notes after an update in this window or in the Zowe Explorer settings.": "", "Reload": "", "Reload window": "", "Reload Window": "", @@ -1700,6 +1787,7 @@ "Renamed isHomeProfile context helper function to isGlobalProfile for clarity. #2026": "", "Renamed references to \"MVS Command\" to \"Console Command\" for clarity. #4300": "", "Renaming data set {0}": "", + "Reorder, filter, sort, and choose visible columns": "", "Replace": "", "Replaced an import of ILocalStorageAccess from \"@zowe/zowe-explorer-api/src/extend/ILocalStorageAccess\" to \"@zowe/zowe-explorer-api\". #3606": "", "Replaced keytar dependency with keyring module from @zowe/secrets-for-zowe-sdk. #2358 #2348": "", @@ -1715,10 +1803,15 @@ "Resolved TypeError: Cannot read properties of undefined (reading 'direction') error for favorited items. #3067": "", "Resolved user interface bug with tables that caused an inconsistent table height within the VS Code Panel. #3389": "", "Response From Service": "", + "Results appear in the Zowe Resources panel, where files can be bulk opened.": "", "Retrieving response from JES list API": "", "Retrieving response from MVS list API": "", "Retrieving response from USS list API": "", "Return Code": "", + "Right-click a filtered data sets profile, a data set, or a favorite, and select **Show as Table**.": "", + "Right-click a PDS: **Search PDS members**": "", + "Right-click a profile: **Search filtered data sets**": "", + "Right-click on a directory or partitioned data set in the **USS** or **DATA SETS** tree and select **Upload with Encoding...** to choose a character encoding for the uploaded files.": "", "Save as User setting": "", "Save as Workspace setting": "", "Saving data set...": "", @@ -1727,6 +1820,7 @@ "Search All Filesystems": "", "Search all mounted filesystems under the path": "", "Search by job ID": "", + "Search data sets": "", "Search data sets: use a comma to separate multiple patterns": "", "Search History": "", "Search Keyword History": "", @@ -1762,9 +1856,11 @@ "Select default encoding for directory files (current: Auto-detect from file tags)": "", "Select Download Location": "", "Select download options": "", + "Select multiple data sets or members for bulk open": "", "Select search options": "", "Select specific encoding for file": "", "Select specific encoding for file (current: {0})": "", + "Select text in the editor, right-click, and choose **Open Selected Data Set**. If the selected text is a valid data set name, it opens in a new editor tab or focus onto an existing tab if already open. If the selected text is a valid partitioned data set, it opens in the **DATA SETS** tree. This is equivalent to the ZOOM command in ISPF.": "", "Select the location of the config file to edit": "", "Select the location where the config file will be initialized": "", "Select the profile to use to open the data set": "", @@ -1785,9 +1881,12 @@ "Set a filter for {0}": "", "Set a filter...": "", "Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546": "", + "Setting to hide hidden USS files": "", "Settings have been successfully migrated for Zowe Explorer version 2 and above. To apply these settings, please reload your VS Code window.": "", + "Several members may be favorited or unfavorited at once by doing a multi-selection.": "", "Showing attributes for {0}.": "", "Size": "", + "Smarter data set search filtering": "", "Solved issue with a conflicting keybinding for Edit History, changed keybinding to Ctrl+Alt+y for Windows and ⌘ Cmd+⌥ Opt+y for macOS. #2543": "", "Sort": "", "Sort Direction": "", @@ -1813,19 +1912,27 @@ "Team config file deleted, refreshing Zowe Explorer.": "", "Team config file updated, refreshing Zowe Explorer.": "", "Template of Data Set to be Created": "", + "Text and alt text in the release notes and the changelogs are now localizable.": "", "The 'move' function is not implemented for this USS API.": "", "The \"Open Recent Member\" command can now be triggered from the command palette. #3477": "", "The \"Zowe Resources\" panel is now hidden by default until Zowe Explorer reveals it to display a table or other data. #3113": "", "The {0} already exists.\nDo you want to replace it?": "", + "The **USS** tree can now be filtered by any selected directory. Right-click a directory and select Search by directory to filter. Use the Go Up One Directory button to quickly adjust the filter to the parent directory.": "", "The API does not support updating attributes for this": "", "The cancel function is not implemented in this API.": "", "The data set member already exists.\nDo you want to replace it?": "", + "The Data Sets tree and any data sets with many members now display <- Previous page and -> Next page navigation buttons to page through members. Only a subset of members is loaded at a time, allowing for large filters and data sets to load members faster. The number of members per page is configurable in the settings under **Zowe > Ds > Paginate**. The default is 100 members per page.": "", + "The default sort order of every data set or job can now be changed. For example, to always open a data set to see the most recently edited members, set the default sort order to be by descending, date modified. The following settings are available:": "", "The downloadAllMembers API is not supported for this profile type. Please contact the extension developer.": "", "The downloadDirectory API is not supported for this profile type. Please contact the extension developer.": "", + "The entire PDS can still be favorited with all members. When a member is removed from favorites, only it is removed, unless it is the only member in the PDS, in which case the entire PDS will be removed from favorites.": "", + "The favorites tree now supports being able to favorite individual members of a partitioned data set.": "", "The following {0} item(s) were deleted:\n{1}{2}": "", "The following jobs were deleted: {0}{1}": "", + "The integrated terminal connects to the mainframe via SSH for MVS, TSO, or USS commands. Multiple sessions are supported. Currently disabled by default as further development is actively ongoing.": "", "The item {0} has been deleted.": "", "The job was not cancelled.": "", + "The jobs table is a panel that allows viewing filtered jobs more clearly and for performing bulk actions on jobs.": "", "The partitioned (PO) data set already exists.\nDo you want to merge them while replacing any existing members?": "", "The paste operation is not supported for this node.": "", "the PDS members in {0}": "", @@ -1914,6 +2021,7 @@ "Updated js-yaml dependency for technical currency. #3937": "", "Updated linter rules and addressed linter errors. #2184": "", "Updated linter rules and addressed linter errors. #2291": "", + "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates.": "", "Updated minimum VS Code version from 1.79 to 1.90. We are dropping support for VS Code releases that bundle versions of Node.js no longer receiving security updates. #3684": "", "Updated MVS view progress indicator for entering a filter search. #2181": "", "Updated sorting of PDS members to show items without stats at bottom of list #2660": "", @@ -1936,6 +2044,7 @@ "Updating file properties": "", "Updating imperative.json credential manager to {0}.\n{1}": "", "Upload action was cancelled.": "", + "Upload with encoding": "", "Uploading file to USS tree": "", "Uploading file...": "", "Uploading to data set": "", @@ -1969,10 +2078,17 @@ "Value": "", "Version": "", "View Details": "", + "View JCL (opens as an unsaved editor file)": "", + "View members of a partitioned data set": "", "Volumes": "", + "VS Code engine support change": "", + "VSAM data sets can now be favorited.": "", "Waiting for data from extension...": "", "Welcome to the integrated terminal for: {0}": "", "What's New in Zowe Explorer {0}": "", + "When all jobs have completed, polling automatically stops. Alternatively, to stop polling, right-click the profile again and select **Stop Polling Active Jobs**.": "", + "When favoriting a data set member, the partitioned data set will still show in the favorites tree, but now only with the favorited data set member under it, rather than all members as before. When expanded, a tooltip will now show beside the data set name with the number of members that are favorited inside of it vs the total number of members the data set has.": "", + "When submitting a job, there are now two buttons on the job submission notification popup:": "", "When the user types in a data set pattern in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the pattern. Once clicked, the new filter is added to the user's search history and the pattern is used for listing data sets. #3015": "", "When the user types in a USS file path in the input box of the filter selection prompt, the \"Create a new filter\" option now updates to include the file path. Once clicked, the new filter is added to the user's search history and the path is used for listing a USS directory. #3015": "", "Write": "", @@ -1994,8 +2110,10 @@ "Zowe Explorer": "", "Zowe Explorer has activated successfully.": "", "Zowe Explorer log level: {0}": "", + "Zowe Explorer now auto-detects the global team configuration, regardless of the location of the currently opened VS Code working directory.": "", "Zowe Explorer now has a VS Code logger with a default log level of INFO.\n \nIt looks like the Zowe CLI's ZOWE_APP_LOG_LEVEL={0}.\n \nWould you like Zowe Explorer to update to the the same log level?": "", "Zowe Explorer now includes support for the VS Code display languages French, German, Japanese, Portuguese, and Spanish. Download the respective language pack and switch. #3239": "", + "Zowe Explorer now supports being able to directly download data sets, data set members, USS files & USS directories to the local machine filesystem - with a multitude of basic and advanced options built into the download menus.": "", "Zowe Explorer profiles are being set as secured.": "", "Zowe Explorer profiles are being set as unsecured.": "", "Zowe Explorer: Cancel job": "", diff --git a/packages/zowe-explorer/src/trees/job/JobFSProvider.ts b/packages/zowe-explorer/src/trees/job/JobFSProvider.ts index 0812ec882c..d118803728 100644 --- a/packages/zowe-explorer/src/trees/job/JobFSProvider.ts +++ b/packages/zowe-explorer/src/trees/job/JobFSProvider.ts @@ -229,7 +229,7 @@ export class JobFSProvider extends BaseProvider implements vscode.FileSystemProv const metadata = spoolEntry.metadata ?? this._getInfoFromUri(uri); // Assign metadata to the entry if it was resolved from URI - spoolEntry.metadata ??= metadata; + spoolEntry.metadata ??= metadata; const profile = Profiles.getInstance().loadNamedProfile(metadata.profile.name); const profileEncoding = spoolEntry.encoding ? null : profile.profile?.encoding; // use profile encoding rather than metadata encoding @@ -473,7 +473,7 @@ export class JobFSProvider extends BaseProvider implements vscode.FileSystemProv job = jobs[0]; }); this.createDirectory(jobUri, { job }); - } + } jobEntry = this._lookupAsDirectory(jobUri, false) as JobEntry; // Fetch spool files for the job if not already loaded diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9b1fa3828f..ebef0147d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -219,7 +219,7 @@ importers: version: 17.0.3 '@vitest/coverage-v8': specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.19.42)(@vitest/ui@3.2.4)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3)) + version: 3.2.4(vitest@3.2.6(@types/debug@4.1.12)(@types/node@22.15.34)(@vitest/ui@3.2.4)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3)) '@wdio/cli': specifier: ^8.41.0 version: 8.44.0(encoding@0.1.13) @@ -273,10 +273,10 @@ importers: version: 19.0.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.19.42)(typescript@5.9.3) + version: 10.9.2(@types/node@22.15.34)(typescript@5.9.3) vitest: specifier: ^3.2.4 - version: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.42)(@vitest/ui@3.2.4)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3) + version: 3.2.6(@types/debug@4.1.12)(@types/node@22.15.34)(@vitest/ui@3.2.4)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3) wdio-vscode-service: specifier: ^6.1.3 version: 6.1.3(webdriverio@8.43.0(encoding@0.1.13)) @@ -1529,157 +1529,131 @@ packages: resolution: {integrity: sha512-L+34Qqil+v5uC0zEubW7uByo78WOCIrBvci69E7sFASRl0X7b/MB6Cqd1lky/CtcSVTydWa2WZwFuWexjS5o6g==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-gnueabihf@4.61.1': resolution: {integrity: sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.60.1': resolution: {integrity: sha512-n83O8rt4v34hgFzlkb1ycniJh7IR5RCIqt6mz1VRJD6pmhRi0CXdmfnLu9dIUS6buzh60IvACM842Ffb3xd6Gg==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm-musleabihf@4.61.1': resolution: {integrity: sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.60.1': resolution: {integrity: sha512-Nql7sTeAzhTAja3QXeAI48+/+GjBJ+QmAH13snn0AJSNL50JsDqotyudHyMbO2RbJkskbMbFJfIJKWA6R1LCJQ==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-gnu@4.61.1': resolution: {integrity: sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.60.1': resolution: {integrity: sha512-+pUymDhd0ys9GcKZPPWlFiZ67sTWV5UU6zOJat02M1+PiuSGDziyRuI/pPue3hoUwm2uGfxdL+trT6Z9rxnlMA==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-musl@4.61.1': resolution: {integrity: sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.60.1': resolution: {integrity: sha512-VSvgvQeIcsEvY4bKDHEDWcpW4Yw7BtlKG1GUT4FzBUlEKQK0rWHYBqQt6Fm2taXS+1bXvJT6kICu5ZwqKCnvlQ==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-loong64-gnu@4.61.1': resolution: {integrity: sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.60.1': resolution: {integrity: sha512-4LqhUomJqwe641gsPp6xLfhqWMbQV04KtPp7/dIp0nzPxAkNY1AbwL5W0MQpcalLYk07vaW9Kp1PBhdpZYYcEw==} cpu: [loong64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loong64-musl@4.61.1': resolution: {integrity: sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==} cpu: [loong64] os: [linux] - libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.60.1': resolution: {integrity: sha512-tLQQ9aPvkBxOc/EUT6j3pyeMD6Hb8QF2BTBnCQWP/uu1lhc9AIrIjKnLYMEroIz/JvtGYgI9dF3AxHZNaEH0rw==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-ppc64-gnu@4.61.1': resolution: {integrity: sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.60.1': resolution: {integrity: sha512-RMxFhJwc9fSXP6PqmAz4cbv3kAyvD1etJFjTx4ONqFP9DkTkXsAMU4v3Vyc5BgzC+anz7nS/9tp4obsKfqkDHg==} cpu: [ppc64] os: [linux] - libc: [musl] '@rollup/rollup-linux-ppc64-musl@4.61.1': resolution: {integrity: sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==} cpu: [ppc64] os: [linux] - libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.60.1': resolution: {integrity: sha512-QKgFl+Yc1eEk6MmOBfRHYF6lTxiiiV3/z/BRrbSiW2I7AFTXoBFvdMEyglohPj//2mZS4hDOqeB0H1ACh3sBbg==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.61.1': resolution: {integrity: sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.60.1': resolution: {integrity: sha512-RAjXjP/8c6ZtzatZcA1RaQr6O1TRhzC+adn8YZDnChliZHviqIjmvFwHcxi4JKPSDAt6Uhf/7vqcBzQJy0PDJg==} cpu: [riscv64] os: [linux] - libc: [musl] '@rollup/rollup-linux-riscv64-musl@4.61.1': resolution: {integrity: sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==} cpu: [riscv64] os: [linux] - libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.60.1': resolution: {integrity: sha512-wcuocpaOlaL1COBYiA89O6yfjlp3RwKDeTIA0hM7OpmhR1Bjo9j31G1uQVpDlTvwxGn2nQs65fBFL5UFd76FcQ==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.61.1': resolution: {integrity: sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.60.1': resolution: {integrity: sha512-77PpsFQUCOiZR9+LQEFg9GClyfkNXj1MP6wRnzYs0EeWbPcHs02AXu4xuUbM1zhwn3wqaizle3AEYg5aeoohhg==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.61.1': resolution: {integrity: sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.60.1': resolution: {integrity: sha512-5cIATbk5vynAjqqmyBjlciMJl1+R/CwX9oLk/EyiFXDWd95KpHdrOJT//rnUl4cUcskrd0jCCw3wpZnhIHdD9w==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-linux-x64-musl@4.61.1': resolution: {integrity: sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-openbsd-x64@4.60.1': resolution: {integrity: sha512-cl0w09WsCi17mcmWqqglez9Gk8isgeWvoUZ3WiJFYSR3zjBQc2J5/ihSjpl+VLjPqjQ/1hJRcqBfLjssREQILw==} @@ -1930,9 +1904,6 @@ packages: '@types/node@20.19.33': resolution: {integrity: sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==} - '@types/node@20.19.42': - resolution: {integrity: sha512-5L7SUaFC1RyDraj2yRhyBzHTobyXHmohD100CChNtyPyleoq37Mqab5Gn8XEKI04dfN/oqPdpHk38MgcQWHbZg==} - '@types/node@22.14.0': resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==} @@ -8894,10 +8865,6 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@20.19.42': - dependencies: - undici-types: 6.21.0 - '@types/node@22.14.0': dependencies: undici-types: 6.21.0 @@ -9093,25 +9060,6 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitest/coverage-v8@3.2.4(vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.19.42)(@vitest/ui@3.2.4)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3))': - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 1.0.2 - ast-v8-to-istanbul: 0.3.12 - debug: 4.4.3(supports-color@8.1.1) - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 - istanbul-reports: 3.1.7 - magic-string: 0.30.21 - magicast: 0.3.5 - std-env: 3.10.0 - test-exclude: 7.0.2 - tinyrainbow: 2.0.0 - vitest: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.42)(@vitest/ui@3.2.4)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3) - transitivePeerDependencies: - - supports-color - '@vitest/coverage-v8@3.2.4(vitest@3.2.6(@types/debug@4.1.12)(@types/node@22.15.34)(@vitest/ui@3.2.4)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@ampproject/remapping': 2.3.0 @@ -9166,14 +9114,6 @@ snapshots: optionalDependencies: vite: 7.3.5(@types/node@20.19.33)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3) - '@vitest/mocker@3.2.6(vite@7.3.5(@types/node@20.19.42)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3))': - dependencies: - '@vitest/spy': 3.2.6 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 7.3.5(@types/node@20.19.42)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3) - '@vitest/mocker@3.2.6(vite@7.3.5(@types/node@22.15.34)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@vitest/spy': 3.2.6 @@ -14722,14 +14662,14 @@ snapshots: ts-graphviz@1.8.2: {} - ts-node@10.9.2(@types/node@20.19.42)(typescript@5.9.3): + ts-node@10.9.2(@types/node@22.15.34)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.42 + '@types/node': 22.15.34 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -14965,27 +14905,6 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@20.19.42)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3): - dependencies: - cac: 6.7.14 - debug: 4.4.3(supports-color@8.1.1) - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.3.5(@types/node@20.19.42)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vite-node@3.2.4(@types/node@22.15.34)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3): dependencies: cac: 6.7.14 @@ -15071,21 +14990,6 @@ snapshots: tsx: 4.21.0 yaml: 2.8.3 - vite@7.3.5(@types/node@20.19.42)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.15 - rollup: 4.61.1 - tinyglobby: 0.2.17 - optionalDependencies: - '@types/node': 20.19.42 - fsevents: 2.3.3 - terser: 5.46.0 - tsx: 4.21.0 - yaml: 2.8.3 - vite@7.3.5(@types/node@22.15.34)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3): dependencies: esbuild: 0.27.7 @@ -15144,49 +15048,6 @@ snapshots: - tsx - yaml - vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.19.42)(@vitest/ui@3.2.4)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3): - dependencies: - '@types/chai': 5.2.3 - '@vitest/expect': 3.2.6 - '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@20.19.42)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3)) - '@vitest/pretty-format': 3.2.6 - '@vitest/runner': 3.2.6 - '@vitest/snapshot': 3.2.6 - '@vitest/spy': 3.2.6 - '@vitest/utils': 3.2.6 - chai: 5.3.3 - debug: 4.4.3(supports-color@8.1.1) - expect-type: 1.3.0 - magic-string: 0.30.21 - pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 3.10.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.17 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 7.3.5(@types/node@20.19.42)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3) - vite-node: 3.2.4(@types/node@20.19.42)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/debug': 4.1.12 - '@types/node': 20.19.42 - '@vitest/ui': 3.2.4(vitest@3.2.6) - transitivePeerDependencies: - - jiti - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vitest@3.2.6(@types/debug@4.1.12)(@types/node@22.15.34)(@vitest/ui@3.2.4)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3): dependencies: '@types/chai': 5.2.3