[Bug?] Set temps don't restore on HA boot if a preset is set when HA restarts

Defaults to my min and max range of thermostat. This error also gets thrown. I'm guessing there is an issue restoring settings correctly at startup.
This error originated from a custom integration.

Logger: custom_components.dual_smart_thermostat.hvac_device.cooler_fan_device
Source: custom_components/dual_smart_thermostat/hvac_device/cooler_fan_device.py:163
integration: dual_smart_thermostat (documentation, issues)
First occurred: 22:55:56 (19 occurrences)
Last logged: 22:57:50

Invalid HVAC mode: None

Here's my config:
climate:
  - platform: dual_smart_thermostat
    name: Hallway Thermostat
    unique_id: hallway_thermostat
    heater: switch.thermostat_controller_l1
    cooler: switch.thermostat_controller_l2
    fan: switch.thermostat_controller_l3
    target_sensor: sensor.average_house_temperature
    openings:
        - binary_sensor.office_window_contact
    min_temp: 60
    max_temp: 85
    fan_hot_tolerance: 0.5
    heat_cool_mode: true
    min_cycle_duration:
      seconds: 60
    keep_alive:
      minutes: 3
    away:
      target_temp_low: 68
      target_temp_high: 77
    home:
      target_temp_low: 71
      target_temp_high: 74
    precision: 0.1
    target_temp_step: 0.5

If HA is restarted in Preset None, then temperatures are restored correctly.

I'm seeing the same thing after a restart:

@FredericMa It's not an issue because there is no configured temperature range in your config. But I guess the thermostat should have been restored to the last used target temperatures.

Correct, I expected the previous targets to be restored instead of the warning. This has always worked fine before.

Please check v0.9.6.beta-8

I've tested it and restarted twice.
First time it went fine, the second time (30 seconds later) it failed.
I see this warning again in the log:
2024-05-08 18:44:19.711 WARNING (MainThread) [custom_components.dual_smart_thermostat.managers.temperature_manager] Undefined target temperature range, falled back to 7-7-35

As an addition, it looks like after a restart the "prev_" attributes are gone. If I restart again the thermostat does the fallback.
If I update the temperatures so the "prev_" attributes are updated again and restart afterwards, it restores fine.
These are the attributes I see after a restart:


Exploders should only work when hooked up to an active collector

updateBlock needs some reconsideration since it will wipe metadata which is not always wanted (such as in this case.)
Could also just fetch the metadata and feed it to the function each time but I'm not very fond of that solution :(

Updating block states directly fixes issue but should be used carefully so as not to cause indexing problems.


PB3, PB4 and PA15 are unavailable unless the JTAG is disabled

The pins PB3, PB4 and PA15 are used for JTAG debuging on this chip which means that they are normally unavailable for general use. It is possible to use them if you disable the JTAG device as noted in section 31.4.4 of the manual.
Disabling the jtag device should be fairly straight forward since you can still use the SWJ debugger and i'll submit a PR that adds a function for doing that. However, since the JTAG device is enabled by default, those pins are unusable until it's disabled which is not reflected in the current API. I spent a few hours debugging this today and I imagine others will or already have as well.
Would it make sense to prevent usage of those three pins until the JTAG is disabled? Perhaps by adding another GPIO type: jtag and requiring a token type given by the JTAG disable function to enable them?

Related to #83

I agree that it would be better to have a Debugger type state.


Collapse pool / contents erased

Hey ... when I choose the "Collapsed Pool" option in 1.6.0 or the latest nightly build running on 64-bit Windows, and then choose "Expanded Pool" the pool contents are erased.  On the XML tab, the corresponding lines also disappear.

That is correct. There does not exist a concept like "Collapsed Pool with contents" in BPMN.

Reopening, as we could technically build something like this (working around BPMN limitations). See https://github.com/bpmn-io/bpmn-js/issues/659 for the workaround.

@nikku is this still a won't fix or do you think at some point it will be on the roadmap?

This issue is not on our roadmap. Would be interesting to learn in which scenarios you think that functionality makes sense and how often you'd use it.

Got this question (and then slander) in three consecutive missions. Use case: model a huge collaboration for a complete process, then, for a department or the process engineer, collapse all pools except the interesting one while keeping the message flows. Even better if it is expandable afterwards.
Minimum requirement: Make the user clear that she looses the content by switching from expanded to collapsed pool.

Make clear to the user that she looses the content and message flows by switching from expanded to collapsed pool.

How would you like to make that clear to the user? It is due to the BPMN that collapsing (and keeping contents) is not possible.

Make clear to the user that she looses the content and message flows by switching from expanded to collapsed pool.
How would you like to make that clear to the user? It is due to the BPMN that collapsing (and keeping contents) is not possible.

It's definitely a question of UI/UX. We have to prevent the frustration that arises when a user expands a previously collapsed pool and then notices that it is empty. Then it is to late to press CTRL-Z. Hence, we have to warn the user. I don't no, hammer a warning on the screen or whatever when a user changes an expanded pool to a collapsed pool.
Anyway, this is no solution. Since collapsing subprocesses without loosing content works, it is very unintuitive that it does not work for pools (I know the technical issue, just talking about the UX).

100% agreed! If BPMN 3.0 is ever getting released I hope for that to be fixed.

There is a chance to fix it in the camunda modeler in BPMN2.0:
Move the content of the pool with a different namespace into an extension element of the process if you collapse it. On expanding, map them back to the process level.

Closing this as won't fix, as the current behavior is en par with the BPMN standard.
Based on your feedback I've created https://github.com/camunda/camunda-modeler/issues/712 to track the would be awesome to have version of an intuitive collapse / expand participant behavior.
Find the full specification of what we'd like to have in https://github.com/bpmn-io/bpmn-js/issues/736. If someone wants to start working on the topic or file a pull request --- I'm happy to share my thoughts on the implementation.


Initial Guidelines

@orta and I had a lot of fun writing up Moya's contributor guidelines, and I think we need something similar for this org.
Necessary things, I think:

Code of conduct
Expectations of contributors (Moya's is basically "don't stress about this")
How to consider moving a repo to the org (probably open an issue on this repo to discuss?)
???

I feel strongly that we should have a "contributors" team and, once anyone sends a PR that gets merged, they should be added to that team and have push access. We can use GitHub to protect master branches against force-pushing to mitigate potential problems, but this really helps people feel a sense of ownership of the project and encourages them to contribute more.

I feel strongly that we should have a "contributors" team and, once anyone sends a PR that gets merged, they should be added to that team and have push access.

I agree on that.

We can use GitHub to protect master branches against force-pushing to mitigate potential problems, but this really helps people feel a sense of ownership of the project and encourages them to contribute more.

This is a very nice strategy. One little thing, I would prefer to keep guides.rxswift.org as the only exception. I am still working on rearranging the README in RxSwift repo and move some stuff there, but I am still not very happy about the result. :cry:
I will iterate more on that. :)

That makes sense! Repos have granular permissions settings, so there's nothing incompatible with keeping guides on its own.
If that's the case, later this morning I'll set up the team and maybe work with Orta on an initial PR to this repo with guidelines :tada:

Hi there; thanks for the invite on this Organization :smile:
Would love to read some more on the README since I'm no :100: sure what's this all about :smile:

Related to the teams; I think having the Contributors works and maybe have an Admin group?
Or just by marking those we want as Owners will suffice?

Yeah, the Owners should suffice. We've never used the Admin group for anything on Moya.


Move Legacy-URIs to URIs

There is no real need to have them separate as labels, is there?

thats true. uris stay uris in the new version of the parser


Store opt-ins for naming companies as sponsors on extensions.quarkus.io

See https://github.com/quarkusio/extensions/pull/283 for context.
We want to automatically display extensions sponsors on http://quarkus.io/extensions, but we do not want to list a company as a sponsor if they don't want to be listed! (We will do something similar for contributing companies, and have the same requirement.)
The opt-in has to be global, rather than per-extension, or there's no point in having the automation. (We also have the ability for extension owners to set a sponsor in the extension metadata, but where possible we want to make things easier and less toil-ful.)
This repo seems like the most logical place to store opt-in information.

Hmmm, shouldn't the file be in a more visible place, like in the repository's root?

Also putting in https://github.com/quarkusio/extensions seems the most logical place

Hmmm, shouldn't the file be in a more visible place, like in the repository's root?

I was so confused by this comment, since I obviously put it in the extension's root ... except I see now that I didn't. :)
(Fixed now.)
I wondered about putting it in the extensions repo, but decided that this information was a bit broader in scope. For example, maybe the CLI or code.quarkus might also want to show it? But I don't have super-strong feelings.

Perhaps we start by putting it in https://github.com/quarkusio/extensions and if there is a compelling use case to make it available in our tooling we move it to another place?

Hmm, what do you think, @maxandersen? Thinking about it more, another reason not to put it in https://github.com/quarkusio/extensions is that that repo isn't one of the ones we tell extension owners to modify. In general, extension owners shouldn't have to modify the extensions codebase to get it to display correctly.
There's some advantage in keeping the list of infrastructure repos that extension owners have to clone - I can't find the list in one place, at the moment, it's (I think) the extension catalog, the ecosystem CI, the quarkiverse docs, and the devops repos for the terraforms. That's four, which seems like a lot. Ideally we'd use one of those. None of them seemed quite right, and I thought quarkiverse/quarkiverse might be more universal and generic. However, I'd forgotten about the extensions catalog, so that could be a good place. Maybe in a parallel folder to /extensions?

Just to dig my heels in a bit deeper/reword what I put above more clearly.
I think there are some repos in the quarkiverse hub that we expect to be "extension-author facing". I don't think quarkusio/extensions should be one of them. Among other things, it's not even in the quarkiverse org. :)
(Sadly, my alternate suggestion of the extension catalog is also not in the quarkiverse org, so it fails that 'in the quarkiverse hub' test ... but at least it's currently extension-author-facing.)

I gave it some thought and I think that putting it in the extension catalog makes sense too, as they are the single source of truth for the known extensions in the whole Quarkiverse :)
+1 to move there instead of in this repo

I gave it some thought and I think that putting it in the extension catalog makes sense too, as they are the single source of truth for the known extensions in the whole Quarkiverse :)
+1 to move there instead of in this repo

Cool! I've made https://github.com/quarkusio/quarkus-extension-catalog/pull/68 and will close this PR.


Failed to find machine pool for vCPUs

