Support for PyInstaller

I have encountered with ImportError while I was converting my python program to windows executable file:
import 'typing' # <pyimod03_importers.FrozenImporter object at 0x000001B8CE46BD90>
# winrt._winrt not found in PYZ
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    import winrt.windows.networking.networkoperators as no
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 476, in exec_module
  File "winrt\windows\networking\networkoperators\__init__.py", line 5, in <module>
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 476, in exec_module
  File "winrt\system\__init__.py", line 4, in <module>
ImportError: cannot import name '_winrt' from 'winrt' (unknown location)
[28012] Failed to execute script 'main' due to unhandled exception!

I have tried including winrt._winrt as hiddenimports param, but it didn't change anything.
Is there anything that I'm missing? Thanks in advance!

Here's the code for reproduction. It turns on your mobile hotspot and prints whether it was successful or not
import asyncio
import winrt.windows.networking.networkoperators as no
import winrt.windows.networking.connectivity as co

async def enable():
  try:
    info = co.NetworkInformation.get_internet_connection_profile()
    manager = no.NetworkOperatorTetheringManager.create_from_connection_profile(info)
    state = manager.tethering_operational_state
    if state == no.TetheringOperationalState.ON:
      return "WAS ALREADY ENABLED"
    elif state == no.TetheringOperationalState.OFF:
      ioAsync = await manager.start_tethering_async()
      if ioAsync.status == 0:
        return "SUCCESSFULLY ENABLED"
      return "COULDN'T ENABLE:( " + ioAsync.additional_error_message
    elif state == no.TetheringOperationalState.IN_TRANSITION:
      return "PROCESS..."
    else:
      return "SOMETHING WENT WRONG..."
  except:
    return "SOMETHING WENT WRONG... (EXCEPTION)"

async def main():
  info = await enable()
  print(info)

asyncio.run(main())

To make it an exe file I use: pyinstaller reproduction.py --onefile --paths \.venv\Lib\site-packages or pyinstaller reproduction.py --onefile --paths \.venv\Lib\site-packages --hidden-import winrt._winrt --debug=imports for debug logging
And libraries list for winrt:

winrt-runtime==2.0.0b2
winrt-Windows.Foundation==2.0.0b2
winrt-Windows.Networking.Connectivity==2.0.0b2
winrt-Windows.Networking.NetworkOperators==2.0.0b2

I tried this today and was not able to reproduce the problem. The .exe created successfully.
pyinstaller --version 6.5.0


Support DSF Feasibility Plugin v0.5.0

A new DSF feasibility plugin version needs to be supported. The new plugin version does not alter any behavior. It simply bumps the DSF dependencies to a new version.

Resolved in #42


[Publisher] Suggestion/question for better flexibility in field parameterization

I just came across this tool and it looks promising. However, one feature that I'd miss is being able to parameterize ANY field I want in the API config.yml. I've been using dotnet-apim (derived from Azure-apim-devops-toolkit), which allows parameterization of any field in the yaml as well as in any policy files. It also supports if/else conditionals in the yaml. I'm not sure how that could work in apiops, perhaps same kind of syntax in ONE configuration file, instead of having a configuration file for each environment, with field parameterized as $(field). Then the parameterized fields could be passed in through command line options. I think this would provide for easier maintainability and flexibility. I'd be happy to help with the development if needed. Thanks.

Thanks for the suggestion, we will certainly discuss it. Here are some quick thoughts on how to support ANY field:
We currently have .NET model classes for APIM resources. When the extractor runs, it:

Does a GET request to the APIM endpoint
Converts the JSON output to our .NET model class
Serializes our model class to JSON
Writes the JSON to the directory.

When the publisher runs, it:

Reads the JSON file from the directory
Deserializes it to our .NET model class
Updates the class with values from configuration if necessary. It's currently a "manual" process where we explicitly check whether certain supported fields exist in configuration, and if so, we update the class with them.
Serializes the class to JSON
Sends a PUT to the APIM endpoint with the JSON contents

We could update the publisher to:

Read the JSON file from the directory
Read the proper configuration section and convert the YAML to JSON
Merge the JSON objects in Step 1 and Step 2, with Step 2 taking precedence.
Send a PUT to the APIM endpoint with the JSON contents.

Regarding conditionals in YAML, I'm curious to see how it's implemented in dotnet-apim. Might be easy to just reuse their implementation to generate the final YAML that gets merged with the JSON object.

Thanks @levimatheri. We would love to sync with you and get additional thoughts. Which time zone are you in? I will work on setting up a call for all of us to sync on this.

Hello @rishabhsaha I'm in Pacific Time. Thanks.

This is supported as of V2

We updated the configuration system to be more flexible starting with v2. Please refer to the release notes.

@acolom I'd encourage you to also take a look at Bicep modules. We decided to go with Bicep modules that way we're not relying on an external tool. https://techcommunity.microsoft.com/t5/azure-developer-community-blog/automate-your-api-deployments-with-azure-api-management-and/ba-p/3682278

@levimatheri where as bicep is a fantastic option to manage azure resources in general there are some gotchas that you need to keep in mind:

not everyone is familiar with the bicep syntax
Our tool doesn't rely on ARM here but rather it calls restful apis directly. This results in faster updates especially when you have hundreds of apis that need to be updated.

That's true,  there are many options

Bicep
Terrarform

But then there are also community tools

