template/base: delete resources with older timestamps

Description
We are only deleting resources if the gitopsconfig.eunomia.kohls.io/applied
label is a value less than the current running jobs timestamp
rather than deleting resources if the timestamps are not equal.
This combined with aa704eb should greatly the reduce likelihood
of multiple jobs running at the same time from deleting resources
that are still in Git.
There is still a scenario where if JobA starts before JobB and then JobB
applies the resources before JobA, then JobA would see the timestamp as
old and would delete resources.
Fixes #351
Type of change

Bug fix (non-breaking change which fixes an issue)

Checklist

[ ] Unit tests and e2e tests updated
[ ] Documentation updated

I am working on creating a new e2e test that runs two jobs at the same time to confirm resources are not deleted.
I do have one concern with adding it because there is still a race condition that could cause it to fail, however I think it is still a useful test to include to prevent our codebase from regressing.

So, since this is going this far, when applying resources with the timestamp you could complicate this further by checking current timestamp and if it is newer than the currently be applied timestamp, then not apply the resource as something newer and possibly different already has so this should skip it. With that and what you are doing on deletion check I think we may actually prevent collisions even if the jobs run at different speeds. 🤞

Actually there could be a race as each run overlaps the read-compute-update/skip loop which then brings in the need for a semaphore but given no shared state the semaphore would have to be something like an annotation based on a unique value/hash by run... but even so since the read lock then set lock process is itself 2 atomic operations a race still exists

I have created an e2e test for this PR, I believe it is ready for final review.

Did you run the test case without your fix in place and does it catch the problem?

Good call out. I have just ran this test against the code in the master branch and it does catch the problem where multiple jobs at the same result in the deployment being wrongfully deleted.


Adding swagger for Azure ML Commitment Plans

Adding swagger definition for the Azure Machine Learning Commitment Plans ARM resource.

Hi @ericwill-msft, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (ericwill). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@ericwill-msft - The swagger spec is incorrect in myriad ways w.r.t the quality that we would like to have. We have a spec linter that can be downloaded as a vscode extension. Once you open your swagger spec in vscode, the linter should tell you the errors and warnings. You can find out more info about the linter and our linting rules over here.

No modification for Ruby

No modification for Python

No modification for NodeJS


Help wanted: update to MathOptInterface

I tried to install the NEOS package in Julia 1.0.4 (see code and error message below.) but the installation failed.
julia> using Pkg

julia> Pkg.add("NEOS")
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
ERROR: The following package names could not be resolved:
 * NEOS (not found in project, manifest or registry)
Please specify by known `name=uuid`.

NEOS.jl has not been updated to Julia 1.0

Hi Oscar,
Thanks for the information. I hope it will be updated. It is a great idea. Thanks Dirk.

I'm going to leave this open for the next person who comes along looking.
I have no plans to update this in the near term. It would make a good project for someone looking to get into JuMP/Julia development.

This should be pretty achievable now that MathOptInterface has support for various file-formats.
We can start by defining an Optimizer like the following:
struct Optimizer <: MOI.AbstractOptimizer
    model::MOI.Utilities.Model{Float64}
    # ... some other fields for NEOS stuff
end

function MOI.optimize!(model::Optimizer)
    file = MOI.FileFormats.MPS.Model()
    MOI.copy_to(file, model)
    io = IOBuffer()
    write(io, file)
    seekstart(io)
    s_file = read(io, String)
    # send `s_file` to NEOS using current implementation
    return
end


Second abundance recalculation in kevlar filter

Abundances reported by kevlar find may be inflated due to false positives or contamination. First recalculation in kevlar filter eliminates false positives, and is coupled with a contamination screen. This new second pass identifies additional contamination. It can be disabled if desired.
Closes #64.

Codecov Report

Merging #69 into master will increase coverage by 0.07%.
The diff coverage is 91.66%.

@@            Coverage Diff             @@
##           master      #69      +/-   ##
==========================================
+ Coverage   84.57%   84.64%   +0.07%
==========================================
  Files          12       12
  Lines         979      990      +11
  Branches      162      164       +2
==========================================
+ Hits          828      838      +10
  Misses        112      112
- Partials       39       40       +1

Impacted Files
Coverage Δ

kevlar/seqio.py
92.59% <100%> (+0.28%)
:arrow_up:

kevlar/filter.py
69.65% <83.33%> (+0.36%)
:arrow_up:

Continue to review full report at Codecov.

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


Introduce new LogLevel

Split logging into 2 loglevels:

--debug: Detailed debug information from a "developing on the linter" POV
--info: Information from a "using the linter" POV

Default loglevel of the linter is now moved to "NOTSET", elevated the loglevel of the SAM transformation to --info

Alternative approach on https://github.com/aws-cloudformation/cfn-python-lint/pull/899


:bug: Fix tsv loading issue

Changes

With a tsv file containing several spaces within it, the normal string split was throwing errors.
csv dict reader will allow us to load csv file with header names as documented and more robustly read documents.

Is this still actively being worked on or still an issue?


Question: Best way to force reevaluate of ThemeResource binding

As the title says, what is the best way to force a reevaluate of ThemeResource bindings? Switching theme does work however it is not ideal.

What is the scenario you are trying to solve?  Under what conditions would the value you are bound to change that isn't picked up by ThemeResource automatically?

I was adding a ResourceDictionary manually to the Merged dictionaries of a control. However the resources did not get picked up, switching the RequestedTheme results in the resources bein re-evaluated though and the resources from the newly added ResourceDictionary were used.

I don't think we have anything that can instruct a ThemeResource reference to reevaluate... The other option I think would work would be to re-apply the template to the control.

@MikeHillberg maybe you know some magic api?

The only trick I know of is to change the RequestedTheme (and then change it back so no net effect). Since the change is all within one tick it doesn't cause flashing, it just causes the ThemeResource references to get re-evaluated.

See #4443

I assume a feature proposal/request for this would likely not be implemented would it? Could  we create some form of mechanism such that controls know that a dictionary affecting this control has changed? Though this would probably be too expensive on CPU cycles compared to the benefit it would create.

I think it would be reasonable to have some kind of feature to enable this. The current APIs and behavior reflect a lot of concern and hesitancy in the team around perf. {StaticResource} is great for perf because it's load time only. {DynamicResource} in WPF is great for dynamism, but there's working set and code complexity overhead. {ThemeResource} in WinUI wasn't trying to be as dynamic as {DynamicResource}, but then there's this RequestedTheme trick.
{x:Bind} is another way to get dynamism, and can be an alternative depending on the scenario.

How would you/we approach this? Should this automatically work or should we expose a function that would force reevaluating theme resourcebinding for a control and the whole VisualTree contained with it?

It might be as simple as adding a method that does the equivalent of poking the RequestedTheme property. I think ThemeResource is getting a big perf gain over DynamicResource today because the latter needs to re-evaluate everything every time a dependency might need it. But the details are interesting enough that I'd like to see a spec first with more detail, including to revisit the scenarios and make sure we understand them.

Seems reasonable, especially since the performance overhead of that function wouldn't be to high. Would you like me to convert this issue into a more thought out proposal?

I'd like to make this part of a wider-reaching look at Xaml resources and bring some more people in. Multiple people have looked at related areas where we could make improvements (for example the one that asklar linked). For now though I don't think we have the time to focus on it yet.


Implement rest of the clients in python

While implementing clients in python is discussed in https://github.com/PlanSys2/ros2_planning_system/issues/3 it seems only action performers in python is implemented with https://github.com/PlanSys2/ros2_planning_system/pull/263
Is there any plans in developing other clients like DomainExpertClient, ProblemExpertClient and ExecutorClient as well? That would enable developing Client applications in python as outlined in https://plansys2.github.io/_images/plansys2_arch.png
I'm currently getting familiar with the project and would like to give it a try porting the rest of clients if it is a welcome contribution. Any directions I should be aware of? (Similar to guidelines in https://github.com/PlanSys2/ros2_planning_system/issues/3#issuecomment-655304135_)

There are no plans, but it could be a really good contribution :)


[BUG]

Installing odbc 2.4.2 on IBM i

odbc Package Version: 2.4.2
ODBC Driver:
Database Name:
Database Version:
Database OS:
Node.js Version: 12.22.9
Node.js OS:

Bug
On an ibm i server I was running the command 'npm i odbc' and the package was installed with no issue. I then tried to start my server and the application wouldn't work saying it was missing this file node_modules/odbc/lib/bindings/napi-v6/odbc.node. I then reverted to version 2.4.0 and had no issues and that file was included when I installed odbc with npm.
To Reproduce
Steps to reproduce the behavior:

ssh into IBM i server
run 'npm i odbc'
check if odbc.node file was included

Additional context
I followed all the steps on the odbc npm page and ran into this problem right away.

@colinjw1 is this still an issue with 2.4.4? I'm still unclear what was causing the problem, but hopefully it either downloads the prebuilt binary or installs correctly.

@markdirish it works now. Thanks!

Closing as @colinjw1 indicated it now works.


geocoding: ValueError: No objects were found for Munich

gcoder = geocode_cities("Munich").countries("Germany")

ValueError: No objects were found for Munich.

gcoder = geocode_cities("München").countries("Germany")

Doesn't work as expected either: finds some area near Munich.

Fixed with geocoding data update.
gcoder = geocode_cities("Munich").countries("Germany")
gcoder.get_geocodes()

Out:

id
city
found name
country

1700534808
Munich
München
Germany

gcoder = geocode_cities("München").countries("Germany")
gcoder.get_geocodes()

Out:

id
city
found name
country

1700534808
München
München
Germany


Strange behavior with 'i2c_write_blocking'

This could be caused because I've missed something, but if that's the case, someone will have to point that out to me.
According to the latest version of the Pico C/C++ SDK:
<IP_ADDRESS>.14. i2c_write_blocking
int i2c_write_blocking (i2c_inst_t * i2c, uint8_t addr, const uint8_t * src, size_t len, bool nostop)

Attempt to write specified number of bytes to address, blocking.

Parameters
   i2c Either i2c0 or i2c1
   addr 7-bit address of device to write to
   src Pointer to data to send
   len Length of data in bytes to send
   nostop If true, master retains control of the bus at the end of the transfer (no Stop is issued), and the next transfer will begin with a Restart rather than a Start.

Returns
Number of bytes written, or PICO_ERROR_GENERIC if address not acknowledged, no device present.

