Add check for bcache deadlock issue

<EMAIL_ADDRESS>

I think the only way to check this one would be to examine the stack trace.. there's no other way of realizing this has been hit..

@nkshirsagar thats fair. Do you have an example stack trace for this issue? As a side topic we are working on https://github.com/canonical/hotsos/issues/367 which will hopefully provide an easy way to do this but we will need to ensure it exposes whatever information is needed by this check so an example would be helpful.

https://pastebin.canonical.com/p/SN2JzgGgCq/ is what I see when I reproduce it using the customers DD dumps of the bcache devices that already are having this problem. We should ignore the function names which have ? in front of them. It's always bcache-register that will be blocked, so we search for that, and then the ones to search for in the fn traces are,
__schedule+0x24e/0x890
schedule+0x2c/0x80
closure_sync+0x18/0x90 [bcache]
bch_journal+0x123/0x380 [bcache]
bch_journal_meta+0x47/0x70 [bcache]
bch_btree_set_root+0x1c2/0x1f0 [bcache]
bch_btree_set_root+0x1c2/0x1f0 [bcache]
I still haven't been able to reproduce it myself from scratch to get the bcache devices into this state, so still working on that.

ok so, now that we have https://github.com/canonical/hotsos/blob/f123587f344baea29051091dfecb5320515010d0/hotsos/core/plugins/kernel/kernlog.py#L339 I believe you could create e.g. a BcacheTraceHandler(TraceHandlerBase)

thank you @dosaboy  - Does this look ok? I will also need to write out a unit test for this ..
diff --git a/defs/scenarios/kernel/kernlog_checks.yaml b/defs/scenarios/kernel/kernlog_checks.yaml
index 03419561..fa410260 100644
--- a/defs/scenarios/kernel/kernlog_checks.yaml
+++ b/defs/scenarios/kernel/kernlog_checks.yaml
@@ -9,6 +9,10 @@ checks:
     property:
       path: hotsos.core.plugins.kernel.CallTraceManager.oom_killer
       ops: [[length_hint]]
+  has_bcache_deadlock_invoked:
+    property:
+      path: hotsos.core.plugins.kernel.CallTraceManager.calltrace-bcache
+      ops: [[length_hint]]
   has_nf_conntrack_full:
     expr: '.+ nf_conntrack: table full, dropping packet'
   has_over_mtu_dropped_packets:
@@ -32,6 +36,13 @@ conclusions:
         {numreports} reports of oom-killer invoked in kern.log - please check.
       format-dict:
         numreports: '@checks.has_oom_killer_invoked.requires.value_actual:len'
+  bcache-deadlock-invoked:
+    priority: 2
+    decision: has_bcache_deadlock_invoked
+    raises:
+      type: MemoryWarning
+      message: >-
+        bcache register deadlock seen in kern.log - please check.
   nf-conntrack-full:
     decision: has_nf_conntrack_full
     raises:
diff --git a/hotsos/core/plugins/kernel/kernlog/calltrace.py b/hotsos/core/plugins/kernel/kernlog/calltrace.py
index 9af6cda7..9f8f2b95 100644
--- a/hotsos/core/plugins/kernel/kernlog/calltrace.py
+++ b/hotsos/core/plugins/kernel/kernlog/calltrace.py
@@ -206,6 +206,58 @@ class MemFieldsNodeZoneMem(MemFieldsBase):
                 'local_pcp', 'free_cma']

+class BcacheTraceType(TraceTypeBase):
+
+    def __init__(self):
+        self._search_def = None
+        self.generics = []
+
+    @property
+    def name(self):
+        return 'calltrace-bcache'
+
+    @property
+    def searchdef(self):
+        if self._search_def:
+            return self._search_def
+
+        start = SearchDef(r'{} (\S+) task bcache-register:(d+)'
+                          r' blocked for more than (d+) seconds.'.
+                          format(KERNLOG_PREFIX))
+        body = SearchDef(r'(\S+) schedule(\S+) closure_sync(\S+)'
+                          r' bch_journal_meta(\S+) bch_btree_set_root(\S+)'
+                          r' btree_split(\S+) bch_btree_insert_node(\S+)'
+                          r' bch_btree_insert_node(\S+) bch_btree_insert(\S+)'
+                          r' bch_journal_replay(\S+) register_bcache(\S+)')
+        end = SearchDef(r'{} do_syscall_(\S+)'.format(KERNLOG_PREFIX))
+        self._search_def = SequenceSearchDef(start, tag='bcache', body=body,
+                                             end=end)
+        return self._search_def
+
+    def apply(self, result):
+        """
+        Run through the results.
+        @param results: list of searchtools.SearchResult objects.
+        """
+        if len(result) > 0:
+            # we have found at least one deadlock
+            self.generics.append(True)
+
+    @property
+    def heuristics(self):
+        """
+        Register any heuristics we want to run here.
+        """
+        return []
+
+    def __len__(self):
+        return len(self.generics)
+
+    def __iter__(self):
+        for generics in self.generics:
+            yield generics
+
+
 class OOMKillerTraceType(TraceTypeBase):

     def __init__(self):
@@ -303,7 +355,7 @@ class CallTraceManager(KernLogBase):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
         # All trace types should be registered here.
-        self.tracetypes = [GenericTraceType(), OOMKillerTraceType()]
+        self.tracetypes = [GenericTraceType(), OOMKillerTraceType(), BcacheTraceType()]
         self.run()

     def run(self):


Remove unnecessary resources

I was just looking through the drawables folders and noticed a lot of junk I don't need. Removing them would reduce app size and simplify.

Excellent!


DataLabels cause binding error log spam in WPF

Steps to reproduce: Turn on DataLabels in the codebehind.
With every point on every line (or column), the following will be produced:

System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='' BindingExpression:Path=(0); DataItem='ColumnSeries' (Name=''); target element is 'TextBlock' (Name=''); target property is 'FontFamily' (type 'FontFamily')

This also results in a somewhat noticeable slowdown, though I did not measure it.

Thanks, last release I removed many bindings to increase performance, and I tried what you said, I got a different exception related with animations.

System.Windows.Media.Animation.AnimationException was unhandled
Message: An unhandled exception of type 'System.Windows.Media.Animation.AnimationException' occurred in PresentationCore.dll
Additional information: Cannot animate the 'Left' property on a 'System.Windows.Controls.TextBlock' using a 'System.Windows.Media.Animation.DoubleAnimation'. For details see the inner exception.

I was getting the same error as author with this same scenario.

This is already fixed in the develop branch, as soon as merged it will be fixed in master, this fix will be included in 0.8.1 release
Thanks for reporting


Update Pyronear predictor

The purpose of this PR is to propose an improvement of the PyronearPredictor. The goal is to make it easier to adapt and to configure using a simple configuration file.

@frgfm thanks for your review. I am closing this PR, to move it into pyro-vision. This way the last model always comes from the source repo without having to modify it in the others. I will add your remarks to the new PR


🐛 [firebase_auth] flutterfire_ui:SignInScreen - Twitter authentication not possible (Android)

Bug report
No redirection back to the app after authorizing accesss to the twitter account from the app.
Instead the redirect URL ([project].firebaseapp.com) in the web browser states:
[project].firebaseapp.com states:

Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared

Steps to reproduce
Steps to reproduce the behavior:

Create a twitter app (https://developer.twitter.com/)
Setup twitter as a sign-in method in Firebase Auth using the API key and API secret from step 1.
Retrieve the firebase callback URL provided from step 2: https://[yourProjectId].firebaseapp.com/__/auth/handler
Add this as a child of activity to your AndroidManifest.xml:

             <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="https://"
                        android:host="https://[yourProjectId].firebaseapp.com/__/auth/handler" />
            </intent-filter>

Add the SignInScreen widget to your flutter app:

SignInScreen(
                  auth: auth,
                  providerConfigs: const [
                    TwitterProviderConfiguration(
                        apiKey: [twitterAPIKey],
                        apiSecretKey: [twitterAPISecret],
                        redirectUri: "https://[yourProjectId].firebaseapp.com/__/auth/handler"),
                  ],
                )

Start the app
Click on the 'Sign in with Twitter' button of the SignInScreen widget. The webbrowser will open https;//api.twitter.com and ask you to authorize the app.
You will be redirected to: [project].firebaseapp.com with the following message:

Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared

Expected behavior
Be logged in with Firebase Auth und returned to the app.

@sentd94
Can you try the steps mentioned in the document and see if you still get the same behavior or not ?

@sentd94 Can you try the steps mentioned in the document and see if you still get the same behavior or not ?

I used to use the twitter_login dependeny as mentioned in the document and it worked.
But right now I'm trying to use the SignInScreen widget instead that has just been released to make this all easier.

@sentd94
The Providers documentation for Twitter configuration does mention to use the twitter_login plugin: https://firebase.flutter.dev/docs/ui/auth/configuring-providers#twitter
So I think just follow the documentation for Twitter and see if it helps to implement it correctly.

@darshankawar Well you are right. All the videos announcing Flutter 2.8 made it sound like you just had to use the widget and it would do all the work for you.


Issue details: Assignees

[ ] Other members of the team cannot be assigned to the issue. Implement Assign button with which others can be assigned to the issue.

Added in #47 but may be improved


MEREGE and Tasks

What article on docs.github.com is affected?

What part(s) of the article would you like to see updated?

Additional information

Closing this because it's an empty issue.


Error with YAP 1.3.1

Upgraded to 1.3.1
copied my config from 1.2.1 into the 1.3.1 file.
Tested by sending an SMS with a city name and it did not respond
Error generated below

Schema

Validation Warning

Msg
"Content is not allowed in prolog."

line
"1"

sourceComponent
"14100"

parserMessage
"Content is not allowed in prolog."

ErrorCode
"12200"

EmailNotification
"false"

cols
"1"

LogLevel

"WARN"

When i call the number i get a different error

Msg
""

parserMessage
"Error on line 1 of document : Content is not allowed in prolog. "

ErrorCode
"12100"

LogLevel
"ERROR"

url
"https://na.org.au/yap/?Called=%2B61488811247&ToState=&CallerCountry=AU&Direction=inbound&CallerState=&ToZip=&CallSid=CAd10cc250e8601644ece9a4e6f93e8063&To=%2B61488811247&CallerZip=&ToCountry=AU&ApiVersion=2010-04-01&CalledZip=&CalledCity=&CallStatus=ringing&From=%2B61411607551&AccountSid=AC2647d8d1c20a4eaf4f7f1af2f05661da&CalledCountry=AU&CallerCity=&Caller=%2B61411607551&FromCountry=AU&ToCity=&FromCity=&CalledState=&FromZip=&FromState="

FYI here is my config:
?php
static $title = "Welcome to Narcotics Anonymous Australia";
static $bmlt_root_server = "https://na.org.au/main_server";
static $voice = "alice";
static $language = "en-AU";
static $google_maps_api_key = "AIzaSyCRhfMDVcsTTlBiTcoAC6j8OXRO-mM4psw";
static $province_lookup = true;
static $helpline_search_radius = 30; #in miles
static $sms_ask = true;
static $include_map_link = true;
static $helpline_fallback = "1300652820";
static $override_state_or_province = "state or territory";
static $override_city_or_county = "city or suburb";
static $override_zip_code = "postcode";
static $location_lookup_bias = "country:Australia";
static $postal_code_length = 4;
static $override_please_enter_your_digit = "please enter your four digit";
static $infinite_searching = true;

@brustar64 is it possible you emptied out your config.php when you upgraded?  The log files seems to indicate this type of condition.

I copied the content from my previous config to the new config. Overwrote the default information.
Regards
Bruce

From: Danny Gershman<EMAIL_ADDRESS>Sent: Sunday, June 3, 2018 12:30:06 AM
To: radius314/yap
Cc: brustar64; Mention
Subject: Re: [radius314/yap] Error with YAP 1.3.1 (#79)
@brustar64https://github.com/brustar64 is it possible you emptied out your config.php when you upgraded? The log files seems to indicate this type of condition.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/radius314/yap/issues/79#issuecomment-394091491, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Abqjr90okmr1hjfteCo-Pd1k4kd8dZawks5t4qFugaJpZM4UXtE_.

It looks better now, can you try again?

I re-cocpied the other config directly from the other config file instead of from the saved text and it is fixed.
Weird... Sorry for the trouble. Thanks Danny
Regards
Bruce

From: Bruce Gardner<EMAIL_ADDRESS>Sent: Sunday, June 3, 2018 12:55:45 AM
To: radius314/yap
Subject: Re: [radius314/yap] Error with YAP 1.3.1 (#79)
I copied the content from my previous config to the new config. Overwrote the default information.
Regards
Bruce

From: Danny Gershman<EMAIL_ADDRESS>Sent: Sunday, June 3, 2018 12:30:06 AM
To: radius314/yap
Cc: brustar64; Mention
Subject: Re: [radius314/yap] Error with YAP 1.3.1 (#79)
@brustar64https://github.com/brustar64 is it possible you emptied out your config.php when you upgraded? The log files seems to indicate this type of condition.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/radius314/yap/issues/79#issuecomment-394091491, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Abqjr90okmr1hjfteCo-Pd1k4kd8dZawks5t4qFugaJpZM4UXtE_.

Awesome.  Yap 2.0 will have a configuration verification tool to try to assist with some of these types of issues.


What do I do about "Unsupported Version 16" ?

Does this error simply mean that my .sav file isn't new enough to edit? I will make a new save and test.

I have tested by making a new save and progressing far but the same error comes up when selecting the second save file. Am I doing something wrong?

New question how do I go about updating to newer version of this since all I downloaded was the "Initial Release"?

I have found it issue is fixed closing


import util - file not found

from util import auc, avg, avg_preds
from util import score

I'm having trouble find where the util file is located?
What package is it from?
Can you share the 4 functions?

im guessing this might be two of the missing functions?
auc = metrics.roc_auc_score(labels, preds)
score = metrics.precision_score(labels, preds)

Thanks for reporting this! I have uploaded the missing file.


Left pane not visible in stories/home.html - deployed on Heroku

The models are being trained but when I open https://murmuring-hollows-48177.herokuapp.com/ and manage stories, the left pane is completely empty. What could be the possible reason. Thank you.

I'm able to see the left pane with trained stories in your domain. If the issue still there, please try with a different browser or check if any api calls is getting blocked from your browser.

I checked it in a different browser and it is working but the strange thing is that the left pane is visible when I open your app https://iky-ai.herokuapp.com/stories/home in the same browser but it doesn't show mine.

In your domain, all the requests and responses are generated with https protocol while in mine some are generated with http. I have tried various method to force generation with https but nothing works.

i think there is some error returning from the api call to retrive stories. Check your browser console and server console to find out the issue.


The network delay between master and slave has a great performance impact

version: 4.9.1
I simulate the network delay between master slaves and use the tc command to add 2ms delay.
Test result: No matter how high the server configuration is, the maximum network traffic can only reach about
27M/s. For example, 10K message, TPS 2700， or  100k ,tps 270.
By zhe way, if there is no network delay, the network traffic of sending messages from the same machine can reach
300M/s。For example, 10K message, TPS 30000.
According to the test, the 2ms delay has a limited impact on SFTP。Therefore, I speculate that the delay has
different effects on different application scenarios.
I would like to ask if there are parameters that can reduce the performance impact of network latency？
说明一下，延时影响性能是预期之内的。但是2ms延时，性能就下降到十分之一，这就不合理了。
我用sftp做实验，2ms延时几乎没有影响。大多数应用也不应该影响这么大。
所以想请教专家，是否有办法优化。

...

Hi, @iamqq23ue Could you describe the test scenario in more detail？ In addition, IMO it is not accurate for using tc command to simulate the delay between master and slave, because tc command acts on the network card, it will also affect the transmission from the client to the broker.

I use the TC command to add a 2ms delay on the slave server. IMO, I guess the delay from slave to client will not affect the message sending
Message ID: @.***>


"Access is denied" when opening wsl.exe from a SSH connection to windows host.

Version
Microsoft Windows [版本 10.0.22000.493]
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Archlinux
Other Software
No response
Repro Steps
Setup openssh-server on windows, ssh into windows, and open "wsl.exe".
Expected Behavior
opens wsl
Actual Behavior
Access is denied
Diagnostic Logs
No response

Can you try explaining the issue more in detail? The explanation appears to be too small.

Can you try explaining the issue more in detail? The explanation appears to be too small.

I can't open wsl.exe from an SSH connection from remote to windows host.
The ssh server is installed using Add-WindowsCapability -Online -Name OpenSSH.Server~~~~<IP_ADDRESS>.

@leoleoasd when ssh'd into the Windows machine, is the output of running whoami in PowerShell is the same user that has WSL installed on the system? Also, just to avoid any confounding errors, did you follow the steps here for enabling OpenSSH on your Windows machine? There is some initial configuration that has to be done if not done already. Thanks!

@owenschupp I followed those steps on the document, including setting up firewall, and I didn't change the sshd configuration file.
Local cmd output:
Microsoft Windows [版本 10.0.22000.493]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Leo>whoami
leo-pc\leo

C:\Users\Leo>wsl.exe
(win/x64)  ➜  /mnt/c/Users/Leo

SSH connection output:
Microsoft Windows [版本 10.0.22000.493]
(c) Microsoft Corporation。保留所有权利。

leo@LEO-PC C:\Users\Leo>whoami
leo-pc\leo

leo@LEO-PC C:\Users\Leo>wsl.exe
拒绝访问。 # Translates to Access is denied

Do you have admin rights? Not running WSL as an administrator can cause this error.

Yes, my account is the only account on this PC, and is created during a freash install of Windows 11.

Yes, my account is the only account on this PC, and is created during a freash install of Windows 11.

Yes, my account is the only account on this PC, and is created during a freash install of Windows 11.

Hmm... then I would probably say you should run an elevated cmd.exe and start WSL there.

My wsl VM is already started. Opening wsl.exe or bash.exe from regular, non-admin cmd or windows terminal works. But I want to access my WSL from a remote machine. Running another openssh server within wsl and port-forward seems too heavy since it would require running two openssh servers on the same machine.

I have the same problem.  After connected to my remote windows host by ssh,  windows terminals showed I logged in as an administrator. I can also edit the administrators_authorized_keys file under c:\ProgramData\ssh. Starting wsl failed as "Access is denied"
PS C:\ProgramData\ssh> wsl アクセスが拒否されました。# Translates to Access is denied PS C:\ProgramData\ssh> wsl -l アクセスが拒否されました。# Translates to Access is denied

Maybe it could be firewall- or network-related?

> Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP"

Name                          : OpenSSH-Server-In-TCP
DisplayName                   : OpenSSH SSH Server (sshd)
Description                   : Inbound rule for OpenSSH SSH Server (sshd)
DisplayGroup                  : OpenSSH Server
Group                         : OpenSSH Server
Enabled                       : True
Profile                       : Any
Platform                      : {}
Direction                     : Inbound
Action                        : Allow
EdgeTraversalPolicy           : Block
LooseSourceMapping            : False
LocalOnlyMapping              : False
Owner                         :
PrimaryStatus                 : OK
Status                        : 規則は、ストアから正常に解析されました。 (65536)
EnforcementStatus             : NotApplicable
PolicyStoreSource             : PersistentStore
PolicyStoreSourceType         : Local
RemoteDynamicKeywordAddresses : {}

@leoleoasd One idea I had for a workaround is that you could try using the runas command in cmd.exe to try to run wsl.exe explicitly as an administrator.
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771525(v=ws.10)?redirectedfrom=MSDN

Tried runas as my own account, it doesn't work either. What do you mean by as an administrator? My account should be an administrator, and there are no other accounts on my machine.

Maybe it could be firewall- or network-related?

How does wsl.exe open bash, is it connected to WSL over the network?

runas didn't work in my environment, either.

runas didn't work in my environment, either.

Then maybe you should try enabling the built-in Administrator account to try to pinpoint the issue and see if that'll make a difference. You might need some piece of software like Winaero Tweaker to do that.

administrator@DESKTOP-7D4OTO7 C:\Users\Administrator>wsl
Access is denied.

administrator@DESKTOP-7D4OTO7 C:\Users\Administrator>runas /user:administrator wsl
Enter the password for administrator:
Attempting to start wsl as user "DESKTOP-7D4OTO7\administrator" ...

administrator@DESKTOP-7D4OTO7 C:\Users\Administrator>

Failed to start wsl even I logged in as administrator. runas also failed to start wsl. I checked the process explorer and found no wsl (ubuntu) process there.
Windows subsystem for linux preview and ubuntu 20.04 were installed from microsoft store

@zguo235  maybe try run cmd with administrator, try whoami, then open wsl.exe?

If it's still not working, perhaps try to reinstall WSL. A faulty installation maybe causing this error.

administrator@DESKTOP-7D4OTO7 C:\Users\Administrator>type nul >> C:\ProgramData\ssh\filt.txt

administrator@DESKTOP-7D4OTO7 C:\Users\Administrator>whoami
desktop-7d4oto7\administrator

administrator@DESKTOP-7D4OTO7 C:\Users\Administrator>wsl
Access is denied.

type nul >> C:\ProgramData\ssh\filt.txt failed without admin rights.
PS C:\ProgramData\ssh> type nul >> C:\ProgramData\ssh\filt.txt
Out-File: Access to the path 'C:\ProgramData\ssh\filt.txt' is denied.

I installed the wsl and ubuntu 20.02 after I activate the administrator account today. I also checked i can use them after the installation.

This is what I did to start the wsl in a ssh connection.

Change my account from administration to standard user.
SSH to my windows host and type wsl in the shell.
An instruction appeared and told me I have to update my kernel component. Follow here: https://aka.ms/wsl2kernel
Update and start my wsl.

C:\Users\zguo>wsl
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください #Update the kernel component.

 C:\Users\zguo>wsl

16:43 /mnt/c/Users/zguo $

Don't use the built-in administrator account. I'm finding that running WSL there causes the 'access denied' error.

This is what I did to start the wsl in a ssh connection.

Change my account from administration to standard user.
SSH to my windows host and type wsl in the shell.
An instruction appeared and told me I have to update my kernel component. Follow here: https://aka.ms/wsl2kernel
Update and start my wsl.

C:\Users\zguo>wsl
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください #Update the kernel component.

 C:\Users\zguo>wsl

16:43 /mnt/c/Users/zguo $

Followed your instructions but any attempt to execute wsl just returns the --help output

This has never happened to me. There is another issue talking about wsl.exe failed with "Access is denied" #4920 . Maybe that is helpful.

This has never happened to me. There is another issue talking about wsl.exe failed with "Access is denied" #4920 . Maybe that is helpful.

@OneBlue - I agree; this is obviously a duplicate of said issue.

I think this is a different issue. The difference is that I can access my WSL from my windows PC. I just can't access it from a remote PC. To fix this, I think we need to allow sshd to access some resources that wsl.exe needs.
Another reason why I need to open wsl.exe from ssh connection is that I need to open EXEs from WSL, and I can't open EXE from an ssh connection to WSL sshd.

This appears to be a known issue:
https://docs.microsoft.com/en-us/windows/wsl/store-release-notes

The only way I could connect is getting the wsl ip running ´ hostname -I ´ inside wsl
Connect to windows openSSH server with ´ssh myuser@windows-lanip´ and  then ´ssh mywsluser@wsl-ip´

This appears to be a known issue:
https://docs.microsoft.com/en-us/windows/wsl/store-release-notes

Can you point out where in the release notes this is? I can't find it.

This appears to be a known issue:
https://docs.microsoft.com/en-us/windows/wsl/store-release-notes

Can you point out where in the release notes this is? I can't find it.

At the top:

Launching Windows Subsystem for Linux from session zero does not currently work (for example from an ssh connection).

I encountered the same problem after I updated to 22H2 and 5.15 kernel of wsl2

Today wsl reminded me that I can upgrade it to a new version, but after I upgraded it I can't open wsl in the ssh connection.
So I found this answer Cannot run WSL2 over ssh.
I found that there was an app in my app list called "Windows Subsystem For Linux Preview" that I just installed today. After uninstalling this app, everything went back to normal.
Start Menu -> Settings -> Apps

Find and uninstall Windows Subsystem For Linux Preview.

Hope it could help everyone

Today wsl reminded me that I can upgrade it to a new version, but after I upgraded it I can't open wsl in the ssh connection. So I found this answer Cannot run WSL2 over ssh.
I found that there was an app in my app list called "Windows Subsystem For Linux Preview" that I just installed today. After uninstalling this app, everything went back to normal.
Start Menu -> Settings -> Apps

Find and uninstall Windows Subsystem For Linux Preview.

Hope it could help everyone

This do work in a way, but it will revert the wsl kernel version back to 5.10.
Thanks anyway.

If you have WSL "Access is denied" problem, at first check where have you your WSL installed.
If you use WSL from Microsoft Store (it is good choice, because you have got fresh and current version) then WSL is installed in C:\Program Files\WindowsApps\ folder. And this folder has very limited access. Local administrators can't access this folder.
I took over ownership of files in this directory to LOCAL-DOMAIN\Administrators. Then it was possible to add Read/Execute rights to LOCAL-DOMAIN\Administrators. After it WSL start working via SSH or other remote access.

If you have WSL "Access is denied" problem, at first check where have you your WSL installed. If you use WSL from Microsoft Store (it is good choice, because you have got fresh and current version) then WSL is installed in C:\Program Files\WindowsApps\ folder. And this folder has very limited access. Local administrators can't access this folder. I took over ownership of files in this directory to LOCAL-DOMAIN\Administrators. Then it was possible to add Read/Execute rights to LOCAL-DOMAIN\Administrators. After it WSL start working via SSH or other remote access.

I have this problem. There is folder such as C:\Program Files\WindowsApps. Where else should I look? This is a fresh Win11 install.

@MichaelHipp C:\Program Files\WindowsApps is a hidden folder, you need to enable "show hidden items" in File Explorer.

@MichaelHipp C:\Program Files\WindowsApps is a hidden folder, you need to enable "show hidden items" in File Explorer.

Actually, the problem with trying to open the WindowsApps folder is that it is completely protected from being accessed. If you try to open it in File Explorer, you'll get a warning that you don't have permission to access the folder, and clicking 'Continue' does not do anything, instead telling you to change its security properties first.

If you have WSL "Access is denied" problem, at first check where have you your WSL installed. If you use WSL from Microsoft Store (it is good choice, because you have got fresh and current version) then WSL is installed in C:\Program Files\WindowsApps\ folder. And this folder has very limited access. Local administrators can't access this folder. I took over ownership of files in this directory to LOCAL-DOMAIN\Administrators. Then it was possible to add Read/Execute rights to LOCAL-DOMAIN\Administrators. After it WSL start working via SSH or other remote access.

Can you clarify more on which folder to take ownership of and what permission to be added? Is it the WindowsApp folder itself whose owner was initially NT Service\TrustedInstaller or the folder for the WSL whose original owner is SYSTEM? Did you encounter errors saying that it cannot list children of some subfolders when updating the permissions? Am I supposed to add  only Read/Execute permission to <hostname>\Administrator to get wsl accessible in an SSH session?  I guess it'll work but I would rather not completely ruin the permissions.

Extremely dirty solution here, but one that works:

Get permissions for C:\Program FIles\WindowsApps
Enter C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__*
Take ownership of that directory and grant your user access to it (recursively). Then give back ownership to System
Now you can call C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__xxxx\wsl.exe directly
Relinquish the permissions you granted yourself.
Should work.

Extremely dirty solution here, but one that works:

Get permissions for C:\Program FIles\WindowsApps
Enter C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__*
Take ownership of that directory and grant your user access to it (recursively). Then give back ownership to System
Now you can call C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__xxxx\wsl.exe directly
Relinquish the permissions you granted yourself.
Should work.

I tried your solution and indeed this enables accessing wsl from an SSH session, but only if the instance is already running or if it is a wsl1 instance. When the system has just started and nobody has logged on through the graphical interface, calling wsl from an SSH session to open a wsl2 instance results in the following error
{Application Error} The application was unable to start correctly (0x%lx). Click OK to close the application. Error code: Wsl/Service/CreateInstance/CreateVm/0x8007023f

Do you also encounter such errors? If so, do you have a fix for it?

Extremely dirty solution here, but one that works:

Get permissions for C:\Program FIles\WindowsApps
Enter C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__*
Take ownership of that directory and grant your user access to it (recursively). Then give back ownership to System
Now you can call C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__xxxx\wsl.exe directly
Relinquish the permissions you granted yourself.
Should work.

I tried your solution and indeed this enables accessing wsl from an SSH session, but only if the instance is already running or if it is a wsl1 instance. When the system has just started and nobody has logged on through the graphical interface, calling wsl from an SSH session to open a wsl2 instance results in the following error
{Application Error} The application was unable to start correctly (0x%lx). Click OK to close the application. Error code: Wsl/Service/CreateInstance/CreateVm/0x8007023f

Do you also encounter such errors? If so, do you have a fix for it?

I have a workaround to be able to fire up the WSL from the SSH session, so then you can run the wsl.exe directly. I created a scheduled task that runs a command on my target distro, I just used an echo. Then, I just fire up that task, prior to executing the wsl.exe.
You can create the task like this:

In the general tab just give it some meaningful name, I just named it StartUbuntu
In actions add a new action that starts a program, the program will be %windir%\System32\cmd.exe and for the arguments just type /c wsl -d Ubuntu -- echo "WSL Started" (change Ubuntu by your target distro).

Now, from your SSH session you can run this task with schtasks /run /tn StartUbuntu.
Right after running that command run the wsl.exe directly like @matchaxnb says and you should be able to get in. It seems like there's only a small time window because after running the command the VM is automatically shutdown, so you need to be quick.
I hope it helps.

Extremely dirty solution here, but one that works:

Get permissions for C:\Program FIles\WindowsApps
Enter C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__*
Take ownership of that directory and grant your user access to it (recursively). Then give back ownership to System
Now you can call C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__xxxx\wsl.exe directly
Relinquish the permissions you granted yourself.
Should work.

I tried your solution and indeed this enables accessing wsl from an SSH session, but only if the instance is already running or if it is a wsl1 instance. When the system has just started and nobody has logged on through the graphical interface, calling wsl from an SSH session to open a wsl2 instance results in the following error
{Application Error} The application was unable to start correctly (0x%lx). Click OK to close the application. Error code: Wsl/Service/CreateInstance/CreateVm/0x8007023f

Do you also encounter such errors? If so, do you have a fix for it?

I have a workaround to be able to fire up the WSL from the SSH session, so then you can run the wsl.exe directly. I created a scheduled task that runs a command on my target distro, I just used an echo. Then, I just fire up that task, prior to executing the wsl.exe.
You can create the task like this:

In the general tab just give it some meaningful name, I just named it StartUbuntu
In actions add a new action that starts a program, the program will be %windir%\System32\cmd.exe and for the arguments just type /c wsl -d Ubuntu -- echo "WSL Started" (change Ubuntu by your target distro).

Now, from your SSH session you can run this task with schtasks /run /tn StartUbuntu. Right after running that command run the wsl.exe directly like @matchaxnb says and you should be able to get in. It seems like there's only a small time window because after running the command the VM is automatically shutdown, so you need to be quick.
I hope it helps.

Thanks for the workaround, but that is not an option for me, because for your task to correctly run wsl, you will need to configure it to start only when a user has logged on (using a graphical interface), as otherwise it encounters the exact same error I posted (correct me if I am wrong). However, when a machine is restarted in a completely unattended way, you cannot expect someone to promptly log on either physically or through RDP.
As to the short time window issue, you can replace the echo with some other commands that runs in the background, e.g. keyring, sshd (works only if you configured your WSL2 to not use systemd) and then you can prevent it from shutting down itself.

Thanks for the workaround, but that is not an option for me, because for your task to correctly run wsl, you will need to configure it to start only when a user has logged on (using a graphical interface), as otherwise it encounters the exact same error I posted (correct me if I am wrong). However, when a machine is restarted in a completely unattended way, you cannot expect someone to promptly log on either physically or through RDP.

I just used this to access my personal computer when I'm out. It's running Windows 10 and probably thanks to the fast boot setting, it automatically initializes a session with my account while it's still on the lock screen, I still have to login with my password or image password to access the desktop, but the session is already initialized before that.

I just used this to access my personal computer when I'm out. It's running Windows 10 and probably thanks to the fast boot setting, it automatically initializes a session with my account while it's still on the lock screen, I still have to login with my password or image password to access the desktop, but the session is already initialized before that.

I just tried. This does seem to make a difference. This is what I do:

Restart the target machine
Login through ssh
Run the task
Run wsl -d <distro_name>

It's still not launching but the error I got is different:
The server process could not be started because the configured identity is incorrect. Check the username and password.
Error code: Wsl/Service/CreateInstance/CreateVm/0x8000401a

Just to be clear, the task doesn't need to be configure to run even when no user has logged on or to run with highest privilege, right?

I just tried. This does seem to make a difference. This is what I do:
1. Restart the target machine

2. Login through ssh

3. Run the task

4. Run wsl -d <distro_name>

The problem is step 4, you don't launch the normal wsl, you launch directly the wsl.exe located at: C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__xxxx\wsl.exe but before that you need to take over that folder and give your user permissions like matchaxnb says

Get permissions for C:\Program FIles\WindowsApps

Enter C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__*

Take ownership of that directory and grant your user access to it (recursively). Then give back ownership to System

Now you can call C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__xxxx\wsl.exe directly

Relinquish the permissions you granted yourself.

Should work.

The only difference is that I didn't relinquish my permissions, only gave the ownership of that folder back to System. Also, to avoid having to write the full path every time, I created a bat file named wsl_trick.bat like this:
"C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\wsl.exe" %*

I added the bat file to the path, so I can type just wsl_trick -d <distro name>
As for the scheduled task itself, I have configured it to run only when the user has logged in, the user being my own user. It doesn't run with highest privileges.
I hope it helps. But ideally Microsoft should fix this issue.

I didn't like messing with WindowsApps permissions, so what I did was a copy of the "MicrosoftCorporationII.WindowsSubsystemForLinux.." folder to another location and run that wsl copy.

I also have this problem that wsl.exe cannot be accessed by the system when I login using the OpenSSH Server from Microsoft. I have Swedish Windows 10.
Microsoft Windows [Version 10.0.19045.3086]
(c) Microsoft Corporation. Med ensamrätt.

pi@IDEAPAD100 C:\Users\pi>wsl
Systemet kan inte komma åt filen.

pi@IDEAPAD100 C:\Users\pi>powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:\Users\pi> wsl.exe
Systemet kan inte komma åt filen.

This used to work before. It must be some update that changed permissions.

I hit this issue trying to connect to a WSL2 which was running a jupyterlab server on <IP_ADDRESS>:8888 on the windows host.
My workaround was to establish the ssh connection with the option -L 8888:<IP_ADDRESS>:8888 .
(This can be added at any time on an active ssh session with enter, shift-~C used to get an ssh> command line).
Of course, you still need to remote desktop into the server to get the jupyter lab link with the <IP_ADDRESS> address and token attached, which you put into your local web browser on the ssh client side whilst the ssh connection exists, but once you have that, you can close the remote desktop connection down.
You may be better off just using the start-task trick, and running a openssh server within the WSL, disabling the windows OpenSSH server, and connecting directly to that - perhaps having wsl2 start on boot?
If you can't, you could try putting the wsl openssh server on an alternate port (E.G. as jupyterlab is serving https on 8888 above), and then try using the above ssh port forwarding to connect a secondary ssh session to the forwarded port.  E.G.  ssh wsluser@localhost:8888
Then, you're already running your long-running tasks in WSL2 using tmux, right? Once you're in, you can reconnect to that tmux session, and you're good to go.

I have an SSH server running on both Windows and WSL (v1). Managed to connect by setting up my client ~/.ssh/config:
Host windows
  HostName windows.local
  IdentityFile ~/.ssh/windows.rsa
  User windows-user

Host wsl
  HostName localhost
  IdentityFile ~/ssh/wsl.rsa
  ProxyJump windows
  User wsl-user

After that, it's business as usual - I can just ssh wsl and I'm dropped on my WSL's zsh shell. Thanks go to @andremacola.
On a sidenote, I also had to follow this instructions in order to allow authenticating with a pubkey instead of a password.

my workaround is to simply call C:\Program Files\WSL\wsl.exe instead of whatever is in path. I don't know if this binary path is universal but it works on the machines i am testing with. it is so confusing that there is more than one wsl.exe binary and some have permission issues that prevent administrators from accessing them.

@paperdave thank you so much, been having the same exact problem and this solved the issue, no need for dirty workarounds and I don't mind typing the full path

my workaround is to simply call C:\Program Files\WSL\wsl.exe instead of whatever is in path. I don't know if this binary path is universal but it works on the machines i am testing with. it is so confusing that there is more than one wsl.exe binary and some have permission issues that prevent administrators from accessing them.

For anyone needing the command to configure Windows' SSH server to use the correct path:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\WSL\wsl.exe" -PropertyType String -Force
Thank you @paperdave for closing the loop for me on this tutorial which was written ~5 years ago.

Was this issue actually fixed, or was it closed because a workaround exists? I still observe wsl on it's own to have issues in ssh without the workaround.

Other people are going to run into this, and be confused.

my workaround is to simply call C:\Program Files\WSL\wsl.exe instead of whatever is in path. I don't know if this binary path is universal but it works on the machines i am testing with. it is so confusing that there is more than one wsl.exe binary and some have permission issues that prevent administrators from accessing them.

For anyone needing the command to configure Windows' SSH server to use the correct path:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\WSL\wsl.exe" -PropertyType String -Force
Thank you @paperdave for closing the loop for me on this tutorial which was written ~5 years ago.

Unfortunately, using the windows ssh server means using the windows console infrastructure, which makes any terminal output 100x slower.


[v2.x ONLY] Ease dependency on http gem

We do not want to bump this dependency on 2.x however we do do want to allow users to use a newer version.

Travis passed against http 2.2.2.
Previous v2.x travis passed against http 0.9.8.


Concurrency issue in subclasses of TypeInformation

Hi,
I stumbled upon the race conditions in a app using this library.
Description
As far as I know, TypeInformation class is okay to be used as singleton, whereas TypeSerializer isn't. JavaDoc of TypeSerializer class reads:

The methods in this class are not necessarily thread safe. To avoid unpredictable side effects, it is recommended to call duplicate() method and use one serializer instance per thread.

However, the TypeInformation classes in the library just pass TypeSerializer instance, resulting the instance to be used in multiple threads:
https://github.com/flink-extended/flink-scala-api/blob/892bd718b4fb0f9c43d815095ce47ddab965b196/src/main/scala/org/apache/flinkx/api/typeinfo/ProductTypeInformation.scala#L18
Therefore, this can lead to data inconsistency when used with thread-unsafe TypeSerializer such as CaseClassSerializer (It has mutable variable used during deserialization.)
Steps to reproduce
This example code shows that the data inconsistency could happen when run in multicore environment:
import org.apache.flink.api.common.typeinfo.TypeInformation
import org.apache.flink.core.memory.{DataInputViewStreamWrapper, DataOutputViewStreamWrapper}
import org.apache.flinkx.api.serializers.*
import java.io.{ByteArrayInputStream, ByteArrayOutputStream}
import scala.collection.parallel.CollectionConverters.given
import scala.collection.parallel.ParSeq

object ExampleApp:

  case class TestClass(a: String, b: String)

  val typeInfo: TypeInformation[TestClass] = deriveTypeInformation

  def randomString: String = scala.util.Random.alphanumeric.take(100).mkString

  @main
  def main(): Unit =

    // Make field 'a' and 'b' always have the same value
    val values: ParSeq[TestClass] = (1 to 1000).map {_ =>
      val s = randomString
      TestClass(s, s)
    }.par

    values.foreach { value =>
      val serializer = typeInfo.createSerializer(null)

      val out = new ByteArrayOutputStream()
      val outView = new DataOutputViewStreamWrapper(out)
      serializer.serialize(value, outView)
      val bytes = out.toByteArray

      val in = new ByteArrayInputStream(bytes)
      val inView = new DataInputViewStreamWrapper(in)
      val value2 = serializer.deserialize(inView)

      // The assertion fails randomly
      assert(value2.a == value2.b)
    }

Suggested fix
Looking at the createSerializer() method implementation of POJOTypeInfo in flink-core, it creates a new instance of TypeSerializer.
In the above example, if the TypeSerializer instantiation is modified like this:
val serializer = typeInfo.createSerializer(null).duplicate()

the data inconsistency does not happen anymore.
I'll submit a pull request to fix the issue. Feel free to ask if you have question about the issue or the fix.

I have looked one more time on this issue and tried to understand its probability in real life example.
Why would you use multi-threading in Flink program yourself/manually?
We usually rely on Flink execution environment to schedule all operators of the job graph and respective tasks for them.
Don't you just let Flink to schedule a job graph which would derive TypeInformation as many times as needed, thus it will create own typeSerializer for each task, even if all tasks run in the same TaskManager. I mean that this case with ParSeq above is an artificial example even though it reveals the problem.

No, I'm afraid that this bug affects Flink-controlled internals.
It actually happened in my app, which is just a normal Flink app.
I'll try to give an example of such typical app:
source.map[SomeDto](...)
  .setParallelism(32)

When this part derives TypeInformation, all tasks always refer to the same TypeInformation instance because it's cached.
Therefore, all tasks call createSerializer() method of the same instance, and they get the same thread-unsafe TypeSerializer instance (this could be confirmed using Java debugging tool). Since tasks are typically run in parallel, almost every Flink app has a chance to have data inconsistencies.
Recently I ran a Flink app run in 48-core environment and experienced data inconsistency, and I can confirm after fixing the code the inconsistency no longer happens. I hope this gets fixed soon!

Fixed by #113 and #114


The button in loading does not disable events

TuSimple/naive-ui version (版本)
2.12.0
Vue version (Vue 版本)
3.1.1
Browser and its version (浏览器及其版本)
90
System and its version (系统及其版本)
window
Node version (Node 版本)
Reappearance link (重现链接)
https://codesandbox.io/embed/romantic-bash-wihuq?fontsize=14&hidenavigation=1&theme=dark
Reappearance steps (重现步骤)
Set the Loading property for the button,then click the button
给按钮设置loading属性,然后点击
Expected results (期望的结果)
click event no repond
点击事件不响应
Actual results (实际的结果)
click event reponded
点击事件响应了
Remarks (补充说明)

I think loading shouldn't disable events. This is expected.


Where people can make improvement suggestions like PEP or RFC

Hi all,
I wonder if there is more specific repository or place except discuss forum? Where people can make suggestions on implementation of features and improvement of existing so @tomchristie and other contributors can review them.
Thanks.

I'm not sure what you mean. Either use pull requests / issues here for concrete problems, or https://discuss.apistar.org/ for open-ended threads.

@tomchristie thanks for clarification.


Introduction to Dark Theme

Addition of dark mode will inhance the UI.
Please assign me this issue under hactoberfest tag

Okay I am assigning this feature to you.
Just make sure that the UI should not be pure black (#000).
All the contents must be visible clearly.


Why does Slick strip out HTML?

I am trying to add a caption overlay to slide images and if I just use text it displays but if I format it with any kind of HTML tags it does not.

Please read the contribution guidelines


Lack of Russian translation

I would like to add Russian translation to Symbol Wallet. This would greatly simplify the work for Russian-speaking users.
P.S. The Symbol mobile wallet has support for the Russian language, and the main desktop Symbol wallet does not support the Russian language.
Let's fix this?
As I understand it, the right way is symbol-desktop-wallet/src/language/en-US.json

There is already Russian translation added. Closing.


B19976

19976
Integration Review
Summary
This task adds the ability for the prime to add a standaloneCrate option to the Domestic Crating item. Its functionality is nearly identical to a standard crating item, with the caveat that when the TOO goes to approve the item, the highest dollar amount that can be approved is 1000$. The TOO approval is part of a follow-on task and is not completed here.
Code removal is from the previous solution for 19976 that added an additional service item. Code had been merged into integration, so it had to be removed here.
Verification Steps for the Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

Setup to Run the Code

Instructions for starting storybook
Instructions for starting the MilMove application
Instructions for running tests

How to test
Prime UI:

Access the Office application
Log in to the Prime Simulator
Select 'Add a Service Item'
Select to add a Domestic Crate from the Service Item Type dropdown
Select domestic crating from the next dropdown.
Check the Standalone Crate option
Complete the form
Submit the form
Verify that the Service Item was added with a standalone tag in the DB.

Swagger:
PayLoad: {"item":{"length":4,"width":4,"height":4},"crate":{"length":5,"width":5,"height":5},"moveTaskOrderID":"1035d1f9-fe75-498f-98b3-21788d3084c3","mtoShipmentID":"5b600a58-944b-49ed-ba99-390886ab3d3e","modelType":"MTOServiceItemDomesticCrating","standaloneCrate":true,"reason":"i want to","description":"moped","reServiceCode":"DCRT"}
URL:http://officelocal:3000/swagger-ui/prime.html
Endpoint: mto-service-items

Update the supplied payload with an existing moveTaskOrderID and mtoShipmentID from your environment that is available to the prime.
Submit the payload to the provided endpoint.
Verify in the DB that the service item was added with a standalone tag.

Backend

[ ] Code follows the guidelines for Logging.
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys.
[ ] Have been communicated to #g-database.
[ ] Secure migrations have been tested following the instructions in our docs.

Screenshots

Commit 040ea4194531c6d08b314ce0ba2835357a1d0ac0 is in INT but not in main because 19976 had an initial solution merged into INT but not yet into main and the change was replaced with a new solution and removed from INT with this commit.


[WIP] Feature: Document server

Description
Host redoc on /doc path (configurable) and provide restful API spec.
Note

For mounting different APIs, I moved Vulcan API under /api prefix, e.g. /user -> /api/user .
I removed the fallback data from formaters because they erase the plain text content.

Codecov Report
Base: 92.02% // Head: 91.95% // Decreases project coverage by -0.06% :warning:

Coverage data is based on head (40c60e8) compared to base (ac5c86b).
Patch coverage: 91.66% of modified lines in pull request are covered.

Additional details and impacted files
@@                  Coverage Diff                   @@
##           chore/codecov-flag      #38      +/-   ##
======================================================
- Coverage               92.02%   91.95%   -0.07%
======================================================
  Files                     188      200      +12
  Lines                    2420     2636     +216
  Branches                  274      279       +5
======================================================
+ Hits                     2227     2424     +197
- Misses                    148      163      +15
- Partials                   45       49       +4

Flag
Coverage Δ

build
94.87% <100.00%> (+0.63%)
:arrow_up:

core
92.09% <94.44%> (-0.22%)
:arrow_down:

extension-dbt
97.43% <ø> (ø)

integration-testing
96.42% <ø> (ø)

serve
87.93% <66.66%> (-0.17%)
:arrow_down:

test-utility
∅ <ø> (∅)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

packages/build/src/containers/types.ts
100.00% <ø> (ø)

...generator/spec-generator/oas3/oas3SpecGenerator.ts
97.33% <ø> (-0.04%)
:arrow_down:

packages/build/src/models/index.ts
100.00% <ø> (ø)

packages/build/src/options/index.ts
100.00% <ø> (ø)

packages/core/src/containers/types.ts
100.00% <ø> (ø)

...erve/src/lib/route/route-component/restfulRoute.ts
92.85% <66.66%> (-7.15%)
:arrow_down:

packages/core/src/options/document.ts
54.54% <75.00%> (ø)

packages/build/src/containers/container.ts
62.50% <100.00%> (ø)

.../build/src/containers/modules/documentGenerator.ts
100.00% <100.00%> (+9.09%)
:arrow_up:

...ld/src/lib/document-generator/documentGenerator.ts
100.00% <100.00%> (ø)

... and 18 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@kokokuo  I've solve the conflicts and issues, thanks a lot.


tests: Update benchmarks

Description

Update benchmarks.

Checklist

[x] My code follows the existing style, code structure, and naming taxonomy
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have performed a self-review of my own code and included any verifying manual calculations
[x] I have added or updated unit tests that prove my fix is effective or that my feature works, and achieves sufficient code coverage.  New and existing unit tests pass locally and in the build (below) with my changes
[x] My changes generate no new warnings and running code analysis does not produce any issues
[x] I have added or run the performance tests that depict optimal execution times
[x] I have made corresponding changes to the documentation

I'm considering pausing update to benchmark results until bumping up pythonnet to v3.
We are using v2.5.x, but will finally have to use pythonnet v3.0+ before releasing our v1.0. And I expect that there's a performance gap btw pythonnet v2 and v3 so that benchmark results will be totally different from now. So how about updating the result at that time?


[Gauge] - Able to add Gauge Widget to Dashboard

:exclamation:  PLEASE MAKE THESE CHANGES UNDER A FEATURE FLAG

:exclamation:  PLEASE MAKE THESE CHANGES IN SMALL INCREMENTAL PRs AND NOT AT ONCE

Create a feature flag by setting a local_storage value and referencing it as this:
const hasGauge = !!localStorage?.getItem('HAS_GAUGE_WIDGET');
Implementation Steps:

Add the following to iot-app-kit/packages/dashboard/src/customization/widgets/types.ts

export type GaugeProperties = QueryProperties & {
  gaugeThickness?: number;
  showName?: boolean;
  showUnit?: boolean;
  fontSize?: number;
  labelFontSize?: number;
  unitFontSize?: number;
  yMin?: number;
  yMax?: number;
};

export type GaugeWidget = DashboardWidget<GaugeProperties>;

Create Gauge folder under iot-app-kit/packages/dashboard/src/customization/widgets

In the folder, you will need the implement the following files (take a look at KPI for an idea of what to do for each file):

component.tsx - this is where you will use the react-component implementation
icon.tsx - Represents the icon that will be shown in the widget palette
plugin.tsx - Represents the initial state of all the settings when the widget is added to a dashboard
Initial states should include an initialSize, showName: true,  showUnit: true

Users should be able to add the gauge widgets to the dashboard

Make sure you cannot add more than 1 property to a widget (we already do this for KPI so it should be the same behavior)

### Dial Acceptance criteria
- [ ] User can add a gauge component to dashboard
- [ ] User cannot add more than one property to a gauge widget

svg for the component library section.

here are the light and dark mode SVGs


Allow installation on SD card

App is currently locked to be installed in local storage. I'm no droid dev, but looks like this attribute is the one you want: http://developer.android.com/guide/topics/data/install-location.html
For those of us with older smaller hard drive phones this is a must-have.

@fadils Can this issue be closed? Citing the App Install Location guidelines from the Android Developer API Guides as @kevinsawicki did above, GitHub should not be out-of-the-box installable on external storage.

Thanks @EzraBrooks


examples/exec: Describe how to emulate 'exec' with 'start'

Spun off from discussion in #388.  There seemed to be
consensus that we need something like this but that it should be its
own pull request.
I've left off the PID-namespaces in state JSON bit until that
thread gets sorted out, but the “look things up in /proc” approach
isn't very robust without it.
I'd also be really happy to make all of root optional.
Requring a value so the runtime can ignore it seems like a
potential source of user confusion.
It also feels a bit strange to have to give the exec'ing start a
container ID, even though this join-only config isn't actually setting
up a sub-sandbox.  But short of externalizing the state registry,
I don't see an easy way around that.

Also, this will need links from somewhere more central (runtime.md?), maybe an entry in the Makefile, etc., etc.  I've left those off until we figure out whether this approach is a direction we want to take.

-1
I don't think we need to describe this, people can implement exec however we want and we don't want to talk about exec at all in the spec.

@crosbymichael perhaps the spec, as a formal RFC2119 type of doc, isn't the right spot, but would you be ok with a side-doc, more like a whitepaper?  Just something to provide some guidance/hints/...

@duglin ya, for one the spec is not the right place, somewhere else would be better for sure but the whole reason why exec is out is because people want to implement it in 1000 different ways to fit their need so we don't really need a suggestion at all but if we do have one, it should be outside of the spec.

On Mon, May 02, 2016 at 11:08:30AM -0700, Michael Crosby wrote:

-1
I don't think we need to describe this, people can implement exec
however we want and we don't want to talk about exec at all in the
spec.

I agree on “however they want”, but I think describing at least one
supported approach is important.  For example, the approach I've
outlined here calls for more clarity around root and required
container IDs in the absence of sub-sandboxing 1.  It's also kind to
provide a migration path after the operation removal in #388.
So I'm fine having these docs land in a separate, non-spec location,
but I think we want OCI-maintainer-blessed notes for this emulation
somewhere under opencontainers/ (maybe in the wiki?).  Since we can't
make wiki PRs, it seems better to collect OCI-maintainer blessings
here and then either land the PR or move it to the wiki.

I agree on “however they want”, but I think describing at least one supported approach is important.  Its not supported, if it was supported it would be in the spec ;)

On Mon, May 02, 2016 at 11:22:19AM -0700, Michael Crosby wrote:
“Its not supported, if it was supported it would be in the spec ;)”
@vishh in #388 1:
Exec can be implemented as running additional containers.
and then later 2:
We need blessed cookbook for the Spec.
And then @mrunalp 3:
I think we can handle examples/cookbook etc. after this PR.
so I think there is at least some consensus around:
a. exec-like functionality being supported via a ‘start’ invocation, and
b. wanting some sort of OCI-blessed cookbook for achieving that
functionality.
I agree that the cookbook would be informative, and not normative, but
that doesn't mean we don't need it somewhere ;).

I agree with Michael Crosby! Having one single example for Spec is not
ideal. If we had a Spec-Cookbook repo, we can post different ways to run
sub-containers/exec in there.
On Mon, May 2, 2016 at 11:52 AM, W. Trevor King<EMAIL_ADDRESS>wrote:

On Mon, May 02, 2016 at 11:22:19AM -0700, Michael Crosby wrote:
“Its not supported, if it was supported it would be in the spec ;)”
@vishh in #388 1:
Exec can be implemented as running additional containers.
and then later 2:
We need blessed cookbook for the Spec.
And then @mrunalp 3:
I think we can handle examples/cookbook etc. after this PR.
so I think there is at least some consensus around:
a. exec-like functionality being supported via a ‘start’ invocation, and
b. wanting some sort of OCI-blessed cookbook for achieving that
functionality.
I agree that the cookbook would be informative, and not normative, but
that doesn't mean we don't need it somewhere ;).
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/opencontainers/runtime-spec/pull/391#issuecomment-216326233