[Resource Kit](https://github.com/Azure/azure-api-management-devops-resource-kit
dotnet apim
ApiOps

As far as i know, API Ops is the only tool that uses the rest api to operate. Api Ops deployments are faster compared with other options I've used and i like that is not as verbose as Bicep or Terraform.
But I need to deep dive into configuration, variables and conditional statements.

The one downside I found with APIOps is that I have to define a configuration.yml for each and every environment, even if the API only differs by a few properties across environments, which doesn't work well for my use case, and I don't think this was addressed in the release aforementioned.
Whereas in Bicep I can define a reusable module for all APIs, then have a bicep for each individual API but have each take in environment-specific parameters which can be passed in during deployment.
The learning curve for the syntax is a small price to pay at least for my use case. But I do understand not every solution works for everyone.

That's true,  there are many options

Bicep

Terrarform

But then there are also community tools

[Resource Kit](https://github.com/Azure/azure-api-management-devops-resource-kit

dotnet apim

ApiOps

As far as i know, API Ops is the only tool that uses the rest api to operate. Api Ops deployments are faster compared with other options I've used and i like that is not as verbose as Bicep or Terraform.
But I need to deep dive into configuration, variables and conditional statements.

Please note that our tool should be used instead of Resource Kit](https://github.com/Azure/azure-api-management-devops-resource-kit
Moving forward.

The one downside I found with APIOps is that I have to define a configuration.yml for each and every environment, even if the API only differs by a few properties across environments, which doesn't work well for my use case, and I don't think this was addressed in the release aforementioned. Whereas in Bicep I can define a reusable module for all APIs, then have a bicep for each individual API but have each take in environment-specific parameters which can be passed in during deployment. The learning curve for the syntax is a small price to pay at least for my use case. But I do understand not every solution works for everyone.

@levimatheri - We use the default .NET configuration  for ApiOps, meaning that we also support command line arguments and environment variables for overrides. Haven't tested those explicitly, but you should be able to use them instead of a configuration.yml if that works better.
For instance, this configuration.yml
apimServiceName: myapim
namedValues:
  - name: environment
    properties:
      displayName: environment
      value: "https://www.search2.com"

can be translated to the following environment variables:
apimServiceName: myapimservice
namedValues__0__name: environment
namedValues__0__properties__displayName: environment
namedValues__0__properties__value: https://www.search2.com

You can set the environment variables in your higher environment pipeline tasks. While less readable than YAML, they definitely fit certain use cases better. Here's some documentation on structuring complex environment variables in .NET configuration.
Quick and dirty overrides can also be done at the command line level: publisher.exe --apimServiceName myapimservice. I'm not well-versed in .NET command line configurations, but here's some documentation.

One other thing to point out: our configuration overrides are explicitly aligned with the REST API for subresources. Bicep and Terraform also try to match the API, so syntactical differences should be minor. Staying with named values as an example:
REST API
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2021-08-01

{
  "properties": {
    "displayName": "prop3name",
    "value": "propValue",
    "tags": [
      "foo",
      "bar"
    ],
    "secret": false
  }
}

ApiOps
namedValues:
  - name: testprop2
    properties:
      displayName: prop3name
      value: propValue
      tags:
        - foo
        - bar
      secret: false

Bicep
resource symbolicname 'Microsoft.ApiManagement/service/namedValues@2022-04-01-preview' = {
  name: 'testprop2'
  parent: resourceSymbolicName
  properties: {
    displayName: 'prop3name'
    value: 'propValue'
    tags: [
      'foo'
      'bar'
    ]
    secret: false
  }
}

Terraform
resource "azurerm_api_management_named_value" "example" {
  name                = "testprop2"
  resource_group_name = azurerm_resource_group.example.name
  api_management_name = azurerm_api_management.example.name
  display_name        = "prop3name"
  value               = "propValue"
  secret = false
}

Ultimately, we're not at all advocating that folks should abandon IAC for APIM and use ApiOps instead. We only support a subset of what Bicep and Terraform do. And we certainly use love those tools.
For teams that primarily focus on deploying APIs once the infrastructure is built though, we do think ApiOps is a great tool to have in the toolbelt. The examples provided above are just meant to illustrate what we support so that folks can make informed decisions.

Updated our Wiki with configuration information.


Latest webUI can not add on macOS and iOS

Latest webUI 1.31 can not add on macOS and iOS
on iOS when try to add torrent file its grey and can not choose
on MacOS when try to add torrent file nothing happens
in 1.1.9 all works fine
Please help

It seems like Apple considers torrent files as text files, which break mimetype verification.
This will be fixed in the 1.3.2 release, thank you for reporting this issue.

Can you confirm that it works in the 1.3.2-dev pre-release?

Issue probably fixed in v1.3.2.


layer.openPopup() not working as intended, can't find docs or error msg to troubleshoot why

Checklist

[X] I've searched through the current issues to make sure this change hasn't been suggested already.
[X] I agree to follow the Code of Conduct that this project adheres to.

Which documents need updating?
https://leafletjs.com/reference.html#layer
Motivation
We can't figure out how to make a Leaflet popup open programmatically (see SO question) and we're wondering if Leaflet's docs on popups or layers could better explain why adding layer.Openpopup() to the onEachFeature() fn (or anywhere else) in the eg in the SO question doesn't work as intended:
        function onEachFeature(feature, layer) {
            if (feature.geometry.coordinates[1].toFixed(5) == myMap.getCenter().lat.toFixed(5) &&
                feature.geometry.coordinates[0].toFixed(5) == myMap.getCenter().lng.toFixed(5))
            {layer.openPopup();)}
        }

Could you please help us understand what else we might need to do, or what else we've done wrong? We know your GH isn't for support questions but we've already asked on SO, multiple chatrooms, asked friends, and have spent days fiddling with the code and just can't get this to work. We're sorry to ask like this but we're desperate!
Suggested changes
Could you please better explain why this might not work in the way we've done it, or provide more reproducible examples in the docs for users to work off? Perhaps we've done this in a way that won't work, and this could be stated in the docs?
Also, no error message shows when layer.openPopup() doesn't seem to do anything, which seems to be this issue. Could an error message be shown so we can better understand what we're doing wrong?

The problem is that you are trying to open the popup before it is added to the map.
Answered in SO.


[CI] fix: run make go_mockgen step

Summary

Summary generated by Reviewpad on 13 Oct 23 15:09 UTC
This pull request consists of multiple patches that make various changes to the CI workflow.

Patch 1/5: Adds a mockgen step to the CI workflow.
Patch 2/5: Adds an install_ci_deps make target to install the mockgen dependency.
Patch 3/5: Adds an "install CI dependencies" step to the CI workflow.
Patch 4/5: Separates protobuf generation from the build step in the CI workflow.
Patch 5/5: Reverts a previous change to temporarily run the CI for a specific branch.

These patches aim to improve the CI workflow by adding necessary steps and separating tasks for better organization and efficiency.

Issue

Fixes #{ISSUE_NUMBER}
[Explain the reasoning for thePR in 1-2 sentences. Consider adding a link or a screenshot.]
Type of change
Select one or more:

[ ] New feature, functionality or library
[ ] Bug fix
[ ] Code health or cleanup
[ ] Documentation
[ ] Other (specify)

Testing

[ ] Run all unit tests: make test_all_unit
[ ] Verify Localnet manually: See the instructions [here](TODO: add link to instructions)

Sanity Checklist

[ ] I have tested my changes using the available tooling
[ ] I have performed a self-review of my own code
[ ] I have commented my code, updated documentation and left TODOs throughout the codebase

NOTE: 👆CI is passing, next commit reverts temporary modification to add those branch to CI for testing.


MIC_ENABLE macro is currently not doing anything

https://github.com/lancaster-university/codal-microbit-v2/blob/864e7b87d2968c91c84e8eb204836b67accabda4/model/MicroBit.h#L327
It's not really used in the CODAL codebase, but it could stop other projects from using the macro, like in MakeCode:
https://github.com/microsoft/pxt-microbit/blob/2615cbb0d5064d4235cd6c031cb268e2a75191cc/libs/microphone/microphonehw.cpp#L36-L38
#ifndef MIC_ENABLE
#define MIC_ENABLE microphone.enable()
#endif

And I wouldn't be surprised if that broke this test file:
https://github.com/lancaster-university/microbit-v2-samples/blob/6bdbdbeffee3146a1c05e5069ba5605f873a7002/source/samples/MicrophoneTest.cpp#L134
MakeCodeMicrophoneTemplate() MIC_INIT { MIC_ENABLE; }

So we should either fix the macro or remove it.

Is actually used in MakeCode:
https://github.com/microsoft/pxt-microbit/blob/d80514bda223f729d452c1e51047f3272a2317fb/libs/microphone/microphonehw.cpp#L46
class WMicrophone {
  public:
    MIC_DEVICE microphone;
    LevelDetectorSPL level;
    WMicrophone() MIC_INIT { MIC_ENABLE; }
};

MIC_INIT should be expanding to microphone(uBit.audio.mic) , level(* uBit.audio.levelSPL)
https://github.com/lancaster-university/codal-microbit-v2/blob/864e7b87d2968c91c84e8eb204836b67accabda4/model/MicroBit.h#L323-L325
So I guess the microphone in CODAL is already enabled by default and WMicrophone constructor doesn't need any additional code to be run?

Let's use this issue to track syncing with the MakeCode team to remove their own mic initialisation.
Then we can remove this macro from the micro:bit codal codebase as well.


Add screenshot feature

Added the ability to take a screenshot of the electron window, using the shortcut CmdOrCtrl Shift S
This is just the shortcut I chose, it's totally up for debate. I also incremented the version to 1.2.0.

Seems a useful feauture @Kirpal :+1: I will use it for sure!
It would be also useful to have an option or another shortcut to copy the screenshot to clipboard instead of saving it to file. This simplify the use case of taking a screenshot to include it in a GH issue or other similar target...
Regarding the shortcut, CmdOrCtrl Shift S seems more appropriate for a Save  or Save as action.
What about PrintScreen ?

@parro-it that is a good point! I think having a second shortcut for saving to clipboard would be a better choice than having it set as an option.
That is also a good point about the shortcut, but I think PrintScreen might also not be the best idea, because it could interfere with the system screenshot shortcut...

@parro-it I added saving image to clipboard, through a message box that pops up asking what the user would like to do with the image.
I changed the shortcuts to:

macOS: Cmd Alt 3
Linux: Ctrl PrintScreen
Windows: Ctrl PrintScreen

I think having a second shortcut for saving to clipboard would be a better choice than having it set as an option.

👍

I think it should just save the screenshot on the Desktop instead of opening a save dialog. That's what the native screenshot feature on macOS does. When I capture screenshots I don't want to be bothered to choose where to save.

@sindresorhus Sorry for responding so late... I changed it so it saves to the desktop instead of opening a dialog. Do you think there should be separate shortcuts for clipboard/desktop, or a dialog box to choose (like I have right now).

@sindresorhus What if it was like on ChromeOS, where it saves it automatically to a folder, and then has a popup with a copy to clipboard button?

Do you think there should be separate shortcuts for clipboard/desktop, or a dialog box to choose (like I have right now).

Separate shortcuts.

What if it was like on ChromeOS, where it saves it automatically to a folder, and then has a popup with a copy to clipboard button?

That would be annoying. In most cases I just want it on the Desktop. If I want to copy, I can use the other keyboard shortcut. Modal prompt dialogs are IMHO bad UX.

@Kirpal Still interested in finishing this? :)

@sindresorhus yep... I'll get around to it eventually, I've just been very busy with school. I haven't had time to code in weeks it seems like :(

Closing this to clean up my PR queue. Let me know if you ever get to this and I'll reopen it :)


Fix unsafe bounds check in ssl_load_session()

Summary: This fixes #659. See there for more information, as well as the commit message of aa7503d.
Internal Reference: IOTSSL-1046.

I'm sorry, I don't think I like the casting to an int.
While I agree it's correct in this case, we need to rely on external knowledge (that the value is unsigned 24-bit and the so far undocumented assumption that int is at least 25-bit) to make sure it's correct. I think it's a problem for two reasons:

code correctness should be as local as possible, ie rely as few as possible on knowledge of eg the possible range of values previously assigned to a variable. It's important both for humans and for static analyzers (the fewer false positives due to undocumented assumptions about int size, the better).
basic coding idioms should be as uniform as possible: if we end up using the int cast most of the time, and another idiom when it's possible than len > INT_MAX, the result is confusing to readers and harder to maintain.

