Remote-SSH: Recursive file watching not working

This is a continuation of #196466 which was closed without a solution.
I have the same issue as @sbatten in #196466, namely, I need to receive onDidChange events for files in the workspace.
The response @bpasero gave evades answering the question:
          @sbatten you seem to be watching inside the workspace though because you create a watcher with `vscode.workspace.workspaceFolders?.[0]?.uri`. Did you test this in an empty window to get the `vscode.Uri.file('/home/username/Source/testing-1/')` fallback?

Originally posted by @bpasero in https://github.com/microsoft/vscode/issues/196466#issuecomment-1778505083
The issue at hand is that some files need to be monitored by an extension. I understand this "competes" with vscode's own file watcher, and vscode is expected to use its own filewatcher to service such filewatchers, but it does not.
Please provide a solution to @sbatten's issue, which is "how to watch workspace changes". That answer will also answer my issue.

@drok after you have studied the JSDoc of createFileSystemWatcher, can you let me know what is missing so that we can update the docs:
https://github.com/microsoft/vscode/blob/c18ce2ce9521cef51e98325bb3fbddf24abb8ecd/src/vscode-dts/vscode.d.ts#L13268

I have studied the docs in detail. The behaviour of the software does not reflect the documented behaviour.
In the code snippet provided by @sbatten in #196466 the intent is clearly to subscribe to change events to *.test.ts files anywhere/recursively in the first folder of the workspace, including subdirectories (ie, new vscode.RelativePattern(folder, '**/*.test.ts'), where folder is the first folder in the workspace.
The title of #196466 is unfortunate because it refers to files outside the workspace, while the intent of the code supplied is to monitor files inside the workspace.
Unfortunate title aside, vscode does not behave as advertised in the documentation. In practice, with the #196466 code, a change to a file ${workspace}/blah.test.ts (ie, a file at the root of the workspace folder) would indeed cause the onDidChange handler to be called.
However, a change to a file ${workspace}/subfolder/blah.test.ts (ie, a file in a subdirectory of the workspace folder) would not cause the onDidChange handler to be called.
In your response above you again seek to avoid the issue by suggesting the problem to be fixed is with the documentation rather than the functionality.
To be certain, the documentation is also defective, as it is ambiguous and unclear. Also, to be certain, this issue, and #196466 are not focused on the documentation, but on the actual behaviour. I will not point out the ambiguities in the documentation here so as to not distract from the actual issue, because over the course of many https://github.com/microsoft/vscode/labels/file-watcher issues, the intended meaning can be understood. A developer is required to research these issues in order to resolve the ambiguities. Since it is possible for a person to resolve the ambiguities, given enough effort, I choose not to focus on improving the documentation. I focus on implementing what the documentation intends to document.

Issue #146182 is closer to the scenario I am testing (extension is running remotely via SSH), and the comment https://github.com/microsoft/vscode/issues/146182#issuecomment-1083018281 is precisely reproduced.
I don't normally test without SSH, but out of curiosity, I tested on windows without SSH. To my surprise, changes in subdirectories are detected in that case, but not remotely via SSH. #146182 should be reopened. It appears inotify_add_watch() is only called on the top directory, not on the subdirectories. Note that inotify_add_watch() does not watch recursively, by design. Further, if I add a file watcher on a non-recursive path inside the workspace, the correct inotify_add_watch() is made, and epoll_wait() correctly returns the file change events, but vscode does not call the extension's event handler.
Here is a repro without any extensions, showing the issue occurs inside vscode:
Use vscode on Windows, connecting to a linux host with Remote SSH. Use putty to open an SSH connection separate from vscode's ssh connection, so you can create files on the linux host without using vscode.

Create the folder /tmp/vscode-issue-201767/subfolder on the remote host.

$ mkdir -p /tmp/vscode-issue-201767/subfolder