Running AKS cluster on version 1.17.11 with two node pools, one with 3 nodes Standard_D2s_v3 and one with 2 nodes Standard_D32s_v3, getting the following error message in the cost-model container of kubecost-cost-analyzer.
I've followed the instructions for creating the custom role for access to Billing RateCard API (http://docs.kubecost.com/azure-config):
I1107 00:36:18.958197       1 log.go:47] [Info] Allocation ETL: build complete
I1107 00:36:18.963568       1 clustersizing.go:197] error: recommend machines: single pool strategy: failed to find machine pool for vCPUs: 23.242635 (0.280616 DaemonSet); RAM: 79.041598 GB (0.616155 DaemonSet); max pod: 4.000000 vCPUs, 10.000000 RAM GB with buffer 1.333333, min nodes 2
I1107 00:36:18.963602       1 clustersizing.go:207] error: recommend machines: multi-pool strategy: multi: cannot find acceptable node type for vCPUs: 23.242635 (0.280616 DaemonSet); RAM: 79.041598 GB (0.616155 DaemonSet); max pod: 4.000000 vCPUs, 10.000000 RAM GB

@andrijaperovic thanks for sharing! Are you just seeing any unexpected behavior in the Savings view on the frontend or just these logs?

Hi @dwbrown2 of course! Thank you for the quick reply.
I am expecting to see recommended node types in cluster-sizing.html, but am seeing static/daemonset/maxpod resources:
https://imgur.com/sCJeauC

Hi @dwbrown2 @nikovacevic - any updates on this? I think last we spoke you mentioned it is a feature set being prioritized for a future sprint.

Hi @andrijaperovic! This work is now complete + in final stages of reviews. It's expect to be merged any day now and in our next release. @Sean-Holcomb can you share updates once they're available?

Shipped in v1.74! Let me know if we can get you anything else here. We will continue to make investments in this feature.

Closing for now, but please feel free to re-open for feature requests!

@dwbrown2 can we re-open this? Looks like this breaks with newest version of the helm chart (v1.94.2).
http://localhost:9090/model/savings/clusterSizingETL?window=2d&targetUtilization=0.75&minNodeCount=2&allowSharedCore=false&architecture=&req=1654907540784

error fetching current cluster information: could not fetch node types for provider(s): could not find node types for provider Azure (cluster: [cluster-one]): node prices file [/var/configs/azurenodeprices.json] not found

++ @Sean-Holcomb

Hi @andrijaperovic is this specifically when loading the cluster sizing html page? If so @biancaburtoiu can you take a look?

hello @andrijaperovic! Thanks for flagging this. We're periodically caching Azure pricing data in the /var/configs/azurenodeprices.json file. Could you try to restart your cost-analyzer pod? That should create and start populating this cache file. Let us know if that solves the issue.
cc @AjayTripathy the Azure API is currently periodically called in the background, the cache file is initialized at startup.

Hi @AjayTripathy, apologies for the late reply lost track of this issue. Yes, this happens specifically when loading the cluster sizing HTML page. @biancaburtoiu I restarted the cost-analyzer pod but looks like the issue is still present:
2022-07-09T16:43:25.171250419Z ERR savings: cluster sizing: error reccomending cluster sizing for cluster cluster-one: failed to recommend single pool cluster sizing: node prices file [/var/configs/azurenodeprices.json] not found