For these reasons, I think I prefer Guido's proposal. It turns out it's also currently the most used in the library (grep 'end < p' library/*.c finds 17 occurrences vs 1 for grep '(int).*end' library/*.c).

@mpg The cast (size_t)( end - p ) is dangerous if we don't maintain the invariant that end >= p at any time. And actually, it is not always true in the library, and we have been quite lucky that this didn't result in security flaws so far. In general, I think it is safer to use the signed value end - p and perform a signed comparison, than to convert it to an unsigned integer.

@mpg Thanks for your comments, I changed the PR.
@mpg @AndrzejKurek Please re-review.

@hanno-arm Thanks for making the changes. However I'm not entirely happy yet, as correctness is still not as local as it could be (we need to remember that end < p was checked and the beginning, and then know exactly how p was updated up to the present check), and as a result the idiom is not as uniform as it could be.
I'd like us to use the following idiom everywhere:
if( end < p || len > (size_t)( end - p ) )

This idioms works a 100% of the time with 0 previous knowledge assumed.
If, inside a particular function, the compiler can prove that end < p is always true, then it will remove that check. However I don't think that's the kind of optimisation we should worry about ourselves, as it's a very small one which is trumped by obvious code correctness.
(I think micro optimisation trumps readability only in the core loop of computation-heavy crypto primitives. Parsing code is quite the opposite: it's not nearly as CPU intensive, while being extremely sensitive to bounds issues. Please note that I'm only talking about micro optimisations here, obviously if we have a choice between a quadratic and a linear algorithm, or a memory usage of N vs 2N, that kind of optimisation is worth considering.)

@mpg Thanks for your detailed comments! I am persuaded that in principle your proposal, matching Guido's, is the safest to use.
I am not concerned about performance, but rather about code size - we have a large number of bounds checks in the library, and if we add end < p in many places where they are not needed because we maintain the precondition p <= end (or potentially checking for it once in the beginning of the function), this might end up in a non-negligible increase of code-size.

@hanno-arm I see your point. Code size is indeed a more serious issue than performance, and worth considering. I must say I'm not sure what I think any more in that particular case. On one hand, you're making good points. On the other hand, I investigated a bit and found the code size impact for checking for end < p before we do end - p every single time would be about 300 bytes (or less depending on compiler value tracking), which seems a relatively low price to pay for some increased safety / readability / ease of maintenance.
Here's how I got this number, so you can criticize if you think I'm mistaken: egrep '\<end\>.*-.*\<p\>' library/*.c | wc -l prints 76. Then I used the following file:
#include <stdlib.h>

int hanno( size_t len, const unsigned char *p, const unsigned char *end ) {
    return( (int) len > end - p );
}

int guido( size_t len, const unsigned char *p, const unsigned char *end ) {
    return( p > end || len > (size_t)( end - p ) );
}

and observed the size of the functions with: arm-none-eabi-gcc -Wall -Wextra -Os -c -march=armv6-m -mthumb foo.c  and arm-none-eabi-objdump -d foo.o which shows a 4 bytes difference.
I would be interested in doing more tests to see if the compiler can optimize away some of the superfluous end < p tests in larger functions, but I'm running out of time for today.
Of course in an ideal world we would have formal verification of bounds for all our parsing functions, so we could confidently remove any redundant check and be sure that we still have enough check, and that it will remain that way when adding code in the middle of the function later, but we don't live in that world yet.

@mpg Thank you for doing that analysis and for explaining how you got the numbers!
I think the fact that this simple example would allow us to save 300 Bytes of code indicates that we should take the underlying question seriously: Which implicit invariants are simple enough to reason about that we don't need to assert them, and which are complex enough that we do want to include an assertion? While I think we must be careful not to allow too complex informal reasoning in the former approach, I also think we shouldn't too easily fall back to the former. In this particular case, for example, I think it is justifiable to omit the p <= end check, because p is solely under the control of the function body - for functions using various ASN.1 parsing or writing functions, it's already more delicate, because those modify the pointers they are given.
Also, a check like if( end < p || len > (size_t)( end - p ) ) mixes an assertion that should never fail unless we made a mistake with a genuine check that we must expect to fail - however, that separation is not immediate by looking at the code. If we want to assert p <= end, say, I think it would be more appropriate to add it as a separate check, and return an analogue of INTERNAL_ERROR on failure, to allow us to distinguish it from a bounds violation due to invalid arguments.

On the topic of p <= end, I am strongly in favor of maintaining this invariant everywhere. A check for p <= end should be rare because this should be checked before incrementing p.

@mpg @gilles-peskine-arm @AndrzejKurek Please re-review.

On the topic of checking for p > end, I accept @hanno-arm's and @gilles-peskine-arm's views.


Merging configs in OmegaConf 2.0.0rc22

In my model setup and training, I made a configuration example like this (holding values which I always require) (made shorter):
from dataclasses import dataclass

@dataclass
class DefaultConfig:
    N_EPOCHS: int = 50

I would then want to extend the config for different use cases for instance, config.yaml is a yaml holding a 'DEBUG: true' key.

default_cfg = OmegaConf.structured(DefaultConfig)
cfg = OmegaConf.merge(default_cfg, OmegaConf.load('config.yaml'))

If I do this I would expect that cfg now has merged the default and the config.yaml, but I get this error

omegaconf.errors.ConfigKeyError: Error setting DEBUG=True : Key 'DEBUG' not in 'DefaultConfig'
full_key: DEBUG
reference_type=Optional[DefaultConfig]
object_type=DefaultConfig

Okay ,this is very intentional.
you can open DefaultConfig to arbitrary keys by extending Dict[str, Any], but in the general sense you probably want to embrace this type safety and structure your config differently.
Specifically for debug, you can put one of the following in your DefaultConfig.
# default to False
DEBUG : bool  = False

# Default to unspecified
DEBUG : Optional[bool] = None

# No default, user must provide the value before runtime (Through merging or through command line overrides).
DEBUG : bool  = MISSING

Hello @omry, thanks your reply. One of my intentions is to prevent my DefaultConfig holding too many variables which will not always be used (for instance when using different neural networks as backends with different parameters). What would be the way enabling the type safety?

I recommend that you add those things anyway.
The advantages are:
you can get static type checking for them.
you can get runtime type safety for them.
With a hierarchy of configs, you can make things cleaner.
for example, you can put aux things in a node under the main config.
Regardless of Structured configs, the real answer here is to use a hierarchy.
But if you want to keep to your wicked ways, try:
from typing import Dict, Any

@dataclass
class DefaultConfig(Dict[str, Any]):
    N_EPOCHS: int = 50

Thanks for your suggestion. If I would follow up on your first idea, and create configuration objects allowing both static typing and runtime type safety I still would have a lot of unused configuration variables loaded (when you do cfg.pretty()).
For instance, you might have a detection framework involving retina net, yolo, etc. These have different parameters and preferably you would have a cfg flag saying NETWORK and have these properties hierarchically loaded like cfg.YOLO.any_var, while you do not necessarily want to have all variables for the retina net loaded in the main configuration. But maybe this is just aesthetics but the configuration can become very big and hard to parse in your log files.

try this:
@dataclass
class ModelConf:
  ...

@dataclass
class ResnetModelConf(ModelConf):
  ...

@dataclass
class Config:
  model : ModelConf = MISSING

later in the code:
cfg = OmegaConf.structured(Config)
# this
cfg = OmegaConf.merge(cfg, {"model" : ResnetConfig})
# or this:
cfg.model = ResnetConfig()

Now the runtime type of model is ResenetConfig. any manipulation (direct assignment, merge) would be validated against ResnetConfig,

Closing, feel free to ask additional related questions on this issue or to open a new one for something else.


Fix path to jinja get_template on Windows

With a jinja Environment get_template call, the path must always be given with forward slashes (see https://github.com/pallets/jinja/issues/767). On windows, in Renderer.__call__, relpath is returning with backslashes, so I added a replace statement to switch them in this case.

Thanks, but this needs a test.

Oh what happened?

I have the same issue, this should be reopened.

See #213


UnicodeDecodeError

Traceback (most recent call last):
  File "/home/user/.pyenv/versions/user/bin/poirot", line 11, in <module>
    sys.exit(main())
  File "/home/user/.pyenv/versions/user/local/lib/python2.7/site-packages/poirot/poirot.py", line 21, in main
    investigator.search(utf8_decode(pattern))
  File "/home/user/.pyenv/versions/user/local/lib/python2.7/site-packages/poirot/poirot.py", line 46, in search
    self.add_committed_results(pattern)
  File "/home/user/.pyenv/versions/user/local/lib/python2.7/site-packages/poirot/poirot.py", line 87, in add_committed_results
    merge_committed("diff", commit_range)
  File "/home/user/.pyenv/versions/user/local/lib/python2.7/site-packages/poirot/poirot.py", line 83, in merge_committed
    for commit, metadata in self.search_committed(target, pattern, commit_range):
  File "/home/user/.pyenv/versions/user/local/lib/python2.7/site-packages/poirot/poirot.py", line 108, in search_committed
    file_diffs = self.parse_diff(diff=out, pattern=pattern)
  File "/home/user/.pyenv/versions/user/local/lib/python2.7/site-packages/poirot/poirot.py", line 220, in parse_diff
    matches = [m for m in find_matches_in_diff(diff_text)]
  File "/home/user/.pyenv/versions/user/local/lib/python2.7/site-packages/poirot/poirot.py", line 198, in find_matches_in_diff
    line = utf8_decode(line)
  File "/home/user/.pyenv/versions/user/local/lib/python2.7/site-packages/poirot/utils.py", line 75, in utf8_decode
    return text.decode("utf-8")
  File "/home/user/.pyenv/versions/user/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 28: invalid continuation byte

This seems to be related to a repo that contains ISO-8859-1 encoded text. I added this to utils.py:
def utf8_decode(text):
    try:
        return text.decode("utf-8")
    except AttributeError:
        return text
    except UnicodeDecodeError: # workaround for decoding error
        return text.decode("ISO-8859-1")

This fixes the problem but there may be a better solution...

Sorry for delay. The libraries for guessing the encoding scheme are rubbish in my experience. I'm thinking I'll add flags for the encoding used in the patterns/regexps and in the directory's files (ordered by precedence), e.g.:
poirot --revlist="all" --pattern-encoding="utf8" --file-encodings="utf8,latin1,ISO-8869-1,big5"
and swap utf8_decode with:
def decode(text, encodings=['utf8', 'latin1']):
    try:
        return text.decode(encodings[0])
    except UnicodeDecodeError:
        return decode(text, encodings[1:])
    except IndexError:
        print(style("Invalid encoding for: {}\n".format(text), "red"))
        raise UnicodeDecodeError

No problem. How about chardet mentioned here: http://stackoverflow.com/questions/269060/is-there-a-python-library-function-which-attempts-to-guess-the-character-encodin
It could still fall back on the file encodings list...

Tried out chardet and it has unfortunately performed poorly. I think Nick at your link has it right. Just have to decide how I want to handle errors.


AD&D1e - minor update

made text clickable for section/sub-section collapsible titles
fixed spells/day for spell levels 1-9 not being unique attribute names

Thanks


Review/update CNI providers page

https://rancher.com/docs/rancher/v2.x/en/faq/networking/cni-providers/

Fixed in https://github.com/rancher/docs/pull/1182


Spliting out the HttpClients

Pull Request Test Coverage Report for Build 2368

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 68.252%

Totals

Change from base Build 2362:
0.0%

Covered Lines:
9012

Relevant Lines:
13204

💛  - Coveralls


Use Ploi's Staging -> Deploy to Production feature

Looks like the deploy command triggers the site's deploy script configured, but Ploi has a "Deploy to production" feature when staging sites are set up. Init ploi CLI with either the staging site or the production site, doesn't run the correct "Deploy to production" script.

When staging sites are set up, the deployment script for production sites behaves a bit differently:

So, attempting to deploy the production site, doesn't work.
Do you think it would be possible to add support for this? Thanks for the work you've done on this so far!

Hey,
thanks for the detailed issue! I'm going to take a look at this later this week, but I'm sure this is something which can be added easily.

This is added in the next release, you can easily update the cli via composer global update schmidfelix/ploi-cli

@schmidfelix just FYI, I haven't been able to get this to successfully work. It gives me the message Deploying staging site to production... but nothing seems to actually happen. I've had to go into Ploi's GUI and deploy that way.

That sounds a bit like an issue with ploi, and not the cli tool. It calls the url just as specified in the docs
https://github.com/schmidfelix/ploi-cli/blob/52a60428b3c85255c1bb000f5485d3e037db7ae7/app/Support/Ploi.php#L107
https://developers.ploi.io/deployments/deploy-staging-site-to-production
Maybe try running it with --log to see if there is any output

As @sinnbeck said, that shouldn't be a problem with the CLI tool. But you have to make sure, that the site id specified in your ploi.yml config file must be the id of the staging site.

@schmidfelix !! gotcha. that makes sense. I changed it over to the staging site ID and all works. thanks!


Add configuration for inducing network delay

Description, Motivation and Context
Finding flaky tests that rely on faulty timing assumptions and fast server performance is tricky. Doing it efficiently requires adding artificial delay for server calls. This PR provides ability to start a version of temporal that induces delay for all network calls. Treat this as a starting point, we can iterate on top and add a lot more knobs in the future, for adding packet loss, random lags and database delays. For now this is targeted primarily for finding flaky tests in our SDKs.
Details
To achieve this goal I've used a tool called tc, which is a part of iproute2 package. I didn't want to add iproute2 into our main docker image, since it's needed only for testing, that's why I've created a separate testing/Dockerfile that builds temporal image with any test packages needed for debugging and resiliancy testing, also this image runs a configuration script, before starting the server, which actually invokes tc tool.
Running
docker-compose -f docker-compose-network-delay.yml up

 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.

After discussion with Alex, we've decided that adding a separate pre-built docker image would be nicer than building a temp one on the fly. This way we can more easily use this debug image in our pipelines.
Abandoned in favor of https://github.com/temporalio/temporal/pull/1394


VS Mac 2017 - Unhandled Exception: Could not load type 'RazorPagesMovie.Pages.Movies.IndexModel'

Ran all steps, and I built the solution after the INITIAL MIGRATION.
When typing in "https://localhost:5001/Movies", I'm presented with an unhandled Exception page.
Any idea where I'm going wrong please?

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

ID: 6719f08e-3bd7-dc1a-71df-f2ef9fbca9d8
Version Independent ID: 7096fdb3-612e-9e00-bd0b-8ea4886a09ce
Content: Add a model to a Razor Pages app in ASP.NET Core
Content Source: aspnetcore/tutorials/razor-pages/model.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

VS Code Windows v1.33.1
dotnet core version 2.2.203
[netcoreapp2.2]:
Top-level Package                                          Requested   Resolved

Microsoft.AspNetCore.App                           (A)   [2.2.0, )   2.2.0
Microsoft.AspNetCore.Razor.Design                        2.2.0       2.2.0
Microsoft.EntityFrameworkCore.Design                     2.2.4       2.2.4
Microsoft.EntityFrameworkCore.SQLite                     2.2.4       2.2.4
Microsoft.NETCore.App                              (A)   [2.2.0, )   2.2.0
Microsoft.VisualStudio.Web.CodeGeneration.Design         2.2.3       2.2.3

Getting this same issue. Have rebuilt, closed VS Code and retried, still getting it.

Further information:
If I run the app up using Ctrl-F5 as per the tutorial it fails as detailed above. If I issue dotnet run in the Terminal in VS Code, and then manually browse to the URL, it works.


Comment out warning about not supplying video track to RTCView—it's v…

…alid to just supply an audio track, and valuable from a developer ergonomics standpoint to be able to do so. There is no equivalent warning on Android.
This is the lowest-risk intervention to avoid an unnecessary (and frequent) warning at the moment. In the future, we may want to tweak DailyMediaView to not use RTCView when no video is playing. I tried out that change and it seemed to work OK based on initial testing, but I'd want it to bake a bit longer. This will address the issue in the meantime.

Sounds good! Just curious -- are you leaving it in in case you want to put it back or is it better to just change the if statement to be if (videoTrack)...

The former—I'm open to solving this elsewhere and reintroducing this, as well as simplifying any potential conflict-resolution required in syncing this forked repo with the origin repo.


[still] no compile/runtime warning if SetLoadFields()/AddLoadFields() are passed fields of wrong type

https://github.com/microsoft/AL/issues/6480 was closed. But there is still no warning in 19.1. I don't have access to an Insider build or time to figure out how to get one. But @PhDuck said this should get resolved. So reopening.
pageextension 50100 "Customer List" extends "Customer List"
{
    actions
    {
        addfirst(processing)
        {
            action(Test)
            {
                ApplicationArea = All;
                Caption = 'Test';
                Image = TestFile;
                Promoted = true;
                PromotedCategory = Process;
                PromotedOnly = true;
                ToolTip = 'Do a test.';

                trigger OnAction()
                var
                    Customer: Record Customer;
                begin
                    Customer.SetLoadFields("Sales (LCY)", "Balance (LCY)");
                    Customer.Get(Rec."No.");
                    Customer.TestField("Sales (LCY)");
                    Customer.TestField("Balance (LCY)");
                end;
            }
        }
    }
}

Name: AL Language
Id: ms-dynamics-smb.al
Description: AL development tools for Dynamics 365 Business Central
Version: 8.2.550913
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al

Reading the old issue, I there was some discussion on implementing a warning, but no actual action taken to implement the warning. I'll accept it so it's tracked internally so we don't lose it again.
To summarize the previous discussion, the intent is to add a new warning in CodeCop to detect usages of non-normal field types in [Set/Add]LoadFields.

Great, thank you!

Unfortunately the team that owns this feature has no plans on implementing the warning, as they have other more high priority bugs to fix. In this case, closing this issue as a "won't fix".


Help: Add links to the advanced usage

adding the links from files to the readme would be helpful, also adding more code snippets.

@jxnl   which links?

In the main read me. Linking to files in examples.

Is this still open? If not happy to take a stab at it.


Make calico's etcd service configurable

If you pass in a different service_cidr value than the default, you need to go and update all the Calico YAMLs with this new address.

LGTM.


Allow CC to know TZ of other users

I would like to write some CC’s to help folks coordinate across time zones. It would be great if -setz -u could target someone other than myself, possibly limited to when run by an admin (or CC running as admin). Or provide a version of exec that allows me to impersonate my members so I can run as them. Alternatively you could update the thing that responds to times to also try and handle dates
Or you could write regulars commands like the following:
-atz user date/time Location(s)
Create an embed that converts date/time in user’s timezone to the listed locations and outputs an embed summarizing the date time in the user’s timezone (so we know it all parsed right) and the listed locations.
Along these lines, consolidating some of the date time parsing and exposing that to CC’s would be great. The date time capture in -event create is nice, would be great if I could reuse it in my CCs.
Final thought is it would be so cool to be able to create CC’s that behave like `-event create’ walking a user through a process and then cleaning up the dialog once finished.
I’ve written some pretty complex yeoman generators and being able to explain each input in detail and even link to reference material allows for asking complex multi-part questions and then doing some pretty delightful things for people.

Sorry if this reads like I'm demanding anything. I was intending to set the enhancement label but I don't appear to be able to.


Improvement : Avoid running queries onBlur

Description
Depends on https://github.com/grafana/grafana-aws-sdk-react/pull/16
Fix
Fixes #116
Next step

merge aws-sdk PR and publish
improve UX (where to put button / styling...)
bump package version here and use new prop
Same fix for ResourceSelector

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 3 committers have signed the CLA.:x: iwysiu:x: asimpson:x: yaelleCYou have signed the CLA already but the status is still pending? Let us recheck it.


Is this supposed to happen?

I was wondering whether it was normal for the terminal to display the lines [file] Cannot open file 'magnet:?xt=urn:btih:eb99199d9adbb77661a436ce4716e0b05913a124': Invalid argument and Failed to open magnet:?xt=urn:btih:eb99199d9adbb77661a436ce4716e0b05913a124. every time I try to play a torrent with mpv?

mpv "magnet:?xt=urn:btih:eb99199d9adbb77661a436ce4716e0b05913a124..........." understood?

@NomaanMalick It is because that torrent is old and no one seeding. Its a dead torrent. Try a healthy torrent. And use " " from next time. Understand?

I'm not quite sure what the issue is here. The red text is normal. The hook only runs if mpv fails to open the file/url internally.
Metadata downloaded should suggest that playback should begin soon. And when i test myself it does.
Note that mkv's are not fully supported for streaming in the webtorrent library. So it might need to download more data before playback can begin.

Issue is he wants to play a dead torrent lmao

I'm not quite sure what the issue is here. The red text is normal. The hook only runs if mpv fails to open the file/url internally. Metadata downloaded should suggest that playback should begin soon. And when i test myself it does.
Note that mkv's are not fully supported for streaming in the webtorrent library. So it might need to download more data before playback can begin.

That's all I wanted to know. Whether it was normal for the red text to show up? Thank you for clarifying that it is normal.


Multiple controls supported?

Hey, I was wondering if multiple controls were supported?
For instance, imagine you have one treated country and multiple untreated countries and you want to estimate the effect (on revenue e.g.) of marketing in the treated country with respect to the untreated control countries. Is it possible to indicate which country is the treated one and which are the control groups? Otherwise, if you feed the revenue for each day for each country to the causal model, how does it know that country 1 is treated and the others are untreated (and should hence be used to create the synthetic control)?
Thanks in advance!

Hi @ocesp98 ,
You sure can! Notice in the code itself that the very first column is always considered to be the response variable y (or in your case, the country that received the marketing campaign).
Other columns are, therefore, the controls that join a linear regression later on for explaining y (these would be your untreated countries).
So your data can be something like:
pd.DataFrame([[1, 2, 3], [2, 3, 4], [5, 6, 7]])

The vector [1, 2, 5] would be your y and the rest would be your control X.  The getting started notebook has a few more examples that might help you out.
Hope that helps,
Will

Yes I see, this helps. Thank you very much!
One final question, this case described above only considered the outcome variable revenue, but what if you wanted to consider multiple covariates and multiple countries. At the moment, you have for each country the revenue with the first column being the target country. What if you for instance want to additionally control for market size etc?

You can add as many control variables as you see fit, as long as they follow a temporal series. But you can only have one response variable, so you can investigate for instance just the impact on revenue and nothing else.
If you also want to analyze the impact on market size then you'd have to run another script but this time the first column would contain the market size you want to investigate.
Hope that helps,
Will

Hi @ocesp98 ,
I thought I had already answered your question, just now that you closed that I realized I didn't. Sorry for that.
So as for your question, I'd recommend reading the getting_started notebook, you'll find some examples that might help you a little bit on finding the impact that each covariate has on observed variable.
Note still that it's not a rigorous statistical hypothesis test though, it's simply an averaging applied to the samples of the posterior distribution. It can already be helpful but it's not a rigorous analysis.
Hope that helps!
Best,
Will


When disabling gettext in the initialiser gettext directory and files are still created

when moving an existing project over to translation.io I uncommented config.disable_gettext = true in the initialiser.
after running rake transition:init some .po and .pot file are still generated in a new config/locales/gettext directory.
I expected those files not to be generated when clearly stating I do not use gettext

if you use config.disable_gettext = true, Gettext directory will be created (useful for our process), then removed at this step: https://github.com/translation/rails/blob/master/lib/translation_io/client/base_operation.rb#L54
Are you sure rake translation:init finished without errors? I just tested it and it works, the directory is not there.
I'd be interested to know what went wrong to be able to fix it.
BTW, if you sync, it should also remove that directory. Could you please check to see if it's working?

I can see sync creating and then removing the files. A double init will create and not remove them though. Maybe that is what happend. Problem solved though.

A double init will create and not remove them though.

That's certainly what happened, thank you for this!
I close this issue since the files will disappear on the next successful task.


Fix flaky NStepRNN and NStepBiRNN

Fixes #8032 and fixes #8033 (cc. @kmaehashi) by fixing random seeds.
https://github.com/chainer/chainer/pull/8137 which at a first glance looks like a duplicate was mistakenly merged but only as a part of https://github.com/chainer/chainer/pull/8136#event-2645556785 so no fixes actually got it. Sorry for the trouble.

Jenkins, test this please

PTAL.

Jenkins CI test (for commit 93cd582f5b6e0dd9bf2ea8a23e934fe25a93f694, target branch master) succeeded!

Jenkins, test this please

Jenkins CI test (for commit 2bfa3f4721b1ed137df51f8897ef7dd9810f1d8d, target branch master) failed with status FAILURE.

Jenkins, test this please

Jenkins CI test (for commit 2bfa3f4721b1ed137df51f8897ef7dd9810f1d8d, target branch master) succeeded!


Tree not rendering properly with multiple windows on screen

After updating to b13425d57111a7885961110f8e51907fa630642b there was a strange problem where neo-tree would not render properly if there is another horizontal window in the same screen (not a vim-split window)
https://user-images.githubusercontent.com/50263213/190137856-0b37e5c8-ea27-46f9-8a7f-0a96d17e4366.mp4
Here, at first I had two windows open, and after moving the bottom window to another pane, and closing neo-tree then opening it agian eveything worked.

neo-tree conf file:

local neotree = require("neo-tree")

vim.g.neo_tree_remove_legacy_commands = 1

neotree.setup({
    enable_git_status = true,
    enable_diagnostics = true,
    filesystem = {
        filtered_items = {
            hide_gitignored = false,
            visible = true,
            hide_dotfiles = false,
        },
        hide_by_name = { "\\.dmypy\\.json", "__pycache__" },
        hide_by_pattern = { "^.git$" },
        never_show = {},
    },
    window = {
        position = "left",
        width = 30,
    },
})

I am on Arch Linux, and my WM is qtile on xorg.

Would happily supply any other information in order to help

I don't think that particular commit could have changed anything for you with that config. Is it possible your problem was caused by updating another plugin as part of that set of updates?
You could try pinning it to prior commits and working backwards to see if this issue changes with older versions.
https://github.com/nvim-neo-tree/neo-tree.nvim/commits/v2.x

Is it possible your problem was caused by updating another plugin as part of that set of updates?
You could try pinning it to prior commits and working backwards to see if this issue changes with older versions.

I guess it's exactly as you said, that another plugin is messing it up.
TY for the response!
Closing the issue, as it's not a direct neo-tree bug


Inquiry about the batchsize of the option

If I try to set dataloading batch_size to larger than 1. The whole program may need to modified, I am not sure whether I am right.

Hi, we do not support batch_size >1 at this moment. Sorry for the inconvenience.


Change keyboard shortcuts, for speed

Cool, thanks.  Indeed, the "isolated atoms" shortcuts were already C-c C-I with a capital I.  Interesting that I never had to type them that way.


Style/Documentation accept constant visibility declaration as namespace

When declare the visibility of a constant (class and module include), the namespace object get an offense to document it.
module Namespace
  class Private
  end

  private_constant :Private
end

Expected behavior
Don't get an offense on the Namespace module. by considering constant visibility declaration as constant declaration.
Actual behavior
Get an offense on the Namespace module.
Steps to reproduce the problem

Create a file with the code above
Run Rubocop on it

RuboCop version
0.71.0 (using Parser <IP_ADDRESS>, running on ruby 2.4.5 x86_64-darwin18)

This issue is pending reviews on the pull request.


Colorized List

As a user, I want my session list to be colorful, so I can have a more visually appealing and improved legibility.

Create new format (Nerd font icons, smart paths?)
Cache these values (outside of zoxide, in sqlite for improved performance)
Figure out if Raycast can support colorized list output
Test with fzf (forcing color output)

After experimenting with the icon feature I think this will prove to be unnecessarily complicated and not worth the effort.
I'm open to revisiting this if there is a strong argument for it's value.


big-AGI version 2.0

@ppnine1234 hi, what's this request about?

A Note on Impatience in the Porcelain Shop 🏺
Dear ppnine1234,
Your enthusiasm for big-AGI 2.0 is almost tangible – a beautiful testament to the fact that this project not only exists but truly inspires. Your impatience is less of a critique and more of a great compliment to the developer. It shows how much you’re anticipating the release, much like a child eagerly awaiting Christmas morning – a compliment that speaks volumes. 🎄✨
Enrico,
Your dry humor and elegant avoidance of making concrete promises are remarkable. A sort of “Zen master of the GitHub universe”, teaching us all that “the journey is the destination.” It takes creators like you – this minimal, almost vanishingly small fraction of humanity – to truly build and lay the foundation for innovation. Without you, the world would be a stagnant place. 🌍🔥
To Both of You
Perhaps it is this very dynamic – the impatience of users and the patience of developers – that drives projects like big-AGI forward. Let’s acknowledge with a wink 😉 that we are all drawing from the same source: the desire to create something great. And let’s not forget that it is only through the rare spark of creativity, burning within creators like you, Enrico, that such projects become possible at all. 🙌

✨ Big ideas take time. Big releases, even more. ✨

@PrivTEC it's hard to decode the GPT sarcasm for me - despite using lots of GPT in every day's work, I'd appreciate no not waste time reading AI slop. I could be wrong so someone else please decode.
This is a long standing high-quality project that thousands of people use successfully whether on the website or built from their branch. You are welcome to stick around for the 2.0 release, which will include a cloud component, images support and dynamic personas.

@enricoros Anscheinend arbeitest du so oft mit KIs, dass du bereits überall Gespenster siehst, was dazu führt, dass du mich ohne Grund abrupt angreifst. Vielen Dank.
Abgesehen davon hoffe ich doch sehr, dass du begreifst, dass es Menschen gibt, deren Muttersprache nicht Englisch ist. Schon mal darüber nachgedacht, dass es sich hier um eine Übersetzung handeln könnte, oder bist du bereits so verblendet, dass du von nichts anderem mehr ausgehen kannst?
Mein Posting war als Unterstützung gemeint.
Mir direkt etwas zu unterstellen, ist eine absolute Frechheit. Ich denke, der Unsinn hier kann geschlossen werden.

There are evidently issues in translation on both sides, hence I'm marking this as off-topic.


fix compilation for GNU/Linux

I forgot about this PR, and fixed a related issue myself today.
I am sorry for that. I could not be actively maintaining my personal projects and responding to issues/prs on github most of this year and let lots of them pass unoticed/forgotten.


Dynamically edit toolbar

I was to change the colours in the toolbar dynamically, I built a little component with inputs where you can add your own hex's but the colours in the toolbar are just the ones i set on load.

This issue is stale because it has been open for 60 days with no activity.


shared library support for FreeBSD

use handle instead of linkmap to identify DSOs

merge rt.sections_freebsd and rt.sections_linux into rt.sections_elf_shared

handle the few OS specific differences

works now

Hope this gets in soon.  rt.sections_elf_shared would benefit from some documentation comments about the DSO registry scheme you're using, particularly now that it's being used on multiple ELF platforms.  Other than that and not really following all the shared library code because I'm not familiar with all the technical details, LGTM, as it passes the tests on FreeBSD.

DSO registry scheme you're using

Well, the each DSO calls into druntime and registers it's metadata sort of scheme.

the each DSO calls into druntime and registers it's metadata sort of scheme

Right, it would help others if you expand that description out into more detail, in an overview comment like this.  That OS X TLS scheme is much simpler than what you're doing, yet it does a better job of actually describing what the overall scheme is doing.  Your code has some good comments in various places, but would benefit from a better overall description.

Passes since a week!

ping

Starts to bitrot, can we please merge this?
There are enough tests to cover these changes.

Auto-merge toggled on


Combined efforts on AVR mocks

Don't merge yet.
Need to address this list of issues (which may increase at some future point, depending on how things unfold)

https://github.com/Arduino-CI/arduino_ci/issues/118
https://github.com/Arduino-CI/arduino_ci/issues/119
https://github.com/Arduino-CI/arduino_ci/issues/120
https://github.com/Arduino-CI/arduino_ci/issues/121

Highlights from CHANGELOG.md

See CHANGELOG.md for more

Updated (relative) links:

#118
#119
#120
#121

@PRosenb and @hlovdal what's the priority on getting this merged?  I will have to resolve some conflicts, and really I'm getting back up to speed on where this was a year ago.


Extension causes high cpu load

Issue Type: Performance
Extension Name: csharp
Extension Version: 1.17.1
OS Version: Linux x64 4.15.0-45-generic
VSCode version: 1.31.1

:warning: Make sure to attach this file from your home-directory: /home/jeffer/ms-vscode.csharp-unresponsive.cpuprofile.txt :warning:
Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

@Obscuriosity  The beta version containing the fix for this issue is out. You can install it by following the instructions here.
We believe this would fix the issue. Please try it out.

@jedcastroag We haven't heard back from you in a while so I will close this issue now. Please feel free to reopen if the problem still persists with the latest version(1.18.0).


Add more semantic conventions to query embeddings / query result events

@nirga  is this what you mean? I merged all of them into a single EventAttributes enum

OK, also standardized it a bit more.

The first is the event name and the second is the attribute vector (where
the embeddings vector is stored)
Nir Gazit @.***> schrieb am Do. 25. Jan. 2024 um 16:49:

@.**** commented on this pull request.
In
packages/opentelemetry-semantic-conventions-ai/opentelemetry/semconv/ai/init.py
https://github.com/traceloop/openllmetry/pull/362#discussion_r1466573275
:

@@ -44,8 +44,17 @@ class SpanAttributes:
LLM_REPETITION_PENALTY = "llm.watsonx.repetition_penalty"

-class EventName(Enum):
+class EventAttributes(Enum):

Query Embeddings
VECTOR_DB_QUERY_EMBEDDINGS = "vector_db.query.embeddings"

What's the difference between VECTOR_DB_QUERY_EMBEDDINGS and
VECTOR_DB_QUERY_EMBEDDINGS_VECTOR
—
Reply to this email directly, view it on GitHub
https://github.com/traceloop/openllmetry/pull/362#pullrequestreview-1844064286,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJDFZYS3G7IW57BGSMWSO3YQJ5JLAVCNFSM6AAAAABCJMY2FCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQNBUGA3DIMRYGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

@paolorechia ahh got it! So let's put the event name in a separate enum and then have an enum for all event attributes, WDYT?

Sounds good.
Nir Gazit @.***> schrieb am Do. 25. Jan. 2024 um 17:08:

@paolorechia https://github.com/paolorechia ahh got it! So let's put
the event name in a separate enum and then have an enum for all event
attributes, WDYT?
—
Reply to this email directly, view it on GitHub
https://github.com/traceloop/openllmetry/pull/362#issuecomment-1910519488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJDFZYNM4TWUJ3NIQ4E3T3YQJ7PZAVCNFSM6AAAAABCJMY2FCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJQGUYTSNBYHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@nirga There we go :)


Add contributors

Add contributors to the README

@all-contributors please add @veryniceperson for testing and ideas

@all-contributors please add @aaryanporwal for testing and ideas

@all-contributors please add @aaryanporwal for bug reports

@all-contributors please add @veryniceperson for bug reports


[SPARK-45891][SQL][PYTHON][VARIANT] Add support for interval types in the Variant Spec

What changes were proposed in this pull request?

This PR adds support for the YearMonthIntervalType and DayTimeIntervalType as new primitive types in the Variant spec. As part of this task, the PR adds support for casting between intervals and variants and support for interval types in all the relevant variant expressions. This PR also adds support for these types on the PySpark side.
Why are the changes needed?

The variant spec should be compatible with all SQL Standard data types.
Does this PR introduce any user-facing change?

Yes, it allows users to cast interval types to variants and vice versa.
How was this patch tested?

Unit tests in VariantExpressionSuite.scala and test_types.py
Was this patch authored or co-authored using generative AI tooling?

Yes, I used perplexity.ai to get guidance on converting some Scala code to Java code and Java code to Python code.
Generated-by: perplexity.ai

nit: [PySpark] in the title should be [PYTHON]. You can see the full list of PR categories from https://spark-prs.appspot.com/ :-)

Merged to master.

@LuciferYang Thanks for the comments! I'll address them in a future follow up PR.

Hi @LuciferYang I have made your requested changes in this PR.


Please create a node version

A node version will give access to a whole new segment of developers and allow word-level timestamps to happen directly inside of a node lambda after generating audio with openais recent tts api. By having this in javascript, it will also make it easier for js devs to create audio-text synchronization or "karaoke-style" highlighting in their user interfaces when reading text.

you can make a wrapper over the C implementation of whisper then use exe to get json and combine those or just call python cli

You can run this as a microservice on a python lambda and get a json response that you can deserialize in javascript


where to find wire_intents.json

Dear Sirs:
after using https://github.com/kintex-chatter/toolchain-installer to install related toolchains, and the clone this project and execute "make BOARD=qmtech setup"
the error shows wire_intents.json is not found. where to find this file or how to generate ?
Many thanks.
BR, Akio

Don't use this project with the toolchain installer, use https://github.com/kintex-chatter/demo-projects


Fetcher Builder with maven and repo coordinates results in module does not exist

MBT Version: 1.0.9.
OS Version: Windows 10
While using the fetcher builder with repo type maven and repo coordinates, the built process results in "mta.yaml" is not valid / module does not exist. When using the deprecated mta.jar builder it works fine (java- jar mta.jar --build-target=XSA).
Cmd.exe Log:
mbt build -p=XSA
[2020-02-20 15:03:55]  INFO Cloud MTA Build Tool version 1.0.9
[2020-02-20 15:03:55]  INFO generating the "Makefile_20200220150355.mta" file...
[2020-02-20 15:03:55]  INFO done
[2020-02-20 15:03:55]  INFO executing the "make -f Makefile_20200220150355.mta p=XSA mtar= strict=true mode=" command...
[2020-02-20 15:03:55]  INFO validating the MTA project
[2020-02-20 15:03:55]  INFO validating the MTA project
[2020-02-20 15:03:55] ERROR the "mta.yaml" file is not valid:
line 13: the "app-backend-service" path of the "app-backend-service" module does not exist
make: *** [Makefile_20200220150355.mta:46: validate] Error 1
Error: could not build the MTA project: could not execute the "make -f Makefile_20200220150355.mta p=XSA mtar= strict=true mode=" command: exit status 2

simplified mta.yaml:
ID: App
_schema-version: '2.1'
description: Appilication
version: 0.0.1

modules:
 - name: db
   type: hdb
   path: db
   requires:
    - name: db_hdi

 - name: app-backend-service
   type: java
   parameters:
     memory: 1024M
   provides:
     - name: backend_api
       properties:
         url: ${default-url}
   requires:
     - name: db_hdi
     - name: app-xsuaa
   **build-parameters:
     builder: fetcher
     fetcher-opts:
       repo-type: maven
       repo-coordinates: com.a.b.c:backend-service:0.0.1-SNAPSHOT**

resources:
 - name: db_hdi
   properties:
      hdi-container-name: ${service-name}
   type: com.sap.xs.hdi-container

 - name: app-xsuaa
   type: com.sap.xs.uaa
   parameters:
     config-path: ./xs-security.json

HI,
In the new MBT tool, the path property is mandatory (except for no-source build configuration). Please set it in the mta.yaml and the tool will first download the artifact to /target directory and then package it into the mta archive.
Regards
Natalia


HBASE-25200 Try enlarge the flaky test timeout for branch-2.2

Seems we are still in a bad situation for branch-2.2? The flaky list is very long...


Fix FinalCallback not called after a previous exception

This is a bugfix.
Bug: The FinalCallback middleware looses count of self::$nestingLevel if a exception is raised during json mapping. After an exception the callback is never call on the following sucessful mapping calls.
Fix: just include the self::$nestingLevel--; in a finally block so it is called even if an exception is raised.
An integration test has been added to make sure the issue is fixed.

@hyde1 thanks for the report and pull request. I’ll try to take a look somewhere coming week.

There was some issue while using the gh cli tool for amending the commits with the changelog entry which resulted in the PR being closed and as an adverse effect locking me out to make changes to the branch in your fork.
I've cherry picked the fixes into a new branch and created #175


[BUG] LiveMetrics showing incorrect values

Library name and version
Azure.Monitor.OpenTelemetry.AspNetCore
Describe the bug
LiveMetrics is showing incorrect values.
Specifically investigating Requests per second.
Expected behavior
N/A
Actual behavior
N/A
Reproduction Steps
Here I've written a console app that starts a web application.
The default endpoint is invoked in a loop, and every second we print out the number of requests.
    internal class Program
    {
        public static async Task Main(string[] args)
        {
            var builder = WebApplication.CreateBuilder(args);
            builder.Logging.ClearProviders();
            string connectionString = "...";
            builder.Services.AddOpenTelemetry().UseAzureMonitor(x => x.ConnectionString = connectionString);
            var app = builder.Build();

            app.MapGet("/", () => "Hello World!");

            var hostTask = app.RunAsync();

            using var httpClient = new HttpClient();
            var stopwatch = Stopwatch.StartNew();
            int callCount = 0;

            while (true)
            {
                var response = await httpClient.GetStringAsync("http://localhost:5000");
                callCount++;

                if (stopwatch.ElapsedMilliseconds >= 1000)
                {
                    Console.WriteLine($"{DateTime.Now:HH:mm:ss}: {callCount} calls");
                    callCount = 0;
                    stopwatch.Restart();
                }
            }
        }
    }

Console output shows between 30-50 requests per second.

The Metrics blade is showing an average of 45 requests per second.

LiveMetrics dashboard is showing 3 requests per second

A fiddler trace is also showing that the SDK is sending 3 requests per second

Environment
No response

Seems like our internal buffer had a hard cap of 20.
https://github.com/Azure/azure-sdk-for-net/blob/43fc021007689ca13bb372293103ca985af2b0c9/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/src/LiveMetrics/DataCollection/DocumentBuffer.cs#L15
When i changed this to an arbitrary high value, Live Metrics shows the correct value

FYI; The bug is related to the capacity limit on our internal buffer. The capacity was set too low.
We're discussing either increasing the capacity or removing it altogether.
We need to take some more time to review the performance implications of either change.

Live metrics:

Meanwhile, what was running during this time was a load test that averaged almost 1500 requests per second.

This is a .net 9 asp.net project that benchmarks a single query running against the northwind database.
builder.Services.AddOpenTelemetry().UseAzureMonitor(opt => { opt.Credential = credential; opt.ConnectionString = appInsightsConnectionString; });


GH2214: Use Environment.CommandLine directly and remove polyfill.

Fixes #2214

@mholo65  your changes have been merged, thanks for your contribution 👍


ARTEMIS-2047 Compatible option for ActiveMQJMSClient

don't merge this yet.. I will make the property final and play with compatibility-tests for the classLoading.

I'm done! and I'm glad I did this because I found an issue through compatibility tests.


Update host config

The previous method of defining font families and sizes has been deprecated. Updated to use the new approach. Also changed the font family from Comic Sans to Consolas because Comic Sans didn't work as expected.

OPS Build status updates of commit c30ee58:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

AdaptiveCards/sdk/rendering-cards/net-wpf/host-config.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add Shebang to example

Run ruby example/route.rb will raise cannot load such file -- em-midori (LoadError), by adding Shebang would made running example easier.

Actually, the example is formerly designed to use gem install em-midori at first.

I know, but examples should follow commit which its' belongs to, not a released one.


Makefile: fix docs install target

Signed-off-by: Lokesh Mandvekar<EMAIL_ADDRESS>@baude @mheon @flouthoc @Luap99 PTAL

LGTM

/lgtm
but we should fix the docs before we ship this


New CNC I/O Module - Prototype Board

Here is a new module design. This is for prototyping new ideas. Will order this with the next raw PCB order.


WebpackError: ReferenceError: window is not defined

call window directly will lead to fail while building in production as below:
  WebpackError: ReferenceError: window is not defined

  - react-canvas-nest.min.js:1 Object../node_modules/react-canvas-nest/dist/react-canvas-nest.min.js

the solution to solve this issue is to check if window is available everytime you need it,
typeof window !== 'undefined' && window.[event]

Thanks for your report, I have tried to fix it in<EMAIL_ADDRESS>If it work, I will release the official version.


feat: added rsv modules

Description

If you haven't already, read the full contribution guide. The guide may have changed since the last time you read it, so please double-check.
Enable GitHub Workflows in your fork to enable auto-generation of assets with our GitHub Action.
To trigger GitHub Actions after auto-generation, add a GitHub PAT as a secret in your forked repository called PAT.
Adding a new module

[ ] A proposal has been submitted and approved.
[ ] I have included "Closes #{module_proposal_issue_number}" in the PR description.
[ ] I have run brm validate locally to verify the module files.
[ ] I have run deployment tests locally to ensure the module is deployable.

Updating an existing module

[ ] This is a bug fix:

[ ] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
[ ] The bug was found by the module author, and no one has opened an issue to report it yet.

[ ] I have run brm validate locally to verify the module files.
[ ] I have run deployment tests locally to ensure the module is deployable.
[ ] I have read the Updating an existing module section in the contributing guide and updated the version.json file properly:

[ ] The PR contains backwards compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in version.json.
[ ] The PR contains backwards compatible feature updates, and I have bumped the MINOR version in version.json.
[ ] The PR contains breaking changes, and I have bumped the MAJOR version in version.json.

[ ] I have updated the examples in README with the latest module version number.

@alexanderojala @ms-ojala - Have you been able to perform any of the following:

codeowners file should be updated as per the following guidelines https://azure.github.io/Azure-Verified-Modules/specs/shared/#team-memberships
update issue template as per https://azure.github.io/Azure-Verified-Modules/specs/bicep/#id-bcpnfr15---category-contributionsupport---avm-module-issue-template-file
add corresponding github workflow
attach a pipeline badge as a proof that the module is validated in you environment
You can reference PR https://github.com/Azure/bicep-registry-modules/pull/874 as an example for above requested additions

Kindly ignore this PR, was faulty. I will create a new PR once module ready for merge


Convert pxtrunner into modules

This PR looks much bigger than it actually is; you probably want to view the diff with ignore whitespace turned on.
Making this change because our new Blockly code is module based so everything that interacts with Blockly needs to be a module as well. There are no real changes to code here, just a straight conversion from namespaces to modules and fixing a bunch of qualified names.
I also defined a new file, pxtrunner/embed.ts, which puts all of the runner code into the global namespace so it can be appended to pxtembed.js (which is itself included in various pages like --docs, --embed, --run, etc.). The file serves as the entrypoint for browserify
Eventually I'll get around to converting everything into modules and that file will no longer be necessary

Question: How will moving to modules impact shims? I know you said that we're not making everything to modules yet but would like to. If we change everything be a module, would we have to change how we connect logic between C++ and TypeScript?

@srietkerk when i say switching to modules, i only mean for web code. "user code", like the stuff in the libs/ folder, won't be changing


using it with foreign language

Hello
am done with corpus preparation, but how do i run this google utility step u mentioned with Urdu language corpus
<
./ word2vec -train ../processed/wiki -output ../results/enwiki.skip.size300.win10.neg15.sample1e-5.min10.bin -cbow 0 -size 300 -window 10 -negative 15 -hs 0 -sample 1e-5 -threads 24 -binary 1 -min-count 10

another thing,this text9.zip file should be used only when we have trained on english word2vec, what should i replace it with incase of urdu language

hi, for other languages than English, you just need to replace the train file. in the example, train file is set by the command "--train ../processed/wiki", here the wiki file can be in any language, if it is English, then it would produce English embeddings.

Hi,
Thanks for reply
Whenever am trying to execute last command in ur readme, its producing error cant recognize word2vec command , my processed corpus is also in processed/wiki .

have you downloaded the word2vec toolkit?

Yes i have downloded word2vec toolkit as well, are there further dependencies which need to be installed for running googleword2vec, and am i suppose to replace text8.zip as well from googleword2vec folder with anything related to urdu , or this .zip folder is not used at all if i am already providing training data set in processed/wiki.


Allow adding and locking projects with no lockfile

Fixes #51

Signed-off-by: Dan Ryan<EMAIL_ADDRESS>

https://github.com/sarugaku/passa/commit/fb17fb405a7ab083eff53bb9a270951354a18d5c


Error on load TradeSystem 1.1.13 (tacospigot 1.8.8)

I was using the 1.1.12 TradeSystem, so I decided to update, but sadly the newer version of the plugin does not get loaded in 1.8.8 tacospigot https://pastebin.com/j8caviC2
I tried removing old files, anyways the error persists.

Your pastebin is not working for me, but i've the same problem: https://paste.soleria.eu/axakewivih.css
Best regards,

My bad, the pastebin is not working, but anyways is the same error as me,
Thanks for your reply, I hope that the developer could see this issue.

Appears only on TacoSpigot

@haeiven @J4im3x0 Please check my latest hotfix from my discord (#dev-builds)

Still not working for me: https://paste.soleria.eu/pufanehane.md

Please try another build from my discord server (if you use my WarpSystem you must update to a dev build too)


Sections don't indent and clicking section names returns to main.py

Hi I am having an issue where I cant seem to get the sections to indent and in app these section names can be clicked on just like page titles. Doing so returns the user back to the main app. I have updates to version 0.3.5 and the issue remains. Any ideas what might be causing this behaviour?

Are you using add_page_title() on each of your pages? If not, then you need to use add_indentation() on each of your pages. Let me know if that doesn't work for you.

Thank you Blackary! I missed this and was an easy fix.


Panic: repeated read on failed websocket connection

Hello,
Thank you for this library, I have been using it for more than a year and it was working flawlessly. But, since last week the library is panicking:
panic: repeated read on failed websocket connection

goroutine 227 [running]:
github.com/aitva/bot/vendor/github.com/gorilla/websocket.(*Conn).NextReader(0xc420532dc0, 0xffffffffffffffff, 0x0, 0xc42004cec8, 0xc42004cec8, 0x412198)
        /go/src/github.com/aitva/bot/vendor/github.com/gorilla/websocket/conn.go:958 +0x35d
github.com/aitva/bot/vendor/github.com/gorilla/websocket.(*Conn).ReadJSON(0xc420532dc0, 0x8ece60, 0xc4203bd1a0, 0x9edbe0, 0xc4a660)
        /go/src/github.com/aitva/bot/vendor/github.com/gorilla/websocket/json.go:45 +0x2f
github.com/aitva/bot/vendor/github.com/nlopes/slack.(*RTM).receiveIncomingEvent(0xc420533180)
        /go/src/github.com/aitva/bot/vendor/github.com/nlopes/slack/websocket_managed_conn.go:288 +0xa1

The panic occurs after receiving a bunch of *slack.IncomingEventError with the error websocket: close 1006 (abnormal closure): unexpected EOF.

I am in a difficult situation since I cannot recover from the panic (the panicky goroutine is started from RTM::ManageConnection) and I cannot force a reconnection since the RTM::Reconnect method is not implemented.
Do you know why this is happening? Do you have an idea of how I could avoid the panic? I can provide more information if needed.

honestly? no idea, I've never seen this error and we run a bunch of managed RTM connections.

is this still an issue in the master?

hi @james-lawrence,
I still have the same problem with version 0.2.0 8ab4d0b364ef1e9af5d102531da20d5ec902b6c4.
any chance there is already a fix for this in place which gets released soon?

The read loop code has seen multiple changes since the 0.2.0 release. Time for a new release?


workspace bug

Hi I want to use the script but my workspaces do not work as expected
As you can see in the video, there are only two places to go and sometimes it goes to the work area named X and when I restart it it gets better
https://youtu.be/jFBsdNIW2Ic

hello, sorry for the very late reply. I am making a major rewrite of all the i3ass scripts, and i hope this issue will be resolved in the update, but I keep it open in case it persists. Then i will investigate it further.


Flashing Tab ultra C

I didn't quite understand what exactly was in the repository description, I may have misunderstood. But it seems that you can get a ROM and then install it via recovery mode. In that case, is it possible to install the global firmware of Tab Ultra C on its Chinese version, Tab 10c Pro? If yes, can someone briefly explain how to do it or provide resources so I can figure it out myself? Thanks in advance.

Briefly? No.
It's better to start a thread at https://www.mobileread.com/forums/forumdisplay.php?f=220

No activity.


macOS  apple ,can not  compile sniprun

Describe the bug
cd ~/.local/share/nvim/site/lazy/sniprun
bash install.sh
Runnning Sniprun Installer
Looks you are not running Linux: Mac users have to compile sniprun themselves and thus need the Rust toolchain
Compiling sniprun locally:
Building sniprun from source...//it stop in this about 2 hours.
Screenshots

Environment:
NVIM v0.8.3
macOS 13.2.1  -apple     ,isn't intel
iterm2 Build 3.4.19
xterm-256color

Hmmm quite strange
The message itself is normal, since you're on mac, non-x86 sure but still
I assume : checkhealth sniprun doesn't have any interesting info?
Sniprun has been reported to work correctly on M1 (and presumably M2) Apple devices, so I'd be curious of the output of cargo build --release run from a clone of this repo (clone manually or use the clone from your package manager)


Add redshift data endpoints

According to the documentation, sending SQL statements to Redshift is handled with a different API:
https://docs.aws.amazon.com/redshift-data/latest/APIReference/Welcome.html instead of
https://docs.aws.amazon.com/redshift/latest/APIReference/Welcome.html so a new service must be defined in the fork.
Before opening a PR, please make sure you have:

Run mix format using a recent version of Elixir
Run mix dialyzer to make sure the typing is correct
Run mix test to ensure no tests have broken (also please make sure you've added tests for your particular change, where appropriate).

I would assume that both redshift and redshift-data would be part of the elixir aws library.
If this is not the case, then let's give it a try with the new service.


Have provision-aws-cluster tell you your DEISCTL_TUNNEL

The new version of provision-aws-cluster.sh sets its own DEISCTL_TUNNEL to the IP address of the first EC2 instance in the cluster. This works, and is convenient.
But we should pass this info on to the user, who otherwise is stuck following the vague instructions in the user guide (http://docs.deis.io/en/latest/installing_deis/install-platform/#install-deis-platform).
Can we just emit a message from the script telling the user to set their DEISCTL_TUNNEL to the address we autodiscover?

See also #3629.


[BUG] OuiSplitButton still displays dropdown when no options available

Describe the bug
When options is blank-array, or options is not present at all,  the "dropdown" side of SplitButton is still displayed, and when clicked an empty Popover is rendered.
To Reproduce
Steps to reproduce the behavior:

Use this TSX :

<OuiSplitButton >Test</OuiSplitButton>

See dropdown button
Click dropdown button
See empty Popver (2-pixel line under dropdown)

Expected behavior
No dropdown button, no popover

While I see where you are coming from, I wouldn't categorize this as a bug because this is how an empty native <select /> elements works too: it shows a minimal empty. Additionally, being primitive components, it is the consumer who should make sure the component is used correctly.
Thanks for raising a PR but I don't believe this is the component or the library's problem to solve. I will let others chime in as well before deciding how to move ahead.

My personal opinion is that a design system is supposed to abstract away the complexity of managing the UI for a developer. @AMoo-Miki what you're proposing puts the responsibility back on the developer to handle the case where there are no alternate actions. While this is simple enough to do, it goes against why we use UI libraries in the first place. The more heavy lifting the UI library can do for you, the less the developer needs to think when they use the library and the less chances there are for inconsistent patterns to show up.

I love making people's lives easier and I love cohesion.


Wrong arithmetic operation in spacing

I was surprised why Utopia spacing isn't working, and there is - instead of +.
This works:
export const spacing = stylex.defineVars({
  xxxs: `clamp(${MIN_SPACE.xxxs}px, calc(${INTERCEPT_SPACE.xxxs}px + ${
    Math.round(10000 * SLOPE_SPACE.xxxs) / 100
  }vw), ${MAX_SPACE.xxxs}px)`,
  xxs: `clamp(${MIN_SPACE.xxs}px, calc(${INTERCEPT_SPACE.xxs}px + ${
    Math.round(10000 * SLOPE_SPACE.xxs) / 100
  }vw), ${MAX_SPACE.xxs}px)`,
  xs: `clamp(${MIN_SPACE.xs}px, calc(${INTERCEPT_SPACE.xs}px + ${
    Math.round(10000 * SLOPE_SPACE.xs) / 100
  }vw), ${MAX_SPACE.xs}px)`,
  sm: `clamp(${MIN_SPACE.sm}px, calc(${INTERCEPT_SPACE.sm}px + ${
    Math.round(10000 * SLOPE_SPACE.sm) / 100
  }vw), ${MAX_SPACE.sm}px)`,
  md: `clamp(${MIN_SPACE.md}px, calc(${INTERCEPT_SPACE.md}px + ${
    Math.round(10000 * SLOPE_SPACE.md) / 100
  }vw), ${MAX_SPACE.md}px)`,
  lg: `clamp(${MIN_SPACE.lg}px, calc(${INTERCEPT_SPACE.lg}px + ${
    Math.round(10000 * SLOPE_SPACE.lg) / 100
  }vw), ${MAX_SPACE.lg}px)`,
  xl: `clamp(${MIN_SPACE.xl}px, calc(${INTERCEPT_SPACE.xl}px + ${
    Math.round(10000 * SLOPE_SPACE.xl) / 100
  }vw), ${MAX_SPACE.xl}px)`,
  xxl: `clamp(${MIN_SPACE.xxl}px, calc(${INTERCEPT_SPACE.xxl}px + ${
    Math.round(10000 * SLOPE_SPACE.xxl) / 100
  }vw), ${MAX_SPACE.xxl}px)`,
  xxxl: `clamp(${MIN_SPACE.xxxl}px, calc(${INTERCEPT_SPACE.xxxl}px + ${
    Math.round(10000 * SLOPE_SPACE.xxxl) / 100
  }vw), ${MAX_SPACE.xxxl}px)`,
  xxxxl: `clamp(${MIN_SPACE.xxxxl}px, calc(${INTERCEPT_SPACE.xxxxl}px + ${
    Math.round(10000 * SLOPE_SPACE.xxxxl) / 100
  }vw), ${MAX_SPACE.xxxxl}px)`,
});

Isn't it possible to refactor those computations into a lib? A "@stylexjs/typography" lib.

And MAX_BASE_SIZE isn't working too.
I have const MAX_BASE_SIZE = 18;
But p is 20px.

Isn't it possible to refactor those computations into a lib? A "@stylexjs/typography" lib.

And MAX_BASE_SIZE isn't working too.
I have const MAX_BASE_SIZE = 18;
But p is 20px.

Please can you follow the issue template and try to provide actionable information in your reports?

I was surprised why Utopia spacing isn't working

How is it not working? What are you expecting to see, and what are you actually seeing?

Isn't it possible to refactor those computations into a lib? A "@stylexjs/typography" lib.

No because it's not possible to customize the numbers going in externally.

I'll look if I got the math wrong. I remember that at really small sizes things work a bit strangely, but I remember it all working correctly.
It might make sense to simply delete all the computation and replace it with the final output from Utopia directly. This was initially just a test to verify that evaluation during compilation was working correctly. We use the nextjs example as a bit of a testbed.

I was surprised why Utopia spacing isn't working

The spacing is the same, regardless of the browser viewport width.
I replaced - with +, and it adjusted size properly.
During that time, I discovered another bug: the font size.
@necolas Sorry for the insufficient repro, I will add something.
@nmn Where did you get that math? It looks like https://utopia.fyi/ isn't open-sourced.

@steida I mostly came up with the math myself.

@nmn OK, so it's probably out of the scope of StyleX. Should I close this issue?


List un-hot-reloadable parent modules when module is not hot-reloadable

If a module cannot be hot-loaded, the infamous "The following modules couldn't be hot updated" error is displayed in the console. If my understanding is correct, this means that the module is imported by at least one other module that is not hot-reloadable. If this is right, it would be incredibly useful to be able to get a list of the parent modules in question. So if my module is used by modules A, B and C, and only C is hot-reloadable, it would tell me that it can't hot-reload my module because A and B are not hot-reloadable. Something like:
[HMR] The following modules couldn't be hot updated: (They would need a full reload!)
[HMR]  - 523
[HMR] (module is imported by modules 42 and 1337 that cannot be hot updated)

Does this make sense? If so, does something like this already exist?

Makes sense.


Consolidate the logic around bounds_check

Problem
Truncate and modulo right now use two different codepaths but they should not need to
Happy Case
Consolidate the logic around bounds_check, truncate, modulo and unsigned division.
Alternatives Considered
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response

Backlink https://github.com/noir-lang/noir/pull/1527/files#r1215718631


questions about evaluate_on_test

Hi Daniil,
when I tried the evaluate_on_test, why I got f1 score is 0?
Looking forward to hearing from you!
Thank you!

Hi,
can you provide more details? What is the exact command that you run and the data sets used?
Have you installed a local version of Wikidata as described in https://github.com/UKPLab/coling2018-graph-neural-networks-question-answering/blob/master/WikidataHowTo.md
Best wishes,
Daniil

Can we use coqa dataset for this code?


Tooling to automate a scully run.

🧩 Feature request
Description
 A clear and concise description of the problem or missing capability...
Describe the solution you'd like
We need a tool/schematic that builds everything a scully-run needs, and then runs scully.
Bonus: auto-deploy hook.
 If you have a solution in mind, please describe it.
Describe alternatives you've considered
 Have you considered any alternative solutions or workarounds?
Goal Deliverable: EOD 2020-07-02

Is there a way to currently automate those builds, or generate the static files alone?


Add script to build toolchain

What's in this pull request?
A short script to document how to/build toolchain
master PR as per:
https://github.com/apple/swift/pull/1563
duplicate of https://github.com/apple/swift/pull/1608 from fresh fork without unnecessary merges
Resolved bug number:
https://bugs.swift.org/browse/SR-174

Thanks!

Thanks so much for this, @johnno1962! This made it much easier for me to build an OS X toolchain.

Where were all those core files you found @modocache. You’ve got me worried now..

I found out that that was unrelated, but they appeared in /cores.

You need to start the script with #!/bin/bash, not #/bin/bash

Thanks Daniel, I’ll file a PR to fix this today.


Replaced oligarchy with anarchism. Smash the /bin/bash

Power to the pull requests!

👎

👎

As I expected, nothing but boring sheeple in this repo

👍

👎

👎

Not even current tense :-1:

:+1:

@izik1 Why are you insisting on present tense? Because someone told you to? Present tense is passé. Don't be a conformist.

@vkgfx because I wanted to actually, and doing a semi sarcastic comment hardly counts as insisting :p


Explication Restructure

This PR adds in some sweeping changes to the organization of explication and debugging.  The most important change is the addition of a new IR and associated pass (oof) between the assembly AST and typechecking.  The new IR is titled expir to distinguish it from the fully explicated ready-to-typecheck IR, and lives in the explication module.
The other changes (hopefully improvements) this PR makes can be roughly summarized as follows:

All the explication logic is pushed into the explication module

Holes have been moved to explication
There are now separate contexts for explication and assembly, which should hopefully reduce complexity when trying to lower stuff

Lowering is much more macro'd as a whole, specifically for nodes.  We should consider making Tail edges similarly macro'd, because this makes it a lot easier to futz with the definitions of the language
Debugging information is now "passed down" from the assembly, and error messages now print information based on the original assembly code names
Explication, as an explicit pass, is now setup to do "partial explication" while I add the pieces.  These partial explication steps are currently disabled to avoid confusion with what works and what doesn't here.

For review, I would appreciate specifically a review on codegen and the high-level-caiman module changes.  I would also appreciate an attempt to run and see how error messages "feel" in the current form.

Actually, I take that back lol. Belated April Fools? When I try to build the branch I get the folloiwing error:
error[E0446]: private type `explication::context::ScheduleScopeData` in public interface
   --> src/explication/context/instate.rs:66:5
    |
66  |     pub fn get_latest_scope(&self) -> &ScheduleScopeData {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
    |
   ::: src/explication/context.rs:113:1
    |
113 | struct ScheduleScopeData {
    | ------------------------ `explication::context::ScheduleScopeData` declared as private

error[E0446]: private type `explication::context::ScheduleScopeData` in public interface
   --> src/explication/context/instate.rs:70:5
    |
70  |     pub fn get_latest_scope_mut(&mut self) -> &mut ScheduleScopeData {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
    |
   ::: src/explication/context.rs:113:1
    |
113 | struct ScheduleScopeData {
    | ------------------------ `explication::context::ScheduleScopeData` declared as private

That's so interesting, I don't get such an error even when compiling after a cargo clean.  That being said, I pushed a change to make this struct public, since it's a fair message to get, sorry for the trouble!