F4 External I2C Bug

I just found a bug over the weekend.
TL;DR if the I2C tries to contact a device that isn't there, it throws a fit and won't talk any more.  That's why the onboard I2C works (those devices are always there) and why the external I2C seems buggy.
Long Version:
The STM32F4 I2C peripheral does not report an ACK.  It throws an interrupt on an NACK, but (probably for performance reasons), will let you continue on writing bytes to an absent device without any error indication even if the device isn't there.
I think this is the reason I had never seen a pure "polling" driver from STM.  All the blocking implementations are still interrupt-based, and I think it's because you need to be able to handle the ACKNOWLEDGE_FAILURE interrupt, which can come after you've already started sending bytes to the device.
Anyway, upon close inspection of the datasheet, it tells me that i have to make sure to send a STOP condition if I get one of these interrupts and reset the peripheral.   I'm not looking for the interrupt in my blocking I2C::write function so I end up leaving the peripheral in a bad state, and the SDA and SCL lines just remain low all the time, even though from a software perspective, things look like they are working.
This is a priority 1 bug, because a lot of people have been having poor performance from the airspeed. #140  #305.  I'll work on it as soon as I can, probably sometime this week.

Funny that this came up this weekend.
I also spent some time this weekend with the revo's I2C. I noticed the same thing about AF not being set until after you send some bytes on the bus.
https://github.com/plusk01/airdamon_f3/issues/11
At least I got to use a goto...

Nice!  I've never used goto. haha!
Yeah, I played with it a bit, and it looks like AF will get sent either by trying to send more bytes, or if you wait 25 milliseconds.  Which is like 100 years in microcontroller land...  I would really love a "got an ACK" status bit.  (Maybe I could read the GPIO line?)

Yeah, it seems to be working okay---I started bringing up I2C and testing with the baro ... but man, it is such a lame sensor to work with (the whole conversion and waiting for ADC before you read).
A couple of thoughts:

airdamon I2C works, but is currently blocking.

I would like to understand the need for / get rid of the write(0, 0, 0) call. I noticed that in a few places in airbourne as well.

