Windows Server 2016: gvfs mount from a non-elevated prompt can fail after performing an elevated gvfs clone

See also related issue #1089
Steps to reproduce:

Install Git and VFS4G on a fresh Server 2016 machine
In an elevated CMD prompt

mkdir C:\Repos
cd C:\Repos
gvfs clone https://gvfs.visualstudio.com/ci/_git/ForTests
cd ForTests
dir
gvfs unmount

In a non-elevated CMD

cd C:\Repos\ForTests
gvfs mount

Observed Results
CMD Window
C:\Repos\ForTests>gvfs mount
Attaching ProjFS to volume...Succeeded
Authenticating...Succeeded
Querying remote for config...Succeeded
Configured cache server: None (https://gvfs.visualstudio.com/ci/_git/ForTests)
Validating repo...Succeeded
Mounting...Failed. Run 'gvfs log C:\Repos\ForTests' for more info.
Could not connect to GVFS.Mount: GVFS.Common.NamedPipes.BrokenPipeException: Unable to send: GetStatus ---> System.IO.IOException: Pipe is broken.
   at System.IO.Pipes.PipeStream.WinIOError(Int32 errorCode)
   at System.IO.Pipes.PipeStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
   at GVFS.Common.NamedPipes.NamedPipeStreamWriter.WriteMessage(String message)
   at GVFS.Common.NamedPipes.NamedPipeClient.SendRequest(String message)
   --- End of inner exception stack trace ---
   at GVFS.Common.NamedPipes.NamedPipeClient.SendRequest(String message)
   at GVFS.Common.GVFSEnlistment.WaitUntilMounted(String enlistmentRoot, Boolean unattended, String& errorMessage)

Mount Log
[2019-05-06 16:32:12 -07:00] GVFSMount (Start) {"Version":"1.0.19116.1","EnlistmentRoot":"C:\\Repos\\ForTests","Remote":"https://gvfs.visualstudio.com/ci/_git/ForTests","ObjectsEndpoint":"https://gvfs.visualstudio.com/ci/_git/ForTests","IsElevated":false,"EnlistmentRootPathParameter":"C:\\Repos\\ForTests","StartedByService":"False"}
[2019-05-06 16:32:13 -07:00] RetryConfig_LoadedRetryConfig {"Area":"RetryConfig","Timeout":"00:00:30","MaxRetries":6,"Message":"RetryConfigLoaded"}
[2019-05-06 16:32:14 -07:00] GitStatusCacheConfig_Loaded {"Area":"GitStatusCacheConfig","BackOffTime":"00:00:02","Message":"GitStatusCacheConfigLoaded"}
[2019-05-06 16:32:14 -07:00] CachePathsLoaded {"gitObjectsRoot":"C:\\.gvfsCache\\fd98e3a239ab46abb3ba60192ab2c46a\\gitObjects","localCacheRoot":"C:\\.gvfsCache","blobSizesRoot":"C:\\.gvfsCache\\fd98e3a239ab46abb3ba60192ab2c46a\\blobSizes"}
[2019-05-06 16:32:14 -07:00] Mount_StartedNamedPipe {"NamedPipeName":"GVFS_C_\\REPOS\\FORTESTS"}
[2019-05-06 16:32:14 -07:00] AttemptAnonymousAuth (Start)
[2019-05-06 16:32:15 -07:00] Error {"RepoUrl":"https://gvfs.visualstudio.com/ci/_git/ForTests","ErrorMessage":"Failed to parse credential string for approval"}
[2019-05-06 16:32:15 -07:00] NetworkResponse {"RequestId":1,"availableConnections":8,"CacheName":"","StatusCode":200,"ContentType":"application/json; charset=utf-8","connectionWaitTimeMS":"0.0171","responseWaitTimeMS":"326.0839"}
[2019-05-06 16:32:15 -07:00] AttemptAnonymousAuth (Stop) {"HttpStatus":"200","QuerySucceeded":true,"IsAnonymous":true,"DurationMs":812}
[2019-05-06 16:32:15 -07:00] Information {"Message":"Git status cache is not enabled"}
[2019-05-06 16:32:20 -07:00] Error {"ErrorMessage":"Failed to create src folder callback listener Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 10: 'disk I/O error'.\r\n   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)\r\n   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)\r\n   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()\r\n   at GVFS.Virtualization.BlobSize.BlobSizes.Initialize()\r\n   at GVFS.Virtualization.FileSystemCallbacks..ctor(GVFSContext context, GVFSGitObjects gitObjects, RepoMetadata repoMetadata, BlobSizes blobSizes, GitIndexProjection gitIndexProjection, BackgroundFileSystemTaskRunner backgroundFileSystemTaskRunner, FileSystemVirtualizer fileSystemVirtualizer, GitStatusCache gitStatusCache)\r\n   at GVFS.Mount.InProcessMount.<>c__DisplayClass33_0.<MountAndStartWorkingDirectoryCallbacks>b__1() in E:\\A\\_work\\685\\s\\GVFS\\GVFS.Mount\\InProcessMount.cs:line 553\r\n   at GVFS.Mount.InProcessMount.CreateOrReportAndExit[T](Func`1 factory, String reportMessage) in E:\\A\\_work\\685\\s\\GVFS\\GVFS.Mount\\InProcessMount.cs:line 218"}

Expected Results
gvfs mount should succeed.
Other Thoughts
The failure appears to be related to ACLs.  VFS4G has code for adjusting the ACLs for its repo folders, but the same code is not being run for the .gvfsCache folders:
https://github.com/microsoft/VFSForGit/blob/552323cb0e124580cb72a0c4fd1adc32e7e828e1/GVFS/GVFS.Platform.Windows/WindowsPlatform.cs#L78
Here are the ACLs after the failure:
C:\>icacls C:\Repos\ForTests
C:\Repos\ForTests NT AUTHORITY\Authenticated Users:(M)
                  NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M)
                  NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
                  BUILTIN\Administrators:(I)(OI)(CI)(F)
                  BUILTIN\Users:(I)(OI)(CI)(RX)
                  BUILTIN\Users:(I)(CI)(AD)
                  BUILTIN\Users:(I)(CI)(WD)
                  CREATOR OWNER:(I)(OI)(CI)(IO)(F)

Successfully processed 1 files; Failed processing 0 files

C:\>icacls C:\.gvfsCache
C:\.gvfsCache NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
              BUILTIN\Administrators:(I)(OI)(CI)(F)
              BUILTIN\Users:(I)(OI)(CI)(RX)
              BUILTIN\Users:(I)(CI)(AD)
              BUILTIN\Users:(I)(CI)(WD)
              CREATOR OWNER:(I)(OI)(CI)(IO)(F)

Successfully processed 1 files; Failed processing 0 files

C:\>icacls C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a
C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
                                               BUILTIN\Administrators:(I)(OI)(CI)(F)
                                               BUILTIN\Users:(I)(OI)(CI)(RX)
                                               BUILTIN\Users:(I)(CI)(AD)
                                               BUILTIN\Users:(I)(CI)(WD)
                                               CREATOR OWNER:(I)(OI)(CI)(IO)(F)

Successfully processed 1 files; Failed processing 0 files

C:\>icacls C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a\blobSizes
C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a\blobSizes NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
                                                         BUILTIN\Administrators:(I)(OI)(CI)(F)
                                                         BUILTIN\Users:(I)(OI)(CI)(RX)
                                                         BUILTIN\Users:(I)(CI)(AD)
                                                         BUILTIN\Users:(I)(CI)(WD)
                                                         CREATOR OWNER:(I)(OI)(CI)(IO)(F)

Successfully processed 1 files; Failed processing 0 files

C:\>icacls C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a\blobSizes\BlobSizes.sql
C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a\blobSizes\BlobSizes.sql NT AUTHORITY\SYSTEM:(I)(F)
                                                                       BUILTIN\Administrators:(I)(F)
                                                                       BUILTIN\Users:(I)(RX)

Successfully processed 1 files; Failed processing 0 files

And here are the owners:
C:\>dir /q C:\Repos\ForTests
 Volume in drive C is OSDisk
 Volume Serial Number is 6E93-0C3E

 Directory of C:\Repos\ForTests

05/06/2019  04:29 PM    <DIR>          BUILTIN\Administrators .
05/06/2019  04:29 PM    <DIR>          BUILTIN\Administrators ..
05/06/2019  04:29 PM    <DIR>          BUILTIN\Administrators src
               0 File(s)              0 bytes
               3 Dir(s)  227,351,846,912 bytes free

C:\>dir /q C:\.gvfsCache
 Volume in drive C is OSDisk
 Volume Serial Number is 6E93-0C3E

 Directory of C:\.gvfsCache

05/06/2019  04:29 PM    <DIR>          BUILTIN\Administrators .
05/06/2019  04:29 PM    <DIR>          NT SERVICE\TrustedInsta..
05/06/2019  04:29 PM    <DIR>          BUILTIN\Administrators fd98e3a239ab46abb3ba60192ab2c46a
05/06/2019  04:29 PM               159 BUILTIN\Administrators mapping.dat
               1 File(s)            159 bytes
               3 Dir(s)  227,351,846,912 bytes free

C:\>dir /q C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a
 Volume in drive C is OSDisk
 Volume Serial Number is 6E93-0C3E

 Directory of C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a

05/06/2019  04:29 PM    <DIR>          BUILTIN\Administrators .
05/06/2019  04:29 PM    <DIR>          BUILTIN\Administrators ..
05/06/2019  04:31 PM    <DIR>          BUILTIN\Administrators blobSizes
05/06/2019  04:29 PM    <DIR>          BUILTIN\Administrators gitObjects
               0 File(s)              0 bytes
               4 Dir(s)  227,351,846,912 bytes free

C:\>dir /q C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a\blobSizes
 Volume in drive C is OSDisk
 Volume Serial Number is 6E93-0C3E

 Directory of C:\.gvfsCache\fd98e3a239ab46abb3ba60192ab2c46a\blobSizes

05/06/2019  04:31 PM    <DIR>          BUILTIN\Administrators .
05/06/2019  04:31 PM    <DIR>          BUILTIN\Administrators ..
05/06/2019  04:29 PM            12,288 BUILTIN\Administrators BlobSizes.sql
05/06/2019  04:31 PM            32,768 BUILTIN\Administrators BlobSizes.sql-shm
05/06/2019  04:31 PM             8,272 BUILTIN\Administrators BlobSizes.sql-wal
               3 File(s)         53,328 bytes
               2 Dir(s)  227,351,846,912 bytes free

@jrbriggs @derrickstolee this ACL issue could also prevent the maintenance tasks from updating their .time files.


Matrix in Num context?