I'm observing some additional error messages as well:
WRN no pricing data found for eastus,standard_d8as_v4,ondemand: &{map[agentpool:micservices beta.kubernetes.io/arch:amd64 beta.kubernetes.io/instance-type:standard_d8as_v4 beta.kubernetes.io/os:linux failure-domain.beta.kubernetes.io/region:eastus failure-domain.beta.kubernetes.io/zone:0 ...

Let me know if you require any additional information.

@biancaburtoiu any reason why this issue was closed?

I'm expecting this was closed because it will be fixed in an upcoming release, but will check in with @biancaburtoiu

hello @andrijaperovic - as Ajay noted, the fix should be included in v1.95, which will be out shortly. Once updated, please let me know whether the page loads as expected. Thanks for your patience!

Hi @biancaburtoiu,
I just installed helm chart v1.95.1. The cluster sizing recommendations are displaying correctly:

thank you for the quick fix 💯 !

I did see that node count is not showing up for current cluster setup due to not being able to fetch current cluster information. I'll reopen for now and wait for your confirmation on that before closing the ticket. thanks!

Seeing a lot of WRN messages no pricing data found for eastus,standard_d8as_v4,ondemand:. @biancaburtoiu

hello @andrijaperovic, I'm glad to hear that the initial problem got solved!
Thanks for flagging the subsequent problem. I've raised a separate issue here: https://github.com/kubecost/kubecost-cost-model/issues/897

Hi @biancaburtoiu - thanks for creating the issue! However the URL which you shared returns a 404.

Thanks for pointing that out @andrijaperovic, it was a miss on my side. Please see the public issue here: https://github.com/opencost/opencost/issues/1339

Thanks @biancaburtoiu ! Closing this issue for now. Will continue the conversation on #1339


Napari colormaps within OME-Zarr Metadata

I am noticing that the OME-Zarr specifications have an option to have a "color" properties within the channel metadata.  We use this property do define the colormap for when napari-ome-zarr opens up the dataset.  However, it seems that doing this creates a ton of new colormaps within Napari with the title unnamed, and doesn't actually use a napari colormap.
Is there a way to define metadata such that we use napari's inherent colormaps?  I see that the _reader.py looks for a metadata key called colormap which gets converted to a vispy colormap, but I am not entirely sure how to include this in the ome metadata within the zarr file or if this vispy colormap will correspond to one of napari's inherent maps and not create a new 'unnamed' one.
Let me know if I can clarify anything here.  Thanks for the help

It could be possible to compare color values coming from OME-NGFF metadata with those in existing napari colormaps and if there's a match, then use the napari colormap name instead:
https://napari.org/stable/howtos/layers/image.html#working-with-colormaps
It might also be permissible to use the name of the colormap in the omero channel color string (as we do in OMERO itself for lookup tables).

When we first look up existing colormap instances, we can avoid creating new identical ones.
If the OME-Zarr colormap is a name (string), one can try to look it up from Napari colormaps (how to handle it if not found?). If it is instead a tuple of two RGB colors, create a new Napari colormap. Since Napari will register it, we can look it up next time.
from vispy.color import Colormap as VispyColormap
from napari.utils.colormaps.colormap import Colormap as NapariColormap
from napari.utils.colormaps import AVAILABLE_COLORMAPS

cms = metadata.get("colormap", [])
for idx, cm in enumerate(cms):
    if not isinstance(cm, (VispyColormap, NapariColormap)):
        if isinstance(cm, str):
            cms[idx] = AVAILABLE_COLORMAPS.get(cm)
            # TODO: How to handle this?  We have a colormap name not know in Napari,
            # are there cases when we can still create a color map?
        else:
            colormap_name = f"color {cm}"
            colormap = AVAILABLE_COLORMAPS.get(colormap_name)
            if colormap is None:
                colormap = NapariColormap(cm, name=colormap_name)
            cms[idx] = colormap

Hi.
I've come across this issue myself and wasn't clear if there is a fix, or if this issue  is due to me writing metadata incorrectly. Was hoping you could help.
I have written my high plex multichannel data to OME-ZARR format with ome-zarr-py package write_image function. I specify channel metadata under OMERO metadata, including each channel color to be "FFFFFF".
On loading to napari via napari-ome-zarr, channel names and render settings load correctly. But each channel spawns its own version of 'unnamed colormap [##]'

Looking for a way to have every channel just load with the napari 'gray' colormap?


Schnorr interfaces missing

IIUC, the definitions for Schnorr signatures are missing

I was also looking for those interfaces and it seems they were implemented but not yet released. Is there any timeline for the next release?

It seems this was released in 0.17.0.


Use env to select api rest base url

Description
As mentioned on the Braze documentation, the base url of the REST Api might change, which means that applications using this library should have a way to change the default API endpoint.
The simplest way to override that value is by using the ENV, which is what I've done in this PR. Also, I've added a couple of tests for it, but note that the FactoryGirl.lint is raising an exception so the test suit does not pass.

Thanks for reviewing and merging this @wenga86. Any idea whether you will be releasing a new version of the appboy gem?

I'll try to add it in some time today @nogates


Some validation issues

Below are the list of issues and fixes done in my local dev:

Validation should check for valid string values for first name and last name when adding an Owner, fixed this by adding @Pattern(regexp = "[a-z-A-Z]*", message = "First name has invalid characters")

Validation should check for null value from date input when adding a Pet, fixed this by adding @NotNull

Validation should set a max range for a string with min range, fixed this by adding the max value in @Size(min = 2, max = 14 )

Fixed in #9 and #10
Thanks for your contribution!!


RefreshSignInAsync could happen with a different user

Related: https://github.com/aspnet/Identity/issues/1900
Instead of reiterating what was already said there, we're using it for a different goal, we allow delegated requests in certain cases, these however end up in the same code path which will call refresh.
Could we think about a way to guard the SignInAsync call inside RefreshSignInAsync, e.g. check in an agnostic as possible way that the currently logged in user is the same as the passed in user, and throw otherwise?
That wouldn't solve my problem per se, I'd want to introduce a condition around this anyway if it'll throw but it will make people aware of this api's pitfalls.
/cc @blowdart (I'm obviously not the first one that finds this api highly unprincipled and frankly dangerous, mixing in the previous auth properties with any new user you pass in, and to call it  "Refresh")

I don't know if I'd go as far as calling it dangerous, e.g. it does support a user name change, which is a scenario I can see people using.

Also how would you do this check? You can't rely on any claim being present, be it username or a uuid or anything else, validators are generic and not linked to identity.
I'm going to fall back to the documentation here I'm afraid as there's no clear foolproof way to do this.


A few -Wconversion and -Wsign-conversion warnings

In the file include/flatcc/flatcc_identifier.h there are a few conversion issues. Since this header is included from flatbuffers_common_reader.h I couldn't build it in my project.
I used GCC 7.5 with the following flags (partial list) -Wconversion -Wsign-conversion -Werror.
I'll open a PR soon to point at the problems.

FYI: there were recently some fixes in this area:
https://github.com/dvidelabs/flatcc/pull/147

Thanks. I actually looked at this PR before posting and it looks like it refers to different lines.
BTW: there are many more -Wconversion and -Wsign-conversion warnings, most of them I found in builder.c, but they look less trivial to fix. I might try some other time.

Yesterday I added -Wsign-conversion and -Wconversion to clang builds. Today I added -Wsign-conversion which required a lot more changes in addition to clang - it's broken for GCC 4.7 so disabled there (can't handle ternary operator). I also took your suggested cast from the PR since it wasn't a widespread problem. I tried to fix -Wconversion and did make some changes, but ultimately I stopped because x = x + 1 or even x = x + 1u requires a cast, and n = -n; would also require a cast. That isn't reasonable.
I believe -Wsign-conversion is important in some cases, but it does leave a lot of ugly code that doesn't make it worthwhile in most cases. I might remove support for this warning in GCC in the future because GCC keeps getting more and more aggressive at the expense of code readability and portability. clang seems to strike a better balance although it also requires lots of casts.
Please let me know what you think. Changes are on master.

You can also see the build in the ci-more branch on travis - it tracks many more compiler versions but is only built when I explicitly push to that branch.

Saw the changes. This actually fixed many of the other warnings we had. Your case about -Wsign-conversion is very reasonable, and I wish GCC didn't make it harder to use it.
Anyway, I'll close my PR now as it's no longer relevant. Thank you for maintaining this project!

Thanks, I'll be closing this issue. If you find some particular warning that you want fixed without being intrusive to the code, feel free to submit at new PR, but as discussed, the target is to support clang warnings not GCC.


add option to pass existing gurobipy.Env to run_gurobipy()

Quick successions of gurobi environment instantiation may cause clogging on Gurobi token server since tokens are not released quickly enough.
Gurobi recommends that in this case, one should do multiple solving calls inside the same environment.
https://support.gurobi.com/hc/en-us/articles/4424054948881
import gurobipy as gp

with gp.Env() as env:
    with gp.Model(env=env) as model1:
        # formulate and solve model1
    with gp.Model(env=env) as model2:
        # formulate and solve model2

E.g. in PyPSA the primary use case would be rolling horizon optimisation.
with gurobipy.Env() as env:
    n.optimize.optimize_with_rolling_horizon(
        ...,
        env=env,
    )

For this to work, a small PR in PyPSA is required to hand down the `env` keyword argument.

This is kind of related to #162, since this was a prerequisite for this PR to work.

A bit unfortunate but the workaround seems reasonable


[ᚬrc/v0.11.0] docs: fix typo from 'beck32Address' to 'bech32Address' in the readme

Codecov Report

:exclamation: No coverage uploaded for pull request base (rc/v0.11.0@91d8f9a). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             rc/v0.11.0     #156   +/-   ##
=============================================
  Coverage              ?   94.32%
=============================================
  Files                 ?        9
  Lines                 ?      194
  Branches              ?       38
=============================================
  Hits                  ?      183
  Misses                ?       10
  Partials              ?        1

Continue to review full report at Codecov.

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


JsonConvert double precision using ToString("R") vs. ToString("G17")

Msdn reports that there can be double precision loss using ToString("R") when compiled under x64 or anycpu. Read here.
Would it be preferable in the JsonConvert ToString(double value) methods to use ToString("G17") ? See the code snip below.
        public static string ToString(double value)
        {
            return EnsureDecimalPlace(value, value.ToString("R", CultureInfo.InvariantCulture));
        }

        internal static string ToString(double value, FloatFormatHandling floatFormatHandling, char quoteChar, bool nullable)
        {
            return EnsureFloatFormat(value, EnsureDecimalPlace(value, value.ToString("R", CultureInfo.InvariantCulture)), floatFormatHandling, quoteChar, nullable);
        }

If "R" isn't used then round tripping a double.MaxValue will cause an error on deserialization.

@JamesNK When I test roundtripping in Json.NET with double.MaxValue but replace ToString format "R" with "G17" I did not encounter an issue.
Can you be more specific about the error you encountered ?

@JamesNK, I have a question regarding what can break in the Json.NET if changed to use G17 instead of "R"? I am asking this question because there are some thoughts from the Net Core to have "R" always format the string with 17 significant digits (instead of 15). We want to evaluate if such change can break Json.NET or any other serialization.
Look at https://github.com/dotnet/coreclr/pull/13140 if you want to see the discussion there

Json.NET converts doubles to a string with ToString("R"). If its output can no longer be parsed with double.TryParse then it will break a lot of people

At least I believe so. I haven't done extensive testing.

double.TryParse should parse the output of ToString("R") even after changing it to use 17 significant digits. so the concern is not about the parsing back.
Is there a way from your side to experiment changing "R" to G17 and run your tests with this change and look if there is anything can break there?
if you don't have time for that, you may tell me how I can do this change, build and run the tests and I'll try to do it.

Fork and change the ToString("R")'s here - https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/JsonConvert.cs#L256-L299


Disable simd-accel for MSVC

Hey @darrenldl, I'm back with another round of #63 :)
windows-gnu builds fine, but windows-msvc fails due to various reasons:

Command-line args that cl.exe can't handle: https://github.com/darrenldl/reed-solomon-erasure/blob/b68f9f34ee94c9060dedeefdd0433712c0f53e57/build.rs#L162-L163
restrict keyword (cl wants __restrict): https://github.com/darrenldl/reed-solomon-erasure/blob/b68f9f34ee94c9060dedeefdd0433712c0f53e57/simd_c/reedsolomon.h#L34-L35
GNU vector extensions that need a MSVC equivalent: https://github.com/darrenldl/reed-solomon-erasure/blob/b68f9f34ee94c9060dedeefdd0433712c0f53e57/simd_c/reedsolomon.c#L128-L129

This bites us because cargo doesn't support target-specific features so it's not just a simple matter of disabling the simd-accel feature before building the reed-solomon-erasure crate as that would affect the Linux/macOS targets where we certainly do want simd enabled

Thank for the PR.
Sometimes I wonder if building C on Windows is ever fun to do.
Anyhow, I'm guessing similar flags might need to be put in galois_8.rs (the ones in your last PR) as well - I'll confirm in a day or so if you haven't gotten to it by then

Sometimes I wonder if building C on Windows is ever fun to do.

It's fine if you don't care about being portable ;) .   Otherwise 🤕

I'm really glad I don't need to do any dev on Windows, not yet anyway.

Do you happen to have CI files for testing windows builds that you don't mind sharing?

I think uncommenting this is all you need to reproduce:
https://github.com/darrenldl/reed-solomon-erasure/blob/b68f9f34ee94c9060dedeefdd0433712c0f53e57/appveyor.yml#L13-L14

Oh, huh. Uh oh, I guess this speaks volumes in how little I've taken care of this library.

Coverage decreased (-0.03%) to 96.282% when pulling 2961c64ad4b198163854f256fbc35aeeb90f6165 on mvines:win into b68f9f34ee94c9060dedeefdd0433712c0f53e57 on darrenldl:master.


Add a utility program to print out which CPU feature sets are supported on a machine

OCIO uses some CPUInfo code to check which SIMD intsruction sets are supported on a given machine and this is used to decide which Lut1D and Lut3D evaluation code to use. It would be nice to have a command-line tool included with OCIO that users could run that would print out the various flags to assist in troubleshooting.
This could be a stand-alone app under src/apps.  Or the CPUInfo could be made accessible through the Python binding and then a script could be added under share/troubleshooting.

Hi! Can I take on this issue?

Absolutely, @catrinalim - let us know if you have questions.

This is still available for someone to work on.


merge from template-arlac77-github

package.json

BREAKING CHANGE: add >=20.12.0 remove >=20.11.1 (engines.node)
fix(engines): add >=20.12.0 remove >=20.11.1 (engines.node)
.github/workflows/ci.yml

chore(deps): add 20.12.0 remove 20.11.1 (jobs.test-node.strategy.matrix.node-version)
chore: add 20.12.0 (jobs.release.steps.with.node-version)

.github/workflows/codeql_analysis.yml

chore: add 20.12.0 (jobs.analyze.steps.with.node-version)

.github/workflows/update_package_lock.yml

chore(deps): add 20.12.0 (jobs.update_package_lock.strategy.matrix.node-version)

.github/workflows/update_readme_api.yml

chore: add 20.12.0 (jobs.update_readme_api.steps.with.node-version)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
195

Relevant Lines:
227

💛  - Coveralls


Facing Many issues in Jcanvas.

Can not getting the actual point where I click or drag on canvas.
Comments : I try to get the clicked pixel from the whole window on canvas. I have to use below of code. Can you have any option on your canvas to getting clicked point of canvas. Because when we use canvas on scrollable div then i cant get the actual point of clicked area.
`
function relMouseCoords(event) {
var totalOffsetX = 0;
var totalOffsetY = 0;
var canvasX = 0;
var canvasY = 0;
var currentElement = this;
             do {
                 totalOffsetX += currentElement.offsetLeft - currentElement.scrollLeft;
                 totalOffsetY += currentElement.offsetTop - currentElement.scrollTop;
             } while (currentElement = currentElement.offsetParent)

             canvasX = event.pageX - totalOffsetX;
             canvasY = event.pageY - totalOffsetY;
             alert(canvasX);
             return {x: canvasX, y: canvasY}

         }

2. Fill style have transparent option but if line surface is closed then I can not select the inner layer indexes of the for dragging.  3. Can not Plot any layer or pixel on (0, 0) coordinate because this is not visible on canvas. Comment:- Actually I want to add an image on canvas that can act as background image of the canvas. 4. Can not redraw the canvas using JSON value of the canvas. Comment:-  I have saved entire JSON Object of canvas in my database. But cant find the way to re-create the jcanvas from the data.
seen=[];
json = JSON.stringify(canvas, function (key, val) {
if (typeof val == "object") {
if (seen.indexOf(val) >= 0)
return
seen.push(val)
}
return val
})
alert(json);
`
5. Want to plot layer after zooming the jcanvas but when I zoom the canvas the pixel value where i click my be different i think.
6. Also rotation is not also working as expected because I cant find the respective axis that the object is rotating.
h.html.zip
I have uploaded the whole code in attachment. Please review and let me know the update.

@satanand7, you have many questions. Allow me to tackle them one at a time:
1. Retrieving cursor coordinates
You can use layer.eventX and layer.eventY to get the cursor coordinates where the layer was clicked or dragged. You can access them from the layer object passed to any jCanvas mouse event (click, mousedown, drag, etc.). See this section of the documentation.
2. fillStyle transparency
I'm not quite sure what you mean by this. Could you please provide a code example that reproduces the behavior you describe? (something I can run in the jCanvas Sandbox would be preferable)
3. Layer positioning
Drawings in jCanvas (rectangles, arcs, images, etc.) are drawn from the center by default. In other words, the (x, y) coordinates for each shape lies at the center of that shape. You can change this to make (x, y) the top-left corner (as you so desire) by setting fromCenter: false on your layer.
4. Serialization
jCanvas currently does not have any built-in methods for serialization, so you must write your own (it's not hard). To save/restore jCanvas objects, you must serialize them to JSON objects before storing them (locally, on the server, etc.) and then you must deserialize them when you restore them to the canvas. Furthermore, jCanvas layers are actually stored on the canvas via jQuery's $.data function, and not set directly as DOM properties. If you really want access to all of that data (including layers and transform data), you can use $.data($myCanvas[0], 'jCanvas').
However, every jCanvas layer is a JS object containing both JSON-serializable properties (x, y, width, height, draggable, etc.) and non-JSON-serializable properties (all event callbacks, reference to the canvas element, etc.). Therefore, you must pick out those serializable jCanvas properties which are sufficient for recreating those layers in your particular application. You shouldn't need to serialize event callbacks, since those don't ever change on a per-layer basis.
The easiest way to write your own serialization functions is to create an array containing the names of the properties you want to store for each layer, then for every layer, loop through that list of property names and create a new object with only those properties from the layer. Then you serialize that object as JSON (using JSON.stringify) and store that on the server (or locally). To deserialize a layer, you can use JSON.parse combined with the addLayer() method (assuming the type property is present on each deserialized layer object).
5. Scaling and clicking
When you scale the canvas with a jCanvas method like scaleCanvas, the internal coordinate system is scaled by that factor, while the physical canvas dimensions remain the same. I mentioned above that you can use layer.eventX and layer.eventY to retrieve the current cursor coordinates after a mouse event. To factor in scaling, you must divide layer.eventX and layer.eventY by the scale factor. For instance, if you zoom in to a scale of 1.25, you must use layer.eventX / 1.25 and layer.eventY / 1.25. Of course, if you store the current scale value into a variable, then you can perform this division dynamically, whatever the current scale value is.
6. Rotation
When you use a method like rotateCanvas without x and y arguments, the canvas will rotate around the top-left corner of the canvas. In other words, the top-left corner of the canvas (i.e. (0, 0)) is the center of rotation. You can override this to be the center of the canvas or whatever else by passing x and y properties to rotateCanvas.
Anyway, I hope that all helps.
Caleb


Numerama Bridge Broken ?

Hello :)
Since a few days, the Numerama Bridge is not working, showing an empty page on this address: https://bridge.suumitsu.eu/?action=display&bridge=Numerama&format=Atom (the same for any format)
Any idea of what's going wrong ? Can I help you to fix that ?
Thanks for this awesome project ! :)

NumeramaBridge has been removed with ec3824e2841b8549b5b171adbdc80539c829c384
The reason is that it is a wordpress site that can be handled by the WordPressBridge.
The status of the sites using the same CMS is discussed in #402 and should be revamped in the future.
Meanwhile you can access Numerama feed by using WordpressBridge and the numerama uri.

Great, thanks for replying ! :)

Well... It seems like I have another issue here: Trying with the wordpress feed (with http://www.numerama.com as argument) just return Serialization of 'SimpleXMLElement' is not allowed

Apparently, your instance is not synchronized with the master branch: using WordPressBridge with the numerama uri you provided works as expected.

Ok, I was thinking so (as if I'm right bridge.suumitsu.eu is owned by the creator of RSS Bridge).
As you said it's working on the master, I will wait for an update or install it myself.
Thanks :)


Condition AWS env vars in operator helm template if ENI is enabled

Signed-off-by: Vlad Ungureanu<EMAIL_ADDRESS>While deploying the operator in Azure mode I realized that the helm template generation still includes the env vars needed when running in AWS ENI mode.
Do not include env vars for AWS in `cilium-operator` deployment definition when deploying the operator in Azure mode.

test-me-please

Coverage decreased (-0.02%) to 36.907% when pulling d77e9f0918c59a3b953d4f9c7bc8f5f8c43aadaa on vladu/operator-aws-helm into 082e87932312311f50f6d165905b792ff729f41d on master.

@christarazi you are right, just cosmetic. I got really confused because I thought I deployed the AWS version in my AKS cluster and then when looking at the docker image I was able to demystify this.
Re-worded the release notes.


added dash to allowable application name regex

Last I checked, Spinnaker application names weren't allowed to have hyphens in them.

Last I checked, Spinnaker application names weren't allowed to have hyphens in them.

AFAIK you still can. Reported issue here: https://github.com/armory-io/terraform-provider-spinnaker/issues/40
I have many applications with dashes in the name created via UI and terraform (older version of this plugin, before this restriction was added).
In their documentation they use my-app as the example application name: https://www.spinnaker.io/guides/spin/app/#create-a-new-application-using-save

@parondeau is correct. Applications names can have - in them now. I'm not sure how it behaves when using any of the VM based providers as it would conflict with Frigga but the Kubernetes V2 provider certainly supports it. Thanks for the contribution!


added more robust testing for admin endpoints

Type of change

[x ] New feature (non-breaking change which adds functionality)

Change Status

[x ] Complete, tested, ready to review and merge

Checklist

[x ] My code follows the style guidelines of this project
[ x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ x] I have commented my code, particularly in hard-to-understand areas
[ x] I have made corresponding changes to the documentation
[ x] My changes generate no new warnings
[ x] I have added tests that prove my fix is effective or that my feature works
[ x] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

Code looks very clean, cant find anywhere that I can critic negatively. Looks great.


Glide API test

If you can get your hands on a 3DFX Voodoo card it would be awesome to test it on Glide!

Glide was added to DOSBox a few years back so it may be possible to emulate this.

I wasn't aware of this specific API (I'm too young I guess :-) ), but this would be really fun ; I might look into it!

A Glide version has been added (only compiled for the Voodoo 1 and tested in DosBox-X) 😃


How to merge coverage and unittest work together

Is your feature request related to a problem? Please describe.
We want to use unittest to test our code and use coverage to test our code coverage ,but we need to run unittest twice , One time to test code ,and one time run in coverage to test coverage. So ,we consider can unittest and coverage work together to test our code only once.
Describe the solution you'd like
We hope if unittest test error , coverage also stop and push this error in the same time and make piplines failed. But now coverage can't do it .
Describe alternatives you've considered
Additional context
If this can do ,how we need to config our code. Please tell us ,thank you!

Does this work for you?
$ coverage run -m unittest discover

Does this work for you?
$ coverage run -m unittest discover
Thank you this command can make sense, but not adopt in our code, and we have resolved this problem.


How to only list folders, and exclude all files?

I can't seem to figure it out. The documentation mentions how to exclude specific files or folders, but not any way to exclude all files and just print folders only.
Am I missing something basic here?
EDIT: Oh my god, I spent like 20 minutes trying to figure this out, and as soon as I posted this issue I figured it out right after. :P
I was trying to put regex into the exclude_files= argument, but I missed the part in the docs that mentioned I specifically had to also add the regex=True argument. So that's why my regex wasn't working.
Anyway, the solution I found was adding exclude_files='.*\.*$', regex=True, -- This seems to exclude all files. Thanks for this awesome tool, its really useful!

I forgot to include the regex=True argument. @_@

I will add some notes to make this more clear in the docs - glad it ended up working!
For reference, other non-regex options would be inclde_files='' or mask=lambda x : os.path.isdir(x) 😁

Thanks! Yeah making it more explicitly clear that the regex=true needs to be added for regex to work would be great.
And to be clear, are you saying that adding include_files='' would actually exclude all files from the list? Instinctively I tried using exclude_files='' first, with my logic being that a blank value would exclude all files. But I think I was misunderstanding how that feature works.
But if include_files='' also removes all files from the list, that would be much simpler than my regex solution.
So if I am understanding the logic of how these arguments work, the include_files argument will only add the included files in the output list, correct? So a value of include_files="readme.txt" would exclude any file that isn't exactly named readme.txt?
Then following that logic, a blank value of include_files='' would essentially only include files with a totally empty filename (which is impossible) so therefore it includes no files in the list.
That makes perfect sense.
I think when I was first trying to figure this out, my brain got attached to the word/concept of "exclude" because in my own words I wanted to "exclude all files" so I overlooked the "include" argument.
I just wanted to explain my thought process. I don't have any issue with the code, it makes perfect sense now. I think my brain was just tired when I was reading the documentation.

Yes you got it!  E.g. include_files is indicating the names of files you explicitly want to include in the tree (either by name literally or via a regex pattern).  Maybe included_files would be a better name.  I get the expectation that you could do something like exclude_files=True to exclude files, but that is not how it has been implemented.

Including one more note for (personal) reference.  Exclusion is prioritized over inclusion, so if an item is captured by both the inclusion and exclusion terms, it will be excluded.  I think I had actually intended the opposite (so that you could make exceptions to your exclusions) but I have verified that currently this is not possible.  The code for handling the inclusion/exclusion is relatively old, and very convoluted!  I definitely plan to clean this up, and perhaps I will alter the handling of conflicting include/exclude options.

Yeah I actually did try doing 'exclude_files=True' at first, before looking over the docs again. I think your suggestion for using the wording 'excluded_files=' instead of 'exclude_file=' is probably a good idea. Its a small change, but the meaning is much more clear.


VMware Tools 64bit with Shared Folder support

This PR adds the vmhgfs kernel module and mount.vmhgfs support for shared folders.

I can't test this yet, as neither Docker machine, nor boot2docker-cli seem to support vmware workstation (I'm a windows+linux person mostly)
but merging from trust :)


D435i can not connect

Required Info

Camera Model
D435i

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
Win10

Platform
PC

SDK Version
2.50.0

Issue Description
My camera can be detected correctly by pc, like what's shown below,btw i'm usint usb 3.0.

but when i use realsense viewer, it shows me some error and doesn't show any image, please help me with this, thanks!

the complete content of error is: sensor.cpp:572 - acquire_power failed: MFCreateDeviceSource(_device_attrs, &_source) returned: HResult 0x80070003: "system could not find the specified path"

Hi @Lincolise  Please check in your Windows privacy settings that permission for the camera hardware to be accessed and permission for applications to access the camera are both set to On.  You can do so using the instructions at https://github.com/IntelRealSense/librealsense/issues/3381#issuecomment-503424789

Hi @Lincolise Please check in your Windows privacy settings that permission for the camera hardware to be accessed and permission for applications to access the camera are both set to On. You can do so using the instructions at #3381 (comment)

thanks for your fast reply. I've already checked these settings before asking this question, and they are both set to On now. but nothing changes. T T
error said that :"system could not find the specified path", is there any thing i can do around this?

As your Device Manager lists a USB HD webcam, are you able to unplug it to eliminate the possibility that it is causing a conflict?

As your Device Manager lists a USB HD webcam, are you able to unplug it to eliminate the possibility that it is causing a conflict?

I'm using laptop now, this USB HD webcam can't be unplugged.

Another way to check for a conflict with a non-removable camera is to right-click on its Device Manager entry and select Disable device from the menu.  You can easily re-enable it by right-clicking and selecting Enable device.