It would be nice to make the I2C driver more flexible. I was actually setting up the I2C so I could use it as a slave to a Snapdragon flight board, translating from I2C to PWM for ESCs (if you have any strong opinions on doing that, I'd love to hear them). Anyways, I was thinking of an interface that did things like:

begin(uint8_t address)
write(uint8_t byte)
end(bool async, callback)
readFrom(uint8_t address, bool blocking, callback)
read() / available()

which basically seems like Arduino's Wire interface.

Also,  I should probably compare notes with you more often... In some ways it would be nice to get a nice custom library with a cool HAL for STM32 chips; but in other ways I wonder why not just use an existing library like libopencm3?

I had no idea about libopencm3.  That looks really cool!  Seems like the sort of thing we could contribute to even!  Maybe I'm wrong, but I just read through their i2c driver and I don't think it's asynchronous.
My biggest reason for maintaining my own driver layer is for asynchronous communication.  At the time, I couldn't find anyone doing DMA at all, and there were only a few asynchronous applications which were written for a specific sensor.  Perhaps that's changed, but that was the main reason.
I am not opposed to the Wire-way of writing doing the blocking I/O configuration.  However, it seems to make things more difficult in an asynchronous system.  I am pretty confident/happy with the bulk i2c read in airbourne, and I like that it's DMA.

I agree that async I2C (and everything else) is the way to go.
I don't know too much about libopencm3, but I think the idea is that it is a better std periph lib. So, if you want async comms, you have to wrangle them yourself. So, maybe what I'm saying is that there is still a need for an airbourne driver layer for flight controllers, but we should leverage libopencm3 instead of std periph to give us chip abstraction out-of-the-box. Something to look into.
As far as the Wire API, I think the goodness is in the interface, not necessary the implementation. I don't think blocking is the right thing to do here. Instead of airbourne's way of prescribing the types of I2C transmission that can be made (write(addr, reg, data)), the API is split into divisible I2C chunks (i.e., master START, send bytes, read bytes, master STOP).

I guess another consideration is LGPLv3 (libopencm3) compatibility with BSD-3. I think it's okay as long as your linking to it as a library ... but I am always confused with licensing.

Okay, so, I tried the Wire API last night, and there is one big thing that I don't love:
While the blocking methods make sense, there is a lot of logic that goes into an I2C transfer, which means tying together a bunch of callbacks if you want to do something truly asynchronously.
Here is the logic for the bulk read.  Each -> is an interrupt.
addr+write -> register -> addr+read -> DMA -> Stop -> callback

However, if we do the Wire Api we have to instead do
add+write -> cb1 -> register -> add+read -> cb2 -> DMA -> Stop -> cb3

So, you now have 3 callbacks instead of 1, and the first two are basically trampolines that will get repeated for the vast majority of sensors.   I don't really love that, it's a lot of trampolines.
Do you have any good solution?  I can see the advantage of using a familiar API, but that's a lot of misdirection in the code that is simplified a lot by I2C::read(addr, reg, data, len, callback)

One solution:
In the F1 driver, I ended up building a circular buffer of I2C jobs (because the duty cycle was really close to 100%, API actually stacked jobs onto this queue while the driver pulled them off.  If this were our API in this case, the jobs would be a lot simpler, but the trampolines would be handled for us.
i2c.begin(addr, WRITE, nullptr);
i2c.write(reg, nullptr);
i2c.begin(addr, READ, nullptr);
i2c.read(reg, data, len, callback);

these would all whip through super fast, because all they do is add jobs to the queue, and the driver would simply call the next one as it becomes available, finishing on the last job with the callback
That might be a nice way to handle it.  What do you think?

ha i had the same realization about all the misdirection last night. I was wondering if something like an i2c job queue would be useful and I like the way you described it. I'll see if I can try it out, too.

Okay, so @dpkoch and I talked about this a little bit.
The impetus for this is trying to support the TFMini-I2c laser altimeter.  It has a very non-standard API, which is very annoying.
what do you think of this?  In the driver, we have a circular buffer of tasks.
enum {
  START,
  WRITE_MODE,
  READ_MODE,
  WRITE,
  READ,
  STOP,
} task_t;

struct {
  task_t task;
  uint8_t addr;
  uint8_t* data;
  size_t len;
  void (*cb)(uint8_t);
}

Then, you'd queue up the jobs like so they show up like this
| task       | addr | data* | len | cb |
|------------|------|-------|-----|----|
| START      |      |       |     |    |
| WRITE_MODE | addr |       |     |    |
| WRITE      |      | data* | len |    |
| START      |      |       |     |    |
| READ_MODE  | addr |       |     |    |
| READ       |      | data* | len |    |
| STOP       |      |       |     | cb |

And the event_handler would now be responsible for making sure that the last interrupt matches the last task, then performing the next task.
If there is ever an error, then we have to zoom up to the next STOP, send the STOP and call the callback.

that seems pretty reasonable. I haven't had a real chance to look at this much yet, but two questions:

What happens if two sensors use the same i2c object to perform some task one right after another. Could that mess up the job buffer?
For an multi-byte write, how are you planning on managing data?void do_the_thing()
{
   i2c_.add_task(START);
   i2c_.add_task(WRITE_MODE, slave_addr);
   uint8_t data[2] = { 0x01, 0x02 };
   i2c_.add_task(WRITE, data, 2);
   i2c_.add_task(STOP, nullptr, 0, cb_);
} // data is now out of scope

unless each task has a { uint8_t tx_data[LEN] } it gets copied to? Or it gets copied to some write buffer that all tasks share? that could be tricky, but would prevent having the struct have separate tx and rx data fields / having fixed-length buffers allocated for every task (which seems wasteful).

So, I actually worked out some of those details while I implemented this last night.  In my solution, the I2C class has an internal write_buffer_ which holds the data-to-be-written.  There is some funny logic to make sure that stays circular when you're writing, but it seems to work.
The new I2C driver is now on the I2C2 branch.  So far, the barometer is working

What is the status on this fix? The AUVSI-SUAS team is having issues with this now. Is there a good workaround, or a mostly working branch?

@dpkoch  and @mmmfarrell probably know best.
I will have some time this week to push on this too if I know what needs work.

@BillThePlatypus There isn't a working branch or anything yet. I started to do some work off of the I2C2_dan branch of airbourne_f4, but it still needs a decent amount of work. If you have some time to work on this, I can walk you through what I understand about the new i2c driver

Has anyone checked if the errata for the F405 i2c peripheral contribute to this issue? I have no idea what the status of this is, but I just ran into a errata-based issue the other day that made me think of this...

Going forward we'll be switching to H7 processors with new drivers, so I'm going to close this issue as I don't expect many people to use F4s at this point.


wheel package issue

Hi,
It looks like something may have gone wrong during the building of the wheels (at least for the latest version, 1.0.6, which is the only one i've checked)
the wheel seems to include modules with the same name as a bunch of (sub-)packages, e.g.
prompt_toolkit/styles.py next to prompt_toolkit/styles/*
this mostly works since packages win during regular import, but it confuses e.g. pytest assertion re-writing (c.f. #375) and of course doesn't match the source or the source distro

Hi @davidszotten,
Thanks for pointing this out! There was indeed something wrong there. I'm not sure how it happened, but I see that at least a few other files were included. I'll make sure to remove all files locally, before building a wheel. Now, I released 1.0.7, with a few fixes, and this looks better.
Can you try the new wheel packages for 1.0.7?

look good, thanks!
btw, i have had pretty good success using travis to build and upload to pypi: https://docs.travis-ci.com/user/deployment/pypi/


JULY 2018 Security Update

JULY 2018 Security Update that addresses the following issues in ChakraCore.dll:
[CVE-2018-8275], [CVE-2018-8276], [CVE-2018-8279], [CVE-2018-8280], [CVE-2018-8283], [CVE-2018-8286], [CVE-2018-8287], [CVE-2018-8288], [CVE-2018-8290], [CVE-2018-8291], [CVE-2018-8294], [CVE-2018-8298]

LGTM


⚠ ClamAV has degraded performance

In 600ad6e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 202 ms

Resolved: ClamAV performance has improved in 4de5923.


SAMZA-2498: [Job coordinator isolation] Classloader isolation for SamzaApplication.describe execution in job coordinator

Feature: https://cwiki.apache.org/confluence/display/SAMZA/SEP-24%3A+Cluster-based+Job+Coordinator+Dependency+Isolation#SEP-24:Cluster-basedJobCoordinatorDependencyIsolation-HandlingSamzaApplication.describe
Changes: Add a new samza-framework-descriptors-classes.txt whitelist which will be the list of descriptors (including table functions) that are considered part of the framework, which apps may use to in their implementation of SamzaApplication.describe.
Testing:

Deployed wikipedia-feed application with isolation enabled and verified (using logs) that the correct classloaders were used to load the descriptors (the app uses a Kafka descriptor and a custom descriptor).
Modified wikipedia-feed to use a table descriptor and a fake table function which was included as part of the framework descriptors. Verified (using logs) that the correct classloaders loaded the table components in the job coordinator.
Note that further testing is going to be needed when using this new flow on the processing containers. We will need to ensure that the infrastructure classloader can use the descriptors properly when executing processing logic.

API/usage changes:

No change for applications.
When preparing the tarball for the framework API, an additional samza-framework-descriptors-classes.txt needs to be included, and it needs to include the classes (or globs) for the descriptors that are considered part of the framework.

Not moving forward with SEP-24, closing this branch.


Support passing environment variables into scripts from ShellScriptProvider

Description:
ATM, we do not support passing environment variables into the shell scripts executed by testgrid via ShellScriptProvider.
We need to provide this support. We can take test-scripts/tomcat-deployment as the base for this purpose. This has an infra.sh that calls AWS via the AWS CLI. The CLI require access credentials which can be passed as environment variables. [1]
We can pass the env variables at the script execution time or via a properties file.
If it is a properties file, then we need to inject properties file parsing logic into the infra.sh. I think properties file is the way to go.
[1] https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
Affected Product Version:
0.9.0-m13
OS, DB, other environment details and versions:
N/A
Steps to reproduce:
See above.
Related Issues:
N/A

Since we are executing shell scripts for OpenStack, we can feed the openrc.sh file as an input parameter and source it inside the shell script. AWS does not need to use environment variables for credentials. We can make use of PropertiesFileCredentialsProvider.


Can't get past login screens, XPath selectors may be out dated

Describe the bug
Gets stuck at this screen and the login screen aswell

To Reproduce
Steps to reproduce the behavior:

Launch the app
Try to let Selenium login
Gets stuck looking for the login button but also gets stuck afterward if you manually navigate to the credential screen, the username and password fill no problem though

Expected behavior
Should find the login buttons and click them
Screenshots
It looks like the selectors for the login button are outdated, perhaps Instagram updated their ui?

The button's text is no longer 'Log In' but instead a child div within it now contains the text

Error output

Desktop (please complete the following information):

OS: [e.g. iOS]
Version [e.g. 22]

Additional context
The selector "//*[text()='Log in']/ancestor::button" seems to work for me

The selector "//*[text()='Log in']/ancestor::button" seems to work for me


[FLINK-22756] Ignore leadership future termination during testing

This changes hardens the DispatcherTest#testJobStatusIsShownDuringTermination
by ignoring the JobMaster shutdown exception when querying for the
expected job status.

is master not affected?

With Flink 1.13 obtaining the leadership changed a bit. In both versions, the jobmanager never becomes the leader but in Flink 1.12 the future will terminate exceptionally nevertheless, contrary to Flink 1.13+.


deps: change version #145

✔ Related issues

Resolve #145

📑 Description

Dependencies updated:

#138
#141
#142
#143
#144

✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[x] All the tests have passed

ℹ Additional Information

✅ This pull request is verified to build.


change the limited length

remove the 16 character length limitation

since in some cases I need to generate just numbers, the length 9 (without 0 consideration) looks enough

https://github.com/ivanakimov/hashids.php/issues/29#issuecomment-65527260


Contextual macros

The thing I talk about in this old blog post. I talked with jnthn about it yesterday, without remembering much of the blog post.
Like the blog post points out, AngularJS does this. It seems like a pattern that happens quite a lot, with two macros "interacting" lexically in the code. The blog post identifies four cases where Perl 6 already does this.
Nowadays we also have another ideal to be inspired by that we didn't have back then: React's new Context API. That's in the same ballpark as what we're trying to do here.
Here's my current idea for how to implement it.
macro outer(block) is context("foo") {
    return block;
}

macro inner(context) is consumer("foo") {
    # can interact with `context` here
}

jnthn mentions that he's a little bit unsure about this design. I agree it's probably not the final thing, but I also think it's one step better than what the blog post proposes.

Oh!
I just realized that this can also give us a solution to #158 and #210 which is (a) better than the inner declaration discussed in the former issue.
Those two can be implemented as nested macros, but context in that case is provided by the AST. I'm thinking we should have a Context type, and instead of strings like the "foo" above, you'd create a new Context { name: "foo" } or something, and use that in both places. (This is closer to what React does anyway.)

In #158, we would create a new Context { node: Q::Statement } and use that in the each macro. The context parameter would give convenient and timely access to both the statement and the macro call site. (Or, I dunno, even provides you a simple means of finding the macro call site even after the surrounding statement has been cloned.)

In #210, we can pretend that the expression parser is a recursive descent parser, and then specify a Context at the exact precedence level we want: new Context { node: Q::Expr, tighter: infix:<=> }. (Each lhs and rhs of an = operator would thus form a context in which the next-tighter operator is the root of a Qtree. This is the Qtree that the junction operator wants to clone.

There are a lot of details to this to work out. For example, it strikes me that the junction operators have context precedence; that is, & binds tighter than | even when they are not next to each other. This would require further traits.
I'm thrilled at this development. We have all the parts already, and this is just a Simple Matter of Programming.

Needless to say, this will delay the evaluation of the macro. Given how actions fire in preorder, we will always encounter first the macro and then the context. (Although we might do better and see the context coming as we start parsing it. Not sure it matters.)
There are then three cases:

Contexts added by us to a container, or by the core language, like a loop body
Contexts corresponding to Qnodes
Contexts corresponding to a precedence level

Even #13, it seems to me, might fit into this scheme.
I haven't thought it all through, but it seems to me that amb is a macro in the statement category with Q::Block as its context. The code transformation amb then does is to (conceptually) cut-and-paste both itself and all the subsequent statements in that block into a fresh for loop. I figure all amb macros in a block should run in order; later ones need to get a refreshed-enough view of the program document that they realize that they are now in a new block from a few moments ago.
The assert of #13 need to undergo a similar treatment. They should just be replaced by if !cond { break; }.
I'm excited about this because suddenly these things are possible to have, and seem mostly sane. The code transformations themselves require extreme care, of course, since they are mutating the whole program tree — but it seems merely Very Tricky To Get Right, which we knew powerful macros would be anyway.

There are a lot of details to this to work out. For example, it strikes me that the junction operators have context precedence; that is, & binds tighter than | even when they are not next to each other. This would require further traits.

Or, even better, it wouldn't require further traits. We'd just re-use the equiv, tighter and looser that we already use for the regular precedence, since only context precedence makes sense for a contextual macro anyway.
The context sort of forms its own little bubble with special precedence rules. As a consequence,

A contextual macro is only allowed to declare a precedence based on other macros from the same context. Not from another context, not from no context.

The precedence ignores grammatical category; not only infix vs prefix/postfix, but anything can enter into the mix, such as statement macros. It's all about the order in which the macros fire.

Even associativity gets carried over in an interesting way. left associativity means that macros (on the same prec level) apply from left to right in the document, right correspondingly document-backwards, and non would mean that the co-occurrence of two macros on that level is a compile error. (An additional chaining associativity does not seem to have an obvious meaning, though. All macros fire together? Um. Let's at least punt that one.)

I like strange consistencies. This one seems especially fortunate.

In #210, we can pretend that the expression parser is a recursive descent parser, and then specify a Context at the exact precedence level we want: new Context { node: Q::Expr, tighter: infix:<=> }. (Each lhs and rhs of an = operator would thus form a context in which the next-tighter operator is the root of a Qtree. This is the Qtree that the junction operator wants to clone.

Re-reading #210, it seems to me we need the == (or equivalent) operator in order to do the transformation. So that one needs to be the root.
So it's probably new Context { node: Q::Expr, equiv: infix:<==> } in this case. And maybe the equiv shouldn't be called that, because maybe only equiv makes sense? Then it should be called level or something similar, which evokes the sense of a precedence level.
Here is my best effort for now at writing & and |:
BEGIN my junctions = new Context { node: Q::Expr, level: infix:<==> };

macro infix:<&>(lhs, rhs, context) is context(junctions) is tighter(infix:<==>) {
    my op = context.root.op;
    my opLhs = context.root.lhs;
    return quasi {
        {{{opLhs}}} {{{Q::Infix @ op}}} {{{lhs}}}
        &&
        {{{opLhs}}} {{{Q::Infix @ op}}} {{{rhs}}}
    };
}

macro infix:<|>(lhs, rhs, context) is context(junctions) is looser(infix:<&>) {
    my op = context.root.op;
    my opLhs = context.root.lhs;
    return quasi {
        {{{opLhs}}} {{{Q::Infix @ op}}} {{{lhs}}}
        ||
        {{{opLhs}}} {{{Q::Infix @ op}}} {{{rhs}}}
    };
}

Immediate thoughts:

When I write this, it does feel like we are working with two sets of precedence after all.

There's the regular precedence, which governs how the expression tree is formed and which has already done its job at the point the macro fires. That's the one I specified above.
And then there's the contextual precedence, which I didn't specify above but which also comes into play. That's the one that determines in which order the contextual macros in a given context get to fire. (In the above case, all infix:<&> operators should fire before any infix:<|> operator gets to fire.)
Hm, maybe contextual precedence should default to being the same as expression precedence. Somehow that feels sane. In this particular case they are the same, and probably that's a recurring pattern?

I tried to write this in a declarative way, rather than using the (underspecified) Qtree mutation API. Note in particular that it's the context root we're replacing in these macros. Not (as one might assume because that's what normally happens) the macro invocation itself.

We have a small problem with a type/instance homonym. "Context" refers to two things:

The thing that we instantiate with new Context, which helps tie together different macros under the same context. This is the generic/type meaning.
The thing a macro gets when it fires, which comes in as a context parameter and holds actual Qtree stuff. This is the specific/instance meaning.

Not quite sure how to resolve this one.

{{{opLhs}}} {{{Q::Infix @ op}}} {{{lhs}}}

No, that's not gonna fly. It assumes the junction operators are on the right of the ==. Likely, but not guaranteed.
I'm back to wanting to do it with a clone-and-substitute. Probably this is much closer to the mark:
return [lhs, rhs].map(-> e {
    context.root.cloneAndSubstitute(context.macro, e)
});

I'm having a related thought.
As I was describing class declarations in 007, that also felt like a situation in which the class body is a context of sorts, and all the has and constructor and method declarations inside it are macros that trigger within that context to build something together. A kind of parse-time evaluation, if you will.
But with one difference, it seems to me: the class body wants to replace itself, in its entirety, at the end, based on some data that the inner macros have collected.
(It feels to me like a parallel can be drawn with React or Angular's distinction between model and view. The contextual macros so far have been concerned purely with mutating the (Qtree) view, but class seems more concerned with building up a (data structure) model and then producing the view from that wholesale.)
Here is roughly what class wants to do.

Initialize extends, fields, constructor, and methods with empty default values.
Trigger all the contained macros, and let them populate these values.
Generate the Type(...) constructor call that will replace the class body in the code.

We have a small problem with a type/instance homonym. "Context" refers to two things:

The thing that we instantiate with new Context, which helps tie together different macros under the same context. This is the generic/type meaning.
The thing a macro gets when it fires, which comes in as a context parameter and holds actual Qtree stuff. This is the specific/instance meaning.

Not quite sure how to resolve this one.

Re this, I suggest we refer to the first thing as a host, which becomes the holder of the context, the second thing.
I'm less sure what to call the thing inside the host. Guest? Client? Tenant? But I do like the sound of "host", and it's actually not super necessary to have a name for the nested thing. We can just call it "the nested macro".
Specifically, "host" has a much warmer and living feel than something like "provider".
Inspiration taken from Angular's dynamically loaded components, which uses the "host" term.

Ok, I think I see this much more clearly now. Maybe not at the level of being able to provide an implementation all the way, but... pretty much.
I have two concrete use cases:

Loops in the language, both built-in and user-provided loops, provide an instance of LoopContext

(work in progress; will write the rest later)

Summarizing the summary: the context is an API carrier that gives the nested macro controlled read/write access to the containing macro.


[evm] Added test cases to reproduce bugs in external calls(#44)_18

Motivation
Added test cases to reproduce bugs in external calls
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
CI/CD tests are covered

/canary

:sunny: Canary successful

/land


QUESTION:How to use multiple admin LTE layouts?

I need to use different AdminLTE layouts for different pages with specific config files for those layouts. How can I do this by using this package?

If you need custom menuing per page, built it at runtime:
https://github.com/jeroennoten/Laravel-AdminLTE#menu-configuration-at-runtime
If you need different layouts per page, fixed, etc then you'll need to adapt your views and the structure of the package so you can set that per-view, example, see how you're able to set the page title per view, you'd need to do the same but for the layout.

Cleanup issue
If the issue is omnipresent in the coming version 1.26.x, please create a new issue.

I also need to have 2 config files to be able to set up 2 different menues.. any idea how to do it?

If your menu needs to be dynamically created, based on some sort of parameter, then you may use Menu Configuration At Runtime and setup an empty array on the config file.


QUESTION (noob): What can folks recommend for IMPORTING this to a tenant?

@merill and folks, this is awesome. What is the easiest way to import / restore this back in to an Entra ID tenant?

I was wondering this myself :)

Same question here, and in fact it makes me wonder what value a bunch of JSON files have without a way to process them back into the system.

We found Microsoft365DSC.com shortly afterwards. I think that might be your answer. 👍

@domcote @n9yty @GeldHades27355 - We are currently working on restoring these JSON files. We have already succeeded in doing this for several settings, e.g. for applications, auth methods, conditional access named locations, etc. Have you found a way to restore it in the meantime? I am open to an exchange of ideas.

Yeah - as previously mentioned: https://Microsoft365DSC.com.

Have you tried granular restores of settings? In case you just want to restore only specific settings out of your DSC export file.

Yeah no - haven't tried due to no need. We actually need full imports every time. Plus, DSC helps us keep target tenants aligned with our blueprint/baseline.
I DIDN'T say Microsoft365DSC was easy btw... it is NOT. 🤪 It expects advanced Powershell, Powershell DSC and Entra experience to work properly. But it's one of the few tools I am aware of that can programmatically dump and import most (if not all) key Entra settings.
There are other projects out there that have similar goals: https://github.com/KelvinTegelaar/CIPP with a fancy GUI and even support, as well as https://github.com/Micke-K/IntuneManagement, which does an excellent job of exporting and importing JSON for Intune with a really nice GUI on it. Maybe you can plug in to them?
Personally, I'm a huge fan of IntuneManagement. Seeing that you also use JSON to define the settings, I'd think it wouldn't be too hard to integrate with IntuneMangement - resulting in a tool that covers two of the major PITAs when managing multiple M365 tenants. 😁
Especially having a GUI for lesser coders would be a gamechanger IMHO.


Chromatic image appears

I'm not sure what is going on but every now and then when I use an avatar with this shader applied I and those around me will get a ghostly chromatic image of my avatar usually upside down in there FOV and it will only go away if I switch to a avatar that is not using cubed shader. I have no idea what triggers it as it seems to be completely random and when it happens people instantly start blocking me without giving me a chance to change avatars.

The issue is the double-sided flat lit toon shader. When using single sided there are no chromatic ghosts, and the ghosts are typically just the meshes that it was applied to and not the entire model. Certain map lighting causes unbelievable eye strain BUT you can trigger it on any map by just opening your menu (as far as I could see). This is VRChat we are referring to.

Just switched all my avatars over to noenoe shader since it does the same thing I want from cubed and sofar no no issues from it. Thanks for pointing out what the culprit is. I kinda need double sided shading on some of my avatars to correct for missing textures on the inside of sleeves and such. Hope it gets worked out because I did see another player with the same issue last night when they where briefly in the same world as me.

If you're in a pinch you can add an outline with a 0 pixel width then choose a "close enough" color from the color wheel for the "inside" of a texture. Works with any single sided shader.

For all the shaders (except the classic non-Lite version) you have to edit the shader and find #include "FlatLitToonCore.cginc" and replace with "FlatLitToonCoreLite.cginc". This fixed it for me.
The issue is in more detail in issue 43. The problem is a bug in the code that some #include are wrong for all the Lite shaders but only for the ForwardAdd pass not for ForwardBase. I believe it shows these weird effects when lighting passes disagree.
@SonyUSA cool trick because of how the outline is rendered on the back faces.

This should be fixed in Version 0.25.


[Question] Can longhorn support 0 replicas?

Hi,
Does longhorn support 0 replicas on the storageclass? We're trying to use it to replace the default local-path provisioner which does not support capacity limiting.
I've created my own longhorn storageclass with both 1 and 0 replicas, 1 seems to work but with 0 it defaults back to 3 replicas.
Are you able to clarify if this is doable?

I think you meant 1 instead of 0? 1 replica means no replication, the data only stored once.

My mistake. Misread when I had 1 replica, thought I had seen 2 replicas on 2 nodes. Thanks for getting back to me.


Only show marathon option for multiple video files

Currently you will be given the option to enable marathon mode for a torrent even if there's only one video in the folder and a readme or a jpg or something else in the folder.
Right now the only check to prompt marathon mode is if (engine.files.length > 1). One way to solve this would be to also check to see how many video files are in the folder. You'd need a list of all video file extension names and check how many of the files in the folder have one of those extensions.

Fixed this more or less. Now termflix checks if there are multiple files that have one of the following extensions before asking to open marathon mode: mp4, mp4, mkv, avi, mov, flv, f4v, m4p.
I can always add on to this list by just adjusting an array of extension names so it shouldn't be a problem in the future if this issue ever pops up again.
This should be included in the next release (v0.2.7).


fix: #5051 PR comments

PR for addressing comments on noir-lang/noir#5051

first commit solves

https://github.com/noir-lang/noir/pull/5051#discussion_r1626421881
https://github.com/noir-lang/noir/pull/5051#discussion_r1626423805

the suggested solution does not work since the code is using the ? operator and the type on which is operating is not the same as the one returned in the function - Option vs Result

second commit creates new AddressMap struct for abstracting the Vec<Vec<usize>> type that's needed to map between a DebugLocation and "virtual" addresses

this solves:

https://github.com/noir-lang/noir/pull/5051#discussion_r1626426246
https://github.com/noir-lang/noir/pull/5051#discussion_r1626447151
https://github.com/noir-lang/noir/pull/5051#discussion_r1626444611

@ggiraldez @mverzilli I added some explanatory comments but I'm not confident about them, so feel free to suggest to change them completely


feat(status_codes) Add friendly status code names

Added friendly names for status codes based on https://docs.python.org/3.0/library/http.client.html.
Closes #308

Thanks, this looks great! Before we merge this, could you squash all the changes down to a single commit? You can do a push --force to reuse the same PR if you like.

Minus the need to squash, LGTM.

Squashed. Thanks guys.

LGTM


Allow for json message format to store in root level of log object

It would be nice to have format options, so we can store json logs in the root level.
Instead of:
{
	"line": {
		"message": "app:start",
		"date": "2018-05-22 14:01:35",
		"file": "/opt/api/app/index.js",
		"line": 13,
		"severity": "info"
	},
	"source": "stdout",
	"tag": "docker_container_info"
}

We could instead have:
{
	"message": "app:start",
	"date": "2018-05-22 14:01:35",
	"file": "/opt/api/app/index.js",
	"line": 13,
	"severity": "info",
	"source": "stdout",
	"tag": "docker_container_info"
}

@mtalebi May I know more about your use case with the proposed format (save message size? or something else)? There could be potential conflict on the keys with the attributes (source, tag, etc) in this way.
Note that you can configure it in splunk with props and transform too.

@mtalebi @sharonx - Closing due to inactivity.

@dtregonning Could this issue be reopened? To my knowledge, Splunk doesn't support expanding nested JSON by default, so we'd need to manually click to expand each line field to view the message. Is there any workaround for this? As @cruisehall mentioned, those of us working within an enterprise do not always have the proper access to configure server-side transforms as suggested.


Updated project to Django 5.0.2 and made necessary changes to accommo…

This pull request aims to make the Django REST Auth project compatible with Django 5.0.2 and includes some other updates. The changes I've made are as follows:

Updated the code to make it compatible with Django 5.0.2 by adjusting for removed methods.
Added the force_str method to the rest_auth\serializers.py file.
Added the gettext_lazy method to the views.py file.
Replaced url functions with path functions in the urlpatterns list.

These changes ensure that the project is compatible with the latest Django version and enhances project stability by adjusting for removed methods.
I kindly request a review of this pull request and integration into the project's main branch.


xkeyboard-config: enable xkb rules symlink

Motivation for this change
The xorg.lst file is needed by the Enlightenment desktop environment in order to set keyboard layouts. xkeyboard-config should be configured with the flag --with-xkb-rules-symlink=xorg in order to provide it.
Fedora, Arch and Gentoo linux all use this configuration currently.
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)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] 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.

@grahamcofborg build xkeyboard_config

Success on x86_64-darwin (full log)
Attempted: xkeyboard_config
Partial log (click to expand)
make[2]: Nothing to be done for 'install-exec-am'.
 /nix/store/5lkrw9dnsgy62qm1ampvww1c5n1pdm4b-coreutils-8.29/bin/mkdir -p '/nix/store/lv7rmcghnb310n4sry3mkv5sksp96df5-xkeyboard-config-2.22/share/pkgconfig'
 /nix/store/5lkrw9dnsgy62qm1ampvww1c5n1pdm4b-coreutils-8.29/bin/install -c -m 644 xkeyboard-config.pc '/nix/store/lv7rmcghnb310n4sry3mkv5sksp96df5-xkeyboard-config-2.22/share/pkgconfig'
make[2]: Leaving directory '/private/tmp/nix-build-xkeyboard-config-2.22.drv-0/xkeyboard-config-2.22'
make[1]: Leaving directory '/private/tmp/nix-build-xkeyboard-config-2.22.drv-0/xkeyboard-config-2.22'
propagating requisites
post-installation fixup
strip is /nix/store/kdff2gim6417493yha769kh00n63lnrw-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/lv7rmcghnb310n4sry3mkv5sksp96df5-xkeyboard-config-2.22/lib
patching script interpreter paths in /nix/store/lv7rmcghnb310n4sry3mkv5sksp96df5-xkeyboard-config-2.22

Success on aarch64-linux (full log)
Attempted: xkeyboard_config
Partial log (click to expand)
make[2]: Leaving directory '/build/xkeyboard-config-2.22'
make[1]: Leaving directory '/build/xkeyboard-config-2.22'
propagating requisites
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/zxp54kj7n0y1hp5rkhd1ck7his5yvyv5-xkeyboard-config-2.22
strip is /nix/store/jk6j4lh9v5mvjdbdc35sj0zffhhf6s56-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/zxp54kj7n0y1hp5rkhd1ck7his5yvyv5-xkeyboard-config-2.22/lib
patching script interpreter paths in /nix/store/zxp54kj7n0y1hp5rkhd1ck7his5yvyv5-xkeyboard-config-2.22
checking for references to /build in /nix/store/zxp54kj7n0y1hp5rkhd1ck7his5yvyv5-xkeyboard-config-2.22...
/nix/store/zxp54kj7n0y1hp5rkhd1ck7his5yvyv5-xkeyboard-config-2.22

Success on x86_64-linux (full log)
Attempted: xkeyboard_config
Partial log (click to expand)
 /nix/store/jy9knxp7nmw80jkf932axrs1b4p9k4hi-coreutils-8.29/bin/install -c -m 644 xkeyboard-config.pc '/nix/store/203hgar6qvii3fhxk8bh8bwsqnhlxyp2-xkeyboard-config-2.22/share/pkgconfig'
make[2]: Leaving directory '/build/xkeyboard-config-2.22'
make[1]: Leaving directory '/build/xkeyboard-config-2.22'
propagating requisites
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/203hgar6qvii3fhxk8bh8bwsqnhlxyp2-xkeyboard-config-2.22
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/203hgar6qvii3fhxk8bh8bwsqnhlxyp2-xkeyboard-config-2.22/lib
patching script interpreter paths in /nix/store/203hgar6qvii3fhxk8bh8bwsqnhlxyp2-xkeyboard-config-2.22
checking for references to /build in /nix/store/203hgar6qvii3fhxk8bh8bwsqnhlxyp2-xkeyboard-config-2.22...


Fix menu background color in Day theme

This PR fixes #223.
Default menu background color in Day Theme before:

This PR fixes background color issue with menu as shown:

Automated message from Dropbox CLA bot
@yadav-rahul, it looks like you've already signed the Dropbox CLA. Thanks!

@Sam1301 @kunall17 Please review this PR.

@Sam1301 I not able to understand why this check is failed. Can you please provide me the hint so that I can fix it?

@yadav-rahul you can run gradle lintDebug from gradle menu. You'll get a build report generated in build outputs folder. Open the html formatted report in a browser and look for places where error has occurred.

Hey @yadav-rahul , did you get a chance to resolve the lint errors? We could chat about it in chat.zulip.org android stream :)

@yadav-rahul I could also see that the branch is not up-to-date with current master. Maybe try rebasing with master, since we added more lint checks recently.

@Sam1301 Done.

@Sam1301 @kunall17 Done.

@yadav-rahul FYI if you put Fixes: #223 in any of the commits of the PR, then issue would be automatically closed. So please include this if your PR fixes any existing issues. :)

@saketkumar95 PR also closes if in the comment body fixes #number is written
Read here: https://github.com/blog/1506-closing-issues-via-pull-requests

@kunall17 Ohh. Thanks for the info. :)

Works well!
Merged, thanks @yadav-rahul 👍


Error when downloading mqtt bridge for ROS2.

When im trying to build workspace using this command "colcon build --packages-up-to mqtt_client --cmake-args -DCMAKE_BUILD_TYPE=Release" for ROS2.
Im getting this error
"colcon build --packages-up-to mqtt_client --cmake-args -DCMAKE_BUILD_TYPE=Release
Starting >>> mqtt_client_interfaces
--- stderr: mqtt_client_interfaces
CMake Error at /opt/ros/foxy/share/rosidl_adapter/cmake/rosidl_adapt_interfaces.cmake:60 (message):
execute_process(/home/aexlab/anaconda3/bin/python3 -m rosidl_adapter
--package-name mqtt_client_interfaces --arguments-file
/home/aexlab/ros2_ws/src/build/mqtt_client_interfaces/rosidl_adapter__arguments__mqtt_client_interfaces.json
--output-dir
/home/aexlab/ros2_ws/src/build/mqtt_client_interfaces/rosidl_adapter/mqtt_client_interfaces
--output-file
/home/aexlab/ros2_ws/src/build/mqtt_client_interfaces/rosidl_adapter/mqtt_client_interfaces.idls)
returned error code 1:
AttributeError processing template 'msg.idl.em'
Traceback (most recent call last):
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 51, in evaluate_template
  em.BUFFERED_OPT: True,

AttributeError: module 'em' has no attribute 'BUFFERED_OPT'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/aexlab/anaconda3/lib/python3.9/runpy.py", line 197, in _run_module_as_main
  return _run_code(code, main_globals, None,
File "/home/aexlab/anaconda3/lib/python3.9/runpy.py", line 87, in _run_code
  exec(code, run_globals)
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__main__.py", line 19, in <module>
  sys.exit(main())
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/main.py", line 53, in main
  abs_idl_file = convert_to_idl(
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__init__.py", line 19, in convert_to_idl
  return convert_msg_to_idl(
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/msg/__init__.py", line 39, in convert_msg_to_idl
  expand_template('msg.idl.em', data, output_file, encoding='iso-8859-1')
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 23, in expand_template
  content = evaluate_template(template_name, data)
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 69, in evaluate_template
  _interpreter.shutdown()

AttributeError: 'NoneType' object has no attribute 'shutdown'
Call Stack (most recent call first):
/opt/ros/foxy/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:130 (rosidl_adapt_interfaces)
CMakeLists.txt:14 (rosidl_generate_interfaces)

Failed   <<< mqtt_client_interfaces [2.66s, exited with code 1]
Summary: 0 packages finished [3.53s]
1 package failed: mqtt_client_interfaces
1 package had stderr output: mqtt_client_interfaces
1 package not processed" ,
I even tried to use this "sudo apt install ros-galactic-mqtt-client" but got this error
"
[sudo] password for aexlab:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ros-galactic-mqtt-client".
i dont know why is this happening.
I was able to clone the repositary but can not build it.

Looks like you are trying to build for ROS 2 Foxy (although you are then trying to install it for ROS 2 Galactic?!). Either way, please have a look here: https://github.com/ika-rwth-aachen/mqtt_client/issues/27#issuecomment-1620651162

I was able to download the mqtt client on ros humble. but now when i am trying to connect with mqtt broker im getting this error
"phr7rng@RNG-C-001N7:~/ros_ws$ roslaunch mqtt_client standalone.launch
Traceback (most recent call last):
File "/usr/bin/roslaunch", line 34, in
import roslaunch
File "/usr/lib/python3/dist-packages/roslaunch/init.py", line 62, in
from .scriptapi import ROSLaunch
File "/usr/lib/python3/dist-packages/roslaunch/scriptapi.py", line 42, in
import roslaunch.parent
File "/usr/lib/python3/dist-packages/roslaunch/parent.py", line 54, in
import roslaunch.server
File "/usr/lib/python3/dist-packages/roslaunch/server.py", line 80, in
from rosgraph_msgs.msg import Log
ImportError: cannot import name 'Log' from 'rosgraph_msgs.msg' (/opt/ros/humble/local/lib/python3.10/dist-packages/rosgraph_msgs/msg/init.py)"
i also tried this command
"phr7rng@RNG-C-001N7:~/ros_ws$ ros2 launch mqtt_client standalone.launch.ros2.xml
ros2: command not found"

Something is not right with your ROS installation.
You said you installed it for ROS 2 Humble. But then you proceed to use "roslaunch", which is ROS 1. "ros2 launch" on the other hand, which is ROS 2, isn't installed at all.
Please consider wiping everything ROS-related and properly reinstalling ROS 2 Humble.
Please also note that alternatively you could also launch the mqtt_client in a Docker container, see README.


onionbalance: init at 0.2.0

Motivation for this change
Add onionbalance to nixpkgs.
Requires a newer version of Tor that hasn't released as stable yet. See #86267.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Looks like new Tor is in a month. https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/CoreTorReleases/043Status

I get a ModuleNotFoundError when running this. Never used onionbalance before, so I could be missing config, but I don't think so.
The error I get is:
Traceback (most recent call last):
  File "/nix/store/6sh0pn2ss0jqnjq4l5mzvrqfaj25ys6f-onionbalance-0.2.0/bin/.onionbalance-wrapped", line 6, in <module>
    from onionbalance.manager import main
  File "/nix/store/6sh0pn2ss0jqnjq4l5mzvrqfaj25ys6f-onionbalance-0.2.0/lib/python3.7/site-packages/onionbalance/manager.py", line 11, in <module>
    from setproctitle import setproctitle  # pylint: disable=no-name-in-module
ModuleNotFoundError: No module named 'setproctitle'

I build a module for onionbalance, but did not get around to test it yet. Feel free to use the module in this pr, as it either way depends on this.

Had to rebase it and change some things, but now it Works. But I created a new branch for the rebase: https://github.com/Kloenk/nixpkgs/commit/36c23e499ac2ff8b5452f2e41d4dff4c99d4a97a

Please rebase

I haven't thought about this in ages. Closing.


Add save logs option

Add an option to save logs to an external file. Like save_logs parameter which can be passed along with CLI. It could help in many ways and would help beginners to get help 🆘.
My ideas
It can easily be done by adding a file handler along with Rich handler but making it optional is a big thing.

I like this. This could also be easily implemented after #98


Let users delete issues they created as long as nobody else has touched changed them or posted about them.

I would suggest add closing the issue. This will allow reopening.
Although this will require certain statuses to be required.

For a database, checking the flag will be faster than deleting the entry with checks.

We are talking milliseconds, and then every user written query and report has to check a flag.


Database connection stay in memory while killing the process (windows)

please check singlton
https://github.com/pycontribs/tendo/issues/55
So sending a kill signal to process with sqlitedict will not close (not all the time) the db connection and the proccess can hang forever.
Causing the "singlton" lock file to no be removed.
What can cause it ?

@mpenkov do you know if I can close connection to DB after commit, and open when write ?
since connection is open all the time - the file is locked while proccess on

I don't think so, but why not try it and see?

This is the locking I use.
With sqlitedict I get the process stuck in memmory for up to 10 minute.
Without sqlitedict it removing this file immediatly:

So if no fix fore that I wil lswitch to peewee ...

@mpenkov

This is an example for the issue. all those db are file locked in, while process should been exit already.
How can I close the connection with auto-commit ?
I am also useing to peewee and  sqlite3  and I dont see that happens.


Provision to customize tooltip (which is by default like x,y).

Hi, Can we add custom tooltip for the graph, like the one with custom label and other customization. Thanks

you should work around ,
class fxChartMarker implements IMarker {
...
...
}
you should call like this
mFlght.chartController.marker = fxChartMarker(textColor:Colors.black54, backColor:Colors.black12, fontSize: 12.0, cnt: mFlght.chartController);

@MohdFaizan123  keskink is right


Namespace comments

…ch because of strange problem in dsuhinin:namespace-improvements branch.

This is a duplicate of #490


[bp/1.29] Only download go sdk when not using host sdk

Cherry-pick of https://github.com/envoyproxy/envoy/pull/32126

/retest

/retest

friendly ping @keith @phlax


Question, adding keystore/truststore to kafka-gitops CLI

Hi,
Im considering using this on our cluster with mTLS with certificates for authentication. Is it possible to pass truststore and keystore when running the kafka-gitops CLI?
Thanks,

I figured out that its possible, you need to set the following environment variables:
export KAFKA_SECURITY_PROTOCOL=SSL
export KAFKA_SSL_TRUSTSTORE_LOCATION=<path to truststore>
export KAFKA_SSL_KEYSTORE_LOCATION=<path to keystore>
export KAFKA_SSL_KEYSTORE_PASSWORD=<keystore password>
export KAFKA_SSL_KEY_PASSWORD=<key password>
export KAFKA_SSL_TRUSTSTORE_PASSWORD=<truststore password>
export KAFKA_BOOTSTRAP_SERVERS=$brokers_tls

Thank you!


Slack invite link in readme.md is stale

Attempting to join slack says: "This invite link is no longer active."

readme updated with the new link
https://join.slack.com/t/handesk/shared_invite/enQtMzg4MzE4ODcwNzg2LTlmZTk4NGRjZDA5N2ExYTI2ZDhhNzAyOThmMDM1YjgwZTMzZTQ5ZjkxNDVlNzIwY2ZkZWExN2U2NDUwNWFiOWU


Improve inspections

Extract inspections into plugin.xml
Add custom groups to inspection settings
Make abstract class for redundant modifier inspections
Improve inspection descriptions
Add @UtilityClass inspection & tests for it
Fix deprecated annotation inspection, now adds annotation params to new annotation

Image of the new custom groups:

Codecov Report

Merging #752 into master will increase coverage by 0.12%.
The diff coverage is 91.93%.

@@             Coverage Diff              @@
##             master     #752      +/-   ##
============================================
+ Coverage     69.99%   70.12%   +0.12%
+ Complexity     1801     1798       -3
============================================
  Files           200      203       +3
  Lines          6256     6269      +13
  Branches       1273     1275       +2
============================================
+ Hits           4379     4396      +17
  Misses         1265     1265
+ Partials        612      608       -4

Impacted Files
Coverage Δ
Complexity Δ

...v/intellij/plugin/inspection/LombokInspection.java
97.14% <ø> (+2.27%)
2 <0> (-3)
:arrow_down:

...spection/DeprecatedLombokAnnotationInspection.java
0% <0%> (-21.06%)
0 <0> (-4)

...n/inspection/modifiers/RedundantModifiersInfo.java
100% <100%> (ø)
5 <5> (?)

...antModifiersOnValueLombokAnnotationInspection.java
100% <100%> (ø)
1 <1> (?)

...spection/modifiers/RedundantModifiersInfoType.java
100% <100%> (ø)
3 <3> (?)

...fiersOnUtilityClassLombokAnnotationInspection.java
100% <100%> (ø)
1 <1> (?)

...n/modifiers/LombokRedundantModifierInspection.java
97.14% <97.14%> (ø)
2 <2> (?)

.../intellij/plugin/psi/LombokLightMethodBuilder.java
42.37% <0%> (-1.7%)
26% <0%> (-1%)

... and 3 more

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 f5e34c6...cabe3d3. Read the comment docs.

Thank you very much, it looks very good!

You're welcome, thank you! :)


Deleted files from list remain on list when pressing q to exit Harpoon

WARNING
If this is about Harpoon1, the issue will be closed.  All support and everything of harpoon1 will be frozen on master until 4/20 or 6/9 and then harpoon2 will become master
Please use harpoon2 for branch

As shown in the gif. First time deleting the files, I exit using q but I can still jump to the files. The second time, I delete the files and press enter. That's when the deleted files don't appear anymore.
If that's the intended behavior then that's ok, I just wanted to make sure that if it was, then it can possibly be fixed.

Gif looks really small so here's the actual video
https://github.com/ThePrimeagen/harpoon/assets/41880357/a555aa4a-a97b-4941-81be-81c7622aa8fe

I noticed this too, and am wondering if it's intentional. Like, 'q' is to close and discard changes. Writing to the harpoon buffer saves your changes though.

I noticed this too, and am wondering if it's intentional. Like, 'q' is to close and discard changes. Writing to the harpoon buffer saves your changes though.

There's a similar issue open here https://github.com/ThePrimeagen/harpoon/issues/433
Looks like there's a couple settings you can use to get the functionality you want. save_on_toggle and sync_on_ui_close. I haven't tried it though. https://github.com/ThePrimeagen/harpoon/issues/433#issuecomment-1861759784

I noticed this too, and am wondering if it's intentional. Like, 'q' is to close and discard changes. Writing to the harpoon buffer saves your changes though.

There's a similar issue open here #433
Looks like there's a couple settings you can use to get the functionality you want. save_on_toggle and sync_on_ui_close. I haven't tried it though. #433 (comment)

Ok, then yea, seems like the behavior is on purpose and save_on_toggle is what I'll need to use. Thanks for letting me know @rnwtn !!!


Backport Base64 encoder from v2 Bits

Resolves #41 for good. I propose this to be tagged as 1.1.2 so dependant libraries and apps can avoid crashes.

Thanks!


Can we read both QR code and Barcode using zxing library

Can we read both QR and bar code using zxing library,
Below i mentioned how I'm calling my Intent for scanning. It works only for bar code event the scan mode refers to 'All Types',
Intent intentSacn = new Intent(com.google.zxing.client.android.SCAN);
intentSacn.putExtra("SCAN_MODE", "ALL_CODE_TYPES");
If I use separate call for QR code is written means its  working for QR code only.
like dis:
Intent intentSacn = new Intent(ACTION_SCAN);
intentSacn.putExtra("SCAN_MODE", "QR_CODE_MODE");

If you are using the com.google.zxing.client.android.SCAN Intent, you are using the Barcode Scanner application directly: https://github.com/zxing/zxing
Please post your question there.


feat: update nodejs lambda to the latest standards and packages

Removing nodejs16.x as it's EOL in both NodeJS and not supported by AWS anymore.
Adds support to lock files for predictable builds.
Bump pipelines to node 18 (can be 20)
Update major version of lerna
Run npm run lint:fix

Might need to consider that as a breaking change with the nodejs16.x removal


Allow more control over .env loading message

I'm running automated pipenv run ... commands, and each and every time there is a Loading .env environment variables message.
Please, let me disable that message. pipenv run doesn't take switches nor is there a PIPENV_BARE environment variable, and so output of the message is unconditional.
Either support --bare for pipenv run, or better still, let me control pipenv output with an environment variable like PIPENV_BARE or PIPENV_QUIET.
What I don't want:

Having to disable .env loading with PIPENV_DONT_LOAD_ENV
Having to redirect stderr to /dev/null; the commands I run with pipenv run have to be able to use stderr too, and if the .env is corrupted or PIPENV_DOTENV_LOCATION is set I don't want error messages about those issues to be missed.

Second this one...

A third from me.

It seems that since 2022.3.23 the message is printed regardless of the presence of a .env file, and on stdout instead of stderr, making this even more of an issue

Super annoying, this just broke some CI pipelines for us.

@codl thanks for pointing this out--would be happy to accept a PR that doesn't output this message when quiet is PIPENV_QUIET however the change to stdout from stderr is because it is not an error message, it is proper functioning of pipenv to load the .env file.   I'd also be fine with it not outputting the message when there is no .env file to load.   You can see the PR that changed this behavior to fix a different issue:  https://github.com/pypa/pipenv/pull/4979/files
@Project0 When you are using pipenv for CI pipelines you should probably have the version pinned to prevent a new release from breaking you, especially if you are dependent on the values of stdout not changing.  For example, we will be removing crayons library and converting everything to use click.echo in a subsequent release, and there is a big chance this will again chance some stdout messaging, so wouldn't want you to break when this happens.
We plan to have another release in a month, so if its something we can get approved/merged before then it will be included.   Let me know if no one from this group is able to make such a change and we can indicate it is something that should be done, maybe I can do it too when I free up.

@codl and @Project0  Actually there is another issue report of this affecting requirements.txt generation so its a higher priority than I indicated prior and its out for PR now if you would have a look -- I adjusted it to only print the statement if the .env file is present.  Can you check if the linked PR branch suites your needs?

The fix for this has been released under pipenv==2022.3.24

The fix for this has been released under pipenv==2022.3.24

When PIPENV_QUIET=1 it doesn't load the .env file at all...

Thanks @nomis waiting on an upstream setuptools issue affecting the CI to get sorted before we can merge the fix into main

The fix for this has been released under pipenv==2022.3.24

When PIPENV_QUIET=1 it doesn't load the .env file at all...

That bug was fixed here: https://github.com/pypa/pipenv/pull/5010


Updating order of examples

What are you changing in this pull request and why?
Standardizes the project.yml file as the first example on a few pages where it's listed after the models example.
Closes https://github.com/dbt-labs/docs.getdbt.com/issues/4417
Checklist

[x] Review the Content style guide and About versioning so my content adheres to these guidelines.
[x] Add a checklist item for anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch."

Much easier to read! Only one comment for Analyses here is there no dbt_project example?

I'll ask in a follow up - this doesn't have one in prod today so I'm not sure if it's missing or not required

Much easier to read! Only one comment for Analyses here is there no dbt_project example?

I'll ask in a follow up - this doesn't have one in prod today so I'm not sure if it's missing or not required

Good eyes @runleonarun!
The reason is that analyses can't be configured within dbt_project.yml:

There's a distinction between attributes we call "configs" and attributes we call "properties," in that "configs" can be set for many resources at once in dbt_project.yml, and "properties" can only be set for one resource at a time. The fact is that macros and analyses only have properties, and that's why they cannot be configured from dbt_project.yml.

@dbeatty10 always such a great teacher! Thanks for the explanation


Phonegap Build error because plugin requires gradle.

Using phonegap build, I am not able to build my application because of this error:
Error - One of your plugins required the gradle android build tool to build - You can fix this here

After doing some investigation, it seems that I need to get my android builds to be done through gradle. PGB says that they support it now: http://community.phonegap.com/nitobi/topics/gradle-support-enabled-for-android-builds as long as you have the right configuration in you config.xml
These are the preferences I'm using:
    <preference name="android-minSdkVersion" value="14" />
    <preference name="android-build-tool" value="gradle" />

which I think is enough to require gradle. I know this is mostly a PGB issue - it's not building with gradle like it says it should, but this plugin is the surface-level reason for this error and I'm wondering if any other users of this plugin have gotten it to work with PGB.
Side note that may be important is that I'm using 3.7.0 version on phonegap. Not sure if that is a requirement for gradle builds in PGB.
<preference name="phonegap-version" value="3.7.0" />

First, the official post on PGB specifies that gradle builds only work on PG.version >= 4.0.0, check here. As you said your project is using PG.version === 3.7.0, that's enough for it to not be officialy supported.
However, even if your PG.version matched the requirements, it seems like gradle builds on PGB went downhill after being enabled, as they found out stability wasn't on par. I saw you posted a comment on that thread, so you're actually following the situation (that is, considering this post actually belongs to you).
I'm closing this since this is not really an issue with the plugin itself, but rather with PGB's support for gradle builds. If anything, you can specify version 1.2.3 of phonegap-plugin-push, as that was the last version of the plugin to not require gradle builds:
<gap:plugin name="phonegap-plugin-push" source="npm" version="1.2.3" />

@fredgalvao, thank you for the info!


increase bg gc check interval

What problem does this PR solve?
Issue Number: close #5057
Problem Summary: The background gc check interval is too short and may consume some unnecessary resource consumption.
What is changed and how it works?
Increase background gc check interval from 5 seconds to 60 seconds.
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/merge


Enabling accessibility service disables alarm dismiss

I've noticed that when I enable the accesibility service the alarm/timer dismiss stops working. Turning the watch bezel does nothing, and trying to dismiss the alarm with the on-screen buttons also does not work. If I disable the accesibility service it starts working again. Maybe it's not a bug of the app itself, but of the Wear OS 3

I'm having trouble replicating this (that said I have a non class GW4, so I don't have a physical bezel).
Do you have any additional information that could be helpful?

I think this has been happening to me when I was playing around with the app.
However, I could dismiss by tapping the X button, but I could not dismiss by swiping the X away.

I can confirm that I have the same problem. (also the Watch4 Classic, 46mm in my case)
Using the bezel and swiping works just fine in normal use, but as soon as the alarm goes off I can't dismiss it neither by swiping nor by rotating the bezel. Only tapping the x-icon works as @matejdro mentioned.

Hi,
I'm experiencing the same problem.
GW4 Classic 46mm
Best Regards

Is this still not resolved?  It is inconvenient to turn off the alarm.  Also annoying screen lock sound.  I don't need sound at all.

@Beskrov have you tried the v2.0 alpha as I don't have a classic I can't verify if this has been fixed.

@Beskrov вы пробовали альфа-версию версии 2.0, поскольку у меня нет классической версии, я не могу проверить, было ли это исправлено.

Tried now.  The problem persists.


output is colored incorrectly for white background

Running the following commands in Windows terminal produces this output:

Running the same commands in platformio produces a different output:

I've tried with many different color combinations, it only seems to be wrong when background color is white.  For other colors, only the background=white is wrong. You can see that in the first command, it's not black-on-black it's white-on-black instead of white-on-red.
In case it makes a difference, my color settings are:

Ansi Normal: 128

Ansi Normal White: 192

Ansi Z Bright: 255

Ansi Z Bright Black: 128

Ansi Z Bright Blue: 64,64,192

Also @mattfg if issue persists with 2.9.0,
Please update your ticket with the information requested in https://raw.githubusercontent.com/platformio/platformio-atom-ide-terminal/master/.github/ISSUE_TEMPLATE.md

Persists with 2.9.0
I've updated the post with as much of the information you asked for as I knew how to collect. I didn't know how to default my settings, and I would rather avoid that unless there's a way to get them back later, but I did at least disable all other packages.
I don't know what you mean by "paste my atoms".

I don't know what you mean by "paste my atoms".

=) idk where you got "paste my atoms" from, but I meant paste Atoms configuration just in case some portion may be helpful (keeping any private info out (if any exists).
As for resetting Atom, follow https://flight-manual.atom.io/hacking-atom/sections/debugging/#reset-to-factory-defaults
You can first make a backup which you can restore after, should you need/want to, that is the recommended procedure by Atom and we wouldnt ask you to nuke everything without a backup. =).
Then reinstall platformio-ide-terminal 2.9.0 via apm in a terminal.
I can actually confirm this issue however, I suspect its term.js a current dependency of the project which is no longer maintained/abandoned for last 4/5 years.
We could switch to xterm,js as https://github.com/platformio/platformio-atom-ide-terminal/issues/426 details, but the API has changed and implementation requires a semi experienced js coder willing to work on this.
@ivankravets Ive confirmed this issue, could you have a look please?


[Tabs] Added single tab color

✅ Closes: #393

:tada: This PR is included in version 10.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Give users a clearer note why the connection fails

After the update to 5.2 many people have connection problems, most likely because their mailservers
only support weak ciphers that are no longer supported.
Some others report problems with Google which can't be weak ciphers.
I would appreciate a note that states clearly why the connection fails and maybe even encourages the user  to go to the mailserver provider and fix the problem at the rooot.

See #1058 and #893


[Feature Request] [Tickets] Multiple panels on single message

It would be very useful if we could utilize a single message to host multiple different ticket panels/buttons that behave different.
This would allow members to select what type of ticket they are opening so it can be directed to the correct category/team for remediation immediately. Thank you for considering.

The cog will act as it does now, except now when adding a panel, you can specify a message that already has a button on it and that button will be added to it.


stop dependabot PRs

We aren't currently using this app so don't need all the PRs. if/when we come back to this repo, we should turn dependabot back on

cant merge it because the app is broken lol 🙃

superceded by #232


Create a lot of labels called GL_INVALID_OPERATION

var viewer = new Cesium.Viewer('cesiumContainer');

for(var i = 0; i < 10000 ; i++){
    viewer.entities.add({
        position : Cesium.Cartesian3.fromDegrees(-75.1641667, 39.9522222),
        label : {
            text : 'Philadelphia' + i
        }
    });
}

@jasonbeverage could this be related to recent SDF changes?
CC @lilleyse

It looks like this goes all the way back to 1.15 when billboards first became instanced. The Billboard Instancing dev sandcastle has the same error messages. I'll try to look into this when I have a chance.

Turns out this error doesn't show on windows/ANGLE which is why I didn't notice it happening during development. But it's a legit issue and fixed in https://github.com/AnalyticalGraphicsInc/cesium/pull/8325.


feat(Android): add support for invert colors check on android accessibility

Summary:
This PR provides a fix for the long existing issue of missing check for invert color in accessibility options on Android.
Reference Issue : https://github.com/facebook/react-native/issues/30870
Changelog:

Added native module code to check for invert color settings value
Updated js module to return a proper promise instead of default false for isInvertColorsEnabled()

Pick one each for the category and type tags:
[ANDROID] [FIXED] - Missing isInvertColorsEnabled implementation for Android
For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->
Test Plan:
Tested on OnePlus 12 with Android 14 and Pixel 6 with Android 15. The try catch exists because in some cases if the switch hasn't been toggled before the android system raises the missing settings exception.

Hello all, this is my first PR here. If there is something that can be improved please let me know. I've triaged a list of small implementations that are missing on android regarding accessibility and aim to add support for all of them. This is a first for the same.

I have now signed the CLA 👍

@cortinico apologies if the tag is unnecessary, but can you let me know if all is well here?

Sure 👍🏾
Will update the PR soon.
Thanks a lot!

@cortinico done. I've moved the test to common scope. On running jest locally, this test seemed to pass well, however some other tests were failing. 🤔

fixed an incorrect usage of content resolver ^

@cortinico sorry for the tag again, please lmk if all is good now 🙏🏾

Is there anything I need to do to fix the failing linter and test workflows ?


ng overwrites/hides Windows Command Prompt title

🐞 Bug report
Command (mark with an x)

[x] new
[x] build
[x] serve
[x] test
[x] e2e
[x] generate
[x] add
[x] update
[x] lint
[x] extract-i18n
[x] run
[x] config
[x] help
[x] version
[x] doc

Is this a regression?

No. As far as I can tell this would have been an issue for as long as Angular CLI has been using process.title = 'something';.
Description
Node's process.title overwrites the entire window title in Windows Command Prompt, which is non-standard behaviour, and makes it very difficult to identify similar windows.
Standard Windows Command Prompt behaviour is to show "{title} - {command}", and this works perfectly if I comment out or remove any reference to process.title, for instance in packages/angular/cli/bin/ng:
// Provide a title to the process in `ps`.
// Due to an obscure Mac bug, do not start this title with any symbol.
try {
  process.title = 'ng ' + Array.from(process.argv).slice(2).join(' ');
} catch (_) {
  // If an error happened above, use the most basic title.
  process.title = 'ng';
}

🔬 Minimal Reproduction

Open a Windows Command Prompt using cmd.exe.
Set the title of the window using the title command (e.g. title My Angular App).
Run any ng command (ng version, ng build --watch, etc...)
While ng is running, the title of the window is completely replaced by whatever ng command was run.

Technically, step 2 is not required to exhibit this bug. I mention it merely to demonstrate why I'm using it (as mentioned in the "Anything else" section below). It happens even with the default title when the window opens.
🌍 Your Environment
From systeminfo:
OS Name:                   Microsoft Windows 10 Enterprise
OS Version:                10.0.18363 N/A Build 18363

From ng version:
Angular CLI: 9.1.1
Node: 13.3.0
OS: win32 x64

Angular: 9.1.1
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, router
Ivy Workspace: Yes

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.901.1
@angular-devkit/build-angular      0.901.1
@angular-devkit/build-ng-packagr   0.901.1
@angular-devkit/build-optimizer    0.901.1
@angular-devkit/build-webpack      0.901.1
@angular-devkit/core               9.1.1
@angular-devkit/schematics         9.1.1
@angular/cdk                       9.2.0
@angular/flex-layout               9.0.0-beta.29
@angular/material                  9.2.0
@angular/material-moment-adapter   9.2.0
@ngtools/webpack                   9.1.1
@schematics/angular                9.1.1
@schematics/update                 0.901.1
ng-packagr                         9.0.0
rxjs                               6.5.4
typescript                         3.7.5
webpack                            4.42.0

Anything else relevant?
I assume this only affects Windows. The current behaviour is extremely frustrating because I run multiple apps at the same time, each in a separate window, which I've named "Custom App 1", "Custom App 2", etc..., but once they all start running, each window is identically named "ng build --watch". It's really hard to observe them when I don't know which one is which.

Actually, I also had to comment out the following use of process.title from ngcc as well, in compiler-cli\ngcc\main-ngcc.js:
    // CLI entry point
    if (require.main === module) {
        // process.title = 'ngcc';    // <--- commented out
        var startTime_1 = Date.now();

Otherwise, the window title would just be the very useless "ngcc".
With those two places commented out, it now works great.

@wqoq What is the title when you comment out the code for process.title and run ng commands in Windows command prompt?
We set process.title so that the process is easily identifiable in the Windows Task Manager or MacOS's Activity Monitor.
While we understand that this might not be very useful for you in Windows Command Prompt, it has worked well in other shells and operating systems. Have you explored the option of using a different shell such as PowerShell, Cygwin, or Windows Subsystem for Linux (WSL)?
Since the behavior of setting process.title varies from OS to OS, there's very little we can do to fix this problem. Thanks for your understanding.

@kyliau I generally run ng in watch mode, so the process stays running.

If I leave all process.title code untouched, my window titles change to "ngcc".
If I comment out the process.title line from ngcc, my window titles change to "ng build {project-name} --watch".
If I comment out the process.title lines from both ngcc and ng, my window titles change to "{window-title} - ng build {project-name} --watch".

So I would argue that using process.title, especially in scenario (1), does not make the process easily identifiable, because I have multiple processes running, all named "ngcc". Which is which? Hopefully you see my problem.
Commenting it out of ngcc, as in scenario (2), gets me some of the way there. I can at least see which project is running in each window.
But I would ideally prefer to run them in scenario (3), where my custom title isn't overwritten.
I don't think switching to another shell is the solution. I just tried Powershell, and the exact same scenarios happen the exact same way. Indeed, process.title is doing exactly as it is designed to do—overwrite the window title. I even opened an issue with Node.js to suggest process.title is doing the wrong thing in Windows, but they disagreed and suggested the problem lies in how each package is using process.title.
If you're aware the behaviour of setting process.title varies from OS to OS, then it seems to me like you shouldn't be using process.title at all. And like I stated originally, things work perfectly if I make it stop using process.title.
Also, FYI, I find it incredibly rude to ask me questions, and then immediately close the issue. Makes me feel like you're not interested in hearing my answers.

@wqoq my apologies, I definitely didn't mean it that way.
Based on your description, it looks like we set process.title to ngcc while ngcc was running, but never switch it back to the original title after ngcc is done, and that's the crux of the problem. CLI itself did change the process.title, but as you mentioned, there's minor difference between (2) and (3). I can see how this is annoying. I'll bring this up for discussion with the team.

Just tested this on my Windows box:
Using WSL with Ubuntu in Windows Terminal, I always saw ng as the title, even when ngcc was running. I think lines up with what we've seen on *nix systems.
I tried command prompt and PowerShell both in their traditional windows and with Windows Terminal. In all cases, running ng serve on a fresh project should show ng serve, ngcc, and even ngcc (worker) as the window titles. Actually the ngcc (worker) seemed to continue to display, even after ngcc actually completed. That means that running rimraf node_modules\ && npm install && ng serve will settle on ngcc (worker) as the terminal title. Since ngcc only runs the first time though, subsequent ng serve commands will display the title ng serve. It also clobbers a previously set title via the title command, but the title is restored after killing ng serve.
Playing around a little more, I made a simple test Node script to compare the default value of process.title with the title displayed in the terminal UX:
// test.js
console.log(process.title);
setTimeout(() => {}, 5000); // Hang for 5 seconds just to observe terminal title.

And then executed it by setting a custom title first.
In cmd.exe, running title My Custom Title && node test.js displays: My Custom Title  - node  test.js (note the two spaces before the - and between node and test.js, which appear to be completely arbitrary. I observed the same string in the terminal title UX. This is the same in the default window and in Windows Terminal.
In PowerShell, running $host.ui.RawUi.WindowTitle = "My Custom Title"; node test.js displays My Custom Title on its own, with no command line info. this is also the same in Windows Terminal.
In all cases setting process.title = "Foo" will update all title UX display to just "Foo". No shell seems to do anything to format this string.
The NodeJS docs seem to interpret process.title as a means of setting the process name, rather than a terminal title. There's probably some complex history about why these two concepts are coupled, but I don't have context on what that might be.
The UX here is definitely awkward, though I'm not convinced we're doing anything wrong. It seems to me that cmd shell simply sets a default title to " - ". Once a process overwrites that value, the existing title is lost. PowerShell doesn't set this default and Unix doesn't either, so it seems to be an idiosyncrasy of cmd in particular. Even if we changed our usage of process.title, I don't think we can conditionalize on if (runningInCmdButNotPowerShell()) { /* ... */ }. Our options would either be 1) leave as is, 2) don't set process.title on Windows at all, meaning Task Manager would list it as node and PowerShell would still be different from cmd.
I see four distinct bugs which are potentially actionable to create the behavior you want.