On Mon, May 02, 2016 at 11:56:42AM -0700, Vish Kannan wrote:

I agree with Michael Crosby! Having one single example for Spec is not
ideal. If we had a Spec-Cookbook repo, we can post different ways to run
sub-containers/exec in there.

A separate repo sounds fine to me, although you probably want
“runtime” in the name somewhere to distinguish from image-spec.  I'd
recommend runtime-spec-examples, but don't really care ;).
Although that seems like an orthogonal concern to number of examples.
The subdirectory structure I'm setting up in this PR (currently
examples/exec.md) can easily extend to multiple approaches
(examples/exec/proc.md, examples/exec/…, …).  And unless you do that
namespacing at the repo level (runtime-spec-exec-examples?), we'll
have that directory structure wherever the examples land.

Like @vishh and I said, we do not that things like this should belong in the spec, nor the spec repo.  We can wait until a post 1.0 before looking at different use cases and making a contrib or "cookbook" type repo if that fits or there are many other places for this type of content outside of OCI.

In today's meeting the earlier reasons for closing this were
overturned and I volunteered to reroll it with additional, testable
examples 1.  After playing around with runC's current master and
opencontainers/runc#827, I think I'm going to wait until either:

runC supports the required default mounts (#164, which landed before
the v0.1.1 tag back in September).
runC runs without root privileges (opencontainers/runc#774).

before supporting runC in my examples.  If I get a new ccon release
out the door before those happen, I may post examples that work with
ccon's OCI-emulation layer.


Null/undefined color value

Could Swatches support a null color swatch to unset the color?

@jaywcjlove would it be against the library standard to support nullish values for the several packages?
e,g,; Saturation, HueSlider, EditableInputs, Swatches, et cetera.

@Nosferatu31 like this?
<Saturation
+    hsva={null}
 />

@Nosferatu31 like this?
<Saturation
+    hsva={null}
 />

Exactly

Thank you for the new <Saturation> upgrade.
Is it planned to do the same for other components? (e,g,; HueSlider, EditableInputs, Swatches, et cetera.)

<Hue hue={undefined/null} />
@Nosferatu31 The Hue component supports passing undefined/null values, but the default value is 0. I don’t know what display you need to do after you want to pass a null value.

I currently have an extra (x) button that sets the color to null. Is it possible to get this type of button inside the the swatches? like an x or something similar?

@akwasin Upgrade v2.0.1
Add clear button
import React, { useState } from 'react';
import Github from '@uiw/react-color-github';

export default function Demo() {
  const [hex, setHex] = useState("#fff");
  return (
    <>
      <Github
        color={hex}
        style={{
          '--github-background-color': '#d1eff9'
        }}
        onChange={(color) => {
          setHex(color.hex);
        }}
        rectRender={(props) => {
          if (props.key == 15) {
            return <button key={props.key} onClick={() => setHex(null)}>x</button>
          }
        }}
      />
      <div style={{ width: 120, height: 50, backgroundColor: hex }} />
    </>
  );
}

rectRender only exists on Github style? was hoping that this was a universal thing. Im using Compact as well.

@akwasin Upgrade v2.0.1


optimize: use sprig to add template function

What type of PR is this?

optimize
Check the PR title.

[x] This PR title match the format: <type>(optional scope): <description>.
[x] The description of this PR title is user-oriented and clear enough for others to understand.
[ ] Attach the PR updating the user documentation if the current PR requires user awareness at the usage level. User docs repo.

(Optional) Translate the PR title into Chinese.

使用 sprig 添加更多的模版函数

(Optional) Which issue(s) this PR fixes:

(Optional) The PR that updates user documentation:

Need to add some information to explain the necessity of introducing this dependency.


Pictures problem with new movies

Hi,
Hope you are doing well.
Since 3 or 4 weeks, after each updates, new movies has a description but no pictures.
There is no error message.
Any idea ?
Cheers
Gilles

Hi!
Something has deleted the images. I get reports of this happening from time to time, but there's nothing in Mizuu that would do that, so it must be a 3rd party application.

Thanks for your reply !
Maybe it's clean master ? I check that.

Hi,
after investigation,
I uninstall clean master ==> same issue then
I uninstall ad free and the problem is solved.
Thank you Michell


Use generators for any and all calls and comprehensions

I just made some small improvements:
In any and all calls, generators are faster than lists because the loop can break and short cut if the first True (in any) or False (in all) is found.
Also some cleaner code with comprehensions :)