Thanks for quick reactions, I currently want to implement most  decompositions and just recently added bool context converter and the .Int give me somewhat headaches. naturally that would be cell count but I want o ask you before if you have any better ideaswhat +$matrix should return.
Thanks

What would the bool converter do? what is a "false" matrix?
For the Int method, the number of cells is a good idea, however, i am not sure we should implement it, let me give you a parallel with list:
> my $list = (1,2,3);
(1 2 3)
> say $list
(1 2 3)
> say +$list
3
> say 10 + $list;
13

in case of a Matrix, a matrix + a scalar, does it make sense? like in adding that scalar to every cell of the matrix?
I mean something like matrix A =
1 2
3 4
doing [B] = [A] + 2 would give B =
3 4
5 6
I'm not even sure that operation would make sense, but if it does, it would be in conflict with +A as to force numerical context
Eager to read you opinions

? test in all numeric domains for nullity like matrix does in my latest patch, jsut test:
?1  -> True
?0  -> False
?0.00 -> False
?(0+0i) -> False   but
?(0+i)   -> True
since complex numbers are in cor ethis is the way to go for multi value numbers as quaterions or matrices.
please see that perl distinguishes between infix and prefix which binds higher. I at least thought we can achieve that 10 $ $list is = (11,12,13) but i dont even think thats desirable. since in normal perl 6 list + int = int + nr lsit elements.

i would like to see such an op like  [B] = [A] + 2 but with some extra syntax (square brackets?) to make sure that something unusual/ in special context is happening

But what you were saying is right, infix Matrix + Numeric or Numerix + Matrix
And prefix +
I can take care of the infix without any issue, i am still confused with the prefix one, i let you implement it.
Seeing the implementation should make my doubts go away

yes we have to test this further, at some point dev speed will settle anyway :)

I see this part of a bigger problem, because once i wanted to get with ||$matrix||2 several norm which would be doable with  category of prefix_circumfix_meta_operator. similar someting like $matrix + [[2]] would make sense to be but im still not convinced its the best solution.

alright since this was just about the method Int, which is now in i close this for now


New feature, cleanRoom, implemented in dorita980 and rest980

Dorita980 and rest980 have both picked up an additional command: cleanRoom which accepts a json payload that tells an i7/s9 a list of rooms to clean. This list can be dynamically assembled.
Presently, people are hacking a google home process in order to target rooms for cleaning. This new process is so much tidier and allows for more than one room.
I've run the new dorita980 code from my laptop and it's wonderful. I'd love to see this implemented in Home Assistant and I understand roombapy is how to get it there.
The pull request on dorita980.
My python skills are rusty so I can't pretend I'd be a lot of help here, but I'm hoping someone can jump in. Depending on my free time, I may make a few attempts. If I have any luck, I'll be back to propose changes.
Thanks and happy holidays.

I added ability to pass additional arguments to command in #22
In HA you can create script which start your iRobot with required params to clean specific room
service: vacuum.send_command
data:
  entity_id: vacuum.irobot
  command: start
  params: {"pmap_id": "<id>", "regions": [{"region_id": "8", "region_name": "Kitchen", "region_type": "kitchen"}], "user_pmapv_id": "<id>"}

Thank you!!

Hello, regarding your example for cleaning a room:
service: vacuum.send_command
data:
  entity_id: vacuum.irobot
  command: start
  params: {"pmap_id": "<id>", "regions": [{"region_id": "8", "region_name": "Kitchen", "region_type": "kitchen"}], "user_pmapv_id": "<id>"}

Where can I get pmap_id, region_id and user_pmapv_id?
Thank you

@galtamur see here: https://community.home-assistant.io/t/irobot-roomba-i7-configuration-using-rest980/161175
I you want to still use this inbuild integration, then it is enough that you temporarily use HA addon: "rest980 Docker Image" and after successful connection go to http://#hassOS_ip#:3000/api/local/info/state
Now run command by app to clean any room and refresh above address, values will be in "lastCommand" field

Also region_type wasn't working for me. I have type instead of region_type.

One thing that might be easier than switching to the rest980 image (which seems to have a fairly long process for installation), is to use this node script:
var dorita980 = require('dorita980');

var myRobotViaLocal = new dorita980.Local('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXX'); // robot IP address

myRobotViaLocal.on('connect', init);

function init () {
  // THIS WORKS:
  myRobotViaLocal.getRobotState(['lastCommand'])
  .then((result) => {console.log("lastCommand:", result.lastCommand); myRobotViaLocal.end()})
  .catch(console.log);
}

Also a little note. If you want the rooms vacuumed in the order you specify, I believe you also need to have an entry in the dictionary where "ordered": "1"
params: {"pmap_id": "<id>", "regions": [{"region_id": "8", "region_name": "Kitchen", "region_type": "kitchen"}], "user_pmapv_id": "<id>", "ordered": "1"}

curious how do you handle cleaning multiple locations at once?

Actually just figured out a pretty easy way to do it.
type: button
tap_action:
action: call-service
service: vacuum.send_command
service_data:
command: start
params:
pmap_id: lNnv4rxeTzeMx07QrtuBxw
regions:
- region_id: '2'
type: zid
- region_id: '3'
type: zid
- region_id: '4'
type: zid
target:
entity_id: vacuum.r2
icon: mdi:robot-vacuum
show_state: true
icon_height: '-100px'
name: Entryways

i was able to get my map pid and a room's region but when i try to send the command nothing happens
service: vacuum.send_command
target:
  entity_id: vacuum.upstairs_roomba
data:
  command: start
  params:
    pmap_id: 8jgiQ7EnTSShhPWcY4HE9Q
    regions:
      - region_id: "6"
        type: rid
    ordered: 1


Functional testing has only one type of client.

Teaclave platform supports four different roles: DataOwner, DataOwnerManger, FuntionOwer, and PlatformAdmin. Different roles have different permissions The current functional testing only one role: PlatformAdmin. We need to add other types of clients in the future.

Besides, the PlatformAdmin is too privileged. It can access almost everything without owning the resource.

And, a user with the same name is registered multiple times and the failure is ignored.


6 hour wait time no longer necessary before redeploying to the previous subnet

This is about:
"Challenges encountered in reassigning API Management instance to previous subnet" section, the "VNet lock" scenario.
Waiting 6 hours is no longer necessary, the previous resources should be cleaned up in under 1 hour.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 8d854b3c-f9f9-7f6a-f889-e19acac2961c
Version Independent ID: ed544e54-d24b-2f37-05b6-8b60eacd2026
Content: Deploy Azure API Management instance to external VNet
Content Source: articles/api-management/api-management-using-with-vnet.md
Service: api-management
GitHub Login: @dlepow
Microsoft Alias: danlep

This was updated on the migration guide, but not on the more generalized VNET integration one.
Migration guide: https://learn.microsoft.com/en-us/azure/api-management/migrate-stv1-to-stv2-vnet

@vlad610
Thanks for your feedback! We will investigate and update as appropriate.

I've assigned this to the content author for their review and appropriate update.


Proposal for full bitcoin integration

While #14 addresses bitcoin pay-in and #310 pay-out using external services, this proposal is for supporting bitcoin directly as an alternative payment vehicle.
Workflow

A participant who wants to give bitcoin is presented with a custom Gittip funding address.
Once this address is funded, the giver can start distributing it.
Profiles with bitcoin enabled (i.e. with a bitcoin address) are eligible to receive bitcoin tips.
Recurring payments will happen automatically until the giver's funds run low.
Recipients are paid directly into their bitcoin wallet.
Email notification are sent reminding givers to replenish their funds.

Implementation

A long passphrase is used to generate an offline wallet, or "brainwallet".
The passphrase-generated deterministic wallet is never stored on disk. By deterministic wallet I mean given a passphrase x and a procedure f, f(x) always generates the same wallet.
The passphrase is never stored on disk but only as an environment variable on the Gittip server.
The passphrase is converted to a private key which is used in memory for signing all bitcoin transactions.
When a participant requests a bitcoin funding address, a new bitcoin address is generated based on the passphrase plus a unique identifier. The way bitcoin addresses work is they are a key pair stored in a wallet file for each receiving address. This proposal uses offline wallets so it doesn't support storing multiple key pairs in a single wallet file. Instead, we can create a new key pair based on the passphrase + id of each participant.
When it comes time to send out weekly payments, private keys are regenerated in memory based on the passphrase and ids. These keys are then used to sign transactions sending funds to recipients' addresses. They way bitcoin works is that transactions are stored in a chain of blocks representing every transaction from the beginning, including those that generate new bitcoins. These transactions must be signed cryptographically. Transaction history determines the current amount of bitcoins associated with each bitcoin address. In order to transfer bitcoins from one account to another, someone has to have the private key associated with the sending address. The private key signs a transaction in much the same way you would sign a check. A transaction signing is an event that is published immediately on the bitcoin network and rapidly confirmed by thousands of other nodes until it becomes a permenant record in the block chain. Thus bitcoin transactions are irreversible once signed. That's what makes the next section so important.
Much of the bitcoin-related code has already been implemented and well documented elsewhere in multiple languages. Thus it would be a matter of integration.

Security

At first when the amount in the funding account is small, it should be sufficient to store the passphrase as an environment variable on the server. An attacker would have to have access to either the working memory on the server or its environment variables in order to compromise this system.
A better solution would be not to store the passphrase anywhere, but instead use some form of secret sharing such as Shamir's or implement multi-signature transactions like in the Armory client. This would mean that an attacker could not compromise the system with only a single secret, but it would be much harder to implement.

We don't do bitcoin anymore, closing this.

You've lost some users then :)  For anyone coming here and wondering about an alternative that does support bitcoin: bountysource's Salt.

@knocte thanks for the heads-up re: an alternative. /=

For context, bitcoin was removed in order to meet anti-money-laundering regulations: https://github.com/gratipay/inside.gratipay.com/issues/192#issuecomment-100048271

For context, bitcoin was removed in order to meet anti-money-laundering regulations

Yes. We dropped bitcoin in order to clearly meet the second of four parts to the definition of a payment processor (by which we are exempt from regulation as a money transmitter), namely, that we "operate through clearance and settlement systems that admit only BSA-regulated financial institutions". Here is a longer explanation.

I wanted to make it clear due to this Twitter stream: https://twitter.com/passcod/status/652630603574067200.

Back-linked to this on the Twitter thread for accuracy :)

Hey, thanks!


PKCS#7 responses lack length

The PKCS#7 response of the gateway lack the length field (infinity is used):
    0:d=0  hl=2 l=inf  cons: SEQUENCE
    2:d=1  hl=2 l=   9 prim: OBJECT            :pkcs7-signedData

It would be preferable to have this field be used as intended; e.g. with a length:
   0:d=0  hl=2 l=2519  cons: SEQUENCE
   2:d=1  hl=2 l=   9 prim: OBJECT            :pkcs7-signedData

