Commit Graph

853 Commits (main)

Author SHA1 Message Date
Tyler James Leonhardt 305134296c
Adopt the MSAL broker to talk to the OS for Microsoft auth (#233739)
This adopts the `NativeBrokerPlugin` provided by `@azure/msal-node-extensions` to provide the ability to use auth state from the OS, and show native auth dialogs instead of going to the browser.

This has several pieces:
* The adoption of the broker in the microsoft-authentication extension:
  * Adding `NativeBrokerPlugin` to our PCAs
  * Using the proposed handle API to pass the native window handle down to MSAL calls (btw, this API will change in a follow up PR)
  * Adopting an AccountAccess layer to handle:
    * giving the user control of which accounts VS Code uses
    * an eventing layer so that auth state can be updated across multiple windows
* Getting the extension to build properly and only build what it really needs. This required several package.json/webpack hacks:
  * Use a fake keytar since we don't use the feature in `@azure/msal-node-extensions` that uses keytar
  * Use a fake dpapi layer since we don't use the feature in  `@azure/msal-node-extensions` that uses it
  * Ensure the msal runtime `.node` and `.dll` files are included in the bundle
* Get the VS Code build to allow a native node module in an extension: by having a list of native extensions that will be built in the "ci" part of the build - in other words when VS Code is building on the target platform

There are a couple of followups:
* Refactor the `handle` API to handle (heh) Auxiliary Windows https://github.com/microsoft/vscode/issues/233106
* Separate the call to `acquireTokenSilent` and `acquireTokenInteractive` and all the usage of this native node module into a separate process or maybe in Core... we'll see. Something to experiment with after we have something working. NEEDS FOLLOW UP ISSUE

Fixes https://github.com/microsoft/vscode/issues/229431
2024-11-15 20:53:28 +09:00
Justin Chen 8f0188c73f
removing old issue reporter flow (#232517)
* removing lot's of old issue reporter stuffs

* cleanup
2024-10-30 09:17:48 +01:00
Daniel Imms 7e688863a8
Move fish SI script out of xdg named dir
Fixes #232408
2024-10-28 06:57:42 -07:00
夜坂雅 8addf834f8
fix: Use a proper desktop name in package.json (#231472)
Fixes #154693

Initally, this part is required due to how Electron handles the prorotol
registeration as in https://github.com/microsoft/vscode/pull/56727#issuecomment-420701045 ( I also explained in https://github.com/microsoft/vscode/issues/154693#issuecomment-2409830275 )

However since
986b5532b5
that part is no longer used for protocol registeration on Linux, and
since Electron 18, Electron uses the desktop file name to set the
`app_id` in Wayland, and it was given the wrong one. This change fixes the
problem where running VS Code on Wayland would have the `app_id` of
`code-url-handler` which is unreasonable.
2024-10-17 00:02:59 +00:00
Benjamin Pasero dc265add0b
esm - drop need for manual concat (#230571) 2024-10-06 14:12:20 +02:00
Benjamin Pasero f09184ceb7
esm - set `type: module` top level (#230210) 2024-10-01 20:48:56 +02:00
Benjamin Pasero db992f389a
esm - some 💄 2024-09-27 11:00:52 +02:00
Benjamin Pasero c7caef00ea
esm - make `optimize.ts` ESM only 2024-09-27 08:05:06 +02:00
Benjamin Pasero b544846460
esm - further cleanup build scripts 2024-09-27 08:04:56 +02:00
Benjamin Pasero c1952297c5
esm - cleanup editor worker build descriptors 2024-09-27 08:04:36 +02:00
Benjamin Pasero d2701aa2ec
esm - remove AMD modifications in sources 2024-09-27 08:04:16 +02:00
Benjamin Pasero 332b89f198
esm - remove AMD build scripts, tests and variables 2024-09-27 08:04:01 +02:00
Robo b5a6aa14a8
feat: switch to npm as default package manager (#226927)
* feat: move from yarn to npm

* chore: skip yarn.lock files

* fix: playwright download

* chore: fix compile and hygiene

* chore: bump vsce@2.17.0

Refs 8b49e9dfdf

* test: update results for bat and sh colorizer tests

* fix: add missing lock files for windows

* fix: switch to legacy-peer-deps

* chore: update markdown-it@14.1.0

Refs 737c95a129

esbuild step in extensions-ci-pr was previously using markdown-it
from root which had userland punycode and was able to compile successfully.

* ci: increase pr timeout for windows integration tests

* chore: fix product build

* build: ignore extension dev dependency for rcedit

* build: fix working directory inside container

* build: fix dependency generation

* npm: update dependencies

* ci: use global npmrc

* ci: update cache

* ci: setup global npmrc for private npm auth

* build: fix extension bundling

* chore: sync npm dependencies

* ci: debug env variables for container

* ci: fix win32 cli pipeline

* build: fix npmrc config usage for build/ and remote/ dirs

* fix: windows build

* fix: container builds

* fix: markdown-language-features tests and bundling

```
[03:58:22] Error: Command failed: /Users/demohan/.nvm/versions/node/v20.15.1/bin/node /Users/demohan/github/vscode/extensions/markdown-language-features/esbuild-notebook.js --outputRoot /Users/demohan/github/vscode/.build/extensions/markdown-language-features
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds userland package based on beed9aee2c

* fix: container builds for distro

* chore: update yarn occurrences

* fixup! chore: bump vsce@2.17.0

Uses the closest version to `main` branch that does not
include d3cc84cdec
while still having the fix 8b49e9dfdf

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: throw error when yarn is used for installation

* chore: add review feedback

* chore: switch exec => run where needed

* chore: npm sync dependencies

* fix: markdown-language-features bundling

```
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds missing userland package based on markdown-it/markdown-it@beed9ae,
can be removed once we update markdown-it >= 14.1.0

* ci: rename no-yarn-lock-changes.yml

* chore: sync npm dependencies

* ci: restore no-yarn-lock-changes.yml

We can disable it in a separate PR to keep the required
checks happy and also need workflow edit perms.

* chore: sync npm dependencies

* ci: rebuild cache

* ci: fix no-package-lock-changes.yml

* chore: bump distro

* chore: rm yarn.lock files

* chore: rm yarn.lock files without dependencies

* chore: add vscode-selfhost-import-aid to postinstall dirs

* chore: bump distro
2024-09-06 22:18:02 +09:00
deepak1556 ce0b33a888 fix: duplicate vsda 2024-09-06 19:32:30 +09:00
Benjamin Pasero daca01a213
. 2024-09-06 10:31:56 +02:00
Benjamin Pasero 854dd33049
remove redundant klammer 2024-09-06 09:11:42 +02:00
Benjamin Pasero 29569abebb
esm - restore parts of ASAR modules 2024-09-06 07:49:36 +02:00
Daniel Imms a91854820a
Move shell integration scripts into common
Fixes #225665
2024-09-02 07:12:43 -07:00
Christof Marti d22ce6b05a
Revert "Merge pull request #227244 from microsoft/tyriar/225665"
This reverts commit 0978e9ebf5, reversing
changes made to 9aa46099e1.
2024-09-02 11:51:52 +02:00
Daniel Imms 5f1569aed7
Move shell integration scripts into common
Fixes #225665
2024-08-30 12:19:42 -07:00
Benjamin Pasero 6b924c5152
ESM merge to main (#227184)
Co-authored-by: Johannes Rieken <jrieken@microsoft.com>
Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
2024-08-30 10:31:46 +02:00
Benjamin Pasero a002d1512e
build - move `buildfile.js` out of `src` (#226403)
* build - move `buildfile.js` out of `src`

* .

* fix build
2024-08-23 12:18:26 +02:00
Benjamin Pasero 34a756ae2e
esm - worker cleanup (#226064) 2024-08-20 17:51:26 +02:00
Alex Ross 0062a6e767
Include highlights files in build (#226067)
* Include highlights files in build
Part of #210475

* Also add for non-esm
2024-08-20 17:06:21 +02:00
Benjamin Pasero 3dc8c38c92
esm - some build polish (#225948) 2024-08-19 16:54:29 +02:00
Benjamin Pasero 3666f94deb
esm - backport new HTML entry points and use if ESM (#225633) 2024-08-14 20:48:27 +02:00
Benjamin Pasero 0dea4804f4
esm - introduce VSCODE_BUILD_ESM variable (#225586) 2024-08-14 14:49:26 +02:00
Daniel Imms ed73b9d5f2
Don't pack conpty binaries into asar
Part of microsoft/vscode#224488
2024-08-07 04:05:09 -07:00
Benjamin Pasero 4c1b0e9ff1
esm - reduce diff (#224919)
* esm - reduce diff

* .

* .

* .

* .

* .
2024-08-06 17:32:43 +03:00
Daniel Imms c61d964558
Bundle psm1 files 2024-07-20 13:02:21 -07:00
Robo 2fe0527205
chore: update to electron 30 (#215406)
* chore: update electron@30.0.9

* chore: update rpm deps

* chore: bump electron@30.1.2

* fix: update kerberos for Node.js 20.x

Refs c1f7acafb2

* fix: use shell when spawning .bat or .cmd files

Refs https://github.com/nodejs/node/commit/6627222409

* fix: update @vscode/test-electron@2.4.0

Refs 3f7a3cc5c5

* fixup! use shell when spawning .bat or .cmd files

* chore: bump nodejs@20.14.0 internal build

* ci: skip nodejsMirror for 20.14.0 due to missing builds

* fixup! use shell when spawning .bat or .cmd files

* chore: update debian deps

* fixup! skip nodejsMirror for 20.14.0 due to missing builds

* fix: universal build

- Updates vscode-universal-bundler to support x64ArchFiles option
- Kerberos starts building universal binaries which should now be
  skipped from lipo step via x64ArchFiles
- Skips bundling *.mk files

* chore: bump distro
2024-07-09 14:33:22 +09:00
Benjamin Pasero 7c8097dbbf
build - reuse the same `date` across builds (#220076) 2024-07-05 11:06:43 -07:00
Benjamin Pasero 82c54248fd
perf - inline `package.json` and `product.json` (#219841) 2024-07-04 07:59:10 +02:00
Benjamin Pasero d65fd5ba2e
nls follow up debt work (#219265) 2024-07-01 11:44:19 +02:00
Benjamin Pasero f6f90e0163
Implement NLS without AMD loader (#214588) 2024-06-28 11:55:48 +02:00
João Moreno addd445017
upload sourcemaps to CDN instead of ticino (#214141) 2024-06-03 16:10:01 +02:00
Justin Chen d05d280364
web reporter refactor and issueFormService (#212951)
* web version working

* change to mainWindow

* PROPER MOVEMENT

* working for web as well

* move issueFormService to workbench/contrib/issue

* cleaning up{

* more cleanup, added setting

* styling

* use mainwindow to open and closee

* css fixes

* fix css again

* fix CSS and wonky applyCSS rules

* change gulpfile

* add and update system info

* address some of the comments

* move files! small changes

* move JS and non window specific back to electron sandbox

* fix on issueReporter.js

* fix build file

* fix gulp file too....

* move everything into contrib

* fix workbench import

* move everything else into contrib, fix import

* change name to web

* applying more feedback fixes :D

* fix command and remove unused import:

* add back issueTroubleshoot

* fix gulpile outputs

* fix out exclusion:
2024-05-24 11:36:46 -07:00
Sandeep Somavarapu 378b4c969b
use vsce-sign module from npm (#205511)
* update distro

* use vsce-sign module

* update distro

* update distro
2024-02-19 09:17:54 +01:00
Alexandru Dima deae3ca4b1
Switch to using sha256 for checksums (fixes CodeQL warning) (#201977)
* Switch to using sha256 for checksums (fixes CodeQL warning)

* Fix unit test
2024-01-08 14:11:19 +01:00
Benjamin Pasero 62fdec2def
aux window - cleanup preloads (#196832)
* aux window - cleanup preloads

* 💄

* 💄
2023-10-27 16:42:45 +02:00
Benjamin Pasero 45dda0e1da
debt - remove old style voice transcriber (#195883) 2023-10-18 14:42:02 +02:00
João Moreno 9905225b1a
Remove win32-ia32 target (#195559)
* remove win32-ia32

* update distro
2023-10-16 13:28:09 +02:00
Benjamin Pasero 91e59a296e
aux window - better focus and reveal handling for editors (#194828)
* first cut focus handling

* 💄

* implement moveToTop

* cleanup
2023-10-05 09:51:10 +02:00
Benjamin Pasero ce752f607a voice - better ports lifecycle 2023-08-17 14:10:01 +02:00
Benjamin Pasero b96621b58c voice - implement direct `MessagePort` communcation between audio worklet and shared process 2023-08-17 11:47:14 +02:00
Benjamin Pasero 652e2d069c
voice - update build script includes 2023-08-09 20:28:46 +02:00
Rob Lourens 7f5de39970
Delete old settings search config uploader (#185818) 2023-06-21 17:15:31 -07:00
Raymond Zhao 06ae4b61c2
Bump windows-mutex to 0.4.4 (#184366)
Also adds OS-specific .moduleignore files
2023-06-09 09:40:10 -07:00
Johannes ac7789cbab
add `core-ci-pr` task which does a full build without mangling 2023-06-07 15:51:48 +02:00
Daniel Imms 9d1a210778
Support fish SI automatic injection
Fixes #139400
2023-05-19 15:45:28 -07:00