Env variable file not being loaded in Get command

Describe the bug
I have a file at  ~/Library/Application Support/Shopify/Themekit/variables that looks like this:
DEV_PASSWORD=xxxxxxxxxx
DEV_THEMEID=yyyyyyyyy
DEV_SHOP=my-shop-name.myshopify.com

And a config.yml file in my project/current directory that looks like this:
development:
  password: ${DEV_PASSWORD}
  theme_id: ${DEV_THEMEID}
  store: ${DEV_SHOP}

But when I try to list my themes I get this:
$ theme get --list --env=development
invalid environment [development]: (missing store domain,missing password)

I've verified that everything works properly if I hard code the variables into config.yml. Am I missing something?
To Reproduce
Create a file at  ~/Library/Application Support/Shopify/Themekit/variables that looks like this:
DEV_PASSWORD=xxxxxxxxxx
DEV_THEMEID=yyyyyyyyy
DEV_SHOP=my-shop-name.myshopify.com

And a config.yml file in your project/current directory that looks like this:
development:
  password: ${DEV_PASSWORD}
  theme_id: ${DEV_THEMEID}
  store: ${DEV_SHOP}

Then try to list you themes:
$ theme get --list --env=development
invalid environment [development]: (missing store domain,missing password)

Expected behavior
Listing the themes should work just the same as if the config variables were hardcoded into config.yml.
Environment (please complete the following information):

OS : macOS 10.13.6
Themekit version : ThemeKit 1.0.0 darwin/amd64 (Installed via homebrew)
Editor : vim
Ignore: ??

Additional context
N/A

Hey @jagthedrummer thanks for opening the issue and giving me so much information. I will look into this right away.

Ah, I see you are correct. For theme get the environment is not appropriately sourced but is sourced in other commands. This is because the environment works a bit more flexible in get but clearly it should load the env variables. I will get back to you when I have a fix for this.

Actually, now that I look into the code this is an interesting situation because theme get is meant to establish and create a theme so it assumes it needs a new configuration. For instance, running theme get --list --env=development is a confusing command because you are asking for a list of themes while pointing at a distinct theme. Then if you ran theme get --env=development --themeid=123 it would overwrite your development config.
I understand it would be nice to be able to source this information from the configuration so I will have to think about how to do this without causing conflict. Possibly a --from flag or --source flag to indicate that you want a theme or themes from the same shop as another already present theme.

Aaaaaaaahhhhh, ok, I see what you mean.
Just for a little more context, my thought process went like this: "I think I have the variable file set up correctly, but I'm not sure, so I should try to run some non-destructive command to verify. Listing the themes in the shop seems like a safe option."
Maybe instead of listing themes being a "sub command" of get there should be an explicit list command that ignores the themeid from the env? (Or maybe when the --list flag is passed it could ignore the themeid?) Or maybe there's nothing to be done here other than making it explicit in the docs that the get command does not read from the env...
Anyway, thanks for the quick response! Much appreciated.

Hi there!
I just ran into the exact same issue :)
Since the recommendation (thankfully) is not to store the credentials in a GIT repository, my approach was to first define the variables for any new environment / theme I want to work with and then directly pull it using the defined variables. That way I immediately know for sure the variables work and I didn't mix anything up, plus I don't need to clean up the config.yml before I can commit.
Can't you check for the variable file also when GETting a theme, following a standard naming convention such as [envname]_[config.yml-setting]=[myvalue] - and if one is found directly write the variable names into the config.yml file (provided there are no command line values given, or maybe create a new command line option to tell theme get to use the variables file) ?
For example for theme get --env=development it could check for the existence of a ${HOME}/Library/Application Support/Shopify/Themekit/variables and expect a format like the following
development_password=0bwef09hn23048sdkl2345n2k3
development_theme_id=123
development_store=can-i-buy-a-feeling.myshopify.com

in alignment with the sample at https://shopify.github.io/themekit/configuration/#config-file
Thank you & Best Regards
Fabian

Maybe instead of listing themes being a "sub command" of get there should be an explicit list command @jagthedrummer

FWIW I think this is a good idea, too!

I ran into this issue as well. I setup a config.yml with variable interpolation to work on a development theme. When the time came to add a production config, I wanted to get the list of themes.
I threw the error when I used variable interpolation on theme get --list or theme get in general. All other commands don't have this issue.
It worked like a charm again when I had the password directly in the config.yml.
I consider this a bug. Either reading of interpolated variables on theme get it should be fixed or the recommendation to make it it's own command should be implemented 😄 👍

Hello, I'm having similar issues but was also wondering if the path and file ${HOME}/Library/Application Support/Shopify/Themekit/variables  need to be created manually? I've also have read in the community forums that the variables file can be added to the root of the project and Themekit should be able to read from there?
I've tried that approach and having no luck. I instead get:
$ theme get --list
invalid environment [development]: (missing store domain, missing password)

$ theme get
invalid environment [development]: (missing theme_id,missing store domain,missing password)

MacOSX: 10.15.7
ThemeKit 1.1.2 darwin/amd64 (Installed via homebrew)

I just waste so many time trying to understand what I was doing wrong that I started to look at themekit source code just to understand what was going on 😅
A list command would be super useful and clearer than an option of the get command I think.

Hi I am seeing this issue with the latest version of ThemeKit still.
OS: Windows 10
Themekit Version: 1.1.4
I setup the environment variables as required in themekit documentation and yet I cannot run theme get -e=staging or theme get --list.
If I replace the variables with hard-coded values in config.yml, these commands run as expected.

Same issue, just starting with Shopify theme development and theme get --list won't load any values from the variables files, i.e. interpolated variables don't work with the get command. Hard coding the values does work.

Same issue, just starting with Shopify theme development and theme get --list won't load any values from the variables files, i.e. interpolated variables don't work with the get command. Hard coding the values does work.


Create connectionIds using HMAC

https://github.com/aspnet/SignalR/issues/1523

The issue talks about using an HMAC to valid the ID, but the PR is using HMAC as the ID. Issue change in offline discussion?

Yeah, lets talk offline today

To close the loop on the discussions, we decided that the impact of HMACing or encrypting the key was heavy and would only gain us the ability to remove the initial allocation of the entry in the connection list. Keeping track of the IDs we've issued (which we do now) is equally secure, but we can reduce allocations by avoiding allocating the full DefaultConnectionContext on the /negotiate endpoint, and only allocate it when the client returns for the poll/SSE/WebSocket/send endpoints.


[Task] Research (and impl) DID Message Compression to reduce Message size

Description
As of right now, DID Messages are published as a JSON formatted document containing (parts of a) DID Document and metadata. As the size of messages on the Tangle, directly influences the Proof-of-Work requirement, it is important to reduce the amount of data on the Tangle, while not losing any information. You might call something like that lossless compression 😄
Two things need to be considered for compression and may be combined if it achieves the best outcome:

Lossless Compression Algorithms
Handmade Compression

A handmade compression could be a "conversion map" (Not sure if this is a thing), where we map frequently used fields to smaller, often single, characters. DID Messages contain valid JSON, but technically speaking we could map "verificationMethod": to v:. This may already be caught by the lossless compression algorithm, but I expect a combination to net the best results.
Any compression will remove the human-readability from the Tangle messages. It will be important to decompress messages in an early stage of the processing, such that no tools are broken (Identity Resolver).
It was already the idea to add version to the DID messages in order to have the ability to support backwards compatibility. This would need to be a field outside of the compression as a new version could also indicate a new compression / decompression algorithm in the future.
Motivation
Reduce DID Messages size, therefore reducing the Proof-of-Work requirement for IOTA Identity, increasing the speed of the framework's writing ability and reduce the carbon footprint.
To-do list
Create a task-specific to-do list . Please link PRs that match the To-do list item behind the item after it has been submitted.

[ ] Compare Lossless Compression Algorithms
[ ] Implement Handmade Compression
[ ] Compare in combination with Handmade Compression
[ ] Introduce DID Message version outside of compressed region

Comparing Lossless Compression Algorithms
For compressing a DID message, the following algorithms has been tested:

Bzip2: uses file extension .bz2, initial release in 1996, usually more effective than deflate.
zlib: abstraction of the DEFLATE compression algorithm, initial release in 1995.
Snappy, aims for speed more than maximum compression, developed by Google, initial release 2011.
Brotli: works best for text compression, developed by Google, initial release 2013.

{"id":"did:iota:U1zDCC47hjcXupixrw5kbKCxV3ZCUn3RomJ5VkX1wHv","verificationMethod":[{"id":"did:iota:U1zDCC47hjcXupixrw5kbKCxV3ZCUn3RomJ5VkX1wHv#authentication","controller":"did:iota:U1zDCC47hjcXupixrw5kbKCxV3ZCUn3RomJ5VkX1wHv","type":"Ed25519VerificationKey2018","publicKeyBase58":"Mamni7dcVHSDvyAHy4MLFaYTDqh2upJJWca4yqF82yb"}],"authentication":["did:iota:U1zDCC47hjcXupixrw5kbKCxV3ZCUn3RomJ5VkX1wHv#authentication"],"created":"2021-10-21T09:37:56Z","updated":"2021-10-21T09:37:56Z","proof":{"type":"JcsEd25519Signature2020","verificationMethod":"#authentication","signatureValue":"M4qQSeVBRXCumiCqA6hNNcb6xBVmtdGD7tgAvDfTPfPjwRfYof8ZUBihwdEhmD6jDTcWpSanWDWJKsxc1yK5gUo"}}
Compression Ratio (in percent, higher is better)

Bzip2
zlib
Snappy
Brotli

33.1
49.0
35.4
52.2

Compression Speed
Compressing the input string 10.000 times (in seconds, lower is better)

Bzip2
zlib
Snappy
Brotli

3.05
3.93
0.54
5.41

Decompression Speed
Decompressing the input string 10.000 times (in seconds, lower is better)

Bzip2
zlib
Snappy
Brotli

0.72
2.37
0.16
0.18

I'm leaning towards Brotli since it's gives the best compression ratio and decompresses very fast. Although it has the highest compression time, it should be a fine compromise since it will be compensated by less time spent on PoW and usually only one message is compressed at a time 🤔.
So far I have a few questions:

Is there other algorithms you're aware of that I should test?
Is the input string good enough as a measurement base?

Versioning
A simple versioning approach could be by reserving the first line to version/metadata. e.g.:
DIDV1
<compressed bytes>


Add GECOS field on UNIX systems.

This pull request adds the comment field (GECOS) that should be present on UNIX systems to the UserExtras struct as an Option<OsString>. The field would be None if the field is empty.
Refers to #12.

Hmm... Why is it a Option? How is an empty GECOS comment different from a missing GECOS comment? Why can with_gecos not be used to set the comment to None?

Done. Should I add some tests around this? I could not find any tests related to extras, but I can add them if you want.

There's a general lack of unit tests for the core functionality in the crate, and I think it'd be best to address this in a separate PR, For the sake of consistency I'd leave this PR as-is. I assume you've tested everything manually. Anyway, LGTM.
Erm... so I'm not really the maintainer, so you've got to wait for @gierens who seems to be running the place. Should take about a week from my experience.

Noted.
Yes, I have tested manually from different NSS providers, and things were fine. :+1:  Could not test on BSD, though.

Hey guys, sorry for the late reply, been a little busy lately.
Thanks for the contribution, this looks good to me. The only thing that also was mnetioned would be testing. Sure, @OLEGSHA you are correct, there is a lack of tests ... but we have to start somewhere, so it would be great if you could add tests for this @apognu

Sure thing! I'll add a few by tomorrow and push again.

I added a few (mocked) tests, and edited the debug print one.
We are in the same situation, unfortunately, as with the other cases where I cannot assume a user on the system, or the current user, will have a comment specified (or even verify it). So short of refactoring the tests to use something like nss_wrapper, or you see another way of testing for this, I do not know if I can do more.

I'll see what happens with #15. If it gets merged, I'll add mocked tests related to this PR as well.

Alright, #15 is merged, thanks again! And I took care of the minor merge conflict with the main branch. You should be good to go! :)

Oh I got my numbers mixed, I thought this one was merged, I can rebase this properly if you want.

If you want, got for it. But I think it's also fine the way it is. I'm not thaaaat nitpicky. At least not until the conventional commits workflow it merged haha

Mmm, I think I messed up my rebase somehow, will that prevent the merge?


Fix feedback component to use standard style

Notes for Reviewers
This PR fixes the standard style for feedback component which is standard style for modal

Signed commits

[x] Yes, I signed my commits.

merge conflict


Adding matching on a range of values.

Hi Daniel,
I've implemented the matching which I raised an issue for the other day. I think this looks like a reasonable way to do it.
        final String result = Match
                .whenIn(new Integer[] { 1, 3, 5, 7 }, x -> "true")
                .whenIn(new Integer[] { 2, 4, 6, 8 }, x -> "false")
                .when(10, x -> "other")
                .apply(6);

        assertThat(result).isEqualTo("false");

The array creation inside the "whenIn" is a bit more verbose than I would have liked. It's a pity I can't use T... prototypes as the argument for the method as it's not the last argument.
Maybe something along the lines of this would be nice...
    final String result = Match
            .whenIn(1, 3, 5, 7).then(x -> "true")
            .whenIn(2, 4, 6, 8).then(x -> "false")
            .when(10).then(x -> "other")
            .apply(6);

Although this would most likely require a significant re-work.
Thanks
Martin

Hi Martin,
this looks good! I like the whenIn(...).then(...) and when(...).then(...) syntax.
It seems you changed the generated Match class. Changes will be overwritten when re-generating sources, e.g. by calling mvn clean generate-sources. I'm currently also changing the Match generator (see #227) and about to merge it into master this evening (there will be a new Match.of(...) syntax that allows strong typed match expressions and monadic behavior like map, flatMap, filter).
If you don't mind, I will rework the Match generator according to your suggestion, because I'm already on it (see Generator.scala).
What do you think?
- Daniel

Hi Daniel
I didn't realise the Match class was generated :astonished:
Yep, it's cool for you to make these changes as you're already working on it. I look forward to testing it out after. :smiley:
Thanks!

Thanks for making Match awesome! I will push a first version until tomorrow...

I will push a first version until tomorrow...

Need sleep :) Will go on tomorrow...

The new syntax is now in place, details provided in #302.


typo fix

Fix a spell typo

Thanks for the contribution @CareF, this will be merged shortly

CR is https://dart-review.googlesource.com/c/sdk/+/159500


Update Import References & Code changes for Test Files

Issue/Feature Description:
Some Import references are missing in the Test files. For example in the following file, log references are missing.
https://github.com/sodafoundation/multi-cloud/blob/master/s3/pkg/messagebus/tests/message_bus_suite_test.go
Why this issue to fixed / feature is needed(give scenarios or use cases):
We need to update the code references properly.
How to reproduce, in case of a bug:
Other Notes /  Environment Information: (Please give the env information, log link or any useful information for this issue)

This is fixed in https://github.com/sodafoundation/multi-cloud/pull/949


Remove dependency on faccess crate

faccess crate hasn't been updated in over a year and a half now.
The current version available on crates.io fails to build for all arches
and the patch to fix it hasn't been merged yet.
Best to get rid of faccess and use stdlib itself.
Signed-off-by: Lokesh Mandvekar<EMAIL_ADDRESS>@flouthoc @baude @mheon @Luap99 PTAL

@mheon l'd prefer we cut a tag after this is merged, much easier to get through fedora review.

Approach looks good to me but I think you have to tweak a test error message.

OK nervermind, the new code still returns the same error so we are good. LGTM

@Luap99 PTAL again. I negated that entire expression because I realized readonly returns false for writable files. Let me know..

ready for review. PTAL.

ready for review.


Stackdriver metrics reported incorrectly when service is not running on Google infrastructure