Update cmd to always append a new process title to any previous title invocation.

This means that running title Foo && node -e "process.title = 'Bar';" would yield Foo - Bar. How a title gets displayed is the cmd shell's decision.

Update Windows Terminal to always append a new process title to any previous title invocation.

This is arguably a terminal bug rather than shell bug as it has to do with the UX of a label. Although I'm not entirely sure where the line is between cmd and Windows Terminal with regard to the window title. title Foo and node -e "process.title = 'Foo';" may be indistinguishable to Windows Terminal.
This wouldn't help with cmd.exe however.

Updates cmd to "pop" child process titles.

ngcc (worker) sticks around after it has died, which is pretty weird. I'm guessing cmd is using a "last one wins" mentality when it should probably use a "last one from a still-alive process wins".

Re-set process.title = 'ng serve ...'; after ngcc completes.

This can actually be done by Angular, and would fix the ngcc (worker) problem, but it is definitely hack and makes no logical sense that we would need to do that.

Fundamentally, the problem here is that process.title refers to both the process title and the terminal title, despite these being two distinct strings which may want to be different things. cmd further complicates this by behaving differently that other shells and giving a default value which (while convenient) is not a persistent format as the title is changes from subprocesses. Based on this, I'm not convinced our current usage of process.title is wrong or that anything necessarily needs to be changed there.