Another way to check for a conflict with a non-removable camera is to right-click on its Device Manager entry and select Disable device from the menu. You can easily re-enable it by right-clicking and selecting Enable device.

Thanks for your advice, but it shows the same error again.

If you have installed the full RealSense SDK usin the autpmated installer file on the SDK Releases page, could you check please whether the camera works with the rs-capture example program using the instructions at https://github.com/IntelRealSense/librealsense/issues/8024#issuecomment-747630656 please?

If you have installed the full RealSense SDK using the automated installer file on the SDK Releases page, could you check please whether the camera works with the rs-capture example program using the instructions at #8024 (comment) please?

i tried to open it, but it turned white and soon closed.

This suggests to me that the camera is not being detected by rs-capture either, as this white screen will appear if the camera is not plugged in.
Next, please run the text-only program rs-hello-realsense, which displays a textual read-out of the depth measurement.  This will determine whether the problem is related to graphics or whether the camera is not being detected at all.

it shows nothing.

If you launch the RealSense Viewer without the camera plugged in and then insert the camera, does it ever appear if you insert and unplug it multiple times (waiting a couple of seconds after removal before inserting it again).
Instead of a quick insertion, you may find that it has a greater chance of being detected if you just insert the tip of the connector into the edge of the port and then push it the rest of the way in instead of performing a single pauseless insertion motion.
Do you have another USB port on your computer that you can try the camera in if you have not done so already?

I've tried these methods, but also failed.
Then I used my friend's pc, it worked perfectly..I guess the problem is from my computer.
This problem made me depressed for a long time, thanks for all the patient answer and help of you!
Hope you and your team gets better!

You are very welcome, @Lincolise - it's excellent to hear that you made progress in finding the cause of your problem!

You are very welcome, @Lincolise - it's excellent to hear that you made progress in finding the cause of your problem!

It seems like my usb interface cann't afford enough power to the camera?
because my raspberrypi has the same error.
So I want to know what voltage does d435i need?

I would recommend budgeting 2 watts (W) for each camera.  A mains electricity powered USB 3 hub can supply around 12 W to be distributed to all the devices attached to it.

I would recommend budgeting 2 watts (W) for each camera. A mains electricity powered USB 3 hub can supply around 12 W to be distributed to all the devices attached to it.

Thanks for answering!

Hi @Lincolise  Do you require further assistance with this case, please?  Thanks!

Hi @Lincolise Do you require further assistance with this case, please? Thanks!

Yes I do.  I'm trying to port my project to raspberry PI these days, but my raspberry pi 4b can't detected the camera. What can I do to find the problem?

Is your Pi using Raspbian or Ubuntu as its OS, please?  And which version of Raspbian or Ununtu is it using (for example, Raspbian Buster / Bullseye or Ubuntu 18.04 / 20.04).

Hi @Lincolise  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


Rename the get_sample_plan in tests/mocked_plans/utils.py

This was suggested in the original #334  introducing the mocked-plans in comment. I think it's a good first issue.

I think this one has been fix on #391


Infinite loading dolby vision/dolby atmos mp4 when resuming content and language shows "null" to the right between parenthesis

Resume triggers infinite loading screen for mp4 content with dolby vision and dolby atmos, hdr10 content resumes correctly.
Language shows to the right "null" between parenthesis.
Cruella1.mp4.txt

What device are you using? I downloaded what I believe is the same file (only withoutm Spanish subtitle) but I'm unable to see the picture, probably because of related ExoPlayer issue: #132 Other than that, it seems to work fine. (However I will still check some other thing later)

What device are you using? I downloaded what I believe is the same file (only withoutm Spanish subtitle) but I'm unable to see the picture, probably because of related ExoPlayer issue: #132 Other than that, it seems to work fine. (However I will still check some other thing later)

Because there is a single-layer DV in 5 profiles, such files can be played by Shield, Zidoo and Dune.

At me on this film Atmos audio track stutters and defines it as AC3 stereo. Plex plays well and identifies the audio track.

At me on this film Atmos audio track stutters and defines it as AC3 stereo.

Seems like this is how ExoPlayer identifies the audio track Format(3, null, null, audio/ac3, null, -1, en, [-1, -1, -1.0], [2, 48000]) - 2 channel AC3.

What device are you using? I downloaded what I believe is the same file (only withoutm Spanish subtitle) but I'm unable to see the picture, probably because of related ExoPlayer issue: #132 Other than that, it seems to work fine. (However I will still check some other thing later)

The device I'm using is PUS7304 Philips TV, i put the spanish subtitles myself with GPAC MP4Box, and it shows stereo for me too, but the atmos logo triggers on the TV.

The subtitle format recognition was fixed, but the sound is recognized as stereo (but triggers atmos logo and sound works correct) and the few content I tried with this problem can't resume, I have to rewind to be able to watch the movie again (infinite loading screen), maybe the problem is the movie file itself?

I tried on windows 10 "movies & tv" app and It says 2 channel too, I suppose It's the file's fault, I'm closing this, thanks.


Add e2e CI execution

Description
This PR aims to add very basic CI functionality for e2e tests with creating a kind cluster and running the tests on that. The kind cluster creation is in a separate composite action to make sure it can be used elsewhere and parameters can be set.
An example run can be seen here: https://github.com/banzaicloud/koperator/actions/runs/5592373354/jobs/10224749825
Type of Change

[x] Other (CI, e2e testing)

Checklist

[x] I have read the contributing guidelines
[x] I have verified this change is not present in other open pull requests
[x] All code style checks pass
[x] New code contribution is covered by automated tests
[x] All new and existing tests pass

Same here - not a GHA expert.
I found that the logs that we have in the "run tests" step are not quite readable, I am wondering if there is a way to only show the detailed logs on failures (for debugging purposes), and only show the high level steps if the tests don't break: e.g.:
  > Enter [It] Acquiring K8s config and context @ 07/19/23 11:27:57.652
  < Exit [It] Acquiring K8s config and context @ 07/19/23 11:27:57.655 (4ms)
  > Enter [It] Installing cert-manager Helm chart @ 07/19/23 11:27:57.657
  < Exit [It] Installing cert-manager Helm chart @ 07/19/23 11:28:21.935 (24.278s)
  > Enter [It] Installing zookeeper-operator Helm chart @ 07/19/23 11:28:21.936
  < Exit [It] Installing zookeeper-operator Helm chart @ 07/19/23 11:29:05.016 (43.08s)
  > Enter [It] Installing prometheus-operator Helm chart @ 07/19/23 11:29:05.016
  < Exit [It] Installing prometheus-operator Helm chart @ 07/19/23 11:29:36.455 (31.439s)
  > Enter [It] Installing Koperator Helm chart @ 07/19/23 11:29:36.455
...

I believe having so many logs in stdout would slow down the tests execution quite a bit, and in fact, GHA can't show the full logs since it is too much:
This step has been truncated due to its large size. Download the full logs from the  menu once the workflow run has completed.

I believe this is exactly the same log we get when running from the terminal, so to show less we'd have to change the logging of the tests themselves? However I'll look into this a bit later on if we can somehow make the logs shorter specifically in the CI, like with a regex or something?

so to show less we'd have to change the logging of the tests themselves

Yea I think we can remove these two lines: https://github.com/banzaicloud/koperator/blob/master/Makefile#L107-L108.

Do you think these two lines are strictly needed, @pregnor? Asking since you are the author of the make command so there might be something that I don't see for

I think most of the log messages are helm installation related.
We should investigate what should we remove first if we want shortening the log

I think most of the log messages are helm installation related. We should investigate what should we remove first if we want shortening the log

Looked into it a bit and it seems to me that show-node-events or trace isn't really a culprit here. A reference to what show-node-events does: https://github.com/onsi/ginkgo/blob/a0d57ac22cad3d0678054d5f16ad86261e1f21f7/types/config.go#L331 (Trace is on the previous parameter in the same line, so I won't put another link here.)
So I'm thinking maybe removing the verbose option might be the solution if we want shorter logs? On failures we're gonna have a trace anyway and if everything is fine we might not need all the logs we can get.

Yeah in general we need to resolve 2 things.
Logs too long and being truncated (we need a less verbose mode for passing, only be verbose on error).
The line formatting needs to be updated, the prefix is too long.
Tickets pending.

so to show less we'd have to change the logging of the tests themselves

Yea I think we can remove these two lines: https://github.com/banzaicloud/koperator/blob/master/Makefile#L107-L108.

Do you think these two lines are strictly needed, @pregnor? Asking since you are the author of the make command so there might be something that I don't see

Sorry I haven't addressed this.
I would be fine, they were included on Márton's request and I rather wanted to fail in this direction than the other one.


Consider dropping support in favour of other work

There is a perfectly good CSV library available which is far better maintained than this one. Consider dropping support for this.
If I do drop support then this doesn't need to be published to NuGet and the repo may be archived.

Decided, I won't be supporting this anymore.


codeowners: add @jaellio as an approver

Description:
I am nominating @jaellio to be an approver
for the osm repo as they have demonstrated
a good understanding of various areas of the
project while having contributed to core areas
such as observability, logging, tests, docs,
and releases.
Maintainers, if you agree with this nomination,
leave a "+1" comment and approve the PR.

Affected area:

Functional Area

Other
[X]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? no

Did you notify the maintainers and provide attribution?

Is this a breaking change? no

+1

I agree to all requirements and responsibilities of being a maintainer.

+1


Complement Calculator

Enter calculator name -
Complement Calculator
Describe calculator functionality -
The Complement Calculator takes a number and the base in which the number is written, and then finds the nth complement of the number as per the input.
Under which category you wish to place it -

[ ] Computer Science
[x] Mathematics
[ ] Physics
[ ] Chemistry
[ ] Biology
[ ] Art
[ ] Finance
[x] Scientific
[ ] Health
[ ] Sports
[x] Let project owner decide
[ ] Suggest a new category - (Answer here)

@Vedansh-Keshari, I would like to work on this. Kindly assign this to me

@Vedansh-Keshari I want to work on this issue, please assign this to me

Hey @its-kumar-yash,
Assigned.
You may contribute your code under the folder path -
calc_for_everything\calculators\src\computer_science\complementCalc
Issue completion deadline - 22nd Oct 8:00:00 am IST
NOTE - In case the issue completion deadline is not met, the issue will be assigned to a new participant


pypi: allow source wheels as resources

