Multiple omnisharp.json settings for one project

From @ypapouin on May 31, 2018 11:20
Currently, you can override FormattingOptions by placing an omnisharp.json file at the project root folder.
In my projects, I'm using a lot of sub-modules (git) developed by third parties with different C# settings, but all changes made (for merge request to upstream) in these sub-modules must be formatted by hand to avoid losing original formatting.
I would be happy to be able to customize FormattingOptions for each of these sub-modules.
For each folder containing an omnisharp.json, all sub-folder would recursively apply these settings until a new omnisharp.json is found.
Environment data
dotnet --info output:
Outils en ligne de commande .NET (2.1.104)
Product Information:
Version:            2.1.104
Commit SHA-1 hash:  48ec687460
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.17134
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\2.1.104\
Microsoft .NET Core Shared Framework Host
Version  : 2.0.6
Build    : 74b1c703813c8910df5b96f304b0f2b78cdf194d
VS Code version: 1.23.1
C# Extension version: 1.15.2
Copied from original issue: OmniSharp/omnisharp-vscode#2357

@ypapouin thanks for a feature request.
could you provide a bit more background on what you are trying to do? you have a single solution, where you load multiple projects, but would like to effectively have per-project settings based on the paths, am I understanding you correctly?
Because you can already have multiple omnisharp.json files on different levels, what matters is the startup folder though - OmniSharp will select the one in the current startup directory.

Thanks for moving issue to the right project.
Actually I have a single solution with a single project, but my project is versioned using git and some third-party libraries (as source code) that are set in their own sub-folder.
All these libraries sub-folders are git sub-modules since they are maintained for multiple project. But their maintainer have different formatting options:
MyProject:
├───.git
├───lib
│   ├───display
│   │   ├───.git
│   │   └───code.cs
│   ├───input
│   │   ├───.git
│   │   └───code.cs
│   └───network
│       ├───.git
│       └───code.cs
├───src
│    └───main.cs
├───omnisharp.json
├───project.csproj
└───project_solution.sln

LibMaintainerProject:
├───.git
├───lib
│   ├───display
│   │   ├───.git
│   │   └───code.cs
│   ├───input
│   │   ├───.git
│   │   └───code.cs
│   └───network
│       ├───.git
│       └───code.cs
├───omnisharp.json
├───src
│    └───test_display.cs
│    └───test_input.cs
│    └───test_network.cs
├───omnisharp.json
├───project_lib.csproj
└───project_lib_solution.sln

Would be nice to be able to have:
MyProject:
├───.git
├───lib
│   ├───display
│   │   ├───.git
│   │   ├───code.cs
│   │   └───omnisharp.json
│   ├───input
│   │   ├───.git
│   │   ├───code.cs
│   │   └───omnisharp.json
│   └───network
│       ├───.git
│   │   ├───code.cs
│   │   └───omnisharp.json
├───src
│    └───main.cs
├───omnisharp.json
├───project.csproj
└───project_solution.sln

or:
MyProject:
├───.git
├───lib
│   ├───display
│   │   ├───.git
│   │   └───code.cs
│   ├───input
│   │   ├───.git
│   │   └───code.cs
│   └───network
│   │   ├───.git
│   │   └───code.cs
│   └───omnisharp.json
├───src
│    └───main.cs
├───omnisharp.json
├───project.csproj
└───project_solution.sln

Wouldn't this be better solved by supporting .editorconfig files?

+1

We have decided to not implement this in favor of .editorconfig which can already be used to achieve everything described here


[ODBC Driver 17 for SQL Server] Unsupported cast of parameter data to text/ntext with collation 'Latin1_General_100_BIN2_UTF8'.

Environment
Ubuntu: 20.04.2 LTS amd64
Python: 3.8.2-0ubuntu2 amd64
pyodbc: 4.0.32
driver: ODBC Driver 17 for SQL Server (msodbcsql17) <IP_ADDRESS>-1 amd64
database: Microsoft SQL Server 2019 (RTM-GDR) (KB4583458) - 15.0.2080.9 (X64) Enterprise Edition
running on: Windows Server 2019 Datacenter 10.0  (Build 17763: ) (Hypervisor) / ESXi VMWare
Issue
Parameterised queries raise pyodbc.ProgrammingError:

('42000', "[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot convert to text/ntext or collate to 'Latin1_General_100_BIN2_UTF8' because these legacy LOB types do not support UTF-8 or UTF-16 encodings. Use types varchar(max), nvarchar(max) or a collation which does not have the _SC or _UTF8 flags. (4189) (SQLParamData)")

when string data exceeds 2000 characters and the database collation is utf8 encoded.
Looks like an underlying issue with the driver.
Example code
Attached.
mssql_test.py.gz
Further details in the doc string!

https://github.com/mkleehammer/pyodbc/issues/835
Use setinputsizes() to send as varchar(max).

Thanks for pointing me to the earlier post (and apologies for raising what is essentially the same issue).  I confirm that the use of cursor.setinputsize([(pyodbc.SQL_VARCHAR, 0, 0), ]) fixes the issue in the example code (or SQL_WVARCHAR or both).  Clearly, a more complex issue deeper down.

Alternative to using setinputsizes()
https://github.com/mkleehammer/pyodbc/issues/835#issuecomment-1047228743

Thanks for pointing me to the earlier post (and apologies for raising what is essentially the same issue). I confirm that the use of cursor.setinputsize([(pyodbc.SQL_VARCHAR, 0, 0), ]) fixes the issue in the example code (or SQL_WVARCHAR or both). Clearly, a more complex issue deeper down.
cursor.setinputsizes([(po.SQL_VARCHAR, 0, 0), (po.SQL_WVARCHAR, 0, 0), (po.SQL_CHAR, 0, 0), (po.SQL_WCHAR, 0, 0)])
works for me on Mac M2, thx

works for me on Mac M2, thx

Thanks for pointing me to the earlier post (and apologies for raising what is essentially the same issue). I confirm that the use of cursor.setinputsize([(pyodbc.SQL_VARCHAR, 0, 0), ]) fixes the issue in the example code (or SQL_WVARCHAR or both). Clearly, a more complex issue deeper down.


Add OPENSLIDES_LOGLEVEL

Can we please introduce a new global environment variable OPENSLIDES_LOGLEVEL.
This var may have one of the following values (case sensitive): debug, info, warning, error, critical.
All services should setup the logging according to this variable. If this variable is not set, the default log level should be info in case of a falsy OPENSLIDES_DEVELOPMENT and debug in case of a truthy dev env.
This would allow us a more specific testing in dev mode and in production mode. E. g. I can have a dev mode and use this var to silence some services by adding this var to the respective blocks in the docker-compose.dev.yml. I can also have a production environment and switch on and off the logs for some services the same way.
The OPENSLIDES_DEVELOPMENT is not sufficient because it does some more then just setting the loglevel. If changes the default passwords, auth tokens and thelike.

The second step would be that every service checks that it does not log too much things into the info level. I think it would be a first step to clean up datastore reader, writer and client, but this is not for this issue.

Sounds good to me, although not terribly important atm. The datastore already has DATASTORE_LOG_LEVEL which just has to be renamed.

Ok. As discussed I introduce this variable in manage service and open some issues in all repos.


Put a section for stand alone courses

Maybe helpful for those doing independent coursework and online courses.
The idea is to have a separate section for all the independent coursework the person does.
That will be a separate section within itself.

Let's revisit this later. I feel this could be done in a custom education section.

Closing as this can be done via projects, certifications or education section.
If a separate section is needed, we should open this up for another discussion.


K10 3548 Handle unresponsive nodes when choosing zones on restore

Change Overview
Adding checks on available nodes to make sure they are ready and are schedulable before selecting a zone.
Pull request type
Please check the type of change your PR introduces:

[x] :construction: Work in Progress
[ ] :rainbow: Refactoring (no functional changes, no api changes)
[ ] :hamster: Trivial/Minor
[x] :bug: Bugfix
[ ] :sunflower: Feature
[ ] :world_map: Documentation
[ ] :robot: Test

Issues

#K10-3548, K10-3515

https://kasten.atlassian.net/browse/K10-3548
https://kasten.atlassian.net/browse/K10-3515
Test Plan

[ x] :muscle: Manual
[ x] :zap: Unit test
[ ] :green_heart: E2E

Closing PR because I want to run some additional tests


Editing posted shader on shadered.org

I posted a shader on shadered.org. Is there a way to edit the shader code? Or do I need to delete and re-create to edit?
Shader link:
https://shadered.org/view?s=dXIR2ifo3J

You can either press the "Fork" button to open the shader in SHADERed Lite and then edit the code, upload that and then delete or private the shader you've forked. You can also change the code on the "Quick edit" page and then use the "Quick fork" feature (if you just want to make small changes).
I could add the ability to directly edit the existing shader but not sure if I should though. Does Shadertoy support that?
And thank you for porting that shader to Rust and posting it to shadered.org . Keep it coming! 😀

Thanks for the quick response!
I wasn't able to get the upload button to work. I ended up posting mine with the Quick edit/fork.
Shadertoy does support editing. I know some other similar platforms don't. I like the idea of being able to edit as you can have an example that you can refine over time with a consistent link. Though I can see how not having that feature can make sense in some contexts.
 Will do. Thanks for your work on this awesome tool!


Add logging for Client's public API calls

Addresses #12
Some examples from running tests:
{"feature": "funnel_test", "response": false, "event": "feature is_enabled", "project_id": "project_id", "klass": "PosthogAPIClient", "level": "info", "timestamp": "2024-06-06T20:37:43.594899Z"}
{"feature": "funnel_test", "response": true, "event": "disable feature", "project_id": "project_id", "klass": "PosthogAPIClient", "level": "info", "timestamp": "2024-06-06T20:37:43.603948Z"}
{"feature": "funnel_test", "response": true, "event": "remove feature", "project_id": "project_id", "klass": "PosthogAPIClient", "level": "info", "timestamp": "2024-06-06T20:36:18.666905Z"}

We could probably remove the additional logging in feature_gate/adapters/memory.py right? Thats all covered by the new logging?

We could probably remove the additional logging in feature_gate/adapters/memory.py right? Thats all covered by the new logging?

I can remove it but I only changed a variable/method name for visibility purposes. It may look like I added those statements in the diff, but they predate the changes in this PR. When the memory adapter is introduced the logging is already there.
I'm fine removing the logging. Want to be sure it's for the right reason.

Logging removed from memory adapter in fb6498e but we can revert if this change is unnecessary.
See discussion ☝

@vinbarnes Yeah I think that logging is just redundant now with these changes was the issue. Lets merge. 👍🏻


Fixed the issue of being unable to download images with patterned backgrounds and added the copy function.