shouldn't you, following the same logic, in the 2 changes in "active_projects/eop/reusables/histograms.py", change the square brackets into parentheses? So that it would return a generator?

no, because i dont know where they are used. maybe the function that calls them expects them to be lists.
if i know the caller just iterates over the results, i could turn the called functions into generators with the yield statement, but that requires deeper analysis of the code

Seems outdated, so I'm closing this.


Feature/type search

This PR closes #37, implementing type-based searches in Aethel. It also implements #39 in a basic way for testing purposes. The styling of the buttons could use some work, but at least the functionality is there.

Performance is still an issue when the full dataset is used. The last commit provides some improvements regarding the retrieval of existing results in the response object, but further optimisations are needed.
Two possible optimisations in the frontend will be taken up in separate PRs for these issues:

#48 (Lazy loading of samples)
#49 (Paginated queries)


MM-10268 Count inactive users towards total count in system console user list

Summary
Count inactive users towards total count in system console user list. I refactored the system_users component a bit to use more redux patterns.
Ticket Link
https://mattermost.atlassian.net/browse/MM-10268
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Added or updated unit tests (required for all new features)

@jwilander Needs a rebase


ignore errors for nodes without a running firewalld

If firewalld is installed on a fedora or centos system, the ansible scripts attempt to configure it, whether it's running or not. Most of the tasks for configuring firewalld are set to ignore errors, which allows the provisioning to continue on hosts that have firewalld installed, but where firewalld is not running. This PR adds that same ignore_errors: yes to the node firewalld tasks.
cc @eparis