This makes the system more robust (e.g. it would have negated the impact of #125 ).
Expected behaviour
Have a length defined.
Steps to reproduce the issue
Pipe the signature/pkcs#7 to
  ... | base64 -d --ignore-missing-padding | openssl asn1parse -inform DER | head -6

and observe the occurance of 'inf'.
Technical details
na
Possible Fix
Set the length.
Additional context

Hi @dirkx ,
at the moment we see no need for adding the length information as long as everything works fine without it.
The effort to implement this would be much higher then the benefit.
Please reopen the ticket if you see a real problem in absence of the length value.

Reason for this is that support for INF outside the world of Bouncy Castle Java is not that common. It is also security wise a bit risky.


Add error, success, complete event handlers to FetchService

A client app has the need to intercept all 401 Unauthorized responses  made by the fetchService to any API endpoints, and redirect the browser to a sign in page instead of throwing/alerting.
This suggests our FetchService could use either interceptors or event handlers.  After discussion with Lee, here is a rough example of how the event handlers onError, onSuccess, and onComplete might be called at the end of the fetchInternalAsync function.
        let throwOnError = true;
        if (!ret.ok && isFunction(this.onError)) {
            throwOnError = this.onError(ret);
        }

        if (!ret.ok) {
            ret.responseText = await this.safeResponseTextAsync(ret);
            if (throwOnError) throw Exception.fetchError(opts, ret);
        } else {
            this.onSuccess?.(ret);
        }

        this.onComplete?.(ret);

        return ret;
}

These would apply to all calls made by the FetchService, and the event handler methods would assigned early in the app lifecycle.

Colin -- would it be enough to just have your custom fetchService in the client app in question have this special behavior, or do you need all Hoist calls to also have it?  I have an easy solution for you if it is the former.

If the latter, it might be more powerful (and easier) to add a facility to Hoist to let application override the core services.

@Lee Wexler @.***> just my custom fetchService, which makes all
API calls in the app.
On Fri, Apr 9, 2021 at 9:14 AM Lee Wexler @.***> wrote:

If the latter, it might be more powerful (and easier) to add a facility to
Hoist to let application override the core services.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/xh/hoist-react/issues/2390#issuecomment-816673422,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AATUM2HSVYYKLCXBZB25JNTTH34U7ANCNFSM42PKBSFQ
.

--
Colin Rudd
Web Developer
@.***
914 433 4911

Colin is going to handle this in client code instead.


Provide a notebook SDK

Create documentation for creating notebook extensions, with helpful code samples and examples of how to create providers which perform common actions.
See webview/custom editor docs for examples.

Tracking in https://github.com/microsoft/vscode-docs/issues/3784


RawData conversion issue: horizontal reputation

Hi,
I think you have a nice dataset which I would like to play with.
I noticed, while running your processing algorithm on the radatron raw data, I get heatmaps in which every row consists of identical values (see image).
Did you encounter these phenomena before, and do you have an idea of what could go wrong on my side? Or do you have any suggestions on generating the correct heatmaps?

I faced a similar issue with the heatmap generation. Could you please share your thoughts on the heatmap generation and visualization of the data?


[Improvement-3878]Tenant list delete user name

#3878

Codecov Report

Merging #4278 (d504fc4) into dev (cdc30f6) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev    #4278   +/-   ##
=========================================
  Coverage     43.11%   43.11%
  Complexity     3151     3151
=========================================
  Files           466      466
  Lines         21603    21603
  Branches       2610     2610
=========================================
  Hits           9314     9314
  Misses        11391    11391
  Partials        898      898

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 cdc30f6...d504fc4. Read the comment docs.


Bump to DevDiv/android-platform-support@c22e8651

Changes: https://devdiv.visualstudio.com/DevDiv/_git/android-platform-support/branchCompare?baseVersion=GCcdef164e7eef35128f74fa1f3ecbd7a878953a43&targetVersion=GCc22e86517918f75cdf147b12252361d90c6577bd

The diff url hurts my eyes! 🙈

I know 😢 that was the best compare URL I could find


Getting unknown exception on android

After the read function and the fingerprint conformation i get -
AuthException{code: AuthExceptionCode.unknown, message: Unexpected authentication error. null}
(Andorid)
This occurs on 3.0.0.
Will test it on 3.0.1 to tell if something changed.
Biometric defined as  -
BiometricStorage().getStorage('safe_token_repo',         options:             StorageFileInitOptions(authenticationValidityDurationSeconds: -1),         promptInfo: const PromptInfo(           androidPromptInfo: AndroidPromptInfo(             title: 'Authentication',             subtitle: '',             description: 'Touch the fingerprint sensor',             negativeButton: 'Use password',           ),           iosPromptInfo: IosPromptInfo(           saveTitle: 'Custom save title',           accessTitle: 'Enter password.',         ),         ));

having the same issue! Any updates on this?

Hmm, not really but i found out that it happens when the app resumes from the background. I added a delay of a few moments before reading from the repository and it helped.

@hpoul it may be related to the app's on resume with android. Can you check what happens if the prompt is shown when the app resumes?

@itaishalom I had the same issue, after an investigation I found a possible race condition between getting the cipher and using it, I have send a PR with my fix, perhaps you want to try it as well?

Works!
@hpoul can you check that PR?

@hpoul
Thank you for fixing this issue.


Fix search page

The projects should be ordered by updated_at DESC
remove About & Occasions

This issue was closed in #1093


Screen Ruler ignores current Desktop

Microsoft PowerToys version
0.82.0
Installation method
PowerToys auto-update
Running as admin
None
Area(s) with issue?
Screen ruler
Steps to reproduce

In a multi-desktop environment, change current desktop using the menu button or Win+Shift+(Left | Right) to one different from Dektop 1
Activate the screen ruler
This will appear always on Desktop 1

✔ Expected Behavior
Chnaging desktop make the rule apper on the focused one
❌ Actual Behavior
The Screen ruler appears only on Dekstop 1
Other Software
No response

/dup https://github.com/microsoft/PowerToys/issues/32205


SAK-29630; fix mailsender for 11

This fixes mail sender. However I'm concerned about RSF. I had to add some additional dependencies to get it to build. That would have nothing to do with this patch. I'm going to issue a separate pull request.

I had to do the patch to RSF-18 as well to make mailsender work. However I don't see any way RSF-18 can be connected to this.

This PR should probably be reverted as the issue is now resolved in RSF.


Radio Inputs do not bind properly

I've attempted numerous Radio Input binding methods, and none of them work properly.
I have attempted the following:

<form>
    <input type="radio" name="gender" value="male" checked="false"> Male

    <input type="radio" name="gender" value="female"> Female

    <input type="radio" name="gender" value="other"> Other
</form>

Expected: None to be selected
Result: Male was selected, even though false was assigned to the attribute

<form>
    <input type="radio" name="gender" value="male" checked="true"> Male

    <input type="radio" name="gender" value="female"> Female

    <input type="radio" name="gender" value="other"> Other
</form>

Expected: Male to be selected, but only on 'true'
Result: Male was selected, and is selected regardless of what value is set to 'checked'.

constructor(){
    this.checked_value = true;
}

<form>
    <input type="radio" name="gender" value="male" checked.bind="checked_value"> Male

    <input type="radio" name="gender" value="female"> Female

    <input type="radio" name="gender" value="other"> Other
</form>

Expected: Male to be selected
Result: Nothing is selected
Is there an explanation for this behavior? The checkbox element works fine, but the radio button defies logic. I am on the Release Candidate version of Aurelia.

Please ask these types of questions on stack overflow and tag with "aurelia".  Include a gist that demonstrates your question.  Thanks!
https://gist.run/?id=83bd182295e7688f13836f298525b028

Thanks for the gist, that cleared it up for me.
On Jun 30, 2016 2:41 PM, "Jeremy Danyow"<EMAIL_ADDRESS>wrote:

Please ask these types of questions on stack overflow and tag with
"aurelia". Include a gist that demonstrates your question. Thanks!
https://gist.run/?id=83bd182295e7688f13836f298525b028
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aurelia/validation/issues/270#issuecomment-229751053,
or mute the thread
https://github.com/notifications/unsubscribe/AQOBZAZM2riSnzcFb4_kzUjuiJwq0iRfks5qRA3XgaJpZM4JCcib
.


Unexpected thread context switch in BSIM_NRFXX platform

Describe the bug
There is a BLE Mesh function that sends mesh packet. Data should be encrypted both transport and network with authentication on each layer where nonce includes the sequence number. Delayed work from system queue interrupts the process in between app encryption and network encryption. Handler of this work sends another packet (with sequence number incremenation). Then the code goes back to the previous procedure and continue encryption in network (but with already incremented sequence). Finally, this packet cannot pass authentication on recipient, that is correct since transport and network used different nonce for authentication (what is the wrong).
BLE Mesh has been designed to work in cooperative environment and doesn't expect context switch somewhere in between functionality.
Further investigation showed that the system work starts execution inside this call: https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/ecb.c#L39
Seems k_busy_wait function causes switching thread context if there is pended system work.
Explanation of the attached log of wrong behavior:

Test runs mesh packet sending.
Mesh stack goes into encryption data on transport level (top red area).
Encryption functionality goes into ble controller until k_busy_wait function (first green area)
Context is switched and sending another BLE Mesh packet is triggered with encryption on network layer (yellow area). This is sending of Friend Poll that is triggered by k_work_delayable that was planned earlier.
After finishing step 4 the context goes back to controller encryption (makes 2 runs in loop) (second green are). Completes encryption.
Goes further to the network layer to start encryption there (bottom red area).

Expected behavior
BLE Mesh thread is not preempted by system queue work. BLE Mesh performs partially in the system works and partially in thread. Mixing of contexts causes the competition for variables (like security materials in this use case).
Platform: nrf5_bsim
Workaround: Disable controller encryption\decryption. Use Host based on tinycrypt enc\dec instead.
To Reproduce
Steps to reproduce the behavior:

checkout main 326eb860b8
apply attached patch (need to modify bsim mesh test scenario and add logging into controller encryption)
bash compile.sh in zephyr/tests/bsim/bluetooth/mesh
bash msg_mesh.sh in zephyr/tests/bsim/bluetooth/mesh/tests_scripts/friendship
See logs (attached log with explanation of wrong behavior)

Impact
BLE Mesh can be broken in any new PR(related to Mesh) if system work fires during encryption\decryption.
Issue is not related to mesh changes, just makes coincidence of system queue work and encryption. In general, bsim tests for mesh are not trustable with such behavior, since Mesh has been designed for cooperative behavior.
Logs and console output
Log has been attached as picture:

Patch with necessary changes is attached too:
context_switch_bug.txt
Environment (please complete the following information):