Connect with vscode to the remote host, open the parent folder /tmp/vscode-issue-201767
From palette, "Extensions: Disable all installed extensions on this workspace"
quit vscode
restart vscode, select the /tmp/vscode-issue-201767 workspace (will prompt "Extension 'Remote - SSH' is required to open the remote window. OK to enable?")
click "Enable and Reload"
Expand the subfolder directory in the file explorer pane.
In the putty terminal to the linux host, create a file in the root directory (vscode's file explorer automatically updates)

$ touch /tmp/vscode-issue-201767/file-in-root-dir

In the putty terminal, create a file in the subfolder. (vscode file explorer fails to update)

$ touch /tmp/vscode-issue-201767/subfolder/file-in-subfolder

click on the vscode window to bring it into focus. (the subfolder/file-in-subfolder appears on focusing vscode)

The problem is that at step 9, a file created in a subfolder of the workspace is not noticed by vscode.
Step 10 demonstrates that vscode's developers are aware of the issue, and have hidden it by doing a directory refresh/scan upon window gaining focus.
Using strace to monitor the interaction between node and kernel on the linux host shows that inotify_add_watch() is only called on the root workpace folder, but not on any subfolders. This function does not monitor the filesystem recursively, by design. Each subfolder needs to be watched individually.
The hack/workaround has concealed another bug:
If an extension creates a non-recursive file watcher on the subfolder of a workspace folder, the correct inotify_add_watch() for the subfolder is executed, and the kernel does deliver change notifications correctly, but that notification is not delivered to the extension's onDidChange/Create/Delete event handlers. It appears the event is thrown away by vscode.

So I was not able to figure out what https://github.com/microsoft/vscode/issues/146182 could be causing and unless some new information can be provided that would help figure out the root cause, I do not see how to proceed here.

So I was not able to figure out what #146182 could be causing and unless some new information can be provided that would help figure out the root cause, I do not see how to proceed here.

The new information is above: https://github.com/microsoft/vscode/issues/201767#issuecomment-1877646477
It demonstrates that recursive watching as implemented in vscode (the "one VSCode creates for workspace watching" as you call it) does not work. Whether vscode configures the parcel bundler watcher incorrectly or whether the parcel bundler watcher itself is incapable of recursive watching is the determination you need to make, before being able to see how to proceed.
You cannot point the finger at "parcel bundler watcher" and claim this watcher issue in vscode must be "someone else's fault".
Please read the new information above: https://github.com/microsoft/vscode/issues/201767#issuecomment-1877646477
The #146182 issue includes all the information needed to help you reproduce the problem, but in that issue it looks like you never attempted to reproduce it.
The comment https://github.com/microsoft/vscode/issues/201767#issuecomment-1877646477, once again, gives you a new, even simpler way to reproduce the problem, which involves no extensions at all.
As @arnaudsylvestre concluded, I have to use fs.watch if I want reliable watches. vscode's implementation is broken.

I am not able to reproduce what you report. My setup is a Windows 11 connected to a Ubuntu 20 via SSH remote operating on the folders you suggested:

If you have any more information for me to reproduce, please update this issue.

If you have any more information for me to reproduce, please update this issue.

Interesting. I see from your screencap that you use a newer vscode.
I use Ubuntu 16.04.1 LTS (I don't think this matters because inotify doesn't work recursively by design), and the following vscode:
Version: 1.77.3 (user setup)
Commit: 704ed70d4fd1c6bd6342c436f1ede30d1cff4710
Date: 2023-04-12T09:16:02.548Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.17763
Sandboxed: No

Although it is an older vscode, it is still very new (April 2023), and as I implement my extension I must assume that some of my users will use this version, or even older.
If the problem really is fixed in your version (I will try the newest and update this), then the documentation for the watcher API should be updated to note the old bug. Extension users cannot be expected to run the "latest" vscode, although some extension devs may force their users to upgrade with the vscode.engines setting in package.json
Are you able to reproduce the issue on vscode 1.77.3 ?

Is there anything that prevents you from trying to reproduce with latest version of VS Code? I would even suggest to try with VS Code insiders, which can be side by side installed to stable:
You can give our preview releases a try from: https://code.visualstudio.com/insiders/

I definitely will try it with a newer vscode, or even the insiders, and will update this issue with my findings.
However, whatever I find with newer vscode, does not change that my extension must work correctly on old versions. The extension refered to in https://github.com/microsoft/vscode/issues/146182 from Mar 2022 must also work on old versions, and thus it needs to rely on fs.watch, even if newer vscode versions eventually fixed the bug.
Also, if the bug did at some point exist, and was fixed in vscode, the broken versions must still be mentioned in the watcher API docs.
So while I plan on testing with a newer vscode, that outcome does not change the fact that my extension must support users who are on older vscode releases.
At first glance, vscode insiders does not install on my Ubuntu 16 remote (I have not attempted to run previous insider versions on this host, but at least version 1.77.3 and previous versions have been working fine for me):
[13:21:40.029] > 11ee8d1b1f37: start
> SSH_AUTH_SOCK==/tmp/ssh-vDzRxObPDj/agent.22874==
> DISPLAY==localhost:10.0==
> listeningOn====
> osReleaseId==ubuntu==
> arch==x86_64==
> vscodeArch==x64==
> bitness==64==
> tmpDir==/tmp==
> platform==linux==
> unpackResult====
> didLocalDownload==0==
> downloadTime====
> installTime====
> serverStartTime==14783==
> execServerToken==0bc0e140359c==
> 11ee8d1b1f37: end
>
[13:21:40.030] Received install output:
SSH_AUTH_SOCK==/tmp/ssh-vDzRxObPDj/agent.22874==
DISPLAY==localhost:10.0==
listeningOn====
osReleaseId==ubuntu==
arch==x86_64==
vscodeArch==x64==
bitness==64==
tmpDir==/tmp==
platform==linux==
unpackResult====
didLocalDownload==0==
downloadTime====
installTime====
serverStartTime==14783==
execServerToken==0bc0e140359c==

[13:21:40.030] Failed to parse remote port from server output
[13:21:40.032] Resolver error: Error:
	at g.Create (d:\Profiles\Radu\.vscode-insiders\extensions\ms-vscode-remote.remote-ssh-0.107.1\out\extension.js:2:642703)
	at t.handleInstallOutput (d:\Profiles\Radu\.vscode-insiders\extensions\ms-vscode-remote.remote-ssh-0.107.1\out\extension.js:2:640069)
	at t.tryInstall (d:\Profiles\Radu\.vscode-insiders\extensions\ms-vscode-remote.remote-ssh-0.107.1\out\extension.js:2:761983)
	at async d:\Profiles\Radu\.vscode-insiders\extensions\ms-vscode-remote.remote-ssh-0.107.1\out\extension.js:2:722522
	at async t.withShowDetailsEvent (d:\Profiles\Radu\.vscode-insiders\extensions\ms-vscode-remote.remote-ssh-0.107.1\out\extension.js:2:725828)
	at async I (d:\Profiles\Radu\.vscode-insiders\extensions\ms-vscode-remote.remote-ssh-0.107.1\out\extension.js:2:719493)
	at async t.resolve (d:\Profiles\Radu\.vscode-insiders\extensions\ms-vscode-remote.remote-ssh-0.107.1\out\extension.js:2:723199)
	at async d:\Profiles\Radu\.vscode-insiders\extensions\ms-vscode-remote.remote-ssh-0.107.1\out\extension.js:2:907003
[13:21:40.037] ------

Given this error, I'm not keen to update my vscode from 1.77.3; I need to get work done, not to chase vscode bugs.
I have little doubt that the latest vscode on the latest linux remote works great, but the fact remains, I need the extension I am working on to work correctly on older vscodes, since I have no control over the versions my customers use.

Update; I found the following vscode insiders install message in the file /home/radu/.vscode-server-insiders/.cli.c973ec767338f7846710cc2ee46e38b4504a044c.log:
[2024-01-10 13:21:25] error This machine not meet Visual Studio Code Server's prerequisites, expected either...:   - find GLIBC >= 2.17 (but found v2.23.0 instead) for GNU environments
  - find /lib/ld-musl-x86_64.so.1, which is required to run the Visual Studio Code Server in musl environments

I must 🤣 at this error, because v2.23.0 is definitely greater than GLIBC >= 2.17 in my eyes, though it looks like an apples to oranges comparison. It's not ready to :shipit:
I won't be able to test a newer vscode as it appears incompatible with "This machine" that I am interested in.

Yeah it is likely that we dropped support for Ubuntu 16 meanwhile.
I am sorry, but we do not give support for older versions of VS Code, nor do I think does it make sense that we should update any of our docs given that people that run into this on Ubuntu 16 are using a now unsupported old installation of VS Code.

Update: https://code.visualstudio.com/updates/v1_82 mentions that vscode dropped support for CentOS 7 (which is not EOL for another 6 months, and in use/ELS till 2028+) and Ubuntu 18 which will be in ESM till 2028, by "upgrading" to node 18.
Once again. My extension audience will be using CentOS/RHEL 7, Ubuntu 16 and 18, and therefore will be forced to use vscode < 1.82 at least until 2028. I have to support these OS's until at least 2028, and probably well after that. My customers need to develop and maintain software for existing (read "old") systems, not only produce new software for state-of-the art systems.

now unsupported old installation of VS Code

You are referring to vscode versions before 1.82, ie, versions before July 2023 (it is now Jan 2024).
You would have said the same in August 2023, when 1.81 was "old", and you offered no support in Mar 2022 in https://github.com/microsoft/vscode/issues/146182 when this bug was current in the (latest, at the time) release.
I think it's more accurate to say that you give "no meaningful support at all".

I think I tried to give support as much as I can and I feel this discussion is not leading to a good outcome, so I am going ahead and will close it.


breadcrumb data

Good evening, I have an issue with accessing breadcrumb data in my routes. Is it possible to go one step back according to its data and how can we get the data ? Thank you.
const myComponent = (props) => {
     const breadcrumbProps = props.something*
     const prevPath = breadcrumbProps.map(...)* || breadcrumbProps.prevPath*

     return (
          <Fragment>
                  <BreadcrumbsItem to={ somePathname }>Current Breadcrumb</BreadcrumbsItem>

                  <button onClick={() => goToPrevPath(prevPath)}>
                       Back
                  </button>
          </Fragment>
    )
}

You can access breadcrumbs with code like below. The Button component renders some paragraphs to show breadcrumbs data, replace it with appropriate code which actually render the button.
import {breadcrumbsThroughArea, withBreadcrumbs} from 'react-breadcrumbs-dynamic'

class Button = ({[breadcrumbsThroughArea]: breadcrumbsData}) => (

    Object.keys(breadcrumbsData).map( to =>

to: {to} -> props: {JSON.stringify(breadcrumbsData[to])}

    )

)

export withBreadcrumbs(Button)

! Do not use withBreadcrumbs hoc for myComponent or any other component which render BreadcrumbsItem.

@oklas
Thank you for quick answer, I will try it today and leave a feedback if it helped ) Hope it will ) The library is great.