We discussed these findings in our team meeting and our consensus is that this is mostly a cmd bug. We can only set the process name, not the terminal title. So it is up to the terminal environment to decide how to display that as a title. cmd is just a bit inconsistent between its default value and what it displays after a new value is set. We also can't really distinguish whether we are invoked from cmd or PowerShell, and they have different title behavior in this regard.
There is definitely a usability issue here, particularly around displaying ngcc (worker). As a result, we do believe option 4. is worth doing. It shouldn't be necessary to re-set process.title and is indicative of a bug in cmd, but it is pretty easy to do, is harmless to other terminal emulators, and gives a more meaningful title to users.


feat: handle invalid semver, support go run/install/gobin

What this PR does / why we need it
This PR makes the updater disable itself when an invalid version is provided. I also updated app to source version information, if not linked in, from the go module. This lets go run and (theoretically, I can't test w/o a release) work on go install (and go run <module>@<revision>). Unclear if this will support gobin, but it'll at least make --skip-update a valid argument.
Example on a locally compiled version of smartstore w/ replace for this version:
$ go run ./cmd/smartstore updater status
Version: (devel)
Channel:  ()
Updater Status: disabled (failed to parse current version as semver: Invalid Semantic Version)
Last Update Check: Mon, 26 Sep 2022 18:11:52 UTC

Jira ID
DT-2907

Notes for your reviewers

Pull Request Test Coverage Report for Build 13f010cb-89bd-4474-8a40-9d0c19bdc812

14 of 20 (70.0%)  changed or added relevant lines in 2 files are covered.
11 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.03%) to 62.242%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/cli/updater/updater.go
12
13
92.31%

