Use case: AzADServicePrincipalInsights for Entra ID tenant only

Hello,
we are trying to run your solution against a test Entra ID tenant but the script keeps failing on the Management group check. As we do not have any Azure subscription associated to our Test tenant we cannot move on. Is there any way to limit the scope to an Entra ID tenant?later we might test it with an Azure subscription too but now we need the Entra ID tenant only.
We have currently the following error:
Add AzADServiceprincipalInsights htParameters succeeded
Verify Classifications (permissionClassification.json)
Verify Classifications (permissionClassification.json) succeeded
Checking ServicePrincipal permissions
+Processing new bearer token request 'MicrosoftGraph' "
https://graph.microsoft.com"
+Bearer token 'MicrosoftGraph': [tokenRequestProcessed: '05.16.2024 12:29:55']; [expiryDateTime: '05/17/2024 12:29:56']; [timeUntilExpiry: '1.00:00:00.9529389']
Running AzADServicePrincipalInsights for ManagementGroupId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Checking permissions for ManagementGroup 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
+Processing new bearer token request 'ARM' "
https://management.azure.com"
+Bearer token 'ARM': [tokenRequestProcessed: '05.16.2024 12:29:56']; [expiryDateTime: '05/16/2024 13:29:58']; [timeUntilExpiry: '01:00:01.2617496']
[AzAPICallErrorHandler 1.2.0] Checking permissions for ManagementGroup 'xxxxxxxxxxxxxxxxxxxxxxxxx' try #1; uri:"
https://management.azure.com/providers/Microsoft.Management/managementGroups/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx?api-version=2020-05-01";
return: (StatusCode: '403' (Forbidden)) <.code: ''> <.error.code: 'AuthorizationFailed'> | <.message: ''> <.error.message: 'The client 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' with object id 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' does not have authorization to perform action 'Microsoft.Management/managementGroups/read' over scope '/providers/Microsoft.Management/managementGroups/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' or the scope is invalid. If access was recently granted, please refresh your credentials.'> - AzAPICall: return 'failed'
Permission check results
AAD Users Read permission check PASSED
AAD Groups Read permission check PASSED
AAD ServicePrincipals Read permission check PASSED
AAD RoleManagement Read permission check PASSED
MG 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' Reader permission check FAILED
Please consult the documentation:
https://aka.ms/AzAPICall#required-permissions-in-azure
Exception: C:\Test\ServicePrincipalsReporting\AzADServicePrincipalInsights.ps1:5041
Line |
5041 |              Throw 'Error - check the last console output for details'
|              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Error - check the last console output for details

hi @horgasz2023
hmm, the errors and the information you provided do not really match.

The AzAPICall should have thrown if there was no subscription in the azContext
Do you have Management Group setup in that tenant? If yes, then make sure that RBAC Reader role is assigned to the executing principal. If not, then please try creating one.

so we ve created a MG under the root management group and added the SP with RBAC Read but the script keeps failing for the Root Management Group Read permissions that is grayed out and we cannot add there the Read RBAC.
Permission check results
AAD Users Read permission check PASSED
AAD Groups Read permission check PASSED
AAD ServicePrincipals Read permission check PASSED
AAD RoleManagement Read permission check PASSED
MG 'ROOT MANAGEMENT GROUP' Reader permission check FAILED
Please consult the documentation:
https://aka.ms/AzAPICall#required-permissions-in-azure
Exception: C:\Test\ServicePrincipalsReporting\AzADServicePrincipalInsights.ps1:5041
Line |
5041 |              Throw 'Error - check the last console output for details'
|              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Error - check the last console output for details
Why we cannot edit the permissions of the Root Management Group?can we add there the SP?any hint what we can do about it?

meanwhile found that User Access Administrator is needed to add RBAC Read for the Root MG.

new error:
MG 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx' Reader permission check PASSED
Getting Entities
Getting Entities duration: 0.3613898 seconds
Getting all Subscriptions
Getting all Subscriptions duration: 0.2803042 seconds
-Getting child Subscriptions for ManagementGroup scope xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Caching built-in Role definitions

!f97434b8 Please report at aka.ms/AzAPICall and provide the following dump
[AzAPICallErrorHandler 1.2.0] Caching built-in Role definitions try #1; uri:"
https://management.azure.com/subscriptions//providers/Microsoft.Authorization/roleDefinitions?api-version=2018-07-01&$filter=type
eq 'BuiltInRole'"; return: (StatusCode: '400' (BadRequest)) <.code: ''> <.error.code: 'InvalidSubscriptionId'> | <.message: ''> <.error.message: 'The provided subscription identifier 'providers' is malformed or invalid.'> - (plain : @{error=}) - AzAPICall: Stop
Parameters:
accountType:ServicePrincipal
ARMLocations:
azAccountsVersion:n/a
azAPICallModuleVersion:1.2.0
azureCloudEnvironment:AzureCloud
codeRunPlatform:Console
debugAzAPICall:False
debugWriteMethod:Host
gitHubRepository:aka.ms/AzAPICall
NoAzureResourceSideRelations:False
NoJsonExport:False
onAzureDevOps:False
onAzureDevOpsOrGitHubActions:False
onGitHubActions:False
OnlyProcessSPsThatHaveARoleAssignmentInTheRelevantMGScopes:False
ProductVersion:v1_20240419_1
psVersion:7.4.2
skipAzContextSubscriptionValidation:True
subscriptionId4AzContext:
tenantId4AzContext:
userType:n/a
writeMethod:Host
[AzAPICallErrorHandler 1.2.0] Caching built-in Role definitions try #1; uri:"
https://management.azure.com/subscriptions//providers/Microsoft.Authorization/roleDefinitions?api-version=2018-07-01&$filter=type
eq 'BuiltInRole'"; return: (StatusCode: '400' (BadRequest)) <.code: ''> <.error.code: 'InvalidSubscriptionId'> | <.message: ''> <.error.message: 'The provided subscription identifier 'providers' is malformed or invalid.'>  - unhandledErrorAction: Stop
Exception:
Line |
841 |              Throw 'Error - check the last console output for details'
|              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Error - check the last console output for details

hmm, k .. try using the parameter -NoAzureResourceSideRelations ref

thanks for that ...this is a parameter for the script itself ...we figured out. It is working now. Issue can be closed.

@horgasz2023 great! outputs helpful?

yes. however we did not know that it will export also config of the apps in json format. also it is a question for us what kind of export is this? We are using M365DSC and we tried Entra Exporter too. So what is the purpose of the folder with the json files?

@horgasz2023 the json files hold the enriched information which can also be viewed in the html. Ideally you run in ado/gh then you can use those files as change tracking or see another use case here: https://www.cloud-architekt.net/entra-workload-id-advanced-detection-enrichment/


Export Filtering Support

Capability to upload a file (format undetermined) to a dataset that is used to filter the data when exporting.
General Notes

In the UI for a dataset you can upload a file to that location
The file will be referenced during the export call and will be used to filter the annotations that are exported.
As of right now the filtering would be done based on users for specific video files.

Background
The customer has a need to hold back certain annotations from export to their partner who processes the data. Two examples are:

someone on our team performs a test annotation; such an annotation is not meant to be processed as "real" data
an annotator provides an extra annotation to assist with inter-annotator agreement metrics; later it is determined that the extra annotation isn't needed for downstream processing

In essence, we need a way to "flag" certain annotations so they are not exported and thus sent along to downstream processing teams.

[ ] Create a special function for uploading an XLS file at the highest level of a UMD dataset folder.  This will create a special folder with a marker for filtering that will contain the XLS file.
[ ] The XLS folder will contain multiple worksheets: 'FLA_VAE', 'FLE Social Norms', 'Changepoint', 'SME Social Norms', 'Remediation'.
[ ] Will have to add another worksheet called 'User Mapping' which will contain user abbreviations used in the other sheets and have them mapped to an email/username and girderId.
[ ] The Export will now have an option to do a global export or a limited export.  Global will export all annotations, the limited export will utilized the uploaded XLS file to determine what annotations to export.
[ ] The function for limited export will go through each Worksheet and only export the annotations made by the users that are located in that file.  Each worksheet for exporting has a column called 'Link' which has a direct link to the annotation file.  This can be used to get the girder Id quickly for the item.


Installation Troubles: File Not Found error for CMAKE and msise00_driver.exe

Hello scivision,
I'm a python amateur and am having some troubles with the msise00 installation and initialization. After following all of the steps in the readme, and installing MSYS2 64bit, I'm hitting the following errors when I try to call msise00 functions:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Python37\\lib\\site-packages\\msise00\\msise00_driver.exe'
and
FileNotFoundError: CMake not available
As far as I can tell, msise00_driver.exe is not included in the base package, so it's searching for a non existent file. I've verified that this .exe is not in my site-packages (or anywhere on my C: drive). Is this something that gets generated by the package?
Running pytest msise00 produces similar failures reports regarding inability to locate msise00_driver.exe and that CMAKE is not available.
I'd appreciate any support you're able to provide on this issue. Thanks!
<EMAIL_ADDRESS>Full err output below:
Traceback (most recent call last):
  File "C:\Python37\lib\site-packages\msise00\base.py", line 165, in rungtd1d
    with importlib.resources.path(__package__, exe_name) as exe:
  File "C:\Python37\lib\contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "C:\Python37\lib\importlib\resources.py", line 201, in path
    with open_binary(package, resource) as fp:
  File "C:\Python37\lib\importlib\resources.py", line 91, in open_binary
    return reader.open_resource(resource)
  File "<frozen importlib._bootstrap_external>", line 929, in open_resource
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Python37\\lib\\site-packages\\msise00\\msise00_driver.exe'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Austin Prater/Desktop/araft/test.py", line 18, in <module>
    atmos = msise00.run(time=datetime(2013, 3, 31, 12, 0), altkm=z, glat=lat, glon=lon)
  File "C:\Python37\lib\site-packages\msise00\base.py", line 64, in run
    atmos = rungtd1d(time, altkm, glat.squeeze()[()], glon.squeeze()[()], indices)
  File "C:\Python37\lib\site-packages\msise00\base.py", line 168, in rungtd1d
    build()
  File "C:\Python37\lib\site-packages\msise00\base.py", line 36, in build
    raise FileNotFoundError("CMake not available")
FileNotFoundError: CMake not available

It seems the problem here is that you do not have CMake installed. It is needed in order to build the driver msise00_driver.exe.


🆕 Software Suggestion | in0sight