If I do this - everything works as it should; i.e. I can read the values back from CONFIG_REG, and they match with the values I write below.
#define ADDR _u(0x40)
#define CONFIG_REG _u(0x00)
i2c_init(i2c_default, 100000);
uint8_t condata[3];
condata[0] = CONFIG_REG;
condata[1] = 97
condata[2] = 37
i2c_write_blocking (i2c_default, ADDR, condata, 3, false);

But if I do this - things do not work as they should; the values I read back from the register (CONFIG_REG) do not match with the values I write below.
#define ADDR _u(0x40)
#define CONFIG_REG _u(0x00)
i2c_init(i2c_default, 100000);
uint8_t reg = CONFIG_REG;
uint8_t condt[2];
condt[0] = 97;
condt[1] = 37;
i2c_write_blocking (i2c_default, ADDR, &reg, 1, true);
i2c_write_blocking (i2c_default, ADDR, condt, 2, false);

And here's how I read the register:
#define ADDR _u(0x40)
#define CONFIG_REG _u(0x00)
i2c_init(i2c_default, 100000);
uint8_t reg = CONFIG_REG;
uint8_t rcvdata[2];
i2c_write_blocking (i2c_default, ADDR, &reg, 1, true);
i2c_read_blocking (i2c_default, ADDR, rcvdata, 2, false);

The difference between the two methods for write is that I am using a single 3-byte write in the first case, and two (2) writes in the second case - one with a single byte for the register ADDR, the next with a 2-byte array. But the second case does not appear to work!
I've checked the return values from the two i2c_write_blocking calls, and I get a 1 from the first, and a 2 from the second (i.e. what I expected to see for the commands above). I'm using a recently-installed SDK for the Pico, and running that on an RPi5.  I've read the documentation until I am blue in the face, and I find no mention of anything that might explain it.
Can someone explain what is happening? ... Why is the second method failing???

Shouldn't that be...?
i2c_write_blocking (i2c_default, ADDR, &reg, 1, true);
i2c_write_blocking (i2c_default, ADDR +1, condt, 2, false);

The docs you've quoted say "the next transfer will begin with a Restart rather than a Start", so perhaps the behaviour you're seeing depends on how the device you're talking to responds to the Restart condition?
It sounds like you might be trying to do the same thing as #812 ?

Shouldn't that be...?
i2c_write_blocking (i2c_default, ADDR, &reg, 1, true); i2c_write_blocking (i2c_default, ADDR +1, condt, 2, false);

Why would you increment the bus address of the device??

My mistake, ignore me

@lurch

The docs you've quoted say "the next transfer will begin with a Restart rather than a Start", so perhaps the behaviour you're seeing depends on how the device you're talking to responds to the Restart condition?
It sounds like you might be trying to do the same thing as #812 ?

"The docs I've quoted" are directly from the Pico SDK.  And I've tried it both ways... in fact, I think I've tried it every way possible! But it still will not work.
WRT device dependency:  I can't rule that out without more data from the mfr (I am working to get that) --- but I tend towards discounting that as an explanation because the part is manufactured by Texas Instruments. It's an INA260 ICYI.
When I "do the math" to guess where responsibility might lie, I think like this:
TI : in the business since 1951, make huge numbers of parts incl. processors/uC/IC/etc/etc
RPi: makes "good stuff", but no comparison to TI
That's definitely not to say that it's an RPi issue; there are actually 3 possibilities: RPi, TI... or Me. :)  ... I guessed Me first, RPi second. Thus, my post here.   But the fact that no one can explain this doesn't inspire confidence... what's most surprising is that no one else has ever reported this????
WRT #812 : I don't know how the two functions relate, but again - not confidence-inspiring.

I dunno much about I2C, but I did a quick search and found https://learn.adafruit.com/working-with-i2c-devices/repeated-start which looks relevant. Note that even Adafruit say "The answer is target device specific and would be found in the target device datasheet.".

From the INA260 datasheet 8.5.3 Communications Bus Overview: "After all [8 bits of] data have been transferred, the master generates a stop condition, indicated by pulling SDA from low to high while SCL is high. The device includes a 28-ms timeout on its interface to prevent locking up the bus."
It looks like TI designed the chip to not allow repeated starts so that it can do locking up protection. Which is a valid design choice, but a bug in the TI chip.

@maqifrnswa
Scott - Many thanks for bringing that to my attention. I'd actually read it 2 or 3 times, but may have mis-interpreted the meaning.  And I tried both (true and false) stop/reset settings to no good effect - which convinced me there was "something else" going on.
Let me try this again... I'll add a 30 ms sleep command between the writes, and I'll follow up with my results here.

@seamusdemora As I've already mentioned, I don't have a great deal of familiarity with I2C, so my descriptions here might not be 100% accurate...
You seem to be assuming that:
i2c_write_blocking (i2c_default, ADDR, condata, 3, false);

should produce exactly the same result as:
i2c_write_blocking (i2c_default, ADDR, &reg, 1, true);
i2c_write_blocking (i2c_default, ADDR, condt, 2, false);

but AFAICT, it won't. (this is why I said that the behaviour is going to be device-specific)
I believe the first example will produce something like "START, BYTE1, BYTE2, BYTE3, STOP" whereas the second example will produce "START, BYTE1, START, BYTE2, BYTE3, STOP". So I don't think that adding a 30ms sleep between the writes will change things?

@lurch @maqifrnswa
Andrew - If I understand your comment, the issue is that I should have done it this way:
i2c_write_blocking (i2c_default, ADDR, &reg, 1, false);
i2c_write_blocking (i2c_default, ADDR, condt, 2, false);

Maybe I'm not clear on the bool nostop? I understood a true to be stating: more data follows.  Is that wrong? AFAIK, the SDK doesn't elaborate on this?
At any rate, the double false writes do not make any difference - or at least the result remains incorrect.
Scott & Andrew -
Adding a sleep_ms(30); statement in between the two write statements does not make any difference to the final result. IOW, whatever it is that's causing this does not seem to be affected by the INA260 datasheet 8.5.3 you referenced.
And so my question/confusion remains: "How do I write a one-byte message, and then write a two-byte message?

@lurch

I dunno much about I2C, but I did a quick search and found https://learn.adafruit.com/working-with-i2c-devices/repeated-start which looks relevant. Note that even Adafruit say "The answer is target device specific and would be found in the target device datasheet.".

Andrew -
That's a v. good reference - thanks. AIUI, the START & STOP signals have to do with the relative states of SDA & SCL.
But since the SDK doesn't (AFAIK) supply a means to signal START & STOP, I'm not quite sure what to do with this information. It could certainly be relevant, but it seems we may be limited by how the writes are implemented in the Pico SDK?  Or am I missing something??

Andrew - If I understand your comment, the issue is that I should have done it this way:
i2c_write_blocking (i2c_default, ADDR, &reg, 1, false);
i2c_write_blocking (i2c_default, ADDR, condt, 2, false);

No, AIUI that would give you "START, BYTE1, START, BYTE2, BYTE3".

Maybe I'm not clear on the bool nostop?

AFAICT it omits the "STOP".

And so my question/confusion remains: "How do I write a one-byte message, and then write a two-byte message?

So it sounds like (for your particular device) you need to send "START, BYTE1, BYTE2, BYTE3, STOP" with no "START" between BYTE1 and BYTE2. That's exactly why I linked to #812 :roll_eyes:
Alternatively, you could just stick with the "everything works as it should" approach you described in your original message?

Let me try this again... I'll add a 30 ms sleep command between the writes, and I'll follow up with my results here.

That wouldn't work, like you saw, because the pico never did a STOP. After 28 ms, the chip thought "I haven't heard a STOP, I guess that means whatever I was talking to hung the line (which you did do, intentionally). Let me do everyone a favor and reset the I2C bus."
The chip you're talking to doesn't seem to support what you are trying to do. According to the data sheet, AFAICT all messages are one byte messages followed by a STOP. So you can send a two byte message over I2C without stopping using the SDK just like you are doing (without a stop in between), but if you do, the device you're talking to will think something crashed in the system and essentially go into recovery mode.
The way TI wants you (and requires you) to talk to its chip is one byte at a time so that it can use its recovery feature in case something bad happens while two devices are talking to each other.

Let me try this again... I'll add a 30 ms sleep command between the writes, and I'll follow up with my results here.

That wouldn't work, like you saw, because the pico never did a STOP. After 28 ms, the chip thought "I haven't heard a STOP, I guess that means whatever I was talking to hung the line (which you did do, intentionally). Let me do everyone a favor and reset the I2C bus."

"... wouldn't work"...  Ya - I figured that much out.   :)  That was the only idea I had in an effort to avoid the device's 28ms timeout.

The chip you're talking to doesn't seem to support what you are trying to do. According to the data sheet, AFAICT all messages are one byte messages followed by a STOP. So you can send a two byte message over I2C without stopping using the SDK just like you are doing (without a stop in between), but if you do, the device you're talking to will think something crashed in the system and essentially go into recovery mode.
The way TI wants you (and requires you) to talk to its chip is one byte at a time so that it can use its recovery feature in case something bad happens while two devices are talking to each other.

I'm not sure that's the case. Assuming you're referring to the passage from the data sheet you quoted earlier, I just don't read the same meaning into it that you do.
The return value from the 2-byte write is 2 - indicating that two bytes were sent. I guess that's what happened, but I'll have to put a scope or LA on it to see.  But what appears to be happening is that the chip (INA260) is being RESET - which requires a 1 in bit position 15 of the Config register. The values that I read back from the register show the values as default (i.e. Reset) values.

@maqifrnswa

The chip you're talking to doesn't seem to support what you are trying to do. According to the data sheet, AFAICT all messages are one byte messages followed by a STOP. So you can send a two byte message over I2C without stopping using the SDK just like you are doing (without a stop in between), but if you do, the device you're talking to will think something crashed in the system and essentially go into recovery mode.
The way TI wants you (and requires you) to talk to its chip is one byte at a time so that it can use its recovery feature in case something bad happens while two devices are talking to each other.

But if that's the case, why does it work with a 3-byte message?
i.e. register_id, LSB, MSB as I showed in my original post

@lurch
Andrew,

So it sounds like (for your particular device) you need to send "START, BYTE1, BYTE2, BYTE3, STOP" with no "RESTART" between BYTE1 and BYTE2. That's exactly why I linked to #812 🙄
Alternatively, you could just stick with the "everything works as it should" approach you described in your original message?