pkg/app/info.go
2
7
28.57%

Files with Coverage Reduction
New Missed Lines
%

pkg/cli/updater/updater.go
3
61.29%

pkg/trace/trace.go
8
65.74%

Totals

Change from base Build 18bd2991-3071-41b7-b386-49b269a97239:
-0.03%

Covered Lines:
2832

Relevant Lines:
4550

💛  - Coveralls


Leave mattermost team when all channels left test sometimes fails

See node 10.16 on https://github.com/dalcde/matrix-appservice-mattermost/runs/1049377207
This seems to only happen with node 10.16

In the aforementioned log, we see
2020-08-31 03:27:50,624 - synapse.access.http.8008 - 291 - INFO - POST-35 - <IP_ADDRESS> - 8008 - {@matrix_a:localhost} Processed request: 0.037sec/0.000sec (0.002sec, 0.001sec) (0.002sec/0.006sec/5) 2B 200 "POST /_matrix/client/r0/rooms/!dKcbdDATuwwphjRPQP%3Alocalhost/leave?access_token=<redacted> HTTP/1.1" "-" [0 dbevts]
2020-08-31 03:27:50,648 - synapse.http.client - 283 - INFO - as-sender-matrix-appservice-mattermost-9 - Sending request PUT http://appservice:9995/transactions/11?access_token=<redacted>
2020-08-31 03:27:50,650 - synapse.access.http.8008 - 291 - INFO - POST-36 - <IP_ADDRESS> - 8008 - {@matrix_a:localhost} Processed request: 0.060sec/0.003sec (0.003sec, 0.000sec) (0.001sec/0.009sec/5) 2B 200 "POST /_matrix/client/r0/rooms/!kmbTYjjsDRDHGgVqUP%3Alocalhost/leave?access_token=<redacted> HTTP/1.1" "-" [1 dbevts]
2020-08-31 03:27:50,657 - synapse.http.client - 316 - INFO - as-sender-matrix-appservice-mattermost-9 - Received response to PUT http://appservice:9995/transactions/11?access_token=<redacted>: 200
2020-08-31 03:27:50,676 - synapse.access.http.8008 - 291 - INFO - GET-38 - <IP_ADDRESS> - 8008 - {@matterbot:localhost} Processed request: 0.007sec/0.001sec (0.000sec, 0.000sec) (0.002sec/0.004sec/1) 498B 200 "GET /_matrix/client/r0/rooms/!kmbTYjjsDRDHGgVqUP%3Alocalhost/joined_members?access_token=<redacted> HTTP/1.1" "-" [0 dbevts]
2020-08-31 03:27:50,678 - synapse.access.http.8008 - 291 - INFO - GET-37 - <IP_ADDRESS> - 8008 - {@matterbot:localhost} Processed request: 0.009sec/0.002sec (0.001sec, 0.000sec) (0.003sec/0.004sec/1) 498B 200 "GET /_matrix/client/r0/rooms/!dKcbdDATuwwphjRPQP%3Alocalhost/joined_members?access_token=<redacted> HTTP/1.1" "-" [0 dbevts]
2020-08-31 03:28:19,204 - synapse.metrics - 541 - INFO -  - Collecting gc 1