修复：无法下载有花纹背景的图片
修复方法：使用<EMAIL_ADDRESS>替换原本的 dom-to-image 依赖
增加：新增复制按钮，可以直接将图片复制到剪贴板
Translation:
Fix: Unable to download images with patterned backgrounds
Solution: Replace the original dependency of dom-to-image with<EMAIL_ADDRESS>add: Add a copy button to directly copy images to the clipboard

I have used the html2canvas before in this project. but the exported quality of the images is not good with it. that's why i switched to dom2image.


ServiceEndpoint Error on K8S Environment

I was able to run fabric network and installed my chaincode on K8S successfully.
Minifab Context:
Minifab Execution Context:
    FABRIC_RELEASE=2.3.0
    CHANNEL_NAME=mychannel
    PEER_DATABASE_TYPE=couchdb
    CHAINCODE_LANGUAGE=node
    CHAINCODE_NAME=payment
    CHAINCODE_VERSION=1.0
    CHAINCODE_INIT_REQUIRED=true
    CHAINCODE_PARAMETERS="queryOrder", "100002"
    CHAINCODE_PRIVATE=false
    CHAINCODE_POLICY=
    TRANSIENT_DATA=
    BLOCK_NUMBER=newest
    EXPOSE_ENDPOINTS=true
    CURRENT_ORG=service.payment.net
    HOST_ADDRESSES=<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>

spec.yaml
fabric:
  cas:
  - "ca1.service.payment.net"
  peers:
  - "peer1.service.payment.net"
  orderers:
  - "orderer1.payment.net"
  settings:
    ca:
      FABRIC_LOGGING_SPEC: DEBUG
    peer:
      FABRIC_LOGGING_SPEC: DEBUG
    orderer:
      FABRIC_LOGGING_SPEC: DEBUG
  endpoint_address: <IP_ADDRESS>
  netname: "fabric"

Minifab generates a connection profile, which looks good to me properly pointing the ingress-controller (<IP_ADDRESS>)
{
  "name": "fabric-network",
  "x-type": "hlfv1",
  "version": "1.0.0",
  "channels": {
    "mychannel": {
      "orderers": [
        "orderer1.payment.net"
      ],
      "peers": [
        "peer1.service.payment.net"
      ]
    }
  },
  "organizations": {
    "payment.net": {
      "mspid": "payment-net",
      "peers": [
      ],
      "orderers": [
        "orderer1.payment.net"
      ]
    },
    "service.payment.net": {
      "mspid": "service-payment-net",
      "peers": [
        "peer1.service.payment.net"
      ],
      "orderers": [
      ],
      "certificateAuthorities": [
        "ca1.service.payment.net"
      ]
    }
  },
  "orderers": {
    "orderer1.payment.net": {
      "url": "grpcs://<IP_ADDRESS>:7003",
      "grpcOptions": {
        "ssl-target-name-override": "orderer1.payment.net"
      },
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICljCCAjygAwIBAgIUOrEfH9CLvOm2OHs05qH6xi5ayM0wCgYIKoZIzj0EAwIw\najELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAwDgYDVQQH\nDAdSYWxlaWdoMRQwEgYDVQQKDAtwYXltZW50Lm5ldDEaMBgGA1UEAwwRdGxzY2Eu\ncGF5bWVudC5uZXQwHhcNMjEwNTI2MTMwNDQ4WhcNMzEwNTI0MTMwNDQ4WjBqMQsw\nCQYDVQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcMB1Jh\nbGVpZ2gxFDASBgNVBAoMC3BheW1lbnQubmV0MRowGAYDVQQDDBF0bHNjYS5wYXlt\nZW50Lm5ldDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMEnWSBAzrU+Lo2qfGOR\nO9WQwTuCwIhPAFrVePh1s/Ta/xB1N8hJTao6a90zZITS6COgcEsR/TDWVkPV5I8+\n8wKjgb8wgbwwHQYDVR0OBBYEFEtL4dW9wPU5nxglFhgEyYRq98oLMB8GA1UdIwQY\nMBaAFEtL4dW9wPU5nxglFhgEyYRq98oLMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P\nAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjA6BgNVHREE\nMzAxhwSQfvEggil0bHNjYS5wYXltZW50Lm5ldCBETlMuMjp0bHNjYS1wYXltZW50\nLW5ldDAKBggqhkjOPQQDAgNIADBFAiEAzo3MlS/PL8vl8eVYs1OFqdTN3c/Ss6KS\nRnmfjie/x4YCIBwT0Blm2Kb0ygt724YEvQM7/T7+95IXL/7I1yMK8G0Z\n-----END CERTIFICATE-----"
      }
    }
  },
  "peers": {
    "peer1.service.payment.net": {
      "url": "grpcs://<IP_ADDRESS>:7001",
      "grpcOptions": {
        "ssl-target-name-override": "peer1.service.payment.net"
      },
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICyTCCAnCgAwIBAgIUZq65vqDef4T4il4HlggOh2dmDtkwCgYIKoZIzj0EAwIw\nezELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAwDgYDVQQH\nDAdSYWxlaWdoMRwwGgYDVQQKDBNzZXJ2aWNlLnBheW1lbnQubmV0MSMwIQYDVQQD\nDBp0bHNjYTEuc2VydmljZS5wYXltZW50Lm5ldDAeFw0yMTA1MjYxMzA1MjRaFw0z\nMTA1MjQxMzA1MjRaMHsxCzAJBgNVBAYTAlVTMRcwFQYDVQQIDA5Ob3J0aCBDYXJv\nbGluYTEQMA4GA1UEBwwHUmFsZWlnaDEcMBoGA1UECgwTc2VydmljZS5wYXltZW50\nLm5ldDEjMCEGA1UEAwwadGxzY2ExLnNlcnZpY2UucGF5bWVudC5uZXQwWTATBgcq\nhkjOPQIBBggqhkjOPQMBBwNCAAR7WOi8nsjEqnelGZWgGMJtn6cegoa3wWs3S48l\nbISgM/3Be15Va5OWgMnoOk6/ewKuyfkIMbe685oh4ipxK9vgo4HRMIHOMB0GA1Ud\nDgQWBBRBhceI9LYU83ZN/5cWBnEQxn5N7DAfBgNVHSMEGDAWgBRBhceI9LYU83ZN\n/5cWBnEQxn5N7DAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBpjAdBgNV\nHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTAYDVR0RBEUwQ4cEkH7xIII7dGxz\nY2ExLnNlcnZpY2UucGF5bWVudC5uZXQgRE5TLjI6dGxzY2ExLXNlcnZpY2UtcGF5\nbWVudC1uZXQwCgYIKoZIzj0EAwIDRwAwRAIgEimV8+nU40JyCKaun2Zt4V+UcDDO\nxp09pzELvu+hnFQCIFN8QGyJkpRtJ5a2exhd0eGnP6ITt93rwoSLNM6VQClY\n-----END CERTIFICATE-----"
      }
    }
  },
  "certificateAuthorities": {
    "ca1.service.payment.net": {
      "url": "https://<IP_ADDRESS>:7000",
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICvjCCAmSgAwIBAgIUKoVri1RjAfu557QvEZkSLBdRkbUwCgYIKoZIzj0EAwIw\neDELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAwDgYDVQQH\nDAdSYWxlaWdoMRwwGgYDVQQKDBNzZXJ2aWNlLnBheW1lbnQubmV0MSAwHgYDVQQD\nDBdjYTEuc2VydmljZS5wYXltZW50Lm5ldDAeFw0yMTA1MjYxMzA1MjRaFw0zMTA1\nMjQxMzA1MjRaMHgxCzAJBgNVBAYTAlVTMRcwFQYDVQQIDA5Ob3J0aCBDYXJvbGlu\nYTEQMA4GA1UEBwwHUmFsZWlnaDEcMBoGA1UECgwTc2VydmljZS5wYXltZW50Lm5l\ndDEgMB4GA1UEAwwXY2ExLnNlcnZpY2UucGF5bWVudC5uZXQwWTATBgcqhkjOPQIB\nBggqhkjOPQMBBwNCAASzcKk5Zff9plhs8aJADJjU9vqIyohuwt59fXjmMlkVvotZ\nw6TyzKg7DvCJXuslP+81K4dLAoYICNT7+7ZXF1KXo4HLMIHIMB0GA1UdDgQWBBT3\n/eaR9MPIGgvawkQNZbWC7bW5tzAfBgNVHSMEGDAWgBT3/eaR9MPIGgvawkQNZbWC\n7bW5tzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU\nBggrBgEFBQcDAQYIKwYBBQUHAwIwRgYDVR0RBD8wPYcEkH7xIII1Y2ExLnNlcnZp\nY2UucGF5bWVudC5uZXQgRE5TLjI6Y2ExLXNlcnZpY2UtcGF5bWVudC1uZXQwCgYI\nKoZIzj0EAwIDSAAwRQIhAJ61HtnjnkbvYgFJiVpkqEw8cy0LDKnRY1JKucTpBmJF\nAiBpFOtQj/OHeBPgJeS+CEK7fZqygpi9em6QwskS4/qa4Q==\n-----END CERTIFICATE-----"
      },
      "httpOptions": { "verify": "false" },
      "caName": "ca1",
      "registrar": { "enrollId": "admin", "enrollSecret": "adminpw"}
    }
  },
  "entityMatchers": {
    "orderer": [
      { "mappedHost": "orderer1.payment.net",
        "pattern": "(\\w*)orderer1.payment.net(\\w*)",
        "sslTargetOverrideUrlSubstitutionExp": "orderer1.payment.net",
        "urlSubstitutionExp": "<IP_ADDRESS>:7003"
      }
    ],
    "peer": [
      { "mappedHost": "peer1.service.payment.net",
        "pattern": "(\\w*)peer1.service.payment.net(\\w*)",
        "sslTargetOverrideUrlSubstitutionExp": "peer1.service.payment.net",
        "urlSubstitutionExp": "<IP_ADDRESS>:7001"
      }
    ],
  "certificateAuthorities": [
      { "mappedHost": "ca1.service.payment.net",
        "pattern": "(\\w*)ca1.service.payment.net(\\w*)",
        "sslTargetOverrideUrlSubstitutionExp": "ca1.service.payment.net",
        "urlSubstitutionExp": "<IP_ADDRESS>:7000"
      }
    ]
  }
}

And this is the K8S Services screenshot

Everything looks good, and fabric network successfully running in k8s. I was also able to deploy the chaincode without any issue. In fact I tried to query and submit transaction using minifabric without any problem as shown
QUERY

INVOKE

But if query and invoke using the connection profile generated by minfabric (as shown above), i am having this error:

As shown in the error, it seems to be referencing to:
Committer- name: <IP_ADDRESS>:7003, url:grpcs://localhost:7003
 Endorser- name: <IP_ADDRESS>:7001, url:grpcs://localhost:7001
Unable to connect to the discovered orderer <IP_ADDRESS>:7003

I dont know where the "localhost" came from, as shown in the connection profile above, there was no reference to "localhost". But nonetheless, as stated above, it works without any issue when doing the query and invoke via minifabric. The issue is only when executing the query and invoke using the connection profile.
Any idea @litong01 @itaru2622

please check the connection profile produced by minifabric and the connection profile used by your app, make sure both places are correct.

Yes they are exactly the same since the APP just referenced the connection profile generated by minifabric directly from vars/profile/ folder

If they are same and never referenced localhost anywhere in the connection profile, then check your app to see why there is such endpoint.

@aguel I didn't have experience about your case yet before(fabric v2.3.0 and nodejs chaincode).
when I tested with following case, it was succceeded as expected.
my test case is:
fabric 2.2.1 x  java chaincode x connection profile (for java generated by minifabric) x couchdb.
I'm also not sure where "localhost" comes from.

I checked playbook and found some differece between "fabric invoke command" and "connection profile" case.
"fabric invoke command" sends request via fabric-tool peer command. in connection profile case, request  is sent via fabric sdk by gprcs.
so, there may be some matter in above differences.

@litong01  @itaru2622  I am closing this issue. I figured out where the problem is and  something not related to minifabric. Please find explaination below:
When using the connection profile, there is a  gateway option as follows:
        const gatewayOptions: GatewayOptions = {
            wallet,
            identity: Global.ADMIN_CA_ID,
            discovery: { enabled: true, asLocalhost: true }
        }
        await gateway.connect(connectionProfile, gatewayOptions)

Because of the asLocalhost: true, the SDK forced to translate the grpcs URL to localhost hence causing the issue. Setting this value to false resolves the issue.
On the otherhand, I noticed the following observation, not sure if this is an issue on minifabric profile generation:
Given
FABRIC_ORG = service.payment.net
FABRIC_CA_NAME = ca1.service.payment.net

When connecting to the FabricCAServices, the SDK uses different format:
K8S
FABRIC_CA.NAME + "." + FABRIC_ORG

NON-K8S
FABRIC_CA.NAME


Bulk file check on slaves

When phabricator jenkins plugin does coverage file parse it checks each covered file on slave which source directory contains source file this can be expensive if you have large code base or large amount if covered source directories or when you have large latency between master<->slave (on another coast), this actually happened with one of project where such "check" was taking 1.5h to completed.
Instead of checking individual files - we collect all needed files and make bulk request. PathResolverChooseMultiCallable is serialized by jenkins and sent to be executed on slave which does this efficiently and returns back result. This might cause extreme memory usage for extremely large code base if such case happens - bulk request will have to be chunked

Coverage increased (+0.2%) to 90.799% when pulling ad43cd2af37c263c2930b07d47d613ec57b7604c on artms:bulk_file_check into 6cfd5260b09a68d4342debd038ff4bee0d91d11f on uber:master.

Coverage increased (+0.2%) to 90.799% when pulling 8fc0ff76c0b0f86db5e317282cb65f8395370b94 on artms:bulk_file_check into 6cfd5260b09a68d4342debd038ff4bee0d91d11f on uber:master.

Coverage increased (+0.2%) to 90.793% when pulling 8a2362ce1bb18a69ced7a1087a22c520ef506d42 on artms:bulk_file_check into 6cfd5260b09a68d4342debd038ff4bee0d91d11f on uber:master.


Allow @unique fields of related model in where clause of upsert()

Problem
When I have 2 models that are related 1:1 and where the @id of model 2 is its scalar representation of the foreign key of model 1, then I'd like to be able to call upsert() on model 2 and use @unique fields of model 1 in the where clause.
Here's an example:
Suppose I have the following model:
model ModelOne {
  id               Int               @default(autoincrement()) @id
  name         String          @unique
  modelTwo ModelTwo?
}

model ModelTwo {
    modelOne ModelOne @relation(fields: [id], references: [id])
    id               Int             @id
    title            String
}

Then I'd like to be able to do the following:
prismaClient.modelTwo.upsert({
  where: {
    account {
      email: "mail"
    },
    update: {
      title: "new title"
    },
    create: {
      modelOne {
        create: {
           name: "original name"
         }
      },
      title: "original title"
    },
  }
})

Actually, I just realized that this extends to findOne() etc. and I'm pretty sure that I already saw an open issue about that particular case on here somewhere. 😅

Yes, I am going to close this as duplicate of https://github.com/prisma/prisma/issues/1924


Update JS extensibility page for inputs

This PR adds details on how to implement custom inputs with the JS SDK.
Microsoft Reviewers: Open in CodeFlow

Docs Build status updates of commit c9def19:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

AdaptiveCards/sdk/rendering-cards/javascript/extensibility.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/javascript/extensibility.md

Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Logitech G-Key Question

Hi thank you for the continual support.
I saw there was now support for the Logitech SDK that is now including the G-keys in your latest version. You mention that this does not include the wrapper. So do we need to wait for an updated wrapper to get the G-keys to function properly or am I doing something wrong.
Thanks for your time!

The wrapper not being updated simply means that other applications that use Logitech LED sdk will not be able to set the g-keys, logo, and badge.
Overall, Aurora will work just fine with the g-keys. It's just the other applications.

I will close this, as it's not really an issue to be resolved. Feel free to continue commenting if you have any further questions.

Sorry I am getting back to this late but when I change the keys on Aurora the colors change but it does not change the keyboard. So the colors are stuck to whatever was last loaded on the Logitech software just as it was before the SDK support. Do you have any suggestions to get the G-keys working? Thanks for everything!


chore: release v0.0.1

🤖 New release

graphql-toolkit: 0.0.0 -> 0.0.1 (✓ API compatible changes)

Changelog

0.0.1 - 2024-05-14
Added