Bug description
When running TestStackdriverMonitoring as part of the integ-telemetry integration test on non-Google infrastructure (I've run this on kind on my mac as well as a k8s cluster running on Amazon, not AKS) fails due to invalid metrics reported for stackdriver.
After working with @gargnupur we figured that the metrics being reported were missing resource.labels and had a resource type of gce_instance for both server and client metrics.
This test started to fail in 1.6.9 due to extra validation done at https://github.com/istio/istio/pull/25864/files#diff-ba9a10a081a046f31c0d1fabf198ce73bb7422e29306a24695abb62b218548c1R27
Affected product area (please put an X in all that apply)
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[X] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Expected behavior
Stackdriver metrics are reported correctly on non-Google kubernetes infrastructure
For clients, this would be
    "resource": {
       "labels": {
          "namespace_name": "NAMESPACE"
       },
       "type": "k8s_pod"
    }

and for servers it would be
    "resource": {
       "labels": {
          "container_name": "app",
          "namespace_name": "{{ .EchoNamespace }}"
       },
       "type": "k8s_container"
    }

instead of
    "resource": {
       "type": "gce_instance"
    }

for both.
This may be due to a logic issue at https://github.com/istio/proxy/blob/release-1.6/extensions/stackdriver/metric/registry.cc#L150
Steps to reproduce the bug

Setup a kubernetes cluster not running on Google infrastrcture (laptop or other provider)
Run go test -p 1 -v ./tests/integration/telemetry/stackdriver/... -run TestStackdriverMonitoring -timeout 30m \ --istio.test.env kube \ --istio.test.ci --istio.test.pullpolicy=Always --istio.test.kube.minikube --istio.test.work_dir=logs/artifacts --istio.test.hub=istio --istio.test.tag=1.6.12 --istio.test.kube.config=<KUBECONFIG> --istio.test.select=-postsubmit,-flaky,-multicluster

Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
How was Istio installed?
Go integration tests were running
Environment where bug was observed (cloud vendor, OS, etc)

kind 0.7.0 that installed a k8s 1.18.0 cluster
a kubernetes cluster on AWS provisioned with kops

istio-dump.tar.gz

cc @douglas-reid @mandarjog @gargnupur

Adding to details..when running on k8s cluster running on Amazon, PLATFORM_METADATA is as follows:
"PLATFORM_METADATA": {
"aws_instance_id": "i-00009785316a301ef",
"aws_account_id": "715707337212",
"aws_availability_zone": "us-west-2b",
"aws_region": "us-west-2"
},
@douglas-reid , @bianpengyuan : We probably need to support above in the stackdriver filter?

This bug caused us quite a bit of grief as we weren't able to pin point why it fails on our prow instance but not for Istio CI. Thanks @gargnupur & others for helping @jacob-delgado to get down to the root cause!

@jacob-delgado Thanks for digging this up! I think we can do something in the test to distinguish the platform to only verify monitored resource when test runs on google infra. Will work on a pr for this.


add entry for uro audiolab panorama

What is with License? At the moment it is empty.

I have to discuss that with Matthias

Ok, I guess you haven't pushed it then to the public database. After updating the license and publishing the data I will merge this.

data is now available: https://dev.qu.tu-berlin.de/projects/twoears-getdata/repository/show/vision/uro_audiolab_panorama

Could you please add a figure caption.


Fix showing variable option label for parent items

Resolves #61

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (aed0afd) 99.06% compared to head (17ab659) 99.06%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #62   +/-   ##
=======================================
  Coverage   99.06%   99.06%
=======================================
  Files          50       50
  Lines         746      748    +2
  Branches      148      149    +1
=======================================
+ Hits          739      741    +2
  Misses          2        2
  Partials        5        5

Files Changed
Coverage Δ

src/hooks/useTable.tsx
97.08% <100.00%> (+0.05%)
:arrow_up:

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


Next.js Edge Runtime

Hi,
I wonder if there is any recommendation on how to port this library to be used with Next.js Edge Runtime. I tried today and I got a few "module not found" errors:
Server Error
Error: Module not found: Can't resolve 'http'
Did you mean './http'?
Requests that should resolve in the current directory need to start with './'.
Requests that start with a name are treated as module requests and resolve within module directories
...

Thank you

I unfortunately have no experience with Next's Edge Runtime but I'm guessing that they don't support loading core Node modules, like http, in executed code.

@erunion if we eventually drop Node 16 support we could also drop isomorphic-fetch and solely rely on the fetch global?

@kanadgupta We should be able to do that yea

for posterity, this issue comment has a good solution for Node 18 fetch types: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/60924#issuecomment-1707342243

For additional posterity: https://nextjs.org/docs/app/api-reference/edge

We've completely moved over to native fetch in the coming v7 work so this should now be resolved there.


改进建议

当终端没有焦点时，按下终端快捷键应该是获取焦点，而不是折叠

哈哈

上次我提了一个issues，结果他们竟然看懂了，不过翻译起来有点差

ctrl + ` + `

When the terminal has no focus, pressing the terminal shortcut key should be the focus, not the fold

Sorry, I don't understand the suggestion

@roblourens Translation:

Suggestions for improvement
When the integrated terminal doesn't have focus (but shown, I think), press shortcut for "Toggle Integrated Terminal" should focus it but not hide it.

I found a solution: Add the following keybinding:
{
    "key": "ctrl+`",
    "command": "workbench.action.terminal.focus",
    "when": "!terminalFocus"
}

Fixing this with a keybinding is the correct solution. Thanks @yume-chan


Removed name as required parameter for VM creation

This change removes the "name" required parameter from VM creation as it is not required by the API. This brings it in line with other APIs.

@eslutsky I do not know, but the API is happy to create a VM without a name. I believe it will be a VM with an empty name.


[Enhancement-Request]Share each single-instanced handler with all the server-side channels, instead of creating a new handler instance whenever a channel comes.

FEATURE REQUEST

Please describe the feature you are requesting.

Annotate stateless netty handlers with @sharable.
HandshakeHandler
NettyEncoder
NettyConnectManageHandler
NettyServerHandler

Share each single-instanced handler with all the server-side channels, instead of creating a new handler instance whenever a channel comes.

Provide any additional detail on your proposed use case for this feature.

Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

Implemented in this PR


Concordances should draw from other databases

As identified by Anna, the concordances on the chant detail page on OldCantus include records from other databases (see https://cantus.uwaterloo.ca/chant/243159 - upon clicking on "Display all concordances for this chant", note the first table [NewCantus doesn't have this one] as well as the "DB" column in the second table). In NewCantus, the only concordances we currently display are from our own database (the only value in the "DB" column is ever "CD").
We should add the first table to the Chant Detail concordances, and display results from other databases in the second table.

Data for all these concordances may already be available in CantusIndex, in which case we should find the appropriate API to make use of this data. Otherwise, we will need to figure out what APIs are available from the other databases, and compile the concordances ourselves.
If this is not already compiled by CantusIndex, what databases do we need to search? From the footer of the page in both Old and New Cantus, we should probably get data from as many of

Portuguese Early Music Database
Slovakian Early Music Database
Hungarian Chant Database
Fontes Cantus Bohemiae
Cantus Planus in Polonia
Spanish Early Music Manuscript Database
Medieval Music Manuscripts Online
Comparatio

as we can. There's also a link to gregorien.info in the first table, which doesn't include a count - we can probably just check the appropriate URL on this site and list it if it doesn't return a 404.


Bug: Monitor Plan API - Change entity column type

Monitor Plan API - Change entity column type to timestamp for addDate and updateDate

Pull Request: https://github.com/US-EPA-CAMD/easey-monitor-plan-api/pull/452

All MP datatypes are available in the Export file


Add support for OIDC session management error status

Closes/fixes #611
Checklist

[x] This PR makes changes to the public API
[x] I have included links for closing relevant issue numbers

_raiseUserSessionError is never called. What is the difference to _userSessionChanged. Why can't you use that one?

You are right, sorry, I didn't commit everything. I messed up my local development and forgot a few things in the commit after fixing it. I've committed the missing code.
Actually there are use cases when clients want to react to the error status. And as that is something different than the changed status I (and everyone else that wants to react differently to the two statuses) can't use userSessionChanged.

Nice work!


Points system

Implement a points system. Can be very similar to the plunder system. The player earns points for surviving over time and for killing enemies, destroying colleges, etc..

Need to ask how we're handling configuration. Also part of this depends on the combat system being done.


Updating scale does not immediately update the scale until the update position is called

Here is my code for updating position and scale
ui.label("Position");
                                ui.horizontal(|ui|
                                {
                                    // Has user moved the shape or not
                                    let mut update_position = false;

                                    for position in object.1.position.iter_mut()
                                    {
                                        ui.label(format!("{}:", position.axis as char));

                                        // Use Response::changed or whatever to determine if the value has been changed
                                        if ui.add(egui::DragValue::new(&mut position.value).speed(editor_settings.slider_speed)).changed()
                                        {
                                            //println!("Changed!");
                                            update_position = true;
                                        }

                                    }
                                    // Updates the shape's position if the user has changed its value
                                    if update_position == true
                                    {
                                        //println!("update_position: {update_position}");
                                        gameengine_objects
                                            .get_mut(&object.0.label.0)
                                            //.get_mut("Object 0")
                                            .unwrap()
                                            .position(object.1.position[0].value, object.1.position[1].value, object.1.position[2].value);
                                    }

                                });
                                ui.separator();

                                ui.label("Scale");
                                ui.horizontal(|ui|
                                {
                                    let mut update_scale = false;

                                    for scale in object.1.scale.iter_mut()
                                    {
                                        ui.label(format!("{}:", scale.axis as char));
                                        if ui.add(egui::DragValue::new(&mut scale.value).speed(editor_settings.slider_speed)).changed()
                                        {
                                            update_scale = true;
                                        }
                                    }

                                    if update_scale == true
                                    {
                                        println!("object.0.label.0: {}", object.0.label.0);
                                        gameengine_objects
                                            .get_mut(&object.0.label.0)
                                            .unwrap()
                                            .scale(object.1.scale[0].value, object.1.scale[1].value, object.1.scale[2].value);
                                    }
                                });

So as you can see if I am only moving the scale, it will only update the shape's scale and nothing else. If I am only moving the position, then it will only update the position.
The issue is that if I update the scale property, the scale change does not come into effect until I changed the position.
Here is a gif to explain to you what is going on:

it doesn't scale on position for me tho

ohhhhhhhh, ok ok, I see the problem

fixed with https://github.com/rustylabs/blue_flame/pull/4


Eirini on K3s

Describe the bug
Not able to pull the image from BITS Servie
To Reproduce
Install Kubecf with eirini enabled on K3S (or any non-kind kubernetes cluster)
Expected behavior
When i do a cf-push, eirini should be able to pull the image and run the same.
Environment

KubeCF - 2.7.12
Eirini

I have the eirini enabled in as :
features:
eirini:
enabled: true
The following is the error iam getting
opensuse@kubecf-master:~/imp> kubectl get events -n eirini LAST SEEN   TYPE      REASON    OBJECT                             MESSAGE 38m         Normal    BackOff   pod/cf-nodejs-infra-828661607d-0   Back-off pulling image "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11" 32m         Warning   Failed    pod/cf-nodejs-infra-828661607d-0   Error: ImagePullBackOff 30m         Normal    Pulling   pod/cf-nodejs-infra-828661607d-0   Pulling image "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11" 30m         Warning   Failed    pod/cf-nodejs-infra-828661607d-0   Failed to pull image "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11": rpc error: code = Unknown desc = failed to pull and unpack image "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11": failed to resolve reference "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11": failed to do request: Head "http://<IP_ADDRESS>:31666/v2/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84/manifests/6667c518fcc65682bcdc720461d4276514b27c11": dial tcp <IP_ADDRESS>:31666: connect: no route to host 30m         Warning   Failed    pod/cf-nodejs-infra-828661607d-0   Error: ErrImagePull 30m         Warning   Failed    pod/cf-nodejs-infra-828661607d-0   Error: ImagePullBackOff 27m         Normal    BackOff   pod/cf-nodejs-infra-828661607d-0   Back-off pulling image "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11" 21m         Normal    Pulling   pod/cf-nodejs-infra-828661607d-0   Pulling image "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11" 20m         Warning   Failed    pod/cf-nodejs-infra-828661607d-0   Failed to pull image "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11": rpc error: code = Unknown desc = failed to pull and unpack image "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11": failed to resolve reference "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11": failed to do request: Head "http://<IP_ADDRESS>:31666/v2/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84/manifests/6667c518fcc65682bcdc720461d4276514b27c11": dial tcp <IP_ADDRESS>:31666: connect: no route to host 20m         Warning   Failed    pod/cf-nodejs-infra-828661607d-0   Error: ErrImagePull 17m         Warning   Failed    pod/cf-nodejs-infra-828661607d-0   Error: ImagePullBackOff 2m28s       Normal    BackOff   pod/cf-nodejs-infra-828661607d-0   Back-off pulling image "<IP_ADDRESS>:31666/cloudfoundry/a29481f1-46b8-4c6a-a836-bb9308a2ed84:6667c518fcc65682bcdc720461d4276514b27c11"
opensuse@kubecf-master:~/imp> kubectl get pods -A | grep bits kubecf            bits-5df96ff556-d86hf                            1/1     Running            0          10h

Can anyone help me .. I have reimplementedm evverything again. Even added the cert into system , but still getting the following error whn iam doing a cf push. Am i missing something ?
28s         Warning   Failed             pod/cf-nodejs-infra-077fe681a3-0         Failed to pull image "<IP_ADDRESS>:31666/cloudfoundry/fa11eddc-4343-4b92-b3d7-5cb51d1736de:9551daf4d47dd0beff98dfe0ae153a390203d5d1": rpc error: code = Unknown desc = failed to pull and unpack image "<IP_ADDRESS>:31666/cloudfoundry/fa11eddc-4343-4b92-b3d7-5cb51d1736de:9551daf4d47dd0beff98dfe0ae153a390203d5d1": failed to resolve reference "<IP_ADDRESS>:31666/cloudfoundry/fa11eddc-4343-4b92-b3d7-5cb51d1736de:9551daf4d47dd0beff98dfe0ae153a390203d5d1": unexpected status code [manifests 9551daf4d47dd0beff98dfe0ae153a390203d5d1]: 400 Bad Request
28s         Warning   Failed             pod/cf-nodejs-infra-077fe681a3-0         Error: ErrImagePull
3s          Warning   Failed             pod/cf-nodejs-infra-077fe681a3-0         Error: ImagePullBackOff
3s          Normal    BackOff            pod/cf-nodejs-infra-077fe681a3-0         Back-off pulling image "<IP_ADDRESS>:31666/cloudfoundry/fa11eddc-4343-4b92-b3d7-5cb51d1736de:9551daf4d47dd0beff98dfe0ae153a390203d5d1"

Can anyone help me .. I have reimplementedm evverything again. Even added the cert into system , but still getting the following error whn iam doing a cf push. Am i missing something ?
28s         Warning   Failed             pod/cf-nodejs-infra-077fe681a3-0         Failed to pull image "<IP_ADDRESS>:31666/cloudfoundry/fa11eddc-4343-4b92-b3d7-5cb51d1736de:9551daf4d47dd0beff98dfe0ae153a390203d5d1": rpc error: code = Unknown desc = failed to pull and unpack image "<IP_ADDRESS>:31666/cloudfoundry/fa11eddc-4343-4b92-b3d7-5cb51d1736de:9551daf4d47dd0beff98dfe0ae153a390203d5d1": failed to resolve reference "<IP_ADDRESS>:31666/cloudfoundry/fa11eddc-4343-4b92-b3d7-5cb51d1736de:9551daf4d47dd0beff98dfe0ae153a390203d5d1": unexpected status code [manifests 9551daf4d47dd0beff98dfe0ae153a390203d5d1]: 400 Bad Request
28s         Warning   Failed             pod/cf-nodejs-infra-077fe681a3-0         Error: ErrImagePull
3s          Warning   Failed             pod/cf-nodejs-infra-077fe681a3-0         Error: ImagePullBackOff
3s          Normal    BackOff            pod/cf-nodejs-infra-077fe681a3-0         Back-off pulling image "<IP_ADDRESS>:31666/cloudfoundry/fa11eddc-4343-4b92-b3d7-5cb51d1736de:9551daf4d47dd0beff98dfe0ae153a390203d5d1"


toJSON on CLValue

Just wee things about specifying return types

Thanks @George-cl , fixed the issues.


Fix comments, add @notice, fix function order

fixes https://github.com/raiden-network/microraiden/issues/269

use @notice for natspec docs
fix order of functions after Solidity guidelines http://solidity.readthedocs.io/en/develop/style-guide.html#order-of-functions

 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.

Can be merged, but needs a rebase.


0.4.0 Release to master branch

rc/0.4.0 does not seem to make a difference for mit_lti_flask_sample.  I had tested this using an existing LTI component on the DevOps course and changing the requirements.txt to point to the rc/0.4.0 commit https://github.com/mitodl/pylti/commit/7facd92ed2c876d3b3208d42cf590ec15c903776

Awesome, thanks for doing the manual testing.  I really appreciate it.  We good to go then @pdpinch or do you want to do some further verification?

Unless you want to wait to hear from some of other contributors, I'm good
:+1:

Cool, merged and released to PyPi

Glad to help!


Preconfigured validators

Akkurate is currently missing global configurations, this could be brought with preconfigured validators:
// Declare as many preconfigured validators you need, instead of a single global configuration.

val BooksValidator = Validator.preconfigured(Configuration {
    rootPath("books")
})

val OrdersValidator = Validator.preconfigured(Configuration {
    rootPath("orders")
})

// For each preconfigured validator, you can override its configuration, provide
// contextual values, and even use suspendable code.

fun main() {
    // Simple validator
    BooksValidator<String> {
        isNotEmpty()
    }

    // Configuration overridden
    BooksValidator<String>(Configuration { defaultViolationMessage = "This is wrong" }) {
        isNotEmpty()
    }

    // With contextual values
    BooksValidator<SomeDao, String> { dao ->
        isNotEmpty()
        constrain { /* use the dao */ }
    }

    // Suspendable validator
    BooksValidator.suspendable<String> {
        isNotEmpty()
        // call some suspendable code
    }
}

Here's the implementation details:
The factory methods should be extracted to an interface, let's name it ValidatorFactory. Then the Validator.Companion object extends this interface, but the implementation can be probably stay the same than nowadays.
We must add a preconfigured(Configuration): ValidatorFactory method to the Validator.Companion object. The returned value is an instance of some class (PreconfiguredValidatorFactory?) that implements ValidatorFactory and stores the Configuration provided to the preconfigured method.
A next step could be to allow partial configuration overriding of the preconfigured validators, but let's ignore this for the moment, we'll think about this later.
Discussed in https://github.com/nesk/akkurate/discussions/49

Originally posted by bejibx November 29, 2024
Hi! I notice that right now the only way to change validation config is to explicitly pass configuration object during Validator creation. This could be cumbersome if you want to change your configuration globally. One example might be to collect violations in debug version of your app but fail on first one in release version for better performance. Right now to do something like this you have to either pass config into every validator or to declare some wrapper method to create validators inside your code. I don't like both solutions so I'm curious if you see as an reasonable solution to instead add to the library some way to specify default globall configuration? If you ok with the idea, I'm ready to implement it.
Oh, by the way another bonus of keeping default configuration instance somewhere would be reduced number of object creation. If I'm not mistaken right now every Validator creation also creates 2 instances of Configuration (one for default value in Validator.invoke(...), another for default value in Configuration.invoke(...)). Instead we can just point to our default same instance. This might sound silly for some people, but I worked on some mobile projects where I had to do some evil black magic to decrease number of creating objects to reduce garbage collector load.

You're right, I thought it would be possible for the implementation to override the default value provided by the interface, but it's not.
The reason I want an interface here is because someone might someday need create a function like this:
fun createValidator(factory: ValidatorFactory = Validator.Companion)

This allows to treat the default factory Validator.Companion the same way than preconfigured validators.
Another option would be to give up on the default parameter and create method overloads:
public interface ValidatorFactory {
    public operator fun <ContextType, ValueType> invoke(
        block: Validatable<ValueType>.(context: ContextType) -> Unit,
    ): Runner.WithContext<ContextType, ValueType>

    public operator fun <ContextType, ValueType> invoke(
        configuration: Configuration,
        block: Validatable<ValueType>.(context: ContextType) -> Unit,
    ): Runner.WithContext<ContextType, ValueType>

    public operator fun <ValueType> invoke(
        block: Validatable<ValueType>.() -> Unit,
    ): Runner<ValueType>

    public operator fun <ValueType> invoke(
        configuration: Configuration,
        block: Validatable<ValueType>.() -> Unit,
    ): Runner<ValueType>

    public fun <ContextType, ValueType> suspendable(
        block: suspend Validatable<ValueType>.(context: ContextType) -> Unit,
    ): SuspendableRunner.WithContext<ContextType, ValueType>

    public fun <ContextType, ValueType> suspendable(
        configuration: Configuration,
        block: suspend Validatable<ValueType>.(context: ContextType) -> Unit,
    ): SuspendableRunner.WithContext<ContextType, ValueType>

    public fun <ValueType> suspendable(
        block: suspend Validatable<ValueType>.() -> Unit,
    ): SuspendableRunner<ValueType>

    public fun <ValueType> suspendable(
        configuration: Configuration,
        block: suspend Validatable<ValueType>.() -> Unit,
    ): SuspendableRunner<ValueType>
}

I have another option in mind. If https://github.com/nesk/akkurate/issues/52 will be implemented we can do something like this
class PreconfiguredValidatorFactory(
    private val userConfiguration: Configuration,
) : ValidatorFactory {
    public override operator fun <ContextType, ValueType> invoke(
        configuration: Configuration = defaultConfiguration,
        block: Validatable<ValueType>.(context: ContextType) -> Unit,
    ): Runner.WithContext<ContextType, ValueType> {
        val configurationToUse = configuration.takeIf { it !== defaultConfiguration } ?: userConfiguration
        TODO()
    }
}

This doesn't seem to be an option because the default value is part of the method signature. Here's an example:

It would be weird for the users (and the maintainers) to see the default value being defaultConfiguration in a preconfigured validator.


feat(DIST-1929): Improve full screen embed experience

Resize on screen resize. Also when browser navbars are displayed on mobile.
The idea is to be able to embed fullscreen with as simple code as this:

This will make fullscreen embedding easier when there already are any elements such as navigation bar that should be preserved. Just set z-index of elements that should be displayed over typeform to >= 10001.
TODO

[x] update README and docs

[BOT] Preview available with hash 9bc5a0696a2fcf892530a0f56fc0bf879cbc6564 here.

:tada: This PR is included in version @typeform/embed-v2.7.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove workaround for WWW dispose freeze bug

UNITY FREEZES WHEN WWW.DISPOSE IS USED WHILE DOWNLOADING ASSETBUNDLE
https://issuetracker.unity3d.com/issues/unity-freezes-when-www-dot-dispose-is-used-while-downloading-assetbundle
for this issue, ObservableWWW wait dispose until complete when canceled.
https://github.com/neuecc/UniRx/blob/master/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ObservableWWW.cs#L361
But this issue was fixed, I'll remove this workaround.

Fixed in UniRx 5.5.0.


Powershell attempting to declare binding already in use, triggers assert on VS startup

TFS tracking bug 1194105

Grab a CHK msenv from the build share or build one from an enlistment and drop it into \Common7\IDE
2: Drop vsassert.dll to \Common7\IDE
3: Launch VS

Expected: No asserts
Actual: Assert about declaring a keybinding that is already being used
Assert:
AddKeyBinding: Can't add this keybinding, it is already used!
Accelerator:
k1:116 m1:3 k2:0 m2:0
New binding:
grp:800 cmd:258 name:EditorContextMenus.CodeWindow.PowerShell.ExecuteAsScript em:11 ed:11
Existing binding:
grp:504 cmd:258 name:Debug.ExecuteFileinPythonInteractive em:11 ed:11

Close this as it's resolved in #679


unspecified compiler, C++ library  and boost versions

Hi,
Which compiler version is known to work?
Which C++ library is known to work?
Which boost version is known to work?
I've been trying with a few recent g++ and boost compilers, but no luck so far.

My make example runs:
clang++ -stdlib=libc++ -std=c++14 -ferror-limit=5 -g example.cpp -I/usr/local/Cellar/gsl/1.16/include -I/usr/local/Cellar/boost/1.58.0/include -L/usr/local/Cellar/gsl/1.16/lib -L/usr/local/Cellar/boost/1.58.0/lib -lgsl -lgslcblas -lm  -o example

Where clang is:
$ clang++ -v
clang version 3.6.1 (tags/RELEASE_361/final)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
$

The Makefile uses pkg-config to find boost, maybe you could try adding boost using the CPPFLAGS env var if that doesn't work.
CPPFLAGS="-I/usr/local/Cellar/boost/1.58.0/include -L/usr/local/Cellar/boost/1.58.0/lib" make example

Does that help?

Thanks, yes it removes some errors...
Still getting errors I think due to a different C++ standard library version. Which one are you using?

I'm getting compile errors as well. I'm clang version 3.7.0 with c++ STL version 5.3.0 on Arch Linux. Here's the log from clang:
/usr/bin/clang++ -std=c++14 -g -lgslcblas -lm -pthread -lgsl -lcppunit  test.cpp -o test
./calcgraph.h:1404:33: error: no matching constructor for initialization of 'std::tuple<Latest<int>, Latest<int> >'
            : Work(id), fn(fn), inputs(initials) {}
                                ^      ~~~~~~~
./calcgraph.h:1544:21: note: in instantiation of member function 'calcgraph::Node<Always, SingleList, std::plus<int>,
      calcgraph::Latest<int>, calcgraph::Latest<int> >::Node' requested here
                new Node<PROPAGATE, OUTPUT, FN, INPUTS..., Latest<VALS>...>(

/usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../include/c++/5.3.0/tuple:615:17: note: candidate constructor not
      viable: no known conversion from 'tuple<typename Latest<int>::input_type, typename Latest<int>::input_type>' to 'const
      tuple<calcgraph::Latest<int>, calcgraph::Latest<int>>' for 1st argument
      constexpr tuple(const tuple&) = default;
                ^
/usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../include/c++/5.3.0/tuple:617:17: note: candidate constructor not
      viable: no known conversion from 'tuple<typename Latest<int>::input_type, typename Latest<int>::input_type>' to
      'tuple<calcgraph::Latest<int>, calcgraph::Latest<int>>' for 1st argument
      constexpr tuple(tuple&&) = default;
                ^
/usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../include/c++/5.3.0/tuple:620:12: note: candidate template ignored:
      disabled by 'enable_if' [with _U1 = int, _U2 = int]
        enable_if<__and_<is_convertible<const _U1&, _T1>,
                  ^
/usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../include/c++/5.3.0/tuple:626:19: note: candidate template ignored:
      disabled by 'enable_if' [with _U1 = int, _U2 = int]
               enable_if<__and_<is_convertible<_U1, _T1>,


Unable to launch the app after returning from beta to stable

Switched from beta back to stable release on steam, now can't launch it at all, even with veryfing the integrity of files, returning to beta does make it work again

Solution was clearing out the entire AppData/Local/PixelComposer folder


latest pip (23.3) causes dependency oddity

When running pip-compile + pip 23.3 with a requirements.in containing pytest-cov, it shows a weird dependency list with coverage[toml] being installed because of a dependency on coverage. Note that actual package versions are completely fine, this seems to be purely cosmetic.
Things seem better with the previous pip 23.2.1.
Not sure what causes this -- it could pip, pip-tools, pytest-cov or coverage, but pip-tools has the best community vibes so I'm trying here first ;)
Environment Versions
MacOS 13.6, python 3.11.6 managed through pyenv, fresh virtualenv with latest pip and pip-tools:
$ pip freeze --all
build==1.0.3
click==8.1.7
packaging==23.2
pip==23.3
pip-tools==7.3.0
pyproject_hooks==1.0.0
setuptools==65.5.0
wheel==0.41.2

Steps to replicate
$ cat requirements.in
pytest-cov
$ pip-compile requirements.in
Expected result
$ pip-compile requirements.in
WARNING: --strip-extras is becoming the default in version 8.0.0. To silence this warning, either use --strip-extras to opt into the new default or use --no-strip-extras to retain the existing behavior.
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
#    pip-compile requirements.in
#
coverage[toml]==7.3.2
    # via pytest-cov
iniconfig==2.0.0
    # via pytest
packaging==23.2
    # via pytest
pluggy==1.3.0
    # via pytest
pytest==7.4.2
    # via pytest-cov
pytest-cov==4.1.0
    # via -r requirements.in

Actual result
$ pip-compile requirements.in
WARNING: --strip-extras is becoming the default in version 8.0.0. To silence this warning, either use --strip-extras to opt into the new default or use --no-strip-extras to retain the existing behavior.
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
#    pip-compile requirements.in
#
coverage[toml]==7.3.2
    # via
    #   coverage
    #   pytest-cov
iniconfig==2.0.0
    # via pytest
packaging==23.2
    # via pytest
pluggy==1.3.0
    # via pytest
pytest==7.4.2
    # via pytest-cov
pytest-cov==4.1.0
    # via -r requirements.in

Hi @jap!
[toml] is called an extra and is a way to provide optional dependencies of distribution packages.
pytest-cov == 4.1.0 specifies a dependency on coverage[toml] >= 5.2.1 @ https://github.com/pytest-dev/pytest-cov/blob/v4.1.0/setup.py#L133. The toml extra itself is declared in coverage[toml] == 7.3.2 @ https://github.com/nedbat/coveragepy/blob/7.3.2/setup.py#L106 and brings a conditional dependency tomli under older CPython versions under v3.11.0a6 and older. Since you're running pip-tools under Python v3.11.6 and 3.11.6 > 3.11.0a6, the tomli dependency is not pulled into the tree by coverage.
To summarize, coverage[toml] is indeed met in your dependency tree, but it doesn't contribute any actual dependency to the resulting lockfile.
What may feel weird to you is probably a representation issue in the resulting constraint files. You can explicitly use --strip-extras on CLI or strip-extras = true in .pip-tools.toml to have the extras stripped off, which is going to become a default at some point per https://github.com/jazzband/pip-tools/issues/1613.

@webknjaz I think the report is not about the inclusion of [toml], but the fact that the annotation now adds that coverage[toml] is installed via coverage, where it didn't before.
This can be seen in current main when testing with the latest pip release, where, at least locally, test_combine_different_extras_of_the_same_package is failing because now fake-ray[default,tune] is annotated as via fake-ray (other via items are still there, I'm paraphrasing to highlight the new change).

Note: this only happens with the backtracking resolver.

@webknjaz I think the report is not about the inclusion of [toml], but the fact that the annotation now adds that coverage[toml] is installed via coverage, where it didn't before.

Exactly, that is the only difference between the actual and expected result.

Oh, should we close this in favor of #2004, then?

That seems like a different issue to me. That one is about the non-comment requirement format, and this one is about dependency annotations.

Another phrasing that may or may help:
For #2004, extras need to be canonicalized/combined (and possibly restored, though I hope not), for proper ireq line format.
Here in #2003, we should probably ensure an ireq with extras doesn't depend on itself in extra-less form, at least according to annotations.

Looking into this.

I found this a little surprising:
$ <<<'pytest-cov' pip-compile --annotation-style line --no-header - -o - 2>/dev/null | grep coverage
coverage[toml]==7.3.2     # via coverage, pytest-cov

$ <<<'coverage[toml]' pip-compile --annotation-style line --no-header - -o - 2>/dev/null | grep coverage
coverage[toml]==7.3.2     # via -r -

$ <<<'pytest-cov'$'\n''coverage[toml]' pip-compile --annotation-style line --no-header - -o - 2>/dev/null | grep coverage
coverage[toml]==7.3.2     # via -r -, pytest-cov

I did a git bisect with pip and see the change happened in 5f8f40eb1d0610e530d5e035ba8c7f99d9af9df1, message: "refinements" -- so maybe it's unintentional and should be addressed in pip, but then again it's part of pypa/pip#12095, and from the description there it may indeed be intentional.

@chrysle @webknjaz
Don't miss @sanderr's helpful comment here

Thanks, I can confirm the patch is working! I'm still crafting a test.


Simplify thermometer calibration

[ ] Set temperature offset
[x] Update displayed temperature
[x] Apply to high/low (when used outside of climate tool - so add a parameter)

More experimentation is needed to determine how the temperature offset should be implemented (I was thinking just a simple offset temperature, rather than a mapping). Holding off for now


Update spring cloud version to sr8

Update spring cloud version to Hoxton.SR8
Remove microsoft client auth dependency

how about the other sample projects?


Slide separation with headings?

From what I've tried and from what I've read in the README (I didn't looked at the code), level one heading = creates first slide and level two headings == create/separate other slides.
I think that having slide separation depending on the TOC is too restrictive. Imagine this TOC :

Progressive Web Apps : The future is here (presentation title)
Progressive Web Apps
1. Progressiveslide X
2. Responsive
3. Connectivity independent
4. etc...
Service Workers
To infinity and beyond...

I would have headings with level 1, 2 and 3 but in order to create slide X, I would have to use a blank level 2 heading == ! which would break the document logic TOC if I were to generate an article from it.
Should we separate slides with another kind of syntax? WDYT?

Your assumption is correct.
Because of how Asciidoctor parses the AsciiDoc, and the AST it generates, it's hard to separate slides using a strategy other than sections. That's because the converter uses a recursive descent walk. I once tried to use page breaks as a way to separate slides, but it required manipulating the AST in a very drastic way.
I do think we can allow the slides to be split at a greater section depth. It makes the section template a bit more complicated, but it's doable. (In fact, it's already supported in the Reveal.js converter). We could either allow that depth to be controlled using a document attribute (slidelevels) or we could mark sections as slides explicitly using a block name ([slide]).
Keep in mind that there's one other approach to making sections without impacting slides. You can make a "discrete" heading by adding [discrete] above it. This takes the heading out of the structure of the document and treats it as regular block-level content.
I want to conclude by saying that the converter isn't currently handling section levels deeper than level 1 (3 or more leading equal signs). That's simply unfinished logic at the moment (deferred in the essence of time).


Update README.md replaceBody filters example

The original example provided was not compatible with the current code.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

👍


Add list of allowed methods to HttpMethodNotAllowedException

When we know the allowed methods, add them to the exception message so that it's easier to see what happened in error logs.

Coverage remained the same at 100.0% when pulling a90e127e13f33a2be70ca20ec0c416d31b90e5a7 on akrabat:improve-method-not-allowed-message into a24fac2fdef14257ab9970c59f5695dc34ef896a on slimphp:4.x.


Loop rules

Please rebase your branch to resolve merge conflicts.

Nice rules! More bug rules are always nice for promoting detekt! Have you tried rebasing your branch? If GitHub can't merge this, it will make much more work for me. git merge master into your branch and git rebase will make you resolve the conflict, big thanks!

@arturbosch Thanks for the review. I've done a merge and rebase. Github doesn't report conflicts.

It was still conflicted for me in the file KT. Just merged it manually :), closing.


API reference rendering is broken

Goal state

Correctly render docstrings in Docusaurus.
We use Google style.
Types should be rendered from type annotations (not docstrings).

Checklist

[x] Arguments of (public) functions & methods
[ ] Objects attributes
[ ] Class attributes
[x] Properties of Pydantic models, data classes, and maybe typed dicts
[ ] Inherit docstrings from base classes
[ ] Inline kwargs unpack
[x] Rendered return type is clickable

Arguments of (public) functions & methods

Currently they are not rendered.

    async def run(
        self,
        requests: Sequence[str | Request] | None = None,
        *,
        purge_request_queue: bool = True,
    ) -> FinalStatistics:
        """Run the crawler until all requests are processed.

        Args:
            requests: The requests to be enqueued before the crawler starts.
            purge_request_queue: If this is `True` and the crawler is not being run for the first time, the default
                request queue will be purged.
        """

Objects attributes

It should render objects' public attributes and properties in the same way (properties are methods decorated with @property decorator), probably under "Attributes".

class A:
    """Blahblah

    Attributes:
        b: document b here
    """

    def __init__(self, b: int) -> None:
        self.b = b

    @property
    def c(self) -> int:
        "Document c here."
        return self.b + 1

Class attributes

Render public class attributes, probably under "Class attributes".

class A:
    """Blah blah.

    Class Attributes:
        c: Cocument c here?
    """

    c = 1
    """Or cocument c here?"""

Properties of Pydantic models, data classes, and maybe typed dicts

How we should document them to be rendered (Args vs Attributes)?

Resolved in #616.

For example:

from pyndatic import BaseModel

class Configuration(BaseModel):
    """Configuration of the Crawler."""

    internal_timeout: Annotated[timedelta | None, Field(alias='crawlee_internal_timeout')] = None
    """Timeout for internal operations such as marking a request as processed."""

    verbose_log: Annotated[bool, Field(alias='crawlee_verbose_log')] = False
    """Allows verbose logging."""

Inherit docstrings from base classes
For example:
class MemoryStorageClient(BaseStorageClient):
    # Class docstring is inherited from BaseStorageClient.

    @override
    def dataset(self, id: str) -> DatasetClient:
        # Method docstring is inherited from `BaseStorageClient.dataset`.
        return DatasetClient(
            memory_storage_client=self,
            id=id,
        )

Inline kwargs unpack

It should list all arguments, including the kwargs unpack (defined as typed dict).

class HttpCrawler(BasicCrawler):
    def __init__(
        self,
        blah: Iterable[int] = (),
        **kwargs: Unpack[BasicCrawlerOptions],
    ) -> None:
        # List of all args is `blah` and all from kwargs.

Rendered return type is clickable

It's a shame Crawlee cannot use Python tools for the reference docs, because they can do JS, too:

Sphinx: https://www.sphinx-doc.org/en/master/usage/domains/javascript.html
MkDocs: https://github.com/mkdocs/catalog?tab=readme-ov-file#-api-documentation-building

Regardless, crossing fingers! The API docs not being very useful atm is one of the main obstacles for me when using Crawlee.

links to the source code are broken

I will update the Pydantic & data classes & type dicts docstring, see #616 for more information.

For Pydantic models, it renders the model_config field and also the whole type annotation (Annotated[float, Field(alias='usedRatio')] instead of just float.

Clickable types

Clickable return types work only somewhere

The render is broken when property has setter.


store remote jupyter server list per host

Reason for Request:
As a user working across 3 different High-Performance Computing (HPC) platforms provided by my school, I encounter a workflow issue with the VSCode Remote SSH extension and Jupyter server management. My typical workflow is as follows:

Connect to the HPC management node using VSCode's Remote SSH extension.
Submit a job that invokes a Jupyter server on a computation node, granting me access to GPU resources.
Open a Jupyter notebook and connect to the Jupyter server I just launched on the computation node to begin my work.

However, I've observed that the list of Jupyter remote servers seems to be stored locally across all environments. For instance, the remote server from HPC1 appears on HPC2 and also on my local laptop's VSCode. This is problematic and confusing because Jupyter servers are not accessible outside their host HPC environment.
Suggested Feature:
To resolve this confusion and enhance user experience, I propose adding an option to manage where Jupyter remote server entries are stored:

Local Storage Option: For Jupyter servers that are publicly accessible on the network, provide an option to store server details locally.
Host-Specific Storage Option: For servers like those in HPC environments that aren't accessible outside their network, offer an option to store the server details only on the host machine.

This feature would significantly streamline workflows for users like me who operate across multiple HPC environments, reducing confusion and improving efficiency by ensuring that Jupyter server lists are relevant to their specific environment and accessible status.

This would probably need to be a setting, as this woudl break existing users.


Add averageBlockTimeMs to all chains

Changes

Adds averageBlockTimeMs to all chains. I've enforced this value be greater than 0 for now, so CI won't pass until each chain has a value.

Considering that additional similar fields will be added, I think this should be under an object, maybe called characteristics (parameters or properties didn't feel right because the existing fields could arguably go under these)
"averageBlockTimeMs": 0 is weird and may cause the user to make false assumptions. Should we make this optional and have an L2 flag instead?
Naming-wise, averageBlockTimeMs still isn't very exact, as when the averaging was done and for how long of a time it was done for are critical. So an exact name would be mostRecentMonthlyAverageBlockTimeMs, which is both ridiculous and not even true for the current values (because I assume the numbers are more than a month old). If the user is going to have to refer to the README for what the numbers mean anyway, I think it can be a bit more brief, as in blockTimeMs.

Considering that additional similar fields will be added, I think this should be under an object, maybe called characteristics

I have no objections to this. What about attributes instead?

"averageBlockTimeMs": 0

The 0 is temporary until the real values are filled in. I think we have these now , they just need to be added here

I think it can be a bit more brief, as in blockTimeMs

Happy with this too

I've added the values and the script which I used to calculate them. The script could be used in a Github Job to update them automatically if you like it.

I'm a bit unsure about constantly changing these values through an action or something similar. I think it's probably better to control them through manually running the script and then releasing a new minor version if we want new values. This can be discussed separately though

I'm fine with this. I think we need a sort of an L2 flag because the block time on an L1 and L2 are completely different things and depending applications would use these numbers differently (in general L2 block times are usage-dependent so the numbers here don't provide any guarantees so are meaningless)

Are you suggesting something like this?
{
  "characteristics": { // or "attributes"
    "blockTimeMs": 1234,
    "chainType": "layer-1" // or "layer-2"
  }
}

One problem I have is that it's not obvious to me what should belong in this nested object and what shouldn't

I think attributes doesn't work as a name because for example the testnet field to me is an attribute, semantically speaking. Maybe the more of these kinds of fields we have, we understand their common characteristics better. So we can add blockTimeMs (as is done in this PR) and the rest to the root for the time being and nest them in an object later on (which would be a breaking change but eh).
As a note, the main difference between these chains in the context of block time is not that some are L1s and some are L2s, but rather some are rollups with centralized sequencers, which are typically trusted with including the transactions in the sequence that they receive them in. These kind of chains also don't increment block numbers if there are no incoming transactions, which makes waiting for minimum transactions doubly meaningless (and we're planning to use block times to determine how many confirmations we'll wait). That being said, at the point that we have a rollup with a decentralized sequencer, the implementations that don't wait for confirmations if "rollup": true" will start misbehaving. So in what aspects we should describe a chain is a difficult question and we shouldn't rush it before gathering more data regarding how everyone is using them.


Setting Fontsize in C# code does not seem to be working

Setting the fontsize in C# doesn't seem to be working like it does in xaml.
var icon = new Icon
            {
                Value = "fa-plus",
                Foreground = new Avalonia.Media.SolidColorBrush { Color = Avalonia.Media.Colors.Red},
                FontSize = 12
            };

            _tabview.AddTab(new AuraTabItem
            {
                Header = "Welcome",
                FontSize = 10,
                Content = new TextBlock
                {
                    Text = "Welcome!!",
                    Margin = new Thickness(10),
                    HorizontalAlignment = Avalonia.Layout.HorizontalAlignment.Center,
                    FontSize = 24
                },
                Icon = icon.DrawingImage
            });

That's correct. The font size does not effect the Icon.DrawingImage but the template of the Icon component
https://github.com/Projektanker/Icons.Avalonia/blob/809fa497250e86150b19ca0d1908e9f4f6e8ef31/src/Projektanker.Icons.Avalonia/Icon.axaml#L12-L13
To change the size of the icon of the AuraTabItem you could try to use a style as it is done by Aura.UI itself:
https://github.com/PieroCastillo/Aura.UI/blob/2eea7c0df43e8d43ade00611fc451b94aed2117f/src/Aura.UI.FluentTheme/Controls/AuraTabItemStyles.xaml#L334-L337
I hope this helps you.


Rate limit exceeded – bug?

Hi
This looks wrong to me (not my account) https://www.reddit.com/r/BlueskySocial/comments/18jiq3a/rate_limit_exceeded
From today

Hard to diagnose why this is happening without talking to the person involved, but we've tried to give pretty high limits. This might have been due to an app bug triggering extraneous requests (recently fixed). Otherwise not sure how to pursue this further atm

I cannot verify my email address due to this bug. When requesting a code to be emailed, I get the "rate limit exceeded" notification. I cannot comment or do anything in the app without verification so this is quite the bug.


"childs" should be "children"

Throughout the codebase there are references to "childs" this should be "children" instead.

You're absolutely right, fixed in https://github.com/railken/search-query/commit/25113e8c04314998c6652a62161299996cbcac41


Added documentation around supported-versions configmap

Which issue(s) this PR fixes
Fixes #HOSTEDCP-794
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[x] This change includes docs.
[ ] This change includes unit tests.

Thanks!
/approve

/lgtm


Unresolved externals using msvc compiler

Trying this out with a project we usually build on windows using visual studio and running into an issue where ceedling doesn't seem to want to compile my library source files.
Here's a log of what I'm doing:
>ceedling new mytest
>cd mytest
>ceedling module:create[adder]

File src/adder.c created
File src/adder.h created
File test/test_adder.c created
Generate Complete

C:\workspace\c_test\mytest>ceedling files:source
source files:
 - src/adder.c
file count: 1

C:\workspace\c_test\mytest>ceedling

Test 'test_adder.c'
-------------------
Microsoft (R) C/C++ Optimizing Compiler Version 19.11.25506 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) C/C++ Optimizing Compiler Version 19.11.25506 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

test_adder.c
Generating runner for test_adder.c...
Compiling test_adder_runner.c...
Compiling test_adder.c...
Compiling unity.c...
Compiling cmock.c...
Linking test_adder.exe...
Running test_adder.exe...

--------------------
IGNORED TEST SUMMARY
--------------------
[test_adder.c]
  Test: test_adder_NeedToImplement
  At line (14): "Need to Implement adder"

--------------------
OVERALL TEST SUMMARY
--------------------
TESTED:  1
PASSED:  0
FAILED:  0
IGNORED: 1

Added source here

C:\workspace\c_test\mytest>ceedling

Test 'test_adder.c'
-------------------
Microsoft (R) C/C++ Optimizing Compiler Version 19.11.25506 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) C/C++ Optimizing Compiler Version 19.11.25506 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

### I'm expecting to see 'compiler adder.c' here ###
test_adder.c
Generating runner for test_adder.c...
Compiling test_adder_runner.c...
Compiling test_adder.c...
Linking test_adder.exe...
ERROR: Shell command failed.
> Shell executed command:
'link build/test/out/test_adder_runner.o build/test/out/test_adder.o build/test/out/unity.o build/test/out/cmock.o /OUT:"build/test/out/test_adder.exe"'
> Produced output:
Microsoft (R) Incremental Linker Version 14.11.25506.0
Copyright (C) Microsoft Corporation.  All rights reserved.

test_adder.o : error LNK2019: unresolved external symbol _doadd referenced in function _test_adder_NeedToImplement
build/test/out/test_adder.exe : fatal error LNK1120: 1 unresolved externals
> And exited with status: [96].

When I remove my changes to the compiler tool in my project.yml and run under bash for win10 everything works:
/mnt/c/workspace/c_test/mytest$ ceedling

Test 'test_adder.c'
-------------------
Generating runner for test_adder.c...
Compiling test_adder_runner.c...
Compiling test_adder.c...
Compiling unity.c...
Compiling adder.c...
Compiling cmock.c...
Linking test_adder.out...
Running test_adder.out...

--------------------
OVERALL TEST SUMMARY
--------------------
TESTED:  1
PASSED:  1
FAILED:  0
IGNORED: 0

project.yml configured for msvc attached:
project.txt
I'm totally new to this, so there's a good chance I'm making a simple mistake, but I'm completely confused right now.

Looking at this further, could it be related to :test_includes_preprocessor:?  That appears to be quite different in my configs and it looks like gcc -M src/*.c prints out the src/adder.c file which I want to be compiled.

Hi Nick:
Turning the preprocessor off is always a good way to debug things,
particularly if you don't have a lot of preprocessor stuff going on that
you are worried about stripping out.
I'm not clear on your exact scenario. You've provided a lot of detail
(thank you!) but I'm still failing to understand the whole scenario. What
is _doadd? A function? A variable? Where is this function/variable/whatever
supposed to be found?
I suspect this will be an easy one to help you with, but I'm just missing
that detail. :)
Mark
On Thu, Oct 5, 2017 at 6:09 PM Nick Gamroth<EMAIL_ADDRESS>wrote:

Looking at this further, could it be related to
:test_includes_preprocessor:? That appears to be quite different in my
configs and it looks like gcc -M src/*.c prints out the src/adder.c file
which I want to be compiled.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ThrowTheSwitch/Ceedling/issues/210#issuecomment-334606027,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABAf1coWOis7-42FfEROxDHR9KiG8_Lks5spVOBgaJpZM4Pvws-
.

Hi Mark,
I've just added a couple of simple test files in the src/ directory:
adder.c:
#include "adder.h"

int doadd(int x, int y)
{
   return x + y;
}

and adder.h:
#ifndef _ADDER_H
#define _ADDER_H

int doadd(int x, int y);

#endif // _ADDER_H

So, no preprocessor stuff there.  I just disabled :use_test_preprocessor: TRUE and that sample test passes.  I've made this change in my larger project, and it's not working, but I think I have some ideas why.  Unfortunately, I probably can't share the output for that project.
If I do need to use the preprocessor in the future, do you have any idea of what's going on here?
Thanks for you help!
Nick


aptible rollback

This should roll back to the previous successful release, prior to the current release of a service.

:+1:

Ugh it's 3AM and I'd love this :+1:

:+1:

+1

👍

man this would have saved my butt today 👍

any progress on this?

👍 +1


Implement RFC0041: Use Direct Processes and exec.d

RFC
Summary
All Paketo buildpacks language families must update their buildpacks to use direct process types. There is an upstream change that will only permit direct process types.
Buildpack authors need to review buildpacks and take the following actions:

Look for the usage of profile.d scripts and convert them to exec.d binaries
Update any buildpacks that write process types and set direct: true. While doing this, evaluate the command being generated and determine if it requires a shell. If it can be done without a shell, make that change. If it requires a shell, you will need to wrap the original command with a call to the shell. For example: bash -c '<cmd>' (or some other shell). Please note that requiring a shell prohibits the buildpack from running in environments like tiny where there is no shell available.
Investigate if users of the buildpack are likely to use .profile scripts. These will no longer be supported after switching to the direct process type. If this is common for buildpack users, then document that .profile is no longer supported and document the actions one could take to replace that script (like using procfile or environment-variables buildpacks). Buildpack language families may choose to wait if this is deemed a major impact to users until there is an acceptable solution (such as a profile buildpack).

As of #41 we set all launch processes to: direct: true. We also do not directly invoke any shells. Additionally, we have no evidence to suggest that consumers of this buildpack are likely to use .profile scripts.
The only outstanding issue that I see would be that if the user tried to invoke a command that relied on a shell or set a run script that invoked a shell, that may not work in environments that do not have a shell (like tiny). However, I think this potential issue is outside of the scope of what is being discussed here, so I do not think it needs to be a blocker.
I'm closing this issue as I believe this buildpack now meets all the requirements.


perf(osmoutils): use make([]T, size) hint in *SubDecCoinArrays

This change uses make([]T, size) when creating the slices that hold the final results from the subtractions, along with inserting values along with indices.
This results in these benchmarks
$ benchstat before.txt after.txt
name                    old time/op    new time/op    delta
SafeSubDecCoinArrays-8    4.23µs ± 6%    4.13µs ± 7%    ~     (p=0.243 n=9+10)
SubDecCoinArrays-8        4.09µs ± 4%    4.02µs ± 4%    ~     (p=0.052 n=10+10)

name                    old alloc/op   new alloc/op   delta
SafeSubDecCoinArrays-8    3.08kB ± 0%    3.06kB ± 0%  -0.78%  (p=0.000 n=10+10)
SubDecCoinArrays-8        3.08kB ± 0%    3.08kB ± 0%    ~     (all equal)

name                    old allocs/op  new allocs/op  delta
SafeSubDecCoinArrays-8      75.0 ± 0%      74.0 ± 0%  -1.33%  (p=0.000 n=10+10)
SubDecCoinArrays-8          75.0 ± 0%      75.0 ± 0%    ~     (all equal)

and this very simple change over time aids reduce RAM/CPU cycles given that Osmosis is very popular.
Fixes #7756

/cc @ValarDragon


Event handler after array addition

Hello,
I am trying to figure out how to trigger a function after an item has been added to an "array" (in particular because I am using materializecss that needs to call its own initializers after a form element appears). I tried adding a MutationObserver and it enters an infinite loop because the array addition mutates then the materializecss trigger mutates again and so on ...
        function mutationCallback(mutationsList, observer) {
            $('select').formSelect();
        }
        var observer = new MutationObserver(mutationCallback);
        var config = { attributes: true, childList: true, subtree: true };
        observer.observe(document.getElementById('health_info'), config);

I saw on the source code and the form object that there was something thought in that sense, but not used on jsonform:
jsonform.html:268
l {eventhandlers: Array(0), root: w, formDesc: {…}, domRoot: form#health_info.untouched.well}
domRoot: form#health_info.untouched.well
eventhandlers: Array(0)

Is there any mechanism to add a hook for a function to be called after an item is added to an array ?

Hi
Did you try to add an event handler for the click on $('._jsonform-array-addmore') ? It should work

Cool, it worked:
$('._jsonform-array-addmore').on('click', function(){alert('clicked');});

Perfect !


Update base stuff

test for how scralenium updates will work

i'm trying to merge this but i am command line illiterate lol


Update policies to use new labeling scheme

What is here:

Make local setup easier
Always use capi as a watch label
Only watch for release 20.0.0
Use new condition types

TODO:

Update Kyverno to 1.3.6 in Kyverno app :heavy_check_mark:
Pull changes into Azure / AWS / VMware policies :heavy_check_mark:

Also cc @giantswarm/team-celestial as this implements changes from the RFC here

Also relevant for @giantswarm/team-firecracker - this changes the watch-label to always be value capi as discussed in the RFC.

This generally works as shown in the integration tests - We still need to prepare a release and try this out on a MC (probably AWS?)


[TC-WAKEONLAN-1.5] Script should be updated for AttributeList attribute by adding test step to validate the optional LinkLocalAddress attribute

Description :
[TC-WAKEONLAN-1.5] Script should be updated for AttributeList attribute by adding test step to validate the optional LinkLocalAddress attribute

Script Reference :
https://github.com/project-chip/connectedhomeip/blob/master/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml
Test-plan Reference :
https://github.com/CHIP-Specifications/chip-test-plans/blob/master/src/cluster/media.adoc#tc-wakeonlan-1-5-global-attributes-wake-on-lan-cluster-dut-as-server

PR
https://github.com/project-chip/connectedhomeip/pull/32625

This test is expected to be deleted unless this is something that's going to block cert for 1.3, as per a conversation with Cecille. It has been tagged as On-hold for now.

TC-WAKEONLAN-1.5 Test case has been removed from test plan, hence closing this issue


fix fields override order

The current documentation of map_fields is inconsistent with the actual implementation.
The event currently takes precedence over fields in riemann_event.
This PR fixes that and adds a unit test to verify this behaviour

It says I didn't sign the CLA, although, I just did


expressjs compatibility

How's the compatibility with expressjs? Can uws be used instead of http.createServer as a drop in replacement?

The first thing that prevented me from using require('uws').http.createServer(app); is the missing res.setHeader method.

setHeader, writeHead, write, end <- these are the top wanted functions that will be in v0.13.0.

can't you just rewrite Node.js ?

I did apply to StrongLoop like half a year ago but they only hire people with significant amounts of commits and now I'm banned from the organization so I cannot open issues or PRs rofl

Isn't StrongLoop IBM ? Maybe you'd have more success (or more heart attacks) with zeit.

 It is actually completely insane how bloated ExpressJS is, it is like they entered a competition on making the most use of bloated dynamic features of JS as possible and won.
 It is required that upstream ExpressJS change 2 lines of code to make it compatible with uws (ExpressJS has hardcoded dependency on http.ServerResponse.prototype and http.IncomingMessage.prototype.
As a reference point, this laptop of mine does 130k requests/sec without ExpressJS inside of Node.js.
ExpressJS needs some serious performance optimizations: even the low level finalhandler library cut the performance from 130k down to 80k req/sec and ExpressJS on top of that cuts it down to 18k like mentioned.

 Some functions are still unimplemented placeholders but the page loads and everything seems to work.

The flow is now:
var express = require('express')
var uws = require('uws')
var app = uws.http.getExpressApp(express)
// do stuff with app
uws.http.createServer(app).listen(3000)

@kapouer Zeit is actually hiring if you're interested

I just tried this (in complete excitement) but got the error:
TypeError: Cannot read property '_header' of undefined

Starting the server with this:
import express from 'express';
import bodyParser from 'body-parser';
import uws from 'uws';

this.app = express();
this.api = uws.http.getExpressApp(this.app);
this.api.disable('x-powered-by');
this.api.use(bodyParser.json({ limit: config.json_limit }));
this.api.use(bodyParser.raw({ limit: config.raw_limit }));

this.server = uws.http.createServer(this.api).listen(
  this.config.port,
  (err) => {
    if (err) {
      throw err;
    }
    console.log('Server online...')
  }
);

Are there any documented gotchas or considerations that need to be made with this replacement? Also


Swedish Language

In this pull request:

Added Swedish translations for country names
Artefacts of loading/storing yaml in ruby 2.0

Yup please rebase on master and cleanup the yaml.

Closing in favor of #211 Thank you for your PR!


Input tmp/11852343083329585076/search_tmp/14954657116245379907/search/pref does not exist.

Expected Behavior
get standard annotation output --> works on some files and does not work on other files
Current Behavior
Error:
Input tmp/11852343083329585076/search_tmp/14954657116245379907/search/pref does not exist.
Steps to Reproduce + MMseqs Output
code.txt
Context
mmseqs easy-search fastq files
Your Environment
MMseqs Version:                     	11.e1a1c
conda install -c conda-forge -c bioconda mmseqs2
Ubuntu 20.04 LTS, 64-bit

The issue is basically that MMseqs2 cannot extract any putative protein ORFs from the nucleotide reads since the default minimum length threshold is too long. You can reduce this threshold with something like --min-length 15 (15*3=45 nucl min length).
The error message is pretty bad, we should fix this. Btw plass include a mergereads module to produce merged reads from paired reads and produces a sequence database that can then be read by mmseqs search that might be useful to extend some of the read lengths a bit and produce better annotations.
You can also first run the complete plass workflow to produce assembled proteins that can be better annotated. Plass will also struggle with the same parameter though and would also need a shorter --min-length.

Thank you very much! This comments are a big help to understand the problem.
I know about plass and I'm using it too. I wanted to check the output differences between plass+mmeseqs and mmseqs only. But the mergereads function is a good tip to combine the paired-end inputs.

Hello,
I am using easy-cluster in the latest version of mmseqs2. I have given a random sample of 1000 protein sequences from 1.36 million protein sequences to cluster. Here is the command
mmseqs easy-cluster sample.fasta SampleTest tmp --max-seqs 100 --mask 0 --min-seq-id 0.75 -c 0.8 --cov-mode 0 --similarity-type 1 --cluster-steps 7 --cluster-reassign 1
I am getting the error
Input /tmp/5803776248916823257/clu_tmp/6236462208301927627/seq_wrong_assigned_pref does not exist.
Error: swapdb2 reassign died
Error: Search died
My input file is ok. Its in unix format, containing protein sequences that are full-length. I also cannot find the --min-length you talk about in this post. Please advice.
Thank you
Abhijit


button values?

Currently html_text doesn't extract text from button values (e.g. <input type="submit" value="Send"> ). It may be nice to have them extracted, at least optionally - they may be helpful as features for ML algorithms, and they look like text. But I don't know how important is this feature :)

End users can still extract these values explicitly, without using html_text.


Adding Phoenix Channels support to the Library

Adding phoenix-channels support inside the library- so that we can listen for a certain event emitted from the watcher
(https://www.npmjs.com/package/phoenix-channels)

@kevsul given this is relatively stable now and you have already done some legwork on this, maybe we should start including a function to watch for transaction event, what do you think ?


move exec function to common

there's an exec function in protocol/dev that's really helpful for running external shell commands. It should be put in common

#69

Hasn't been a huge pain point in the last year. Moving to old


[BUG] - Getting Invalid DateTime on Microsoft Edge

Describe the bug
Whenever I set some predefined time to my form such as 08:00 PM or 20:00 but instead it always displays InvalidDateTime in input. Also, upon selection of the time it should give a valid time string such 08:00 PM or 20:00 but it gives InvalidDateTime. I have verified my code and it works fine on all other browser, error only comes on Microsoft Edge (Version 110.0.1587.41 (Official build) (64-bit).
It wasn't the issue with earlier version just popped up few days back.
To Reproduce
Steps to reproduce the behavior:

Use time picker on any web page.
Bind it with ngModel or form.
Set any time but result will be invalidDateTime

Expected behavior
Whenever I set a time to my form such as 08:00 PM or 20:00. I expect input box to show this time but instead it always display InvalidDateTime in input. Also upon selection of the time it should give a valid time string such 08:00 PM or 20:00 but it gives InvalidDateTime.
Screenshots

Desktop (if execution):

OS: Mac, Windows
Browser: Microsoft Edge

** Versions

ngx-mat-timepicker version [15.1.3]
@angular/core version [15.1.4]
@angular/material version [15.1.4]
typescript version [4.9.5]

@sidsaxena0 THE SEARCH EXISTS FOR A REASON


:sparkles: Adding ability to output spec data

Adding the ability for the spec of the given components to be rendered in swagger open API.
TODO:

[x] Add ability to generate condition and output capabilities on server startup
[x] Add the rest of the condition fields for the shared condition (From, As, ignore, not, etc).
[x] Validate that the output generally works against a rule-example.yaml file for specifically builtin.filecontent
[x] Update providers to all correctly generate the openapi
[ ] Need to figure out the "output" and how to display that correctly.

Given the nature of the swagger UI, we would need to define a rest API like a contract. For our purpose, this is probably not what we want right now, skipping the display.


Creating greeting message app API and UI🖖

Hello Rails Backend: Greetings message API

🌟Features:

[x] - Hello-Rails-Backend Rails API app created with Git initialized.
[x] - Postgres database set up, including a messages table with 5 greetings.
[x] - Implemented API endpoint selects random greeting.
[x] - Configured routes for easy access to the new endpoint.

🔗 Link to Frontend PR
Hello React Frontend: Greetings message UI

Hi @elisha2kyakpo1 👋,
Thank you so much 🙏 for reviewing and approving my pull request.
Your nice feedback is really appreciated 🙏.


A list of breaking changes we're holding back for 6.0

We have a few breaking changes we might make in 6.0, whenever that ends up being. I considered making a GitHub milestone for this list, but we don't have a culture of using them and I worried we might overlook it.

[x] update awscli to v2 #688
[ ] remove the IMDSv2Tokens param added in #789 and just make v2 tokens required all the t ime
[x] remove deprecated SpotPrice param #710
[ ] Enable SSM access and disable SSH access #738
[x] Rename SecurityGroupId to SecurityGroupIds?
[x] Make instance names default to the stack name
[x] Rename base branch from master to main - this would cause people using master branch releases to stop receiving builds

See also: Agent: A list of breaking changes we're holding back for 4.0

Renaming SecurityGroupId to SecurityGroupIds would be good too

Update docker to 20.x?

Update docker to 20.x?

@woodhull Docker bumps are not usually considered breaking, are there significant implications of moving to v20?
@yob I'd also like to see #738 if we don't merge it sooner.

Thanks all - list updated

If you're doing SecurityGroupIds, perhaps ManagedPolicyARNs? Just discovered it. 😆

@chloeruka that wouldn't be a breaking change since ssh access would still be available just through ssm instead of port 22.
If it's not a breaking change, could it be added prior to a 6.0 release?

It's not so much the availability of equivalent/replacement features, but removal of parameters that would make us consider it more appropriate for a major version. Changing things around might require users adjust parameters or automation surrounding their stacks. We want low friction Cloudformation upgrades since it's currently tied to Agent updates.

I'd like to second the docker 20.x upgrade as that would allow us to no longer have to set environment variables DOCKER_EXPERIMENTAL and DOCKER_CLI_EXPERIMENTAL which would deprecate the EnableDockerExperimental parameter on the stack.

v6 is out, so I'm going to close this.


Support JAX-RS @ApplicationPath

I want to set a base application path for all JAX-RS resource classes using an application class:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/api")
public class MyApplication extends Application
{
}

Neither the docs nor the example makes it clear how to set this up with bootique-jersey. I tried putting MyApplication into the package (of the class) passed to JerseyModule.extend(binder).addPackage(OneOfMyResources.class), but the application class is not used.
I guess this use case is simply not supported yet by the bootique-jersey glue code (or at least not in 1.2). Please fix this.
How about adding the following method to JerseyModuleExtender?
<T extends Application> withApplicationClass(Class<T> applicationClass)

I think bootique could then simply create the Jersey ResourceConfig using that application class, similarly to how JerseyServletContainerInitializer does it. (Note: I didn't bother checking the exact jersey version as I guess that API is fairly stable).
Alternatively, JerseyModuleExtender could have a method to set the application path, but I would prefer sticking to the JAX-RS API as much as possible - in this case, adding @ApplicationPath to the application class, but letting the developer specify the application class instead of having it discovered automatically (which I presume is not possible/easy/performant with Guice).

I want to set a base application path for all JAX-RS resource classes using an application class

You can do it with configuration instead. Common path for all Jersey resources can be specified via Jersey servlet "urlPattern":
jersey:
   urlPattern: "/api/*"

How about adding the following method to JerseyModuleExtender?

I was always wondering whether we need explicit support for JAX-RS "application", considering that the app assembly is done via Bootique. While I use e.g. Features extensively, I haven't found a need for the application yet. Open for discussion.

I was always wondering whether we need explicit support for JAX-RS "application" (...) Open for discussion.

Well, to conform to the JAX-RS spec, Bootique would have to support application classes. But I guess that this is not the goal, and that's okay.
On a more practical note, supporting application classes would allow interoperability between different JAX-RS implementations. For example, I just had to switch from bootique-jersey to bootique-cxf-jaxrs, so the urlPattern configuration shown above would no longer apply. With @ApplicationPath, this would not be the case.

 We support both servlet and JAX-RS  spec annotations after all. So +1 on this.

Done:
JerseyModule.extend(b).setApplication(MyApp.class)

This supports both @ApplicationPath annotation processing, as well as loading the resources defined by the custom app class. So I am going to rename the task to reflect full support for custom Application.