[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

This changes the PyPI resource resolution strategy, to allow source wheels as a fallback when an sdist isn't present. No other kinds of wheels are allowed, per policy around resources being source resources.
(NB: A user could always stuff a binary into a source wheel, but they could do this with an sdist anyways.)
Confirmed that this works locally with brew update-python-resources.
CC @alex for vis

FWIW, I haven't heard the term "source wheel" before. Is that a standard one in packaging-verse? The term I'm used to is "universal wheel".

FWIW, I haven't heard the term "source wheel" before. Is that a standard one in packaging-verse? The term I'm used to is "universal wheel".

I got that from somewhere I thought, but maybe I made it up. I can tweak the language to "universal wheel."


command=err_cannotsendtochan, rawCommand=404

I was succesfully able to connect to a freenode server. When I try to send a chat from slack though I get:
Received error event from IRC prefix=asimov.freenode.net, server=asimov.freenode.net, command=err_cannotsendtochan, rawCommand=404, commandType=error, args=[getdevs, #csharp, Cannot send to channel]
How does one connect to a freenode chat server and have the ability to send and recieve messages?

Do you have #csharp in your channel mapping? Else the bot won't join the channel.
I.e., something like:
"channelMapping": {
  "#slackChannel": "#csharp"
}

Also, does #csharp have +m enabled? If so the bot needs to be voiced to be able to talk.

Yeah I am using the above mapping. In fact it seems to add the user to the IRC chat room just doesn't allow me to type anything and what others type doesn't come back across the wire to my slack channel. Everytime I type something I get the above error.
{     "nickname": "getdevs",     "server": "chat.freenode.net",     "token": "HIDDEN",     "autoSendCommands": [       ["PRIVMSG", "NickServ", "IDENTIFY getdevs password"],       ["MODE", "getdevs", "+x"],       ["AUTH", "getdevs", "password"]     ],     "channelMapping": {       "#csharp": "#csharp"      }
The above has all the passwords and tokens hidden of course, but I have played around with the autoSendCommands. I feel like I am missing a command or not using one of them correctly.
It is only for freenode that is problematic. I was able to connect esper quite fine and it worked successfully there. But the channel I am needing as you can see above is #csharp which resides in freenode.

Maybe because the channel name is ##csharp with two squares? The joining probably works since it gets redirected, but it'll still try to send messages to #csharp and not ##csharp, which is the actual channel name.

That was exactly it. Using ##csharp did the trick thanks.

No problem, feel free to ask if more problems show up :)


Improve accuracy of the Bft block timer

The block timer can sometimes trigger as early and in some local tests triggered too early. It might be possible to improve the accuracy of the timer.
Impact of the block timer being triggered too early is that blocks can be created with an invalid block header timestamp leading to the header validation rule to fail and Ibft or Qbft to go to new round.

Tested on Ubuntu Linux LTS 20.04.3 with Besu 20.10.1 and 21.7.4 and was unable to get an "Invalid block header: timestamp" warning due to timestamp being incorrect. This was with validators running locally with a block period of 5s. The maximum variation I got from the expected block timer value was 66ms which is under the 500ms that would be needed to create an issue.
This was occurring in old versions of Besu due to how we were calculating the new header timestamp. In recent versions of IBFT2 and QBFT we str rounding when converting the block period to closest millisecond https://github.com/hyperledger/besu/blob/main/consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManager.java#L115. Small variations of under 500ms from the scheduled block period no longer impact the block header timestamp.
There is no simple for improving the block period timing in Java. There are some workarounds https://gist.github.com/bric3/314c3d01a80e5e3c158965dcd459a8a5 but these would required occupying a thread for each timer.
Unless we are getting an  "Invalid block header: timestamp" warning and I wasn't able to locally then I don't think we should be making changes to the BFT timer code.


[CodeQuality] Allow dynamic bool on AssertEqualsToSameRector

Fixes https://github.com/rectorphp/rector/issues/8945

Fixed 🎉 /cc @staabm

All checks have passed 🎉 @TomasVotruba I am merging it ;)

Thanks 🙏


Add simple React app that uses multiple components

This is a simple React website that cycles through images related to the film Alien (1979).
It is intended to be a working example that's easy to follow despite using multiple components and various lifecycle methods. Should be useful; and possibly be a foundation for many possibilities.
Also, this webpage keeps track of number of times rendered.

Great Job @teslatickles

Keep Contributing.

Thank you, @ShravanMeena


Convert Docs for the Spock Testframework

Convert inline example code to use codeinclude macro for the Spock Testframework documentation.
See #1158 for more details.

Difference in the docs, left (old) contains the inline code, right (new) was generated from the unit tests.

Oh this is great, thanks!


dont work with VSC 1.13.0

I just updated version 1.13.0 and it has stopped working. I reinstalled the extension and it does not work either

Thanks for reporting, it seems to work with light theme but not dark, I will update shortly

I have opened https://github.com/Microsoft/vscode/issues/28377, if I do not see a response I will change the dark themes to use background instead of border, but I really like the border and would like to keep it.  It is difficult to get a good color set for background highlights with dark themes.

Looks like VS Code devs said that the workaround is to always set border-color. Would that solve this issue? I love this plugin and would love to have the full functionality back! Thanks for creating and maintaining it!

They made the patch, looks like they were talking about internal "workaround" but not sure that is the correct word, it should be out in the next vscode release early July

API is fixed in latest vscode release.


Failed to clean stale beacon headers     err="filled header below beacon header tail: 45987 < 67388"

Describe the bug
Failed to clean stale beacon headers.
I don't think there is a solution at the moment other than having to rebuild the docker
Steps to reproduce

If node isnt sync and stopped node ( i have editeded .env too),
run node
you may have this error:
Beacon backfilling failed                err="syncing canceled (requested)"
ERROR Failed to clean stale beacon headers     err="filled header below beacon header tail: 45987 < 67392"

Spam policy

[X] I verify that this issue is NOT SPAM and understand SPAM issues will be closed and reported to GitHub, resulting in ACCOUNT TERMINATION.

Same with this issue.


Synthesis failed for python-recommendations-ai

Hello! Autosynth couldn't regenerate python-recommendations-ai. :broken_heart:
Here's the output from running synth.py:
2020-05-13 05:35:29,961 autosynth [INFO] > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/python-recommendations-ai
2020-05-13 05:35:30,422 autosynth [DEBUG] > Running: {' '.join(command)}
2020-05-13 05:35:30,426 autosynth [DEBUG] > Running: {' '.join(command)}
2020-05-13 05:35:30,430 autosynth [DEBUG] > Running: {' '.join(command)}
2020-05-13 05:35:30,433 autosynth [DEBUG] > Running: {' '.join(command)}
2020-05-13 05:35:30,436 autosynth [DEBUG] > Running: {' '.join(command)}
2020-05-13 05:35:30,440 autosynth [DEBUG] > Running: {' '.join(command)}
Switched to branch 'autosynth'
2020-05-13 05:35:30,641 autosynth [INFO] > Running synthtool
2020-05-13 05:35:30,642 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-05-13 05:35:30,644 autosynth [DEBUG] > Running: {' '.join(command)}
2020-05-13 05:35:30,848 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/python-recommendations-ai/synth.py.
On branch autosynth
nothing to commit, working tree clean
2020-05-13 05:35:30,988 synthtool [DEBUG] > Ensuring dependencies.
2020-05-13 05:35:31,322 synthtool [DEBUG] > Cloning googleapis.
2020-05-13 05:35:31,707 synthtool [DEBUG] > Pulling Docker image: gapic-generator-python:latest
latest: Pulling from gapic-images/gapic-generator-python
Digest: sha256:d6ffebf42526fb602bf6e111ec3831a871e451db0b67a5158ee797f4d0a2dfd9
Status: Image is up to date for gcr.io/gapic-images/gapic-generator-python:latest
2020-05-13 05:35:32,615 synthtool [DEBUG] > Generating code for: google/cloud/recommendationengine/v1beta1.
2020-05-13 05:35:33,446 synthtool [ERROR] > Failed executing docker run --mount type=bind,source=/home/kbuilder/.cache/synthtool/googleapis/google/cloud/recommendationengine/v1beta1/,destination=/in/google/cloud/recommendationengine/v1beta1/,readonly --mount type=bind,source=/tmpfs/tmp/tmp77wrv2l8/,destination=/out/ --rm --user 1000 gcr.io/gapic-images/gapic-generator-python:latest:

google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto:23:8: Option "(google.api.resource_definition)" unknown.
google/cloud/recommendationengine/v1beta1/import.proto: Import "google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto" was not found or had errors.
google/cloud/recommendationengine/v1beta1/user_event_service.proto: Import "google/cloud/recommendationengine/v1beta1/import.proto" was not found or had errors.
google/cloud/recommendationengine/v1beta1/user_event_service.proto:97:24: "ImportUserEventsRequest" is not defined.
google/cloud/recommendationengine/v1beta1/user_event_service.proto: warning: Import google/type/date.proto but not used.

2020-05-13 05:35:33,446 synthtool [DEBUG] > Wrote metadata to synth.metadata.
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/python-recommendations-ai/synth.py", line 29, in <module>
    "recommendationengine", "v1beta1"
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 54, in py_library
    return self._generate_code(service, version, "python", **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 186, in _generate_code
    shell.run(docker_run_args)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['docker', 'run', '--mount', 'type=bind,source=/home/kbuilder/.cache/synthtool/googleapis/google/cloud/recommendationengine/v1beta1/,destination=/in/google/cloud/recommendationengine/v1beta1/,readonly', '--mount', 'type=bind,source=/tmpfs/tmp/tmp77wrv2l8/,destination=/out/', '--rm', '--user', '1000', 'gcr.io/gapic-images/gapic-generator-python:latest']' returned non-zero exit status 1.
2020-05-13 05:35:33,485 autosynth [ERROR] > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 600, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 472, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 550, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 119, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


Protected Branches - Design

Design suggestions for #2181

@arielshaqed, I understand the desire to create less places where configuration is done. I also completely see the elegance of using an existing solution like Hooks.
However, my concern is that it will be harder for users to grasp and understand. I tried to sum it up to a short paragraph in the doc -  please let me know if I got the gist of it.

I believe that staging must be blocked, otherwise the branch isn't really protected. If we choose to block staging on protected branches using hooks might complicate things more than making them simple.


Write the library in TypeScript?

I am looking for a WebSockets library written in TypeScript
https://www.quora.com/unanswered/Is-there-a-Websocket-library-for-Node-js-written-in-TypeScript
it looks like @types/ws exists, but since it's packaged separately, often the types become out-of-sync.

ws is a different WebSocket library, so unrelated to this project.
If you want to provide TypeScript definitions for this project, don't hesitase to send a PR. Asking for others to do it is not the way to go.

There are TypeScript definitions already in @types/websocket, but having them in this repo would be better obviously

Just write the lib in TS, I swear you can do it in 2 hours, and the benefit would be for the lifetime of the library

Honestly, it is not possible to write such library in TypeScript or any other language in 2 hours. And rewrite would take much longer too.
But I would definitely be in favor of TypeScript implementation, it is so much easier to maintain and work with. But that is up to maintainers to decide.

Just write the lib in TS, I swear you can do it in 2 hours, and the benefit would be for the lifetime of the library

Do it yourself then.

Well I looked at the codebase, I was confusing this one with another, it would take more than 2 hours :) Maybe 2 days.


which reed sensor did you use exactly?  Mine worked for 2 days and then it stopped working.  It works when dismantled.

I would check other connections maybe? I used a NO sensor

Do you have a recommendation for a specific reed sensor?  I'm trying to use this one and it's constantly flipping between on and off when the pump is engaged.

try this one: https://www.aliexpress.us/item/1005001309886250.html?spm=a2g0o.productlist.main.33.27c3UxnFUxnFdg&algo_pvid=bb608b83-8572-44f9-8e17-41c1e6b308c3&algo_exp_id=bb608b83-8572-44f9-8e17-41c1e6b308c3-16&pdp_npi=4%40dis!RON!28.44!2.35!!!5.94!!%402103241d16987791870044000ef46f!12000015653858083!sea!RO!0!AB&curPageLogUid=1fRvQ4smqTjA

Ordered, thanks for the recommendation

Hi just wanted to update on this for anyone else who is having this issue.  The new reed sensor had the same problem however, I found a way to fix it.  I am adapting this script into ESPHome and I fixed the problem by adding a 1 second delay to turning the bool associated to the reed sensor off.  You can find details here.  thanks for your prompt response @alexrus and for putting this repo together, it was extremely helpful.


🔄 synced file(s) with worgarside/github-config-files

synced local file(s) with worgarside/github-config-files.

This PR was created automatically by the repo-file-sync-action workflow run #6139032851

This PR is empty, closing it. :no_good:


removed dead link

Notice also the repo Description has a dead link. (doodledoodle.io)

Thanks :)