(graphql-toolkit) add async-graphql parser and ast (#2)

This PR was generated with release-plz.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 0.00%. Comparing base (4cd236c) to head (ade2f53).

Additional details and impacted files
@@          Coverage Diff          @@
##            main      #8   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files          1       1
  Lines          6       6
=====================================
  Misses         6       6

Flag
Coverage Δ

integration
0.00% <ø> (ø)

unit
0.00% <ø> (ø)

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

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


fix(bridge): broken compilation issue with bridge

What was wrong?
Not sure how this snuck through, but master was broken due to conflicting pr changes
How was it fixed?
To-Do

[ ] Clean up commit history and use conventional commits.

rage merging to fix master, but @KolbyML just fyi that it looks like the results from state gossip were not being accurately reported / logged


fix(async): rewrote asyncGenerator in node < 10 syntax

Fixes NODE-1922

Great work. Just to note - an alternative fix here to support webpack-style building of this package would be to wrap the execution in an eval statement, so that the syntax error throws on execution of this module instead of on parse of the whole bundle.


No vcs version info in bib container

While looking at https://github.com/osbuild/bootc-image-builder/pull/489#issuecomment-2197787396 I noticed we are not embedding the git revision of bib in our container. It seems like nice feature so I looked into enabling it. My approach so far:
diff --git a/Containerfile b/Containerfile
index 68a8297..9d3da64 100644
--- a/Containerfile
+++ b/Containerfile
@@ -6,7 +6,9 @@ RUN go env -w GOPROXY=$GOPROXY
 RUN cd /build/bib && go mod download
 COPY build.sh /build
 COPY bib /build/bib
+COPY .git /build
 WORKDIR /build
+RUN git rev-parse --short HEAD
 RUN ./build.sh

 FROM registry.fedoraproject.org/fedora:40

seems to be not working even though during the build git rev-parse will print the right output. When running
$ ./build.sh
$ strings bin/bootc-image-builder | grep vcs.revision
build	vcs.revision=8ecb710ba86cc655919dc619980bfd042d29fb63
build	vcs.revision=8ecb710ba86cc655919dc619980bfd042d29fb63

However doing the same inside the Containerfile does not yield the same result, it will just not contain a vcs.revision in buildinfo for unknown reasons.
diff --git a/build.sh b/build.sh
index 1c19119..29d2250 100755
--- a/build.sh
+++ b/build.sh
@@ -8,7 +8,9 @@ CONTAINERS_STORAGE_THIN_TAGS="containers_image_openpgp exclude_graphdriver_btrfs

 cd bib
 set -x
-go build -tags "${CONTAINERS_STORAGE_THIN_TAGS}" -o ../bin/bootc-image-builder ./cmd/bootc-image-builder
+go build -buildvcs=true -tags "${CONTAINERS_STORAGE_THIN_TAGS}" -o ../bin/bootc-image-builder ./cmd/bootc-image-builder
+git rev-parse --short HEAD
+strings ../bin/bootc-image-builder |grep vcs

 # expand the list as we support more architectures
 for arch in amd64 arm64; do

I'm parking this issue for now but I'm a bit puzzled why this is not working.

Found the issue, incorrect use of the COPY in the Containerfile - silly me!


Select aspect ratio as part of the configuration set up

Hi!
First of all thanks for open sourcing this, is great. I've been using it and all great so far. I need to have a fullscreen camera by default (16:9). Right now the only thing I could do is provide the user your Settings dialog and they can try different resolutions but it won't look nice with my layout & needs. Would be great to be able to get the different resolutions or/and aspect ratios available for the device and then pass one of this to the Configuration Builder. What do you think? Is this something you would consider adding?
Best,
Rafa

+1


Response in api docs is missing.

https://github.com/encode/apistar/blob/efc084421ab01c9cd7388463ff5c0ace6287e7ca/apistar/templates/docs/layout/link.html#L68

It would be great if the api docs would show the respond.
(I"m not sure what the link above is supposed to indicate.)


718 - Get single application

Implement GET /applications/{id} endpoint
User must be the creator of the application to retrieve it

 Get an application


base_url support instead of host, port, and scheme and move '/v1' to base_url

When I want to connect to an OpenAI compatible proxy server (i.e. litellm), it does not accept requests including /v1 in the URL.

This works http://localhost:8000/chat/completion
This does not work http://localhost:8000/v1/chat/completion

The official OpenAI python library has base_url option to create client and the default base_url contains /v1

https://github.com/openai/openai-python/blob/195c05a64d39c87b2dfdf1eca2d339597f1fce03/src/openai/_client.py#L121

        if base_url is None:
            base_url = f"https://api.openai.com/v1"

I can make a client for my proxy like
client = openai.OpenAI(api_key="api-key", base_url="http://localhost:8000")

So, I want base_url support instead of host, port and scheme configuration here.
https://github.com/MacPaw/OpenAI/blob/843e087929aa806adb611dbca93f9a4a7f28be04/Sources/OpenAI/OpenAI.swift#L30
Also, I want APIPath not including /v1 and move it to base_url
https://github.com/MacPaw/OpenAI/blob/843e087929aa806adb611dbca93f9a4a7f28be04/Sources/OpenAI/OpenAI.swift#L211-L231

I need this feature. Can a manager review this PR and merge it into the code?


Wrong php version in 0.2.0 tag

Tag 0.2.0 still requires php version 7.1.* instead of ^7.1 like in master branch. Probably you will have to create new tag from master branch. Cheers

@francescomalatesta is it possible to address this?

I believe you need the php version to be ^7.1.0 to support 7.2+


Make django web server wait until the database is up before starting.

The django web server fails if it tries to start when the database container is not yet running. Currently, the django web app container just restarts if it fails, so keeps it failing and restarting until the database is ready. To overcome this we could write a custom manage.py command to ping and wait for the database. Or this could be handled in the docker entrypoint script.

Done with wait-for-it.sh script!


[security] Remove uploaded documents once the embedding is done

Is your feature request related to a problem? Please describe.
Today, the back-end keep the documents uploaded. And for safety, that's not super clean.
Describe the solution you'd like
Would be nice to have the document uploaded, with obfuscated name. The embedding is done. Then the file is removed, no trace left.
Describe alternatives you've considered
Right now, I have to remove the file manually which is annoying.

why the closing without conversation ?

@leobenkel we close issues that lack sufficient details for reproduction or resolution, or that don't follow our issue/feature request template. This helps us maintain clarity and ensures we can address valid concerns effectively. Thank you for understanding!

@leobenkel we close issues that lack sufficient details for reproduction or resolution, or that don't follow our issue/feature request template. This helps us maintain clarity and ensures we can address valid concerns effectively. Thank you for understanding!

I followed the predefined pattern for feature request, what did i miss ?


ERP120400  - Reprogrammed_Dendritic_Cells

Project short name: Reprogrammed_Dendritic_Cells
Primary Wrangler:
Arsenios
Secondary Wrangler:

Associated files

Google Drive:

Published study links

Paper:
Single-cell transcriptional profiling informs efficient reprogramming of human somatic cells to cross-presenting dendritic cells

Accessioned data:
DCP files downloaded in /data/arsenios/Reprogrammed_Dendritic_Cells at ec2

Key Events

[ ] Convert published metadata to HCA spreadsheet
[ ] Manually curate dataset to meet HCA metadata standard
[ ] Collect any matrix and cell-type annotation files
[ ] Are the analysis files suitable for CellxGene? If something is missing get in touch with the authors to request it
[ ] Upload sheet to validate metadata
[ ] Transfer raw files to ingest to validate data files
[ ] Check linking using ingest graph validator
[ ] Ask the Secondary Wrangler for an end-to-end review of the project. Ask the Expertise Wrangler to review specific tabs if needed
[ ] Submit dataset to Production
[ ] Complete the Export SOP
[ ] Convert project data to SCEA format following the SCEA conversion SOP if appropriate

After #1191, it is a DCP1 project that did not contain DOI information. Was left in graph invalid, and this ticket is created to track the process of re-submitting it.

the graph invalid is caused by absence of linking of a differentiation protocol (can it be done through api?)
the publication contains accession number to GEO that includes files that have not been wrangled

Edited the publication info & added the differentiation protocol to the two processes (specimen -> cell_line) and that fixed the graph invalid problem.
We can update the DOI info in the project to have that correct, and do the whole update lated.
Since this is a DCP1 project however, there are analysis files (bam files) in the portal, but no mention of them in the metadata spreadsheet. There are DCP generated matrices as well.

Project with correct DOI has been exported for R36.
Update pending with a question about dcp generated matrices:

If we update the whole project & introduce more donors (therefore more CSs), the DCP generated files would be rendered redundant?


Using elasticsearch-transport-couchbase plugin in a cluster with X-Pack Security

Hello,
I have an Elasticsearch 1.7 cluster with shield installed on it and the elasticsearch-transport-couchbase plugin. It works OK if I add credentials in the elasticsearch.yml file for shield.user (set to "username:password") .
Now I'm working on getting the same setup running on Elasticsearch 5.5 with X-Pack security. The thing is that it doesn't support the shield.user property in the YAML file and I'm not sure if and how it is possible to setup credentials for the couchbase ingestion plugin.
Is this even supported? What's the correct setup?
Thanks!

@Branor - can you shed some light on this?

Can please anyone look into this issue?

Here are some logs from elasticsearch side:
[2017-08-23T11:46:01,758][DEBUG][o.e.t.c.c.CouchbaseCAPITransportImpl] [i-038dcb4e4a2c6bad5-elk5-node] Found transport-couchbase running on: <elastic_ip>:9091
[2017-08-23T11:46:01,777][DEBUG][o.e.t.c.c.CouchbaseCAPITransportImpl] [i-038dcb4e4a2c6bad5-elk5-node] bucket UUID not in cache, looking up
[2017-08-23T11:46:01,779][WARN ][o.e.j.s.ServletHandler   ] /pools/default/buckets
org.elasticsearch.ElasticsearchSecurityException: action [indices:admin/exists] is unauthorized for user [_system]
at org.elasticsearch.xpack.security.support.Exceptions.authorizationError(Exceptions.java:45) ~[?:?]
at org.elasticsearch.xpack.security.authz.AuthorizationService.denialException(AuthorizationService.java:459) ~[?:?]
at org.elasticsearch.xpack.security.authz.AuthorizationService.denial(AuthorizationService.java:430) ~[?:?]
at org.elasticsearch.xpack.security.authz.AuthorizationService.authorize(AuthorizationService.java:157) ~[?:?]
at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$authorizeRequest$4(SecurityActionFilter.java:190) ~[?:?]
at org.elasticsearch.xpack.security.authz.AuthorizationUtils$AsyncAuthorizer.maybeRun(AuthorizationUtils.java:127) ~[?:?]
at org.elasticsearch.xpack.security.authz.AuthorizationUtils$AsyncAuthorizer.setRunAsRoles(AuthorizationUtils.java:121) ~[?:?]
at org.elasticsearch.xpack.security.authz.AuthorizationUtils$AsyncAuthorizer.authorize(AuthorizationUtils.java:103) ~[?:?]
at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.authorizeRequest(SecurityActionFilter.java:205) ~[?:?]
at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$applyInternal$3(SecurityActionFilter.java:181) ~[?:?]
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:59) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.lambda$handleNullToken$12(AuthenticationService.java:326) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.handleNullToken(AuthenticationService.java:336) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.consumeToken(AuthenticationService.java:258) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.lambda$extractToken$5(AuthenticationService.java:234) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.extractToken(AuthenticationService.java:247) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.lambda$authenticateAsync$0(AuthenticationService.java:194) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.lambda$lookForExistingAuthentication$2(AuthenticationService.java:212) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.lookForExistingAuthentication(AuthenticationService.java:224) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.authenticateAsync(AuthenticationService.java:190) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService$Authenticator.access$000(AuthenticationService.java:147) ~[?:?]
at org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(AuthenticationService.java:118) ~[?:?]
at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.applyInternal(SecurityActionFilter.java:180) ~[?:?]
at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:140) ~[?:?]
at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:168) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:142) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:84) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.client.node.NodeClient.executeLocally(NodeClient.java:83) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.client.node.NodeClient.doExecute(NodeClient.java:72) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.client.support.AbstractClient.execute(AbstractClient.java:408) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.client.support.AbstractClient$IndicesAdmin.execute(AbstractClient.java:1256) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:80) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:54) ~[elasticsearch-5.4.1.jar:5.4.1]
at org.elasticsearch.transport.couchbase.capi.ElasticSearchCouchbaseBehavior.getBucketUUID(ElasticSearchCouchbaseBehavior.java:204) ~[elasticsearch-transport-couchbase-<IP_ADDRESS>.jar:?]
at com.couchbase.capi.servlet.BucketMapServlet.formatBuckets(BucketMapServlet.java:115) ~[couchbase-capi-server-1.6.2.jar:?]
at com.couchbase.capi.servlet.BucketMapServlet.executeBucketsRequest(BucketMapServlet.java:104) ~[couchbase-capi-server-1.6.2.jar:?]
at com.couchbase.capi.servlet.BucketMapServlet.doGet(BucketMapServlet.java:74) ~[couchbase-capi-server-1.6.2.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet-api-3.1.0.jar:3.1.0]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) ~[jetty-servlet-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) [jetty-servlet-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513) [jetty-security-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [jetty-servlet-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.Server.handle(Server.java:523) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) [jetty-io-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) [jetty-io-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]

@Branor this ticket is supper urgent can you please look at this issue and report back on how to approach this issue? I don't mind contributing a pull request I just need some guidance on where to patch the plugin.

Because the Elasticsearch plugin interacts directly with the Elasticsearch API, it acts as the internal user named "_system".
I wonder if it's possible to apply the built in "superuser" role to the internal _system user, and whether that would resolve the issue.

@dnault
I have checked that with elasticsearch support, and their answer were that couchbase plugin does not use the API properly and it is need to be rewritten to supply username and password.
and _system user can not be granted more privileges.

@tata2000 Thanks, that's useful information. I've started a thread on the ES forums to figure out what the Couchbase plugin needs to do in order to authenticate properly:
https://discuss.elastic.co/t/how-should-a-plugin-authenticate-with-x-pack/108300
If you'd like to ask your support contact to respond over there, it might expedite the process.

hi @dnault
here is the information that I have received from ES support back when i have asked their help on making it work:

The "_system" user is indeed used internally by Elasticsearch when a TransportClient is used without being properly configured to interact with a cluster protected by Shield/X-Pack Security.
Unfortunately there is no way to change it's privileges and the only supported way to fix this issue is to use the java PreBuiltXPackTransportClient class so you can properly set the "xpack.security.user". See https://www.elastic.co/guide/en/x-pack/current/java-clients.html for more information.
Lastly, keep in mind that the TransportClient will be deprecated in 6.0 and eventually will be completely replaced by the Java REST Client (see https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/index.html for more information)

@dnault also asked ES team to respond on the thread you have started.

Quick update: X-Pack requires talking to Elasticsearch over HTTP instead of using the TransportClient to directly call the internal APIs.
We're building a new version of the connector for ES 6.x that will be compatible with X-Pack (see #180). The new connector will also likely be compatible with ES 5.x, although we're trimming the feature set to match what's supported by ES 6 (no parent-child relationships, etc).
That's the short-term plan. After the new connector ships, we might go back and look at adding X-Pack support to the current connector, but ultimately we'd like to encourage everyone to migrate to ES 6.


Rolling Quantiles

Rolling/expanding quantiles are super slow in pandas, as you might expect. If I am reading the code correctly, there is IQR and rolling MAD, but no rolling quantiles. There is already the function in C to create quantiles. Can this be exposed in the python package?
There is also the option of algorithmically superior operations. Here are some examples:
Heap based moving median: https://aakinshin.net/posts/partitioning-heaps-quantile-estimator/
And approximate moving median/quantiles:
https://aakinshin.net/posts/mp2-quantile-estimator/
https://aakinshin.net/posts/partitioning-heaps-quantile-estimator2/

Hey @joshdunnlime, are you looking to use these directly or in mlforecast?

We'll add mlforecast support in the next release. If you try them here please let us know how it goes, they're not heavily optimized but should be around 20x faster than pandas.


Add static version of library

Hey @dakorn! Would cmake -DBUILD_SHARED_LIBS=OFF as implemented in #133 work in your case?

It's there, though. Did you reset your CMake cache?

Did you checkout the gh-132/static-libs branch?

Looks like the name ALIASing is broken, though. It just produces liblibxyz.a


v4.8.3 - no Auto-deletion or Retention Settings for Audio Recordings

Currently, the app (Whispering 4.8.3 for aarch64) lacks an option in the Settings to configure the retention period for previous recordings or to disable history recordings altogether.
This limitation results in the accumulation of numerous audio files, which users must delete manually on a regular basis.
Feature request: Please implement a setting that allows users to:

Specify how many days of previous recordings to keep (e.g., 2 days, 30 days, etc.)
Automatically delete audio files older than the specified retention period
Optionally disable history recordings entirely

This feature would improve user experience by reducing manual maintenance and storage management tasks.

Great feature request, will take a look into this when I can!

Sorry @rkhrkh for the delay—I've been in training for school for the past few days and it got really intense. Thank you for the resubscribe! I plan on getting to this tomorrow. Hope everything has been going well!

This issue has now escalated into a significant problem. In the past, I regularly deleted older audio files whenever I remembered to do so. However, I haven't done this for quite some time. Now, when I try to view the recordings, it takes several minutes for the application to respond. During this time, the application freezes completely.
After these minutes pass, the recordings do not appear as expected; instead, they are displayed as empty entries. I have included an image to illustrate this issue.
If this problem persists, I will need to take action to prevent the accumulation of too many recordings. My solution would be to revert to an older version of the application where this issue does not occur.

Thank you so much for the feature @rkhrkh ! I just added the feature and will be merging it in the next version.


[Genfill Marquee] MWPW-139958 - Analytics Tracking and Performance Optimization

Resolves: MWPW-139958
Test URLs:

Before: https://main--cc--adobecom.hlx.page/drafts/drashti/MWPW-137345/final-genfill/psonline?martech=off
After: https://stage-genfill--cc--adobecom.hlx.page/drafts/drashti/MWPW-137345/final-genfill/psonline?martech=off

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (21cd52d) 89.06% compared to head (288b0e6) 89.13%.

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #125      +/-   ##
==========================================
+ Coverage   89.06%   89.13%   +0.07%
==========================================
  Files           4        4
  Lines         448      451       +3
==========================================
+ Hits          399      402       +3
  Misses         49       49

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


Having conditionnal expandable rows

In datatable, i tried to have rows which are expandables and some none
see : https://codesandbox.io/s/qq6858v6qj
Expected Behavior
the rows which don't have childs should not have an expand button
Current Behavior
the rows with no child have an expand button
Your Environment

Tech
Version

Material-UI
3.2.2

MUI-datatables
2.0.0-beta-51

React
16.4.0

browser
Chrome Version 73.0.3683.103 (Official Build) (64-bit)

etc

https://github.com/gregnb/mui-datatables/blob/master/src/components/TableSelectCell.js
line 99
have to think about it here

i don't really understand this answer , sorry

So what you are asking is for the ability to have some rows expandable and some not?

yeah, in my datasource i have some master rows, in these rows i can have childs rows or nothing, so yes i can have some rows expandable and some not in the same datatable, that's why i want to hide the expand button when i don't have childs rows , and i'm wondering if it's possible with this actual version of the datatable

So what you are asking is for the ability to have some rows expandable and some not?

Yes, Please

I think having an isRowExpandable option, just like we already have an isRowSelectable option, would be a good way to provide this functionality.

When will this be merged to master?

Probably the release after the next one (so two releases). Could be as soon as a week or two. There are some additional things I wanted to do with expandable rows that I want to bundle in the same release with this one, but I haven't had a chance to work on it yet, as other issues have taken priority.

thank you,
while trying to work with this branch it seems that when isRowExpandable is false, the indication arrow is still visible but only click is disables, am i right?
and can we send also to isRowExpandable: (dataIndex, expandedRows) rowMetadata as well ,so we can make condition such has only if rowMeta has certain info it is expandable.


Upgrade vulnerable npm packages

Thank you! thanks :heart: :yellow_heart: :green_heart: :blue_heart: :purple_heart: -JW


Port tesstrain.sh to Python or C++

Since training tools are available on windows, it will be nice if we have training scripts ported too.
There are two ways:

Python script - which is probably the best option, and
C++ program/script - my personal preference because of easier c++ dependencies integration with CPPAN - initial work (WIP) can be found in https://github.com/egorpugin/tesseract/commits/cpp_tesstrain

Contributions are appreciated.

I like the Python option :)