You are welcome, more details about how it workes you can read in react-through documentation.
And welcome to github. You can click [:star: Star] button on the top of page on repos which you like, to make it more visible for other, you also can see your list of starts

The breadcrumbsThroughArea has 3 keys-functions that has "key" argument. I tried to doing breadcrumbsThroughArea.remove(), breadcrumbsThroughArea.remove(url) and breadcrumbsThroughArea.remove(breadcrumbName), nothing helps. . . Any Ideas ? What should I pass to these functions ? I did not find the answer in documentation.

Oh, I confused, please use withBreadcrumbsContainer instead of withBreadcrumbs, let me know if any issue or question

Oh, I confused, please use withBreadcrumbsContainer instead of withBreadcrumbs, let me know if any issue or question

That definitely helped me! The result now is something like:
breadcrumbsData:
/subscribers/contacts: {to: "/subscribers/contacts", children: "Contact Lists"}
/subscribers/contacts/132828: {to: "/subscribers/contacts/132828", children: "Contact view"}

Thank your answers!

Thank you for feedback. Take a look at react-through - the power of such things
You are welcome


device propery is not populated

Hi Hardillb,
the device properties of the google home node are not populated anymore. The refresh button does not work.
NR debug log does not show an error related to the google bridge.
My username is "hansj".
I did add a new device on the web portal first, then noticed that I can not use the google nodes anymore as the device information is not there.
Creating a new google home node and assigning the account, the device property is also not updated.
Thanks for your help!
hansj

Please share the output of the following command
curl<EMAIL_ADDRESS>
Make sure to swap the username:password for your username and password from the service

my password did contain special characters that the api logon does not like. After choosing an easier password everything works fine. Thanks!

password complexity caused api logon issues.


fix(Dataspreadsheet): add callback function for after drag/drop ends

Closes https://github.com/carbon-design-system/ibm-products/issues/5620
What did you change?
I added a callback method so user can know what new column headers are after drag/drop is done
How did you test and verify your work?
Storybook
https://github.com/carbon-design-system/ibm-products/assets/10100397/00c0e6d4-42de-4b5d-aaed-fb34c6bc7b99

Added the fix, thanks!

https://github.com/carbon-design-system/ibm-products/assets/10100397/7624e79a-3189-4b0f-9b3c-dac3199671e2
Here is the fix


Add question to faq about fast tracking non-camper students to nonpro…

Pre-Submission Checklist

[x] Your pull request targets the staging branch of FreeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm run test-challenges. Use git commit --amend to amend any fixes.

Type of Change

[ ] Small bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Closes currently open issue (replace XXXX with an issue no): Closes #XXXX

Description

Add question to faq about fast tracking non-camper students to nonprofit projects. Closes #10221

@alanbares LGTM! 👍  Thanks for your contribution to FreeCodeCamp! ✨ 🎉 ✨


Upgrade AWS S3 SDK to v2

And also jsonwebtoken split up into multiple packages (api, lib and so on) with the new version.
Only question: you refactored this code some time ago to catch a FileNotFoundException. I don't understand why and would change this to the exceptions that can be thrown by the s3client.

I did an import locally with activated S3PersistenceService and it looked fine (but I could not check AWS directly as I didn't manage to login 🙈 have to check that sometime....)


Is this plugin working?

I tried this:
 var isAds = new IronSourceAds("my app key here", "put a user id here");

window.addEventListener("onOfferwallAvailable", function (e) {

           alert(JSON.stringify(e));
            isAds.showOfferWall();

}, false);

e.offerAvailable returns true, but when I call showOfferWall(), nothing shows up.

not yet need to push the work...

I see. Will come back again in the future.

Stop, you try Android? When yes it should work, please make sure you have currently enabled the testing mode on ironsource.
It's work for me on my Phone. It's the last stand of my working plugin for android. What does show you the integrationtest?

Also not forget to enter on ironsource website your test device...

Aha! I found the problem:
In the readme.md, you write:
isAds.showOfferWall();
while it should be:
  isAds.showOfferwall(); //lowecase 'w'
Also, I should put "on" before the event names, e.g. onOfferwallOpened, onOfferwallClosed,
However, I still don't get any event call for offerwallCreditReceived or offerwallCreditFailed.

Is "test" mode now enabled?
Sorry the current events not right documented in the readme...
This are the current events:
onInterstitialAdClicked
onInterstitialAdClosed
onInterstitialAdLoadFailed
onInterstitialAdOpened
onInterstitialAdReady
onInterstitialAdShowFailed
onInterstitialAdShowSucceeded
onOfferwallAdCredited
onGetOfferwallCreditsFailed
onOfferwallAvailable
onOfferwallClosed
onOfferwallOpened
onOfferwallShowFailed
onRewardedVideoAdClosed
onRewardedVideoAdEnded
onRewardedVideoAdOpened
onRewardedVideoAdRewarded
onRewardedVideoAdShowFailed
onRewardedVideoAdStarted
onRewardedVideoAvailabilityChanged

I got the Rewarded Video and Offer Wall running as expected in my testing app now. Didn't try Interstitial as I don't use it.
Your plugin is, in fact, working perfectly well. The root problem is the Readme which needs to update, almost all of its info is wrong, e.g. it says showRewardedAd() while it should be showRewardedVideo(), etc.
Thank you for your plugin, it saves me some headaches to integrate with ironSource ads.

Yeah, ios is coming soon was a long time using the old shit....
Von meinem iPhone gesendet

Am 12.08.2017 um 09:08 schrieb ccchai<EMAIL_ADDRESS>I got the Rewarded Video and Offer Wall running as expected in my testing app now. Didn't try Interstitial as I don't use it.
Your plugin is, in fact, working perfectly well. The root problem is the Readme which needs to update, almost all of its info is wrong, e.g. it says showRewardedAd() while it should be showRewardedVideo(), etc.
Thank you for your plugin, it saves me some headaches to integrate with ironSource ads.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


SSL certificate for subdomain only.

Please describe which feature you have a question about?
We have an Angular app hosted on Amplify. I'll use example domains to explain my problem.
Under domain management in the Amplify console I have added custom domain "ambulance.com", and added "sub.ambulance.com" as a subdomain, the subdomain points to the environment the app is hosted on. "ambulance.com" is hosted with another provider. So to be clear, only sub.ambulance.com points to AWS servers.
Once domain ownership is verified, AWS creates a certificate for "ambulance.com" and "*.ambulance.com"
The problem is, We only want the certificate to cover "sub.ambulance.com". Not any wildcards or the root domain.
Is it possible to do this in Amplify? Could I create a certificate in Amazon Certificate Manager and somehow add it to this Amplify app?

Hi @chrisdelambert, we always provision a certificate that covers all subdomains within the provided root domain. This is so that if you deploy new subdomains to Amplify for new branches, we can reuse the same certificate.
What I recommend is for you to associate sub.ambulance.com as the root domain so that the certificate we provision ends up being *.sub.ambulance.com. If you are hosting this domain on Route53, you simply need to add a new hosted zone for sub.ambulance.com so that it becomes a root domain.
Feel free to re-open if you have further questions!


NME Trig Block Changes

How would I ignore the .gitignore commit or is there a way to discard it?

You must discard the .gitignore change :)


Black screen(s) when playing Borderlands 2

I've tried using Alpha 5 and 6 to play Borderlands 2, and get audio with no visuals. Is there some setting I need to change that I'm not aware of? The game runs fine without Nucleus.

So when I try extending the screen I end up with the one on my laptop working while the one on the TV I have it plugged into stays black. This is the case no matter which player is assigned to which screen.

I have the same issue. I'm wondering if we both might be using under powered systems? You used the word laptop, I'm also using a portable setup.

Can you run the game normally, using the TV as the display?

Yes, the game works just fine outside of Nucleus Coop. I looked at resources and the CPU resource use goes up to 100% when both games start. I have an Intel Core i5-5200U CPU at 2x 2.20Ghz with a NVidia GeForce 940A (1Gb, rare and kind of weird card.)

Well poor performance shouldn't cause a screen to be completely black. Though game might run sluggish.
Are you able to use NecleusCoop to open the game for 2 players in split screen? By that, I mean 2 players on the same screen.

Right you are. To test this, I ran the game twice by creating two shortcuts, changing properties to include a always focus, a controller offset and a new savegameID. It worked just fine. So, you're right, this isn't graphics card issue.

So there is an easier way to check if you can run 2 players on the same screen(your laptop screen, preferably), and test the necleuscoop tool. After you select the number of players, you'll see in the UI the screens that you can place your players on. From there, click on this image(it's kinda hard to see because it is missing the background): https://github.com/lucasassislar/nucleuscoop/blob/master/Master/NucleusGaming/Resources/fullscreen.png
After clicking that, it will change the split screen mode selected, so that you can place the 2 players on the same screen. After you place the players on the same screen hit PLAY.
Wait a second. I just remembered a bug that I fixed, in my own fork of this repo, where the video config file wasn't getting set properly. I'm not at my computer right now, so I can't confirm the location, or the exact name of the file, but I think it is here:
Drive:\Users*username*\My Documents\My Games\Borderlands 2\WillowGame\Config\WillowEngine.ini
And you want to set at least these values:
WindowedFullscreen  = true (or 1)
Fullscreen = false (or 0)
ResX = (your horizontal pixel width)
ResY = (your vertical pixel heigth)
bPauseOnLossOfFocus = false (or 0)
bPauseLostFocusWindowed = false (or 0)
bMuteAudioWhenNotInFocus = false (or 0)
bPauseOnLossOfFocus = false (or 0)
bMuteAudioWhenNotInFocus = false (or 0)

Thanks so much, will check that out.
On Wed, Mar 1, 2017, 12:49 PM tbare598<EMAIL_ADDRESS>wrote:

So there is an easier way to check if you can run 2 players on the same
screen(your laptop screen, preferably), and test the necleuscoop tool.
After you select the number of players, you'll see in the UI the screens
that you can place your players on. From there, click on this image(it's
kinda hard to see because it is missing the background):
https://github.com/lucasassislar/nucleuscoop/blob/master/Master/NucleusGaming/Resources/fullscreen.png
After clicking that, it will change the split screen mode selected, so
that you can place the 2 players on the same screen. After you place the
players on the same screen hit PLAY.
Wait a second. I just remembered a bug that I fixed, in my own fork of
this repo, where the video config file wasn't getting set properly. I'm not
at my computer right now, so I can't confirm the location, or the exact
name of the file, but I think it is here:
Drive:\Usersusername\My Documents\My Games\Borderlands
2\WillowGame\Config\WillowEngine.ini
And you want to set at least these values:
WindowedFullscreen = true (or 1)
Fullscreen = false (or 0)
ResX = (your horizontal pixel width)
ResY = (your vertical pixel heigth)
bPauseOnLossOfFocus = false (or 0)
bPauseLostFocusWindowed = false (or 0)
bMuteAudioWhenNotInFocus = false (or 0)
bPauseOnLossOfFocus = false (or 0)
bMuteAudioWhenNotInFocus = false (or 0)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lucasassislar/nucleuscoop/issues/47#issuecomment-283415529,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AP2s16_X58bB0GuZ2dGEFdA85cMTu1z7ks5rha_AgaJpZM4KsDXh
.

Okay, so I looked into it, and I don't believe the config file was the problem, not for borderlands at least. It was a problem with Left4Dead 2, which I believe the maintainer of this project recently addressed in his latest commit.
I'll have to think about this a bit more. I've always had problems connecting a PC to TVs to play games, since they often don't provide the same support for video protocols as computer monitors do. Especially with weird video resolutions... Wait a second. NecleusCoop has a lot of problems with different resolutions. What resolution does your monitor and TV support? Try setting the computer monitor to the same resolution as the TV, before starting the game.

Hi! So, just to specify: I am not the OP. I am not hooking the game up to a TV, just running off the integrated monitor in my all in one.

So from what you are saying,  you only using one screen? Would you mind describing your situation in a little more detail?

So, I am running an all-in-one with a 1920x1080 display. Integrated Intel
graphics and a dedicated Nvidia 940A card. (Lenovo Yoga Home 900) I have
set both "Instances" of Borderlands2 under NucleusCoop/Data to run on the
Nvidia card.
When I load Nucleus Coop, I click on 2, then the horizontal split, then
press play. Both instances of Borderlands 2 boot up and properly resize to
the top and bottom halves of the screen. But both screens are completely
black. Strangely enough, sound is preserved. And I can hear it load into
the menu, so have started a new game and heard the opening credits. So,
everything's running, it's just displaying black.
On Thu, Mar 2, 2017 at 6:55 PM tbare598<EMAIL_ADDRESS>wrote:

So from what you are saying, you only using one screen? Would you mind
describing your situation in a little more detail?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lucasassislar/nucleuscoop/issues/47#issuecomment-283821580,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AP2s16OLscKXuAPC1FYnqrth6K5dSpaQks5rh1cFgaJpZM4KsDXh
.


Fix types for ESM

Fixes GoogleChrome/dialog-polyfill#204
Should not have an impact on the cjs types.

@googlebot I signed it!

So I confess I haven't been paying that much attention to the other issue. I appreciate that there is a problem, but I am confused. The dist esm file has this line in it:
export default dialogPolyfill;

That's literally the default export. It seems like this PR just adds another variable called dialogPolyfill of the core type. But we don't export that; we export a default.

I missed a line when applying my changes, sorry!
The created variable should be exported as the default. This tells Typescript that a value is exported an not a type.

Thanks. I'm learning about TS types vs variables too from this. I'll release an update soon.


@OnClick doesn't work with android-floating-action-button

https://github.com/futuresimple/android-floating-action-button
For a FloatingActionsMenu the onClick looks like
floatingActionsMenu.setOnFloatingActionsMenuUpdateListener(new FloatingActionsMenu.
            OnFloatingActionsMenuUpdateListener() {
        @Override
        public void onMenuExpanded() {

        }

        @Override
        public void onMenuCollapsed() {

        }
    });

This is not supported in ButterKnife with an @OnClick
Behavior like this breaks the purpose of the framework since I now have different locations for OnClicks depending on what is or is not supported by ButterKnife.

There's far too many third-party libraries to bake in support in Butter Knife. The design support library's FAB uses View.OnClickListener which will work with @OnClick.

Is there any way for third-party libraries to add support for ButterKnife?

Not at this time. That's a complicated thing, but I plan to get to it
eventually.
On Fri, Jul 10, 2015, 11:05 AM carlyonmdsol<EMAIL_ADDRESS>wrote:

Is there any way for third-party libraries to add support for ButterKnife?
—
Reply to this email directly or view it on GitHub
https://github.com/JakeWharton/butterknife/issues/310#issuecomment-120431224
.