Commit graph

14977 commits

Author SHA1 Message Date
Benjamin Pasero e36b6d7d54 ts - log when canUseWatchEvents is not used 2024-09-18 10:07:16 +02:00
Ladislau Szomoru dfa3888fbd
Git - use --stdin when running git log (#228817)
* Revert "Git - truncate commit hashes before running git log (#228643)"

This reverts commit 26ae4519ca.

* Use the --stdin flag when running git log
2024-09-17 13:36:14 +02:00
Ladislau Szomoru 1d10fa2268
Git - terminal shell integration to handle missing sub command (#228809) 2024-09-17 11:54:11 +02:00
Matt Bierner bd324432e0
Bump default target to es2022 (#228744)
From #227409
2024-09-16 18:07:04 +02:00
Benjamin Pasero 88b706b2bb
watcher - support suspend/resume for non-correlated requests (#228703) 2024-09-16 12:24:34 +02:00
Martin Aeschlimann f0cdaab75f
[html] Pasting HTML code adds extra closing tag on first line (#228662) 2024-09-15 19:51:51 +02:00
Ladislau Szomoru 26ae4519ca
Git - truncate commit hashes before running git log (#228643) 2024-09-14 19:50:20 -07:00
Ladislau Szomoru 31e597ccdd
Git - only compute incoming changes decorations when needed (#228611) 2024-09-14 00:49:13 +02:00
Ladislau Szomoru a8343f15fa
Git - retrieve references as part of updating the model (#228609)
* Git - retrieve references as part of updating the model

* Remove extra import
2024-09-13 15:31:26 -07:00
Ladislau Szomoru 056af29c9b
SCM Graph - Add "Go to Current History Item" action (#228600)
* Reveal current history item if it is already part of the tree

* Fetch current history item
2024-09-13 23:35:29 +02:00
Tyler James Leonhardt 6bd8e90fb7
Misc fixes for Sovereign Clouds (#228591)
* Misc fixes for Sovereign Clouds

* For now, use the URL handler since the main flow doesn't work right now because the localhost redirect url needs to be in those environments
* Includes the name of the cloud in the PCAs so that we have separation between the auth providers
* extra logging for the URL Handler

* fix tests
2024-09-13 21:57:12 +02:00
Ladislau Szomoru 597b5e965b
SCM Graph - Add more commands to the context menu (#228480)
* SCM Graph - add "Checkout (Detached)" command

* Add "Cherry Pick" command
2024-09-13 15:36:52 +02:00
Ladislau Szomoru 4376d38fcd
SCM Graph - Add "Create Branch..." command to the history item context menu (#228438) 2024-09-13 12:15:16 +02:00
Ladislau Szomoru 8a9caf323a
SCM Graph - Add "Create Tag" action to history item context menu (#228428) 2024-09-13 10:17:44 +02:00
Tyler James Leonhardt db2a1df708
Use an EventBufferer to ensure only one event across PCAs (#228400) 2024-09-13 01:24:41 +02:00
Don Jayamanne c4645ea0ec
Restore changes to ipynb extension to serialize notebook in node worker for desktop (#228319)
* Revert usage of node worker due to failing web compilation

* Revert "Revert usage of node worker due to failing web compilation"

This reverts commit 3190f58c7e.

* Ensure node worker is used only in desktop bundle of ipynb extension

---------

Co-authored-by: Aaron Munger <aamunger@microsoft.com>
2024-09-12 23:56:34 +02:00
Ladislau Szomoru adc7335b1d
SCM Graph - fix action item title and order (#228380) 2024-09-12 21:23:31 +02:00
Alex Ross e4ffea4865
Add test for issue with new YAML grammar (#228265)
Part of #224862
2024-09-12 14:32:06 +02:00
Ladislau Szomoru 1d3895d045
SCM Graph - better handling of graph refresh (#228329)
* Initial implementation

* Removed refs should be also removed from the filter
2024-09-12 12:06:25 +02:00
Don Jayamanne 102ff8db3f
Revert usage of node worker due to failing web compilation (#228318)
* Revert usage of node worker due to failing web compilation

* fix linter error
2024-09-12 17:44:02 +09:00
Peng Lyu 94cd4ed34c
Merge pull request #226632 from nojaf/notebook-serialization-worker
Use Worker to serialize Notebook
2024-09-11 17:36:51 -07:00
Tyler James Leonhardt b8be82f239
Workaround MSAL behavior (#228289)
* Workaround MSAL behavior

The main change this makes is around what scopes are being requested.

Due to an MSAL or Identity issue, if you request a resource like `FOO/user_impersonation` and then `email`... the 2nd call does not use Graph and instead uses FOO and FOO may not have an `email` scope available. To work around this, if we detect that all scopes being requested are [OIDC scopes](https://learn.microsoft.com/en-us/entra/identity-platform/scopes-oidc#openid-connect-scopes) then we tack on `User.Read` to make sure that what gets returned is in fact from Graph. This prevents an infinite loop that was happening before. MSAL/Identity should fix this behavior, but this works for now.

Additionally, MSAL does already tack on OIDC scopes to all requests so I removed the logic that adds those.

Couple small things:
* Make sure MSAL logs get logged (trace)
* Use a Sequencer to make sure acquireToken calls are done sequentially just in case.

* more comment
2024-09-12 02:29:29 +02:00
Matt Bierner 94d5b2a31e Remove ts-expect-error 2024-09-11 14:49:06 -07:00
Aaron Munger 28692d5be4
Merge branch 'main' into notebook-serialization-worker 2024-09-11 14:27:43 -07:00
Matt Bierner 5df28bfd6a
Merge branch 'main' into noisy-piranha 2024-09-11 14:11:49 -07:00
Matt Bierner dcbea4aaaf
Merge branch 'main' into fix-226095-transparency-grid-zoom 2024-09-10 16:56:11 -07:00
Ladislau Szomoru 0485695683
Git - fix remote reference id (#228164)
* Git - fix remote reference id

* Remove unnecessary code
2024-09-11 00:40:22 +02:00
Ladislau Szomoru ff86643196
Git - clean-up history provider (#228148) 2024-09-10 21:43:46 +02:00
Ladislau Szomoru 2a27ab1e48 Fix typo 2024-09-10 15:07:54 +02:00
Ladislau Szomoru c2c032e0da SCM - 💄 remove SourceControlHistoryItemGroup from the API proposal 2024-09-10 14:46:12 +02:00
Ladislau Szomoru fea0aa298b
Git - only calculate branch merge base on checkout (#228066) 2024-09-10 08:45:20 +02:00
Tyler James Leonhardt c4d1cc2e67
Fix GitHub account ids being numbers (#228045)
For a long time the account id wasn't handled correctly. It should be a string, but the API returns a number. This ensures it's a string and does some migration logic.
2024-09-10 04:39:37 +02:00
Ladislau Szomoru d8af24e15d
SCM - wire-up the onDidChangeHistoryItemRefs event (#228042)
Wire-up the event
2024-09-09 16:51:31 -07:00
Matt Bierner a07d021fe8 Pick up TS 5.6 final
Fixes #227481
2024-09-09 16:01:20 -07:00
Raymond Zhao dc9412125d
chore: bump micromatch (#228005) 2024-09-09 09:59:31 -07:00
Tyler James Leonhardt 1349397cf7
Remove vscode-nls-dev dependency (#228002)
This was when extensions used the old localization stuff. None of this is used anymore.
2024-09-09 18:28:32 +02:00
Don Jayamanne edd3903933
Updates 2024-09-10 01:19:53 +10:00
Ladislau Szomoru 3f0893b273
SCM - cleanup history provider proposed API (#227960) 2024-09-09 14:40:56 +02:00
hj 88d7b97c93
chore: rm unreached ignore items when build extensions. (#227906)
chore: rm unreached ignore items when compiling extensions.
2024-09-09 10:32:51 +00:00
Ladislau Szomoru 3ab41c2f69
SCM Graph - add branch picker (#227949)
* WIP - saving my work

* Extract HistoryItemRef picker

* Extract Repository picker

* Improve history item ref picker rendering

* Refactor color map

* Refresh the graph when the filter changes

* Push minor fix
2024-09-09 12:02:31 +02:00
Don Jayamanne 692656799a
Safer way to determine whether node or browser 2024-09-09 12:07:43 +10:00
Don Jayamanne 1865c2979d
Import node worker 2024-09-09 11:48:21 +10:00
Don Jayamanne ddd0f1fe34
Updates to perform all operations in worker 2024-09-09 11:37:44 +10:00
Peng Lyu fc8fda56e5 fix worker import 2024-09-06 22:16:04 -07:00
Tyler James Leonhardt 533d8ec6a5
Rework eventing for PCAs and fix a few bugs along the way (#227854)
A big change, but a good one... This addresses some core issues around how we manage multiple PublicClientApplications (which are an object that should be created for each set of clientId,authority). Previously, we were doing some pretty nasty things to detect when a new PCA was created/deleted and as a result it would cause infinite loops and the likes...

Now we've focused on managing that in SecretStorage by looking for a `publicClientApplications` key. This is all encapsulated in the new `PublicClientApplicationsSecretStorage`.

Since we no longer relied on that hack, we still needed some way to have a PCA inform that:
* accounts have changed
* the last account was removed (signaling that this PCA could be disposed of in `PublicClientApplicationsSecretStorage`)

Both of these events have been added to `CachedPublicClientApplication` (now in its own file) and are being used. (replacing the old `_accountChangeHandler` which was hacky... true events are cleaner).

Last thing in the eventing space is that I try to minimize calls to `_storePublicClientApplications` so to not spam events across SecretStorage. You can see this in my usage of `_doCreatePublicClientApplication` over `getOrCreate`.

Couple random other things:
* `changed` accounts are properly bubbled up in `_onDidChangeSessionsEmitter` which is needed when a token is refreshed
* `getSessions` when no scopes are passed in no longer causes new tokens to be minted
* we use to only remove the first account we found but in some cases there may be the same account across different PCAs, so there's a `return` that's removed in `authProvider.ts` that fixes this bug
* Logging is clearer and more verbose (in a good way)
2024-09-06 21:03:25 -07:00
Peng Lyu 65f36ead2a Merge remote-tracking branch 'origin/main' into pr/nojaf/226632 2024-09-06 11:39:00 -07:00
Tyler James Leonhardt 9d28a232cb
Bump MSAL Node (#227815) 2024-09-06 18:39:14 +02:00
Benjamin Pasero 6f1101d812
Ignore tsserver requests for createDirectoryWatcher(~/Library) on macOS (#227788)
* Ignore tsserver requests for createDirectoryWatcher(~/Library) on macOS

* update deps

---------

Co-authored-by: Aman Karmani <aman@tmm1.net>
2024-09-06 16:25:54 +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
Ladislau Szomoru 5ae8ffb7e3
SCM Graph - set the groundwork to show all history item groups (#227780) 2024-09-06 15:12:48 +02:00