Hey mikaela, first i'd like to mention that I've been following privacytoolsio & the subreddit for about 3 years now.
It was the first website that properly introduced me to the world of online privacy. A lot of the interesting tools mentioned paved the way for a lot of the concepts i learned much more deeply later.
I remember protectedtext.com being one of my favorites because I was able to use it to communicate with a friend for a long time.
Over the past 2 years as i started to study and learn programming, deciding to create my own version of protectedtext from scratch in Java was actually one of the reasons I improved more than anything else.
I learned some major lessons about the importance of maintainability but long story short it's a mess inside so i'm not proud of it but it works. You can see it for yourself later in my repo if you care but..
..The reason I'm sending this email to you is because of another project i've been working on that was also influenced by privacytools.io.
I'd like to hear your opinion on it, if you think the concept has potential to be included on PT.io. I actually posted about it on the subreddit a few times and it was positively received so its possible you've seen it:
https://planetrenox.com/repos/in0sight

and this makes 0 unread emails!

and this makes 0 unread emails!

Im very proud of you :package:
In any case this seems like an interesting project, looks like its some form of steganography, ill take a look at it later.

Oh yeah, I forgot about in0sight! Really cool extension, gonna try it out again

This could be put under worth mentioning perhaps?

Official repo seems to be down(?) but there is also a github: https://github.com/PlanetRenox/in0sight


Support Unity6 RenderGraph

This PR implements Unity6 RenderGraph, since current RendererPass's implementation becomes obsolete in Unity6.
If you find this implementation useful, please consider merging this PR.
Or you find more suitable way, please let me know so I can try to improve upon it.
↓RenderGraphViewer indicates this GaussianSplatRenderGraph pass is working on its system.

@zawazawagh do you know if this can also be used on earlier Unity versions, or is it 6.0+ only?

Thank you for your fast reply.
Yes, you can use it in past Unity versions.
You can continue to use RenderPass in the current implementation until Unity2022. Only the part enclosed by the symbol is compatible with the Unity6 RenderGraph.

Oh, maybe I missunderstood your question.
Added method is only for Unity6 so I put inside symbol. In past Unity version, current RenderPass implementation can still be used.

@zawazawagh thanks! I did some follow-up fixes for this here, https://github.com/aras-p/UnityGaussianSplatting/commit/ff268cfc6e12b4

@aras-p Thank you for following up! Your fixes seem to be more suitable in your code, thanks.


How To for Android/iOS MQTT clients

Hi,
Is there more detailed information available on how to use https://learn.microsoft.com/en-us/azure/iot/iot-mqtt-connect-to-iot-hub#using-the-mqtt-protocol-directly-as-a-device and/or https://learn.microsoft.com/en-us/azure/iot/iot-mqtt-connect-to-iot-dps#using-the-mqtt-protocol-directly-as-a-device with available MQTT clients?
For instance, I tried out MQTT Dashboard and MyMQTT apps on an Android, but without success so far.
Thanks.

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

 Can you share further details to help you?

Hi! Thank you for following up! I was trying out these two MQTT clients on an Android phone. I filled in the credentials as described in the howtos, tried out a few variations, because the attributes there do not match one-to-one the fields required by the apps, but did not manage to establish a connection to the Azure IoT hub/dps. The error messages on the phone just say "failed to connect", don't provide any useful hint, but I am assuming it's because incorrectly formatted URL / credentials.
I would appreciate if you could provide a more detailed howto for any generic MQTT client app.

Thank you,
John


Bug: double click this pc，I think I should open the homepage, but now it says it is not a folder.

Description
double click this pc，I think I should open the homepage, but now it says it is not a folder.
Steps To Reproduce
double click this pc
Requirements
double click this pc
Files Version
<IP_ADDRESS>
Windows Version
10.0.26100.1882
User ID
No response
Log File
2024-10-09 11:49:58.6273|Information|App launched. Launch args type: LaunchActivatedEventArgs
2024-10-09 11:50:00.8552|Information|Drive added: C:, Fixed
2024-10-09 11:50:01.0038|Information|Drive added: D:, Fixed
2024-10-09 11:50:01.3263|Information|Drive added: E:, CDRom
2024-10-09 11:50:01.6607|Information|Drive added: W:, Network
2024-10-09 11:50:01.9527|Information|Drive added: X:, Network
2024-10-09 11:50:02.0057|Information|Drive added: Y:, Network
2024-10-09 11:50:02.0412|Information|Drive added: Z:, Network
2024-10-09 11:50:03.2189|Information|STORE: Checking for updates...
2024-10-09 11:50:14.4752|Information|Running on ARM: True
2024-10-09 11:54:46.6655|Information|STORE: Checking for updates...
2024-10-09 11:54:46.8287|Information|The app is being activated. Activation type: ProtocolActivatedEventArgs
2024-10-09 11:54:47.6914|Information|Drive added: C:, Fixed
2024-10-09 11:54:47.7481|Information|Drive added: D:, Fixed
2024-10-09 11:54:47.7868|Information|Drive added: E:, CDRom
2024-10-09 11:54:48.0919|Information|Drive added: W:, Network
2024-10-09 11:54:48.1193|Information|Drive added: X:, Network
2024-10-09 11:54:48.1462|Information|Drive added: Y:, Network
2024-10-09 11:54:48.1733|Information|Drive added: Z:, Network
2024-10-09 11:56:17.3486|Information|The app is being activated. Activation type: ProtocolActivatedEventArgs
2024-10-09 14:07:58.2422|Information|App launched. Launch args type: ProtocolActivatedEventArgs
2024-10-09 14:08:00.9051|Information|Running on ARM: True
2024-10-09 14:08:02.4730|Information|Drive added: C:, Fixed
2024-10-09 14:08:02.5115|Information|Drive added: D:, Fixed
2024-10-09 14:08:02.8727|Information|Drive added: E:, CDRom
2024-10-09 14:08:03.0373|Information|Drive added: W:, Network
2024-10-09 14:08:03.0656|Information|Drive added: X:, Network
2024-10-09 14:08:03.0942|Information|Drive added: Y:, Network
2024-10-09 14:08:03.1200|Information|Drive added: Z:, Network
2024-10-09 14:08:04.0108|Information|STORE: Checking for updates...
2024-10-09 14:08:07.8861|Information|Files.App.Launcher updated.
2024-10-09 14:09:14.1285|Information|STORE: Checking for updates...
2024-10-09 14:09:14.2214|Information|The app is being activated. Activation type: ProtocolActivatedEventArgs
2024-10-09 14:09:15.5251|Information|Drive added: C:, Fixed
2024-10-09 14:09:15.5557|Information|Drive added: D:, Fixed
2024-10-09 14:09:15.5823|Information|Drive added: E:, CDRom
2024-10-09 14:09:15.6612|Information|Drive added: W:, Network
2024-10-09 14:09:15.6840|Information|Drive added: X:, Network
2024-10-09 14:09:15.7356|Information|Drive added: Y:, Network
2024-10-09 14:09:15.8159|Information|Drive added: Z:, Network
2024-10-09 14:12:37.2463|Information|The app is being activated. Activation type: ProtocolActivatedEventArgs
2024-10-09 14:12:46.6026|Information|The app is being activated. Activation type: ProtocolActivatedEventArgs
2024-10-09 14:14:44.6548|Information|The app is being activated. Activation type: ProtocolActivatedEventArgs

Did you pin "This PC" to the sidebar?

Did you pin "This PC" to the sidebar?

No, I didn't pin any directories. Additionally, the recycle bin in the sidebar doesn't display properly

How are you launching This PC? Does restarting Windows help?

Can you clarify how you're opening This PC in Files? Are you entering the path in the address bar?

Can you clarify how you're opening This PC in Files? Are you entering the path in the address bar?

Please try reinstalling Files. You can backup your settings in Files settings > Advanced > Export/Import

@qwer130140190 did reinstalling Files resolve the issue?

@qwer130140190 did reinstalling Files resolve the issue?

No, the problem still exists. It only occurs when the app is cold launched through Explorer

We're going to continue tracking this in #15083.


unknow file size 77892 detected when remap TRAFFIC to APP on MST2_CN_VW_PQ_P0478T i.MX6_MIBSTD2_CPU_Board

Describe your desired behaviour / problem:
What button do you want to remap and what new function should be available?
TRAFFIC->APP
Unsuccessful, TRAFFIC is still TRAFFIC. I read the script, I don't think it do the patch when detected unknow file size. Your tool is very professional.
(BTW, I did the CID-Off patch successfully.)
Attach a picture of your screen, including the buttons beside it (IDs must be readable / shown!):

Attach the configurationmanager.res file out of the /backup/buttons folder:
configurationmanager.zip
Thanks!

Added in https://github.com/olli991/mib-std2-pq-zr-toolbox/archive/refs/heads/master.zip

Thank you very much lprot!
I tried with the new package. Failed with the same message, and backup file is same as the last one.


Best way to add implicitcommands?

Similar to version or help, Is it possible to add an option that triggers a command on the root?
For example:
cli.js --root-option                    [command: root-option] [boolean]

would run a root-option command just like how --help and -v run their respective commands.
I've tried to do this by using aliases, but having an alias with a '-' prefix doesn't get recognized.
Any suggestions?

Good question... by design, a single execution of sywac only runs one command, so there's not a good way to execute one command from another command.
(This would present a lot of problems -- for example, a subcommand might specify its own different check() handler, or different customization of command-line options, and that configuration would potentially be missing when we went to execute the second command.)
Here's one approach, where you define your top-level commands as separate functions and then call them from your implicit command:
function startServer(argv) {
    console.log('starting server...')
}

function stopServer(argv) {
    console.log('stopping server...')
}

require('sywac')
  .boolean('start', 'start server')
  .boolean('stop', 'stop server')
  .command('start', startServer)
  .command('stop', stopServer)
  .command('*', argv => {
    if (argv.start) {
      startServer()
    } else if (argv.stop) {
      stopServer()
    } else {
      console.log(sywac.getHelp())
    }
  })
  .parseAndExit()

This has some pretty serious limitations -- if you want your command to have its own set of support option flags, for example, that would not work right.  But as long as you can define all supported options at the top-level, then something like this snippet might work.

Implicit commands are interesting since they equate a positive boolean option with running a command. Because of this over-simplification, implicit commands don't support most of what normal commands do (e.g. positional arguments, their own custom options, nested subcommands, etc), but you can use an implicit type to define a boolean option that kicks off some asynchronous logic if you want.
Here's an example of what it might look like in sywac 1.3.0 (note that I'm kicking off "command" logic here in a custom boolean type and I'm not using an actual command type):
// issue71.js

