gopls/doc/release: include server side file watching in release note
For golang/go#67995
diff --git a/gopls/doc/release/v0.22.0.md b/gopls/doc/release/v0.22.0.md
index ae20a84..2f01df7 100644
--- a/gopls/doc/release/v0.22.0.md
+++ b/gopls/doc/release/v0.22.0.md
@@ -119,3 +119,14 @@
The `yield` analyzer, which detects problems in iterators that fail to
stop once `yield()` returns false, has been rewritten as a non-sparse
Killdall-style monotone dataflow analysis, improving its precision.
+
+## Server-side file watching
+
+Gopls introduces an experimental server-side file watching mechanism to monitor file system events directly. This feature supplements standard LSP file change notifications in environments or editor clients where client-side events may be unreliable or dropped. Because server-side watching operates alongside the language client's notifications, gopls may receive duplicate events for a single file system change.
+
+This feature is configured via the internal setting `fileWatcher`, which supports three strategies:
+- `"off"` for default client-driven watching
+- `"poll"` for periodic directory scanning
+- `"fsnotify"` for OS-level event notifications
+
+Users should note that the `"fsnotify"` strategy requires system file descriptors to watch the workspace in macOS or all BSD systems; when used against large workspaces, this can lead to [exhaust file descriptors issue](https://github.com/fsnotify/fsnotify#kqueue-macos-all-bsd-systems).
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +2 |
Gopls introduces an experimental server-side file watching mechanism to monitor file system events directly. This feature supplements standard LSP file change notifications in environments or editor clients where client-side events may be unreliable or dropped. Because server-side watching operates alongside the language client's notifications, gopls may receive duplicate events for a single file system change.Delete? I'm not sure what the user is supposed to do with this information.
- `"off"` for default client-driven watchingUsers should note that the `"fsnotify"` strategy requires system file descriptors to watch the workspace in macOS or all BSD systems; when used against large workspaces, this can lead to [exhaust file descriptors issue](https://github.com/fsnotify/fsnotify#kqueue-macos-all-bsd-systems).I suggest being a little vague about the details, since one problem with fsnotify is that it is different on every platform, and we want to nudge people toward "poll". Perhaps combine the warning with the last bullet point, and give a little positive spin on poll:
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Auto-Submit | +1 |
| Commit-Queue | +1 |
Gopls introduces an experimental server-side file watching mechanism to monitor file system events directly. This feature supplements standard LSP file change notifications in environments or editor clients where client-side events may be unreliable or dropped. Because server-side watching operates alongside the language client's notifications, gopls may receive duplicate events for a single file system change.Delete? I'm not sure what the user is supposed to do with this information.
Done
- `"off"` (default): the client is solely responsible for change notification;
Done
Users should note that the `"fsnotify"` strategy requires system file descriptors to watch the workspace in macOS or all BSD systems; when used against large workspaces, this can lead to [exhaust file descriptors issue](https://github.com/fsnotify/fsnotify#kqueue-macos-all-bsd-systems).I suggest being a little vague about the details, since one problem with fsnotify is that it is different on every platform, and we want to nudge people toward "poll". Perhaps combine the warning with the last bullet point, and give a little positive spin on poll:
- `"poll"`: the server periodically scans workspace directories, using optimizations similar to `git status`.
- `"fsnotify"`: the server uses kernel support for file-change notification. This strategy is system dependent and may need to open many directories to watch a large workspace, risking [file descriptor exhaustion](https://github.com/fsnotify/fsnotify#kqueue-macos-all-bsd-systems).
Done
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
1 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:
```
The name of the file: gopls/doc/release/v0.22.0.md
Insertions: 4, Deletions: 6.
@@ -122,11 +122,9 @@
## Server-side file watching
-Gopls introduces an experimental server-side file watching mechanism to monitor file system events directly. This feature supplements standard LSP file change notifications in environments or editor clients where client-side events may be unreliable or dropped. Because server-side watching operates alongside the language client's notifications, gopls may receive duplicate events for a single file system change.
+Gopls introduces an experimental server-side file watching mechanism to monitor file system events directly. This feature supplements standard LSP file change notifications in environments or editor clients where client-side events may be unreliable or dropped.
This feature is configured via the internal setting `fileWatcher`, which supports three strategies:
-- `"off"` for default client-driven watching
-- `"poll"` for periodic directory scanning
-- `"fsnotify"` for OS-level event notifications
-
-Users should note that the `"fsnotify"` strategy requires system file descriptors to watch the workspace in macOS or all BSD systems; when used against large workspaces, this can lead to [exhaust file descriptors issue](https://github.com/fsnotify/fsnotify#kqueue-macos-all-bsd-systems).
+- `"off"` (default): the client is solely responsible for change notification
+- `"poll"`: the server periodically scans workspace directories, using optimizations similar to `git status`
+- `"fsnotify"`: the server uses kernel support for file-change notification. This strategy is system dependent and may need to open many directories to watch a large workspace, risking [file descriptor exhaustion](https://github.com/fsnotify/fsnotify#kqueue-macos-all-bsd-systems)
```
gopls/doc/release: include server side file watching in release note
For golang/go#67995
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
gopls/doc/release: include server side file watching in release note
For golang/go#67995
Change-Id: I07ba89eeb8d2e59b707b85cdd099548942e44e07
Reviewed-on: https://go-review.googlesource.com/c/tools/+/776881
Reviewed-by: Alan Donovan <adon...@google.com>
Auto-Submit: Hongxiang Jiang <hxj...@golang.org>
LUCI-TryBot-Result: golang...@luci-project-accounts.iam.gserviceaccount.com <golang...@luci-project-accounts.iam.gserviceaccount.com>
(cherry picked from commit 29eabca57a7e91c06363a011be01b5fa18d795fa)
diff --git a/gopls/doc/release/v0.22.0.md b/gopls/doc/release/v0.22.0.md
index de90949..2184ef3 100644
--- a/gopls/doc/release/v0.22.0.md
+++ b/gopls/doc/release/v0.22.0.md
@@ -122,3 +122,12 @@
The `yield` analyzer, which detects problems in iterators that fail to
stop once `yield()` returns false, has been rewritten as a non-sparse
Killdall-style monotone dataflow analysis, improving its precision.
+
+## Server-side file watching
+
+Gopls introduces an experimental server-side file watching mechanism to monitor file system events directly. This feature supplements standard LSP file change notifications in environments or editor clients where client-side events may be unreliable or dropped.
+
+This feature is configured via the internal setting `fileWatcher`, which supports three strategies:
+- `"off"` (default): the client is solely responsible for change notification
+- `"poll"`: the server periodically scans workspace directories, using optimizations similar to `git status`
+- `"fsnotify"`: the server uses kernel support for file-change notification. This strategy is system dependent and may need to open many directories to watch a large workspace, risking [file descriptor exhaustion](https://github.com/fsnotify/fsnotify#kqueue-macos-all-bsd-systems)
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +2 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +0 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
put [gopls-release-branch.0.22] in the commit message header before "gopls/doc/release"
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Commit-Queue | +1 |
put [gopls-release-branch.0.22] in the commit message header before "gopls/doc/release"
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +2 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +0 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
replace golang.org/x/tools => ../Did you mean to modify this file?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Commit-Queue | +1 |
replace golang.org/x/tools => ../Did you mean to modify this file?
It was intentional, but not necessary. This replace directive will be removed later when we release the pre.4 by the gopherbot like CL 776761.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |