Syscalls of interest might end up excluding all syscalls

I think there is a bug, or at least some unintended behavior,
associated with those changes.  The bug is that certain code paths
which are trying to get the previous/default behavior (track all
system calls), fail to do so.
The source of the bug involves three sections of code:

scap.c, function scap_open_live_int()

Look at this code, which populates the handle->syscalls_of_interest[] table:
166 scap_t* scap_open_live_int(char *error, int32_t *rc,
167                            proc_entry_callback proc_callback,
168                            void* proc_callback_context,
169                            bool import_users,
170                            const char *bpf_probe,
171                            const char **suppressed_comms,
172                            interesting_ppm_sc_set *ppm_sc_of_interest)
173 {
...

343         if (ppm_sc_of_interest)
344         {
345                 for (int i = 0; i < PPM_SC_MAX; i++)
346                 {
347                         // We need to convert from PPM_SC to SYSCALL_NR, using the routing table
348                         for(int syscall_nr = 0; syscall_nr < SYSCALL_TABLE_SIZE; syscall_nr++)
349                         {
350                                 // Find the match between the ppm_sc and the syscall_nr
351                                 if(g_syscall_code_routing_table[syscall_nr] == i)
352                                 {
353                                         // UF_NEVER_DROP syscalls must be always traced
354                                         if (ppm_sc_of_interest->ppm_sc[i] || g_syscall_table[syscall_nr].flags & UF_NEVER_DROP)
355                                         {
356                                                 handle->syscalls_of_interest[syscall_nr] = true;
357                                         }
358                                         break;
359                                 }
360                         }
361                 }
362         }
363         else
364         {
365                 // fallback to trace all syscalls
366                 for (int i = 0; i < SYSCALL_TABLE_SIZE; i++)
367                 {
368                         handle->syscalls_of_interest[i] = true;
369                 }
370         }

If the caller specifies a NULL pointer for ppm_sc_of_interest, then the
code sets ALL elements of handle->syscalls_of_interest[] to TRUE
(lines 365-369), thus preserving the original default behavior of tracking
all system calls.
But, if the caller specifies a non-NULL pointer, then code examines
ppm_sc_of_interest AND the g_syscall_code_routing_table[]
(lines 345-361) to figure out which elements of handle->syscalls_of_interest[]
to populate.

syscall_table.c, syscall_code_routing_table[] definition

The g_syscall_code_routing_table[] DOES NOT contain any entry for the
execve or umount2 system calls.  So, anytime scap_open_live_int()
lines 345-361 runs, to build the handle->syscalls_of_interest[] based on
the caller-specified ppm_sc_of_interest, it NEVER sets syscalls_of_interest
entry for those system calls.

sinsp.cpp, function fill_syscalls_of_interest()

If no specific set of system calls is specified, the logic wants to
request the default behavior -- tracking all system calls.
It TRIES to achieve this by populating oargs->ppm_sc_of_interest
with all 1s:
442 void sinsp::fill_syscalls_of_interest(scap_open_args *oargs)
443 {
444         // Fallback to set all events as interesting
445         if (m_mode != SCAP_MODE_LIVE  || m_ppm_sc_of_interest.empty())
446         {
447                 for(int i = 0; i < PPM_SC_MAX; i++)
448                 {
449                         m_ppm_sc_of_interest.insert(i);
450                 }
451         }
...
467
468         // Finally, set scap_open_args syscalls_of_interest
469         for (int i = 0; i < PPM_SC_MAX; i++)
470         {
471                 oargs->ppm_sc_of_interest.ppm_sc[i] = m_ppm_sc_of_interest.find(i) != m_ppm_sc_of_interest.end();
472         }
473 }

But, as described under above, what ends up happening is, execve and umount
ARE not set in the handle's syscalls_of_interest[], and thus are not captured.
Here's a localized workaround that I implemented, in scap_open_live_int(),
to work around this issue:

Explicitly recognize the case where the caller specifies a
ppm_sc_of_interest[] with all flags set to true

Force the use of the 2nd code path (lines 365-369 above) in this case.
NEW         // Special case -- force fallback path if all syscalls are enabled.
NEW         // This works around the following situation:
NEW         // - g_syscall_code_routing_table[] is incomplete
NEW         // - It does not contain an entry for execve or umount2 (and possibly others)
NEW         // - so, syscalls_of_interest builder below fails to enable those system calls
NEW         if (ppm_sc_of_interest)
NEW         {
NEW                 bool all_set = true;
NEW                 for (int i = 0; i < PPM_SC_MAX; i++)
NEW                 {
NEW                         if (!ppm_sc_of_interest->ppm_sc[i])
NEW                         {
NEW                                 all_set = false;
NEW                                 break;
NEW                         }
NEW                 }
NEW
NEW                 if (all_set)
NEW                 {
NEW                         ppm_sc_of_interest = NULL;
NEW                 }
NEW         }
NEW
343         if (ppm_sc_of_interest)
344         {
345                 for (int i = 0; i < PPM_SC_MAX; i++)
...
362         }
363         else
364         {
365                 // fallback to trace all syscalls
366                 for (int i = 0; i < SYSCALL_TABLE_SIZE; i++)
367                 {
368                         handle->syscalls_of_interest[i] = true;
369                 }
370         }

I'd like to understand why we have no routing table entry for execve and umount; moreover, there is even no PPM_SC_EXECVE.
Btw thanks for catching this! Another solution would be to let sinsp::fill_syscalls_of_interest() set NULL oargs->ppm_sc_of_interest pointer when no m_simpleconsumer is set; i think this is cleaner;
but, again, i'd like to understand why those syscalls are missing from routing table in the first place.

@mstemm @ldegio any idea why the routing table is missing entries for execve and umount?

PPM_SC_UMOUNT = 288 (present, thus it should be mapped)

driver/syscall_table.c:
[__NR_umount - SYSCALL_TABLE_ID0] = PPM_SC_UMOUNT,
...
userspace/libscap/syscall_info_table.c
/*PPM_SC_UMOUNT*/ { EC_FILE, (enum ppm_event_flags)(EF_NONE), "umount" },

I think we'd expect the routing table to have the PPM_SC_UMOUNT<->syscall mapping.
Instead, PPM_SC_EXECVE does not exist.

A fix is proposed in #177 .
I fixed it using the "correct" solution, ie: by adding the proper routing table values.


Updates readme with chocolatey install command for Windows

I've created a chocolatey helm package and thought it makes sense to update the documentation with this new info. I use appveyor (https://ci.appveyor.com/project/synax/chocolatey-packages) to build the helm package (https://chocolatey.org/packages/kubernetes-helm) from this repo: https://github.com/synax/chocolatey-packages. Is it possible to add a webhook to trigger a build on every release of helm? Or how do you manage this for the brew formula? The appveyor webhook is: https://ci.appveyor.com/api/github/webhook?id=gl9dbj2y8ikvqghr

So for homebrew, the formula is purely maintained by the community.
cc @cblecker who appears to be the most active according to https://github.com/Homebrew/homebrew-core/commits/993e941fb56b035ae3ab87c2b9081ec5ab46eeca/Formula/kubernetes-helm.rb :)

Sure! if the doc is ok, let's do it. I'll set up a schedule for the build plan to keep the package up to date. Webhook would be nicer though :)

sgtm :)

Yeah, I just update it as a downstream consumer (and general fan) of helm. I personally would support upstream handling this on a best efforts basis, but I understand the potential for sprawl.
I normally update brew with something like this:
#!/usr/bin/env bash
LATEST_VERSION="$(curl -s "https://api.github.com/repos/kubernetes/helm/releases/latest" | jq -r .tag_name)"
TAG_SHA="$(curl -s "https://api.github.com/repos/kubernetes/helm/git/refs/tags/${LATEST_VERSION}" | jq -r .object.sha)"
TAG_HEAD="$(curl -s "https://api.github.com/repos/kubernetes/helm/git/tags/${TAG_SHA}" | jq -r .object.sha)"

brew bump-formula-pr --revision="${TAG_HEAD}" --tag="${LATEST_VERSION}" kubernetes-helm

Just to follow up on this in case someone else wants to trigger builds for GitHub repos he does not control. I've implemented a solution using zapier. Zapier uses the releases RSS feed to trigger my build via the appveyor REST API. This should build a new choco package version on every release.

Nice! I was wondering about this information myself for another project. Thanks for sharing :)


[BUG]  Can't find server locations, it keeps appearing lookout failed.

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[ ] My answer given in the checkbox above is a lie.

What problem did you encounter?

If this is still happening, launch Roblox again, get Bloxstrap's latest log file from %localappdata%\Bloxstrap\Logs and send it here

If this is still happening, launch Roblox again, get Bloxstrap's latest log file from %localappdata%\Bloxstrap\Logs and send it here

i'm also experiencing it:
2024-08-07T15:05:56Z [App::OnStartup] Starting Bloxstrap v2.7.0
2024-08-07T15:05:56Z [App::OnStartup] Compiled Tuesday, 9 July 2024 at 9:03:19 PM from commit a7d2a2c3d5af7137804416ba4e5fbdd27bd10f1e (tag/v2.7.0)
2024-08-07T15:05:56Z [App::OnStartup] Loaded from %UserProfile%\AppData\Local\Bloxstrap\Bloxstrap.exe
2024-08-07T15:05:57Z [LaunchSettings::Parse] Parsing launch arguments
2024-08-07T15:05:57Z [JsonManager::Load] Loading from %UserProfile%\AppData\Local\Bloxstrap\Settings.json...
2024-08-07T15:05:57Z [JsonManager::Load] Loaded successfully!
2024-08-07T15:05:57Z [JsonManager::Load] Loading from %UserProfile%\AppData\Local\Bloxstrap\State.json...
2024-08-07T15:05:57Z [JsonManager::Load] Loaded successfully!
2024-08-07T15:05:57Z [JsonManager<Dictionary2>::Load] Loading from %UserProfile%\AppData\Local\Bloxstrap\Modifications\ClientSettings\ClientAppSettings.json... 2024-08-07T15:05:57Z [JsonManager<Dictionary2>::Load] Loaded successfully!
2024-08-07T15:05:57Z [FastFlagManager::SetValue] Changing of 'FFlagHandleAltEnterFullscreenManually' from 'False' to 'False' is pending
2024-08-07T15:05:57Z [JsonManager::Save] Save request ignored
2024-08-07T15:05:57Z [RobloxDeployment::TestConnection.https://setup.rbxcdn.com] Connecting...
2024-08-07T15:05:57Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version
2024-08-07T15:05:57Z [RobloxDeployment::InitializeConnectivity] Testing connectivity...
2024-08-07T15:05:58Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version
2024-08-07T15:05:58Z [RobloxDeployment::InitializeConnectivity] Got https://setup.rbxcdn.com as the optimal base URL
2024-08-07T15:05:58Z [Logger::Initialize] Initializing at %UserProfile%\AppData\Local\Bloxstrap\Logs\Bloxstrap_20240807T150558Z.log
2024-08-07T15:05:58Z [Logger::Initialize] Finished initializing!
2024-08-07T15:05:58Z [NotifyIconWrapper::NotifyIconWrapper] Initializing notification area icon
2024-08-07T15:05:58Z [App::OnStartup] Initializing bootstrapper
2024-08-07T15:05:58Z [App::OnStartup] Initializing bootstrapper dialog
2024-08-07T15:05:58Z [BootstrapperIconEx::GetIcon] Warning: custom icon is not set.
2024-08-07T15:05:58Z [BootstrapperIconEx::GetIcon] Warning: custom icon is not set.
2024-08-07T15:05:58Z [Bootstrapper::Run] Running bootstrapper
2024-08-07T15:05:58Z [Bootstrapper::Run] Performing connectivity check...
2024-08-07T15:05:58Z [Bootstrapper::SetStatus] Connecting to Roblox...
2024-08-07T15:05:58Z [RobloxDeployment::GetInfo] Getting deploy info for channel LIVE (extraInformation=False)
2024-08-07T15:05:58Z [HttpClientLoggingHandler::ProcessRequest] GET https://clientsettingscdn.roblox.com/v2/client-version/WindowsPlayer/channel/LIVE
2024-08-07T15:05:59Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://clientsettingscdn.roblox.com/v2/client-version/WindowsPlayer/channel/LIVE
2024-08-07T15:05:59Z [Bootstrapper::Run] Connectivity check finished
2024-08-07T15:05:59Z [Bootstrapper::CheckForUpdates] Checking for updates...
2024-08-07T15:05:59Z [HttpClientLoggingHandler::ProcessRequest] GET https://api.github.com/repos/pizzaboxer/bloxstrap/releases/latest
2024-08-07T15:05:59Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://api.github.com/repos/pizzaboxer/bloxstrap/releases/latest
2024-08-07T15:06:00Z [Bootstrapper::CheckForUpdates] No updates found
2024-08-07T15:06:00Z [RobloxDeployment::GetInfo] Getting deploy info for channel LIVE (extraInformation=False)
2024-08-07T15:06:00Z [RobloxDeployment::GetInfo] Deploy information is cached
2024-08-07T15:06:00Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-01a570a3cd0a46f2-rbxPkgManifest.txt
2024-08-07T15:06:00Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-01a570a3cd0a46f2-rbxPkgManifest.txt
2024-08-07T15:06:00Z [JsonManager<Dictionary2>::Save] Saving to %UserProfile%\AppData\Local\Bloxstrap\Modifications\ClientSettings\ClientAppSettings.json... 2024-08-07T15:06:00Z [JsonManager<Dictionary2>::Save] Save complete!
2024-08-07T15:06:00Z [Bootstrapper::SetStatus] Applying Roblox modifications...
2024-08-07T15:06:00Z [Bootstrapper::ApplyModifications] Checking executable flags...
2024-08-07T15:06:00Z [Bootstrapper::ApplyModifications] Checking file mods...
2024-08-07T15:06:00Z [Bootstrapper::ApplyModifications] ClientSettings\ClientAppSettings.json has been copied to the version folder
2024-08-07T15:06:00Z [Bootstrapper::ApplyModifications] content\sounds\ouch.ogg has been copied to the version folder
2024-08-07T15:06:00Z [Bootstrapper::ApplyModifications] ExtraContent\places\Mobile.rbxl has been copied to the version folder
2024-08-07T15:06:00Z [Bootstrapper::ApplyModifications] content\textures\Cursors\KeyboardMouse\ArrowCursor.png has been copied to the version folder
2024-08-07T15:06:00Z [Bootstrapper::ApplyModifications] content\textures\Cursors\KeyboardMouse\ArrowFarCursor.png has been copied to the version folder
2024-08-07T15:06:00Z [JsonManager::Save] Saving to %UserProfile%\AppData\Local\Bloxstrap\State.json...
2024-08-07T15:06:00Z [JsonManager::Save] Save complete!
2024-08-07T15:06:00Z [Bootstrapper::ApplyModifications] Finished checking file mods
2024-08-07T15:06:00Z [Bootstrapper::CheckInstall] Checking install
2024-08-07T15:06:00Z [JsonManager::Save] Saving to %UserProfile%\AppData\Local\Bloxstrap\Settings.json...
2024-08-07T15:06:00Z [JsonManager::Save] Save complete!
2024-08-07T15:06:00Z [JsonManager::Save] Saving to %UserProfile%\AppData\Local\Bloxstrap\State.json...
2024-08-07T15:06:00Z [JsonManager::Save] Save complete!
2024-08-07T15:06:00Z [Bootstrapper::SetStatus] Starting {product}...
2024-08-07T15:06:00Z [Bootstrapper::StartRoblox] Started Roblox (PID 5480)
2024-08-07T15:06:00Z [Bootstrapper::StartRoblox] Using Discord Rich Presence
2024-08-07T15:06:03Z [NotifyIconWrapper::InitializeContextMenu] Initializing context menu
2024-08-07T15:06:03Z [ActivityWatcher::StartWatcher] Opening Roblox log file...
2024-08-07T15:06:03Z [ActivityWatcher::StartWatcher] Could not find recent enough log file, waiting... (newest is 0.636.1.6360627_20240807T150512Z_Player_179DC_last.log)
2024-08-07T15:06:03Z [Bootstrapper::StartRoblox] Waiting for Roblox to close
2024-08-07T15:06:04Z [ActivityWatcher::StartWatcher] Could not find recent enough log file, waiting... (newest is 0.636.1.6360627_20240807T150512Z_Player_179DC_last.log)
2024-08-07T15:06:05Z [ActivityWatcher::StartWatcher] Could not find recent enough log file, waiting... (newest is 0.636.1.6360627_20240807T150512Z_Player_179DC_last.log)
2024-08-07T15:06:06Z [ActivityWatcher::StartWatcher] Could not find recent enough log file, waiting... (newest is 0.636.1.6360627_20240807T150512Z_Player_179DC_last.log)
2024-08-07T15:06:07Z [ActivityWatcher::StartWatcher] Opened %UserProfile%\AppData\Local\Roblox\logs\0.636.1.6360627_20240807T150606Z_Player_01969_last.log
2024-08-07T15:06:08Z [ActivityWatcher::ExamineLogEntry] Read 50 log entries
2024-08-07T15:06:12Z [ActivityWatcher::ExamineLogEntry] Read 100 log entries
2024-08-07T15:06:12Z [ActivityWatcher::ExamineLogEntry] Joining Game<PHONE_NUMBER>3/cd97ab5c-0099-4a4d-80fd-ccbaabfb652c/<IP_ADDRESS>)
2024-08-07T15:06:12Z [ActivityWatcher::ExamineLogEntry] Server is UDMUX protected<PHONE_NUMBER>3/cd97ab5c-0099-4a4d-80fd-ccbaabfb652c/<IP_ADDRESS>)
2024-08-07T15:06:14Z [ActivityWatcher::ExamineLogEntry] Joined Game<PHONE_NUMBER>3/cd97ab5c-0099-4a4d-80fd-ccbaabfb652c/<IP_ADDRESS>)
2024-08-07T15:06:14Z [DiscordRichPresence::SetCurrentGame] Setting presence for Place ID<PHONE_NUMBER>3
2024-08-07T15:06:14Z [HttpClientLoggingHandler::ProcessRequest] GET https://apis.roblox.com/universes/v1/places/10449761463/universe
2024-08-07T15:06:14Z [HttpClientLoggingHandler::ProcessRequest] GET https://ipinfo.io/<IP_ADDRESS>/json
2024-08-07T15:06:15Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://apis.roblox.com/universes/v1/places/10449761463/universe
2024-08-07T15:06:15Z [DiscordRichPresence::SetCurrentGame] Got Universe ID as<PHONE_NUMBER>
2024-08-07T15:06:15Z [HttpClientLoggingHandler::ProcessRequest] GET https://games.roblox.com/v1/games?universeIds=3808081382
2024-08-07T15:06:16Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://games.roblox.com/v1/games?universeIds=3808081382
2024-08-07T15:06:16Z [DiscordRichPresence::SetCurrentGame] Got Universe details
2024-08-07T15:06:16Z [HttpClientLoggingHandler::ProcessRequest] GET https://thumbnails.roblox.com/v1/games/icons?universeIds=3808081382&returnPolicy=PlaceHolder&size=512x512&format=Png&isCircular=false
2024-08-07T15:06:16Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://thumbnails.roblox.com/v1/games/icons?universeIds=3808081382&returnPolicy=PlaceHolder&size=512x512&format=Png&isCircular=false
2024-08-07T15:06:16Z [DiscordRichPresence::SetCurrentGame] Got Universe thumbnail as https://tr.rbxcdn.com/9b36fb6bcdcdac4b8d82739c6e39b244/512/512/Image/Png
2024-08-07T15:06:16Z [DiscordRichPresence::UpdatePresence] Updating presence
2024-08-07T15:06:16Z [ActivityWatcher::ExamineLogEntry] Read 150 log entries
2024-08-07T15:06:36Z [ActivityWatcher::GetServerLocation] Failed to get server location for <IP_ADDRESS>
2024-08-07T15:06:39Z [ActivityWatcher::GetServerLocation] System.Net.Http.HttpRequestException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (ipinfo.io:443)
---> System.Net.Sockets.SocketException (10060): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.g__WaitForConnectWithCancellation|277_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)    at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)    at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)    at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)    at Bloxstrap.Utility.Http.GetJson[T](String url)    at Bloxstrap.Integrations.ActivityWatcher.GetServerLocation() 2024-08-07T15:06:39Z [NotifyIconWrapper::ShowAlert.017f0d42] Showing alert for 10 seconds (clickHandler=True) 2024-08-07T15:06:39Z [NotifyIconWrapper::ShowAlert.017f0d42] Connected to private server: Located at ? (lookup failed) \nClick for more information 2024-08-07T15:06:43Z [HttpClientLoggingHandler::ProcessRequest] GET https://ipinfo.io/<IP_ADDRESS>/json 2024-08-07T15:06:49Z [NotifyIconWrapper::ShowAlert.017f0d42] Duration over, erasing current click handler 2024-08-07T15:07:04Z [ActivityWatcher::GetServerLocation] Failed to get server location for <IP_ADDRESS> 2024-08-07T15:07:04Z [ActivityWatcher::GetServerLocation] System.Net.Http.HttpRequestException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (ipinfo.io:443)  ---> System.Net.Sockets.SocketException (10060): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.    at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)    at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)    at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|277_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)    --- End of inner exception stack trace ---    at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)    at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
at Bloxstrap.Utility.Http.GetJson[T](String url)
at Bloxstrap.Integrations.ActivityWatcher.GetServerLocation()

@GitHubIdiotInTheWild We use https://ipinfo.io for server locations, which you seem to be unable to contact for some reason. Check that please

Closed due to inactivity from OP.


Update url.js

fix "url.URL is not a constructor" problem

I‘m so sorry.
Now I known this isn't run in browser.

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


[Fix] missing area by name discrepancy in global/country-specfic map

Summary
This is related to #535.

"Greenland" is not colored in global map.
"Inner Mongolia", "Tibet", "Hong Kong" and "Macau" are not colored in country-specific map.

Codes
import covsirphy as cs
loader = cs.DataLoader()
jhu_data = loader.jhu()
jhu_data.map()
jhu_data.map(country="China")

Outputs

Environment

CovsirPhy version: 2.17.0-eta
Python version: 3.9.2
Installation: poetry
System: WSL (Ubuntu)

With #672,


Website not showing signed CLA agreements.

Trying to browse my signed CLA agreements. I've signed at least one or two, but nothing is showing here: https://cla-assistant.io/my-cla

i have the same issue

Did you login at https://cla-assistant.io/ first and then go to that link?

Encountering the same issue here, Signed CLAs page is a blank list.
Replicated it so far on:

Firefox Developer Build (Daily Driver, Privacy extensions enabled and disabled)
Thorium (Stock, no extensions)
Chrome (Stock, no extensions)
Thorium (Stock, no extensions)
All browsers are kept updated to the latest release.

Same issue, please take a look at my conversations with the open source project maintainers: https://github.com/bufbuild/protobuf-es/pull/1001#issuecomment-2447373950


escaped_transform should allow handling an escape_char at the end of the input

Prerequisites

Rust version : 1.40.0
nom version : 5.1.0
nom compilation features used: default

Test case
Based on the IRCv3 message tags spec they add an exception for an escape character at the end of the string:
If a lone \ exists at the end of an escaped value (with no escape character following it), then there SHOULD be no output character. For example, the escaped value test\ should unescape to test. If a \ exists with no valid escape character (for example, \b), then the invalid backslash SHOULD be dropped. For example, \b should unescape to just b.

Please provide a short, complete (with crate import, etc) test case for
the issue, showing clearly the expected and obtained results.
Example test case:
use nom::{
    bytes::complete::{escaped_transform, is_not, take},
    character::complete::char,
    combinator::opt,
    IResult,
};

fn parse_escaped_char(input: &str) -> IResult<&str, &str> {
    let (input, escaped_char) = opt(take(1usize))(input)?;
    Ok((
        input,
        if let Some(escaped_char) = escaped_char {
            match escaped_char {
                ":" => ";",
                "s" => " ",
                "\\" => "\\",
                "r" => "\r",
                "n" => "\n",

                // Fallback should just drop the escaping.
                _ => escaped_char,
            }
        } else {
            // At the end of the string just drop the escape character.
            ""
        },
    ))
}

fn parse_tag_value(input: &str) -> IResult<&str, String> {
    let (input, _) = char('=')(input)?;
    escaped_transform(is_not("\0\r\n=;\\ "), '\\', parse_escaped_char)(input)
}

fn main() {
    let input = "=test\\";
    let res = "test".to_string();
    assert_eq!(parse_tag_value(input), Ok((&""[..], res))); // Err(Error(("\\", EscapedTransform)))
}

It's impossible to handle this use case with escaped_transform because parse_escaped_char never gets called in this instance.

escaped_transform (and a lot of other functions) are helpers that are general enough for most cases, but they cannot focus on the specific cases of some languages. So here you should take the code of escaped_transform and adapt it to your needs


[PORT 3152][Botskills] Get the LU filename using basename

Port 3152
Purpose
What is the context of this pull request? Why is it being done?
The use of split('\\') is incompatible between OS, basename method returns the last portion of a path, similar to the Unix basename command ignoring the trailing directory separators.
Changes
Are there any changes that need to be called out as significant or particularly difficult to grasp? (Include illustrative screenshots for context if applicable.)

Change the split('\\') to basename in order to get the last portion of path

Tests
Is this covered by existing tests or new ones? If no, why not?
-
Feature Plan
Are there any remaining steps or dependencies before this issue can be fully resolved? If so, describe and link to any relevant pull requests or issues.
Checklist
General

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated the appropriate tests
[ ] I have updated related documentation

Merged in MS!


Editor crash if audio stops near the end

Godot version
v4.0.beta8.official (45cac42c0), v4.0.beta.custom_build (62a508276)
System information
Windows 11, Forward+, GeForce GTX 1660 (527.56)
Issue description
When you ~stop~ pause an audio file near the end, Godot crashes.

console output
Godot Engine v4.0.beta8.official.45cac42c0 - https://godotengine.org
Vulkan API 1.3.224 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 1660

ERROR: Condition "p_points.size() < 2" is true.
 at: canvas_item_add_multiline (servers/rendering/renderer_canvas_cull.cpp:1077)
WARNING: ran out of packets in stream
   at: _mix_frames_vorbis (modules/vorbis/audio_stream_ogg_vorbis.cpp:152)
ERROR: Condition "mixed < 0" is true. Returning: 0
 at: _mix_internal (modules/vorbis/audio_stream_ogg_vorbis.cpp:62)
ERROR: Index p_index = 13 is out of bounds (size() = 13).
 at: get (./core/templates/cowdata.h:155)

Steps to reproduce
https://user-images.githubusercontent.com/10379487/159160668-88ab07c0-b986-47b9-b0fd-20d3b16712d1.mp4
Minimal reproduction project
StopSoudCrashTest_G4.zip

There is no crash stack trace, I only see this printed:
WARNING: Burning negative samples doesn't make sense. Check seek algorithm.
     at: AudioStreamPlaybackOGGVorbis::seek (modules\vorbis\audio_stream_ogg_vorbis.cpp:257)
WARNING: ran out of packets in stream
     at: AudioStreamPlaybackOGGVorbis::_mix_frames_vorbis (modules\vorbis\audio_stream_ogg_vorbis.cpp:90)
ERROR: Index p_index = 11 is out of bounds (size() = 11).
   at: CowData<class Vector<class Vector<unsigned char> > >::get (C:\godot_source\core/templates/cowdata.h:163)

@KoBeWi I can reproduce the "WARNING: Burning negative samples doesn't make sense. Check seek algorithm." with deterministic code (audio_stream_player.play(9.29599952697754). Is that a bug?

If it doesn't involve user error (like wrong usage, corrupted file etc.) then it's a bug.

I get the same warnings, Linux / Vulkan / AMD 6600x.
It happens in my dynamic music system, where I seek on the next track to the position of the current playing one before cross-fading (Tween). There is no noticeable effects other than the warning being printed, the audio transitions smoothly and in sync. All tracks are of exactly equal length when exported, but I can't be sure that there aren't discrepancies anyway in how the audio is handled.
var t = get_track(current_track)
var sp = t.get_playback_position()
var nt = get_track(next)

nt.play()
nt.seek(sp)
last_track = current_track

reset_tweens()
fade_tween_current.tween_property(tracks[current_track], "volume", -80.0, crossfade_time)
fade_tween_next.tween_property(tracks[next], "volume", 0.0, crossfade_time)
current_track = next

$StopTimer.start(crossfade_time)  # stop() on the last track on timeout

I can't reproduce this issue in 4.0 beta 13. Can you confirm that it's fixed?

Can't reproduce either. OGGs got new import dialog, so this could've fixed it.

Can reproduce it on v4.0.beta13.official [caacade56]:
https://user-images.githubusercontent.com/10379487/213658529-28f3e639-be53-48f6-bff9-3046a2bb18e8.mp4

Sorry for the false warning, this bug has indeed been fixed in master. Apparently, the fix didn't make it into beta13. From now on, I will try to check first on the latest dev builds.

The page_cursor error was indeed added with #71314 which would prevent the crash.
I couldn't reproduce the crash with 4.0 beta 13 when testing a dozen times, but today I managed to trigger it after another dozen attempts. So I'm not sure this one specifically is about the OGG file being corrupted (unlike #67446), so let's keep it open to investigate why these errors come up in a seemingly random way.

As @ellenhp mentioned here, the seek algorithm isn't sample accurate. The sample burning code is also wrong, which confirms some, if not all, errors

Can confirm on Godot 4.1.1 on Ubuntu 20.04
modules/vorbis/audio_stream_ogg_vorbis.cpp:332 - Burning negative samples doesn't make sense. Check seek algorithm.
modules/vorbis/audio_stream_ogg_vorbis.cpp:153 - ran out of packets in stream
modules/vorbis/audio_stream_ogg_vorbis.cpp:63 - Condition "mixed < 0" is true. Returning: 0
modules/ogg/ogg_packet_sequence.cpp:140 - Condition "page_cursor >= ogg_packet_sequence->page_data.size()" is true. Returning: false
modules/vorbis/audio_stream_ogg_vorbis.cpp:153 - ran out of packets in stream
modules/vorbis/audio_stream_ogg_vorbis.cpp:63 - Condition "mixed < 0" is true. Returning: 0
modules/ogg/ogg_packet_sequence.cpp:140 - Condition "page_cursor >= ogg_packet_sequence->page_data.size()" is true. Returning: false

Will be fixed, if PR https://github.com/godotengine/godot/pull/80452 is merged (tested it couple dozen times).


 : Adding NSObject Tests.

 : test

Current coverage is 42.93% (diff: 100%)

No coverage report found for master at e707c15.

Powered by Codecov. Last update e707c15...0873532

Hey @Khalian, let me know if you need any help! You can also always talk to us on Gitter


power: device: reduce space required to identify pm-capable devices

Use a smaller ordinal type than int to hold the global index identifying devices that support power management.
Use an upper bound instead of an array of flags to identify the devices that were successfully suspended.
Only attempt pm on devices that provide a non-default pm control function.
Use shorter more descriptive names for state variables.

@tbursztyka @vanti FYI since you've both touched this file in pending PRs.  It's initial work and in draft until I've got something to test it with.  The big win is in RAM, and in not wasting time attempting to configure devices that don't support PM (which might mean a device that does support PM doesn't fit in the bounded array).


firmware update error of D435

camera model : D435
firmware version : <IP_ADDRESS>
OS : ubuntu 18.04 LTS
I want to downgrade the firmware to 5.10.03. However, I installed DFU and followed the instructions, but I get the following error:
wireless@ubuntu:~/Downloads$ intel-realsense-dfu -b 001 -d 018 -f -i /Downloads/Signed_Image_UVC_5_10_3_.bin

Intel® RealSense™ DFU Tool v1.1.0-

Device busnum = 1
Device devnum = 18
FW file path = /Downloads/Signed_Image_UVC_5_10_3_.bin
Error: failed to open FW file, error = -2
!
Please help me solve it.

/Downloads doesn't look right, maybe ~/Downloads or ./Downloads or /user/yourusername/Downloads?
Also, you can try just doing it from the latest Viewer, option to burn specific firmware is under sensor "hamburger" icon (the three stacked lines)

thank you!!!
I solved it.


Using custom accessor throws PropType console error

Hi Patrick,
Cheers for this repo, it works well however it would be great if you could resolve the following issue. React tables (currently using v6) supports custom accessors which are functions, see the documentation:
https://www.npmjs.com/package/react-table-v6#example
Unfortunately your code base assumes accessors will always be strings when setting propTypes and therefore throws a propType console error when custom ones are used. Please change your propTypes account for react table's core functionality.
Here's what you have for line 534 of index.js
/** array of column accessors to allow drag and drop */       draggable: PropTypes.arrayOf(PropTypes.string),
This fix does the trick:
draggable: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.func])),
It does appear that the rest of your code base incidentally supports customs accessors so i don't forsee any additional changes

Hi @while-rising-ltd, can you please provide some example code?
You are allowed to use a custom accessor as long as you have an id string value defined on the column.
You would use the id string value in the draggable prop array.

Nice one @patricktran,
That works great. Do you mind updating your documentation to specify that you can do that?
Here would be cool: https://www.npmjs.com/package/react-table-hoc-draggable-columns#draggablecolumns-prop
Thanks

Updated on the github repo documentation here:  https://github.com/patricktran/react-table-hoc-draggable-columns
I did not update on NPMJS because it will require me to publish a new version... I do not want to do this since there are no code changes.  Rest assured, the next release will push the updated documentation to NPMJS


[OSD-18058] Fix a reported bug

What type of PR is this?
bug
What this PR does / Why we need it?
Bug fixing for the elevate command: https://issues.redhat.com/browse/OSD-18058

Codecov Report

Merging #229 (a667052) into main (9a80b11) will increase coverage by 0.05%.
The diff coverage is 100.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #229      +/-   ##
==========================================
+ Coverage   51.71%   51.77%   +0.05%
==========================================
  Files          51       51
  Lines        3440     3440
==========================================
+ Hits         1779     1781       +2
+ Misses       1367     1366       -1
+ Partials      294      293       -1

Files
Coverage Δ

pkg/elevate/elevate.go
86.95% <100.00%> (+4.34%)
:arrow_up:

/lgtm

/approved

/lgtm

/approve

/approve


routing: lookup host without port

Move from exact match for routing table host lookup to a domain-only match, ignoring ports.
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)
[x] Changelog has been updated and is aligned with our changelog requirements
[x] Any necessary documentation is added, such as:

README.md
The docs/ directory
The docs repo

Fixes #608

@JorTurFer @tomkerkhove, would you be able to approve workflow runs for this PR?

Approved the CI, I'll review this PR during the day!
Thanks! ❤

I think Validate / validate - arm64 (pull_request) is flaky. I've seen PRs that only contained doc changes and this test failed anyway. It's also failing on the master branch right now (https://github.com/kedacore/http-add-on/actions/runs/4236150711/jobs/7360624850).

Re-running


Download Error 522

URL
https://download.qgis.org//downloads/QGIS-OSGeo4W-3.34.12-1.msi
Type(s) of Problems
Other
Summary
I am trying to install the CGIS application but when I click on install I get error 522. I've been trying to download it all day. I don't know what I can do so that I don't get the error.

Same issue on my desktop PC

Same issue. Hope you can solve it soon


Older uglify doesn't support ES6

I'm working on a "legacy" stack that uses Webpack v1.x.x (currently 1.13.3), and the version of uglify I'm using doesn't support e6.
I noticed that the index.js file uses an arrow function to assign the module.exports.
Would you accept a PR to ES5ify this, so my webpack doesn't explode with this error:
ERROR in bundle.{hash}.js from UglifyJs
SyntaxError: Unexpected token: operator (>) [./~/mimic-fn/index.js:2,0]

I would be happy to submit one.

We aim for Node.js, not the browser. You can find a more detailed explanation here https://github.com/sindresorhus/ama/issues/446.
If you use Webpack, check out babel-engine-plugin, which transpiles only the dependencies that needs to be transpiled.


SB-23781, SB-23506: Upgrade CKEditor; include ImageResize, SpecialCharacters plugins

@pallakartheekreddy

@bharatkashyap We have upgraded CKEditor to the latest version & published a custom build. We pushed these changes in release-3.9 & deployed them in DEV. This PR not needed. Please close.


Solved the web crash bug

This was crashing on the web because Platform.isIOS is not available there.


Encoding doesn't appear to be correct on Windows

When using rl.question() on Windows, the response comes back containing "?" symbols for unicode characters such as the "£" symbol.
Exactly the same as this issue on Stack Overflow here:
https://stackoverflow.com/questions/35027672/readline-sync-doesnt-use-right-encoding-on-windows

Hi @BobbitTheDog, thank you for your comment.
That seems a problem of the Windows CMD.
These may help you:
https://github.com/anseki/readline-sync/issues?q=is%3Aissue+encoding

Interesting, I tried it in Windows CMD, Got Bash, and VSCode's terminal - I also set chcp 65001, but it still didn't work.
I'll see if any of those other answers help, thanks.

If you wrote the characters with hard coding, the file has to be saved with utf8 encoding for chcp 65001.

No reply came, then I close this abandoned issue.


Flushing STDOUT in nopython mode

Feature request
I put some print()s into my nopython mode code, so that I can tell how quickly it's progressing. However, I've found that it tends to run without printing and then print all the output at the end, presumably because STDOUT is not being flushed.
It seems that neither print(flush=True) nor sys.stdout.flush() is supported in nopython mode, so, assuming I am right about flushing being the issue, I would like to request an option to flush it.
(Note: I can't actually get this behaviour to happen in a minimal example, but it does happen in my real code. If I manage to construct an example where it happens, I'll post it here.)

Relevant StackOverflow question: https://stackoverflow.com/q/44185670/5085211

Same here! I'm trying to diagnose an out-of-memory error and am unable to tell if certain print statements get executed since the buffer is not flushed before my program crashes.


problem with rdpsnd channel plugin

Hello guys! Thanks for your great work on FreeRDP!
We have a strange sound redirection problems with FreeRDP. Here's what we get:

FreeRDP 0.8.2 version works perfectly with Windows 2003 server.
With Windows Server 2008 R2 sound cracks all the time and gets really choppy.
(NO sound quality switches observed).

With all older versions of FreeRDP
On windows 2003 server sound is very choppy and sound quality switches from HIGH to LOW all the time.
On windows 2008 R2 sound is still choppy, but much better than on 2003. One could live with that, but
sound quality also switches in random order! From HIGH to LOW and then back.

Any suggestions for that?

Fix: https://github.com/ivan-83/FreeRDP/commit/8d5825ee007a7889992d5a01e482d1589dd6a7ee
or use: /sound:sys:alsa,format:1,quality:high


关于相同种子下多次运行结果不一致的问题

作者你好，我最近按照readme里面的流程跑了这个项目，我也看到论文中说结果是五个种子的平均结果，但是我在重复对同一个数据集在完全同样的参数设置（包括随机种子）下跑出来的结果是不一样的，上下有1左右的浮动，我对allennlp了解的不是很多，所以想请教一下你是否思考过原因。

Hi, there is some randomness that cannot be removed as some modules in AllenNLP are non-deterministic. For example, I tried torch.use_deterministic_algorithms() but this causes an error as some operations cannot be fully deterministic. Due to time constraint, I did not explore deeply in this area, but the experimental result variation should be acceptable when considering the size of the dataset.


discreapancy in yolo-tiny config

in yolox readme, its says 416 as the input size for yolo-tiny: https://github.com/open-mmlab/mmdetection/tree/master/configs/yolox#results-and-models
but in yolo-tiny config file, training input size is 640: https://github.com/open-mmlab/mmdetection/blob/master/configs/yolox/yolox_tiny_8x8_300e_coco.py#L10
is this normal or should it 416 in the config file?

It looks abnormal but it may be suitable to reproduce the setting of YOLOX 0.1.1pre.
The official YOLOX repo added input_scale = (416, 416) to the yolox_tiny config on 23 Aug 2021.
https://github.com/Megvii-BaseDetection/YOLOX/commit/15e87259399a0f6900d0c065a9aaae18fe83a771#diff-a2d14f9117d036411b1995d2a94aac3b8befd62b41bd8368c6d101d781491bed
The latest official weights (0.1.1pre) on 19 Aug 2021 probably were trained before the fix.
https://github.com/Megvii-BaseDetection/YOLOX/blob/main/docs/model_zoo.md
https://github.com/Megvii-BaseDetection/YOLOX/releases
It is worth adding another config and checking the results.

@fcakyon This is Normal.

@hhaAndroid which one is the correct input size for yolo-tiny then? 416 or 640?

640 for training and 416 for testing

Currently 416 for training and 416 for testing in original repo. (https://github.com/Megvii-BaseDetection/YOLOX/blob/de064993d9c105f0eecce405f1e13a45947a8e00/exps/default/yolox_tiny.py#L15-L18)
Does the difference have any effect on accuracy or training cost?

Currently 416 for training and 416 for testing in original repo. (https://github.com/Megvii-BaseDetection/YOLOX/blob/de064993d9c105f0eecce405f1e13a45947a8e00/exps/default/yolox_tiny.py#L15-L18) Does the difference have any effect on accuracy or training cost?

Oh, maybe they updated again recently


Add support for Wav2Vec2

What does this PR do?

This PR adds optimized support for Wav2Vec2 for the following tasks:

audio classification :heavy_check_mark:
speech recognition :x:

Multi-card regression tests have been added for each task and the documentation has been updated.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Playlist cancel

Did you test this? Please test it heavily, try with all kinds of playlists - scpl, lopl, pl, try queuing normal songs afterwards, try canceling multiple playlists in a row. When i wake up I'll merge this


Patch etcd to fix CVE-2022-34038

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[X] The toolchain has been rebuilt successfully (or no changes were made to it)
[X] The toolchain/worker package manifests are up-to-date
[X] Any updated packages successfully build (or no packages were changed)
[X] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[X] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[X] All package sources are available
[X] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[X] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[X] All source files have up-to-date hashes in the *.signatures.json files
[X] sudo make go-tidy-all and sudo make go-test-coverage pass
[X] Documentation has been updated to match any changes to the build system
[X] Ready to merge

Summary

Patch etcd versions 3.5.4, 3.5.5 and 3.5.6 for CVE-2022-34038
Change Log

Patch etcd

Does this affect the toolchain?

NO
Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-2022-34038

Test Methodology

Pipeline build id: 418368

@BettyRain This CVE has been disputed by NIST.
https://nvd.nist.gov/vuln/detail/CVE-2022-34038


environment vars & cli options to specify dotfiles

In a fashion similar to tsc --project and tslint --project which allow to specify which (and where) your project configuration file to be used, it would be nice (and useful) to be able to define on the command line different clasp configuration.
Expected Behavior
clasp push --project dev.json
clasp push --project prod.json
Actual Behavior
(some kludgy workaround with additional folders and intricate path references)
Steps to Reproduce the Problem

Specifications

Node version (node -v): 10
Version (clasp -v): latest
OS (Mac/Linux/Windows): Mac (latest)

Why can't we:
clasp setting scriptId id1;
clasp push;
clasp setting scriptId id2;
clasp push;

?
What would dev.json include?

@grant I have started implementing the following design:

overide path and name for .clasp.json, .claspignore, .clasprc.json & appsscript.json by precedence:

commander options (-P, --project, -I, --ignore, -A, --auth -M, --manifest`)
environment variables (clasp_config_project, clasp_config_ignore, clasp_config_auth & clasp_config_manifest)
current implementation

Handling scriptIds directly on the command line is clumsy IMHO. And about half a dozen issues are likely to be addressed with cli option/environment vars overrides.
I am also considering an "extended" .clasp.json interface which would allow to hold it all in one file. I haven't yet fully thought it over, but it could look something like the following:
{
  // "legacy" properties
  "scriptId": "scriptId",
  "rootDir": "rootDir",
  "projectId": "projectId",
  "fileExtension": "fileExtension",
  "filePushOrder": "filePushOrder",
  // "extended properties
  "env": {
    // same "legacy" properties
    "claspIgnore": "pathAndNameToClaspIgnore",
    "clasprc": "pathAndNameToClaspRc",
    "manifest": "pathAndNameToAppsScriptJson",
  }
}

There you could do commands like clasp <cmd> --env <env>

@grant
The goal of this feature request is to enable the user in specifying which/where the following configuration files to be used by Clasp:

.clasp.json
.claspignore
.clasprc.json (local auth)

This sould be possible through:

environment variables:

clasp_config_project
clasp_config_ignore
clasp_config_auth

cli options:

-P, --project <file>
-I, --ignore <file>
-A, --auth <file>

The rules to resolve a config file path would be by priority order:

if defined via cli option, use this value
if defined via environment variable, use this value
use default/current behaviour

@grant comments? thoughts?

I can’t really support feature that don’t have at least 10 users or solves a key use case.
I would maybe fork clasp if you really can’t use bash commands to do this and want to add it to the CLI.

I can use command line or use my own fork even. The proposed change would potentially address #12 #483 #524 #12 #42 I think, but at that point i’ll Wait for mote traction/support.

I want to "git" my gas project, but I need to add some hardcode id´s (google sheet) to the git repository, it would be great to have environment variables inside .clasp.json to avoid the versioning of this id´s

A design/PR that only included the following would be fine:

CLASP_PROJECT
CLASP_IGNORE

no flags, ignore file would be in the project. Be sure to document the variables.

@chechedotmx would environment variables to specify .clasp.json & .clasprc.json address your need?

@grant why no flags (cli options)? You're spoiling all the fun!

Want to start simple. Also flags may conflict with existing command flags.

@grant I already did the full PR, so limiting to only .clasp.json and .clasprc.json should not be problem. Even dishing out the cli options (which do not conflict)
I only need @chechedotmx approval to start.

Sounds good @PopGoesTheWza


"Platform not available" results in a 500 Internal Server Error

It ought to be something else, so it can be treated specially in the client.

Could you provide steps to recreate?

Pretty much everything used to result in an HTTP 500 response. This was fixed -- #549 -- broken in the gitsync rewrite #621 -- and fixed again in #705.


Make the library modular

I can imagine cutting the yatspec specific bits out and having e.g. fluent-bdd as the library name with a fluent-bdd-yatspec module and maybe more such as fluent-bdd-assertj and fluent-bdd-mockito

Implemented. README.md will be updated shortly with the changes.


fakeWorkerFilesLoadedCapability promise is resolved too early

hi! as i mentioned in a comment, i'm working in a node.js application that works with pdf files, i'm using the pdfjs parser (getDocument method) to get page count from pdf.
i have noticed that the fakeWorkerFilesLoadedCapability promise is resolved too early, causing my node.js app never respond..
showcase:

as you can see, in my first test my app never respond (timeout is reached), but in my second test if i resolve the fakeWorkerFilesLoadedCapability promise in the next tick (with setTimeout) everything works normally.
to make pdf.js work in node.js i am using this code with latest<EMAIL_ADDRESS>// from https://github.com/mozilla/pdf.js/blob/master/examples/node/getinfo.js
var DOMParserMock = require('./domparsermock.js').DOMParserMock;

// HACK few hacks to let PDF.js be loaded not as a module in global space.
global.window = global;
global.navigator = { userAgent: 'node' };

global.PDFJS = {
  workerSrc: true // value to make it work inside iron-node and electron
};

global.DOMParser = DOMParserMock;

require('pdfjs-dist/build/pdf.combined.js');

module.exports = function parsePDF(pdfBuf, cb) {
  var pdfData;

  try {
    pdfData = new Uint8Array(pdfBuf);

    global.PDFJS.getDocument(pdfData).then(function(doc) {
      cb(null, doc);
    }).catch(function(err) {
      cb(err);
    });
  } catch (uncaughtErr) {
    cb(uncaughtErr);
  }
};

i'm using node.js 0.10.41 on iisnode, but executing pdf.js from electron (a weird combination, i know..).
strangely, pdf.js works normally in a normal node.js app (without iisnode or electron), but if i put my app on iisnode the fakeWorkerFilesLoadedCapability never gets resolved

I don't this it's related to the commit you commented on -- you are wrapping different line in your movie.
Since it works fine in the node.js, I would assume it's a problem with your environment. Right Promise resolution shall let you bind then latter in the calling code. Looks like there is a defect in Promise implementation you are using then.

you're right the problem is not related to the commit i have commented, but it is related to set up of the fake worker.
the part that interacts with PDF.js lies in electron, which ships with node.js v4.x.x. and its Promise implementation.
i will test with node v4 to see if this problem occur..

i'm closing this because it works on node.js 4, i will check if there is some dependency in my app that override the Promise object. thanks anyway


scRNA data only

Hi,
I would like to know if I can use pando for just  scRNA data?

Hi @dimurali93, unfortunately this is currently not possible, as Pando is built for joint RNA and ATAC data. If you only have RNA data I would recommend to use e.g. SCENIC for GRN inference


Update python_checks.yml

This is a minor pull request meant to prevent some of the more annoying and unnecessary flake8 messages from popping up.

nice, if we're ignoring them, we should hide them so we don't learn to ignore the more important ones


CI for Node

Refer https://github.com/CyberCitizen01/github-actions-for-ci/issues/1#issue-1232756635

Contains the compiled JavaScript
Initializes with two players
Starts the game with a random player
Sets the current player to be whoever it is not


Mongo atlas

@viktoryathegreat have reviewed, please have a look and correct comments (testing slack integration).

Another comment to test slack integration

test comment


Change default font

Hi,
Provide an option to set a new font, please. Persian characters don't seem right in Arial, Tahoma, and etc.

feel free to open a PR for this if you have time and I'll be happy to take a look :)


Add tests for AWS SSM credentials backend

The contents of these tests are copied over from credhub tests. The tests
only require GetParameter access to /concourse-topgun/main/* namespace
in SSM parameter store. I recommend concourse team to create a separate
AWS account and create a user with limited scope so these tests can be
executed by anyone.
This PR is linked with https://github.com/concourse/atc/pull/229

Hmm, I'm having some trouble figuring out how to run this.
I've gotten as far as setting up SSM and setting up an IAM account for a read-only user with access only to those parameters (I think - not sure if the policy is correct):
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "ssm:GetParameter",
            "Resource": "arn:aws:ssm:::parameter//concourse-topgun/*"
        }
    ]
}

However I'm not sure how to acquire a session token in order to run these. From cursory Googling, it looks like these are temporary tokens provided by AWS STS, which makes me worried that we won't be able to configure this statically in our GCP account that runs the tests.
How do I AWS???

Eyyyyyy!

Here's what I did:
diff --git a/aws_ssm_test.go b/aws_ssm_test.go
index a1afd5f..c0705ff 100644
--- a/aws_ssm_test.go
+++ b/aws_ssm_test.go
@@ -6,9 +6,9 @@ import (
 	"os/exec"

 	"github.com/aws/aws-sdk-go/aws"
-	"github.com/aws/aws-sdk-go/aws/credentials"
 	"github.com/aws/aws-sdk-go/aws/session"
 	"github.com/aws/aws-sdk-go/service/ssm"
+	"github.com/aws/aws-sdk-go/service/sts"

 	. "github.com/onsi/ginkgo"
 	. "github.com/onsi/gomega"
@@ -52,19 +52,22 @@ var _ = Describe("AWS SSM", func() {
 	}

 	var awsRegion string
-	var awsCreds credentials.Value
+	var awsCreds *sts.Credentials

 	BeforeEach(func() {
 		awsSession, err := session.NewSession()
 		if err != nil {
 			Skip("Can not create AWS session")
 		}
-		ssmApi := ssm.New(awsSession)
-		awsRegion = *ssmApi.Config.Region
-		awsCreds, err = ssmApi.Config.Credentials.Get()
-		if err != nil {
-			Skip("Can not retrive AWS credentials")
-		}
+
+		stsApi := sts.New(awsSession)
+
+		token, err := stsApi.GetSessionToken(nil)
+		Expect(err).ToNot(HaveOccurred())
+
+		awsRegion = *stsApi.Config.Region
+		awsCreds = token.Credentials
+
 		// Verify that all secret values are present in SSM parameter store
 		var secrets = map[string]string{
 			"/concourse-topgun/main/pipeline-ssm-test/resource_type_repository":  "concourse/time-resource",
@@ -80,6 +83,9 @@ var _ = Describe("AWS SSM", func() {
 		for n := range secrets {
 			names = append(names, aws.String(n))
 		}
+
+		ssmApi := ssm.New(awsSession)
+
 		result, err := ssmApi.GetParameters(&ssm.GetParametersInput{Names: names, WithDecryption: aws.Bool(true)})
 		Expect(err).To(BeNil())
 		Expect(result.InvalidParameters).To(BeEmpty())
@@ -97,9 +103,9 @@ var _ = Describe("AWS SSM", func() {
 				"deployments/concourse.yml",
 				"-o", "operations/configure-ssm.yml",
 				"-v", "aws_region="+awsRegion,
-				"-v", "aws_access_key="+awsCreds.AccessKeyID,
-				"-v", "aws_secret_key="+awsCreds.SecretAccessKey,
-				"-v", "aws_session_token="+awsCreds.SessionToken,
+				"-v", "aws_access_key="+*awsCreds.AccessKeyId,
+				"-v", "aws_secret_key="+*awsCreds.SecretAccessKey,
+				"-v", "aws_session_token="+*awsCreds.SessionToken,
 			)
 		})
 		Context("with a pipeline build", func() {

Does that look reasonable?

Tweaked it a bit more to support explicit configuration.
Here are my changes: https://github.com/DolbyLaboratories/topgun/compare/ssm-secrets...concourse:DolbyLaboratories-ssm-secrets

Session token should not be a required argument. I am updating my PR for atc with this change. Since I always use assume-role in my dev environment, I thought that session token is mandatory.
For anyone else who wants to set up a user, here are the steps to follow:

Configure AWS cli with a admin/power user
Get account id by executing aws sts get-caller-identity --output text --query 'Account'
Create a document topgun-tester-policy.json with following content replacing <region> & <account-id> with appropriate values:{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": [
                "ssm:GetParametersByPath",
                "ssm:GetParameters",
                "ssm:GetParameter"
            ],
            "Resource": "arn:aws:ssm:<region>:<account-id>:parameter/concourse-topgun/*"
        }
    ]
}

Create a user: aws iam create-user --user-name topgun-tester
Create keys for this user: aws iam create-access-key --user-name topgun-tester and note the AccessKeyId and SecretAccessKey values in the response
Create policy to access parameters: aws iam create-policy --policy-name topgun-tester-secrets --policy-document "file://$PWD/topgun-tester-policy.json"
Attach the policy to user: aws iam attach-user-policy --user-name topgun-tester --policy-arn  "arn:aws:iam::<account-id>:policy/topgun-tester-secrets" You should copy the ARN from response in previous step (or just substitute <account-id>).
Export AWS_REGION, AWS_ACCESS_KEY_ID & AWS_SECRET_ACCESS_KEY with values from step 5.
Execute dev/vbox/topgunto great success :)


[CWS] TestProcessContext/tty switch to slow cat

What does this PR do?
TestProcessContext/tty was using a very complex way of ensuring a tty is attached to the process opening the file, and that the process is not too short-lived. This PR simplifies the whole process by using slow-cat in syscall tester that opens the file, sleeps and then close the file. This allows the script process to terminates on its own, which was an issue in centos 7 tests.
Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Use data manager for startup status check

Use the table and instance data managers to check whether or not an
instance is done starting instead of checking the external view.

Codecov Report

Merging #1064 into master will decrease coverage by -9.94%.
The diff coverage is 14.54%.

@@            Coverage Diff             @@
##           master    #1064      +/-   ##
==========================================
- Coverage   66.85%   56.91%   -9.94%
==========================================
  Files         741      861     +120
  Lines       35344    42253    +6909
  Branches     4489     5405     +916
==========================================
+ Hits        23628    24048     +420
- Misses      10158    16620    +6462
- Partials     1558     1585      +27

Impacted Files
Coverage Δ

.../linkedin/pinot/server/starter/ServerInstance.java
80.35% <ø> (ø)
:white_check_mark:

...pinot/server/starter/helix/HelixServerStarter.java
79.79% <ø> (ø)
:white_check_mark:

...m/linkedin/pinot/server/starter/ServerBuilder.java
63.79% <100%> (ø)
:white_check_mark:

...ver/starter/helix/ServerServiceStatusCallback.java
12.96% <12.96%> (ø)

...not/common/segment/fetcher/HttpSegmentFetcher.java
28.57% <ø> (-19.05%)
:x:

...com/linkedin/pinot/transport/common/SegmentId.java
34.78% <ø> (-8.7%)
:x:

...m/linkedin/pinot/common/utils/FileUploadUtils.java
45.58% <ø> (-8.09%)
:x:

.../linkedin/pinot/transport/common/SegmentIdSet.java
53.84% <ø> (-5.13%)
:x:

.../pinot/core/realtime/impl/RealtimeSegmentImpl.java
70.39% <ø> (-4.94%)
:x:

...filter/SortedInvertedIndexBasedFilterOperator.java
78.37% <ø> (-1.36%)
:x:

... and 145 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3fbe684...eb65d65. Read the comment docs.


Consume item manually

There is such a problem, if you press the buy button and immediately close the application, then the purchase will not be delivered, and when you return to the application, you will be informed that you already have this content. Hence, we need to manually consume the purchase, for this we need two getOwnedPurchases () methods
and consumerPurchase (String productId). So that you can manually find purchases to be consumed and deliver them to the user.
For example, a user started buying coins and exited the game, next time he will not be able to buy coins because the purchase was not consumed. We look at what our own purchases are, if there is a non consume purchase with a coin index, we need to consume it so that the user can buy it in the future.
gdxPayVersion = '1.3.1'
Please select the affected platforms and payment service implementation

[ ] Amazon
[x] googlebilling
[ ] googlepay
[ ] apple robovm
[ ] Huawei

What happens if you restore the purchases?

the purchase will be consumed and delivered even if the payment has not gone through

If I understand correctly, that is pretty much the opposite problem than described in the first issue post?

The problem is that I need a consumePurchase method, as it was in the old library, which unfortunately is no longer supported, my shopping system is built on the fact that I can completely control purchases and consume them manually.

Feel free to contribute what you need


a buffered client that sends multiple metrics in one UDP packet

Refactored the Client type to take a Sender as a parameter. The standard client uses a SimpleSender to generate one packet per metric. The buffered client uses a BufferedSender to buffer the metrics in memory and flush only on a time interval or when the buffer reaches a certain size.
This change is backward compatible, i.e., clients can upgrade without needing code change.

First off, thanks for the patch. :smiley:
I am not opposed to the idea presented, but your current implementation appears (at a quick glance -- been busy today) to not be safe for concurrent use.
In addition, the code appears to be appending a new metric first, and then calculating size and determining if it needs to send. This means it may be sending packets larger than the defined threshold. I think the proper order would be to calculate size of the new event, and if the buffer would grow beyond the defined threshold, perform the send first and only then add the event to a newly flushed (and emptied) buffer. It might also be slightly cleaner to use a bytes.Buffer instead of a slice of bytes, but maybe not.
If I get some time in the next day or two, I will pull this into a branch and iterate on the idea.

Ah. Looking more closely it does appear safe for concurrent use.

Yes, it's safe for concurrent use. You raised a good point on how to implement the bytes threshold. Will update.

Merged with some minor aesthetic cleanups. Thanks!


Show release notes action links to VSCode release notes

Issue Type: Bug

Run "Show Release Notes" action from command palette

Expected:

Azure Data Studio release notes are shown
Actual:
VSCode release notes for v1.6 are shown. These are from September 2016!

Azure Data Studio version: Azure Data Studio 1.6.0 (eb35dae1d1238e03f1cab3bd45e151f381b22aef, 2019-04-17T06:14:17.039Z)
OS version: Darwin x64 18.5.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz (12 x 2600)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
3, 2, 2

Memory (System)
16.00GB (0.02GB free)

Process Argv
-psn_0_6014396

Screen Reader
no

VM
0%

Extensions (2)

Extension
Author (truncated)
Version

azdata-sanddance
dan
0.2.290

azuredatastudio-postgresql
Mic
0.1.0

@kburtram , given #2386 mentions the command should work this seems like a regression

@kevcunnane yeah, we had this issue reported last month too and I thought it was fixed.  I verified the link working on a build at some point in the past few weeks, but apparently this isn't in the "Shell" release sign-off testing, and didn't get into the release build.
I'll add this issue to the April Hotfix milestone in case we do another release this month.  Otherwise, the fix will go out in May.

@kburtram You sure you aren't thinking of the Release Notes button on the update dialog? Because that's the one I fixed last week with #5008. I never did anything with the command though (didn't even know there was one) - although I haven't checked whether the command was working in previous releases or not.
Anyways I have a PR out to fix the command too #5108

@Charles-Gagnon thanks for clarifying.  I tested through the update notification button, which in my opinion is the more important scenario.  That link we pop-up in users' faces.  Whereas this command is only exposed through the command palette so is likely used much less frequently.


Quick Checkout landing page fixes

📝 Changed routes:

/checkout

(view full size)

Commit 6bbc48a9f32688ac6f0f926d4e1a496c4cffd6f8 (https://thirdweb-aryn0r4xk.thirdweb-preview.com).


How to get keys from Value

Hi,
I'm using your code and it works great for my scope.
I would like to ask you how would you proceed with the following:
When I use a Obj type I get the keys as follows:
val elem=Obj(
    "whatever"->"something",
    "type"->"any"
)
elem.value.map(a=>(a._1)).toList

How could I get the set of keys of the elem:Value?
val elem=ujson.read(r.text)

Thanks for any help.

please ask questions on the gitter channel


Common utility functions for data science projects

This is a handy decorator I use for caching the intermediate results of data processing pipelines. Does this kind of utility belong in cookiecutter-data-science? If so I'll make a PR, and regardless I'd be curious to see what other handy snippets people use.
https://github.com/noahstier/cookiecutter-data-science/blob/add_cache_util/{{ cookiecutter.repo_name }}/src/utils/decorators.py
'''
example: cache the result of an expensive data loading operation

Loading several gigabytes of video from hundreds of files is slow,
but reading that same data from a single pickle file is faster.
'''

import skvideo.io
import numpy as np

project_dir = '/home/project'
cache_dir = os.path.join(project_dir, 'data', 'cache')
videos_dir = os.path.join(project_dir, 'data', 'processed', 'videos')
video_extensions = {'.mp4', '.avi', '.mov'}

@cache(os.path.join(project_dir, 'data', 'cache'))
def load_videos(direc, grayscale=False):

    video_files = []
    for dirname, dirnames, filenames in os.path.walk(direc):
        video_files.extend([os.path.join(dirname, f) for f in filenames
                            if f in video_extensions])

    return np.array([skvideo.io.vread(f, as_grey=grayscale) for f in filenames])

# use the function with different arguments
videos = load_videos(videos_dir, grayscale=False, cache_file='trainmodel1')
videos = load_videos(videos_dir, grayscale=True, cache_file='trainmodel2')

# see all the cached result files for this function
videos.cache_files()

# delete all the cached result files for this functin
videos.clear_cache_files()

And I should add that the reasons for using this over functools.lru_cache are 1. that you can't pass numpy arrays to lru_cache and 2. lru_cache is in-memory only

Can you please elaborate what is your motibation todo caching and opposed to processing and atoring the results? Data size?

This is processing and storing the results, in pickle files.
It's a convenient way to store the result of any expensive processing operation. For example let's say you have a script that starts by computing optical flow on a bunch of videos. Adding one @cache line is enough to store the results without cluttering your code with all kinds of os.path calls, etc.

@noahstier I really like the example but I think we want to avoid anything that feels like domain-specific clutter. Judging by where we see people using this (even R users, to some extent), it makes sense to us to keep a strict separation of concerns between structure and contents.
That being said it would probably be a cool project to curate a repo of useful data science snippets - if you are interested in doing that we'd love to be kept updated.

This is great. I've been using functools.lru_cache but I had to limit the way I used it because it did not work for numpy arrays. Thanks for sharing.
To add to the discussion, why was I using caching?: I was using caching because I had a very large dataset split among multiple files. When running my notebooks I wanted to to load only a subset of the data, which would vary. In one cell I wanted 100K ellement, and in the next I wanted 150K, But loading everything would be impossible. So I made a generator that cached the data being streamed in. So when loading in 150K I would already have 100K in memory. So, all in all a very narrow use case. I think this project should be as minimal as possible. But I would be great to have a library of useful utility functions!


useQueryClient() doesn't work properly in react-native

Describe the bug
useQueryClient works just fine in browser. But when I use it in react-native project, it became not reactive to state change.
This bug might be caused by window object used in getQueryClientContext function. We can't use window in react-native.
function getQueryClientContext(contextSharing: boolean) {
  if (contextSharing && typeof window !== 'undefined') {
    if (!window.ReactQueryClientContext) {
      window.ReactQueryClientContext = defaultContext // Here
    }

    return window.ReactQueryClientContext // Here
  }

  return defaultContext
}

export const useQueryClient = () => {
  const queryClient = React.useContext(
    getQueryClientContext(React.useContext(QueryClientSharingContext))
  )

  if (!queryClient) {
    throw new Error('No QueryClient set, use QueryClientProvider to set one')
  }

  return queryClient
}

To Reproduce
Steps to reproduce the behavior:

Start any react-native project.
Use useQuery() hook.
Example:const exampleQuery = useQuery('example', someFunction);

Use useQueryClient() hook.
Example:const queryClient = useQueryClient();
const exampleQuery2 = queryClient.getQueryState('example');

See that exampleQuery2 is not reactive to state change

Expected behavior
useQueryClient hook is reactive to state change.
In example above, exampleQuery2 should be reactive.

contextSharing via the window has been turned off per default in 3.12.1, and there is also a check if window is not undefined.

See that exampleQuery2 is not reactive to state change

useQueryClient does not create a subscription to a query - only useQuery does that!

contextSharing via the window has been turned off per default in 3.12.1, and there is also a check if window is not undefined.

See that exampleQuery2 is not reactive to state change

useQueryClient does not create a subscription to a query - only useQuery does that!

https://codesandbox.io/s/react-query-example-bd2ho
👆 Check this simple example, I think it can subscribe the state of a query

Ah, sorry, my bad. 🙏🙏
The problem is not on the react-native nor useQueryClient hook.
useQueryClient became reactive because I call useQuery() in the parent component


fix(README): FIx the path to CONTRIBUTING.md

It seems like the location of language-server/CONTRIBUTING.md has changed before yet the path to that file in language-server/README.md is not changed. This PR fixes it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the PR!

Thanks for the PR!


NAR local configuration

Allows to run multiple NAR's with different parameters

Exception in thread "main" java.lang.NoSuchFieldError: decisionThreshold
at org.opennars.gui.NARControls.newParameterPanel(NARControls.java:742)
at org.opennars.gui.NARControls.(NARControls.java:329)
at org.opennars.gui.NARSwing.(NARSwing.java:149)
at org.opennars.gui.NARSwing.(NARSwing.java:141)
at org.opennars.gui.NARSwing.main(NARSwing.java:196)

hm the build shouldn't pass

Why can't the parameters be part of Memory, why pass it as parameters in all these methods?

because it should be a part of nar

need to invest a few braincycles more at this

ok fixed the code issues


Logging cleanup

Creating an umbrella issue for log messages which are deemed by consensus to be at the wrong log level (e.g. at Debug when Trace would be more reasonable). Refer to this issue when creating PRs for logging adjustments.

Does this issue also include removing std outputs like this one from gatherCandidatesLocal() in agent.go? These are very unhelpful when using stdin and stdout for IPC.
could not listen udp fe80::2c36:8bff:fea6:ab50

Hi @gissleh!
Sure, I think so. We've been gradually replacing all of those with proper logging statements but I'm not surprised that a few got missed.

Other points that need investigating:

Logging is now global. This may lead to issues when using multiple instances of the library.
Logging is now limited to package webrtc. We should roll this out to the other ones.

After #535 lands we need to move all variants of fmt.Println over to pions/logging.


Adjust printf(...) statements to use inttypes types

This ensures that cross compilation to different architectures uses
the correct printf(...) format specifiers without causing issues.
Signed-off-by: Tim Nordell<EMAIL_ADDRESS>

Actually, I'll close this.  I didn't realize this was a duplicate of #4.


How can I stop and re-start the Docker service?

I was trying to change Docker storage drivers and see if it fixed an issue I had with my application, but when I tried to stop the service with sudo systemctl stop docker, I couldn't start it again (sudo systemctl start docker). I tracked the issue to the docker.socket unit, but couldn't debug further. This issue on Docker looks really similar: https://github.com/docker/docker/issues/25098. Can anyone reproduce this?

sudo systemctl stop docker and sudo systemctl start docker is the way, strange it did not work for you

I think this is the issue: https://github.com/docker/docker/blob/master/CHANGELOG.md#1123-2016-10-26

I do not see that as a big deal as usually I reboot VM for such needs.


Injecting AngularFireAuth  to component triggers ChangeDetection continuously

Version info
Angular: 5.2.0
Firebase: 4.12.1
AngularFire: 5.0.0-rc.6
Other (e.g. Ionic/Cordova, Node, browser, operating system): Windows 10, Google Chrome 65,npm: '5.6.0', node: '8.9.1'
How to reproduce these conditions

Inject AngularFireAuth into the AppComponent.
Create get method for a property. Log a message to console in the method.
Refer the property in the template using {{}}
View the application in chrome, observe console using developer tools

The log message in the get method is printed continuously as if in a loop. This behavior disappears if the constructor injection of AngularFireAuth is removed.
Failing test unit, Plunkr, or JSFiddle demonstrating the problem
https://embed.plnkr.co/S3cm7hpJImTtaTSa9Om0/
Steps to set up and reproduce
Create new Angular app. Add AngularFire2 and Firebase modules.
Sample data and security rules
None
None
Debug output
Please see attachment.
Expected behavior
The get method is called only once. The injected AngularFireAuth  does not trigger ChangeDetection in Angular.
Actual behavior
The log message in the get method is printed continuously as if in a loop due to ChangeDetection being triggered.
localhost-1522757258645.log

This is a known issue and a problem with Zone.js rather than Firebase Authentication. Firebase Auth has a setInterval that deals with token refreshing in older browsers. Zone.js incorrectly picks up on this and forces change detection each second. We unfortunately have to account for this, but we do have a fix in master: https://github.com/angular/angularfire2/pull/1454
We expect to do a nexttag release this week. When that is out I'll report back and you'll be able to give it a test.

Fixed in rc7


dapr init with podman not working on Windows 11

Expected Behavior
Dapr shoud initialize with container runtime as Podman instead of Docker
Actual Behavior
Dapr fails to initialize when running using container runtime as Podman
Steps to Reproduce the Problem
dapr init --container-runtime podman

I have Podman desktop running successfully and am able to pull and run images successfully for other containers

Probably related to #1090

also related to https://github.com/dapr/cli/issues/1180, https://github.com/dapr/docs/issues/3030

This works with the latest RC.
PS C:\Users\shubham1172> dapr init --container-runtime podman
Making the jump to hyperspace...
Container images will be pulled from Docker Hub
Installing runtime version 1.9.6
Downloading binaries and setting up components...
Downloaded binaries and completed components set up.
daprd binary has been installed to C:\Users\shubham1172\.dapr\bin.
dapr_placement container is running.
dapr_redis container is running.
dapr_zipkin container is running.
Use `podman ps` to check running containers.
Success! Dapr is up and running. To get started, go here: https://aka.ms/dapr-getting-started

PS C:\Users\shubham1172> podman ps
CONTAINER ID  IMAGE                               COMMAND       CREATED        STATUS                  PORTS
        NAMES
a15cec3d6a4e  docker.io/daprio/dapr:1.9.6                       4 minutes ago  Up 4 minutes            <IP_ADDRESS>:6050->50005/tcp  dapr_placement
6e270f3479bf  docker.io/openzipkin/zipkin:latest                4 minutes ago  Up 4 minutes (healthy)  <IP_ADDRESS>:9411->9411/tcp   dapr_zipkin
570e938c06ce  docker.io/library/redis:6           redis-server  4 minutes ago  Up 4 minutes            <IP_ADDRESS>:6379->6379/tcp   dapr_redis

Closing the issue, please reopen if you are still facing the problem.
FYI,
PS C:\Users\shubham1172> dapr --version
CLI version: 1.10.0-rc.3
Runtime version: 1.9.6

This works with the latest RC.
PS C:\Users\shubham1172> dapr init --container-runtime podman
Making the jump to hyperspace...
Container images will be pulled from Docker Hub
Installing runtime version 1.9.6
Downloading binaries and setting up components...
Downloaded binaries and completed components set up.
daprd binary has been installed to C:\Users\shubham1172\.dapr\bin.
dapr_placement container is running.
dapr_redis container is running.
dapr_zipkin container is running.
Use `podman ps` to check running containers.
Success! Dapr is up and running. To get started, go here: https://aka.ms/dapr-getting-started

PS C:\Users\shubham1172> podman ps
CONTAINER ID  IMAGE                               COMMAND       CREATED        STATUS                  PORTS
        NAMES
a15cec3d6a4e  docker.io/daprio/dapr:1.9.6                       4 minutes ago  Up 4 minutes            <IP_ADDRESS>:6050->50005/tcp  dapr_placement
6e270f3479bf  docker.io/openzipkin/zipkin:latest                4 minutes ago  Up 4 minutes (healthy)  <IP_ADDRESS>:9411->9411/tcp   dapr_zipkin
570e938c06ce  docker.io/library/redis:6           redis-server  4 minutes ago  Up 4 minutes            <IP_ADDRESS>:6379->6379/tcp   dapr_redis

Closing the issue, please reopen if you are still facing the problem.
FYI,
PS C:\Users\shubham1172> dapr --version
CLI version: 1.10.0-rc.3
Runtime version: 1.9.6

Thanks for fixing the issue. Will try it out with the next stable release.


Continued work on position unbiased ranking

This is to replace #4531.

@shiyu1994 it's been 8 months since the last commit on this PR. Are you interested in pursuing it still? If you think it's valuable but don't have time yourself to work on it, could you find someone else at Microsoft who might be able to help?

Updating my question from https://github.com/microsoft/LightGBM/pull/5393#issuecomment-1445218688.
@shiyu1994 it's now been almost a year since the last commit on this PR. Are you interested in pursuing it still? If you think it's valuable but don't have time yourself to work on it, could you find someone else at Microsoft who might be able to help? And how does it relate to #5929 ?
I'm trying to help but from the conversation in #5929, it feels to me like maybe you have a plan for learning-to-rank in LightGBM that's being discussed in private places and that I'm not aware of.

@jameslamb This PR and #5929 are two different approaches to support unbiased ranking. The underlying algorithms are different. We think the method in #5929 is better. So, we prioritize that PR.

Got it, ok thanks!
Could we add a link to this PR in the list of feature requests (#2302) and close it for now? Since it's not actively being worked on.

Got it, ok thanks!
Could we add a link to this PR in the list of feature requests (#2302) and close it for now? Since it's not actively being worked on.

Sure.


Centroid Analysis UI should have aggregation in a separated step

Perfect, but that design is the old one for centroids, isn't it?

Nope, the original design has been always like the one I attached.
El lun., 29 ago. 2016 a las 14:47, Javier Arce<EMAIL_ADDRESS>escribió:

Perfect, but that design is the old one for centroids, isn't it?
[image: screen shot 2016-08-29 at 14 45 54]
https://cloud.githubusercontent.com/assets/4933/18051862/60a3d2ae-6df7-11e6-8418-6c27567c6aef.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CartoDB/cartodb/issues/9589#issuecomment-243113976,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIENeV0Tpa9C-Mh1iXpEzNHZvNzJp1Tks5qktTegaJpZM4JvVLP
.

Oh, ok. I was confused with the operation field that appears in the image you uploaded. The reference uses not only the operation for the aggregation, but also the column name.


a little text about slack autojoin

Not sure how to run the app to test if it looks ok locally, but this seems like the place we need a little extra context on how to autojoin slack

talked on slack, should work, if it looks bad we fix forward


refactor(guided remediation): Take PreFetch out of DependencyClient  interface and prevent repeated datasource network calls

What I mentioned in https://github.com/google/osv-scanner/pull/1207#discussion_r1733737395
Make PreFetch a standalone function that takes in a client that uses every DependencyClient method call.
Since the underlying datasources tend to use the same request for multiple methods, I've made a requestCache type that uses the singleflight package to prevent the same requests being made multiple times.

Codecov Report
Attention: Patch coverage is 79.59184% with 30 lines in your changes missing coverage. Please review.

Project coverage is 66.13%. Comparing base (9dc3afa) to head (1b2d025).

Files with missing lines
Patch %
Lines

internal/resolution/client/client.go
85.45%
4 Missing and 4 partials :warning:

internal/resolution/datasource/maven_registry.go
68.42%
3 Missing and 3 partials :warning:

...rnal/resolution/datasource/maven_registry_cache.go
0.00%
4 Missing :warning:

...nternal/resolution/datasource/depsdev_api_cache.go
50.00%
3 Missing :warning:

...al/resolution/clienttest/mock_resolution_client.go
0.00%
2 Missing :warning:

internal/resolution/datasource/npm_registry.go
89.47%
1 Missing and 1 partial :warning:

...ternal/resolution/datasource/npm_registry_cache.go
0.00%
2 Missing :warning:

scripts/generate_mock_resolution_universe/main.go
0.00%
2 Missing :warning:

cmd/osv-scanner/fix/model.go
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1224      +/-   ##
==========================================
+ Coverage   65.22%   66.13%   +0.90%
==========================================
  Files         170      171       +1
  Lines       14434    11100    -3334
==========================================
- Hits         9415     7341    -2074
+ Misses       4501     3240    -1261
- Partials      518      519       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


HttpClient Dependency Telemetry Not Captured When Using Singleton

NuGet Packages

Microsoft.Azure.WebJobs.Logging.ApplicationInsights Version="3.0.35"

Note: I've also reproduced in a console app using just the packages:

Microsoft.ApplicationInsights" Version="2.22.0"

Microsoft.Extensions.Logging.ApplicationInsights" Version="2.22.0"

Runtime version: .NET 8.0

Hosting environment: Windows

Describe the bug
The DependencyTrackingTelemetryModule fails to automatically collect http client dependency telemetry when using long lived http client singletons as described in the .NET http client guidelines document
To Reproduce

Configure logging against the DI container.

appBuilder.Logging..AddApplicationInsightsWebJobs();

Create a singleton http client against the DI container as described in the .NET http client guidelines document.

Register it in the service collection.
appBuilder.Services.AddSingleton(httpClient)

Send a request using the http client singleton from the service collection.

Expected Behavior:
The http request dependency telemetry is automatically captured by the app insights library.
Actual Behavior:
The http request dependency telemetry is not captured.
Switching to using short lived http clients managed by an IHttpClientFactory does record the http requests dependency telemetry.

I have since dug through the source code in both the app insights DependencyTrackingTelemetryModule and the .NET DiagnosticsHandler responsible for emitting the diagnostic listener events that the depedency tracking listeners subscribe to. I'm unable to identify any differences.
Nor am I still able to reliable reproduce the problem when I tested again later today. Closing for now since I cannot reliably reproduce the issue myself.


brave: 1.41.100 -> 1.42.88

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for brave is: "Privacy-oriented browser for Desktop and Laptop computers"
meta.homepage for brave is: "https://brave.com/"
meta.changelog for brave is: "https://github.com/brave/brave-browser/blob/master/CHANGELOG_DESKTOP.md#14288"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.42.88 with grep in /nix/store/yjhxsykb52qkglzc0zwdg30bp4jg1k9a-brave-1.42.88
found 1.42.88 in filename of file in /nix/store/yjhxsykb52qkglzc0zwdg30bp4jg1k9a-brave-1.42.88

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
brave

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yjhxsykb52qkglzc0zwdg30bp4jg1k9a-brave-1.42.88 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A brave https://github.com/r-ryantm/nixpkgs/archive/ce940123eca2052148ba1ea7efcb338d29595186.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yjhxsykb52qkglzc0zwdg30bp4jg1k9a-brave-1.42.88
ls -la /nix/store/yjhxsykb52qkglzc0zwdg30bp4jg1k9a-brave-1.42.88/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

brave

Maintainer pings
cc @uskudnik @rht @JeffLabonte @nasirhm for testing.

Result of nixpkgs-review pr 186410 run on x86_64-linux 1

1 package built:

brave


Samples for swagger-js/#417: Separated files, yaml only for now

YAML only for now, to start the discussion. Once we have a base set of examples, I can generate JSON and update the spec with these samples.

@jasonh-n-austin - couple of thoughts before merging:

Since you refer to petstore-separate-common.yaml (for the ../... ref), maybe all should be moved into another level of a sub-directory.
Unfortunately, the YAML examples are not too good, and need to be modified. Would be great if you could fix it already in your generated example:

All model definitions should have type: object in them.
The composition sample is bad because the NewPet redefines the same property as adjacent Pet. You don't have to change this one, but it would be nice.

The tests are failing :) Can't merge it without a fix to those.

I was thinking a sub-dir was a better idea too.
I assumed this wasn't in mergeable state yet, wanted to get something started to give @fehguy some test data for swagger-js/#417.
Great feedback, I'll shape things up this afternoon.

@webron moved separate files into their own directory. For now, added exclusion to YAML section of validate.js to skip tests for schema files in petstore-separate...not really positive how to best run schema validator against those (notably because parameters.yaml is a swagger fragment, and the schema files are really JSON Schema). Now tests are at least validating that petstore-separate/spec/swagger.json

Will look at NewPet/Pet/oneOf fix now.

Ok, thanks.

@webron  Just pushed fixed example for petstore-expanded(.json&&.yaml). Now NewPet is the base(id only), extended by Pet.

Looks great, thanks! Could I just trouble you to add "type": "object" to Pet, NewPet and Error in the json variant?

@webron OK added type: object to existing JSON examples.
Also:

Generated JSON versions of petstore-separate
Test fixes for json/petstore-separate exclusions

Great, thanks for all the work.


Pls add support with Embeddium and Oculus on 1.20.1 forge

Minecraft Version
1.20.1
ModLoader
Forge
Shimmer version
Shimmer-Forge-1.20.1-0.4.2
Modpack info or mod list(please reduce mod range)
Shimmer-Forge-1.20.1-0.4.2 embeddium-0.3.31+mc1.20.1 oculus-mc1.20.1-1.7.0
The latest.log file and hs_err_pidXXX if exists
https://gist.github.com/McInteractive23/af56a86675b8b75fbe54bdc028c26a4e
optifine , Rubidium , flywheel or any rendering related mods. mod version is required.
embeddium-0.3.31+mc1.20.1
oculus-mc1.20.1-1.7.0
Issue description
Game does load but when trying to load in a world it crashes
Steps to reproduce
try loading into world
Other information
No response

Maybe downgrade Embeddium to 0.3.19.


Add .staking command

Expected response: https://ergonaut.space/en/Guides/yield

https://github.com/Eeysirhc/sigmabot/commit/fc09f4d1021365f7578e76d7893d070f7ffec76c

FYI @wombo22


Add '%extension' to the file custom template

Context
If the user defines a custom format for the files using the template in the readme will get broken files.
Examples
Current template
[File]
date=%Y-%m-%b-%H-%M-%S
name=%date-%original_name-%title.jpg

If the original files are all .jpg or .jpeg will work fine. But other files such as .mp4 or .png will be created with the .jpeg extension.
If the template misses any extension for that matter, fill fail too.
Current template without fixed extension
[File]
date=%Y-%m-%b-%H-%M-%S
name=%date-%original_name-%title

Fill generate each file without extension no matter what.
Solution
Always define the template with the %extension block.
[File]
date=%Y-%m-%b-%H-%M-%S
name=%date-%original_name-%title.%extension

For further steps:
Maybe would be a nice thing to have some kind of validator of the template defined or maybe append de %extension by default if the user missed to define it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @MiguelCatalan - do you mind signing the CLA?

Actually this an exact duplicate of #368. Please do merge that one and I will close this.

Thanks. I overlooked that.


Format configuration.md with code fences to avoid render issues

This page is being pulled into docs.docker.com and sometimes not rendering properly. I think Jekyll doesn't really like fixing markdown and html syntax, so I've changed the code samples to use fences instead of spaces. That seems to make Jekyll happier and infer better markdown and html blocks.
The last table in the document was also not closing and html tag which was causing rendering issues too.
The docs are currently pulling from releases/2.5, so if you want I can also submit PRs against releases/2.5 and releases/2.6.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "fix-configuration.md" git@github.com:joaofnfernandes/distribution.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

@dmcgowan can you check if this makes sense?

Should be fixed

LGTM
Please submit PRs for the other branches.


Any Idea why it homebase2  won't connect?

I have been hoping anyone can help with this issue I am not the only one but I have been getting my log hammered repeatedly with this error.
2022-05-05 23:39:38.311  ERROR P2PClientProtocol.lookup(): station: T8010Pxxxxxxxxxx - All address lookup tentatives failed.
2022-05-05 23:39:38.314  INFO  Timeout connecting to station T8010Pxxxxxxxxxx
I have a shared account that logs in fine with the Eufy app.
Did something change on Eufy's end? That is not allowing the connection? Is this being addressed?  I know I am not the only one with this issue.  But any help would be appreciated. Like I said before the doorbell works and home assistant see it but I can not get the camera to stream. Not necessarily a feature I care about but I would like to stop the constant hammering of Eufy's server.
Thanks again

Same here

I'm also having issues connecting to my T8400 devices:
2022-05-17 07:01:44.546  INFO  Timeout connecting to station T8400xxxxxxxxxxx
2022-05-17 07:03:55.392  ERROR P2PClientProtocol.lookup(): station: T8400xxxxxxxxxxx - All address lookup tentatives

I am having the same issue. Any advice?

Mine updated to 0.91 today and it now connects - Thanks @fuatakgun