// the "implicit" type represents a boolean option with support
// for implicit command parsing built-in
const TypeImplicit = require('sywac/types/implicit')

// extend the implicit type to define a simplified custom command
class RootOption extends TypeImplicit {
  constructor () {
    super({
      flags: '-r, --root-option',
      desc: 'Some description'
    })
  }

  async postParse (context) {
    if (
      this.getValue(context) &&
      !context.helpRequested &&
      !context.helpRequestedImplicitly &&
      !context.versionRequested
    ) {
      // kick off the "command" logic here
      // parsed options are available in context.argv
      console.log('run the root-option command logic here')
    }
  }
}

require('sywac')
  .custom(new RootOption())
  .help('-h, --help')
  .parseAndExit()

$ node issue71.js --help
Usage: issue71 [options]

Options:
  -r, --root-option  Some description                              [commands: root-option] [boolean]
  -h, --help         Show help                                            [commands: help] [boolean]

$ node issue71.js root-option
run the root-option command logic here

$ node issue71.js --root-option
run the root-option command logic here

$ node issue71.js -r
run the root-option command logic here

We could possibly genericize the custom class for better reuse if it accepted a function (similar to a "run handler" for a command) in its configuration, but hopefully this gives you the idea.
Sorry for the long delay in responding to your question. Let me know what you think. Thanks!

Wow, thank you guys for the details responses! I managed to throw something together similar to what @elliot-nelson mentioned, thought it felt a bit hacky, hence this issue. The method you mentioned @nexdrew seems like a cleaner solution, albeit more verbose. Ill test it out!


Finalize metadata for token and write upload script to IPFS

Overview
As a token creator so I can add metadata to my token, create a script to upload the json metadata file to IPFS ahead fo the minting so that the URI in the token is valid and contains the data I expect.
Reference

721 metadata
Existing json metadata in the repo
OpenSea example
Yo Soy

Questions

What exactly are we putting in the metadata file?
How will we edit it if we need it to change?
Can we edit it? should we be able to?

Assumptions

That we have a URL for the video asset and an image asset for the token

Acceptance

upload script as part of the migration file
re-upload script (separate from migration) to make edits
json metadata file added to repo (done)
Text and images and urls all work and are acceptable for launch (i.e. no dummy/test URIs)

Tasks

[ ] Look at Soy's upload script and copy it
[ ] Add upload script to minting
[ ] Finalize content and copy for the metadata
[ ] Check to see if the metadata can be displayed in the dApp

Here's the actual line from soy that's relevant https://github.com/ConsenSys/web3studio-soy/blob/a4857be9f91f1513c295823b12d72e8cc010fce1/packages/soy-core/src/Soy.js#L95


jsonapi-resources internal Request API brings breaking change in 0.7.1 betas

In the jsonapi-resources version 0.7.1.beta2 there's a breaking change removes the JSONAPI::Request class.
Just a heads up because you may want to lock the current version to 0.7.0 in that case.

@Azolo, this change is already in our radar and may be package in a coming beta version of jsonapi-utils with support to the breaking changes from jsonapi-resources 0.7.1. For now, we strongly recommend everyone to keep using "stable" versions of jsonapi-resources (preferably 0.7.0). Thanks for reporting :-)


Benchmark

Changes

Added an option to ignore empty lines when calculating the number of lines of code.
Changed the behavior of submissions_metrics_statistics.py a bit. Now you have to specify the appropriate flag to calculate some metric.
Moved time_compare.py into evaluation module and adapted it to the new changes with Hyperstyle and Qodana/ evaluation.

@GirZ0n can I check it?

@nbirillo, yes, you can. I forgot to re-request a review :sweat_smile:


Add Layer Settings API to framework, improve batch mode error recovery, fix macOS issues

Description
This PR provides solutions to #1080, #1081, #1082, and #1083.

Fixes defects in CMakeLists.txt find dxc logic.  Supports system-level Vulkan SDK installations that include dxc.
Adds layer settings capability to framework with new add_layer_setting(VkLayerSettingEXT layerSetting), and get_layer_settings() API calls in vulkan_sample.h.  Modified Instance() and HPPInstance() parameter lists to include required_layer_settings so they can be activated during instance creation.  Protected all changes with #if defined(VK_EXT_layer_settings) for backwards compatibility with Vulkan SDKs earlier than 1.3.272 where the extension may not be defined.
Modified shader_debugprintf sample to override get_validation_layers() and use layer settings to activate the Validation Layer's VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT feature using the standard framework.  The sample's custom create_instance() is now only used if VK_EXT_layer_settings is not available at runtime.
Modified descriptor_indexing sample to use the layer settings API on macOS to activate MoltenVK's  MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS feature which is necessary to increase the available descriptors for the sample.  Also worked around a macOS/MoltenVK limitation in the variable descriptor count feature.  This may be fixed in future versions of MoltenVK, but the workaround will function for past, current and future MoltenVK versions.
Enabled VK_ENABLE_BETA_EXTENSIONS on Apple platforms for access to the VK_KHR_portability_subset extension and features.  Activating VK_KHR_portability_subset is required on all portability implementations where the extension is defined and available.  Also activated the mutableComparisonSamplers portability feature for the async_compute and multithreading_render_pass samples.
Improved batch mode error recovery by: a) using throw std::runtime_error() vs. ExitCode::FatalError in main_loop() and main_loop_frame(), b) modifying VK_CHECK to use throw std::runtime_error() to gracefully recover from more subtle issues such as pipeline creation problems (e.g. SPIR-V to Metal cross-compilation errors due to feature limitations) as well as queue submission errors, c) resetting the shader compiler's target environment settings prior to each sample to avoid stickiness from earlier samples in batch mode, d) allowing VK_SUBOPTIMAL_KHR which avoids early termination of some samples when exiting while in batch mode, and e) fixing specific issues in async_compute, texture_mipmap_generation, and fragment_shader_barycentric samples to permit graceful failure and continuation while in batch mode.
Changed packaging to build a command line macOS executable (not an app bundle) to match the existing online build/run instructions on the web site (i.e. use ./build/mac/app/bin/Release/<x86_64|arm64>/vulkan_samples vs. ./build/mac/app/bin/Release/<x86_64|arm64>/vulkan_samples.app/Contents/MacOS/vulkan_samples).  App bundles are needed for iOS, but get in the way on macOS for command line applications like vulkan_samples.
Added .DS_Store to the .gitignore file for git cleanliness on Apple.

I have other improvements pending for Xcode project generation for macOS/iOS, running on iOS and the iOS simulator (x86_64 and arm64 hosts), and standalone MoltenVK support (i.e. without the vulkan loader, useful when working on the MoltenVK dev stream), but will submit those in a separate PR.
General Checklist:
Please ensure the following points are checked:

[X] My code follows the coding style
[X] I have reviewed file licenses
[X] I have commented any added functions (in line with Doxygen)
[X] I have commented any code that could be hard to understand
[X] My changes do not add any new compiler warnings
[X] My changes do not add any new validation layer errors or warnings
[X] I have used existing framework/helper functions where possible
[X] My changes do not add any regressions
[X] I have tested every sample to ensure everything runs correctly
[X] This PR describes the scope and expected impact of the changes I am making

Note: The Samples CI runs a number of checks including:

[X] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
[X] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions

I have tested using batch runs on Windows and macOS.  Depending on CI for now on linux - will test later Batch mode testing on Manjaro now complete.  Cannot test on Android - don't have the environment.  I have also tested on iOS but have additional changes to add in a separate PR.
If this PR contains framework changes:

[X] I did a full batch run using the batch command line argument to make sure all samples still work properly

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

I added commit https://github.com/KhronosGroup/Vulkan-Samples/pull/1084/commits/7c0195acae6536b1f6ac63f8922cb5c7a818d8f6 to  fix the Doxygen and Copyright date issues found by CI.
I am not sure what to do with clang-issues.diff as it does not appear to be properly formatted git patch file.

The remaing CI issues (Doxygen, clang-format) appear to be upstream issues, not related to this PR.

I don't plan to make any more changes here unless there are additional review comments or issues found.
I will submit changes in a separate PR to remove macOS workarounds within the descriptor_indexing sample once improvements are made to MoltenVK in this area (currently in development).

Hopefully all issues raised by @asuessenbach and @SaschaWillems are now resolved.  Again, I don't plan any more updates and re-review of recent changes / resolutions can now proceed.

@SaschaWillems are there any further changes needed to proceed with this PR?  I have tried to respond to your review comments with resolutions but have not heard back.  If there is anything else please let me know.  I would like to submit some iOS fixes and Xcode improvements (in a new PR) that are dependent on this one.  Thanks.

We discussed this on our recent call (how we'll review Apple related PRs in the future), so hopefully someone else can green light this.

Given your constraints, if you could nominate or assign an Apple-knowledgeable reviewer that would be great.  Thanks.

We are already working on that and hopefully have another official Mac reviewer soon ;)

Thanks @SaschaWillems for approving.
After this is merged, I may update the logic for picking the API version for shader_debugprintf.  Given that the VVL is now fixed and will be picked up in the next SDK, the API version should be set to 1.1 starting with the next SDK release.  I can add a bit of logic to detect this at runtime and dynamically set the correct API version based on the running SDK instance.  I would put this change in a supplementary PR.  What do you think?

@marty-johnson59 ready to merge here.
@SRSaunders we typically try to be careful about updating the API so older versions which might still be out there in the wild continue to work.  However, I certainly am on board with considering an update.  Ideally we try to keep it to just the iPhone or Mac platforms.
Lemme know if you need any help with it.  I do Mac development and can be reliable for any help you might need.

@gpx1000 thanks for approving the merge.
Regarding the shader_debugprintf sample, there has been a platform-independent bug in the Vulkan Validation Layers that manifests itself as an-almost unusable performance issue when using the debugPrintfEXT feature with the correct Vulkan API 1.1 setting.  This happens on all platforms, not just macOS.  See defect https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/7562.  This PR changes it to Vulkan API 1.0 as a temporary workaround, but it should be moved back to Vulkan 1.1 when the fixed VVL ships, which should be in the next SDK version.  I was just offering to make a follow-on change to this PR that recognizes this and allows the sample code to adapt to the SDK instance it is running.  Note the VVL fix came in after this PR was frozen for review so I did not change it here.
Regarding your offer to assist with macOS issues is very welcome - thank you!  In fact, I do have a pending fix that I would like to get feedback on - relating to swapchain recreation with MoltenVK.  I will open a separate issue and ask for your feedback there.  Thanks again.