Case fail _test_ops.py::TestCommonXPU::test_dtypes_nn_functional_linear_xpu

🐛 Describe the bug
A case fail due to oneDNN matmul implementation,

Skip the case temporarily.
Versions
Latest pytorch.

test_dtypes_nn_functional_multi_head_attention_forward_xpu
test_dtypes_nn_functional_linear_xpu

https://github.com/intel/torch-xpu-ops/issues/128

On Windows we can also observe fatal issue.


No API available to specify embedded key

It doesn't appear to be possible to customize the JSON key for an embedded, sideloaded hasMany relationship.
Eg:
// serializers/user.js
export default RestSerializer.extend({
  embed: true,
  include: ['userPermissions']
});

The embedded json key userPermissions has no hook available to customize the payload to something like user_permissions.
I believe this line is the line responsible for setting the initial return value of the key:
https://github.com/samselikoff/ember-cli-mirage/blob/master/addon/serializer.js#L357

Also related, the serialize method does not give you a chance to customize.

Found a semi-ok workaround for the time being.  Not ideal, but it'll get the job done...
// config.js

this.get('/session', (schema) => {
  // Just using the first user as our session response
  let user = schema.user.first();
  // Do other stuff to get response ready
  let json = this.serializerOrRegistry.serialize(user);
  json = moveKey(json['user'], 'sectionPermissions', 'section_permissions');
  return json;
});

You can also do this in the serializer itself by calling super and doing the work there. That way, this code would run whenever a user is getting serialized, regardless of the endpoint.
serialize(object, request) {
  // This is how to call super, as Mirage borrows [Backbone's implementation of extend](http://backbonejs.org/#Model-extend)
  let json = Serializer.prototype.serialize.apply(this, arguments);

  let json = this.serializerOrRegistry.serialize(user);
  json['user'] = moveKey(json['user'], 'sectionPermissions', 'section_permissions');
  return json;
}

We just added an api for this.serialize within route handlers, which will soon be the official public way to accomplish this.serializerOrRegistry.serialize(...).

@samselikoff yeah, that's what I thought, but for some reason, i get the JSON object without the embedded data at that point in the callback lifecycle.

Closing due to inactivity


How could I create image with a standard pool replacement?

Currently it seems that there's no way to create a resource with a memory pool other than the device's standard pool

related： #14

Any updates or ideas? @tomaka

The methods to do that are missing, but I marked this issue as easy because all the necessary parts are always there.

The memory allocation has been completely overhauled in 0.32, and this should now be possible.


Message #waitForExit doesn’t always return when the process has terminated

We’re having a problem on our Jenkins server: test runs often hang. It seems to be related to OSSubprocess. I tried to capture it in a small example:
https://github.com/Rinzwind/OSSubprocessTest
The example:

Sets up a Seaside request handler at ‘/test’ (see: TestRequestHandler>>#handleFiltered:)
Patches OSSVMProcess to log sends of #checkFinishedChildren (see: BaselineOfTest>>#postLoad)
Runs a test that uses ‘curl’ to request ‘/test’, repeated 10000 times while another ‘bash’ process executes ‘ps’ every 5 seconds (see: TestTestCase>>#test)

Below is a sample from the output we get on our Jenkins server. It shows that the test hangs:

The line Did #run (m: 2542, pid: 6480) shows that a ‘curl’ process was spawned with PID 6480
The lines    6480 Z    00:00:00  \_ curl <defunct> from the ‘ps’ command show that that process has terminated but that its status has not been consumed yet (it’s a zombie process)
There is no corresponding line Did #waitForExit (m: 2542) showing a return from #waitForExit
The only remaining output is from the ‘ps’ command

Note there’s also no more line Will #checkFinishedChildren after the last Did #run. As far as I understand, the child watcher in OSSVMProcess should be sending #checkFinishedChildren at least once a second:
https://github.com/pharo-contributions/OSSubprocess/blob/67ded100f5e1fc0ca56434f857c9388b4c94457d/repository/OSSubprocess/OSSVMProcess.class.st#L234-L244
So far I’ve only been able to reproduce this on our Jenkins server though, making it a little hard to debug.
Sample output:
[…]
+ /home/packer/smalltalkCI-master/bin/smalltalkci --smalltalk Pharo64-9.0 .smalltalk.ston
[…]
Downloading the latest 90 Image:
    http://files.pharo.org/get-files/90/pharoImage-x86_64.zip
[…]
Downloading the latest pharoVM:
	http://files.pharo.org/get-files/90/pharo-vm-Linux-x86_64-stable.zip
[…]
Build information: Pharo-9.0.0+build.1575.sha.9bb5f998e8a6d016ec7abde3ed09c4a60c0b4551 (64 Bit)
[…]
Running suite "Pharo64-9.0" with 1 tests.
[…]
Did #run (m: 2541, pid: 6478)
HTTP/1.1 200 OK
Content-Length: 5
Content-Type: text/plain
Server: Zinc HTTP Components 1.0 (Pharo/9.0)
Date: Wed, 03 Aug 2022 19:16:13 GMT

Test
Will #checkFinishedChildren
Did #checkFinishedChildren
Did #waitForExit (m: 2541)
Did #run (m: 2542, pid: 6480)
HTTP/1.1 200 OK
Content-Length: 5
Content-Type: text/plain
Server: Zinc HTTP Components 1.0 (Pharo/9.0)
Date: Wed, 03 Aug 2022 19:16:13 GMT

Test
Did sleep (n: 26)
    PID STAT     TIME COMMAND
   1230 Sl   00:00:10 pharo
   1245 S    00:00:00  \_ bash
   6480 Z    00:00:00  \_ curl <defunct>
Did sleep (n: 27)
    PID STAT     TIME COMMAND
   1230 Sl   00:00:10 pharo
   1245 S    00:00:00  \_ bash
   6480 Z    00:00:00  \_ curl <defunct>
[…]

Here’s sample output from a run using Pharo 11 in which the problem also occurred: the ‘curl’ process with PID 13026 has terminated, but the output is not showing a corresponding Did #waitForExit (m: 5718).
[…]
+ /home/packer/smalltalkCI-master/bin/smalltalkci --smalltalk Pharo64-11 .smalltalk.ston
[…]
Downloading the latest 110 Image:
    http://files.pharo.org/get-files/110/pharoImage-x86_64.zip
[…]
Downloading the latest pharoVM:
	http://files.pharo.org/get-files/110/pharo-vm-Linux-x86_64-stable.zip
[…]
Build information: Pharo-11.0.0+build.142.sha.78baf8659decaa50e73226a5eddcd410cebfa4f7 (64 Bit)
[…]
Running suite "Pharo64-11" with 1 tests.
[…]
Did #run (m: 5717, pid: 13024)
HTTP/1.1 200 OK
Server: Zinc HTTP Components 1.0 (Pharo/11.0)
Date: Wed, 03 Aug 2022 22:35:33 GMT
Content-Type: text/plain
Content-Length: 5

Test
Will #checkFinishedChildren
Did #checkFinishedChildren
Did #waitForExit (m: 5717)
Did #run (m: 5718, pid: 13026)
HTTP/1.1 200 OK
Server: Zinc HTTP Components 1.0 (Pharo/11.0)
Date: Wed, 03 Aug 2022 22:35:33 GMT
Content-Type: text/plain
Content-Length: 5

Test
Did sleep (n: 56)
    PID STAT     TIME COMMAND
   1221 Sl   00:00:20 pharo
   1236 S    00:00:00  \_ bash
  13026 Z    00:00:00  \_ curl <defunct>
Did sleep (n: 57)
    PID STAT     TIME COMMAND
   1221 Sl   00:00:20 pharo
   1236 S    00:00:00  \_ bash
  13026 Z    00:00:00  \_ curl <defunct>
[…]

After adding this to also log the sends of #waitTimeoutMSecs: in OSSVMProcess>>#initializeChildWatcher:
OSSVMProcess compile: ((OSSVMProcess sourceCodeAt: #initializeChildWatcher)
	copyReplaceAll: 'self sigChldSemaphore waitTimeoutMSecs: 1000.'
	with: '
		Stdio stdout nextPutAll: ''Will #waitTimeoutMSecs:''; lf; flush.
		self sigChldSemaphore waitTimeoutMSecs: 1000.
		Stdio stdout nextPutAll: ''Did #waitTimeoutMSecs:''; lf; flush.').

We get output on our Jenkins server as shown below. After the last Will #waitTimeoutMSecs: there is no Did #waitTimeoutMSecs:, so it seems there is no return from either the send of #sigChldSemaphore or the send of #waitTimeoutMSecs: to the Semaphore here:
https://github.com/pharo-contributions/OSSubprocess/blob/67ded100f5e1fc0ca56434f857c9388b4c94457d/repository/OSSubprocess/OSSVMProcess.class.st#L241
Sample output:
[…]
+ /home/packer/smalltalkCI-master/bin/smalltalkci --smalltalk Pharo64-11 .smalltalk.ston
[…]
Downloading the latest 110 Image:
    http://files.pharo.org/get-files/110/pharoImage-x86_64.zip
[…]
Downloading the latest pharoVM:
	http://files.pharo.org/get-files/110/pharo-vm-Linux-x86_64-stable.zip
[…]
Build information: Pharo-11.0.0+build.145.sha.1fc9017e1fe9a0d3c3b7580e2131ecfd9a27e428 (64 Bit)
[…]
Running suite "Pharo64-11" with 1 tests.
[…]
Did #run (m: 2767, pid: 6945)
HTTP/1.1 200 OK
Server: Zinc HTTP Components 1.0 (Pharo/11.0)
Date: Thu, 11 Aug 2022 13:35:28 GMT
Content-Type: text/plain
Content-Length: 5

Test
Did #waitTimeoutMSecs:
Will #checkFinishedChildren
Did #checkFinishedChildren
Will #waitTimeoutMSecs:
Did #waitForExit (m: 2767)
Did #run (m: 2768, pid: 6947)
Did sleep (n: 27)
HTTP/1.1 200 OK
Server: Zinc HTTP Components 1.0 (Pharo/11.0)
Date: Thu, 11 Aug 2022 13:35:28 GMT
Content-Type: text/plain
Content-Length: 5

Test
    PID STAT     TIME COMMAND
   1218 Sl   00:00:11 pharo
   1233 S    00:00:00  \_ bash
   6947 Z    00:00:00  \_ curl <defunct>
Did sleep (n: 28)
    PID STAT     TIME COMMAND
   1218 Sl   00:00:11 pharo
   1233 S    00:00:00  \_ bash
   6947 Z    00:00:00  \_ curl <defunct>
[…]


Allow repeated config changes from web page

In editor.html I can make one change and save. But next time I try to save, the page says "Config was changed from another place. Refresh the page and make changes again". Refreshing the page does allow me to make changes again, but this is tedious when making lots of trial-and-error updates.
Version: v1.8.5 - 2024-01-01 (linux arm64)
Browser: Firefox, Chromium

So you need to figure out from where the config changes while you have a web page open


Selecting data from anonymous dictionary

I have an anonymous dictionary that looks like this:
{
        "fe-0/0/0": {
            "description": "Standard User Access",
            "is_enabled": true,
            "is_up": true,
            "last_flapped": 2257531.0,
            "mac_address": "40:A6:77:2B:FC:00",
            "speed": 100
        },
        "fe-0/0/1": {
            "description": "Standard User Access",
            "is_enabled": false,
            "is_up": true,
            "last_flapped": 428719.0,
            "mac_address": "40:A6:77:2B:FC:01",
            "speed": 100
        }
}

I've tried a number of combinations to select only the sub-dictionaries that have "is_enabled==true" but with no luck. I actually don't even need the high-level key name, the content of the dictionary would be sufficient.

This pattern works:
values(@)[?is_enabled]


:seedling: Add release github workflow

Now that the release workflow is working for IPAM, we could add it to CAPM3.

We were supposed to add it after 1.9 so we can iron out all the issues to avoid fixing multiple repos. I don't think we have a single clean run in IPAM yet, nor have done patch releases with it etc.
/hold

We were supposed to add it after 1.9 so we can iron out all the issues to avoid fixing multiple repos. I don't think we have a single clean run in IPAM yet, nor have done patch releases with it etc.
We also agreed to make reusable workflow in project-infra before taking it in other repos. /hold

My intention is to have this in if we have IPAM release working. In case it doesn't work out, we should fix this PR and then test it out. IMO without taking this into use in other repos, it will take a long time to have a fully working solution.
The current setup in IPAM only fails in the build image step, which can be relatively easy to patch.

The current setup in IPAM only fails in the build image step, which can be relatively easy to patch.

Can we then patch it right now? We'll have IPAM 1.9.1 tomorrow (after CAPI 1.9.1 bump and k8s 1.32.0 bump), so thats opportunity to fix both image build and test patch release.  If those pass, then we can either generalize the workflow and then it in CAPM3 and BMO as well. If it still doesn't work, I don't want to merge broken automation and then fix it three times in different repos many times.


fix(@angular/cli): Fixed e2e task to respect --publicHost setting as baseUrl for protractor

#6173 added two new settings to the serve task. The --publicHost setting is not respected as baseUrl
for protractor in the e2e-task.
With this fix, if --publicHost is set, it will be used as baseUrl for protrator.
Not sure why 1.1.0-beta.1 is not yet on master, but this fix would be for that revision (https://github.com/angular/angular-cli/tree/v1.1.0-beta.1)

I signed it!

@ReToCode Please rebase it against master not 1.1.0-beta

Done.

Updated to the latest version of master. Hopefully this triggers the builds again.

@sumitarora The builds seem to fail because of something unrelated to the code? Is this a known problem?
fatal: unable to access 'https://github.com/angular/angular-cli.git/': Unknown SSL protocol error in connection to github.com:443

@filipesilva Question for https://github.com/angular/angular-cli/pull/4744. What is the idea behind the apiUrl as public-host in the live-reload test? My understanding is, that the public-host is set for the serve task to enable external clients to open the webpage. In our case

Jenkins runs the webpack dev server (host=<IP_ADDRESS> --port=portA --public-host=http://<IP_ADDRESS>:portA). So it opens on it's public ip <IP_ADDRESS>:portA

Selenium Grid is triggered to browse to <IP_ADDRESS>:portA (so we need this to be the baseUrl for protractor). This is what my change is does.

The test used to tell webpack where to reach the api, but the public-host should be the url for the browser-client, not webpack. Right, or do I miss something?

@ReToCode the live-reload test in #4744 doesn't particularly care about the public-host usage, it was created and made to test a scenario prior to the current consolidated flag.
Before, it only really set the live-reload client for webpack, whereas now it sets both the live reload client and an accepted host for webpack. So that test only tries to ascertain if that option actually works by calling the live reload client and the api in a couple of different ways.

Ok. So with this change, it's no longer possible to test it this way. For now I just removed the test. Any idea to test this another way without adding a new flag for the live-reload-url?

Hm, I need to investigate this further but as a rule of thumb if you have to remove a test, you're breaking existing functionality. And that generally means the change cannot go in 1.x because it's a breaking change.

I think what's happening is:

with your changes, --public-host is used instead of --host for protractor
--public-host includes port
the only thing being served on --public-host is that mock api
app isn't served and the e2e fails

So what you're missing is to:

use a proxy config (see proxy.ts test) to redirect /sockjs-node/info + /live-reload-count requests to the mock api
actually serve the app on --public-host (see the public-host.ts test to see how this can be done)

Good idea. I'll try it this way one. Thanks.

@filipesilva I tried what we discussed above. Seems like webpack does not like to proxy it's own routes. I was not able to proxy /sockjs/node. I changed the test to use the mechanism that is used in the other two cases.
As this calls /live-reload-count 2 times, it is implicitly clear that /sockjs-node/info was used by the webpage itself.
This should still result in the test case you described above

Before, it only really set the live-reload client for webpack, whereas now it sets both the live reload client and an accepted host for webpack. So that test only tries to ascertain if that option actually works by calling the live reload client and the api in a couple of different ways.

BTW, I had to change another thing in serve.ts as well. Currently the public-host parameter is without the protocol (ip:port instead of http://ip:port). Thus the url object is parsed wrong:
const clientUrl = url.parse(serveTaskOptions.publicHost);
But webpack-dev-servers 'public' property does not work if you add the protocol to it. I think this is why it was done this way in serve.ts and then use clientUrl.href instead of host/hostname/port.
But this had another issue. Currently if on uses the --public-host parameter (without the protocol), the /sockjs-node/info in the browser will not work. It wants to call http://ip:port/ip:port/sockjs-node/...

@ReToCode I think the test changes you made make sense, so the only thing stopping this PR from going in is the conflict. https://github.com/angular/angular-cli/pull/6367 introduced some logic to allow public-host to allow hostname only, which interfere with your changes.
Thanks a lot for taking this on 👍

@filipesilva Okay I updated the PR & changed the logic in e2e to the same solution as https://github.com/angular/angular-cli/pull/6367. This also fixed most of the things I talked about above.

@ReToCode LGTM, and sorry it took a while to re-review.

Np. Thanks!


Make sure log-size-max is atleast as big as read buffer

We need log-size-max to be bigger than the read buffer in conmon
to accurately truncate it.
Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

Updated

/test all

Tests are good here.

LGTM


Schema for csolution is not up-to-date.

The schema file for csolution.yml does not understand outdir:.  Test-file see #828

https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/tools/projmgr/1.5.0/tools/projmgr/schemas/common.schema.json
"OutputDirectoriesType": {
      "type": "object",
      "properties": {
        "gendir":   { "type": "string" },
        "rtedir":   { "type": "string" },
        "intdir":   { "type": "string" },
        "outdir":   { "type": "string" },
        "cprjdir":  { "type": "string" }
      },

I am not able to reproduce this issue.
Even loading the yml file from the zip file you reference above, does not show any schema errors when loading in VSCode.

you are correct. My mistake.


When the acl.yaml file is modified, does it need to restart the headscale service to take effect?

When the acl.yaml file is modified, does it need to restart the headscale service to take effect?

You can send a SIGHUP to the process to reload it.
Please ask support questions in discord and not in the issue tracker.


fix: enable/fix sentry in all containers

Issue

Link: https://github.com/NebraLtd/hm-diag/issues/139
Summary: add/fix sentry in all containers

How

Enable sentry in config, diag, pktfwd and UPnP and improve setup
Screenshots

References

Ref: https://github.com/NebraLtd/hm-upnp/pull/9
Ref: https://github.com/NebraLtd/hm-diag/pull/276
Ref: https://github.com/NebraLtd/hm-config/pull/163
Ref: https://github.com/NebraLtd/hm-pktfwd/pull/82
Ref: https://github.com/NebraLtd/hm-diag/issues/139
Checklist

[x] Tests added
[x] Cleaned up commit history (rebase!)
[x] Documentation added
[x] Thought about variable and method names

@shawaj Let's wait for the latest GA. Seems to be on Quay for 40 minutes already. Not sure why Mr-Bump hasn't bumped it yet?

@shawaj Let's wait for the latest GA. Seems to be on Quay for 40 minutes already. Not sure why Mr-Bump hasn't bumped it yet?

Good plan. Looks like the last action job on miner was triggered about an hour ago. But also, you can manually trigger the action from the actions tab as well in the miner repo