Yeah - I know... but I just do not like being forced to create a 3-byte array to do something that I feel should work. Once again - why can I send 3-bytes in one function call, but cannot send 1 byte, then 2 bytes in two separate calls? That just doesn't make sense to me. Does it to you??

But if that's the case, why does it work with a 3-byte message? i.e. register_id, LSB, MSB as I showed in my original post

Got it, what you're saying makes sense. I was thinking there was some interrupt out something else happening between the two functions calls causing it to delay longer than 28 ms.

Where does this issue "go" from here? I feel I've raised an issue/question that bears further investigation, but I'm not familiar with the remediation process.  Should I submit this as a "bug report"??? If so, to which group does it go... documentation, or SDK, or somewhere else ?

This is the bug report. It's up to developers to decide if anything should be done.
On one hand, it is working as designed and documented. @lurch pointed out that the INA260 does not support RESTART in the middle of the transmission over I2C, and "nonstop" adds a RESTART. The INA260 expects the data to come in the format that the SDK sends without setting nonstop to True. From the SDK documentation:

nostop	If true, master retains control of the bus at the end of the transfer (no Stop is issued), and the next transfer will begin with a Restart rather than a Start.

On the other hand, there could be value in exposing a "no stop with no restart" option, which is part of the other GitHub issue @lurch linked to (that asks "what should raw writing end with?") It might not be worth adding that extra complexity, but that's a design trade-off decision the developers make. It's also likely that adding that option could lead to confusion by users expecting a certain behavior that different devices respond to differently.
The good thing is that you did raise the issue so that others that are trying to send data without a RESTART can see that they need to use a single write command in the SDK.

It sounds like this has concluded that it's a device issue, apart from the issue raised in https://github.com/raspberrypi/pico-sdk/issues/812
Correct me if I'm wrong but I don't see that there's anything for us to do, so closing.

I don't feel that it's necessarily a device issue. AFAICS, no one has pointed that out. But go ahead and close it; I guess you guys have enough open issues to keep you busy for a while, and I can re-open this/begin a new issue once I've got some hard data.


add initial code

Changes
This is the inital PR to add an initial cmd framework as the start.
This is the new PR to pick up the latest changes in test-infrasture

/ok-to-test

/ok-to-test

@chizhg ,  the test-framework still can't work for this repo.
refer to https://github.com/knative-sandbox/kperf/pull/8#issuecomment-731015664,  I created https://github.com/knative/test-infra/pull/2611 to remove the go-coverage check already, but it still there, with the last run in Dec.12 (prior to PR#2611)
Can you help me to understand what I should do to fix the test framework?

@chizhg ,  the test-framework still can't work for this repo.
refer to https://github.com/knative-sandbox/kperf/pull/8#issuecomment-731015664,  I created https://github.com/knative/test-infra/pull/2611 to remove the go-coverage check already, but it still there, with the last run in Dec.12 (prior to PR#2611)
Can you help me to understand what I should do to fix the test framework?

/retest

/test all

/close

/reopen

/override pull-knative-sandbox-kn-plugin-diag-go-coverage

@chizhg , the test-framework still can't work for this repo.
refer to knative-sandbox/kperf#8 (comment), I created knative/test-infra#2611 to remove the go-coverage check already, but it still there, with the last run in Dec.12 (prior to PR#2611)
Can you help me to understand what I should do to fix the test framework? Thanks a lot !

This job is not required, so it's fine even if it fails. If you really want to get rid of it from this PR, I guess you can make a new push.

I agree that we should get rid of the code-coverage test, which seems to fail because it can't found any builds (but really no idea what is missing here).
I'm also puzzled why the test is running at all, as you have removed it via https://github.com/knative/test-infra/pull/2611 . @chizhg sorry to bug you, but we really need some expert here. thanks for helping !

@chizhg @rhuss , I did a new push as suggested.
This time,  the check result is fine.
So  a new push after the go-coverage is removed is the key :-)

/lgtm


fix(luasnip): config updateevents to update_events (ayamir#620)

fix(which-key): properly handle continuous user input

close


About import syntax and its AST representation

Description
As for the following code:
#import "a.typ":
#import "a.typ": /* 0 */ (
  /* 1 */
  node,
  /* 2 */
  edge,
  /* 3 */
) /* 4 */

The AST is:
Markup: 100 [
    Hash: "#",
    ModuleImport: 15 [
        Import: "import",
        Space: " ",
        Str: "\"a.typ\"",
        Colon: ":",
        ImportItems: 0,
    ],
    Space: "\n",
    Hash: "#",
    ModuleImport: 73 [
        Import: "import",
        Space: " ",
        Str: "\"a.typ\"",
        Colon: ":",
        Space: " ",
        BlockComment: "/* 0 */",
        Space: " ",
        LeftParen: "(",
        Space: "\n  ",
        BlockComment: "/* 1 */",
        Space: "\n  ",
        ImportItems: 23 [
            ImportItemPath: 4 [
                Ident: "node",
            ],
            Comma: ",",
            Space: "\n  ",
            BlockComment: "/* 2 */",
            Space: "\n  ",
            ImportItemPath: 4 [
                Ident: "edge",
            ],
            Comma: ",",
        ],
        Space: "\n  ",
        BlockComment: "/* 3 */",
        Space: "\n",
        RightParen: ")",
    ],
    Space: " ",
    BlockComment: "/* 4 */",
    Space: "\n",
]

Some problems:

It is surprising that nothing coming after : is valid (line 1). import "a.typ": () could be more reasonable than import "a.typ": if there is a :.
The parentheses enclosing import items do not belong to ImportItems. This makes the formatter not work well with imports with comments.
enum ImportItem does not implement AstNode. It is seemingly the only exception.

I wonder whether these are intended.
Reproduction URL
No response
Operating system
No response
Typst version

[X] I am using the latest version of Typst

I don't see a big problem with that to be honest. What is your concern?
Not sure right now what would be better.
That's most likely an oversight.

I can see why allowing #import "aaa": seems weird. Outright blocking it might be excessive, but we could have a warning for it.


Add RP tutorial step 'Uploading files' to TOC

Add RP tutorial step 'Uploading files' to TOC

@guardrex,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

Thank you, @guardrex!


Unix Socket / NGINX / PM2 Cluster Mode

I am trying to make Express connect to NGINX via Unix Sockets instead of TCP.
Running this code in cluster mode under pm2, causes each process to state that the process is already LISTENING and everything crashes.
Unix Socket Creation (app.js)
  var app_sock_dir = '/var/run/express/'
  app.server.listen(app_sock_dir + 'app.sock', ret => {
     require('fs').chmod(app_sock_dir + 'app.sock', 0777)
  })

pm2 cluster command, spawn 10 processes
pm2 start app.js -i 10

Souldn't the URL start with unix: protocol -> unix:/var/run/express/app.sock

I decided to not use sockets at all on my production server because TCP appears to be the way to go when in cluster mode!


Don't copy uneeded files

At the moment the Dockerfile copies itself into the image before building. This means that any change to the Dockerfile breaks the cache and causes a full rebuild. It would be much faster if this file wasn't copied or was copied in later to avoid this.

Mind filing a pr for this?

Not sure what the most maintainable solution should be here. Closing for now. Feel free to PR something up.


Cannot use "Extensions" on the Mac with Safari, never opens auth page

Basically, whenever I try to add either Twitter or Reddit via the "Extensions", NNW acts like it is going to open a page in Safari but it doesn't. The only way that I can add Twitter or Reddit is via the iOS app.
I made a screencast of this problem because I'm not sure how to explain it any better than what I have above, and I thought it might be useful to see the problem in action.
This is on an M1 Mac mini running macOS version 12.2.1 (21D62) and the latest version of NNW for Mac.
If I have left out any useful information, please let me know.

Strangely, I found that if I changed my default browser to Microsoft Edge, NNW was able to open the page and add Twitter and Reddit.
I'm not sure why it didn't work in Safari.

This is a known problem in macOS 12. Restarting the operating system also works.


feat: Table Styles: Support other text alignments

Related to backport
This is one option for this issue.
Problem:
Some LMS tables use text-align: center and text-align: right (this one is more in theory) on table headers. With the table-col-sort-button changes, it's currently only start aligned and the text-align: center on the th does nothing. We do want to support the centering.
Solution Notes:
With this solution, two new css vars are exposed and then consumers can override them to get the desired alignment. Examples can be seen in the vdiff tests. The problem with this is the override isn't totally simple. This is option 1.
Option 1b: We could also potentially just set the padding based on if --d2l-table-col-sort-button-justify-content is set and its value so that would simplify this.
Option 2: A a new position property to d2l-table-col-sort-button which then sets justify-content and the padding. Con of this is in the LMS getting the alignment through from grid to gridHeaderSortField in order to set position on this component might not be straightforward. Pro is that consumers don't have to know the padding values, and if they change then we don't have to update them in consumers.
Option 3: In d2l-table-col-sort-button reach out to the parent and see if text-align is set then update padding and such within the component based on that. Pros are we don't have to do anything in the consumer code. Cons is that this is a bit hacky and if there are other ways centering is being done we'd have to account for them.
Other options?

Option 1a and 1b expose the internal (inline-flex) layout implementation detail, so I'm not a super huge fan of those. Will it always be inline-flex? Maybe, but if it changes, then the consumer's alignment stops working.
Option 2 keep the internal implementation hidden, and consumers don't need to do anything special. I think I prefer this approach. Which LMS Grid control are you concerned about?
Option 3 requires reaching out to the parent and calling getComputedStyle(...), and then potentially re-rendering the component depending on what it computes. It also forces the user to specify a CSS property on the <th> that doesn't really work the way they think. Not really in love with this.
Other option - we specify justify-content: inherit on the internal button, and then the consumer can specify justify-content: ... on d2l-table-col-sort-button to control the alignment. But maybe there'd still be something to be done with padding? I dislike this option for the same reason as 1a & 1b though.

Which LMS Grid control are you concerned about?

If it is legacy grid here, then I think we would just check gc.CurrentHeaderCell.Align, but I am not 100% without running it.

Which LMS Grid control are you concerned about?

If it is legacy grid here, then I think we would just check gc.CurrentHeaderCell.Align, but I am not 100% without running it.

It is legacy grid. I was worried we didn't have the header cell info but yeah I also just came to the same conclusion - that should work. Okay yeah I agree with your assessment. I'll pursue option 2 with a bit more testing LMS-side to make sure it will work.


when Exception is thrown it does not propagate