OS: Linux
Toolchain: Zephyr SDK
Commit SHA: main 326eb860b8

@alxelax What seems to be happening there is the following:
The do_ecb() call in green area happens in the main thread context (preemptible priority 0).
While that is being executing, an interrupt readies eventually the BT receive thread (Cooperative at CONFIG_BT_DRIVER_RX_HIGH_PRIO (-10)), which goes into executing its own do_ecb()
At the very moment in which the "yellow" part enters into do_ecb() this is
the main (interrupted) thread stack:
k_busy_wait() at include/generated/syscalls/kernel.h:133 0x8166e51
do_ecb() at subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/ecb.c:45 0x81671bc
ecb_encrypt_be() at subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/ecb.c:69 0x8167480
bt_encrypt_be() at subsys/bluetooth/controller/crypto/crypto.c:42 0x81568b0
ccm_auth() at subsys/bluetooth/host/aes_ccm.c:119 0x80a4551
bt_ccm_encrypt() at subsys/bluetooth/host/aes_ccm.c:228 0x80a5000
bt_mesh_ccm_encrypt() at subsys/bluetooth/mesh/crypto_tc.c:45 0x812d21d
bt_mesh_app_encrypt() at subsys/bluetooth/mesh/crypto.c:423 0x80d07db
trans_encrypt() at subsys/bluetooth/mesh/transport_legacy.c:619 0x80f09e1
bt_mesh_trans_send() at subsys/bluetooth/mesh/transport_legacy.c:680 0x80f130a
bt_mesh_access_send() at subsys/bluetooth/mesh/access.c:1,097 0x80d542d
bt_mesh_model_send() at subsys/bluetooth/mesh/access.c:1,324 0x80d6bc1
bt_mesh_test_send_async() at tests/bsim/bluetooth/mesh/src/mesh_test.c:429 0x804ff94
bt_mesh_test_send() at tests/bsim/bluetooth/mesh/src/mesh_test.c:457 0x8050213
test_lpn_msg_mesh() at tests/bsim/bluetooth/mesh/src/test_friendship.c:545 0x8058b40
bst_main() at boards/posix/nrf52_bsim/bstests_entry.c:216 0x80994de

And this the BT RX thread stack:
Thread #8 [bs_nrf52_bsim_t] 319568 [core: 22] (Suspended : Breakpoint)
	do_ecb() at subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/ecb.c:35 0x8167078
	ecb_encrypt_be() at subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/ecb.c:69 0x8167480
	bt_encrypt_be() at subsys/bluetooth/controller/crypto/crypto.c:42 0x81568b0
	ccm_auth() at subsys/bluetooth/host/aes_ccm.c:119 0x80a4551
	bt_ccm_encrypt() at subsys/bluetooth/host/aes_ccm.c:228 0x80a5000
	bt_mesh_ccm_encrypt() at subsys/bluetooth/mesh/crypto_tc.c:45 0x812d21d
	bt_mesh_net_encrypt() at subsys/bluetooth/mesh/crypto.c:355 0x80cfd42
	net_encrypt() at subsys/bluetooth/mesh/net.c:482 0x80c3a47
	bt_mesh_net_send() at subsys/bluetooth/mesh/net.c:572 0x80c4288
	send_unseg() at subsys/bluetooth/mesh/transport_legacy.c:195 0x80ede33
	bt_mesh_ctl_send() at subsys/bluetooth/mesh/transport_legacy.c:1,048 0x80f3ae6
	send_friend_poll() at subsys/bluetooth/mesh/lpn.c:481 0x80fe0cb
	bt_mesh_lpn_msg_received() at subsys/bluetooth/mesh/lpn.c:607 0x80fe966
	bt_mesh_trans_recv() at subsys/bluetooth/mesh/transport_legacy.c:1,599 0x80f7813
	bt_mesh_net_recv() at subsys/bluetooth/mesh/net.c:871 0x80c6557
	bt_mesh_scan_cb() at subsys/bluetooth/mesh/adv.c:299 0x80bc30d
	le_adv_recv() at subsys/bluetooth/host/scan.c:470 0x80b707c
	bt_hci_le_adv_ext_report() at subsys/bluetooth/host/scan.c:608 0x80b7c49
	handle_event_common() at subsys/bluetooth/host/hci_core.c:164 0x80a727d
	handle_event() at subsys/bluetooth/host/hci_core.c:176 0x80a731d
	hci_le_meta_event() at subsys/bluetooth/host/hci_core.c:2,339 0x80a8e6d
	handle_event_common() at subsys/bluetooth/host/hci_core.c:164 0x80a727d
	handle_event() at subsys/bluetooth/host/hci_core.c:176 0x80a731d
	hci_event() at subsys/bluetooth/host/hci_core.c:2,425 0x80a9184
	bt_recv() at subsys/bluetooth/host/hci_core.c:3,517 0x80ac4fd
	recv_thread() at subsys/bluetooth/controller/hci/hci_driver.c:664 0x813b13e

Meaning, either that app main thread is wrongfully not configured as cooperative, or the main thread code is calling an API that should not be called from a preemptible thread; or the mesh stack is the one calling directly into an internal API it should not in the caller context.

Seems there is an issue in mesh bsim tests. They are run from the main thread that is preemptible. BLE Mesh should call all functions(including API) only from cooperative, non preemptible threads.
Mesh bsim should be fixed.


Copy base styles from govuk template

For users who want to use govuk_frontend_toolkit and govuk_elements, to make use of GOV.UK design patterns.
govuk_elements has the govuk_template and govuk_frontend_toolkit as dependencies.
To use govuk_elements without the govuk_template, any base styles (which are currently set by the template) are copied to the new partial _base.scss.
Ideally, this file would use Normalize.css as its starting point, which can then be customised to meet the design's requirements.
cc. @fofr, @robinwhittleton.

LGTM


Fix: typo in documentation

Description

Changes "you" to "your".
Current: "The base URL path to use to access you uploads."
Updated: The base URL path to use to access your uploads."

[x] I have read and understand the CONTRIBUTING.md document in this repository

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Thank you @WarrenMfg!


Persistent logs initial documentation

This is initial persistent logs documentation
Do not merge yet

Can we

change the page name to "Logging"
when this page goes live, we will also need to update the existing "analytics and logging" page to just be "Analytics", add the cool new analytics section you wrote, and remove the logging section

Can we

change the page name to "Logging" (matches how Workers does it)
when this page goes live, we will also need to update the existing "analytics and logging" page to just be "Analytics", add the cool new analytics section you wrote, and remove the logging section
the font of the header section is weird. can it match how we have header instructions in the caching page?

 4) add to changelog 5) reminder - we still have to add in the logpush section to this draft PR

Renamed page to logging
Fixed header

Re done on another PR


main: use custom main common to disable listening for termination signals

Description:  Disabling signal handling in the Server::Options makes it so that the server's event dispatcher does not listen for termination signals such as SIGTERM, SIGINT, etc. Previous crashes in iOS were experienced due to early event loop exit as described in #831. Ignoring termination signals makes it more likely that the event loop will only exit due to Engine destruction.
This PR introduces Envoy::MobileMainCommon, as this is the canonical way to customize how main runs, and options setup per https://github.com/envoyproxy/envoy/pull/3424. The new Envoy::MobileMainCommon also does away with other logic in Envoy::MainCommon that does not apply to Envoy Mobile.
Risk Level: med - low-level change in termination handling
Testing: unit test to assert option is correctly set. End to end test with iOS and Android devices to ensure clean exit when the app using envoy mobile exits (and thus destructs the engine). Moreover, there is no event loop exit any longer when the simulator app receives a SIGTERM, i.e., the event dispatcher is no longer listening to SIGTERM and exiting due to them.
Potentially fixes #831. Will need to verify with wider client release.
Signed-off-by: Jose Nino<EMAIL_ADDRESS>

@mattklein123, thanks for the ideas and pointers in #831. Based on my research online, there is a good chance that making it so that the event loop does not listen for termination signals will prevent exits outside of the Engine destructor. @Reflejo if you have some time, I'd appreciate your eyes here. Your expertise would definitely help verify my research.

This looks good for the attempt you are trying to make. I'm still not convinced this is due to a signal by reading the other issue but if it is:
Signal handling is hard. I think it's entirely possible for that null pointer bug to be a red herring (ie. the app crashed for a different reason, sent a SIGTERM / SIGINT so things get shut down twice and the initial crash is lost). Bugsnag is trying to catch signals as well and the ordering is unpredictable.
I don't think there are many other cases where iOS will send anything other than SIGKILL but maybe things changed on recent OSes.
Can we send ENVOY_LOG()s to bugsnag as breadcrumbs? I think that'd be helpful. Or at least have a way to consume logs on crashes.

I think it's entirely possible for that null pointer bug to be a red herring (ie. the app crashed for a different reason, sent a SIGTERM / SIGINT.

I see, potentially. The scenario you described reinforces my wanting to make this change anyways, because the envoy event dispatcher should not be listening to termination signals, and thus leading to envoy's thread termination. The way we organized shutdown the only way to maintain predictable behavior is to have the event loop exit from the exit() call issued in the Engine's destructor. For that reason, this change should still be done to prevent "out of band" event loop exits.

Can we send ENVOY_LOG()s to bugsnag as breadcrumbs? I think that'd be helpful. Or at least have a way to consume logs on crashes.

Yeah, I have thought about that before (doc), but we have not gotten around to prioritize that work.


Parsing failure in extended query protocol

Hello.
i trying to use AGE with JDBC.
and, i faced failure when Message Flow is extended query mode with CREATE clause.
has any solution with this issue or guide?
cheers.
failure query
SELECT * from cypher('my_graph_name', $$
  CREATE (a:Part {part_num: '123'}),
         (b:Part {part_num: '345'}),
         (c:Part {part_num: '456'}),
         (d:Part {part_num: '789'})
$$) as (a agtype);

error message
Type : Error
Length : 98
Severity: ERROR
Code: XX000
Message: unrecognized node type : -1944838080
File : copyfuncs.c
Line: 5658
Routine: copyObjectImpl

environment
Docker : sorrell/agensgraph-extension-alpine
Cheers.
reference link : https://www.postgresql.org/docs/12/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY

Hello,
Judging from the reference link you attached, I am assuming you are using prepared statements in Postgres' JDBC driver. Is this correct?
Unfortunately, the CREATE clause is not currently compatible with prepared statements, even if there are no params passed to the Cypher section of the query. We are looking to add this feature in future releases.

Yes, but it just happened on statement too.
because, Postgres JDBC's default Message Flow is extended mode.
not in Simple query mode like Node.js or Python.
OK. thank you for replying. :)

I will see if I can reproduce the error and see if there might be an
oversight in the copyfuncs.c library.
john
On Mon, Mar 1, 2021 at 9:30 PM Alex Kwak<EMAIL_ADDRESS>wrote:

Yes, but it just happened on statement too.
because, Postgres JDBC's default Message Flow is extended mode.
not in Simple query mode like Node.js or Python.
OK. thank you for replying. :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-age/issues/28#issuecomment-788608577,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALPO4BU6MO2HOQMO3L5BJLTBRZVXANCNFSM4YN6XKNA
.

Josh is correct. I did not find anything that was an oversight.
john
On Tue, Mar 2, 2021 at 9:27 AM John Gemignani<EMAIL_ADDRESS>wrote:

I will see if I can reproduce the error and see if there might be an
oversight in the copyfuncs.c library.
john
On Mon, Mar 1, 2021 at 9:30 PM Alex Kwak<EMAIL_ADDRESS>wrote:

Yes, but it just happened on statement too.
because, Postgres JDBC's default Message Flow is extended mode.
not in Simple query mode like Node.js or Python.
OK. thank you for replying. :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-age/issues/28#issuecomment-788608577,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALPO4BU6MO2HOQMO3L5BJLTBRZVXANCNFSM4YN6XKNA
.

Having the same problem folks.
I'm using the Open source DBeaver to run my queries, and I can not create a graph properly.
It works when using psql though.
DBeaver also works when running data querying that does not involves changing the data.
This is a big problem for us, as our users won't use the command line / psql under any circumstances.
Workaround : I'm thinking about writing a wrapper in Plpython that runs query inside a bash terminal.
That is pretty ugly though.

Hi Remi,
This issue is about creating vertices and edges. Is that the issue you are having or can you not create a graph at all in DBeaver?

Hey @JoshInnis , thanks for answering :-)
I just followed exactly the query from the doc:
SELECT * from cypher('my_graph_name', $$
  CREATE (a:Part {part_num: '123'}),
        (b:Part {part_num: '345'}),
        (c:Part {part_num: '456'}),
        (d:Part {part_num: '789'})
$$) as (a agtype);

We are working on a fix for this right now. I was able to recreate the issue with DBeaver and will test to verify the fix works there as well.

Wow you work fast folks !
I was very interested by the seminar today, I'm super curious to use this extension with medium to large graphs and see what I can do with it.

Hi @emotionbug the JDBC driver is now compatible with Prepared Statements.
@Remi-C, we also tested on DBeaver and the patch should make that compatible to. Btw, glad to hear you enjoyed the presentation.

Thanks @JoshInnis !
Can I simply pull on master to try it, or do I have to use a specific branch / tag?

Currently this patch is only in master.

I checked. This has been resolved.


t5-sentiment example collapses on master

I just rerun the t5-sentiment example and rn on master it has negative kl divergence in new version and does not learn in general.
This seems not have happened since the v0.4.1 release.
The t5-sentiment.py script itself does not seem to be the culprit as i tested master with it reverted to v0.4.1 version and the behavior is identical.

@younesbelkada can you reproduce? negative KL is very suspicious!

I was able to reproduce, will investigate!

The culprit seems to be b5cce0d13e95c8e21eb9d57177930253d9092a02
This PR introduced batched generation on the t5 example, as it can be observed on the wandb log the kl is negative, I can confirm the KL was always positive before that commit

@younesbelkada Understood the bug.  I should have checked more diligently.

No problem at all @GauravVirmani ! Don't worry about that as it can happen to anyone!

I was following the t5-sentiment example in order to run RL training on a custom dataset with a custom metric and it also showed negative KL. So I looked into this issue and the created pull-request, which lead me to I rerun my experiments the same way as @younesbelkada has done in the pull-request:

changing only the generation kwargs
 running on the younesbelkada:fix-t5-neg-kl branch  (aborted this run as soon as I saw negative KL warning)

Unfortunately, none of this fixed the issue. My knowledge about PPO is limited, so I cannot contribute much to the discussion about the underlying issue, but I hope that this information might be useful. Also, I'll be grateful if you point-out an error that I could have committed.
Thanks a lot for your effort working on this amazing library!

Hi @chizhikchi
Thanks for the heads up and for your words!
Sadly your wandb reports seems to be private so we can't see it
We will definitely investigate that, can you double check the solution proposed by @janpawlowskiof , i.e. try on the 0.4.1 release? Also I would give it a try without batched generation
Let us know how it goes!

Hi, @younesbelkada , thank you for the suggestions!
I ran the same experiment on the tix-t5-neg-kl branch without batched generation and I seemed to work better: the KL got negative on some batches, as can be seen on the graph. I aborted this experiment, because it was giving unpromising results.
Then, I run the same experiment on the 0.4.1 version. KL wasn't negative this time, so the problem seems to be related to batched generation.

My model didn't improve much, though, but I think that's a more of a problem of the reward definition and the complexity of the task.

Hope this information helps! Have a nice day :)

Meaningful experiment. Generating results individually in this  code without using batch generation?
response_tensors = ppo_trainer.generate(
query_tensors, return_prompt=False, length_sampler=output_length_sampler, **generation_kwargs
)


Popups are seemingly openend in a new session

Popups from web applications seem to loose their session data when openend in new windows.
I'm thrown back to the app login now.
I've tried --internal-urls .*  but this does not seem to have any effect at all.

This has the effect of making OAuth difficult/impossible to use with the project.

@nickbe @danthedaniel this might have been fixed by https://github.com/nativefier/nativefier/pull/1174 . Can you give Nativefier 43.1.3 a try? With that, considering this fixed, but will re-open if you say it's not.


java.lang.NullPointerException

After some days of porting my application to the latest LWJGL version, I tried to use Dear ImGui with it.
I got a bit confused since in the readme it says you only have to initialize elements and render them, but in the tests of the wiki you are using your own GlfwWindow, and this makes it hard for me since I need a way to port my original glfw window, as a long, to the GlfwWindow.
My code is here:
@Override
 public void drawScreen(int mouseX, int mouseY, float partialTicks) {
        ImGui.INSTANCE.newFrame();

        float[] f = {0f};
        int[] i = {0};

        ImGui.INSTANCE.text("Hello, world %d", 123);

        if (ImGui.INSTANCE.button("OK", new Vec2(20, 20))) {
            System.out.println("OK Button Pressed!");
        }

        ImGui.INSTANCE.sliderFloat("float", f, 0f, 1f, "display format", 0.5f);
        ImGui.INSTANCE.sliderInt("int", i, 0, 100, "display format");

        ImGui.INSTANCE.render();
    }

The exception being thrown is here:
java.lang.NullPointerException: Rendering screen
	at imgui.ImguiKt.getG(imgui.kt:22)
	at imgui.imgui.imgui_main$DefaultImpls.newFrame(main.kt:47)
	at imgui.ImGui.newFrame(imgui.kt:44)
	at <REDACTED>.ClickGUIScreen.drawScreen(ClickGUIScreen.java:61)

Well, given the continuous development, it's easy for the wiki to go out of sync with the actual code..
GlfwWindow is just a wrapping class built around the long handle to enhance and easier the glfw usage, with some code boilerplate reduction.
There is GlfwWindow constructor dedicated to this use case, where you have already a glfw window. In this case, you just create a "dummy" GlfwWindow passing the handle.
Instead of this:
window = GlfwWindow(1280, 720, "ImGui Lwjgl OpenGL3 example")
You shall simply do:
window = GlfwWindow(handle)
Nothing more.. is this really inconvenient and hard?
If you point me the part of the wiki which you found confusing I may re-work it to make it clearer.
Follow the tests:

create a context, init the lwjgl implementation and choose a style (here)
in the loop, at the begin poll the events and call newFrame(), like here, and at the end render the gui like here
then at the end of your application you should clean up, but it's not mandatory

let me know :)

I did it, but I'm getting another exception:
java.lang.NullPointerException: Rendering screen
	at java.io.Reader.<init>(Reader.java:78)
	at java.io.InputStreamReader.<init>(InputStreamReader.java:72)
	at gln.program.Program.createShader(program.kt:176)
	at gln.program.Program.<init>(program.kt:103)
	at imgui.impl.LwjglGL3$ProgramA.<init>(LwjglGL3.kt:262)
	at imgui.impl.LwjglGL3.createDeviceObjects(LwjglGL3.kt:187)
	at imgui.impl.LwjglGL3.newFrame(LwjglGL3.kt:133)
	at <REDACTED>.ClickGUIScreen.drawScreen(ClickGUIScreen.java:85)

My code:
public void setup(int windowHandle) {//Called at init
        this.mc = minecraft;
        this.window = new GlfwWindow(windowHandle);
        this.context = new Context(null);

        this.glfw.init();
        this.window.makeContextCurrent();
        this.imgui.styleColorsDark(null);
    }

    public void close() {//Called after the game loop
        this.lwjglGL3.shutdown();
        ContextKt.destroy(this.context);
        this.glfw.terminate();
    }

    public void draw() {
        this.lwjglGL3.newFrame(); //Exception goes here

        float[] f = {0f};
        int[] i = {0};

        this.imgui.text("Hello, world %d", 123);

        if (this.imgui.button("OK", new Vec2(20, 20))) {
            System.out.println("OK Button Pressed!");
        }

        this.imgui.sliderFloat("float", f, 0f, 1f, "display format", 0.5f);
        this.imgui.sliderInt("int", i, 0, 100, "display format");

        this.imgui.render();
        this.lwjglGL3.renderDrawData(this.imgui.getDrawData());
    }

Now I tried calling getTexDataXXXX and for both methods I get this exception:
java.lang.NoSuchMethodError: org.lwjgl.stb.STBRPRect.was_packed()I
	at imgui.stb.ExtensionsKt.getWasPacked(extensions.kt:14)
	at imgui.FontAtlas.buildPackCustomRects(font.kt:821)
	at imgui.FontAtlas.buildWithStbTrueType(font.kt:633)
	at imgui.FontAtlas.build(font.kt:243)
	at imgui.FontAtlas.getTexDataAsAlpha8(font.kt:252)
	at <REDACTED>.ClickGUIScreen.drawScreen(ClickGUIScreen.java:110) <- line where I call the method

If you already initialize glfw by yourself somewhere else in your program, then you don't need to call these two lines:
        this.glfw.init();
        this.window.makeContextCurrent();

The new exception has to do with the shader creation. I have no idea why it's failing on your pc, however in one of the last commits, I do not load them anymore from File, rather directly from String
Try then to pull the very last commit

I updated to the latest beta now.
Also, the error happens because I'm using latest lwjgl-stb (3.1.6) and the wasPacked method is a boolean, instead of int