Hi, I missed this PR, but recently I needed to test the settings extension and I have been trying to use the helper function add_layer_setting from here (thanks for this!), and I think I might have found a bug.
I was trying to enable the best practice validation, by simply adding these lines to the constructor of a different sample:
	const char*    layer_name = "VK_LAYER_KHRONOS_validation";
	const VkBool32 value      = VK_TRUE;

	add_layer_setting({layer_name, "validate_best_practices", VK_LAYER_SETTING_TYPE_BOOL32_EXT, 1, &value});

However, to make it work, I had to remove the requirement that the VK_EXT_layer_settings is enabled as an Instance extension. As it has been discussed here before, this is actually not a requirement, since the extension is implemented by the validation layer itself.
If I remove these lines from instance.cpp, then the settings work and I can see the validation warnings as expected:
--- a/framework/core/instance.cpp
+++ b/framework/core/instance.cpp
@@ -383,13 +383,14 @@ Instance::Instance(const std::string                            &application_nam
        VkLayerSettingsCreateInfoEXT layerSettingsCreateInfo{VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT};

        // If layer settings extension enabled by sample, then activate layer settings during instance creation
-       if (std::find(enabled_extensions.begin(), enabled_extensions.end(), VK_EXT_LAYER_SETTINGS_EXTENSION_NAME) != enabled_extensions.end())
-       {
                layerSettingsCreateInfo.settingCount = static_cast<uint32_t>(required_layer_settings.size());
                layerSettingsCreateInfo.pSettings    = required_layer_settings.data();
                layerSettingsCreateInfo.pNext        = instance_info.pNext;
                instance_info.pNext                  = &layerSettingsCreateInfo;
-       }

Enabling the extension from the sample as suggested in the comment above does not work for me, as the instance keeps reporting the extension as not supported.
(Update: is this the same bug as the one being addressed in #1187 ?)

However, to make it work, I had to remove the requirement that the VK_EXT_layer_settings is enabled as an Instance extension. As it has been discussed here before, this is actually not a requirement, since the extension is implemented by the validation layer itself.

You are completely correct.  In the process of solving the issues in #1187, and with the help of VVL engineers, I came to realize that the VK_EXT_layer_settings extension is typically provided by the layer, and only sometimes provided by the driver (e.g. MoltenVK).  As a result I made a change in that PR to do the following in instance.cpp and hpp_instance.cpp:
// If layer settings are defined, then activate the sample's required layer settings during instance creation
if (required_layer_settings.size() > 0)
{
	layerSettingsCreateInfo.settingCount = static_cast<uint32_t>(required_layer_settings.size());
	layerSettingsCreateInfo.pSettings    = required_layer_settings.data();
	layerSettingsCreateInfo.pNext        = instance_info.pNext;
	instance_info.pNext                  = &layerSettingsCreateInfo;
}

If you could restest after applying #1187 that would be great.  Please let me know if this works for you.
Hopefully this PR can be reviewed and merged relatively soon, as it fixes this general layer settings issue as well as the shader_debugprintf sample.


Add github stars button

Wooohoo! I was trying to figure out how to do this on Friday; this is amazing Niklas!

Closing for #742


Bringing in the proto changes from v1.7.1-protofile release.

Pulling in changes from https://github.com/Azure/azure-functions-language-worker-protobuf/releases/tag/v1.7.1-protofile

/check-enforcer evaluate


Dynamic Multi-domain Support?

Good day, you have an awesome project going on here.
We are using a multi-tenant website builder. Meaning: multiple domains can be linked to ONE web server and it will display the correct webpage according to the domain detected.
I'm looking for an automatic SSL generation system that can route an infinite amount of websites to ONE container that has that multi-tenant webserver.
Eg:
exemple1.com, exemple2.com, exemple3.com, exemple4.com => (container01 with multi-tenant server)

Would it be possible to use your system to route an infinite amount of domains to ONE container?
Thank you for your time.

Hello @FractalMind!
If I understood it correctly, you have multiple domains and want them to redirect all to one single container, correct? In order to do that you must add all domains, comma sepparated, in the VIRTUAL_HOST and LETSENCRYPT envrironment directive.
You algo can add a new one and just run a compose restart and your new url will be added to your nginx proxy.
Give a try on that!


Picasso Filter

Hi, how to create an artistic filter like picasso?

Simple.
Create a convolutional neural network design and train it using generative adaptive networks, using Picasso paintings as a target style. Then write the code to implement this trained network on a server or on your device.


Small warning can be removed

Hi,
Thanks for this nice, bloat-free code 👍. I have just one remark at this line: https://github.com/stbrumme/xxhash/blob/master/xxhash64.h#L90
bufferSize = stop - data;

this generates a warning (at least with MSVC x64) since pointers can be 64-bit (although the code is fine and that will never happen):
warning C4244: '=': conversion from '__int64' to 'unsigned int', possible loss of data

So you could either defined bufferSize as uint64_t (my choice) or add some cast.

As far as I know, this is an issue only appearing in a Visual C++ environment because its default int is still 32 bit (even on 64 bit).
According to https://docs.microsoft.com/en-us/cpp/cpp/data-type-ranges?view=msvc-160

The int and unsigned int types have a size of four bytes. However, portable code should not depend on the size of int because the language standard allows this to be implementation-specific.

Nevertheless, I modified https://github.com/stbrumme/xxhash/blob/master/xxhash64.h such that bufferSize is uint64_t which could/should be a tiny bit faster on x64 CPUs, too.
#https://github.com/stbrumme/xxhash/commit/c2866db364b6ea3a11933e62235ddc166ba18565
The same problem compiler warning might appear when running xxhash32 in a 64 bit environment - but there's no reason to do that, except for saving a few bytes.


[BEAM-9547] Add more methods to deferred dataframes.

A significant portion of the tests now pass. They are not all, however, optimally parallelized.
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Run PythonLint PreCommit

Run Python PreCommit

Sorry for the delay. I'll try to get to this early next week.


this page bears no resemblance to Windows 10 V1903 and Configuration Designer

In Windows 10, Settings > Family & other users > Set up a kiosk, if I choose Microsoft Edge, the kiosk mode [descriptions] are

As a digital sign or interactive display
As a public browser

I have no idea how this maps to "single-app" and "multi-app".
Then, in configuration designer, I find Policies/Browser/ConfigureKioskMode, the options are
"For single app assigned access: full screen digital signage and interactive display. For multi-app assigned access: Normal Microsoft Edge running in assigned access"
"For single app and multi-app assigned access: InPrivate public browsing (limited features)."
When you actually choose an option, the resulting "customizations.xml" file shows
<ConfigureKioskMode>For single app assigned access: Full-screen digital signage and interactive display. For multi-app assigned access: Normal Microsoft Edge running in assigned access.</ConfigureKioskMode>
ie it literally has the description; not "0" or "1" that is described here.
This makes it needlessly difficult to decipher that this page is saying - badly - and what Windows 10 V1903 and Configuration Designer actually say.
Then, in Configuration Designer,

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

ID: f840fa14-a379-d297-c3f7-ada05ec299d6
Version Independent ID: 81396f7b-7506-43cd-fd9a-4066719a6eb2
Content: Deploy Microsoft Edge kiosk mode
Content Source: browsers/edge/microsoft-edge-kiosk-mode-deploy.md
Product: edge
Technology: microsoft-edge
GitHub Login: @Dansimp
Microsoft Alias: dansimp

@anwarmahmood1 - Thank you for submitting feedback.
I will get this issue over to the Win10 ITPro writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

Hello @anwarmahmood1 Can you please explain your use case so that we can better help and see what changes are required to in the doc.
Thanks.

The article is MDM/InTune focussed.  Which is kind-of OK.  But that isn't the only way.    It works fine for small-scale scenarios.  Have a look at Configuration Designer - the settings it offers don't match the description.  That isn't helpful.
Then, the Configuration Designer creates a customizations.XML file.  I explained in my original message that I'm not certain this is working correctly.  The XML shows the long, descriptive description.  I would have expected it to be "1" or "0".
Finally, I ended up looking at group policy.  It turns out that these particular settings [for Edge] are available there, too.  In the end, I didn't need MDM, I didn't need Configuration Designer, I could do everything I needed through group policy editor.  There's no mention of this on the page!
I understand Microsoft now considers group policy legacy/deprecated technology, so Microsoft doesn't want to promote it.  But, it would have been helpful that you can actually configure by group policy if you wish.

@anwarmahmood1 Can you please share the path of the policies you have implemented on your system. Can you please also confirm your OS like 1903 or 1803 etc.
There are few group policies related to Kiosk mode configuration which are available at https://docs.microsoft.com/en-us/windows/configuration/kiosk-policies

@anwarmahmood1 - We would like to follow up. Can you please respond to the query of joinimran?
Thank you.

@anwarmahmood1 - We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Disconnect Broker doesn't release connection and associate task

As we discuss with @Eranofer here https://github.com/EranOfer/KafkaNetClient/pull/6, there is an issue with disconnected or idle broker. The KafkaConnection doesn't release the associate tasks while topics metadata shows that this broker doesn't exist anymore.
IMHO, i think a disconnected broker should dispose the KafkaConnection because tcp read and write queues still lock tasks which have been assigned to it.

because tcp read and write queues still lock tasks which have been assigned to it
The requests that were already passed to the KafkaConnection will not remain stuck, since the TaskCompletionSource created on the  AsyncRequestItem is resolved either by an exception while calling WriteAsync or by a task timeout. So I don't think this is an issue.

I do agree that it's wasteful that the KafkaConnection keeps trying to read from KafkaTcpSocket, even if it's not needed. This can solved by turning off the StartReadStreamPoller in case there are no pending tasks on that connection (and turn it on when new requests arrive), and a similar solution in KafkaTcpSocket (although more complex). What do you think?


Short solution needed: "Convert array to string" (clickhouse)

Please help us write most modern and shortest code solution for this issue:
Convert array to string (technology: clickhouse)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

Convert array to string


Is this project dead?

Last commit dates 3 moths ago, and there are 80 open issues. Just wondering whether it's OK to use UI Router Extras and whether it is going to be maintained in future?
Also, it should support the latest version of ui router, I guess.
Thanks.

Thanks for the interest in this project.
I don't want to abandon ui-router-extras.  However, I confess that I haven't given it as much attention as it needs lately.
Here is why:
I am also the primary maintainer of the main ui-router project.  UI-Router 1.0 is a pretty dramatic architecture shift, and I have been putting most of my free time making the 1.0 release happen as soon and smoothly as possible.
Much of the extras code relies on the implementation details of legacy ui-router 0.x version.  This means compatibility with 1.0 will require some rewriting.  The good news is that the rewrite should dramatically simplify the code.
Here is the path forward for UI-Router Extras:

Transition: Deprecated; is replaced by core code in ui-router 1.0
Future States: Deprecated, will be replaced by core code in ui-router 1.0
Sticky States: Needs to be rewritten to support the new $view service
Deep State Redirect: Needs to be rewritten as a Transition Hook
Previous State: Needs to be rewritten as a Transition Hook
StateVis: Already rewritten as a React app at http://github.com/ui-router/visualizer

Each project that needs to be rewritten should probably be created as its own github project, perhaps under the http://github.com/ui-router organization.  My goal was to get 1.0 finalized (including Future States), and then attack the rewrites.  Rewriting Sticky States will be the most challenging, but the rewrite should be vastly simpler to understand than the current codebase is.
For users who are unable to upgrade to ui-router 1.0, this project (in its current form) will still be valuable to them.

Many thanks for the response!
Nice to know that some of the features will be included into the core.
Could you please give a hint on where to search for FutureStates in the new ui-router v.1.0?

@Maximaximum I'm working on Future States for 1.0 core this week/next week

Great! Thanks, I'll be really waiting for that feature!

Is the current version compatible with ui-router 0.3.0 ?
Regards.

Is the current version compatible with ui-router 0.3.0 ?

Yup.

Hi @christopherthielen , thank you for your great ui-router extension. I started to use ui-router beta, when you expect to add sticky option there ?

@witoldszpur you can track the progress here: https://github.com/angular-ui/ui-router/issues/2837
Currently I've only done some experimentation and don't have a solid timeline

By the way all, Future States are in 1.0 core as of beta.2.

So how can I use Future States in ui-router beta 2? Is the API changed?
Simply remove the dependency to ui-router-extras seems not work.

Looks like I found what I need in the unit test file...

I think it would be great if all the features were included in core.

Christopher,
Any updates on sticky states compatibility with ui router 1.0? This feature is very important to me as I don't know of any alternatives to this type of support.
Thanks

@crgeee we're really close to a 1.0 final release.  After that, I will devote time to implementing sticky states for 1.0

@christopherthielen thanks for the quick update, looking forward to both

Hey, I see 1.0.1 is the latest release. Has development on ui-router-extras begun? Thanks!

Future States: nearly complete
Deep State Redirect: In development
Sticky States: In development

Can we get an update on above items? The last commit that I see is about 2-3 months old.
Looking forward to the sticky and the future states.

Hi @christopherthielen ,
I am trying to migrate my application from angular1.3x to 1.5x,
I have upgraded angular-ui-router: 0.2x to @uirouter/angularjs:1.0x.
I followed the guidelines(https://ui-router.github.io/blog/uirouter-for-angularjs-umd-bundles/) to upgrade uirouter and installed ui-router-core and ui-router-angularjs aswell.
since in my application i was using  ui-router-extras: 0.0.14(stickyStateProvider) which is deprecated alternatively i am trying to use @uirouter/sticky-states.
I am getting ( require.js:166 Uncaught Error: Script error for: @uirouter/core ) error after injecting both ui-router-core and ui-router-angularjs (Please consider me rookie if i had made a mistake)
"shim": {
"uiRouterCore": {
"deps": ["angular"]
},
"angularUiRouter": {
"deps": [
"angular",
"uiRouterCore"
]
},
}
Am i following the right approach in migrating my application, please help and shed some light

@RavishankarMSGR I don't use requirejs, so I cannot provide any help with regards to that.
However, I do suspect that in your config, uiRouterCore should be @uirouter/core and angularUiRouter  should be @uirouter/angularjs  (sticky states looks for '@uirouter/core')

@christopherthielen Many Thanks. Your suspect was right, Worked for me. corrected the path issue and injected the sticky states for ui-router 1.x


Documentation reworked

New theme that looks more similar to opencast and some features.

@marwyg, can you add your new dependency to the Travis configuration so that build does not fail:
https://github.com/opencast/opencast/blob/d8c1bf1cda8a6c563dbc53e841c9cff8d0d47cec/.travis.yml#L68
@gregorydlogan will need to update the Buildbot config.

@lkiesow Buildbot should already have that dep.  It's complaining about the 'windmill' theme :)


chore: Replaced vercel analytics for fathom

TODO

[ ] Register with usefathom
[ ] Acquire Fathom URL and ID
[ ] Add PUBLIC_FATHOM_URL and PUBLIC_FATHOM_ID to Vercel's ENV vars

@AdrianGonz97 this is still on my radar, but likely not something I'll have time for today. I'll aim to review later this week though.

@AdrianGonz97 I'm going to ahead and make the decisions to put this one on ice for now. The goal will be to revisit the Skeleton docs alongside the "Next" stuff, so let's revisit this then and similar solutions then. We'll likely look to move to Cloudfront then and their analytics solution.
Thanks for the find and quick turn around on this though!


Admin panel breaking

When I have this extension installed my admin panel stopped working at a certain point.
Original discussion and all the debug info I had:
https://discuss.flarum.org/d/18548-something-went-wrong-while-trying-to-load-the-full-version-of-this-site

Seems like I fixed this issue 5 days ago. It should work 🙂


Is window-or-global worth it?

In vdom.js you have
import root from 'window-or-global';
When I try to use skatejs with rollupjs instead of webpack it blows up because the module is CJS not ES6. For 4 lines of code wouldn't it be easier to copy it over?

Or just have it in untl/root.js and it'd be a oneliner. I was hoping to reuse as much code from elsewhere (where it makes sense). In skatejs-build we use both the node resolver and commonjs plugins. Might need to enable commonjs in node_modules? That said, it's probably simpler to just oneline this in a util.
Happy for you to do a PR for this. Thoughts?

Not sure. It's the sort of things that should be manageable to configure with builder plugins to override packages. I have a similar concern for the process builtin which is referenced in incremental DOM. I'll brew over it for a bit and try to come up with a PR

You're getting Incremental DOM as a transitive from Skate, so it might be something to suggest over there?

Sure

I'm hoping we can have a single build in the near future once we trial Webpack 2 and see if the bundle size is palatable.


Use more specific address types

This simplifies proxy implementations by removing unnecessary
type assertions and conversions.

Thanks!


adding max_token_capacity metric

What does this PR do?
Emit max_batch_total_tokens as max_token_capacity as part of metrics standardization

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[X] Did you read the contributor guideline,
Pull Request section?
[X] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
This has been discussed in #1977, as part of metric standardization
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

@Narsil can you take a look at this one?

I wanted to ping on this. There is already a tgi_batch_current_max_tokens metric which reports the current batch size in terms of tokens. Adding this max_token_capacity alongside would allow us to see how far off from the max capacity we are at and helps us with autoscaling proactively where we can say we are at 75% capacity and trigger a scale up.

I had to move the logic in the new place. We split router from backends because we're having increasingly more various backends, and those numbers only make sense in the context of the current nvidia backend.
I couldn't update your PR directly, you are still a co-author if that's ok with you (otherwise feel free to open a new PR).
Cheers.


create_experiment() fails on windows 10

Hi there,
I enjoy neptune very much and on my macbook everything works fine. But when I run the same code on my Windows 10 machine, I get an error when calling create_experiment().
Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "C:\ProgramData\Anaconda3\envs\rl_insurance\lib\site-packages\neptune\__init__.py", line 177, in create_experiment     notebook_id=notebook_id   File "C:\ProgramData\Anaconda3\envs\rl_insurance\lib\site-packages\neptune\projects.py", line 400, in create_experiment     click.echo(str(experiment.id))   File "C:\ProgramData\Anaconda3\envs\rl_insurance\lib\site-packages\click\utils.py", line 218, in echo     file = _default_text_stdout()   File "C:\ProgramData\Anaconda3\envs\rl_insurance\lib\site-packages\click\_compat.py", line 675, in func     rv = wrapper_func()   File "C:\ProgramData\Anaconda3\envs\rl_insurance\lib\site-packages\click\_compat.py", line 436, in get_text_stdout     rv = _get_windows_console_stream(sys.stdout, encoding, errors)   File "C:\ProgramData\Anaconda3\envs\rl_insurance\lib\site-packages\click\_winconsole.py", line 295, in _get_windows_console_stream     func = _stream_factories.get(f.fileno()) AttributeError: 'StdOutWithUpload' object has no attribute 'fileno'
It happens when I run:
import neptune
import cfg
neptune.init(api_token=cfg.neptune_token, project_qualified_name=cfg.neptune_project_name)
neptune.create_experiment()
I run it in conda environments both times.

Hi @valko073!
Thanks for letting us know. We'll take a look in the next few days.


Update Required Readme.md DOC:

What's wrong with the existing documentation
Currently Our readme.md file is not looking good
It is looking like a learn.md file I would suggest to @Satyam1923 assign me this issue I will create a fully new version of readme file , have created the same in many repository , I am working under gssoc
changes required are missing video of our project , allignment of text , open source section , contributors section , code of conduct, license section , features section and many more I will create a beautiful attracting readme file .
Add ScreenShots
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

pr #183 raised to close this issue.


[BUG] Can't change swing modes anymore...

Some days ago it worked fine to set both vertical as horizontal swing modes, now it's broken...
Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/smartthinq_sensors/climate.py:253
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 11:25:37 (3 occurrences)
Last logged: 11:26:22
[547538504912] 'str' object has no attribute 'removeprefix'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 167, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1481, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1516, in _execute_service
await handler.job.target(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
await self.hass.helpers.service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 658, in entity_service_call
future.result()  # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 726, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 695, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 442, in async_set_swing_mode
await self.hass.async_add_executor_job(self.set_swing_mode, swing_mode)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/smartthinq_sensors/climate.py", line 253, in set_swing_mode
dev_mode = swing_mode.removeprefix(
AttributeError: 'str' object has no attribute 'removeprefix'

In addition: I did a rollback to 0.8.2 and it works again.

Just understand now that string function removeprefix is available only from Python 3.9, my bad. Probably you are still using Python 3.8 right?. I will fix this later.

I can confirm this bug and the work-around for now.
Also, @ollo69 great work on incorporating apiV2 appliances into Home Assistant :) Thanks a lot.

This should be fixes in v0.8.5.

Thank you, for me it works again.


fix: fix nav subsections

Fix sub-sections in the navigation bar for the Configuration doc.

You could add a
Closes: https://github.com/nginx/unit-docs/issues/169

to the commit message...


added search context provider in intellij.

Description
https://github.com/continuedev/contribution-ideas/issues/23
added intellij ripgrep search context following behaviors in vscode
Tested on macOS, need help testing on Windows
Checklist

[x] The base branch of this PR is dev, rather than main
[x] The relevant docs, if any, have been updated or created

Screenshots

Testing
Please feel free to use @Search in intellij to include the context.
Tested on macOS, need help testing on Windows

@uxroc this looks great! Thanks for handling the build details as well.


As a player, I would like to see an escape menu such that it shows options for displaying other related windows so that I can change settings, save/load levels, exit the game

The game should have an escape menu which provides a window with options displaying such as:

settings
scoreboard
exit

Implement template windows for each of these actions.

@aydinmercan Bu issue kapalı. Başka bir issue öner lütfen.


Doesn't allow me to login to Instagram

Doesn't allow me to login to Instagram

Please update your app to the latest version on http://igdm.me


Broken geometry in map

ka_risingsun.zip

I think this happens due to precision errors in box clipping. Clipnodes hulls are carved out of a giant box. Sometimes shrinking that box helps, but not always. Maybe some planes are intersecting strangely.

@wootguy another example:

awp_winter_fresh_b3.zip
And why I can't see func_wall textures and can't select face in func_wall ?

And why I can't see func_wall textures and can't select face in func_wall ?

The mapper used the NULL texture on this model, so it has no visible faces. The cycler_sprites spawn MDL models for the visibile part and uses func_wall for collision

@wootguy this is map problem or bspguy?

bspguy problem


Bug Fix waiting for runtime filter

Proposed changes
Bug:
Remote runtime filters will never arrive.
<--Describe your changes.-->
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.53 seconds
stream load tsv:          441 seconds loaded<PHONE_NUMBER>9 Bytes, about 161 MB/s
stream load json:         23 seconds loaded<PHONE_NUMBER> Bytes, about 97 MB/s
stream load orc:          59 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          25.6 seconds inserted 10000000 Rows, about 390K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230529080350_clickbench_pr_152665.html


Spinners in a multibar don't spin while a child process runs

I observed that spinners do not spin while a child process runs that was spawned with std::process::Command. Especially when they are in a multibar. I created a small example that shows the issue: https://github.com/migerh/indicatif-multibar
The use_multibar_with_timeout_for_finish() example shows that while the child process is running, the spinners in the multibar do not update. They start spinning as soon as the child process finishes, though.

The confusion here comes from the fact that calling .join() must be done in a separate thread, as that is what is doing the rendering. Same as #77.
#33 would have prevented this.

Going to close this as duplicate of #33.


create_view does not use layout definition

Changing the layout has currently no effect
https://github.com/Open-MSS/MSS/blob/stable/mslib/msui/msui.py#L896

only when immutable is used.
We have to think about if that is how we want it


Python 3.9, 3.10 support (install fails with vatnumber)

I've tried installing django-plans using python 3.9 and 3.10 using:
pip install -e git://github.com/cypreess/django-plans.git#egg=django-plans
The install fails at vatnumber, it looks like this library is no longer maintained.
I wonder if pyvat would be a good drop-in replacement.
Collecting vatnumber>=1.2
  Using cached vatnumber-1.2.tar.gz (19 kB)
  Preparing metadata (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/x/.virtualenvs/dj-plans-example39/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/51/z2bf1rq1007gxp1c2s6qvzym0000gn/T/pip-install-qp14ffg7/vatnumber_2dd164258b0242fdb0ad022a174a5bd3/setup.py'"'"'; __file__='"'"'/private/var/folders/51/z2bf1rq1007gxp1c2s6qvzym0000gn/T/pip-install-qp14ffg7/vatnumber_2dd164258b0242fdb0ad022a174a5bd3/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/51/z2bf1rq1007gxp1c2s6qvzym0000gn/T/pip-pip-egg-info-tv_x0e3n
       cwd: /private/var/folders/51/z2bf1rq1007gxp1c2s6qvzym0000gn/T/pip-install-qp14ffg7/vatnumber_2dd164258b0242fdb0ad022a174a5bd3/
  Complete output (1 lines):
  error in vatnumber setup command: use_2to3 is invalid.

It seems like maybe this was an issue due to trying to install the example project first.

I realized, that python-stdnum would be better replacement for vatnumber. It is solved in #154


Having the same issue here. Running on a linux server, no error message, just a blank page. Specifying the host and port did not help in any way.

          Having the same issue here. Running on a linux server, no error message, just a blank page. Specifying the host and port did not help in any way.

Originally posted by @sebderhy in https://github.com/Chainlit/chainlit/issues/38#issuecomment-1582755321

Could you try to:

install chainlit from the wheel provided in this PR https://github.com/Chainlit/chainlit/pull/40
run chainlit hello

I would like to see if the rework fix those issues. Note that this version is not merged yet. The infos to install are at the end of the PR's description.

Could you try to:

install chainlit from the wheel provided in this PR Experiment with FastAPI (async architecture by default) #40
run chainlit hello

I would like to see if the rework fix those issues. Note that this version is not merged yet. The infos to install are at the end of the PR's description.

#44

          Having the same issue here. Running on a linux server, no error message, just a blank page. Specifying the host and port did not help in any way.

Originally posted by @sebderhy in #38 (comment)

I am also facing the same problem

Should be fixed in the latest version 0.3.0. Please note that it contains breaking changes. We prepared a migration guide to make it easy for everyone.

I tried version 0.3.0 and it didn't fix the problem

Should be fixed in the latest version 0.3.0. Please note that it contains breaking changes. We prepared a migration guide to make it easy for everyone.

Interesting, can you dm me on discord so we can debug this live? Will be easier

see https://github.com/Chainlit/chainlit/issues/38


Remove the unused 'import os' from setup.py

The os module seems to be unused at the moment in setup.py, so this pull request just removes the import.
Hope you're having a great day! :)

LGTM. Thanks!


Load built in modules from embedded C# resource

Hi,
Was wondering if it's possible to load Python's built in modules from an embedded C# resource as supposed to just appending the path to sys.path?
Thanks!

Just to clarify, by built in modules I mean Python's standard library

Yes, it is possible to put the stdlib into the assembly as an embedded resource. There is a ResourceMetaPathImporter implementation that can be used. See this SO answer for an example: https://stackoverflow.com/questions/35301682/ironpython-resourcemetapathimporter-failure


[Flow] Can't "import { type FormProps } from 'redux-form';"

This appears to be because Form.js.flow is not published. In index.js.flow there are these relevant lines:
import type { Props as _FormProps } from './Form'
...
export type FormProps = _FormProps

However ./Form will not resolve to a .flow file, because one does not exist in node_modules/redux_form/es or node_modules/redux-form/lib.
This means that these docs are actually all incorrect: https://redux-form.com/7.3.0/docs/flow.md/. You can however workaround this by using this instead:
import { type FormProps } from 'redux-form/es/types.js.flow';

@erikras this is becoming a bit of a blocker on a project I'm currently working on - would be happy to submit a PR but would be nice to hear your thoughts on this first because it seems to be a fundamental issue with the way types are exported/published in this library, and I could make a quick-fix for this isolated case but I wouldn't be confident that there wouldn't be any regression.
Also, there's already an open PR for a simple Flow fix, and it's sat there unresolved now for about 3 weeks and I'd need some kind of indication that you'd be able to review/merge/deploy a bit more promptly than that.

@erikras - final offer! Would you like help safely publishing flow types or no??

Hi @ryami333, please submit us the PR if you can find the fix for it.
Then we can publish a patch version with it.

It's not a 'fix' so much as a total overhaul is required to the way types are maintained and published in this package. This is why I'd like some engagement before I begin work on it, because it's non-trivial to implement. I've used flow-copy-source with success in a couple of other open-source libraries now - how would you feel about using this tool here too?

@ryami333 also worth noting that FormProps that this package (probably) wants to export is not the one that is exported from Form.js but the one that is defined in types.js.flow
https://github.com/erikras/redux-form/blob/master/src/types.js.flow#L93

This issue should be renamed "Broken Flow types import" or something, because it's not specific to FormProps :cry:

For FieldProps, the correct import is:
import { type FieldProps } from 'redux-form/es/FieldProps.types.js.flow'

I think the author is planning to move to TypeScript because Flow types in this project just don't work very well. For example, if you wrap your component with any HOC (reduxForm, valueMapper) then all your component props are ignored which makes the whole point typing useless. I have to write my own types for HOC and other components. I want to join @ryami333 point of understanding whether this project wants to continue using Flow or it is better just to export them to flow-typed and maintain them there.

@mike1808 TBH I think author is not planning to do anything active with this package, besides merging pull requests.
There is recent form project that seems to be more active
https://github.com/final-form/final-form

Published fix in v8.2.0.


Add checkbox handling in forwards

also add simple test that only outputs the checkbox state to console

I think we should not worry about tests on this because they are under development in #833.
If this patch is good for @gagarski it's good for me, feel free to merge or just approve <3

Codecov Report

Merging #839 into master will decrease coverage by 0.04%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #839      +/-   ##
==========================================
- Coverage    96.3%   96.26%   -0.05%
==========================================
  Files         123      123
  Lines        2113     2115       +2
==========================================
+ Hits         2035     2036       +1
- Misses         78       79       +1

Impacted Files
Coverage Δ

test_project/rename_forward/urls.py
40% <0%> (-2.86%)
:arrow_down:

test_project/rename_forward/forms.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

I've also added support for radio buttons (if anyone uses them). Unfortunately I didn't find a way to add radio buttons into test project (seems like inline model form does not like them).

Regarding $.serializeArray.
I experimented with this method.
$('[name="checked_checkbox"]').serializeArray() gives
[
{
    "name": "checked_checkbox",
    "value": "value_attribute_of_checkbox"
}
]

but $('[name="unchecked_checkbox"]').serializeArray() gives
[
]

So we still need special handling for checkboxes in get_forwards()

Have you planned to rewrite history to include changes from "oops" commits in the commits they should be in before merging ? That would be cool when we update CHANGELOG

Yep I've noticed it in the documentation. I've thought that the user should not be expecting the JSON to not be tampered with anyway, and rely on a default value, but that might cause other issues then ? I like the new implementation anyway it looks reasonable to have.

I've noticed that there is also CheckboxSelectMultiple which also uses checkboxes but has completely different semantics from boolean field checkbox. And now I cannot see an approach to properly handle both of these widgets. Ideally CheckboxInput should be forwarded as boolean value or as a single optional value of value HTML-attribute of the checkbox, and CheckboxSelectMultiple should be forwarded as a list of selected values (even if it has only one element).

I've noticed that there is also CheckboxSelectMultiple which also uses checkboxes but has completely different semantics from boolean field checkbox. And now I cannot see an approach to properly handle both of these widgets. Ideally CheckboxInput should be forwarded as boolean value or as a single optional value of value HTML-attribute of the checkbox, and CheckboxSelectMultiple should be forwarded as a list of selected values (even if it has only one element).
One way to cope with this issue is to add a parameter to forward.Field, something like forward.Field(src="checkbox_multiple", multiple=True). I do not like this idea very much. Moreover some fields (like select with multiple attribute) should be implicitly forwarded as a list.

I've noticed that there is also CheckboxSelectMultiple which also uses checkboxes but has completely different semantics from boolean field checkbox.

Perhaps it's not related to the current PR, so we should merge it.

Implicit forward as a list makes sense for me too.

@jpic is it OK for you to merge this one and work out forwarding a CheckboxSelectMultiple in other branch (probably rewriting get_forwards() to use serializeArray)?

Of course, you can merge too @gagarski you're good if not better than me at what we're doing now <3


Crash for wasm/xbox controller (gilrs)

Version
0.14
Operating system & version
MacOS, but compiled to WASM.
What you did
Using leafwing for the first time and getting a crash from gilrs.
This crash happens as soon as I click a button with a leafwing input.
ERROR  Platform implementation error: got Connected event with id 1, when expected id 0 log.target = "gilrs::gamepad";log.module_path = "gilrs::gamepad";log.file = "/Users/simbleau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gilrs-0.10.9/src/gamepad.rs";log.line = 338;
nova_client-9d64afb0e4ef0d16.js:388 panicked at /Users/simbleau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gilrs-0.10.9/src/gamepad.rs:458:45:
called `Option::unwrap()` on a `None` value

I'm pretty sure this is a bug upstream in gilrs itself: I'm not sure what I could be doing differently there. Can you make an issue on their Gitlab and link it here please?

https://gitlab.com/gilrs-project/gilrs/-/issues/169

It is unblocked, appears fixed in the GitLab issue. @alice-i-cecile


How to swap dims?

Hi, all
Sorry to bother. Maybe it is a kind of stupid question for others, but I cannot figure it out  at this moment.
I want to swap dims in xarray, like swapaxes in numpy. I found both dataarray and dataset has method swap_dims, but I don't understand its arguments: dims_dict : dict-like Dictionary whose keys are current dimension names and whose values are new names. Each value must already be a coordinate on this array.
Here is my example:
data = np.random.rand(4,3)
lon = [1,2,3]
lat = [4,3,2,1]
foo = xr.DataArray(data,coords=[lat,lon])
foo
foo = xr.DataArray(data,coords=[lat,lon],dims=['lat','lon'])
foo
foo.swap_dims({'lat':'lon'})

The error message:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-47-c8aa4311b27e> in <module>()
----> 1 foo.swap_dims({'lat':'lon'})

/glade/u/home/che43/miniconda2/lib/python2.7/site-packages/xarray/core/dataarray.pyc in swap_dims(self, dims_dict)
    794         Dataset.swap_dims
    795         """
--> 796         ds = self._to_temp_dataset().swap_dims(dims_dict)
    797         return self._from_temp_dataset(ds)
    798

/glade/u/home/che43/miniconda2/lib/python2.7/site-packages/xarray/core/dataset.pyc in swap_dims(self, dims_dict, inplace)
   1293                 raise ValueError('replacement dimension %r is not a 1D '
   1294                                  'variable along the old dimension %r'
-> 1295                                  % (v, k))
   1296
   1297         result_dims = set(dims_dict.get(dim, dim) for dim in self.dims)

ValueError: replacement dimension 'lon' is not a 1D variable along the old dimension 'lat'

Sorry to bother.

swap_dims does something very different from swap_axes in numpy (we should add an example to make this clear).
For what you want, I think transpose is a closer fit, e.g., foo.transpose('lon', 'lat')

Thanks, @shoyer
I agree your methods works for 2d matrix, but for 3 or 4d matrix it fails.

You need to provide the full list of dimensions to transpose.
We could add a method like numpy's swap_axes, it's just not clear what to name it.

Thanks! I will check it.

I have hit this issue before too.

We could add a method like numpy's swap_axes, it's just not clear what to name it.

reorder_dims?

reorder_dims?

Would that be consistent with reorder_levels for MultIindex (#1028)? I'm not sure if that handles partial order specifications or not.

I have also hit this issue, this method could be useful. I'm putting below my workaround in case it is any helpful:
def reorder_dims(darray, dim1, dim2):
    """
    Interchange two dimensions of a DataArray in a similar way as numpy's swap_axes
    """
    dims = list(darray.dims)
    assert set([dim1,dim2]).issubset(dims), 'dim1 and dim2 must be existing dimensions in darray'
    ind1, ind2 = darray.dims.index(dim1), darray.dims.index(dim2)
    dims[ind2], dims[ind1] = dims[ind1], dims[ind2]
    return darray.transpose(*dims)

What about allowing .transpose() to handle a subset of array/dataset dimensions? In NumPy, this may not be desirable because it's easy to mix up integer dimensions, but in xarray ds.transpose('lat', 'lon') seems pretty unambiguous.
The implementation would simply reorder all the listed dimensions, keeping other dimensions in their original order.

ds.transpose('lat', 'lon') seems pretty unambiguous.

Though I think that would have radically different behavior for a 2-dim or 3-dim case. For the 2-dim case, it would enforce that order regardless of original order. For the 3-dim case, are you proposing they're swapped from their current order?
(Maybe transpose naturally refers to the behavior I think you describe, we'd need something else to 'set this order')

tranpose('x', 'y') already means ensure this object has dimensions in the order (x, y):
In [2]: a = xarray.DataArray([[0]], dims=['x', 'y'])

In [3]: a.T
Out[3]:
<xarray.DataArray (y: 1, x: 1)>
array([[0]])
Dimensions without coordinates: y, x

In [4]: a.T.transpose('x', 'y')
Out[4]:
<xarray.DataArray (x: 1, y: 1)>
array([[0]])
Dimensions without coordinates: x, y

In [5]: a.transpose('x', 'y')
Out[5]:
<xarray.DataArray (x: 1, y: 1)>
array([[0]])
Dimensions without coordinates: x, y

From personal experience I find that 99% of the time, I want to push some known dimensions either to the front or to the back of the array while I don't care about the order of the others.
I'd love to have this syntax:
transpose(..., "x", "y")

or
transpose("x", "y", ...)

Yes, this looks like a great use-case for Ellipsis!
On Thu, Oct 10, 2019 at 2:12 AM crusaderky<EMAIL_ADDRESS>wrote:

From personal experience I find that 99% of the time, I want to push some
known dimensions either to the front or to the back of the array while I
don't care about the order of the others.
I'd love to have this syntax:
transpose(..., "x", "y")
or
transpose("x", "y", ...)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pydata/xarray/issues/1081?email_source=notifications&email_token=AAJJFVXRM73GZLFJYZXR6JDQN3WY7A5CNFSM4CVHGIYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEA3QQXQ#issuecomment-540477534,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJJFVW6IZJBW3KLMIU7IQDQN3WY7ANCNFSM4CVHGIYA
.

There's one edge case that might be worth thinking carefully about here:
Consider a dataset with two variables with dimensions ('w', 'x', 'y', 'z') and ('x', 'w', 'y', 'z'). Now we write .transpose(..., 'z', 'y'). What should the dimensions of variables on the resulting dataset be?

Both ('w', 'x', 'z', 'y'), with ... filled in based on the order of dimensions in the overall dataset.
('w', 'x', 'y', 'z')  and ('x', 'w', 'y', 'z'), with ... filled in for each variable separately.

I would vote for (2), given it's fairly easy to replicate (1) by passing the full list, and I think (2) is arguably slightly more expected
(NB this isn't how #3421 works now, but easy to change)

I agree, I think (2) is what most users would expect.

+1 for (2). Although, for the record, user code that uses ... should not, by definition, care about the order of the variables that are not listed explicitly.


python3Packages.objexplore: refactor & adopt as co-maintainer

Minor Refactoring (nits):

Sort inputs
Replace substituteInPlace with pythonRelaxDeps
Change with lib; to smaller with statements (license, maintainers)
Use refs/tags for version## Description of changes

Adopt the package (as co-maintainer), as I created a similar version within osxphotos's draft pr.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build python311Packages.objexplore python312Packages.objexplore

The reason i went for substituteInPlace was to preserve the lower bound, but i think this is less prone to error


Node role label remain after deleting the cluster

Describe the Bug
Node role labels remain after deleting the cluster.
Versions Used
Kubeclipper: master branch
Environment
macos , local debug
How To Reproduce
Steps to reproduce the behavior:

Create a cluster by kubeclipper
Delete the cluster
Go to the node list page
Find the node is still with role 'master' or 'worker'

Expected behavior
Nodes role label is empty

@Metrora thx for give it try, we looking into this

/milestone v1.1.1


[zh]Concept files to sync for 1.22 #29325 task 12

3	1	content/zh/docs/concepts/security/overview.md
60	2	content/zh/docs/concepts/architecture/nodes.md
1	1	content/zh/docs/concepts/cluster-administration/manage-deployment.md
**removed**	content/zh/docs/concepts//cluster-administration/kubelet-garbage-collection.md
5	2	content/zh/docs/concepts/cluster-administration/logging.md
**removed**	content/zh/docs/concepts//workloads/controllers/garbage-collection.md

https://github.com/kubernetes/website/issues/29325

/assign @tengqm @mengjiao-liu

/lgtm
/approve


moxie jail issues

FID 512874

I explained on August 24th that I'm not a bot on DM and got a reply saying "let me free from jail" but I'm in jail so far.
I was told I shouldn't post more than 100 replies an hour, so I did, but I couldn't get out of jail. Please check
tysm

Your account is not in jail


PersistentDatastore: multiple write threads

Adds multiple threads for background writing in PersistentDatastore in order to maximize dynamo throughput.

LGTM. generally array backed concurrent queues are faster but this seems fine

Well, we need the background threads to block until a new datum becomes available and concurrent queues don't see to offer take in the interface.

Oh, wait BlockingArrayQueue has take/put methods. I can switch the implementation to use it.

hrm, it requires a capacity bound to be set and blocks the caller thread if capacity is exceeded, which is a problem with the semantics expected by the state machine. I'll keep the linked deque.

sounds good

The recommended way to deal with multithreading is through ExecutorService now, rather than calling Thread directly (you can do this with or without futures)


z.enum with generic array is breaking z.object inference

Source:
https://stackoverflow.com/questions/75523855/zod-enum-with-generic-array
I changed the source code to use the exact generics z.enum uses and it still didn't work.
import { z } from 'zod';

function objectWithGenericEnum<U extends string, T extends Readonly<[U, ...U[]]>>(
    options: T
) {
    const enumValidator = z.enum(options);
    const a =  z.object({
        data: enumValidator,
    });
    return a.transform((v) => v.data); // Property 'data' does not exist on type '{ [k in keyof baseObjectOutputType<{ data: ZodEnum<Writeable<T>>; }>]: baseObjectOutputType<{ data: ZodEnum<Writeable<T>>; }>[k]; }'.(2339)
}

If we instead use this line, the data property is present.
...
    const enumValidator = z.enum(['fish', 'sushi']);
...
// data is now defined

I have confirmed this

ZodEnum is designed to work with tuples of string literals ['a', 'b'], etc. In the generic context, the generic hasn't been literalized so inference is going to be tricky. As a workaround use a typecast: z.enum(options as [string, ...string[]])

@hunterwilhelm
This seems to work for me:
function objectWithGenericEnum<U extends string, T extends Readonly<[ U, ...U[] ]>> (
    options: T
) {
    const enumValidator = z.enum( options as any as [ string, ...string[] ] )
    const a = z.object( {
        data: enumValidator,
    } )
    return a.transform( ( v ) => v.data )
}

Does this solve your problem?

I'll ask and report back when Andrew responds.

@JacobWeisenburger @colinhacks
Solution with casting from generic to array of strings will solve problem with resolve of variable, but in this case we will loose string literals in transform output
function objectWithGenericEnum<T extends string>(
    options: readonly [T, ...T[]]
) {
    return z.object({
        data: z.enum(options as unknown as [string, ...string[]]),
    }).transform((v) => v.data);
}

const genericEnumWithTransform = objectWithGenericEnum(['a', 'b'] as const);
// type will be just string
type GenericEnumWithTransform = z.infer<typeof genericEnumWithTransform>;

const enumWithTransform = z.object({
        data: z.enum(['a', 'b'] as const),
    }).transform((v) => v.data);
// type will be 'a' | 'b'
type EnumWithTransform = z.infer<typeof enumWithTransform>;

@colinhacks Thanks!
I've checked it just now. And looks pretty good! Except one small point =)
For now I got return type from generic, that it can be also undefined
import { z } from 'zod';

function objectWithGenericEnum<T extends string>(
    options: readonly [T, ...T[]]
) {
    return z.object({
        data: z.enum(options),
    }).transform((v) => v.data);
}

const genericEnumWithTransform = objectWithGenericEnum(['a', 'b'] as const);
// type will be 'a' | 'b' | undefined
type GenericEnumWithTransform = z.infer<typeof genericEnumWithTransform>;

const enumWithTransform = z.object({
        data: z.enum(['a', 'b'] as const),
    }).transform((v) => v.data);
// type will be 'a' | 'b'
type EnumWithTransform = z.infer<typeof enumWithTransform>;

But it's already something that I can work with!


Remove method testValidateFunctionsConfigs which was abandoned

The method testValidateFunctionsConfigs was abandoned previously so we can remove it now.

run java8 tests

run java8 tests


Refactor revisar function

Coverage remained the same at 52.381% when pulling 34fd6aff984a2746c7ed1fda31f4c88938dcc2b3 on develop into 0732e933999a3b131691e58ee2e232f9e96ee2d6 on master.


[Editor] introduce tools_attr.json for codelens and hover

This will introduce tools_attr.json file for codelens and hover.
ONE-vscode-DCO-1.0-Signed-off-by: ysys<EMAIL_ADDRESS>

From draft #130


Updated title and layout options don't take effect

See title. Likely just a matter of updating to Chart.js 2.6.0 (see https://github.com/chartjs/Chart.js/pull/4192)

i'll upgrade to 2.6.0 soon

version 3.3.0 uses 2.6.0 now


Pydantic improvements

This PR is to address the issue https://github.com/dlt-hub/dlt/issues/895 which is when pydantic column schema is provided.
Adjustment recursively calls pydantic_to_table_schema_columns to expand for sub model.

logic LGTM! @sultaniman this code asks for unit tests. we have unit tests for the mapper in libs. why you didn't add the tests there? please test all combinations explictly

@rudolfix do you mean to add tests for TypeMapper in destinations?


Does prosemirrorToYXmlFragment really lose hystory?

The prosemirrorToYXmlFragment documentation says "note that this function should not be used to rehydrate a Y.Doc from a database once collaboration has begun as all history will be lost"
But reading the code it doesn't look like the yjs doc history is being lost, it seems it applies any update from the prosemirror node to the yjs doc, am i right?
https://github.com/yjs/y-prosemirror/blob/e0e5e951614abe1be2295e5ab8987ab5916bcaec/src/lib.js#L231

Yes.


Fix type subscript on older python versions

Summary
Python versions before Python 3.9 don't have subscriptable containers like list, which is being used in the annotation of get_last_three_path_parts here.  I believe Ruff supports Python 3.7 and Python 3.8?  In that case this needs to either use the container from the typing module, or use deferred annotations with from __future__ import annotations like I'm proposing here
Introduced by https://github.com/astral-sh/ruff/commit/60a2dc53e7b4407c3c0c14093fd8542879997ca8
Test Plan
Currently the code path in find_ruff_bin that defines get_last_three_path_parts doesn't work on Python 3.8 or 3.9, it throws this:
>>> ruff.__main__.find_ruff_bin()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/aaron/miniconda3/envs/symforce/lib/python3.8/site-packages/ruff/__main__.py", line 77, in find_ruff_bin
    raise FileNotFoundError(scripts_path)
FileNotFoundError: /home/aaron/miniconda3/envs/symforce/bin/ruff

With this change it does work

Thanks for PRing this fix
@charliermarsh would you mind taking a look at this PR. I don't think I'm the right person :)

I guess that's actually fine. Even I understand why this is needed with a summary as good as this one. Thank you

Yeah this looks correct to me.


modify managers

Add support for registering the external adapters

Coverage decreased (-24.2%) to 14.052% when pulling ff391e041bca08c0f93f0193ce777f5771385434 on devghosh:manager_update into f0bad18bb3fa5cb1efbcae58b5dceb059ea6fdd8 on jabong:master.


Add subject_id to audit

Added subject_id field to audit

Migration will populate with affected user from audit.comment (if it can be found), otherwise will copy over user_id

Modified all existing audit creations and auditable_event() calls to include subject_id
Added tests for subject_id to audit tests

Please hold off on review - per the failing tests, it looks like there are a bunch more audit calls that still need to be updated to use subject_id. I'll update when I'm back in the office on Monday.

@pbugni I think I'm going to add in topic (which I'm tentatively calling 'context') in a separate PR. I have this one to help me re-identify all the audit calls that need to be updated.
Would you mind reviewing this PR? The most important file changes for review are:
portal/audit
portal/models/audit
portal/migrations/versions/4b1e5b7b69eb_.py
tests/test_audit.py
The rest of the file changes should just be adding ', subject_id=' to the existing audit creates.

Actually, I will just add 'context' to this branch, so we can get both incorporated at once. Please hold off on merging for now.

Audit context now added, including migration (uses regex to extract potential existing contexts) and tests. @pbugni please review whenever you get a chance.

@OptimusRhine sorry, overlapping PRs - several changes in working on the check_role fix included audit calls in the old style.
Would you mind rebasing and resolving these conflicts?

Really nice work, Adam.  The upgrade script is clean - looks to have worked on a larger db (tested on one from stg pulled over weeks ago).
Can we find a way to store the context in its string value?  Of course an int is more efficient, but legibility counts, and we don't even store the mapping in the db - so working with the SQL directly requires an additional lookup.

@OptimusRhine one more change request (sorry to keep 'em coming!)
After running the conversion, several of the "other" context items look to me like they should have their own.  Namely "observation" and "questionnaire_response".
Few examples of observations (I think it's all rows with set CodeableConcept .* on user in the comment):
 other   | set CodeableConcept  [Coding 131, treatment begun, http://us.truenth.org/clinical-codes] ValueQuantity false,boolean on user 179
 other   | set CodeableConcept  [Coding 141, PCa localized diagnosis, http://us.truenth.org/clinical-codes] ValueQuantity false,boolean on user 195
 other   | set CodeableConcept  [Coding 141, PCa localized diagnosis, http://us.truenth.org/clinical-codes] ValueQuantity true,boolean on user 40
 other   | set CodeableConcept  [Coding 131, treatment begun, http://us.truenth.org/clinical-codes] ValueQuantity true,boolean on user 52

and for questionnaire_reponse:
 other   | added QuestionnaireResponse 88 for user 12 completed 2016-11-29 00:42:05
 other   | added QuestionnaireResponse 123 for user 413 completed 2016-12-07 18:49:21
 other   | added QuestionnaireResponse 32 for user 194 completed 2016-10-13 12:19:16

@pbugni ok, should be rebased with the latest develop, the context field should now be stored as a string rather than an int, and those new migration scenarios should now be taken into account (there's no
'questionnaire_response' context, but I added that string to the 'assessment' context instead).

Looks great!


use devnet dockers in integration tests

Use devnet dockers in integration tests instead of berkeley

!ci-build-me

!ci-build-me

!ci-nightly-me

!ci-build-me

!ci-build-me

!ci-nightly-me


option to start lite server w/o launching browser

is there a switch i'm overlooking that would enable starting lite server w/o launching browser?
the reason for this ask is so that from command line I can launch lite server and then from vscode I can use chrome extension to start and attach to that browser instances pointed at lite server address.
this can be repro'd using https://github.com/myusrn/vscng2qs which is simple https://angular.io/docs/ts/latest/quickstart.html based solution that has package.json configured to allow "npm run lite" from command line to start server, where I don't want it kicking off browser, so I can then move to vscode and use debug | "Launch localhost with sourcemaps" option to kick off instance of chrome pointed at that server.

https://www.browsersync.io/docs/options/#option-open
{ "open": false }

that works thanks.