When throwing Exception in code it doesn't propagate properly and when GEOPM fails/hangs it is not clear which Exception was thrown?
More specific example in PowerPC port would be from PowerPlatformImpl class where we try to, for example, read whether file /sys/devices/system/cpu/occ_sensors/chip0/chip-energy exists. If it doesn't exist we throw Exception, but the message from exception is nowehere recorded and application just hangs.

All exceptions created behind a C interface are converted to error return codes.  If geopm is configured with --enable-debug then the exception messages are printed before the C interface returns.  Printing all exceptions thrown is helpful in almost all cases unless the end user is handling the error code from the C interface, but as a library we want to avoid spurious printing.
In the context of using GEOPM as a runtime and not as a library, all unhandled exceptions that occur must be printed.  There are many places during the execution of the controller where exceptions not printed unless --enable-debug is on.  This will cause a lot of confusion until it is fixed.  We generally use --enable-debug to work around this issue, but this also compiles GEOPM without optimization.


Update charts missing rancher version min/max

Issue: https://github.com/rancher/rancher/issues/31568
Updated charts missing a min/max to use min rancher_min_version: 2.3.0-rc1 and rancher_max_version: 2.5.7 (excluding latest since we don't want to set a max in those).

Closing in favor of this issue


module / type name clash

The type JobsRedisDriver should not have the same name as the module. This can create issues with disambiguation.

@mcdappdev we should fix this with the queues update 👍

Definitely - going to do the update tomorrow


xmake run --tool

Is your feature request related to a problem? Please describe.
It would be great if we could tell xmake to launch our programs with an interpreter/debugger/launcher.
For instance, emcc compiled files can be opened with emrun, to launch the file in the browser with a localhost server.
Describe the solution you'd like
xmake run --tool "emrun --verbose"  would launch the compiled file as emrun --verbose a.out
Perhaps letting the user set which tool is run by default, based on debug or release mode rule.

Thank you, your provided solution works perfectly.
I missed this part of the documentation.
https://xmake.io/#/manual/project_target?id=targeton_run


migration to PhotoSwipe v5

Hey, so I tried to get this library working with PhotoSwipe v5 and this is what I ended up with.
Everything seems to work (and work great), but:

there are no type definitions for PhotoSwipe 5 right now - so, sorry for the anys ^^
I haven't made any updates to docs - I could try updating them if you'd like me to though

Also PS v4 -> PS v5 had some big breaking changes, so here's a short migration guide:

remove photoswipeRef from natural-gallery-js init, it's no longer needed anywhere
neither is photoswipe/lightbox html template, so remove that also
(https://ecodev.github.io/natural-gallery-js/docs-options.html#lightbox)
check which options are available in PS v5 (https://photoswipe.com/options/)

after that PhotoSwipe should load  ^^
Here are changes I made to API:

added PS getter, so you can now access PS with naturalGalleryInstance.photoSwipe
(which can be then used to listen to events, add UI buttons and other things)
also added current PS item getter (naturalGalleryInstance.photoSwipeCurrentItem)
removed zoom event dispatch as it seemed redundant:

PS already provides open events (https://photoswipe.com/events/)
and PS instance is now always accessible via  naturalGalleryInstance.photoSwipe

Gonna add few comments to files changed to explain why I made some internal changes.
And I think that should be all - please take a look and check if it'd be okay to merge.
resolves #75

I've deployed your fork locally, but doesn't work when trying to open photoswipe.

Does it work when you deploy it yourself + yarn dev + <IP_ADDRESS>:4000 ?

@sambaptista
yeah, I completely skipped homepage last time. fixed it today (and lots of other issues I noticed along the way :stuck_out_tongue: ) - should work as expected now.
with exception of captions - they are no longer supported out of the box (https://photoswipe.com/caption/), but it's possible to implement them via API or plugins - I added a quick and dirty example how to do that for Natural Gallery (index.html), skipping others, as I can't decide if it's better with or without them - I think I'd skip them on main gallery pages and maybe add an example on how to use them in Theming and customisation, not sure though.
also, still saving documentation part for later, but besides that, everything should work, I think.

OK; It's finally done, I've reviewed the code and tested it. Thanks a lot for your contribution.
Almost everything is ok. I will do a few adjustments on my side and merge your two pull requests.
Would you have time to fix the tests ? E2E are ok, but UNIT fail. The issue is about the import below.
yarn test unit

    Cannot find module 'photoswipe/lightbox' from 'src/js/galleries/AbstractGallery.ts'

Keep me informed about your intentions to fix it (or not).

@kfsz, if you push new commits to fix tests, then the CI should trigger and validate your changes. If it doesn't trigger, please let us know and we'll investigate why it didn't trigger.

@sambaptista @PowerKiKi
tests fixed, they should work (and pass) now.
workflow needs approval though, so please approve.

Thanks, I approved the workflow, and it did pass 🎉
I'll let @sambaptista do the merging.


Error: No such container: micro-pkc_mediawiki_1

Errors occurring under Compose V2 after nuking and reinstalling PKC:
Error: No such container: micro-pkc_mediawiki_1
Error: No such container: micro-pkc_eauth_1

#63 related

Issue is the format of container names changed from using _ to using - in V2. Use this as an opportunity to remove hardcoding from our scripts with the addition of container_name in the docker-compose.yml.


Add "plugins" link in the sidebar to point to the marketplace

probably open the plugins list inside the app. We have to check how this can look like, or if we can consume the marketplace API.

We have a link.


how can i search the result with more than one terms

Please use the following questions as a guideline to help me answer
your issue/question without further inquiry. Thank you.
Which version of Elastic are you using?
[ ] elastic.v2 (for Elasticsearch 1.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[ ] elastic.v5 (for Elasticsearch 5.x)
[1 ] elastic.v6 (for Elasticsearch 6.x)
I need to search the result with more than one terms,such as direct.keyword:gz AND cpu_used:>0.4 in query,how can i  explain it in olivere/elastic,

You should understand how to do this with Elasticsearch, then translate it to the syntax that Elastic required.
There's a myriad of ways how to achieve this. So I can't really help with a simple sentence. You might e.g. use a boolean query that combines a term query and a range query, or you could do this with a full text query like query string query or simple query string query.
Once you struggle with the Elastic query setup, let me know and I can help. Look into the tests to see how to do it.


azd env refresh loses state

azd env refresh does not pull bicep outputs from container app deployments, which are done outside of main.bicep.

I'm not really certain what we should do here.  My current thinking is that we could tag deployments created by azd, and then when doing env refresh, starting from the subscription level deployment walk all the resource groups and look at all the deployments in each resource group, find the ones created by azd and then merge their outputs in with the set from the subscription level deployment.

Sharing some observations if it helps:
I can see a world where we would start allowing provision to be performed in phases, and each provision of an infra module is a separate deployment.
In that world:

Running azd provision will recover the state. And this is also true currently for azd.
We could make provision smarter by simply downloading state instead of triggering the ARM deployment, or a pull command that pulls down Azure state from deployments.

Which may suggest that we simply need to ensure that we have a unique reference or strategy to map each infra module to an Azure deployment.
Now, dealing with the current problem where we do have stuff that creates infra outside of provison. I think long-term should we get avoid this. I think of container app deploys as a code swap + deployment policies that could signal how the swap could occur. All this can live outside of infra since we're not actually creating new Azure resources (even though in ACA world it is represented as such).
The short-short term is maybe that we recommend users to run azd up to recover state. I personally, don't think it's such a bad thing, and it ensures that the infra and code is in-sync with the local state. The no-opt that Azure performs should also maybe it a lot faster than 7 minutes. I suspect this may take 1-2 minutes.

I've mentioned this before, but I also agree that provision is the only time we should be performing any bicep deployments.  Having ACA perform a bicep deploy at deploy stage go against any other service target that we support.  Yes, there would be an empty ACA app sitting there without any code but this matches the strategy for app service and all other service targets.
Also, the split between root and service level provision calls would also give us an opportunity have a separation of concerns between the root app and the individual services.  In this scenario we would also need to keep track of all the ARM deployments triggered for AZD.
As @ellismg mentioned the short term stop-gap solution would be find all ARM deployments provisioned by AZD and group the outputs to recover env state.

Some of the items discussed above seems to be long term items. Currently we don't support phased and/or different levels of provisioning.
Not a must-fix item for GA. Moving it to backlog.
@savannahostrowski @ellismg

@rajeshkamal5050 To be precise, this is an existing bug with product functionality. Container apps does currently perform bicep deployment, does set important state information, and is not recovered with azd env refresh.

I think we want to explore stabilization ahead of Build. Can we make sure we plan for that in the current iteration?

I think we want to explore stabilization ahead of Build. Can we make sure we plan for that in the current iteration?

@v-xuto can we test https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/reference#azd-env-refresh command with some of our templates. Please file issues separately for the same.


feat(Result): Update Result to reflect Rust's implementation

Implement unwrap, unwrap_or, unwrap_err, ok, and err according to https://doc.rust-lang.org/std/result/enum.Result.html.

Related to https://github.com/litchi-io/monads/issues/59

Related to https://github.com/litchi-io/monads/pull/60


v2 Annotations

Is there a special reason to support v2 and v3 annotations? Otherwise I would suggest to remove v2 or at least make v3 the standard

Yes. I think we can probably remove v2 now. I had left it in initially as there were some v3 issues  and it relied on a updated  startx_elf but that is now all merged so that an rpi-update ensures all is OK.
It will need Annotate version removed from index.php (and labels losing v3) and raspimjpeg losing the anno_version config and always using cam_set_annotationV3
How do we want to do it? Shall I go ahead and make the changes?

Changes made. Pushed to both repos

Thanks, great!


Remove building from event subpage

building == barrio

I changed the name Host to Barrio a bit everywhere . I can't find how to get rid of this (Building Unknown) in the event page ...

It seems that this "Building Unknown" thing comes from the fact that they hard coded the building names in the application as enums (same as they did for the tracks) ... to do this properly, building and tracks should be sourced from the xml file and the application should be agnostic about it. This is another small enhancement that is low priority I guess ...


Explore the Management APIs link is broken

Broken link

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

ID: 2f36ab87-a10d-8f30-35a7-1a7c02cee54c
Version Independent ID: b9180df8-0292-e2da-e052-b78a216c40fc
Content: Azure Recovery Services and Backup libraries for .NET - Azure for .NET Developers
Content Source: api/overview/azure/recovery-services.md
Service: backup
GitHub Login: @CamSoper
Microsoft Alias: casoper

Thank you for your feedback.  Tagging and routing to the team best able to assist.

@pratimaupadhyay02: can you please check this?

submitted the correct link in a PR

@bruce31 Can you re-check if the link is working now?

Closing this issue as the link is now working


Implement autolayout

Autolayout makes layouts for different screen sizes a breeze. I think it would be a great addition to the project.
It looks like some efforts have already been made to port or wrap the cassowary constraint solver to swift, see https://github.com/FormidableLabs/Phaedo
A similar effort has been made in this project, but wrapping to objective-j, and it has worked quite well
https://github.com/cacaodev/cappuccino
Sent from my Google Nexus 6P using FastHub

See discussion #swift on overconstrained.slack.com
Sent from my Google Nexus 6P using FastHub

And then there's https://github.com/hfossli/amoeba/tree/swift?files=1

We need a Pure Swift AutoLayout implementation. The C++ library https://github.com/FormidableLabs/Phaedo is not viable since ObjC is not available on Linux and non-Darwin platforms.
https://github.com/starwing/amoeba Might be a viable solution (for starting), but would need a Swift wrapper. Im open to any PRs.

I have written a swift wrapper around amoeba. See my link. I’m sure Starwing is fine with merging that swift wrapper and adding a package.swift

I’m open to any license on my part (do what you want)

Here also a list of various implementations in various languages http://overconstrained.io/

Someone would have to write an NSAutoLayout API wrapper on top of this lib. Again, I'm open to any PRs.


⚠ Bofrost.at has degraded performance

In cf5092f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1044 ms

Resolved: Bofrost.at performance has improved in ba504c4 after 55 minutes.


Adding Tag API and Service interface

This PR is to add  the Tag Service component and Tag API component.

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


Few suggestions from Tanya

Hola 👋
Few suggestions on extensions I'm a fan of:
Prettier
It's an opinionated code formatter to enforces a consistent style. It can work with or without ESLint to adhere to the projects code styling, and my fave part of is it can format on save/paste 🙌
Formatting Toggle
If the project you are working on doesn't have linting or prettier, this extension can toggle your prettier extension on and off with the simple click of a button. It's saved me a few times!
Text Pastry

Text Pastry lets you reduce repetitive work and use multiple cursors more effectively in VS Code.
If you're familiar with multiple selections, it's pretty straight forward. Place multiple cursors by using [alt+click], open the Command Palette and select Text Pastry From 1 to X. That's it! We've just pasted incrementing numbers.

Couldn't have said it better myself

They look great @tanyapowell , thank you 👍🤓

Thanks @tanyapowell 👍🤓


Create PartInfoInPAW.netkan

Mod intended for mod creators and advanced players.
Get useful information about part from PAW menu, copy part ID or full part CFG node to clipboard with one click.

https://spacedock.info/mod/3148
https://github.com/judicator/PartInfoInPAW
https://forum.kerbalspaceprogram.com/index.php?/topic/210494-*

Hi @judicator, thanks for the submission! I had a follow-up question.
This netkan says the license is CC-BY-4.0, but the forum thread and SpaceDock say it's MIT. I assume we can change the netkan to MIT?

Sure, forgot to change license in netkan file. MIT it is.
Thanks!


LIDAR Lite v3 Research  (Cube Sensing)

Given that we're aiming to be able to detect cubes without contact, we'd like to look into using the LIDAR Lite v3 from Garmin that we have. The module supports both I2C and PWM, we need to find which works best for us over the wire distance (~5-10ft) and is easier and more robust to program.

So... I can't seem to find any evidence that the Rio has native PWM input, so that might make it more difficult... I'd look into I2C; we could go into the Arduino, but that's just more unneeded obscurity.

Here's some relevant code samples from teams 401 and 3467... if you need a walkthrough of either of these examples, I can put you in touch with their software mentors; please let me know.
https://github.com/team401/2017-Robot-Code/blob/511f43203a2e8907310df10e172844a745c58f0e/src/main/java/org/team401/lib/Lidar.java
https://github.com/WHS-FRC-3467/Skip-5.5/blob/master/src/org/usfirst/frc3467/subsystems/LIDAR/LIDAR.java

Would it hurt so much to run all of the Lidar functions throught the arduino, and send the results to the RoboRio?

The RoboRio is connected to the Arduino via I2C anyway... the code should be very similar to read from the LiDAR or the Arduino. Thus it doesn't make sense to go through the Arduino and add more complexity.

If you are picking this up for an Arduino, make sure you have a hefty capacitor on the power line, it pulls a fair bit of current on turn-on, they recommend a 680uf cap.

Oh, never mind that last one, I didn't realize that u commented.

We won't need to connect the yellow wire, obviously..

Don't worry about the electrical part, Jared/Blake/Ben/myself can probably handle that; can you please focus on the code component that uses the LiDAR over the I2C bus as per their spec sheet and the above examples?

I found an easy link that we could just edit, and the only complication would be to incorporate the arduino, which we've already done.
I'm currently unable to find what kind of data the lidar itself outputs, and how to read on the roboRio.

This document should explain everything about the data that LiDAR exports, and we need to write our own I2C code for the reading values for the Rio.
http://static.garmin.com/pumac/LIDAR_Lite_v3_Operation_Manual_and_Technical_Specifications.pdf
Although the Arduino is another point of failure, that's not my primary concern. Reading values from the I2C bus is the same whether we get it from the Arduino or the LiDAR. You're writing virtually the same code anyway. Only, the former has it going through the Arduino instead of directly.
Please look through the above examples in more depth and I can help you more as need be.


include N glint errors caught in report summary

Currently we do not include caught glint errors in the summary report of rehearsal fix:
CURRENT
✔ Initialize
✔ Analyzing project dependency graph ...
✔ Types Inferred
  9 errors caught by rehearsal
  1 have been fixed by rehearsal
  8 errors need to be fixed manually
  -- 4 ts errors, marked by @ts-expect-error @rehearsal TODO
  -- 4 eslint errors, with details in the report

PROPOSED
✔ Initialize
✔ Analyzing project dependency graph ...
✔ Types Inferred
  13 errors caught by rehearsal
  1 have been fixed by rehearsal
  12 errors need to be fixed manually
  -- 4 ts errors, marked by @ts-expect-error @rehearsal TODO
  -- 4 glint errors, marked by @glint-expect-error @rehearsal TODO
  -- 4 eslint errors, with details in the report

Investigate this.
We currently count errors in the report plugin by counting the `@glint-expect-errors' in a file.
Currently we write errors to hbs files, but it produces invalid syntax because we inject errors in an invalid region in the hbs.
We can inject errors in a valid region if we parse the hbs and inject in a safe place, but there is a downside. The downside being these injected @glint-expect-errror directives will not all be suppress  glint from reporting the error.
So we can show the total errors, add a comment, but cannot suppress all possible glint errors in an hbs context due to https://github.com/typed-ember/glint/issues/589

We would need to refactor the glintcomment pluing to do something more like:
https://github.com/rehearsal-js/rehearsal-js/blob/master/packages/plugins/src/plugins/lint.plugin.ts


Releases and Dependencies in 1.1

This is a general discussion about NuGet package versioning and releasing, and what I perceive to be an issue.
I am going to talk in the context of EF7 a lot here, but I don't think this is restricted to EF7 per say, I just want to use something concrete.
My current application is using 1.0.0 packages, including MVC 6 and EF 7 Core.
Here were the dependencies for EF7 Core 1.0.0

Recently we have discovered some issues in EF7 version 1.0.0.
So naturally I wanted to see if there was a later version available to see if these issues were fixed by a new release.
So I check NuGet and see that version 1.1.0 of EF7 Core has been released and I see that version 1.1.0 is now available (I interpret version changes according to SemVer spec so this to me, signals a minor update - i.e new features, no major or breaking changes for my appliation),
However looking at the dependencies for EF7 1.1.0:

And this is only the EF7 core package, there is ofcourse the SQL provide package, and the InMemory stroe package each with similar dependency updates (i.e many dependencies have been moved from 1.0.0 to 1.1.0 versions)
So it turns out, that in order to adopt a minor update to EF7, I have to update huge swathes of my applications dependencies.
My concern (which is speculative at this point) is that I am being forced to update these dependencies within my application, not because EF7 actually requires these later versions of dependencies, i.e to fix any issues, but just because the release is being "aligned" for some reason, i.e some policy where Microsoft are essentially saying, we will release all the 1.1.0 bits, and they all must force 1.1.0 dependencies - not because those components necessarily need them to function, but just because we want it aligned that way.
This is making updating packages for my application a mammoth challenge, as to update just the data library in my application (EF 7) I end up having to update pretty much my entire project to be aligned with 1.1.0.
This is creating so much churn for my application, and what should be simple updates are anything but that.
IMHO, I believe  EF7 (and other packages) shouldn't force dependency updates because of any policy, but only because they are absolutely necessary to resolve issues with the functionality of that package.
For example, if EF7 1.1.0 had kept the same versions of dependencies in it's nuspec file as 1.1.0, then I could adopt EF7 1.1.0 - gain all its new functionality, with minimal churn.
Perhaps someone could just clarify what the reasoning is behind this and whether my concern is warranted.

cc @DamianEdwards

This issue is being closed because it has not been updated in 3 months.
We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.


application_breadcrumb_href error in initializer in 0.15

Hi! Thanks for Flipper. It's great.
In today's PR from @dependabot that version bumps Flipper from 0.14.0 to 0.15.0, a new exception cropped up in our flipper.rb initializer.
ArgumentError: wrong number of arguments (given 1, expected 0)
/tmp/build_64d223c72805005df2eb2e5e2ba13d57/vendor/bundle/ruby/2.5.0/gems/flipper-ui-0.15.0/lib/flipper/ui.rb:25:in `block (2 levels) in singleton class'
/tmp/build_64d223c72805005df2eb2e5e2ba13d57/config/initializers/flipper.rb:18:in `<top (required)>'

Flipper::UI.application_breadcrumb_href = '/top-secret'

What's the new way to this same behavior in the new version?
Thanks

Hi! Thanks for Flipper. It's great.

Thanks! I really appreciate you taking the time to say that, even after hitting some friction.

What's the new way to this same behavior in the new version?

Something like this should work:
Flipper::UI.configure do |config|
  config.application_breadcrumb_href = '/top-secret'
end

More examples: https://github.com/jnunemaker/flipper/tree/042facb10d2269ed93c1563f290d32e798eb221d/docs/ui#configuration
Let me know if that doesn't straighten things out for you.
If you don't mind, I would love to know what you are using flipper for as well and how it is working out for you (what went well, what was hard other than what you mentioned here). If you aren't comfortable leaving that information here in a public comment, feel free to email me directly<EMAIL_ADDRESS>I'm just always curious. :)


starting up a new instance for testing  should be easier

We should find a way to initialize the mongoldb if it is not setup to let people get up and running quickly by running this if needed and restarting etc.
mongo <IP_ADDRESS>/admin  --eval 'db.getSiblingDB("dashboard").createUser({user: "db", pwd: "dbpass", roles: [{role: "readWrite", db: "dashboard"}]})'
This is related to #239
The idea is if somebody downloads the app it would be great to be able to running it quickly simply by running a docker compose file (maybe it is a special one demo.yml )

This was addressed in several ways by adding docker containers to everything


Appstudio update mvp-test-component

Pipelines as Code configuration proposal

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
5 seconds
init

✅ Succeeded
14 seconds
clone-repository

✅ Succeeded
3 minutes
build-container

✅ Succeeded
16 seconds
clair-scan

✅ Succeeded
59 seconds
clamav-scan

✅ Succeeded
12 seconds
sanity-inspect-image

✅ Succeeded
17 seconds
deprecated-base-image-check

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
5 seconds
sanity-optional-label-check

✅ Succeeded
6 seconds
sanity-label-check

✅ Succeeded
5 seconds
show-summary

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
5 seconds
init

✅ Succeeded
14 seconds
clone-repository

✅ Succeeded
3 minutes
build-container

✅ Succeeded
16 seconds
clair-scan

✅ Succeeded
59 seconds
clamav-scan

✅ Succeeded
12 seconds
sanity-inspect-image

✅ Succeeded
17 seconds
deprecated-base-image-check

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
6 seconds
sanity-label-check

✅ Succeeded
5 seconds
sanity-optional-label-check

✅ Succeeded
5 seconds
show-summary


Inline javascript prevents strict CSP against inline JS

Thanks very much for your work on this great gem!
Using a strict content security policy to prevent execution of inline JS, I noticed that you have two lines of JS in app/views/layouts/comfy/admin/cms/_head.html.haml.  Looks like they may be the only two in the gem, and moving these into an existing JS file would allow for consistent CSP across the whole site.

Interesting. Never had to deal with Content Security Policy stuff before. I guess it's possible to move that inline js into meta tags as we just need to set variables there. I wonder how does this also affect text/javascript based responses from Rails? I often use action.js.erb to do dom manipulation.


Custom loss defined as a class instance vs function

When migrating my keras 2 custom loss to keras 3, I noticed a weird behavior in keras 3. My class-defined loss crashes my jupyter kernel while my function-defined loss is working well. I don't understand what I am doing wrong when subclassing keras.losses.Loss?
This is not working:
class QuantileLoss(losses.Loss):
    def __init__(
        self,
        name: str = "quantile",
        quantile: float = 0.5,
        reduction="sum_over_batch_size",
    ) -> None:
        super().__init__(name=name, reduction=reduction)
        self.quantile = quantile

    def call(self, y_true, y_pred):
        error = y_pred - y_true
        loss = ops.maximum((self.quantile * error), (self.quantile - 1) * error)
        return ops.mean(loss)

model.compile(loss=QuantileLoss(quantile=0.5))

This is working:
def quantile_loss_fn(quantile):
    def fn(y_true, y_pred):
        error = y_pred - y_true
        loss = ops.maximum((quantile * error), (quantile - 1) * error)
        return ops.mean(loss)

    return fn

model.compile(loss=quantile_loss_fn(0.5))

Thanks in advance

The code looks fine, what is the error you encounter?

My code is run by a jupyterlab server (using the lastest official docker images jupyter/tensorflow-notebook and jupyter/pytorch-notebook from jupyter/docker-stack) and I connect to it via the vscode-jupypter extension.
The crash is caused by the model.fit() call. It happens within a few seconds when using the torch backend, and a bit later with the tensorflow backend (after a few epochs). But there is no explicit error message I can share with you.
According to this link, the root cause could be a buggy installation of tensorflow/pytorch due to mixing pip and conda packages (jupyter official image install tensorflow via pip while the other packages are installed via mamba/conda)

I reproduced the bug with the latest tensorflow/tensorflow officiel Docker image with the following code:
Run the official image:
docker run -it --rm tensorflow/tensorflow bash

Install pandas, copy and run the python code:
apt-get update && apt-get install vim
pip install pandas
vim test.py # and then copy and save the code below
python test.py

Python code:
import numpy as np
import pandas as pd

from keras.layers import Dense, Input
from keras.models import Model
from keras.losses import Loss
from keras import ops

class QuantileLoss(Loss):
    def __init__(
        self,
        name: str = "quantile",
        quantile: float = 0.5,
        reduction="sum_over_batch_size",
    ) -> None:
        super().__init__(name=name, reduction=reduction)
        self.quantile = quantile

    def call(self, y_true, y_pred):
        error = y_pred - y_true
        loss = ops.maximum((self.quantile * error), (self.quantile - 1) * error)
        return ops.mean(loss)

X = np.random.random((100000, 100))
y = pd.Series(np.random.random((100000,)))

features = Input(shape=(X.shape[1],))
layers = Dense(200, activation="relu")(features)
labels = Dense(1, activation=None)(layers)

model = Model(features, labels)

model.compile(optimizer="adam", loss=QuantileLoss(quantile=0.5))

model.fit(
    X,
    y.to_numpy(), # Working well with just `y`
    verbose=True,
    epochs=50,
    batch_size=10000,
)

Training time and memory usage is very different depending on the type of the y target:

pd.Series: I have 8 ms/step during training
np.ndarray: I have 600 ms/step with high memory usage (that crashes/freezes my laptop)

My code runs on CPU (i7-9750H) / Ubuntu 23.10 / Docker 24.0.5 with Keras 3.0.5 and Tensorflow 2.16.1

I cannot reproduce with image glcr.b-data.ch/jupyterlab/cuda/python/scipy:3.12.3.
Cross reference:

https://github.com/b-data/jupyterlab-python-docker-stack/issues/8#issuecomment-2098779161

This strange behavior may be CPU-specific. Could you reproduce the bug using only the CPU without CUDA?

This strange behavior may be CPU-specific. Could you reproduce the bug using only the CPU without CUDA?

No. I cannot reproduce with image glcr.b-data.ch/jupyterlab/python/scipy:3.12.3 (Container: Python 3.12.3) on Debian 12 (bookworm) using Docker 26.1.0 either:
Cross reference:

https://github.com/b-data/jupyterlab-python-docker-stack/issues/8#issuecomment-2099191216

Code run on CPU (Intel(R) Xeon(R) Silver 4210R) / Ubuntu 22.04 (Container) with Keras 3.3.3, Numpy 1.26.4 and Tensorflow 2.16.1.

Thanks @benz0li for testing it!
@sachinprasadhs : Now that we know that this issue is not reproductible easily, is there something else I should look at and/or test to better diagnose the issue?

Thanks @benz0li for testing it!

P.S.: On my machine, I cannot reproduce the bug with the latest tensorflow/tensorflow either.

is there something else I should look at and/or test to better diagnose the issue?

Yes: Output of python test.py, i.e. log files. (Optional: Use latest versions of docker, numpy, keras and pandas)

I confirm that my issue happens on CPU with latest versions of Tensorflow 2.16.1 / Keras 3.3.3 / Numpy 1.26.4 / Pandas 2.2.2. It only happens when using my CPU (it is working well on my GPU with tensorflow/tensorflow:latest-gpu image)
Running test.py with a np.ndarray for the y target:
root@0a0414c2c84b:/# python test.py
2024-05-07 22:02:20.541375: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Epoch 1/50
2024-05-07 22:02:23.140812: W external/local_tsl/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 400000000 exceeds 10% of free system memory.
2024-05-07 22:02:23.300856: W external/local_tsl/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 400000000 exceeds 10% of free system memory.
2024-05-07 22:02:23.451243: W external/local_tsl/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 400000000 exceeds 10% of free system memory.
2024-05-07 22:02:23.637732: W external/local_tsl/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 400000000 exceeds 10% of free system memory.
2024-05-07 22:02:23.816659: W external/local_tsl/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 400000000 exceeds 10% of free system memory.
10/10 ━━━━━━━━━━━━━━━━━━━━ 8s 663ms/step - loss: 0.1569
Epoch 2/50
10/10 ━━━━━━━━━━━━━━━━━━━━ 7s 645ms/step - loss: 0.1397
Epoch 3/50
10/10 ━━━━━━━━━━━━━━━━━━━━ 7s 657ms/step - loss: 0.1344
Epoch 4/50
10/10 ━━━━━━━━━━━━━━━━━━━━ 7s 663ms/step - loss: 0.1313
Epoch 5/50
10/10 ━━━━━━━━━━━━━━━━━━━━ 7s 658ms/step - loss: 0.1293
[...]

Running test.py with a pd.Series for the y target:
root@0a0414c2c84b:/# python test.py
2024-05-07 22:04:24.869910: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Epoch 1/50
10/10 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.1597
Epoch 2/50
10/10 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.1419
Epoch 3/50
10/10 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.1360
Epoch 4/50
10/10 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.1326
Epoch 5/50
10/10 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.1298
[...]

My docker version is 24.0.5. Haven't tested it with latest version of Docker but I could try it next week if necessary.

Hi @mthiboust, I tried to reproduce your issue but failed. However, I do find the solution to your problem -- it's all about the tensor shape.
I print out the shape of y_true, y_pred, loss in QuantileLoss.call and compile the model with run_eagerly=True to show the middle output correctly:
y is a numpy array of shape (100000,):

[#1 QuantileLoss(Loss)]
(10000,) (10000, 1) (10000, 10000)

[#2 QuantileLoss]
(10000, 1) (10000, 1) (10000, 1)

[#3 quantile_loss_fn]
(10000, 1) (10000, 1) (10000, 1)

y is a pandas series of shape (100000,):

[#1 QuantileLoss(Loss)]
(10000, 1) (10000, 1) (10000, 1)

[#2 QuantileLoss]
(10000, 1) (10000, 1) (10000, 1)

[#3 quantile_loss_fn]
(10000, 1) (10000, 1) (10000, 1)

Now we can see that the only "strange" case happens when you subtract y_pred with y_true in custom loss that subclasses keras.losses.Loss -- (10000,) - (10000,1) => (10000, 10000). This is the reason why the training process is much slower. And probably, I guess it is this large tensor that crashed your jupyter kernel.
So it is now clear all you need to do is to ensure y_true has the same rank or dimension like y_pred. You could use ops.squeeze: error = ops.squeeze(y_pred) - ops.squeeze(y_true). This way the speed will be the same.
Check out this colab notebook here:
https://colab.research.google.com/drive/1tMDC0repnsJ8Z3R_sn-Ef1MCxkduBrhJ?usp=sharing

@mthiboust My pleasure to see that it solved your problem 😄.
By the way, I don't understand very well that slow training only happens on your CPU... I've tried it on colab and on my local servers. All of them show that (10000, 10000) is slower than the (10000, 1) case. Emmm, since the former one is a larger array, it is reasonable that your CPU works on it for a longer time.


feat(bottlecap): add EventBridge inferred spans

add event bridge

change api_gateway -> api-gateway metadata as in https://github.com/DataDog/datadog-agent/blob/main/pkg/serverless/invocationlifecycle/constants.go#L45

use CARGO_MANIFEST_DIR in test dir

use host network to build bottlecap to speed up build and avoid timeouts

Notes
Not doing EB-SQS or EB-SNS yet

Actually, before merging, we might want to use the work @nhulston did to get an accurate time for EventBridge


linking against dylib not safe for use in application extensions

I'm trying to use Dollar in my upcoming Apple WatchKit project and I'm getting this kind of warning on WatchKit Extension target. I guess this applies to other extensions (such as Today) as well.
linking against dylib not safe for use in application extensions
Digging in a little bit more I found a quote from Apple

A containing app that links to an embedded framework must include the arm64 (iOS) or x86_64 (OS X) architecture build setting or it will be rejected by the App Store.

https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html
Is there a way around this? To make it save a "save embedded framework" to use in app extensions ? Or is it already save and I have nothing to worry about and just ignore it?

I would need to look into this.

FYI you can fix this by changing the "Require Only App-Extension-Safe API" build setting to Yes on the framework target.

@patr1ck Thanks let me try adding that.


NetPeer establish connection is 2 way handshake instead of 3?

Not sure how big of an issue this is, but it seems that the way connections are established is...
Client1 - Send connect request with connectionID generated from tick time.
Client2 - Receive connect request, set connectionState to connected, send connect accept with received connectionID
Client1 - Receive connect accept, if connectionID is same we set connectionState to connected.
Shouldnt it be more so like how tcp 3 way handshake does it? (Possibly for security reasons such as helping avoid spoofed ip address?)
Client1 - Send connect request with randomly generated long value.
Client2 - Receive connect request, send connect accept with received long value as well as send our own randomly generated long value.
Client1 - Receive connect accept, if sent long value is same we set connectionState to connected and we send a ConnectAcceptFinal message with received long value.
Client2 - Receive connect accept final, if sent long value is same we set connectionState to connected.
Maybe even then just keep connectionID a int that we just increment every new connection?

If two clients connect simultaneously the current behaviour leads to two identical connectionIDs. The server should generate an ID and tell it to the client.
The connectionID should be random instead of a simple increment so it cannot be guessed by other clients that easily (as a small step towards security). In my project I always overwrite the connectionID on the server and tell the client, see here

@proepkes connectionID is not simple increment. This is current UTC time in ticks. This is not for security.

In my project I always overwrite the connectionID on the server and tell the client,

For now biggest connectionID will be selected. This made for Peer2Peer connections, where 2 peers can call connect almost simultaneously, and in that situation there is no "client" and "server".


Asset pages still try loading leaflet js from disk, not from CDN

They need to load from CDN since #21 (probably were forgotten)

Closed by #32


Tidy up

I have an ideas about sourcemaps after this pr

@Rich-Harris Don't forget to enable travis

Done. Released 2.0.1 – thanks

Thanks


STAR-594: prevent NPE in QueryProcessor::resultify

Also, make it clear that resultify is used for tests only

There's exactly 0 uses of @NotNull in cassandra code :shrug:


ble.NewConnection sometimes never returns

Hello,
when there are connection issues the function ble.NewConnection(ctx, vin) returns with context deadline exceeded. That's the expected behavior.
But after a while (> 15 attempts) the function just never returns.
Any clue what could cause this issue?
The problem also occurs with this https://github.com/teslamotors/vehicle-command/pull/269

Could you please include the output of running the command with -debug and provide your OS and hardware information?

I had the same or at least a very similar problem. As long as the vehicle is nearby the command tesla-control works well, even if repeated thousands of times over a longer time period. With the new code from a few weeks ago the BLE connection is very stable on my system.
But when the vehicle is driven away, I got the same error Error: context deadline exceeded as expected, but after a few times I got Error: failed to find a BLE device: can't init hci: no devices available: (hci0: can't down device: device or resource busy). I also got Error: failed to find a BLE device: can't init hci: can't create socket: too many open files. See attached output for details.
A temporary workaround was to restart the bluetooth service (systemctl restart bluetooth), however this does not last long. Reason for the problem might be a missing 'close' for the underlying socket (socket is created by code from "github.com/go-ble/ble", in ble/linux/hci/socket/socket.go starting lin line 63). I'm neither an expert with Go nor the go-ble package, so I haven't prepared a pull request, but was able to add a few lines of code (see attachment) that look to fix the problem for me.
Please add that fix (or a better one) .
error--too-many-open-files.txt

I think I found the issue. It is in the underlaying bluetooth package.
In the ble.go we have the following code:
https://github.com/teslamotors/vehicle-command/blob/d4c0fedc4162bdb88ec2a35ce80aeb16ac686256/pkg/connector/ble/ble.go#L174C2-L186C3
There the ble package is called via client, err := ble.Connect(ctx, filter).
In the ble package we have the following code in the Connect function (glatt.go):
https://github.com/go-ble/ble/blob/8c5522f543335a80e18fc70e704b104cf3fcc606/gatt.go#L125C1-L149C2
So and here is a bug. When the vehicle can't be found, normally ctx2 fires bevor ctx, so that the function Scan returns context deadline exceeded. But sometimes (rarely but randomly) ctx fires and cancels ctx2 (see line 131). In this case Scan return with context canceled. This yields to the line 147 cln, err := Dial(ctx, (<-ch).Addr()) is executed and ist blocking, because of (<-ch).Addr().
So we need to propose a pull request on the ble package to solve this bug.

I've opened a PR on the ble package: https://github.com/go-ble/ble/pull/112

@wimaha: I still have the issue described above when the vehicle can't be found with latest code from 'tesla-control' on a Raspberry PI 3B+. After a while the hci0 interface is busy and requires a reset.
So far I ended up by switching to BLE package from https://github.com/rigado/ble instead of go-ble/ble. The code for BLE has changed a lot and required minor changes in pkg/connector/ble, but now my issue is gone. To me the ble package from rigado looks to be better, but I'm wondering if that code will end up in go-ble some time in the future.

It turned out that the rigado/ble package has the same issue and that your fix solves 'my' problem. I've opened a PR on that package https://github.com/rigado/ble/pull/76
I'm using the 'tesla-control' utility to track if my car is at home or away via BLE.
The problem is easy to reproduce by using the 'tesla-control' utility with a non-existing VIN, e.g.
tesla-control -ble -vin LRW3E7XXXXXXXXXX5 body-controller-state
and calling the utility every minute from a script. After some minutes up to some hours the utility hangs which causes the next call to report an error: can't init hci: no devices available: (hci0: can't down device: device or resource busy)

I've looked in vain for a well-maintained Golang BLE library.
If anyone knows of one, please feel free to put up a PR to migrate or create an Issue asking someone else to.


Not displaying CPU or Memory usage for Azure Stack HCI Clusters

Gateway Version: 1.3.2204.19002
I seem to be having an issue with our WAC gateway where all our Azure Stack HCI clusters CPU and Memory usage is 0 with a total of NaN%
To Reproduce
Steps to reproduce the behavior:

Click on a Azure Stack HCI cluster
Wait for the dashboard to load

Expected behavior
CPU and Memory usage to show and total to be correct
Screenshots & Additional context

Hi @Grassyhopper,
I've filed a bug on this. Thank you for reporting it.
Kind regards!
Rebecca.

This issue was fixed with Windows update KB5017381
https://support.microsoft.com/en-us/topic/september-20-2022-non-security-update-kb5017381-b58ee96f-7ddb-4cfe-870e-5047cf2dd52d


Update docs for Support table level comment

A document change request is generated from
https://github.com/GreptimeTeam/greptimedb/issues/3836

Already exists: https://docs.greptime.com/reference/sql/create#table-options


unit-tests fail on master

docker build -t spacer:test .
docker run -v ~/spacermodels/:/workspace/models -it spacer:test python3 spacer/tests/test_extract_features.py TestCaffeExtractor.test_regression

fails on master with
======================================================================
FAIL: test_regression (__main__.TestCaffeExtractor)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "spacer/tests/test_extract_features.py", line 176, in test_regression
    self.assertEqual(pf_new.data, pf_legacy.data)
AssertionError: Lists differ: [0.0, 3.03959321975708, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0[28705 chars] 0.0] != [0.0, 3.039593458175659, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, [28707 chars] 0.0]

First differing element 1:
3.03959321975708
3.039593458175659

I went back and checked out https://github.com/beijbom/pyspacer/commit/aee4cad5f65399f708f2f5223b71a55123474a86 which was before the EfficientNet integration and refactor, and the test passes there.
@qiminchen : I'm afraid something you did in the refactor caused this test to break. Can you trouble-shoot this please? To be clear, it may be that you fixed something that was broken, but either way, let's find out what it was so we can decide whether to update the test-fixture or revert back to the old code.

... you should be able to simply go through the list at https://github.com/beijbom/pyspacer/commits/master, check out each commit, build, test, etc. until you find the breaking change.

... I just checked and the test fails on the efficientnet_extractor branch that was merged. My bad for not running the docker test-suite before approving.


Switch to own domain for invites instead of discord.me

It's always a good idea to rely on as little third party as possible.

Using the domain forward has the advantage of people being able to remember the url from their mind. If I ever get a vanity for the tipbot discord I'll use it of course


Review PR

This is just digging the work to now on scale-typegen against an empty folder. Let's leave comments etc as if this is a regular review, and then we can open issues or whatever for any changes :)
(weird that I appear next to Tadeo on every commit; perhaps because I did the rebase of them; sorry about that! I def didn't contribute :D)

Messed up the merge order...


Failed to build demo_linux

Here's what I did
After adding
cmake_minimum_required(VERSION 3.20)
project(MicroShell)

To CMakeLists.txt to top cmake moaning.
mkdir build
cd build
cmake ..

CMake Error at CMakeLists.txt:7 (build_ush):
  Unknown CMake command "build_ush".

-- Configuring incomplete, errors occurred!
See also "/home/andrewh/Source/microshell/examples/demo_linux/CMakeFiles/CMakeOutput.log".

Please advise

Hi.
You have to use top-level CMakeLists.txt.
There is a some additional includes, which provide necessary macros and functions needed to build example apps.
Regards.

Hi,
I tried again:
pwd is :
/home/andrewh/Source/microshell/Build
cmake ..
@.***:Build$ cmake ..
-- The C compiler identification is GNU 9.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is GNU 9.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
CMake Error at tests/CMakeLists.txt:5 (add_library):
Cannot find source file:
/home/andrewh/Source/microshell/tests/Unity/src/unity.c

CMake Error at tests/CMakeLists.txt:5 (add_library):
No SOURCES given to target: unity
CMake Generate step failed.  Build files cannot be regenerated correctly.
and
pwd:
/home/andrewh/Source/microshell
cmake .
Same result
BTW Unity is an empty directory
Regards,
Andrew
On Sat, 29 May 2021 at 07:18, Marcin Borowicz @.***>
wrote:

Hi.
You have to use top-level CMakeLists.txt.
There is a some additional includes, which provide necessary macros and
functions needed to build example apps.
Regards.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/marcinbor85/microshell/issues/4#issuecomment-850778863,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYVWSLZ23ADPN2CA45UEZTTQCBJ3ANCNFSM45MWMZJA
.

Fixed.  I needed to get the submodule
This did it:
git submodule update --init --recursive


[BUG] Connection Error, Yet Still Loads Mods.

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.8.1
What problem did you encounter?

every time i launch roblox i get this, yet my mods still load and i'd presume that i still get roblox updates.
Bloxstrap Log
N/A

Relaunch Roblox from the website

Relaunch Roblox from the website

been launching roblox from the website normally, yet this always shows up.

fixed via reinstall.


Shopping List search not cleared after temp. item was created

After a temporary item was created, the search still contains the input, but instead should be cleared.

This needs an additional feature from the component framework to set the input value directly. I tried (and succeeded) to implement it in https://github.com/ant-design-blazor/ant-design-blazor/issues/4231, but the PR was turned down as manually setting the input should mean that the user can't type in the Select anymore.
Meaning, this will probably never come and always stay like that.


Spacing issue in live preview mode

When using Obsidian's new Live Preview edit mode, the table of contents is way more spaced-out when compared with reading mode (to an uncomfortable degree in my opinion). My expectation is that the TOC should look more-or-less the same spacing-wise between live preview and reader mode. Lists generated by other plugins (e.g. Dataview) do not exhibit this problem for me.
I've included a screenshot showing the same file in edit mode (source), edit mode (live preview) and reader mode:

Things I've tried (without success):

Switching-back to the default theme
Disabling all CSS snippets
Disabling all other plugins

I'm running Obsidian v0.13.17 (installer v0.13.14) on macOS and Linux. I've observed this behaviour throughout the v0.13.x release cycle.

Yeah, I noticed this too when testing out live preview. Didn't think much of it, I'll take a look to see if there is anything I can do. Thanks for the report

I'm confused by this. I've generated a list with Dataview, and it's working fine. ToC still has massive gaps between everything.
I've compared the output HTML between DV and ToC and it's almost identical. The only difference being that links are wrapped in span, I tried that and it appeared the same. Even the CSS for the rendered elements is identical.
I also use the same mechanism that DV uses MarkdownRenderer.renderMarkdown() I'm rendering valid Markdown.
Dataview is also experiencing this issue in certain scenarios:
https://github.com/blacksmithgu/obsidian-dataview/issues/743
I'm going to have to put this on hold and presume it's a bug with Live Preview 🤷

Interesting. I don't use dataview a lot, but the problem hadn't yet presented to me in the couple of dataview blocks I use. Worth keeping an eye on. I appreciate you taking a look for me. Cheers!

Based on a comment on the dataview issue I created a CSS snippet which fixes the problem for me:
https://gist.github.com/tcsavage/baee0634e6041d6f9773076d12b1e419
Basically copy-and-paste from the Admonition CSS.

@tcsavage I've release 0.0.23, that seems to have resolved the issue. I'm going to close this ticket, feel free to comment again if you still experience issues with it.

Hi, this problem still occur in new release plugin(release-0.0.26)，and obsidian version is v0.13.23.
I had tried open with a complete new vault, and installed only toc plugins, theme using default(light/dark).That didn't fix.
I also tried tcsavage's snippets, still not work.Any idea?

This is odd problem.I don't think it's a css issue.
First, the gap is selectable, like pic below:

Second, I tried using console, editing  html and remove all it's line break in html, it works, the gap is disappear.

Most rear thing is, in preview mode, ol html code do have line break, but some how don't affect the element

OK，I think I got the problem.It's similar to tcsavage's solution, but his css white-space attribute is only for , this is .
Problem solve by assign 's white-space attribute


add SITE_LOGO_IMAGE_ID to local env setup script

fixes https://github.com/golang-cafe/job-board/issues/61

thank you!


Rename TupleMatch and make module

OK -- this is just the rearranging/renaming part so I can start making a new version -- I think I need to do something diff in the custom_objects, but I don't know if I add all that it could ever be, or just add the base TupleMatch and the others fall in line... figured you'd have other changes anyway, so I can make the adjustments with the rest.
Thanks!

If I've approved it with only minor changes like this, you can just merge the PR when you're satisfied.  No need to have me review it again.

ok :)
On Sat, Feb 25, 2017 at 10:43 AM, Matt Gardner<EMAIL_ADDRESS>wrote:

If I've approved it with only minor changes like this, you can just merge
the PR when you're satisfied. No need to have me review it again.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/allenai/deep_qa/pull/224#issuecomment-282503592, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFIniTGIlB_qRfS2AAy_L_Prwm7x0sPVks5rgHZTgaJpZM4ML3db
.


Partial specialization fixes

Fix a bug related to cloning of self-referring generic closures
Fixes rdar://31776399
Also fixes a long standing bug in the SILCloner.

@swift-ci please smoke test


too complicated sentence

ESLint resolves a relative path to a base configuration file relative to the configuration file that uses it unless that file is in your home directory or a directory that isn’t an ancestor to the directory in which ESLint is installed (either locally or globally). In those cases, ESLint resolves the relative path to the base file relative to the linted project directory (typically the current working directory).

this is hard to understrand.
the first sentence is very very long for me.

how to resolve the relative path?
would you give a example in the documentation?

Yowzer! I agree, that's a mouthful for sure.
It looks like it's talking about what happens when a configuration "extends" another configuration using a relative path.
Unfortunately, I'm not familiar with all of the edge cases for configuration cascading/inheritance, so I'm not in a good position to clarify this. But hopefully someone else on the team can help out!

Closing this since there hasn't been any discussion in quite a while and progress on the issue has stalled. While we wish we could accommodate all requests, we have limited resources and do need to prioritize.
Feel free to open a new issue with a proposal to continue this discussion if this is something you would like to continue advocating for.


its not working with OpenCV 4.3.0

I get this error:
"[Vidgear:ERROR] :: Installed OpenCV API version(< 3.0) is not supported!"
ImportError: [Vidgear:ERROR] :: Installed OpenCV API version(< 3.0) is not supported!
but i am working with OpenCV 4.3.0

I get this error:
"[Vidgear:ERROR] :: Installed OpenCV API version(< 3.0) is not supported!"
ImportError: [Vidgear:ERROR] :: Installed OpenCV API version(< 3.0) is not supported!

@masterchop Not enough information,  I need the complete terminal log from from machine. Also, I need to know the OS,  vidgear and python version you're working on.

but i am working with OpenCV 4.3.0

@masterchop No, It means it is using old copies of OpenCV binaries on your system. It is certainly not v4.3.0,and to confirm that, add following lines to your python script:
import cv2
print( print(cv2.__version__)

run it, and then paste the terminal output here.

Also it is working fine on CI tests https://travis-ci.com/github/abhiTronix/vidgear/jobs/379911391#L5339 and https://ci.appveyor.com/project/abhiTronix/vidgear/build/job/803n5a5qwci8bm9v?fullLog=true#L48, so problem is obiously on your end only.


Bug: when using exclude columns, and when a column is dropped in the GS, the importer does not work

Add warning message when this happens and prevent fail by testing colum existence

Work started in fix/#145_handle_dropped_column


nuke openstack (again)

Motivation for this change
openstack packaging in nixpkgs is a mess, not to mention the security issues it produces once people actually want to use it.
This PR tries to progressively remove the parts of openstack and tries to avoid conflicts.
Ref: #29491
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

okay done

Thanks!

thanks! maybe a short remark should be added to the release notes


[Enhancement]: AWS tag-based access control

Version
cndi v1.13.4
kubeseal v0.21.0
terraform v1.5.5
Please provide a summary of the enhancement you are proposing:
Currently AWS service accounts can be limited to access resources of a set of given types. We would like to additionally narrow that privelege further by attaching tags to the resources terraform creates, then only allowing access to resources that have these tags. If tags cannot be applied upon creation in this way, we can explore using name prefixes instead.
Please provide the motivation or use case for this enhancement:
Limiting access to owned resources reduces the blast radius should a breach occur, and generally this approach is closer adhering to the principle of least-privilege.
How can we best workaround this issue so far?
No response
How would you approach solving this problem within CNDI?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

corrrection:
The tag-based policy is to be set by a human!


DbalExtension: fix for numeric service names being converted to integers

PHP has this unfortunate "feature" of converting numeric array keys to integers, see https://3v4l.org/8pS7I
nette/di 2.4 names anonymous services by numeric keys and it kind of breaks the registration of subscribers to event manager, because it expects either string service name, or object. Add explicite type case to DbalExtension should fix the issue.
btw, nette/di 3.0 has a guard against numeric service names, so this is really for 2.4.x only

What about cast it to string on the 2 used places?

What do you mean?