I downgraded to LWJGL 3.1.5, but it would be nice if support for latest version is added.
The GUI is fully working now, but I had to create 2 wrapper classes (for LwjglGL3 and program) since ClassLoader#getResourceAsStream doesn't work in my environment.
But now, when I run the setup method, any other input when the GUI isn't being rendered is cancelled. Any tips? My code is the same as before.

Using the initialization code referenced here and using
lwjglGL3.init(new GlfwWindow(myGLFWWindowHandle), true);
just leaves me with an AssertionError...
Exception in thread "main" java.lang.AssertionError: Invalid displaySize value
	at imgui.imgui.imgui_main$DefaultImpls.newFrame(main.kt:49)
	at imgui.ImGui.newFrame(imgui.kt:44)
when calling imgui.newFrame();.
Turning off assertions leads to an IndexOutOfBounds exception..


Peer-to-peer code review

I opened this issue to get some feedback from my morning session team.

The code is looking professional. It all looks good and all the class names used are very descriptive.  However, I feel the names for the transition and animation classes in CSS could be slightly better. for eg "trans-scale".
Everything else is up to perfection. Keep it up. Happy Coding 👨💻  👍

Great use of semantic tags. Code clearly well structured  :1st_place_medal:


Update csmParametersFile parameter description in azure-resource-manager-template-deployment-v3.md

Updated csmParametersFile parameter description to indicate it supports .bicepparam files as a parameter file after updating the task.
These changes will ship with the v235 release of the azure pipeline tasks repository.

@steved0x can this get approved and merged please? The changes described here have gone live.

@Cadacious I am merging it now. Thank you!


[URGENT] Experiencing Authentication Issues

Hi,
I installed an extension into my app service, and now whenever I want to navigate to it, I receive the following message:
Experiencing authentication issues

The portal is having issues getting authentication tokens for WebsitesExtension.

Can you please let me know what I can do? When I search, I see people suggesting to go the web app, and modify something etc., but my problem is that I cannot even go to my app service, let alone change something.
Please, this is really, really urgent, and I have no idea how to solve it

This is likely unrelated to Kudu, so closing here. Can you instead start thread on forum or stackoverflow? Also, please provide much more detail: test site name, what extension are you installing, ...
Or if urgent, please open support case.


define EBML Reader and define its expected behavior

Based on Tim's comment:

A number of the things listed as "attacks" are simply things you said someone writing an EBML Document MUST NOT do (or not doing things you said they MUST do). But in none of those cases do you say what is expected of someone reading a document containing these attacks.

@mbunkus, @robUx4, ideas for such a section? There is a bit of similar language at https://github.com/Matroska-Org/matroska-test-files/blob/master/readme.md but I don't think we have such language for EBML Readers yet.

This section should note what an EBML Reader should do when encountering an invalid VINT_WIDTH. For instance if a Master Element contains 0b0000000000000000.

also from Tim's review:

What are you supposed to do if attempting to read a length (e.g., of a String, which has no defined maximum length) and the entire rest of the file consists of zero bytes?

Should also define what to do with invalid Element IDs. For instance if the Element Data of a Master Element starts with 0x11111111, this is an invalid Element ID, what should the reader do? The next octet(s) could depict an Element Data Size so that it could be known how much to skip but with an invalid Element ID, I wouldn't trust the next data to be a VINT of Element Data Size.

Also what should an EBML Reader do if encountering an Element with unknown size when it is not permitted, such as with a string or integer?

Should define behavior for EBML Reader with excessive lengths of strings. For instance a string element in Matroska may have a length of ~72 Petabytes. Perhaps it is unreasonable to expect that the EBML Reader handle this appropriately.

As Tim wrote regarding "A String Element may declare any length from zero to 'VINTMAX'."

MAY? VINTMAX is not a single value. Its value depends on the octet width (length?) of the Element Data Size. Is there any restriction on this octet width? If not, I would just phrase this as, "A String Element can have any length, including zero." However, it is obvious that no implementation will be able to support strings of completely arbitrarily length. Is there some required minimum that decoders are required to handle? When is a 32-bit system with no more than 4 GB of RAM justified in rejecting a string as too large? How about an embedded media player in someone's television? How would someone writing an EBML document know when writing a string if all decoders will be able to handle it?

What should an EBML Reader do when encountering a character outside of the permitted ASCII range in a string element?

As Tim wrote regarding "A String Element may declare any length from zero to 'VINTMAX'."

MAY? VINTMAX is not a single value. Its value depends on the octet width (length?) of the Element Data Size. Is there any restriction on this octet width? If not, I would just phrase this as, "A String Element can have any length, including zero." However, it is obvious that no implementation will be able to support strings of completely arbitrarily length. Is there some required minimum that decoders are required to handle? When is a 32-bit system with no more than 4 GB of RAM justified in rejecting a string as too large? How about an embedded media player in someone's television? How would someone writing an EBML document know when writing a string if all decoders will be able to handle it?

Re: "All EBML Elements within the EBML Header MUST NOT utilize any Element ID with a length greater than 4 octets.  All EBML Elements within the EBML Header MUST NOT utilize any Element Data Size with a length greater than 4 octets."
Tim asks:

What is a decoder supposed to do if these restrictions are violated?

What should the EBML Reader do if an Element does not contain the required Child Elements (Child Elements have minOccurs that is not met)?

What should EBML Reader do if there are Child Elements that occur more than maxOccurs allows?

The easiest (for the parser) is to ignore from maxOccurs on.

So many questions

In fact I'm not sure we have specified this but it should probably be written somewhere: when an invalid EBML element is detected (impossible EBML data size, EBML ID/size not matching the constraints from the EBML header, etc) the first octet should be discarded and the next octet should be used as the start of the next EBML element. It stops looking for octets when the end of the parent EBML element is reached. This is how libebml(1|2) has always worked.
It may be too implement specific though. Other forms or error recovery may occur that would find EBML elements in other more valid places.


may enable service for ubuntu os

systemctl enable containerd

especially for package manually installed rather than apt install.
e.g.: https://github.com/ssst0n3/docker_archive/blob/d5d00ebfb130aae43325e9e7463987190064f429/cloud.txt#L41

done by https://github.com/ssst0n3/docker_archive/commit/6d80f57b7291dc714d7749477b3220334e7613ec


Non A/B Paper Sizes

I would be great to have more paper sizes beyond just A and B. For example, being able to specify U.S. sizes such as letter, legal, or tabloid would be very useful. More examples can be found here.
I haven't fully thought through how this could be implemented, so it's possible I'm missing a large obstacle, but it seems pretty doable through modification of leaflet.browser.print.sizes.js. Maybe add more fields to L.Control.BrowserPrint.Size or adjust L.Control.BrowserPrint.Mode.prototype.getPaperSize() to check for cases that are not A or B and handle them separately.

Hi,
I will add a set of Metric sizes to the plugin soon.
Regards,
Igor

Hi,
Added more page size options. Please check README.


Fixes MARATHON-7055 by removing the Unstable tag.

The test was already fixed, but the Unstable tag was not removed.

retest this please

retest this please

retest this please

retest this please

retest this please

retest this please

The failure is not related

retest this please

retest this please

retest this please

retest this please

It's green!


Fix config override in LM example README

What does this PR do?

The README  of the language-modeling example is modified: the example with overridden configuration is modified.
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.


fix(config): ensure compatible case with nr1

Resolved #120

 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.


add strategy network

abstract
Please provide here a reasonable pull request description.
fixes
fixes #50
fixes #56
checklist

[x] Make sure you read and understood the CONTRIBUTING.md.
[x] Make sure you applied sufficient labels, milestone and assignee.
[ ] Make sure all commits are squashed before merging.
[ ] Make sure there is sufficient documentation.
[ ] Make sure there are sufficient tests.
[ ] Make sure to delete the feature branch after merging.

Current coverage is 83.30%

Merging #70 into master will increase coverage by +9.01% as of e480b4b

Powered by Codecov. Updated on successful CI builds.

Ok, lots of things happened. Lets write a diary entry and merge this intermediate state. Next thing should be https://github.com/xh3b4sd/anna/issues/82


Highlight table of content item based on sections being viewed

💥 Proposal
It's very useful if the table of content item is highlighted based on the section user is currently viewing or scrolling up/down a long page.
Have you read the Contributing Guidelines on issues?
Yes

Lets move this to https://docusaurus-2.netlify.com/feedback/ to get more feedback !
Its also low priority for us as we are working on the next major version.


Hotfix: GoodMarket popup - Change text

Please change the text to:
"
Visit GoodMarket, our community initiated
Facebook marketplace, where you can buy
and sell items in exchange for G$ coins.
"

@LiavGut deployed v1.7.5

@sirpy according to description

Checked on  prod 1.7.5
LG V30+ // Android 8.0 // Google Chrome 86.0.4240.75
Desktop: Windows 10 // Google Chrome  86.0.4240.75


[WIP] Group service / dynamic handling

Description:
That migrate groups to same favor as persistant_notification work. Internal communication need to be over our event bus. With this PR we are able to use groups over the event bus and allow other platform/compoment to use groups. As side effect we are now able to create dynamic groups or views.
We know now dynamic groups that is used by system and exists only on runtime and the config groups they are setting up by user and are editable with group editor.
service: group.create
data:
  name: My test Group
  # optional:
  view: false
  icon: mdi:house
  control: hidden
  user_defined: True
  entities:
    - bla.bla

service: group.delete
data:
  name: My test Group

service: group.update_tracked_entities
data:
  name: My test Group
  entities:
    - bla.bla

ToDo:

[ ] Update service.yaml
[ ] Migrate ComponentEntity
[ ] Migrate component/device_tracker
[ ] Migrate demo
[ ] Tests have been added to verify that the new code works.

I like the approach. This should be a nice addition. I know that @JesseWebDotCom is waiting for this.
Like I said in the comments, have 1 service that does either creation/updating and 1 service for removing.


reST: Fixed exponential pattern

This fixes #1984.

Thank you @nathf for the detailed report. Thanks to that, I was able to quickly fix the issue.

If this fixes the issue, I'm ok with it. I tagged @Golmote as a reviewer, but if he doesn't have time, we should merge before the weekend.


some character, "λ" and "≡"

Thank you for your great work :-)
The following line's "λ" can be displayed in HTML, but can not be displayed correctly in PDF.
(Please ignore if my environment dependent)

003_lambda_calculus.md, line 358  (at pdf p.50):
$$ \mathtt{let}\ a = e\ \mathtt{in}\ b \quad := \quad (λa.b) e $$
maybe
$$ \mathtt{let}\ a = e\ \mathtt{in}\ b \quad := \quad (\lambda a.b) e $$

The following lines' "λ" and "≡" can be displayed in HTML, but can not be displayed correctly in PDF.

005_evaluation.md, line 84 (at pdf p.69)
(\x. \y. y x) (2 + 2) λx. x + 1