me too, but it increase dependacy for user that does not need python. Or we try to freezy it ;-)
Should we create extra repository for "test" like this (e.g. tools- experimental)?

Should we create extra repository for "test" like this (e.g. tools- experimental)?

I think this is not needed. We put more scripts in training dir as they are ready.
But still we can also use main repo for development of such tools to provide the best collaborative access.
I did not commit my changes to main repo just because I wanted to notify you first.
Porting of that script is pretty straightforward - prepare some data, run commands.
If we use separate repo - we could issue potential problems with integrating tess code - just extra burden.

vote python and yaml for conf file.  I think it would be a good choice.


why webserver as dependency ?

Hi,
You introduce your webserver role as dependency. Why is that ?
It is not required at all.

See https://github.com/thorian93/ansible-role-common-proxy/blob/master/tasks/apache2.yml line 4.
This strategy is debatable and again feel free to keep your fork and change this. But I am using this as my standard to handle web servers (apache2, httpd, NGINX) automatically, without the need to hardwire variables to either of those daemons and paths.

Hi,
I'll go for a fork because I want to keep it KISS, but it feels bad not to aggregate the efforts.
Have fun.

Sure thing, feel free.
I appreciate every pull request with general improvements, if you like.
Take care!


Prepaid Invoices code 386 and Supplier Address

Hello,
I have read about the new implementation of prepaid invoices in ZATCA XML standards. So currently we have 388 (invoice), 383 (debit note), 381 (credit note) and 386 for prepaid invoices.
In the ZATCA's documentation, it shows about the prepaid amount adjustments and doesn't provide any clarity on the how the prepaid invoices XML looks like.
Does anyone has clarity on the following or received any communication from ZATCA?:

When we receive an advance of 100 SAR for a total transaction value of 300 then first we need to issue an advance invoice with code 386. But in that should we show the amount in prepaid amount or show it as payable amount itself in legal monetary total? Also, when issuing the final invoice should the code be 388 or 386?

How should the XMLs be prepared in case of multiple advance receipts? Say for example we received an advance in 3 stages and then we issue the invoice. Should the XML show 386, 386, 386, and then 388? Should the intermediate advance invoices refer to the previous advance invoices?

What should we do in XML in case we issued a 386 invoice and it needs a correction? How can we raise a debit or credit note for that? What happens if we need to refund the advance?

Another doubt about the supplier XML data: When creating certificates for phase 2 e-invoicing, we have to give the address information. If a taxpayer has 20 branches but all of them have the same VAT number, the question is whether we have to make 20 separate certificates for each branch to use for invoicing. Or is it possible to show the different branch addresses in the XML file using only one certificate?

Download SDK, it has a folder with sample XML and CSR.
On Sat, Jul 29, 2023 at 2:12 PM, alsabith12 @.***>
wrote:

Hello,
I have read about the new implementation of prepaid invoices in ZATCA XML
standards. So currently we have 388 (invoice), 383 (debit note), 381
(credit note) and 386 for prepaid invoices.
In the ZATCA's documentation, it shows about the prepaid amount
adjustments and doesn't provide any clarity on the how the prepaid invoices
XML looks like.
Does anyone has clarity on the following or received any communication
from ZATCA?:

When we receive an advance of 100 SAR for a total transaction value of
300 then first we need to issue an advance invoice with code 386. But in
that should we show the amount in prepaid amount or show it as payable
amount itself in legal monetary total? Also, when issuing the final invoice
should the code be 388 or 386?
2.
How should the XMLs be prepared in case of multiple advance receipts?
Say for example we received an advance in 3 stages and then we issue the
invoice. Should the XML show 386, 386, 386, and then 388? Should the
intermediate advance invoices refer to the previous advance invoices?
3.
What should we do in XML in case we issued a 386 invoice and it needs
a correction? How can we raise a debit or credit note for that? What
happens if we need to refund the advance?
Another doubt about the supplier XML data: When creating certificates for
phase 2 e-invoicing, we have to give the address information. If a taxpayer
has 20 branches but all of them have the same VAT number, the question is
whether we have to make 20 separate certificates for each branch to use for
invoicing. Or is it possible to show the different branch addresses in the
XML file using only one certificate?
—
Reply to this email directly, view it on GitHub
https://github.com/wes4m/zatca-xml-js/issues/43, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPK2CL47DYFPSCQ4KZFYUTXSTHYVANCNFSM6AAAAAA24MFUVE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@fuadhasni
I don't see any examples in the SDK folder for Prepaid Invoices. Kindly share the XML here.


Provide ability to set client suggested identity provider

What:
Keycloak allows to pass client suggested identity provider
https://www.keycloak.org/docs/latest/server_admin/index.html#_client_suggested_idp
It's a great feature which helps to specify exact IDP needed for specific client.
Keycloak Gatekeeper doesn't support passing of this parameter as of now (couldn't find it in docs).
There could be two options:

Add kc-idp-hint as a configuration option, so that gatekeeper can set it's own suggested idp.
Allow passing query parameter to the Gatekeeper such as ?kc_idp_hint= which would open desired idp.

One doesn't exclude another so it can support both.
Reference:

KEYCLOAK-11499 - [keycloak-gatekeeper] Provide ability to set client suggested identity provider
https://github.com/louketo/louketo-proxy/pull/495