With 9a36b5fcbc19567682cbee5aac0bf92713305d21 should this PR be closed?


Vue-Echarts  is not working in IE9+ , only working in chrome/firefox

Error in mounted hook: "TypeError: Invalid calling object"
TypeError: Invalid calling object
at Animation.prototype._startLoop (eval code:177:13)
at Animation.prototype.start (eval code:188:13)

It seems to be a problem of ECharts itself.

It's caused by https://github.com/ecomfe/zrender/issues/189.
Quick fix: use options without eval for webpack devtool configs.


Port JavaANPR to Android

Because of numerous sugestions at StackOverflow, we should consider porting away from java.awt to something universal, or create a android.graphics port.

Someone seems to have outsourced this (https://www.freelancer.com/projects/Java-Mobile-Phone/Port-JavaANPR-Android-Multi-Country/).
I guess nobody has found the time to make the code in this repository Android compatible?

Cool, thanks for letting us know about that. Unfortunately, no one contributed back any code with Android related fixes yet, and I don't have the time capacity myself.


Rebase MPP branch on master

Edited the commit history (to improve grouping of changes) and pushed the changes manually


CI: consider GH action to surface build warnings and other secondary checks

Context: https://github.com/open-telemetry/opentelemetry.io/pull/2812#issuecomment-1573800658

[x] Surface these checks as a GH action - #3026

Apparently we can no longer have an action status be "neutral"

Extra:

Add warning for links with the text "here"

I'm going to consider this closed by #3026. Adding other checks, as suggested in the opening comment, can be done in the scope of another PR or issue.


#697 App.Metrics.Formatting.StatsD tests failing due to culture differences

The issue or feature being addressed

App.Metrics.Formatting.StatsD tests failing due to culture differences

Details on the issue fix or feature implementation
MetricsStatsDSandbox: Directly referencing App.Metrics.Reporting.Socket since the dependency tries to get resolved before the actual package is created.
App.Metrics.Formatting.StatsD: Updated sample rate conversion to use NumberFormatInfo.InvariantInfo otherwise some systems will use a ',' (comma) instead of a '.' (decimal).
Confirm the following

[ X ] I have ensured that I have merged the latest changes from the dev branch
[ X ] I have successfully run a local build
[ X ] I have included unit tests for the issue/feature
[ X ] I have included the github issue number in my commits

Could you create the PR on branch features/4.3.0 please. Sorry should make clearer in the readme


build(github-actions): adjust schedule

Coverage remained the same at 100.0% when pulling 2c333465d4dc0309fca8d86cdb82ca4f220069a5 on build-github-actions-adjust-schedule into 82d26ff9a9cb2053816a0e40b3c5b9d35557ec49 on main.

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Initial conda-forge release

@hayesgb, @ncclementi mentioned it was decided that we should do a public release on conda-forge of the Coiled Runtime. There was a discussion on Slack around how to go about this technically, which I'll summarize below:

You cannot upload a package to conda-forge that isn't built by the conda-forge bots (i.e. going through the normal staged-recipes -> package-feedstock route)
The only additional content in the coiled-runtime repository is the test suite we run against the pinned package versions in the runtime. These are run today in this repository with GitHub actions, but we could package the tests up and also run them during the conda-forge build process. I see this providing value in the future, but not as a requirement for an initial release (feedback on this from others is welcome)
Next steps would be to issue a release (on GitHub) of the Coiled Runtime (at a minimum we need a license file included in the release) and then go through the normal staged-recipes -> coiled-runtime-feedstock process to get the runtime onto conda-forge.

Questions

Are the existing version pins what we want to include in the initial public release?

https://github.com/coiled/coiled-runtime/blob/96b876dbd1e950a42e50d6890ad72986d05e8611/continuous_integration/recipe/meta.yaml#L13-L44
My guess is we want to ping to an earlier release on dask + distributed from January since there have been deadlocks reported with more recent versions.

Packages on conda-forge need a license. What license should we use for the Coiled Runtime? Dask itself uses BSD-3 -- is that appropriate here too?
...

Thanks @jrbourbeau.
I updated the package versions and added a license.  I also opened a PR with conda-forge.  I'll ping you tomorrow to touch base.

I'm adding here the coiled-runtime staged recipe PR link here so it's easier to track. We are still waiting for a review.
https://github.com/conda-forge/staged-recipes/pull/18611

coiled-runtime is on conda-forge now https://github.com/conda-forge/staged-recipes/pull/18611 🎉


Remove Hasher Include

PR Type

[ ] Breaking change
[ ] Feature
[x] Patch

Brief Description
Removes a lingering include for hasher.hpp.
Not In Scope
PR Checklist

[x] Documentation (comments, API, user, design, and developer as applicable)

API
User
Design
Developer

[x] Testing (unit, integration, performance, as applicable)

Unit
Integration
Performance

[x] Code adheres to organization standards

C++
Python
Doxygen Conventions
reST Conventions

🚀 [bumpr] Bumped! New version:v0.1.1 Changes:v0.1.0...v0.1.1


feat: add ability to provide JSONnet project libraries to runtime inside operator

Relates to https://github.com/grafana-operator/grafana-operator/issues/1175

Thanks for the PR! I intend to take a look at this later on today!

started reviewing, i'll finish it first thing in the morning tomorrow! Looks great so far!

General comment, can we have a user-deployable example in /examples? I appreciate the unit and e2e tests!
This would serve more as an example for users to be able to quickly understand how to work with jsonnet and grafana-operator

General comment, can we have a user-deployable example in /examples? I appreciate the unit and e2e tests! This would serve more as an example for users to be able to quickly understand how to work with jsonnet and grafana-operator

@HubertStefanski Yes, I'll try to add it today. Do you have suggestion or opinion about the content?

Yes, I'll try to add it today. Do you have suggestion or opinion about the content?

Not really, as long as the example is easy to understand and deploy, I think that's enough for a user coming from a Google search to try it out. Doesn't need to be anything fancy, just a simple setup for jsonnet dashboards

@olejeglejeg , just those few EOF errors to fix in your  new examples, and I'll approve!


AUI-2034 Source Formatting

Just started reviewing :) :octocat: Sent from GH.

Closing since this was resent as https://github.com/mairatma/alloy-ui/pull/273


Ensure GCP service logs do not link to ROSA/AWS docs

The "invalid credentials" and "quota exceeded" SLs for GCP contained links to AWS/ROSA docs. This PR corrects those links such that they point to OSD-on-GCP docs.

/label tide/merge-method-squash

/lgtm