005_evaluation.md, line 173 (at pdf p.71)
=> (\y.y (2 + 2)) λx. x + 1

006_hindley_milner.md, line 1286 (at pdf p.101)
λ: main

007_path.md, line 272-277 (at pdf p.109)
λ> id (1+2)
3
λ> :type (>>=)
(>>=) :: Monad m => m a -> (a -> m b) -> m b
λ> :set -ddump-rn
λ> :load test.fun

007_path.md, line 1235 (at pdf p.126)
f <=< g ≡ \x -> g x >>= f

(Because not yet been able to environment, sorry in this way)

XeLaTeX should handle that fine. The build file looks like it is using XeLaTeX as its engine: https://github.com/sdiehl/write-you-a-haskell/blob/master/Makefile#L42
It might be environment dependent.

xetex supports inline greek characters, although the font that I'm currently using for the monospace font (Source Code Pro) currently doesn't have Greek character support.
https://github.com/adobe-fonts/source-code-pro/issues/48


Handle the - sign in ConvertOdooNameToDotNet (Fix #50)

to avoid TimeZone duplicates in enum values (Fix #50)

Closing this because #62  is a much reliable approach to actually avoid duplicates


Initial code cleanups for ClrMD 2.0

Cleaned up hundreds of messages from FXCop.
Removed ICorDebug related code:  The CLR diagnostics team should own something like this.  I hope to have an example of connecting these two APIs together in the codebase, but not something officially supported through the API.
Removed PDB reader:  ClrMD will no longer read PDBs.  Other Nuget packages should be used.
Removed LockInspection code:  I'm not planning to support this in a side library.
Removed old dump reading code: Before ClrMD 2.0 ships I plan to pick up a dependency on a better dump reading code, or creating a new dump reader.

@leculver If you have time to answer this - I'm quite curious to know what you didn't like about your dump reader code? I've been playing with my own minidump reader for a while (https://github.com/GregTheDev/MinidumpExplorer) and yours seems better than mine :)

@leculver If you have time to answer this - I'm quite curious to know what you didn't like about your dump reader code? I've been playing with my own minidump reader for a while (https://github.com/GregTheDev/MinidumpExplorer) and yours seems better than mine :)

It's fine-ish.  =)
The code currently memmaps the entire dump into memory, so a large dump will either fail to load or cause OOM issues on x86.  I'm mostly trying to reduce the overall code in ClrMD.  I'd rather can improve on something like the SymStore repo's MiniDump reader instead of owning everything myself.
If I can't make it work with symstore I may end up adding back the code and merging some of address/layout reading with the linux core dump reader.


Worked on the scroll to top of the page after pagination change

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Tested this functionality locally and it looks good / solves the problem for me! feel free to put this in other places we use pagination


Improve UX regarding the On Resume feature on the agents page

When an environment is halted, the agents page shows the On resume column. I see two issues here:

I guess the toggle switches belong to the On resume column? But the switches are not correctly aligned with with respect to the column header.
Next to that, it's not very clear from the title what the switch does. I had to hover the switch to know how it works. Wouldn't it be better to rename the column name to unpause on resume?

https://drive.google.com/file/d/1nNACB1f6k8iMhyvMNs74zeHWvAco-iFo/view


Rely on NodeListener instead of periodic detection

https://issues.jenkins-ci.org/browse/JENKINS-33780
Can not be merged without rising the master req drastically.

Todo:

[ ] test rename
[ ] test detection

[x] release from wrong branch

You need ban wrong version, make normal release and only then bump core requirement, either it will block non 2.8 usage.


Square root line position is inconsistent (depending on its contents)

This is on a Retina MBP.
The line above the contents of a square root is inconsistently placed. Interestingly, I just tested this on writelatex.com and they have a similar, but not identical, issue.
Some symbols (seemingly dependent on their height and categorization) cause this issue while others do not. All numerical digits cause this issue, along with parentheses. Short letters (like 'a') result in the whole square root dropping, but I think that is expected. Letters like "h" and "l" cause the rendering to be correct, unless a parenthesis is there. It seems like the tallest character determines the behavior.
I'm not sure if the top of the sqrt symbol is supposed to line up perfectly with the horizontal bar, or if there is supposed to be a little tail sticking out there. writelatex.com also has a slight tail sometimes. I don't have a native LaTeX renderer installed, so I can't test that.
KaTeX:

(blown up:)

writeLaTeX.com: (PDF output)

Is there any workaround for Windows?
I don't think I do anything fancy - styles on my site are based on Bootstrap, yet every sqrt sign has the line in a bad place.
I am open to solutions like fixing some particular font/size/whatever combination if that would help.
I can add some custom CSS styles if that's needed.
Is there any temporary solution to this problem, which could let me transition production from MathJax to KaTeX ? :)

It also seems that only particular font-sizes look bad:
14px - bad
15px - ok
20px - bad
21px - ok
Too bad that Bootstrap uses 14px as the default :/

Looked a bit into this. One problem is, that the line is implemented using a CSS border property, which browsers render differently than fonts.
See this experiment: On my machine I tried to perfectly align the underscore (representing the square root character) and a <span> with some border. I can observe that,

the underscore is rendered a bit aliased, whereas the border is a perfect rectangle, and
scaling down or up using the browser zoom function or by changing the font size shows, that especially in small sizes the border gets visually thinner than the underscore and also moves around a bit.

I assume this is different for other systems and browsers and so on. I thought about using a line character which is embedded into a font, but have not tried anything in this direction yet.

@ronkok do you think it's feasible to use the same approach you used with the stretchy elements to fix this issue?

@kevinbarabash, I doubt that using an SVG image would help. In general, I found that span borders gave better looking renderings than SVG images. Still worth a try, I suppose.
Another thing to try is box-sizing: border-box; CSS to locate the sqrt-line span and its border. Sometimes that method can evade floating point errors in the browser's internal calculations. In this case, I'd rate the likelihood of success to be <50%, but that is enough to make it worth a try.

@ronkok I was thinking that maybe the radical symbol and the radical line could be in the same SVG similar to how the stretchy arrows are.  This would guarantee that the top of the surd and the radical line would match up for all font sizes, wouldn't it?
As for avoid floating-point errors, I think the issue is that font sizes are quantized to the nearest pixel.  This means that while the radical line is in the right spot, the height of the radical symbol isn't what it should be.

@kevinbarabash, I had not thought of putting the radical and the viniculum into the same SVG image. That's an outstanding idea!
Here's a general plan for the JavaScript: (1) Make the radicand into a group node. (2) Add padding to the left of that span that equals the width of the radical. (3) Call svgSpan to get the radical/viniculum image. It would be a nested SVG like the arrows, so the viniculum would stretch but the radical would not stretch. (4) Call buildHTML.makeVList to put it all together.
The weak point of that plan is step (4) makeVList. The radical will be taller than 1 em, so step (4) is blocked by issue #746. Or perhaps, we avoid makeVList and use custom code for vertical alignment in this case.
Other than step (4), it looks pretty easy. And I'm sure that (4) can be overcome, too. It just won't be quite as easy as making a call to makeVList.
Does that all seem reasonable to you?

@kevinbarabash, It occurs to me that IE/Edge do not support CSS mask and so they would not support \color for an SVG radical. That concerns me. I think \sqrt is used much more frequently than anything I added in PR #670.  So I offer some options:

Proceed using the methods from PR #670. Let Edge render all radicals in black.
Wait until Edge supports CSS mask.
Make an exception for \sqrt, and have (Edge|sever-side rendering) write the entire SVG code for a radical inline whenever it is subject to \color. (That would make Edge support \color right now.)  If/when Edge supports mask, do another PR to make \sqrt consistent with other SVGs.

Which would you prefer?

Here's a general plan for the JavaScript: (1) Make the radicand into a group node.

The rest of the plan sounds good.  Could you elaborate on (1)?

Which would you prefer?

Let's go with 1 so that things are consistent.  That's too bad about Edge not supporting CSS mask.  fwiw I voted for it on https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/6261341-css-masking.

The weak point of that plan is step (4) makeVList. The radical will be taller than 1 em, so step (4) is blocked by issue #746. Or perhaps, we avoid makeVList and use custom code for vertical alignment in this case.

Maybe we can add an element with a fixed height that matches the height of the radical.  Is this what you meant by "custom code for vertical alignment"?

By plan step (1), make a group node, I mean nothing more than some code that already exists in groupTypes.sqrt. It starts out with:
const inner = buildGroup(group.value.body, options.havingCrampedStyle());

That's all I meant by plan step (1). Plan step (2) is to add some padding on the left end of inner. That will push it over to the right. Then I can overlay the image, and the radical will overlay into the padded space.
Now the custom code for plan step (4):  I'm working up a function to use as an alternate to buildCommon.makeVList . The proposed function will be much simpler than makeVList because it will be purpose-built to deal with just one special case, that is, one element that is located on the base line and a second element that is a tall image.
I'm calling the proposed function makeImageVList. With that in hand, it will be easy to get the correct vertical alignment for \boxed, \overbracket, \underbracket, and these radicals. It's all coming together nicely.

@ronkok sounds good to me.  I'm glad to hear that it's coming together nicely.  I can't wait to see the results.  This problem has plagued KaTeX for a long time.  I excited at the prospect that we may soon have a solution to it.  Thanks for taking this on.

@kevinbarabash, Two items re: \sqrt:

Do you want a \oldsqrt function?
If I don’t finish this weekend, then this might take several weeks. Time demands are picking up.

@ronkok don't worry about keeping the old implementation.  If it takes a while that's okay.

Preview of coming attractions:

That looks awesome!  Can you post a screenshot at some smaller font sizes?  Small font sizes seem to be where the current approach really breaks down.

In this shot, there is one normalsize radical, to show the scale. The others are in \tiny font size. Don't worry about the height of the last radical. I just haven't got to that part of the code yet.

What about if the outer font size is different sizes? Like 16px, 15px, 14px, 13px, 12px, 11px, 10px. It used to be that many of those would be misaligned.

Those look much bigger than the sizes I mentioned? Not sure if I'm missing something.

I zoomed the browser in to 400%, to get a detailed look.  At normal magnification, these are be small. Below are the same radicals. This screen shot was done at 100% and magnified afterward.

OK cool. That looks good! Oftentimes in the past I saw that they would not line up at small sizes but would line up if you zoomed in.

Progress report: I have prepared SVGs in each radical size. Sizes and styles look good. \color remains to be done and progress is going to slow down tomorrow. But I'm happy with how it looks so far.

Since PR #768 has now landed, it would be good to get a view of the current \sqrt condition. Below are Chrome images from outer fonts sizes of 12 pt, 13 pt, 14 pt, 15 pt, 19 pt, 20 pt and 21 pt.

That may be an improvement over earlier rendering. It's pretty close to spot on. But, since it isn't perfect, I'll go ahead and prepare a PR that uses background SVG images. Then we can compare and pick the better option. It's not obvious to me which choice that will be.

Fixed by #810.


Can't open the same file in WhatsApp protocol after quitting nchat

open/save a file received from WhatsApp protocol -> works
close nchat
remove ~/.config/nchat/profiles/WhatsAppMd*/tmp/*
open nchat
try to open/save the same file again from WhatsApp protocol -> nothing happens

nchat-5.3.3

Thanks for reporting, I will look into this. As a workaround I suppose not removing files from that tmp folder may work.


Upgrade to the latest Sphinx version

Use a forked sphinx-maven-plugin instead of the outdated original
Retrieve the project information from pom.xml in Sphinx conf.py

:+1:


Create infographic widgets for incidents

🚀 Feature Proposal
Create some infographic widgets for incidents.
Examples:

Line graph of reported incidents overtime
Number of new incidents (green down error if less than yesterday, red up error if more than yesterday)
Average time from incident reported to incident resolved
Any other ones that could be useful

For now, I think we can create a tab called "visualize" underneath incidents where these graphs can be located
Technical Notes

Ideally, these widgets should be reusable so that they could be used on the dashboard or other places.

To whom it may concern,
I have a question regarding this issue. Would the use of ChartJS be acceptable?
Best,
Yoseph

@yosephAHMED ive assigned this to you.

I have a question regarding this issue. Would the use of ChartJS be acceptable?

We have a Graphs component in our component library https://components.hospitalrun.io/?path=/story/graphs--bar-graph.

I have a question regarding this issue. Would the use of ChartJS be acceptable?

We have a Graphs component in our component library https://components.hospitalrun.io/?path=/story/graphs--bar-graph.

Very cool! Excited to work on this !!


Linstor backup snaphots

Description
This PR adds an config option for the Linstor primary storage driver, that allows you to automatically backup
volume snapshots to the secondary storage.
Additionally it will not mangle the need java-linstor dependency into the client.jar, but instead just copy
the java-linstor.jar into lib.
Config option is called: lin.backup.snapshots and is default false
The scope of this change should be limited, as it only touches the Linstor driver and a part of copyAsync
was implemented with 2 new Linstor specific commands.

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[x] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

How Has This Been Tested?
Tested on 2 different Linstor clusters, one running LVM the other ZFS.
Additionally send this PR to a PoC tester, who requested this feature.
How did you try to break this feature and the system with this change?

@blueorangutan package

@DaanHoogland a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7339

@DaanHoogland I have another small feature, that depends on this merged.
Should I add that to this PR? or wait and create another PR?

@DaanHoogland I have another small feature, that depends on this merged. Should I add that to this PR? or wait and create another PR?

your choice @rp- , if it is reasonably risk free, I'd add it. else you could wait.

I have added the commit, thanks

@DaanHoogland done, thanks for the review

@blueorangutan package

@DaanHoogland a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7355

@blueorangutan test

@DaanHoogland a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian Build Failed (tid-7976)

@rp- PR is currently showing some extra changes in Files changed. Can you please check and rebase for easier review?

@rp- PR is currently showing some extra changes in Files changed. Can you please check and rebase for easier review?

@shwstppr done

@blueorangutan package

@shwstppr a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7401

@shwstppr a [LL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[LL] Trillian Build Failed (tid-6845)

I just found a bug, with non hyperconverged setup.
So I'll have to fix that before we can continue this merge here
Sorry

I just found a bug, with non hyperconverged setups. So I'll have to fix that before we can continue this merge here Sorry

np, I converted the PR to draft

Ok, bug is fixed and tested.

@blueorangutan package

@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7448

@blueorangutan test

@DaanHoogland a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

is anything still holding this back?

@rp- lets run a round of smoke test. If all good and no objections we can go ahead and merge
@blueorangutan package

@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7572

@blueorangutan test matrix

@DaanHoogland a [SL] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-8184)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 47362 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8067-t8184-xenserver-71.zip
Smoke tests completed. 115 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

[SF] Trillian test result (tid-8185)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 47566 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8067-t8185-vmware-67u3.zip
Smoke tests completed. 114 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_02_balanced_drs_algorithm
Failure
127.08
test_cluster_drs.py

@shwstppr can we merge this?

@shwstppr can we merge this?

@DaanHoogland looks good but should we wait/check for KVM smoke test results? I realized they are missing from the last run

@blueorangutan test alma9 kvm-alma9

@DaanHoogland a [SL] Trillian-Jenkins test job (alma9 mgmt + kvm-alma9) has been kicked to run smoke tests

[SF] Trillian Build Failed (tid-8207)

[SF] Trillian Build Failed (tid-8210)

@blueorangutan test

@shwstppr a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian Build Failed (tid-8211)

@blueorangutan LLtest

@DaanHoogland a [LL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[LL] Trillian Build Failed (tid-6884)

Where could I check what is failing? Or is this internal shapeblue infrastructure testing?

@rp- it is an internal one. I tried to check the failures. I'm unable to add the KVM host to the env and on the host agent gets stuck at,
2023-11-02 11:20:31,054 DEBUG [utils.net.NetUtils] (main:null) (logid:) Retrieving params of address [/<IP_ADDRESS>/20 [/<IP_ADDRESS>]] of NIC [name:cloudbr0 (cloudbr0)].
2023-11-02 11:20:31,056 DEBUG [agent.properties.AgentPropertiesFileHandler] (main:null) (logid:) Property [heartbeat.update.timeout] has empty or null value. Using default value [60000].
2023-11-02 11:20:31,057 DEBUG [agent.properties.AgentPropertiesFileHandler] (main:null) (logid:) Property [reboot.host.and.alert.management.on.heartbeat.timeout] has empty or null value. Using default value [true].
2023-11-02 11:20:31,067 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in the classpath
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) System resource: null
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) Classpath resource: null
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) Current binaries reside at /usr/share/cloudstack-agent/lib
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in /usr/share/cloudstack-agent/lib/scripts/storage/qcow2/managesnapshot.sh
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in /usr/share/cloudstack-agent/lib/scripts/storage/managesnapshot.sh
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in /usr/share/cloudstack-agent/lib/scripts/managesnapshot.sh
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in /usr/share/cloudstack-agent/lib/managesnapshot.sh
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in /usr/share/cloudstack-agent/managesnapshot.sh
2023-11-02 11:20:31,068 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in /usr/share/managesnapshot.sh
2023-11-02 11:20:31,069 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in /usr/managesnapshot.sh
2023-11-02 11:20:31,069 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in /managesnapshot.sh
2023-11-02 11:20:31,069 DEBUG [utils.script.Script] (main:null) (logid:) Searching in environment.properties
2023-11-02 11:20:31,069 DEBUG [utils.script.Script] (main:null) (logid:) environment.properties says scripts should be in /usr/share/cloudstack-common
2023-11-02 11:20:31,069 DEBUG [utils.script.Script] (main:null) (logid:) Looking for managesnapshot.sh in /usr/share/cloudstack-common/scripts/storage/qcow2/managesnapshot.sh
2023-11-02 11:20:31,178 INFO  [kvm.storage.KVMStoragePoolManager] (main:null) (logid:) adding storage adaptor for com.cloud.hypervisor.kvm.storage.LinstorStorageAdaptor

@shwstppr is this for all tests or just for one?
anyway :man_shrugging:

@rp- this is for KVM hypervisor, Advanced zone, trying to add 2xKVM hosts. Trillian is not reaching to the point to run any smoke tests on KVM env

@shwstppr What OS? and is there a chance to get your build packages for that?

@rp- It seems to be failing for all OS we test for KVM - centos7, el8, el9. Which packages would you need? l can't promise but will try

usually I test on ubuntu.
But I would be happy for any packages, to check whats wrong.
because on my end it works of course...

if you can't provide packages, could you check if java-linstor-0.3.0.jar is included in the cloudstack-agent/lib ?
or maybe it is possible to get more debug output, why it gets stuck on loading the LinstorStorageAdaptor?

if you can't provide packages, could you check if java-linstor-0.3.0.jar is included in the cloudstack-agent/lib ? or maybe it is possible to get more debug output, why it gets stuck on loading the LinstorStorageAdaptor?

@rp- sorry I could get time to upload packages publicly.
I checked in the env and lib was missing in cloudstack-agent/lib. Is it because the dependency is removed from plugins/hypervisors/kvm/pom.xml? Would it be better to add the dependency in another module that is present in cloudstack-agent?

@shwstppr where are the dependencies for cloudstack-agent declared?
Seems not in agent/pom.xml
Sorry I'm not really familiar with Maven, we use gradle on our end.
agent should than probably have a dependency to the cloud-plugin-storage-volume-linstor because that is where the LinstorStorageAdapter is located, or maybe the kvm-hyporvisor-plugin should have a dep to it?

@rp- Adding dependency in cloud-plugin-storage-volume-linstor makes sense as it is present in cloudstack-agent. cc @DaanHoogland @rohityadavcloud

@shwstppr where are the dependencies for cloudstack-agent declared? Seems not in agent/pom.xml Sorry I'm not really familiar with Maven, we use gradle on our end.
agent should than probably have a dependency to the cloud-plugin-storage-volume-linstor because that is where the LinstorStorageAdapter is located, or maybe the kvm-hyporvisor-plugin should have a dep to it?

@rp- , sounds like you need to add it in the cloud.spec files. but I already see a line
cp plugins/storage/volume/linstor/target/*.jar  ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib

there. Maybe something else is needed? for the non acs parts of linstore?

@rp- like Daan has advised, you could configure mvn/pom.xml rule to exclude the specific dependency you don't it to shade but ensure it copies the dependency in the lib directory (in the debian and rpm/spec build config file).

@shwstppr I think I got it right now

@blueorangutan package

@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan package

@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7672

@blueorangutan test

@shwstppr a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-8271)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 48291 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8067-t8271-kvm-centos7.zip
Smoke tests completed. 116 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_08_migrate_vm
Error
44.85
test_vm_life_cycle.py

Tests look good now. One failure is unrelated. GH failures are codecov related. Thanks @rp- for fixing. Merging this.


Please add Innova School Perú

Please add Innova School - Perú
web page: https://www.innovaschools.edu.pe/
Thank you

@romulogalindo I am sorry, this domain seems to represent an unusual organization, not a specific single university or a college. The school is aimed to teach people from 3 years old (as per the website), and does not provide a curriculum without registering at the website. It is quite unusual from a regular college or university.
Also, there are some issues regarding registration of the domain. I feel that the email domain of this school is not eligible for being added to this repository.
Please apply for free educational license with an official document which proves that you are a student. You can do it using "OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students.
I have to close the request without merging.
Thank you for your understanding!