I support this request big time, I strongly need this.
Both the options mentioned above would at least allow me to configure (docker swarm stack) 1 gatekeeper per idp and in my opinion it is much better than having to add one keycloak realm per idp (using the "Identity Provider Redirector" defaulting to such idp.
Today for that I have the following config instead: "--discovery-url=http://keycklock-url.com:7000/auth/realms/realm-alias"   (instead of master) for each idp.
I was thinking that even a better idea would be for gatekeeper to capture the kc_idp_hint from the original url request to the it and so then I can have ONLY 1 gatekeeper configured.
Thoughts?
Thank you!
Ricky

@rickyschechter would you like to give this PR a try https://github.com/louketo/louketo-proxy/pull/495 to see if it covers what you need? It's still incomplete and it requires more testing, but you are welcome to provide some feedback there.

Any progress on this ? I am very interested in this feature.

Hi @c0rmichels
As far as I know, the louketo project is no longer maintained and you may have a look at https://oauth2-proxy.github.io/oauth2-proxy/


Question: use cases for crate2nix generated default.nix

A general question...
I'm curious what the use cases are for the default.nix generated by crate2nix. I can see a case for using Nix and its cacheing for building during development, and locally. However, is it useful to submit the generated default.nix to Nixpkgs? For one thing, the generated file is very large, and for another, since rust is statically linked, the project can be built at once with buildRustPackage and cached as one package, once it's been cached, there should be no penalty for doing a full build with Cargo, so I don't see the advantage, and if there is, i'm curious what it is.
I'm asking since I'm thinking of submitting a package to Nixpkgs, and i'm not sure whether to add the crate2nix generated default.nix or just use the single buildRustPackage, which the majority of Rust packages on Nixpkgs use. It even seems to be the case that a rather small minority of Rust packages on Nixpkgs use carnix.

Well, I guess this is an open question. My main motivation for crate2nix was making my custom binaries buildable/deployable with nixops. I think that nix has great potential for that because with more work it can then also be used for providing extensive dependencies during test (e.g. postgres). That would e.g. make it trivial to run tests against different versions of postgres prior to a migration.
For nixpkgs, I guess there is a trade-off between the size of the nix expressions and reusing cached dependencies. Also for nixpkgs if only some library dependency or the binary code has changed, it is still nice to only re-build what is necessary. If multiple binaries happen to use the exact same library dependency, it has only to been built once. How often that happens, I don't know. You could obviously do more work to ensure that binaries use the same library versions as long as they are compatible. This would be similar to adding them to one "cargo workspace". Updating their dependencies on the same snapshot of crates.io would probably already go a long way but then we would not use the locked dependencies of the upstream...
Does that make sense? I'd love to hear your opinion.


Add template for new feature pull request

Little by little, each developer started doing different tasks. I know you are busy with your own development, but I think it is important to catch up with what other developers are developing. So I'm going to set up a section in the pull request so that other people can easily check the new behavior you made. What do you think?
Inspired by #75.
#76 is an example.

Having "Related issue" will help the reviewers understand the problem, so sounds good. Maybe the title should be "Related issue (if exists)"?

Thanks! I agree with adding a few more items!
However, each of these may be open to further discussion, so I'll leave them out of the scope of this pull request.
I will file a new pull request for related issues section right after this, but I also welcome PRs from you to add other items.


Fix swap screen

Codecov Report
Patch and project coverage have no change.

Comparison is base (c95993b) 84.27% compared to head (f08168b) 84.27%.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #194   +/-   ##
========================================
  Coverage    84.27%   84.27%
========================================
  Files           17       17
  Lines         2168     2168
========================================
  Hits          1827     1827
  Misses         341      341

Flag
Coverage Δ

unittests
84.27% <ø> (ø)

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

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


scoop installation

Ìd like to have it on a scoop or winget repository for easy upgrade

I'm not used to scoop. Feel free to propose the elements to build it

Hi, I'm not a programmer so I cannot really explain.  Looks just to create a json manifest?
Here (under Creating Packages) are the instructions https://scoop.sh/, to create a package but then I donnow how to put it on the repositories.
Thank you

I'm sorry but I don't have time to look at this.
Is any interested into developping this

ok thanks anyway

Nobody proposed a fix. I close this as not planned


DHCP Option 234 - Inform responses being dropped.

**** This ticket serves for information purposes only. ****
The devops team were approached by the EUC team with regards to issues with clients obtaining dhcp option 234. After some testing it became apparent that windows clients first obtained an ip address via a normal discover, offer, request, ack (DORA) flow, however sometime afterwards the client would request parameter 234 via a dhcp inform message. The difference with inform messages is that the response from the dhcp server is sent back directly to the client rather than via the dhcp relay ip. It was suspected that responses from the server were being dropped somewhere as the client never received it. After testing and validating the policies and logs in the 10sc model office environment it was found that there were no firewall rules permitting responses from the dhcp server subnets back to client subnets and the responses were therefore being denied.

RITM1157628 covers this piece of work from a network perspective.


gimp: 2.10.8 → 2.10.10

Motivation for this change
Announcement: https://www.gimp.org/news/2019/04/07/gimp-2-10-10-released/
GIMP Changes: https://gitlab.gnome.org/GNOME/gimp/blob/GIMP_2_10_10/NEWS
GEGL Changes: https://gitlab.gnome.org/GNOME/gegl/blob/GEGL_0_4_14/docs/NEWS.txt
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

gegl_0_4 regressed on Darwin, compare https://github.com/NixOS/nixpkgs/pull/50116#issuecomment-437556482


Onboarding azure confidentialledge

Docs Build status updates of commit 14447d4:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-mapping/reference-preview.yml
:warning:Warning

Details

docfx.json
:white_check_mark:Succeeded

docs-ref-mapping/reference-preview.yml

Line 96, Column 10: [Warning-xref-not-found] Cross reference not found: 'azure.python.sdk.landingPage.services.digitaltwins.pre'.
Line 169, Column 10: [Warning-xref-not-found] Cross reference not found: 'azure.python.sdk.landingPage.services.Purview.pre'.
Line 190, Column 12: [Warning-xref-not-found] Cross reference not found: 'azure.python.sdk.landingPage.services.ResourceGraph.Management.pre'.
Line 198, Column 12: [Warning-xref-not-found] Cross reference not found: 'azure.python.sdk.landingPage.services.ResourceMover.Management.pre'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Is it possible to change the slides at run-time?

I am implementing a filter so I would like to change the content of the slider at run-time.
I understand that rebuild does not work due to a reactivity limitation in the original library, but has anyone managed to work around this? I would appreciate if any of you could share a solution.

I managed to make it work. I used v-if to remove the slider instance and re-initialize it with the new slides array.
So what I did, when I click on a filter, I set the v-if to false, (to remove the slider instance), then I force an update to make sure with this.$forceUpdate(); and then in the next tick function I set the array of slides so that the new slider instance will be initialized again.
this.$nextTick(function () {
    // ... set new array here
});```


read retrieval is defined in a way that is very difficult efficiently implemented

SearchReadsRequest  in
https://github.com/ga4gh/schemas/blob/master/src/main/resources/avro/readmethods.avdl
is defined to require returning reads across multiple ReadGroupSets sorted by chromosome location.
This potentially requires a sort/merge of reads across tens of thousands of BAMs.
I don't know of any use cases that would require this.  Sorting is normally only within a BAM/ReadGroupSet.
Until there is a streaming API,  a single request that cross ReadGroupSets/BAMs makes little since.

Limit the scope to single BAM/ReadGroupSet?

Absolutely one BAM.  Apparently the was strong argument against
this limit before, but it suspect it was conflated with other
issues.
Vadim Zalunin<EMAIL_ADDRESS>writes:

Limit the scope to single BAM/ReadGroupSet?

See: https://github.com/ga4gh/schemas/pull/253#discussion_r26700450

determine that this is not an issue, but reasonable for search to put restrictions on how wide a request to support.


Calculator functionality

Calculator Functionality

In this branch, I have implemented the following changes:

Add Calculate and Operate files for the logic of Calculator.
Add Big.js as a module dependency.
Fix eslinters on Calculate and Operate files.
Implement functionality of calculator using the logic located on Calculate and Operate files.

Thanks, @Lameck1 for your kindly feedback!. I really appreciate your work. Keep doing the awesome job that you are doing it until now.

You are very much welcome @TheLuisAbarca. Thanks.


[STICKY] Error: Module version mismatch.

Problem
Whenever you use a module with one version of node that was compiled for another version of node, you'll get a mismatch.
Error: Module version mismatch.

Workaround
rm -rf node_modules/s2geometry-node
npm install

Solution
I am working on a version of s2geometry that is written in pure javascript and doesn't require a C++ compiler at all and I would like some help.

Fixed with https://github.com/Daplie/node-pokemap/issues/7


[GIE/Runtime] Support PathExpand with OPT=AllVE in Runtime

What do these changes do?

As titled.
Related issue number

Fixes

Codecov Report

Merging #2841 (34bab4e) into main (9a265dc) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #2841   +/-   ##
=======================================
  Coverage   42.44%   42.44%
=======================================
  Files          99       99
  Lines       10654    10654
=======================================
  Hits         4522     4522
  Misses       6132     6132

Continue to review full report in Codecov by Sentry.

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


Transition property for light card

I don't believe there's currently a way to use a light bulb with a light card and have the light use its transition feature (fading in or out softly) unless the bridge implements it.
This is the case for something like the Philips Hue Bridge, using Hue light bulbs.
If you're to use the same Hue light bulb with something like a zigbee bridge, the transition is typically not automatically implemented and needs to be directly stated as a property by the action i.e. the mushroom card.
I can think of hacky ways of getting this to work involving scripts etc but thought it would defeat the purprose of mushroom being about simplicity. Might it be possible to include a transition property  for lights alongside the current settings? Thanks

There's no need for this property.
You can use the tap action in conjuction with call-service (light.toggle) and the service allows to set the transition duration:
type: custom:mushroom-light-card
entity: light.my_light_entity
use_light_color: true
show_brightness_control: true
show_color_temp_control: true
show_color_control: true
tap_action:
  action: call-service
  service: light.toggle
  service_data:
    transition: 5
  target:
    entity_id: light.my_light_entity

I might be wrong, but I think that this only works for turning a light on or off. If I adjust the brightness via the slider it manifests as a rather abrupt jump, sending no transition property.

Yep, it's only for action, not for slider.
Thank's for the suggestion. For now, controls are only boolean option but I plan to add more customization for each control. Adjusting transition for slider can be a option 🙂

Curious if there's been any movement on this. Playing around with changing my Hue bulbs to ZHA, moved one over to test. Noticed my non hue bridge bulb was abruptly changing colors while the rest all softly change. I really like that and would hate to lose it as it's such a subtle feature but really makes a huge impact.
Ps. Loving the mushroom card set and shadow theme. Definitely the best designed cards I've found.


feat: Improve PreRendered component

First of all this library is awesome.
I have run into one main issue when I am using it though.
For instance say I have a bunch of posts that I want to render in preview on a page:
export const load = () => {
    const posts = db.posts(); // just an example

    return {
        posts
    }
}

The issue is that when it gets to the page and I need to render it I haven't prerendered the content of the post.
I could add a property on post to add the rendered content too but thats not so great. A better way would be to just individually render the content on the client. The docs unfortunately don't give a lot of guidance for situations like this.
The solution I have come to is to do something like this:
<!-- Start rendering -->
{#await carta.render(post.content)}
    <!-- While rendering -->
    {@html carta.renderSSR(post.content)}
{:then html}
    {@html html}
{/await}

This will immediately render the content of the page while waiting for shiki to finish highlighting. Whenever shiki is done it will render the full content.
It may be benificial to add some guidance for this or to actually include it in the PreRendered component the implementation looking something like this:
<script lang="ts">
	export let html: string;
	export let theme = 'default';
        export let render: boolean = false;
        export let carta: Carta | undefined = undefined;
</script>

<div class="carta-viewer carta-theme__{theme} markdown-body">
    {#if render && carta}
        {#await carta.render(html)}
            {@html carta.renderSSR(html)}
        {:then final}
            {@html final}
        {/await}
    {:else}
        {@html html}
    {/if}
</div>

Let me know what you'd think if it makes sense I can open a PR!

Hi! What you've done here is basically the same thing of what the <Markdown> component does. The <PreRendered> component accepts HTML, not Markdown. You can read about it here.
What I've done myself in a similar situation is to add a field html to Post, which in my case corresponds to a column in the db where I store the data. Then, every time I update the post content, I also make sure to render it and add it to that field. This way, it is only rendered one time, and both the server response and the client are faster. You need to use <PreRendered> for that.

Yeah I just don't care for the html field for a few reasons.

It doubles your row size (if the content will need to be edited later)
If you aren't using a JS backend there is no carta for rendering on insert which forces you to make sure both fields are up to date on the client before sending to the server

In any case the Markdown component does exist.


Make asdf standard 1.6.0 stable (default)

Description
I milestoned this PR for asdf 4.0 because it's a rather major change.
Making 1.6.0 stable will require:
Phase 0 (at any time):

[x] https://github.com/spacetelescope/rad/pull/370
[x] https://github.com/asdf-format/asdf-unit-schemas/pull/34

Phase 1:

[x] https://github.com/asdf-format/asdf/pull/1749

Phase 2:

[x] https://github.com/asdf-format/asdf-standard/pull/421

Phase 3:

[x] https://github.com/asdf-format/asdf-standard/pull/422
[x] release asdf-standard with above PR
[x] https://github.com/asdf-format/asdf-coordinates-schemas/pull/55
[x] https://github.com/asdf-format/asdf-transform-schemas/pull/110
[x] release asdf-transform-schemas asdf-coordinates-schemas with above PRs
[x] update https://github.com/asdf-format/asdf-wcs-schemas/pull/59 to add pins for asdf-transform-schemas and asdf-coordinates-schemas
[x] release asdf-wcs-schemas

Unfortunately at this point most of the schema repo CIs will be broken (as will asdf-astropy CI) due to the intertwined nature of these packages.
Phase 4:

[x] update below asdf-astropy PR with new asdf-standard, asdf-coordinates-schemas, asdf-transform-schemas
[x] https://github.com/astropy/asdf-astropy/pull/219
[x] release asf-astropy
[x] https://github.com/spacetelescope/stdatamodels/pull/258
[x] https://github.com/sunpy/sunpy/pull/7432
[x] https://github.com/DKISTDC/dkist/pull/324
[ ] https://github.com/BAMWelDX/weldx/pull/910
[x] update lower pin for asdf-wcs-schemas in gwcs: https://github.com/spacetelescope/gwcs/pull/491

Phase 5:

[ ] this PR

Much of the above is due to updates to the ndarray schema:

https://github.com/asdf-format/asdf-standard/pull/350
https://github.com/asdf-format/asdf-standard/pull/411

All schemas that $ref ndarray (like quantity) then need a version bump and so on...
This is further complicated by quantity-1.1.0 currently existing in 2 released packages:

asdf-standard
asdf-unit-schemas

(because of an incomplete effort to split unit fits table and time out of the core).
The approach taken here is to decomission asdf-unit-schemas. asdf-standard will continue to provide updates to the unit (and other non-core) schemas. This seems sensible as these schemas are highly interdependent. More details can be found in: https://github.com/asdf-format/asdf-standard/pull/422
One question that occupied a lot of my thought was "should we change some of the $refs to tags?" On one hand this could make migrations like this easier (if every ndarray $ref was instead a wildcard tag (ndarray-1.*) most of these schemas would not need to be updated. However, this links the tag to the schema which has a few downsides:

as tags depend on the extension version, we have effectively added a second version to the schema (a tag might only appear say in asdf-standard 1.6.0 which means that a schema that contains a tag link to that tag will only be valid for asdf-standard 1.6.0).
tag links make "duck typing" with a schema very difficult if not impossible.

For example unit/quantity contains a $ref link to unit/unit. This means that asdf-astropy can use a differently tagged unit (astropy/unint for non-vo units) and still produce a valid unit/quantity (see the wfi schema in rad as an example). If instead unit/quantity used a tag link to unit/unit, this same "duck typing" would not work with a differently tagged unit. asdf-astropy would have to instead:

use a different schema for the unit/unit tag (this would break the tag-schema mapping defined in the standard unit manifest making any file produced with this approach likely to be incompatible with any other implementation or with other libraries that might choose to implement units)
define a new astropy/quantity for non-vo units (and so on up the tree of schema references...)
add the astropy/unit tag to the quantity schema (further linking tags and schemas and requiring addition standard schema updates for "downstream" libraries).

At the moment I am of the mind that keeping the schemas as separate from the tags as possible is the better option (so $ref instead of tag). This allows the schemas to function even if they are treated as normal "jsonschema"s. Additionally the tag validator behavior seems loosely defined in the standard where it states "Implementation of this validator is optional and depends on details of the YAML parser." For similar reasons the above asdf-transform-schemas PR  did not rely on the feature in asdf to use multiple schemas in a tag definition (to allow the many transforms that $ref the transform schema to instead include them in the manifest).
Both stdatamodels (datamodels) and rad use metaschemas based off of asdf-schema-1.0.0 (which is updated to 1.1.0 in https://github.com/asdf-format/asdf-standard/pull/422). As neither of these packages version schemas updating the metaschema version will force these packages to use exclusively the 1.6.0 standard (which will almost certainly cause issues if old versions of asdf/asdf-standard are used). Instead, I suggest we not update the metaschemas (and keep them using the old asdf-schema-1.0.0 metaschema). The only downside is the lack of float16 support in the datatype keyword validator. This seems like an acceptable limitation for the time being. Once asdf standard 1.6.0 is stable and the asdf version that sets it as the default agrees with the minimum required version for each of those packages the metaschemas can be updated.
Closes: https://github.com/asdf-format/asdf/issues/1866
Checklist:

[x] pre-commit checks ran successfully
[x] tests ran successfully
[ ] for a public change, a changelog entry was added
[ ] for a public change, documentation was updated
[ ] for any new features, unit tests were added

Reserving a comment for regression tests.
Roman:
https://github.com/spacetelescope/RegressionTests/actions/runs/10221961819

The weldx downstream failure is real. I rebased the open PR and added a comment that the development branch will soon be moving to asdf 4.0. We will need to keep in mind that the asdf downstream test will fail after this PR is merged.

https://github.com/asdf-format/asdf/issues/1866 to track adding this change to "what's new"

Both stdatamodels (datamodels) and rad use metaschemas based off of asdf-schema-1.0.0 (which is updated to 1.1.0 in asdf-format/asdf-standard#422). As neither of these packages version schemas updating the metaschema version will force these packages to use exclusively the 1.6.0 standard (which will almost certainly cause issues if old versions of asdf/asdf-standard are used). Instead, I suggest we not update the metaschemas (and keep them using the old asdf-schema-1.0.0 metaschema). The only downside is the lack of float16 support in the datatype keyword validator. This seems like an acceptable limitation for the time being. Once asdf standard 1.6.0 is stable and the asdf version that sets it as the default agrees with the minimum required version for each of those packages the metaschemas can be updated.

Does this mean that use of float16 in datatype won't pass validation until  1.6.0 becomes default? I want to make sure I understand the consequence (not that I disagree with it).

Both stdatamodels (datamodels) and rad use metaschemas based off of asdf-schema-1.0.0 (which is updated to 1.1.0 in asdf-format/asdf-standard#422). As neither of these packages version schemas updating the metaschema version will force these packages to use exclusively the 1.6.0 standard (which will almost certainly cause issues if old versions of asdf/asdf-standard are used). Instead, I suggest we not update the metaschemas (and keep them using the old asdf-schema-1.0.0 metaschema). The only downside is the lack of float16 support in the datatype keyword validator. This seems like an acceptable limitation for the time being. Once asdf standard 1.6.0 is stable and the asdf version that sets it as the default agrees with the minimum required version for each of those packages the metaschemas can be updated.

Does this mean that use of float16 in datatype won't pass validation until 1.6.0 becomes default? I want to make sure I understand the consequence (not that I disagree with it).

float16 support is available in 1.6.0. We could start using it in (for example) romancal once 1.6.0 is "stable" (which I'm considering the same as making it the default). The metaschema issues won't prevent using float16 arrays in (for example) roman datamodels (schemas aren't checked against metaschemas as part of validation).
However the metaschema issue will mean that adding a datatype validator to the float16 array would cause the call to check_schema that pytest-asdf runs to fail.
To provide an example. Let's say we want to change ImageModel.data to use float16. We could change this line:
https://github.com/spacetelescope/rad/blob/f2d7af769ec0fd77283cdcbe020cca96f026a5a4/src/rad/resources/schemas/wfi_image-1.0.0.yaml#L45
to:
datatype: float16

and save files without issue (no validation errors as long as we assign a float16 array to data). However the following would fail (and is equivalent to a check that pytest-asdf runs on schema files):
>> asdf.schema.check_schema(asdf.schema.load_schema("asdf://stsci.edu/datamodels/roman/schemas/wfi_image-1.0.0"))
ValidationError: 'float16' is not valid under any of the given schemas

due to the wfi_image-1.0.0 using the asdf://stsci.edu/datamodels/roman/schemas/rad_schema-1.0.0 metaschema which refs http://stsci.edu/schemas/asdf/asdf-schema-1.0.0 which refs http://stsci.edu/schemas/asdf/core/ndarray-1.0.0#/definitions/datatype which doesn't define float16 as a valid datatype.
Note that this only prevents adding something like:
datatype: float16

to the schemas that extend asdf-schema-1.0.0. Files can contain float16 arrays (as long as they use ASDF 1.6.0).

So this only affects validation of schemas against the metaschema I take it. OK, that isn't so serious.


NLP middleware layer is stripping words needed by the regexs in the listeners

The lexer seems to be stripping words that are needed by the regexs in the individual listeners. So @hubot list all server profiles becomes @hubot list all server causing the regex not to match in the listener.

I was not able to reproduce the issue with "list all server profiles"

Hi @danielreed, can you still reproduce this issue? Or is it already fixed?

@llvieira I think we can probably close this issue now.  It doesn't seem to be an issue any longer.


modelmapper Hot deployment

After adding fields in hot deployment,
How to make modelmapper ignore caching

无法使用spring boot Devtools


⚠ Mobitopup has degraded performance

In 70154f4, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 12232 ms

Resolved: Mobitopup performance has improved in 5095051.


Fix cargo-generate spelling error

This looks like a really cool template! I might have to take some notes... :)

OH no, my bad, really thank you very much hahahahaha


Adjust markdown formatting

Adjust markdown formatting:

Remove extra capitalization.
Remove extra curly braces {} inside Bash code blocks.
Use in-line code block `` for IP-addresses, file names and commands.
Add a dot at the end of sentences.
Use Markdown list in differences-to-original.md. Also add escaping for angle brackets <>.
No logic changes were made, only formatting improvements.

This is more like test to understand should I continue to improve formatting or should I stop trying :)
Also, if it is needed, I can split it to smaller changes.

I agree with some of this

Remove extra capitalization - that's a point of personal preference. I think capitalized headers stand out better.
Remove extra curly braces {} inside Bash code blocks - They are there for a reason. If you paste a block of code within braces, then it is not executed immediately by the shell - you have to press ENTER. Quite often when making changes to this repo and I have multiple terminals open, it gives me a chance to check that I have pasted the block into the correct terminal before it executes in the wrong terminal and borks everything.
Use in-line code block `` for IP-addresses, file names and commands - This is fair. Probably places where I forgot to do it myself.
Add a dot at the end of sentences - likewise.
Use Markdown list in differences-to-original.md. Also add escaping for angle brackets <> - makes sense

I think capitalization can be easily done automatically — for example, with custom CSS in web-browser settings, so person who prefer it, will see all headers capitalized everywhere, on all web-sites. Reverse process impossible to do automatically, because it is not always clear, for example, "The Kube Proxy client certificate". I'm trying to follow Wikipedia:Naming conventions (capitalization).
curly braces {} inside Bash code blocks — sorry, I didn't think they were added by purpose. I thought they came from some other format by mistake. I can return them back.

Should I change something in the merge request?
I'm afraid after some time there may be conflicts with any other changes and it will be much harder to merge my changes.

To be fair, not a lot changes in here unless the lab gets a version update, which will be due fairly soon, including a section on how to do it on Apple Silicon. Currently there are no conflicts so feel free to make the changes I suggested to this PR.

So, I'm going to return back the curly braces {}.
Should I restore capitalized headers?
Anything else?

Yes, and yes. The header style is in line with our other sites so best leave that.
Minor errors like punctuation and failure to code block things - definitely.

Done!
Please check (and merge if everything is OK).


postgres 10 support

Azure supports version 10 of Postgres, but currently this is not supported via this sdk. Please allow "10" as a valid postgres version parameter.

Hi @featheredtoast the specs have not been updated to reflect that the new version is available. We will reach out to the service team for that.
Meanwhile, the underlying type of the ServerVersion is a string, can you try to just specify version 10.0 ?

Hi @vladbarosan thanks for the quick response - I should note I'm trying to trace this issue through Terraform and it appears to be depending on the azure-sdk lib to determine valid input.
For reference, Terraform reports the following:
Error: azurerm_postgresql_server.server: expected version to be one of [9.5 9.6], got 10.0.

@featheredtoast oh I see. Looking at it, https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/azurerm/resource_arm_postgresql_server.go#L123 seems to validate strictly against the enum.
@tombuildsstuff is there a way to disable that validation function ?

Thanks for pointing me in the right direction @vladbarosan - I've sent a PR to the Terraform provider plugin that allows a version specified as "10.0" here which should help alleviate things until enums are available: https://github.com/terraform-providers/terraform-provider-azurerm/pull/1457

@featheredtoast this is now available in the latest branch. This will be present in our next minor release if no breaking change is coming .
https://github.com/Azure/azure-sdk-for-go/blob/latest/services/postgresql/mgmt/2017-12-01/postgresql/models.go#L125

This is available in v18.1


Extra entries - impossible to scroll

This help text has a scrollbar but when i move the mouse to the scrollbar the window will close, so it is impossible to read it all

You can click on the question mark icon and the tooltip would stay for you. I considered it.

Okay, I have improved it. It's less confusing now. Give it a try.
Thanks for reporting.

Doesn't seems to work everytime i click on it :(

I will give it a try :)


Incompatibility with new BoxInsetLayout

There appears to be an incompatibility with the new Android BoxInsetLayout:
android.support.wear.widget.BoxInsetLayout
According to the Android documentation, I am supposed to include the following statement in my module grade build file in order to use the BoxInsetLayout:
compile 'com.android.support:wear:26.0.0'
When I do that, I get the error:
"All com.android.support libraries must use the exact same version specification"
If I then remove the tile view library from the gradle file, the error disappears.
I am currently using the "padding" attribute as a workaround.

try setting it explicitly in your app gradle
compile 'com.android.support:appcompat-v7:25.2.0'


Database Error: Error establishing a database connection

Describe the bug
Random error establishing connection to database error
To Reproduce
Steps to reproduce the behavior:

Refresh any logged in open tab on the website.

Expected behavior
Session expired alert, and being asked to sign back in.
Screenshots

Additional context
Tracker is running.
MTGA is running.
Hit from Firefox.

Feel free to ping me about this. I may be able to help you fix it if I have info about your stack.

We are under heavy ddos, server is barely holding up. But we already have some solutions to counteract this threat


Memory allocation issue?

Two unrelated programs of mine keep failing on a Linux box (Ubuntu 15.04). One with CUDA (@gmarkall has all details on that one), the other with standard Numba.
Unfortunately, it is a bit hard to replicate. I simply call this bit of code:
import numpy as np
from numba import jit

_norm_pdf_C = np.sqrt(2 * np.pi)

@jit()
def _norm_pdf(x):
    return np.exp(-x ** 2.0 / 2.0) / _norm_pdf_C

from a larger context and the Python run will break off with this error:
python: APFloat.cpp:272: void interpretDecimal(llvm::StringRef::iterator, llvm::StringRef::iterator, decimalInfo*): Assertion `(*p == 'e' || *p == 'E') && "Invalid character in significand"' failed.
Aborted (core dumped)

In isolation, the function runs fine. However, even in the larger context, not much memory is used. Versions:
numba                     0.20.0               np19py34_0
llvmlite                  0.6.0                    py34_0

I am happy to help in tracking this down further, but I have no clue on how to proceed myself...

I think this is related to the llvm bug (https://llvm.org/bugs/show_bug.cgi?id=12906).  It's a problem due to locale.  We have a workaround in llvmlite (https://github.com/numba/llvmlite/pull/81).  Can you try using the latest llvmlite by:
conda install -c numba llvmlite?

Yes, this does the trick on one of the projects - thanks!
I cannot check on the other one because #1341 kicks in first.


SMTP not working

Hi, thanks for your work.
To me is unable to configure the email server to send emails. I tried all the ways and no results at all.
Anything to suggest?
Thanks

Hello,
There's no email server built into this image. You need to configure Moodle to send mail with an external email server. I've tested with Microsoft Exchange, Postfix in a Docker container, Office 365, Gmail, and Mailgun.
Moodle's documentation for that is here: https://docs.moodle.org/311/en/Mail_configuration
You might also find the eMail Test plugin helpful in troubleshooting: https://moodle.org/plugins/local_mailtest
Hope that helps.

Thanks for your answer. I know that I have to configure my smtp email server. I do but with the plugin you sent says "Moodle could not communicate with your mail server."
Did you try to test it?
Thanks again

I have tested it with several email servers. The plugin just gives you more info when testing your config.
From your error message it looks like a networking issue. You can test the connection outside of Moodle by doing a simple telnet command.
telnet your.email.server port

For example I use Mailgun so in Moodle I'm using smtp.mailgun.org:587 for my SMTP host.
telnet smtp.mailgun.org 587
Trying <IP_ADDRESS>...
Connected to smtp.mailgun.org.
Escape character is '^]'.
220 Mailgun Influx ready

The Trying <IP_ADDRESS>... lets me know that DNS worked to resolve the address. Connected to smtp.mailgun.org lets me know that something is listening on port 587.
I'd recommend doing that first on the Docker host to make sure it works outside the container and then do it again inside the container. To get a prompt inside the container you can run:
docker exec -it <YOUR_CONTAINER> bash

Once inside the container you'll need to install telnet before you can run it:
apt update
apt install telnet
telnet your.mail.server port

Hi again and thanks a lot.
I did it and there is no problem. Here is my telnet
Trying <IP_ADDRESS>...
Connected to smtp.letsjoin.es.
Escape character is '^]'.
220 smtp.letsjoin.es ESMTP Haraka/2.8.28 ready
I have no firewall. I am IT Ingenier- I understand eveything you say and tried everything. Somethng happens. But it's OK.
I have my own docker poste email working without any problem at all. I user it in other apps but here something happens.
I do not find the problem.
Thanks again

Hi again.
I solved it! The only way was to install postfix server inside the container and now it works.


Functions resolve as return types

var a:String->String; //function, not a String
a.| //completion for String type

@simn, is there is a class for function with bind method?

@Boyan, is this fixed to your satisfaction?  If not, please enumerate when is yet to be done.

Completion is not shown for functions and it's tricky, because plugin doesn't have types for function.
var a:String->String; //function, not a String
a.| //completion for String type

a - should have some type like Function or info about entire tag.
Also bind may not resolve.
But completion from Haxe compiler should show bind and function parameters info, so it should be okay, maybe. Maybe need additional case for bind, so it will not be marked as unresolved, something like adding an exception might help.

Then you are saying that this is blocked by issue #9.


chore(dotnet): upgrade dotnet sdk to 9.0.101

Seems related to https://github.com/dotnet/sdk/pull/45290

Gonna stay in LTS version.