after which the test times out.
Here matrix correctly received two leave requests, but only sends out one message to the appservice. A transaction is allowed to contain multiple events, but perhaps something isn't handling the event properly.

The bug is reproduced on Node 14.9.0

As per 4d6c5db, tests should no longer fail this way, but the problem itself is not solved

See also https://github.com/dalcde/matrix-appservice-mattermost/runs/1112663362 and https://github.com/dalcde/matrix-appservice-mattermost/runs/1104752248


"Update Website Description and Center Align 'Word of the Day' Section"

The current website design lacks a short and engaging description for SEO and user engagement.
I have added a short description for better SEO. The description is suitable to work on dark  mode  using the :root and .dark-mode selectors.

Additionally, the 'Word of the Day' section is not centered, affecting the overall layout and aesthetic of the page. I have also changed the font style to make it more user appealing

Pls assign both hacktoberfest as well as gssoc ext label


Python 3.7 Filechooser error

Versions

Python: 3.7.1
OS: Windows 10
Kivy: 1.10.1
Kivy installation method: PIP

Description
When I run kivy filechooser it runs succesfully but shows error 'pywintypes error'.
Code and Logs
[INFO   ] [Logger      ] Record log in C:\Users\farha\.kivy\logs\kivy_18-12-23_121.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] GLEW initialization succeeded
[INFO   ] [GL          ] Backend used <glew>
[INFO   ] [GL          ] OpenGL version <b'4.6.0 NVIDIA 388.43'>
[INFO   ] [GL          ] OpenGL vendor <b'NVIDIA Corporation'>
[INFO   ] [GL          ] OpenGL renderer <b'GeForce GT 1030/PCIe/SSE2'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version <b'4.60 NVIDIA'>
[INFO   ] [GL          ] Texture max size <32768>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Base        ] Start application main loop
[ERROR  ] unable to access to <\hiberfil.sys>
Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\kivy\uix\filechooser.py", line 178, in is_hidden
    return GetFileAttributesEx(fn)[0] & FILE_ATTRIBUTE_HIDDEN
pywintypes.error: (32, 'GetFileAttributesEx', 'The process cannot access the file because it is being used by another process.')
[ERROR  ] unable to access to <\pagefile.sys>
Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\kivy\uix\filechooser.py", line 178, in is_hidden
    return GetFileAttributesEx(fn)[0] & FILE_ATTRIBUTE_HIDDEN
pywintypes.error: (32, 'GetFileAttributesEx', 'The process cannot access the file because it is being used by another process.')
[ERROR  ] unable to access to <\swapfile.sys>
Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\kivy\uix\filechooser.py", line 178, in is_hidden
    return GetFileAttributesEx(fn)[0] & FILE_ATTRIBUTE_HIDDEN
pywintypes.error: (32, 'GetFileAttributesEx', 'The process cannot access the file because it is being used by another process.')
[INFO   ] [GL          ] NPOT texture support is available
[ERROR  ] unable to access to <\hiberfil.sys>
Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\kivy\uix\filechooser.py", line 178, in is_hidden
    return GetFileAttributesEx(fn)[0] & FILE_ATTRIBUTE_HIDDEN
pywintypes.error: (32, 'GetFileAttributesEx', 'The process cannot access the file because it is being used by another process.')
[ERROR  ] unable to access to <\pagefile.sys>
Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\kivy\uix\filechooser.py", line 178, in is_hidden
    return GetFileAttributesEx(fn)[0] & FILE_ATTRIBUTE_HIDDEN
pywintypes.error: (32, 'GetFileAttributesEx', 'The process cannot access the file because it is being used by another process.')
[ERROR  ] unable to access to <\swapfile.sys>
Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\kivy\uix\filechooser.py", line 178, in is_hidden
    return GetFileAttributesEx(fn)[0] & FILE_ATTRIBUTE_HIDDEN
pywintypes.error: (32, 'GetFileAttributesEx', 'The process cannot access the file because it is being used by another process.')

This is related to issue #5873

Been using Filechooser since a while but never came across such issue. Seems like kind of permission issues. Consider providing snippet to reproduce the problem.

This is trying to read every possible file to build the folders tree, therfore it's going through the whole system. These files are meant to be locked and not accessible as it can cause all sorts of issues, hence you get the error. Don't worry about it, but don't give it access anyway.

Is there any plan to resolve this? It does not present well when it prints "ERROR" on the console.

I put this as the file chooser's filter parameter and the errors don't come up anymore
filters: ["!*.sys"]


lean-cli uses "lean backtest trade-spy" stuck at downloading e7b197a24fee from docker repo

Expected Behavior

Ran "lean backtest trade-spy" and download from docker repo to run backtest locally.
Actual Behavior

Stuck at downloading e7b197a24fee from docker.
Reproducing the Problem

I have no idea how to 100% reproduce this error. I am using Apple Macbook Pro, M2 chip.
System Information

Apple Macbook Pro, M2 chip. Sonoma 14.0
Checklist

[V] I have completely filled out this template

[V] I have confirmed that this issue exists on the current master branch

[V] I have confirmed that this is not a duplicate issue by searching issues

[V] I have provided detailed steps to reproduce the issue

After a day, i closed the docker and retry by running the same command. It now finished downloading and ran successfully. This thread is closed.


Remove extraneous flags from dartdoc invocation

Dartdoc's --include-external flag has apparently been a noop for some time (see dart-lang/dartdoc#1790 for changes), and the only purpose of --show-warnings is to display warnings that are known to be buggy anyway (which the tool then promptly filters out).  Verified by comparing the outputted documentation.
Remove those flags and simplify the helper script in flutter just a bit.

Nice!  Thanks!
Will this get rid of the "treating generic as HTML" warnings?

Yes.  They're disabled by default anyway, the only thing --show-warnings does is turn that particular warning on.  (Other warnings are on by default, because they're assumed to be more likely to be useful).


[8.x] Adds new RequestSent and ResponseReceived events to the HTTP Client.

Hey guys,
This PR adds two new events, RequestSent and ResponseReceived, which are dispatched by the Http Client.
RequestSent
The RequestSent event is fired when any request is made when calling any of the following Http Client methods: 'get', 'head', 'post', 'put' and 'delete'. It receives the HTTP method, URL, and any sent options.
ResponseReceived
The ResponseReceived event is fired when a successful response is returned from the Http Client. It receives the Response instance.
What are the benefits?
These two events allow a 3rd party package to listen for and react to HTTP Client requests. I can see it being used for debugging, logging, performance monitoring, service downtime analysis and more.
I decided to contribute this when I went to create a PR for the spatie/laravel-ray package to allow monitoring of Http Client requests only to realise there wasn't a way to do so.
As always, thank you very much for all the hard work and for considering my PR.
Regards,
Luke

Renamed to RequestSending (it is dispatched slightly before the request is actually sent), and moved its location to sendRequest method in case of promise usage. Otherwise, the event would have fired before the request was actually sending, which could have been confusing.
Thoughts?

Why not include the request object in the first event?

I agree having the full Illuminate\Http\Client\Request object would be useful in both events to be honest.

@taylorotwell agreed. Also agreed on the received event having the response object. I'll refactor when I'm back at my keyboard.

Okay @taylorotwell @GrahamCampbell, I've moved the firing of the RequestSending event to a beforeSendingCallback so that we can include the Request object.
I've also made the ResponseReceived event accept the Request too, so that you have both the request and response in that event. I've done this by setting the request in a property on the PendingRequest, which seemed the cleanest way to achieve this. Can you see any issues with that approach, or does that seem good to you?

Also @taylorotwell, completely understand if not (because seeing 'Request' as the first word makes sense in one way), but would it be worth considering SendingRequest as the event name, just so that it reads better as a phrase? Not precious, but thought it was worth raising as a question.


chore: config react-native-chrono as library

Description
This PR fixes #10 by

Adding new lib set up using: https://callstack.github.io/react-native-builder-bob/build
Used monorepo setup
Converted lib to example
Added docs
Fixed lib components structure

How to test

Check out convert-to-lib
Install dependencies under the root dir and ./example - this will automatically link the example with lib
Run yarn example start to run the example app, in case you need to clear your metro cache run yarn example start -c instead

Example app using the set up
https://github.com/brunokiafuka/react-native-chrono/assets/12303468/2f51e5d6-ecc5-40b6-b5b6-8a5936cf4eb7

Just revert the last commit and we're good to merge this

Just revert the last commit and we're good to merge this

Cool, we will be brainstorming the component structure offline.


move_cursor_to doesn't update screen_x and screen_y

set new cursor position with move_cursor_to
initiate any input action - action.x\action.y are correct, but action.screen_x\screen_y have old values

Hi! On what platform?

osx running from editor

Any news?

I don't think we can update screen_x/screen_y that's an engine thing. @britzl what do you think?

It would be nice to force input event somehow

We've requested to be able to simulate input before. You should post on the Defold forums asking again so it gets more attention.