Store jenkins configuration in this repo

Maybe under data/ci/jenkins/config/ or similar.

This is relatively important to ensure we can recreate the jenkins CI environment quickly should the need arise.

I'll just make the obvious note, that we need to make sure we don't store any 'secret' stuff - like access keys etc. - but other than that, I have a feeling for Jenkins it may pretty much be a cp -r of a config subdir and xml or similar file.

Agreed. @sboeuf - do you have any thoughts on how we can ensure the jenkins data can be kept up-to-date in this repo? Are all the sensitive elements kept in different files?

@jodh-intel @grahamwhaley I think that we basically need
/var/lib/jenkins/
            |----------> config.xml
            |----------> jobs/
                           |----------> job1/
                                         |----------> config.xml
                           |----------> job2/
                                         |----------> config.xml

The config.xml files have all the informations needed to replicate the Jenkins server configuration. About the secrets credentials, they don't contain directly the keys, they have some intermediate keys that are interpreted in thanks to the secrets/ folder, but we don't want to share this one.
Basically, this would mean that if we wanted to duplicate a similar setup, we need another server with Jenkins installed, and we would replace the config.xml files. I think it should work pretty well, but we will maybe have some issues since the credentials won't be found in the secrets/ folder. And also, I am wondering how the plugins are gonna fit with this. I think we need to list the plugins that we need and their version. Maybe a solution could be to copy all the plugins (plugins/ directory) to make sure we won't have compatibility issues.

@jodh-intel About the way to update, I agree with @grahamwhaley that copying latest version of those config.xml sounds the best thing to do.

@sboeuf - ack. Since the secret stuff is kept in a different area, I was wondering if we could "gitify" /var/lib/jenkins/. Whatever we do, it would also be potentially useful to have a cron job that diffs the config.xml files in /var/lib/jenkins/ against those stored here and warns a handful of the team to ensure we don't forget to either pull or push ;)

@jodh-intel I don't think we can/need to gitify since we are gonna be able to see the differences everytime we update the repo where we keep the last good config.

Sure, but if we use a git repo actually on the jenkins systems, that might help avoid us avoid updating the config in this repo (if the jenkins config file call scripts, the first thing those scripts could do is a git pull and a check to see if there are any uncommitted local changes).

To be crystal clear, all I am proposing is that we put as much of our Jenkins configuration in a git repository that lives under https://github.com/clearcontainers/ "somewhere" and that if at all possible we have a clone of that repository on the Jenkins systems so we avoid having to manually "sync" files between the git repo on github and the files living on the Jenkins systems.
@grahamwhaley's comment https://github.com/clearcontainers/tests/pull/545#discussion_r139655908 pretty much summarises it.

OK, I think there are three items/phases here...

get the Jenkins configs backed up into a repo - #545 is handling that. Placing it where it is right now in that PR is fine as a start
Decide if we want to put that data in a repo of its own so we can then completely manage (or sync/backup easier) the jenkins configs directly through git. I think jenkins will ignore the .git subdir it gains, so it should probably work. If we do this, then making a separate repo (clearcontainers/jenkins or similar) would be much cleaner than trying to bury a repo-in-a-repo. I know we don't want repo explosion, but this is a good case.
Then mid-term we should see if we can extract as much script stuff out of the jenkins files (gui) and into say tests/.ci/* so we get the Jenkins GUI out of our workflow, and manage the majority of Jenkins changes through our normal workflow of files under the clearcontainers/tests repo (and clearcontainers/jenkins repo if that is appropriate).

For (1) - if we can answer the queries on #545, then I think we can land that
For (2) - I vote for a new repo (and, yes, that will supersede (1) - and we can skip (1) and go straight to (2) if we want)
For (3) - we can delay that a little and work on it piecemeal - if we agree that is the future/plan then I can open an Issue detailing it more

@grahamwhaley Thanks for summarizing, this is much clearer. IMO, we should go straight with (2) because this sounds like the best thing to do.

@sboeuf np. if we get an ack from @sameo , then we (I can I think - not sure who else can apart from @sameo and @mcastelino - maybe @sboeuf has elevated powers still....) create https://github.com/clearcontainers/jenkins repo, and we can work on (2).

@sboeuf - try https://github.com/clearcontainers/jenkins - enjoy!

@grahamwhaley Thanks :)

If you have issues accessing that repo, then it might be because of:
https://github.com/clearcontainers/jenkins/issues/1
(might need to add teams and members to the repo to get perms set up)

Can be closed since it's gonna tracked by https://github.com/clearcontainers/jenkins/issues/2

Agreed - closing.


Code Injection

Hello, I would like to ask about code injection. Does the code injection through admin panel and each specific posts work? Or other alternatives if no.
For like css, and scripts.
Thanks.

Code injection is not possible at the moment. If you need to change code, the recommended way is to fork the project and incorporate changes into your own clone.

Closing as answered.


OCI Conformance: 405 Cross-mounting of a blob without the from argument should yield session id

Describe the bug
Upon running distribution-spec conformance tests (built manually, changes unreleased on main), I receive a 405 error on the following test:
Cross-mounting of a blob without the from argument should yield session id
Expected
    <int>: 405
to equal
    <int>: 202

To Reproduce
docker build -t zot -f Dockerfile-conformance .
docker run -p 5000:5000 zot

export OCI_NAMESPACE=oci-conformance/distribution-test
export OCI_PASSWORD=762da120d6d42b47273bc8892be6ca55
export OCI_TEST_CONTENT_MANAGEMENT=1
export OCI_TEST_PUSH=1
export OCI_TEST_PULL=1
export OCI_CROSSMOUNT_NAMESPACE=oci-conformance/distribution-test2
export OCI_ROOT_URL=http://localhost:5000
export OCI_TEST_CONTENT_DISCOVERY=1

(cd distribution-spec/conformance/ && go test -c && mv conformance.test ../../)
./conformance.test

Ran 60 of 65 Specs in 0.322 seconds
FAIL! -- 59 Passed | 1 Failed | 0 Pending | 5 Skipped

Expected behavior
All tests pass

Note: this is a failure against an unreleased version of the spec/tests (main branch / dd38b7ed8a995fc2f6e730a4deae60e2c0ee92fe)

It is because if from parameter is invalid we are returning 405 https://github.com/project-zot/zot/blob/main/pkg/api/routes.go#L719

Perhaps this is a bug in the upstream tests then?
Here is the relevant part of the spec
https://github.com/opencontainers/distribution-spec/blob/main/spec.md#mounting-a-blob-from-another-repository

Yes its a bug in upstream tests and zot also (as per dist spec) :)
Also dist spec here says upon failure return 404 https://github.com/opencontainers/distribution-spec/blob/main/spec.md#endpoints (last row)

https://github.com/opencontainers/distribution-spec/blob/main/spec.md#mounting-a-blob-from-another-repository
"
Alternatively, if a registry does not support cross-repository mounting or is unable to mount the requested blob, it SHOULD return a 202. This indicates that the upload session has begun and that the client MAY proceed with the upload.
"

@jdolitsky is this a new validation that is being added?

appears to be introduced in https://github.com/opencontainers/distribution-spec/pull/296


Disk: Use -k instead of -h / -g

Description
Rationale
In some df systems, -h is unsupported. For AIX, we can use -g option. However, this caused problem in IRIX and HP-UX systems, should we merge them later.
The other alternative is detecting which df is being used, and act depends on which df (or the OS itself) is being used (keep the -h output or use the -k alternative and divide them manually). The alternative is committed into my branch of irix, if either of these alternatives get accepted, I'll push it into the IRIX PR.
Issues

No more fancy outputs if >999G (1.1T becoming 1126G instead)
More error prone in calculation if < 10G
Less accurate

TODO

[ ] Testing

[x] Linux
[ ] *BSDs
[ ] Solaris

If we divide manually then we're also assuming the disk size won't be over 1000GB or below 1GB. (We're hardcofing G)

Yeah, this wouldn't be preferable to other systems that have -h in their options. I'm closing this one and going ahead with the other alternative, then.


Update webcam_face_pose_ex.cpp

Test on a given video like this
cv::VideoCapture cap("Sample.avi")
may be broken when the video frames are not enough before the main window is closed by the user.

Good idea, thanks for the PR :)


Improve interrupt handling, set wifi lib's ISR, various improvements

Updates everything to build against ESP-IDF 4.2 and Rust 1.50 (which requires https://github.com/esp-rs/esp32-hal/pull/54).
I've implemented quite a few more things based on reading the ESP-IDF source to see what it does.  Unfortunately, the AP scan still does not return any results, and to make matters worse, now the app crashes with a InstrProhibited CPU exception shortly after the (non-functioning) AP scan finishes.
The main notable things that I did improve (in theory) was critical section/interrupt handling (which should now behave how ESP-IDF/FreeRTOS behaves), and allowing the WiFi blob to set and enable its ISR (which does end up getting run, though there are some oddities around _intr_matrix_set() that I don't understand).
I'm a bit disappointed that we still don't see any scan results.  I took the ESP-IDF WiFi scan example and stripped it down so it would more or less only call and do what we're doing, and it still works (with one exception; parsing scan results segfaults without calling esp_supplicant_init()).  So it's still unclear what ESP-IDF is doing that we aren't.
Locally I've started on a dummy impl of the WPA stuff, but it looks like we'll need to build and pull in the wpa_supplicant C code from ESP-IDF, as that's a mountain of code that I doubt we're going to replicate.  My initial thoughts were that maybe not having that code there was somehow causing the scan to fail, but I noted that even when I don't init the supplicant in the ESP-IDF sample app, the scan does find APs, even if it segfaults while parsing the data.

For some reason my notifications for this repo were disabled, fortunately I found this by chance! This is awesome, and perfect timing as I am currently having another stab at this.
I've played around with the branch and it seems to work well on my board. I reached out to an espressif dev and he gave me a few troubleshooting tips; one being sniffing packets to see if the esp is emitting any, if it is then its likely the power & rf side is correctly configured.
I did manage to get a broadcast packet captured, sadly its malformed, but it does prove at the very least we have the phy & radio configured, heres the pcap: esp32.pcapng.zip.
I'll keep playing and see if I can get anywhere.

Great!  Glad to hear you're looking back into this too.  It's been fun digging into this, but admittedly a little frustrating too.
Last night I was reading through cpu_start.c in esp-idf to see if maybe there was something (like a system timer) not getting intialized properly that the wifi implicitly depends on.  I was thinking about issues with power/rf, but wasn't sure how to test.  I think that's part of the problem; I'm just not sure how to debug a lot of these issues.
It's encouraging that you see something on the air, even if it's malformed.  At least that shows that there is a problem we can tackle, even if we're not quite sure what it is yet.
I'm going to be out of town for a 4-day weekend, but will jump back in next week.

It's been fun digging into this, but admittedly a little frustrating too.

Oh I know that pain all too well :laughing:.

It's encouraging that you see something on the air, even if it's malformed. At least that shows that there is a problem we can tackle, even if we're not quite sure what it is yet.

Indeed! I figured whilst I had my laptop configured to sniff, I would firstly try the master branch of this repo & also the idf scan example. Master produced nothing on the air at all, meaning this PR is a huge step in the right direction! The idf scan worked unsurprisingly, and here's the pcap: esp32-idf.pcapng.zip. Not sure how useful that will be, other than confirming the phy & rf is setup properly (the 802.11 radio information section is the same in both).

Strangely I can't seem to get my laptop to sniff wifi frames.  It claims to support monitor mode, but I when I set things up I get zero packets (not even any from wifi devices that function properly).  Something to dig into another day...
Speaking of power, I noticed a spot in esp-idf rtc_init() where it sets a register to force the wifi chip to power up.  I'm not aware of anything we're doing that would also do that, unless I've missed it.

Strangely I can't seem to get my laptop to sniff wifi frames. It claims to support monitor mode, but I when I set things up I get zero packets (not even any from wifi devices that function properly). Something to dig into another day...

If you're running linux, iw didn't work for me, instead a friend directed to me towards aircrack-ng which did work.

Speaking of power, I noticed a spot in esp-idf rtc_init() where it sets a register to force the wifi chip to power up. I'm not aware of anything we're doing that would also do that, unless I've missed it.

I think by default, most things are enabled, and have to be powered down; though I'm not sure that's true for all cases. I think in this case you mean RTC_CNTL_WIFI_FORCE_PU?
I think this snippet from line 1368 in rtc_cntl_reg.h shows that by default, the bit is set.
/* RTC_CNTL_WIFI_FORCE_PU : R/W ;bitpos:[18] ;default: 1'd1 ; */
/*description: wifi force power up*/
#define RTC_CNTL_WIFI_FORCE_PU  (BIT(18))
#define RTC_CNTL_WIFI_FORCE_PU_M  (BIT(18))
#define RTC_CNTL_WIFI_FORCE_PU_V  0x1
#define RTC_CNTL_WIFI_FORCE_PU_S  18

I've still been trying to get this working, no luck so far.

though there are some oddities around _intr_matrix_set() that I don't understand

I believe you have actually set this up correctly now, using the esp32_hal. I think calling core::mem::transmute::<_, unsafe extern "C" fn(c_int, c_uint, c_uint)>(0x4000681c)(cpu_no, model_num, intr_num); will only map the interrupt, you would also need to set a handler & enable the interrupt on the CPU for this method to work. I.e also call xt_set_interrupt_handler & xt_ints_on.
I think I'm going to look into the allocation next, seem strange that the esp can consistently output 802.11 Probe Request section, yet the Wireless Management section is garbage. Perhaps the alloc needs a specific alignment, or its just plain wrong. Though this is clutching at straws really.

My assumption was that _set_isr() sets the handler and _ints_in() enable the interrupt (both of which I implemented in terms of our rust-based runtime stuff).  Since in an esp-idf app the _intr_matrix_set() call goes right to the ROM, it's weird to me that doing so here doesn't do the right thing.  It makes me think that we're still missing something when it comes to interrupts.

Allocation alignment seems like a good idea to look into.  I'm pretty low on ideas as well...
One potential thing I'm worried about is deadlocks with the queue code since they all need to take a global lock to do anything with a queue.  I've been trying to remove all the BTree holding those and just return pointers (using a technique similar to the spinlocks where I use Box::leak() and Box::from_raw()).  However, I've been getting odd behavior; in the function that creates a queue, I return what looks like a reasonable pointer, but then when the wifi lib tries to use it in the send/recv functions, I get a very strange, unaligned pointer (which then causes a CPU exception).
I still have some more to do to debug this, just haven't had the time this week.

Still can't seem to get radio capture working.  I did manage to get aircrack-ng to run, but it just sits there and never sees anything.  Tried on two different laptops, but they both have Atheros/Qualcomm chipsets... I think I have another laptop with a Broadcom chipset (tho they tend to be supported less), will give that a try later.

Looking at the allocator as well.  ESP-IDF defines the three like this:
malloc() -> heap_caps_malloc_default() -> heap_caps_malloc(DEFAULT | INTERNAL)
wifi_malloc() -> malloc()
malloc_internal() -> heap_caps_malloc(8BIT | DMA | INTERNAL)

Our setup is to use DRAM for malloc_internal() and the "general" allocator for wifi_malloc() (which I think in the default setup will also just use DRAM, but can also use IRAM as well).
I did try using the DRAM allocator for everything, but that didn't change anything.  Also tried using DRAM_ALLOCATOR.allocate() directly; rather than using RawVec, but also no change.

Hmm, I looked at _task_create_pinned_to_core(). It looks like the wifi blob calls it with a core ID of 0, which I believe is the main/Pro core?  And yet we're starting that task on the App core... could that be an issue?

Hmm, I looked at _task_create_pinned_to_core(). It looks like the wifi blob calls it with a core ID of 0, which I believe is the main/Pro core? And yet we're starting that task on the App core... could that be an issue?

Good spot! I tried setting wifi_task_core_id to 1 in the wifi_init_config_t but the scan just times out, will need to explore that a bit further.

Another thing I noticed a while ago but am thinking more about again: it appears that the binary wifi lib does have some minimal function tracing enabled.  I've been using the esp-idf idf.py monitor program to view output (for some reason screen isn't showing line breaks properly), and I see some of these trace messages (interestingly they show up in orange rather than my terminal's regular green).  There are a few trace messages that show up in the esp-idf scan app as well, but completely different messages show up in our test app.
Fairly early on, I see:
WIFI core APP: _log_write(3, wifi, %c (%d) %s:, 1)
WIFI core APP: _log_writev(3, wifi, Init static rx buffer num: %d, ...)
WIFI core APP: _log_write(3, wifi, %s, 3f4168dc)
WIFI core APP: _log_write(3, wifi, %c (%d) %s:, 3f410b30)
WIFI core APP: _log_writev(3, wifi, Init dynamic rx buffer num: %d, ...)
WIFI core APP: _log_write(3, wifi, %s, 3f4168fc)
WIFI core APP: _timer_setfn(0x3ffb2e54, 0x40104900, 0x0)
0x40104900: lmac_stop_hw_txq at ??:?

WIFI core APP: _timer_setfn(0x3ffb2e68, 0x401048f0, 0x0)
0x401048f0: lmac_stop_hw_txq at ??:?

WIFI core APP: _timer_setfn(0x3ffb2e7c, 0x401048e0, 0x0)
0x401048e0: lmac_stop_hw_txq at ??:?

WIFI core APP: _timer_setfn(0x3ffb2eb8, 0x401048d0, 0x0)
0x401048d0: lmac_stop_hw_txq at ??:?

WIFI core APP: _timer_setfn(0x3ffb2e40, 0x401048c0, 0x0)
0x401048c0: lmac_stop_hw_txq at ??:?

WIFI core APP: _timer_setfn(0x3ffb2e90, 0x401048b0, 0x0)
0x401048b0: lmac_stop_hw_txq at ??:?

WIFI core APP: _timer_setfn(0x3ffb2ea4, 0x401048a0, 0x0)
0x401048a0: lmac_stop_hw_txq at ??:?

WIFI core APP: _timer_setfn(0x3ffb290c, 0x400f9e40, 0x0)
0x400f9e40: ieee80211_rfid_locp_recv at ??:?

WIFI core APP: _timer_setfn(0x3ffb2920, 0x400f9e30, 0x0)
0x400f9e30: ieee80211_rfid_locp_recv at ??:?

The first series looks concerning; why is the driver stopping the transmit queue?
If I then scroll down way farther in the output, I see:
WIFI core APP: phy_printf(phy_version: %d, %s, %s, %s, %d, %d)
[snip 26 lines]
WIFI core APP: _timer_setfn(0x3ffb2aa4, 0x400fddd0, 0x0)
0x400fddd0: ieee80211_timer_process at ??:?

WIFI core APP: _timer_setfn(0x3ffb2ab8, 0x400fddd0, 0x1)
0x400fddd0: ieee80211_timer_process at ??:?

WIFI core APP: intr_matrix_set(0,0,0)
WIFI core APP: _set_isr(0, 400881cc, 0)
WIFI core APP: _ints_on(1)
WIFI core APP: _timer_arm(3ffb2e40, 256, false)
WIFI core APP: _wifi_zalloc(552)
WIFI core APP: alloc(552, false, true) -> 3ffb94b8
WIFI core APP: _wifi_zalloc(760)
WIFI core APP: alloc(760, false, true) -> 3ffb96e0
WIFI core APP: _wifi_zalloc(212)
WIFI core APP: alloc(212, false, true) -> 3ffb99d8
WIFI core APP: _free(0x3ffb9aac)
WIFI core APP: _mutex_lock (0x3ffb3df0)
WIFI core APP: _mutex_unlock (0x3ffb3df0)
WIFI core APP: _timer_setfn(0x3ffb22c8, 0x400ee868, 0x0)
0x400ee868: wifi_softap_stop at ??:?

WIFI core APP: _log_write(3, wifi, %c (%d) %s:, 3ffb22c8)
WIFI core APP: _log_writev(3, wifi, mode : sta (%02x:%02x:%02x:%02x:%02x:%02x), ...)
WIFI core APP: _log_write(3, wifi, %s, 3f410878)
WIFI core APP: __popcountsi2(1) -> 1
WIFI core APP: system_event_handler(WIFI_EVENT, 2, 0, 0,<PHONE_NUMBER>)
WIFI core APP: WARNING: phy_update_country_info(CN) unimplemented
WIFI core APP: _semphr_give(3ffb4520)
WIFI core PRO: _semphr_take -> 1
WIFI core APP: _phy_common_clock_disable
WIFI core PRO: _free(0x3ffb93f8)
WIFI core APP: _queue_recv(0x3ffb4500, ax3fffdfa8, ffffffff)
WIFI core PRO: _mutex_lock (0x3ffb3d80)
WIFI core PRO: _mutex_unlock (0x3ffb3d80)
WIFI core PRO: _mutex_lock (0x3ffb3df0)
WIFI core PRO: _mutex_unlock (0x3ffb3df0)
WIFI core PRO: _mutex_lock (0x3ffb3df0)
WIFI core PRO: _mutex_unlock (0x3ffb3df0)
WIFI core PRO: _wifi_zalloc(20)
WIFI core PRO: alloc(20, false, true) -> 3ffb9ab8
WIFI core PRO: _wifi_thread_semphr_get -> 3ffb4520
WIFI core PRO: _mutex_lock (0x3ffb3d80)
WIFI core PRO: _wifi_int_disable(3ffb3de8)
WIFI core PRO: _wifi_int_restore(3ffb3de8, 0)
WIFI core PRO: _task_ms_to_tick(10) -> 800000
WIFI core PRO: _queue_send(0x3ffb4500, 0x3ffffce8, 800000)
WIFI core PRO: _queue_send 00000006 3ffb9ab8 8 -> TRUE
WIFI core PRO: _queue_send -> 1
WIFI core APP: _queue_recv 00000006 3ffb9ab8 8 -> TRUE
WIFI core PRO: _mutex_unlock (0x3ffb3d80)
WIFI core APP: _queue_recv -> 1
WIFI core PRO: _semphr_take(3ffb4520,<PHONE_NUMBER>)
WIFI core APP: _wifi_int_disable(3ffb3de8)
WIFI core APP: _wifi_int_restore(3ffb3de8, 0)
WIFI core APP: _phy_common_clock_enable
WIFI core APP: _timer_disarm(3ffb94bc)
WIFI core APP: _timer_done(0x3ffb94bc)
WIFI core APP: _timer_setfn(0x3ffb94bc, 0x400fea90, 0x0)
0x400fea90: cnx_connect_timeout at ??:?

cnx_connect_timeout definitely looks concerning.  What is "cnx"?  wifi_softap_stop is odd, as we set WIFI_MODE_STA in the test app.

I'm starting to think that timing is playing a factor here too.  With nearly all the debug logging disabled (and the new varargs stuff enabled that I just pushed), I managed to trigger a new error:
E (0) wifi:wpa michael mic failure cb empty

I was only able to repro it a few times last night, and then today I made some changes (can't remember what :( ) and I'm no longer able to repro it.  I was really excited to see it, because I think that might only happen when the driver is trying to parse some WPA-related stuff in a received wifi packet (but fails because we haven't set up any of the WPA stuff yet).  Really bummed I can't seem to get back to the place where I was seeing that error, even if I couldn't repro it consistently.
But doing other "silly" things can change the overall result: disabling a lot of the more frequent logging (will push a logging refactor commit shortly) will often stop the InstrProhibited message.  Sometimes I get a timeout error from the scan operation instead of returning 0 APs.  Prior to all this, I was nearly 100% consistently getting 0 APs with an InstrProhibited shortly after it.
I've also been looking into the locking code... it's definitely possible we should be disabling interrupts more often, like when dealing with the global locks that protect the mutexes, semaphores, etc., but possibly other places as well.  I feel like we're at worst getting deadlocks at times, and at best creating enough contention that the timing gets weird.  At one point I did something that started causing a deadlock in queue_send(), and just changing the logging in that function "fixed" the deadlock.  (The ironic thing is that rust usually protects us from data races, but we're using mostly unsafe rust so far...)
I also tried making ets_delay_us() call the ROM function rather than the rust code we have, and that might have been related to triggering the "michael mic" error message.  Certainly logging on each of those delay calls (which I ended up disabling) is causing the delay to be longer than the delay the caller is looking for.  Maybe it matters?  I guess usually those kinds of delays are put into place to allow hardware to settle, so a longer delay usually isn't a problem, but who knows...

Hi @kelnos I was trying out this PR, First of all Nice work indeed  👏.
I have got this PR to build by providing command
cargo espflash --release --tool=cargo --chip=esp32 --example=test /dev/cu.SLAB_USBtoUART ( please correct me if I am wrong) . Then I used picocom for the output. But the logs are very short there.
however, I noticed you have shared logs that you obtained from idf.py monitor. Can you please share some details on how you managed that and also the required steps. I would like to debug this issue on my side and maybe help you solve it.

@AdityaHPatwardhan it's fortunately pretty easy to use the monitor app from esp-idf.  Just run:
$ESP_IDF_SRCDIR/tools/idf_monitor.py --port /dev/ttyUSB0 --baud 921600 target/xtensa-esp32-none-elf/release/examples/test

From the root of the esp32-wifi directory.  Of course replace $ESP_IDF_SRCDIR with wherever your esp-idf source checkout lives.

okay, thanks 👍

@AdityaHPatwardhan also I just wrote released cargo-espmonitor.  You can install it with cargo install cargo-espmonitor. :)

@kelnos the cargo-espmonitor looks very nice 👌.
Meanwhile on this PR.

I tried to compare the assembly execution of some important wifi functions with that of the code built in the esp-idf but that seems in order.
I tried to sniff packets on the latest commit but couldn't find anything. But when I tried sniffing for 339ea23710d2472b8104bbcaef17ea791fe28017, I got the malformed packets as mentioned earlier by @MabezDev
The malformed packets might have been caused by improper wifi calibration or could be memory corruption at some point.
I haven't got a clear direction from this as of yet, but will try to debug further.

Hi @kelnos @MabezDev,
I have some questions regarding implementation of OS abstraction layer for Wi-Fi driver.
In task_create_wrapper, app core is enabled instead of creating a task/thread. As a task is not created in wrapper, stack will not be allocated for storing local variables. How is this case handle in current implementation?
ESP Wi-Fi driver assumes that a task is created when task_create_wrapper returns success.

@shubhamkulkarni97 I'm not responsible for that initial code, but my assumption is that @arjanmels was just hoping that the wifi driver would only create a single task so he wouldn't need to write a full preemptive task scheduler.
The task that does end up running after that does appear to run fine -- at least, we see log messages appearing on the other core from the code pointed to by task_func running on it -- so I don't think what you're suggesting is actually a problem.
If you dig into the start_app_core() function in esp32-hal, you'll see that it does indeed properly initialize the second core, including setting up a stack.

@kelnos your assumption is correct. To simplify matters I indeed simply dedicated a core for WiFi. This seems to work ok, nevertheless didn't get the WiFi working.

Had an old Mac Mini lying around (with Linux on it), and it appears monitor mode works on its wifi, yay!  @AdityaHPatwardhan I tried with the current tip of this branch (dcb50b7d45627961598e35dec32a7b13e2f12ab8) and I do see (malformed) packets from the ESP32, so not sure what's going on with your setup :(

@kelnos I checked it again, I am getting the malformed packets on the latest commit as well. I must have missed something, or did not capture the packet clearly 🤦.  Sorry !!


build: bump @angular/cli and cdk to 17.3.4

PR Checklist

[ ] Unit Tests have been added for new changes
[ ] API tests have been updated if applicable
[ ] All commented code has been removed
[ ] If you've added a dependency, you've ensured license is compatible with Apache 2.0 and clearly outlined the added dependency.

What are you changing?

Anything the reviewer should know when reviewing this PR?
If the there are associated PRs in other repositories, please link them here (i.e. open-amt-cloud-toolkit/repo#365 )

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Diffy relies too much in the content-type header

I was running some tests here to know how it works, and in one of my tests I have the following setup:
service primary:
- content-type header => application/json
- response-body => { "hello_world" : "primary" }
service secondary:
- content-type header => application/json
- response-body => { "hello_world" : "secondary" }
service candidate:
- content-type header => application/xml
- response-body => { "hello_world" : "candidate" }
In this scenario the diffy never checks the response and hangs forever.
Another test that I did could give you some more context on that issue. The test data in that case is the following:
service primary:
- response code => 401
- content-type header => application/json
- response-body => { "hello_world" : "primary" }
service secondary:
- response code => 402
- content-type header => application/xml
- response-body => { "hello_foo" : "secondary" }
service candidate:
- response code => 403
- content-type header => application/text
- response-body => { "hello_bar" : "candidate" }
In this case diffy holds for a long time, something around 40 seconds, and returns saying that everything is fine and there is no difference in the responses.
In a third scenario for this issue, if I use the same response code for primary and secondary, it returns fast as usual, but still without differences.
Please let me know if you have any questions regarding the scenarios. I am using my docker-compose setup to test it, so if you need feel free to clone it.

Issue resolved in https://github.com/opendiffy/diffy


android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground()

We are getting following crash sometimes while casting videos and switching to new videos quickly.
When we start casting new video we are calling remoteMediaClient?.stop() and then load the new one.
Could you please guide us what can be done to avoid this crash:
cast SDK version used:
com.google.android.gms:play-services-cast-framework:18.0.0
android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{c3019d0 u0 com.discovery.plus.uat/com.google.android.gms.cast.framework.media.MediaNotificationService}
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1945)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

We are getting following crash sometimes while casting videos and switching to new videos quickly.
When we start casting new video we are calling remoteMediaClient?.stop() and then load the new one.
Could you please guide us what can be done to avoid this crash:
cast SDK version used:
com.google.android.gms:play-services-cast-framework:18.0.0
android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{c3019d0 u0 com.discovery.plus.uat/com.google.android.gms.cast.framework.media.MediaNotificationService}
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1945)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

Any updates on this?

Any updates on this? @Discovery-JSwapnil  and @pnkshir did you get to fix this ? If yes, can you give some thoughts of how can this be fixed?

@anjaneesh We ran into this exception once in a while where the cast session fails because of business logic related errors (location constraints etc).
It seems like Sender SDK invokes startForegroundService but the immediate failure results in stopService even before the service could invoke startForeground. Ideally, Android Framework should not fail such cases. Could this be handled in the Sender SDK to fail gracefully where stopService is delayed until service invokes startForeground?


[Bug] Hackintool will generate a UHD630 when whatever ID is selected

PS: I reported this on Tonymacx86 a week ago but I don't know why the Admin deleted it.

The PCI data is pulled from the pci.ids project.

A user told me that it shows UHD630 even he has a UHD620

The PCI data is from pci.ids file based on device id. Please check his device id in the pci.ids file.

Sorry for reporting the wrong issue, confirmed that this works well!


How to disable drag event and resize event on annotation

Hi,
I am trying to disable drag and resize of the annotation. Can you help to give insight how to disable drag and resize on the annotation.

Hey @siddharthray, hi. Sorry, I have forgotten about this plugin for a long time, I'm no longer maintaining it. When I did it it was nothing more than an experiment. Please if you need this plugin make sure to create a fork, because I am going to terminate it. Feel free to continue its development if you want.


swagger ui with route prefix cant find o2c.html

After authentication the redirect url is not found. UI is correctly hosted and found. I put this in stack overflow but I think its a bug https://stackoverflow.com/questions/49171897/swagger-ui-with-route-prefix-cant-find-o2c-html.
Following are the log messages
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://localhost:9092/hole/api/swagger/o2c.html
dbug: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler[9]
AuthenticationScheme: Bearer was not authenticated.
dbug: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[5]
The request path /o2c.html does not match an existing file
dbug: Microsoft.AspNetCore.Builder.RouterMiddleware[1]
Request did not match any routes.
Startup
app.UseSwagger(c => { c.RouteTemplate = $"{Startup.ServiceName}/{{documentName}}/swagger.json"; });
app.UseSwaggerUI(c =>
{
    c.RoutePrefix = $"{Startup.ServiceName}/swagger";
    c.SwaggerEndpoint($"/{Startup.ServiceName}/v1/swagger.json", "Hole Service API V1");

    if (securitySettings.EnableSecurity)
    {
        //HACK
        c.OAuth2RedirectUrl("http://localhost:9092/hole/api/swagger/o2c.html");
        c.OAuthClientId(swaggerAuthenticationOptions.ClientId);
        c.OAuthRealm("swagger-ui-realm");
        c.OAuthAppName("API Swagger UI");
    }
});

If I leave redirect at default url is http://localhost:9092/hole/api/swagger/oauth2-redirect.html but that is not accepted by our identity service.

/oauth2-redirect.html is the new redirect URL that ships with the 3x version of swagger-ui. Can't you just update your identity service to accept this instead of the old value?
If that's really not an option, you could take a look at the ASP.NET Core URL rewrite module to rewrite the old url to the new one.


[Suggestion] Reduce the number of clicks needed to move on to next challenge.

Going thought the Waypoints I realized that once we wrote our code, we had to click "Run code" then "Run tests" then "Submit" to go to the next challenge.
I think it would be better if after clicking "Run tests" - we get redirected to the next challenge. I'm not sure how everyone else feels about this. But I feel that the number of clicks to move on should be limited to 2.

@AkiraLaine thanks for posting this issue!
Thank you for your suggestion! Actually there is a similar one in https://github.com/FreeCodeCamp/FreeCodeCamp/issues/2772, so I'll close this issue. You can continue further discussion there, thanks.

Please review the Guidelines for Contributing, thank you!.


fix(hasMacroNameInMend): default sets to true

Issue
Closes #26
Intent
Lint should has default value for hasMacroNameInMend to be true
Implementation

Updated getLintConfig.ts and .sasjslint to have true value for hasMacroNameInMend
Updated specs

Checks

[x] Code is formatted correctly (npm run lint:fix).
[ ] Any new functionality has been unit tested.
[x] All unit tests are passing (npm test).
[ ] All CI checks are green.
[ ] sasjslint-schema.json is updated with any new / changed functionality
[ ] JSDoc comments have been added or updated.
[x] Reviewer is assigned.

We should probably replace assertions based on numbers with assertions based on containEqual for arrays. I'll make that change in a subsequent PR.


[BEAM-1928] Add ParDos

Add ParDoPayloadTranslator to PTransformTranslator
Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

More details please?

R: @kennknowles

Coverage decreased (-0.003%) to 70.219% when pulling a1a66d11a24b56df60b87582fa4fdb891f47e8b7 on tgroh:par_do_serde_protos into 13e1be2f0a280fc704616b9b89551281a561c374 on apache:master.

Coverage increased (+0.5%) to 70.734% when pulling 67bb96c59390918bf43ed6bdae6cd4ec5155b581 on tgroh:par_do_serde_protos into 13e1be2f0a280fc704616b9b89551281a561c374 on apache:master.

Coverage increased (+0.007%) to 70.759% when pulling 46431063b4ed514af50a51f8b7d4d6e00614302b on tgroh:par_do_serde_protos into 5e3c5c6574bc70320683d6c16fc3b11791a77418 on apache:master.

Coverage increased (+0.003%) to 70.789% when pulling 207085c6c82d192d06b3418e0082b70aaf14e664 on tgroh:par_do_serde_protos into 8c572ef0b998a4fa529e2f4ba0e622b3db9f4ec6 on apache:master.


[BULK UPDATE] DocuTune - Fix build validation issues: docs-link-absolute

[BULK UPDATE] DocuTune - Fix build validation issues: docs-link-absolute
Global effort to fix build validation errors
The Content & Learning team is fixing build validation errors on docs.microsoft.com for the rest of H2. This will eliminate potential accessibility, security, and usability issues. This PR was generated using DocuTune. It includes only build validation fixes and does not change other content.
DocuTune PRs improve quality of technical content by finding and automatically correcting a broad set of issues only where the correction is suitable. Please review within five business days and merge or comment in the PR with any changes you'd like to see. Thank you!
CorrelationId: 0df9c2d6-63f8-4d1e-8b57-b33611a06514
InitiativeId: docutune-build-validation-issues-2022-05
PointOfContact: @MonicaRush

#docutune-draft

Docs Build status updates of commit ab19c1c:
:warning: Validation status: warnings

File
Status
Preview URL
Details

index.md
:warning:Warning
View
Details

index.md

Line 20, Column 3: [Warning: file-not-found - See documentation] Invalid file link: 'docs-ref-autogen/digital-twins/EventRoutes.yml'.
Line 21, Column 3: [Warning: file-not-found - See documentation] Invalid file link: 'docs-ref-autogen/digital-twins/Models.yml'.
Line 22, Column 3: [Warning: file-not-found - See documentation] Invalid file link: 'docs-ref-autogen/digital-twins/Query.yml'.
Line 23, Column 3: [Warning: file-not-found - See documentation] Invalid file link: 'docs-ref-autogen/digital-twins/Twins.yml'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

#docutune-ready

@
Please merge the changes in this PR. For more information, see the description at the top of this PR.
Any pre-existing build validation issues or insufficient Acrolinx scores should be addressed in a separate PR.
#docutune-request-approval

This repo has generated content.
#docutune-abandoned


List third party licences

In LICENCE-THIRD-PARTY and in third-party-licences/

#863 will introduce the directory and begin this process

All thrid-party licences have now been added


CMake error while trying to use nana and vcpkg

CMake Error at /home/vm/workspace/vcpkg-install/vcpkg/scripts/buildsystems/vcpkg.cmake:247 (_find_package):
By not providing "Findnana.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "nana", but
CMake did not find one.
Could not find a package configuration file provided by "nana" with any of
the following names:
 nanaConfig.cmake
 nana-config.cmake

Add the installation prefix of "nana" to CMAKE_PREFIX_PATH or set
"nana_DIR" to a directory containing one of the above files.  If "nana"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
Any ideas?

It appears to me that there is no cmake find module. Can we get this resolved?

I'm willing to help fix this with someone. I'd like some more feedback on this when someone gets the chance. Thanks.

Fixed upstream with vcpkg.


ServerRequestFactory::fromGlobals() checks if args are truthy rather than set

In ServerRequestFactory::fromGlobals(), most of the code checks if the arguments are truthy, rather than set. For example:
https://github.com/zendframework/zend-diactoros/blob/89d471cc09850c7d47839cf16ba7a1fed54d45e5/src/ServerRequestFactory.php#L57-L58
https://github.com/zendframework/zend-diactoros/blob/89d471cc09850c7d47839cf16ba7a1fed54d45e5/src/ServerRequestFactory.php#L72-L74
This becomes an issue during testing (or a long-running process that accepts multiple requests). For example:
// In a previous test
$_POST = ['foo' => 'bar'];

// In current test
$request = ServerRequestFactory::fromGlobals(null, null, []);
echo serialize($request->getParsedBody());
// Expected: a:0:{}
// Actual: a:1:{s:3:"foo";s:3:"bar";}

Improved versions would be:
        $server  = static::normalizeServer($server ?? $_SERVER);
        $files   = static::normalizeFiles($files ?? $_FILES);

            $cookies ?? $_COOKIE,
            $query ?? $_GET,
            $body ?? $_POST,

Or for under PHP 7:
        $server  = static::normalizeServer(isset($server) ? $server : $_SERVER);
        $files   = static::normalizeFiles(isset($files) ? $files : $_FILES);

            isset($cookies) ? $cookies : $_COOKIE,
            isset($query) ? $query : $_GET,
            isset($body) ? $body : $_POST,

(This code should fix the issues, but I didn't have time to write any tests right now, so I'm opening an issue instead of a pr.)

Originally posted by @0b10011 at https://github.com/zendframework/zend-diactoros/issues/281

fromGlobals() is meant to be used for requests parsed by php and injected into process as global variables. That rules out multiple requests in long running processes or requests assembled for testing.
Other than apparent misuse, this looks like a legit issue.

Originally posted by @Xerkus at https://github.com/zendframework/zend-diactoros/issues/281#issuecomment-350124863

I would definitely consider a patch that uses the isset-ternary approach outlined above. That said, as noted by @Xerkus, this is a rare possibility in standard usage.

Originally posted by @weierophinney at https://github.com/zendframework/zend-diactoros/issues/281#issuecomment-403626461

Fixed with #155


Example and test cleanup

Some tests were only looking for Example files. These now look for the relevant modules.
Some tests would only look for files with the extension '.pm'. Changes now allow files to use other extensions e.g. pm6.
Some examples were failing tests. Small adjustments were made to allow them to pass again.
use lib has been changed on all tests so that the tests look in their own directory for the appropriate modules.
test_pattern added to config.json

$ EXERCISM=1 prove --exec perl6 */*.t
accumulate/accumulate.t ................ ok
anagram/anagram.t ...................... ok
binary/binary.t ........................ ok
bob/bob.t .............................. ok
grains/grains.t ........................ ok
leap/leap.t ............................ ok
raindrops/raindrops.t .................. ok
rna-transcription/rna_transcription.t .. ok
robot-name/robot.t ..................... ok
scrabble-score/scrabble_score.t ........ ok
word-count/word_count.t ................ ok
All tests successful.
Files=11, Tests=119,  4 wallclock secs ( 0.04 usr  0.01 sys +  3.08 cusr  0.23 csys =  3.36 CPU)
Result: PASS

Thank you so much! I now see that you included the changes here from the other PR that you closed. Makes sense :heart:


[FEATURE] - Back to loot tab

Is your feature request related to a problem? Please describe.
After depositing gold and or buying items, it is necessary to go back to the loot tab, so that when you return to the hunt, you can detect new loots.
Describe the solution you'd like
Describe alternatives you've considered
Additional context

I need to apply a middleware to go back to loot tab when player is not buying items or depositing gold.

Added an enhancemente here in commit https://github.com/lucasmonstro/PyTibia/commit/81c15db66c2d17fe20392efcab0dfb8e58b68969
Can you test it?

@eusolobehe1898 added new commit https://github.com/lucasmonstro/PyTibia/commit/6e0ddd4d775f94194f7826f808492b28fe69a382 with some improvements and fixing performance issues when fetching chat tabs. Now everything is operating under 10microseconds :)
Test it today please.


$WorkingDirectory/modules/ should be included as a module path search directory if it exists

If this is possible to implement, I just find it annoying with the error + no lsp

This is now included https://github.com/SogoCZE/Jails/commit/321176d986363f5df152eec3f1c9cf5458cc7ba0. Thanks!


Difficult to operate at the sensor frequency in kitti 00

Hi~, thanks for your great work and the open source.  We tested on a RTX3080Ti GPU with 12 GB memory. The average consuming time per frame is 245.8ms in the whole KITTI 00 dataset. I think the performance of RTX3080Ti is similar to the A4000. The parameters are all default.  Can you give us some advice? Thank you!

Thank you very much for your interest in our work.
You may try the parameter settings mentioned here: https://github.com/PRBonn/PIN_SLAM/issues/6, which conducts fewer iterations for mapping and registration. The reconstruction quality would deteriorate due to insufficient training but the localization accuracy would stay almost the same.

thank you. I try it. It takes about 121ms on single RTX3080ti GPU.


docs: add docs for table level comment

What's Changed in this PR
related to: https://github.com/GreptimeTeam/greptimedb/pull/4042
Checklist

[ ] Please ensure that the content in summary.yml matches the current document structure when you changed the document structure.
[ ] This change requires follow-up update in localized docs.

@irenjj Thanks a lot for your follow-up.


315: Bulk Edits

Overview
This PR includes the following proposed change(s):

Ability to bulk edit records of the same type
Assumption is that a list of activity ids will be passed in as props (temporary hard coded but will be updated once multi select functionality is in place)
Only specific dropdown fields are editable based on discussions with @mikeshasko
Temporarily only works with plant observation (terrestrial) and plant treatments - monitorings, animal records, and plant aquatic are to be added later once those forms are updated and finalized
Terrestrial plant observation was misspelt so they wont work to be bulk edited for existing old activities. Newly created and synced ones will work though
#315

Type of change

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

How Has This Been Tested?

Locally

Screenshots

I'm assuming you're still updating with lints etc here, but I took a look through the code and ran the branch - looks good so far!

I'm assuming you're still updating with lints etc here, but I took a look through the code and ran the branch - looks good so far!

I'm assuming you're still updating with lints etc here, but I took a look through the code and ran the branch - looks good so far!

No this is ready for review - no linting failures

I'm assuming you're still updating with lints etc here, but I took a look through the code and ran the branch - looks good so far!

No this is ready for review - no linting failures


Bug: Resource and Presenter routes does not accept qualified names for controller option

PHP Version
7.4, 8.1
CodeIgniter4 Version
4.4.3
CodeIgniter4 Installation Method
Composer (using codeigniter4/appstarter)
Which operating systems have you tested for this bug?
Windows, Linux
Which server did you use?
apache
Database
No response
What happened?
According to the documentation the Resource and Presenter routes can accept a controller option like App\Home. But if I run the
php spark routes command, it displays the handler like this: \App\Controllers\App\Controllers\Home::index, but it should be like this: \App\Controllers\Home::index. So in this case it will not be found and throws 404.
Steps to Reproduce
In the app/Routes.php file:
$routes->resource('test', ['controller' => Home::class]);

Expected Output
The php spark routes command should display \App\Controllers\Home::index for handler. Or just modify the documentation :D
Anything else?
Source: https://stackoverflow.com/questions/77545608/problem-to-make-api-restful-test-using-codeigniter-4-framework-urls-dont-answ/77545871#77545871
I tried to answer the question with some workaround, but it seems to be a minor bug for me.

Try:
$routes->resource('test1', ['namespace' => '\\', 'controller' => Home::class]);
$routes->resource('test2', ['controller' => '\\' . Home::class]);
$routes->resource('test3', ['controller' => 'Home']);

This is because if a controller is written without a leading \, the Default Namespace will be prepended:
See https://codeigniter4.github.io/CodeIgniter4/incoming/routing.html#controller-s-namespace

I sent PR to fix docs: #8253

I don't think this is a bug.
The StackOverflow original poster basically wasn't aware that the router would add the default namespace value to the front of the controller specified by the route.
CodeIgniter4 namespace repeating itself: Controller or its method is not found: \App\Controllers\App\Controllers\TypeBloodController::index

@steven7mwesigwa Yes, this is not a bug in the framework.
But the current sample code in RESTful Resource Handling is misleading:
https://codeigniter4.github.io/CodeIgniter4/incoming/restful.html#change-the-controller-used
We don't use/expect controllers lke \App\Controllers\App\Gallery.


feat: enabled ws auth

New WebSocket Authenticator requires user_id and userHash to be passed in as query strings.

Tested and merging.


Hompage know more button

Describe the bug
know more button on the homepage

this button takes to login page and asks to login again even if we are logged in

Possible solution
We can direct the page to it's next section on the same page where it's described what this project is about.
Screenshots

If applicable, add screenshots to help explain your problem.

pls assign this to me if you're fine with possible solution or if you have a better suggestion then pls discuss :)

This issue is already solved #39

This issue is already solved #39

okay thanks


Support XDG dir specification.

This is an enhancement suggestion.
To avoid a bloated $HOME directory I started implementing the XDG Base directory specification which is a simple convention that:

defines where files should be looked for by defining one or more base directories relative to which files should be located

In other words, instead of having a bajillion .dotfiles in $HOME, you put them in a .directory of your choosing, often defaulting to $HOME/.config/appname. There are several other directories for other kind of files, just read the specificaton.
So the idea would be to try to store ly files in XDG Directories first and then default to $HOME. This was motivated by the .lyxauth file I constantly see in my $HOME.

I've been delaying this one for yeeeeears but it's fixed now (7296da456fac7755c7454b480f662fdf992c73d7).
@buckshee I disagree and display managers are mostly bloat handlers anyway yolo

Sorry for bumping, but how do I move the .lyxauth file?

@Kritiqual From a quick look at src/login.c, you need the env var XDG_CONFIG_HOME set up somehow, otherwise it will just fallback to your PWD (btw, shouldn't it fallback to $HOME/.config instead?)

Don't quote me, I think most people usually export paths in bashrc or .profile files etc. I couldn't get .lyxauth to move to .config folder this way... I guess because the variable is exported after you have used ly to log in.
I managed to move .lyxauth to the .config folder by adding
XDG_CONFIG_HOME<EMAIL_ADDRESS>to /etc/security/pam_env.conf
https://wiki.archlinux.org/title/Environment_variables#Using_pam_env
Is this an ok method?
I also tried to use etc/environment with standard XDG_CONFIG_HOME="$HOME/.config" but this just created a folder in my home directory called $HOME, not sure if an @ instead of $ would have solved issue.

Hm, no idea how that worked for you since it actually searches for XDG_CONFIG_DIR instead of XDG_CONFIG_HOME (just found it)
Alternatively, it's also possible to create a script in /etc/profile.d/
From what I've seen, it seems that ly is incorrectly looking for XDG_CONFIG_DIR, and also not using $HOME/.config as a fallback, as specified in the xdg base dirs specification.

Not sure, I wanted to move .lyaxauth and this was the first thing in search: https://github.com/fairyglade/ly/issues/233#issuecomment-1110164132
then found this: https://github.com/fairyglade/ly/commit/7296da456fac7755c7454b480f662fdf992c73d7 obviously it's old, hence the notice. Just checked src/login.c for a sanity check and it does say XDG_CONFIG_DIR instead of XDG_CONFIG_HOME.
Not sure how it worked then, I'm using the AUR package so maybe it's not quite as up to date?
Sorry, if I'm not much use. I'm not the most technical regarding source code etc - I just like tinkering with my system. So, thought I'd leave a reply

yeah the AUR package is very old, there was a recent commit (#330) that changed this part of the code and thus brought the wrong name (XDG_CONFIG_DIR). I'm trying to make a fix (which brought me to another problem lol)


Following the license change, modify the boilerplates in crypto/des/

Merged.
2d48d5ddda8b83e50230b08835814e48838fc145 Following the license change, modify the boilerplates in crypto/des/


Customizable difftest settings/exclusions

Is your feature request related to a problem? Please describe.
The updated difftest() function drives me crazy. It's way too sensitive. I'd like to introduce options that would allow the user to make it ignore certain changes, such as

Changes to cell names
Changes to labels
Changes to certain layers might be a nice feature also (i.e. if you want to check for changes to labels in general, but exclude certain label layers).

An implicit part of this change would be to make the test distinguish between sliver and label changes. Currently when reporting to the console, it states that changes are one or the other but it's hard to tell which.
Describe the solution you'd like
difftest has options

exclude_cell_names: bool
exclude_labels: bool
exclude_layers: list[LayerSpec] | None

It also reports in the console whether a change was due to sliver or label specifically, not grouping the two together.

I like this idea, the default is too sensitive
How can we configure the klayout difftool to ignore some of those cases?
Shall we ignore in gdsfactory.config.difftest_settings?
@SkandanC
@sebastian-goeldi

Just hook to the right functions and ignore the other changes & layers you aren't interested in. https://klayout.de/doc-qt5/code/class_LayoutDiff.html

I think we fixed it Troy, feel free to reopen


Allow changing the buffer mode

Like in C with setvbuf, allow the user to set the buffer mode between line and full.

Currently no intention to let the user change the size or buffer location since those are created early in the stream creation process


perf(lib): update dependencies

some dev dependencies had some vulnrabilities

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


problem with installing proj.4

Hi,
I am facing the following problem when I try to install GDAL
extracting: proj.4-5.0.0/travis/projdocs-private.key.enc
Running aclocal
Running autoheader
Running libtoolize
autogen.sh: line 33: --force: command not found
Something went wrong, giving up!
could you please help me ?

This project is finished. I'm going to mark this wontfix and close. You may be interested in https://github.com/RemotePixel/amazonlinux-gdal.


Create LICENSE

Using MIT, I just slapped my name on there. If you want I can throw you guys on there too

https://github.com/Splyth/slack_bot/issues/54

Using MIT, I just slapped my name on there.  I've only added like two features, but others have contributed more than me.


Nullability annotations for bindables

Not bothering the thin value type wrappers (BindableInt etc).
The Value and DefaultValue property is annotated the same as type parameter, allowing both Bindable<Class> and Bindable<Class?>.
Risks
The default constructor of Bindable<T> can introduce null to non-null annotated properties. This does not change existing behavior, but provides a fake sense of safety. In the other hand, annotating Value to be always nullable can introduce too much noise for consumers. The best option should be warning for such constructor call, but it's not possible yet.
The resharper warning is somehow too aggressive that assuming not-yet annotated code to be non-nullable. It warns here where it should be ValueChangedEvent<IAudioMixer?>. I tend to think it's not wrong to be defensive for not-yet annotated code.

This pull really ought to include a preview of what the game-side changes will be to eliminate new nullability warnings. I cannot imagine there are no nullability-related warnings that are going to arise game-side if this is to be merged...?

There's no warning when building game repo, since most of them haven't enabled nullability yet.
InspectCode reports some warnings. There's the diff to fix:
diff --git a/osu.Game/Overlays/Chat/ChatTextBar.cs b/osu.Game/Overlays/Chat/ChatTextBar.cs
index ef20149dac..029c3a1b7c 100644
--- a/osu.Game/Overlays/Chat/ChatTextBar.cs
+++ b/osu.Game/Overlays/Chat/ChatTextBar.cs
@@ -26,7 +26,7 @@ public class ChatTextBar : Container
         public event Action<string>? OnSearchTermsChanged;

         [Resolved]
-        private Bindable<Channel> currentChannel { get; set; } = null!;
+        private Bindable<Channel?> currentChannel { get; set; } = null!;

         private OsuTextFlowContainer chattingTextContainer = null!;
         private Container searchIconContainer = null!;
@@ -126,7 +126,7 @@ protected override void LoadComplete()

             currentChannel.BindValueChanged(change =>
             {
-                Channel newChannel = change.NewValue;
+                var newChannel = change.NewValue;

                 switch (newChannel?.Type)
                 {
diff --git a/osu.Game/Screens/OnlinePlay/Lounge/LoungeBackgroundScreen.cs b/osu.Game/Screens/OnlinePlay/Lounge/LoungeBackgroundScreen.cs
index 52a902f5da..bef99f3737 100644
--- a/osu.Game/Screens/OnlinePlay/Lounge/LoungeBackgroundScreen.cs
+++ b/osu.Game/Screens/OnlinePlay/Lounge/LoungeBackgroundScreen.cs
@@ -13,7 +13,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge
 {
     public class LoungeBackgroundScreen : OnlinePlayBackgroundScreen
     {
-        public readonly Bindable<Room> SelectedRoom = new Bindable<Room>();
+        public readonly Bindable<Room?> SelectedRoom = new Bindable<Room?>();
         private readonly BindableList<PlaylistItem> playlist = new BindableList<PlaylistItem>();

         public LoungeBackgroundScreen()
@@ -22,7 +22,7 @@ public LoungeBackgroundScreen()
             playlist.BindCollectionChanged((_, __) => PlaylistItem = playlist.GetCurrentItem());
         }

-        private void onSelectedRoomChanged(ValueChangedEvent<Room> room)
+        private void onSelectedRoomChanged(ValueChangedEvent<Room?> room)
         {
             if (room.OldValue != null)
                 playlist.UnbindFrom(room.OldValue.Playlist);
diff --git a/osu.Game/Screens/Play/PlayerSettings/BeatmapOffsetControl.cs b/osu.Game/Screens/Play/PlayerSettings/BeatmapOffsetControl.cs
index 1662ca399f..bcb7266338 100644
--- a/osu.Game/Screens/Play/PlayerSettings/BeatmapOffsetControl.cs
+++ b/osu.Game/Screens/Play/PlayerSettings/BeatmapOffsetControl.cs
@@ -29,7 +29,7 @@ namespace osu.Game.Screens.Play.PlayerSettings
 {
     public class BeatmapOffsetControl : CompositeDrawable
     {
-        public Bindable<ScoreInfo> ReferenceScore { get; } = new Bindable<ScoreInfo>();
+        public Bindable<ScoreInfo?> ReferenceScore { get; } = new Bindable<ScoreInfo?>();

         public BindableDouble Current { get; } = new BindableDouble
         {
@@ -180,7 +180,7 @@ void updateOffset()
             }
         }

-        private void scoreChanged(ValueChangedEvent<ScoreInfo> score)
+        private void scoreChanged(ValueChangedEvent<ScoreInfo?> score)
         {
             referenceScoreContainer.Clear();

As I concerned, it's hard to identify whether Bindable<T> or Bindable<T?> is correct. I also searched for the references of IBindable<T>.Value, and see most of them not checking for nulls. This also makes it painful to annotate Value as always-nullable.

I think @huoyaoyuan's commits are good enough.
I guess i will based in this PR if he's not working on this PR anymore.
And i maybe not working on this part recently(just notice that Bindable<T> might need to  re-write as Bindable<T?> in osu side for prevent warning. I need to make a think about this.)

@smoogipoo I'm still interested, but I didn't have time to think about the design question here.

A Roslyn analyser for this would be quite simple to craft, and I'll do it myself provided the time.

Just to make sure we're on the same page, I would require cases like this to provide a parameter.

So the conclusion is to depend on a custom analyser right? I'll update this PR.

So the conclusion is to depend on a custom analyser right? I'll update this PR.

This PR can happen without an analyzer.

CodeFactor is complaining about file I don't touch.

Mention me if there is still any issue remaining. I'm a little busy to track a lot of things these days.

@peppy What do you think about this PR? Should I revive this or redo a new one?

@peppy What do you think about this PR? Should I revive this or redo a new one?

If you can resolve the conflicts, I think it's still in a state we could take another look at it. I have forgotten what state of review this was in, but on a quick check it looks like it was basically waiting for tooling fixes for NRT, so maybe there's hope still.

Code quality is failing.
I will reiterate what I already said above that this pull should be bundled with a preview of game-side changes that will follow after this pull. Over the last year we have been progressively enabling nullability on more and more files, so I find it unlikely that there will be no changes required.

Code quality is failing.

In tests it's explicitly testing exception thrown with null input. That's the reason why .NET runtime projects don't turn on NRT in their test projects. We have #nullable disable there but Resharper is still analyzing them.

The game side change is at https://github.com/ppy/osu/pull/23680.

https://github.com/ppy/osu-framework/blob/c274d818c128ee4b9be114ee72f8ff8b0ffc9781/osu.Framework.Tests/Bindables/AggregateBindableTest.cs#L53
This line is really causing troubles:
The initial null value in constructor is currently suppressed. However, InspectCode is too strict about being conservative around nulls. Does there need an AsNullable extension method to explicitly state this?


[Bug] elasticstack_kibana_alerting_rule cannot accept an empty notify_when parameter

Describe the bug
Hello,
I'm importing some ES siem rules into IaC using elasticstack_kibana_alerting_rule and there's an issue with the notify_when parameter.
Here's the notify_when parameter of the created rule from UI:
GET kbn:/api/alerting/rule/bcd0ed80-0e9c-11ee-a735-c93aa3d264ad
{
 "id": "bcd0ed80-0e9c-11ee-a735-c93aa3d264ad",
  "name": "XYZ",
  "tags": [],
  "consumer": "siem",
  "enabled": true,
  "schedule": {
    "interval": "30m"
  },
  "notify_when": null,
  ....

The provider set the notify_when parameter as required
so to fix the issue, I set notify_when to onActiveAlert on the code, which is not needed to make the rule works from UI.
To Reproduce
Just create a SIEM rule from UI and try to import it using the json format or terraform plan -generate-config-out=generated.tf
Expected behavior
notify_when can be null for siem rules at least
Versions (please complete the following information):

OS: Linux
Terraform Version 1.5.6
Provider version 0.10.0
Elasticsearch Version 8.10.3

Additional context
N/A

I tried to address this with my limited go knowledge, but this is falls outside the scope of my abilities. I did get as far as just setting the value for notify_when to null to see what it would do. It then complained that  the actions were missing frequency parameters. I'm guessing this is a result of a change in the API from 7 to 8?

Hi @othmane399 @dejongm cc @111andre111
In the Security Solution, we do not use the mentioned parameter notify_when on a rule level. Since 8.8 users should use the actions-level frequency parameter.
Our official recommendation is to use the Security Solution's Detections API for creating Security Rules.
The Terraform provider uses the Alerting API to create rules, and while it is possible to use that API to create Security Rules, it is not officially supported or recommended. Therefore, the Terraform provider should not be used to create Security Rules either. Please use our the Detections API instead.

Hello @jpdjere,
Thanks for your answer.
Should I create an issue mentioning a feature request to have a new terraform resource for detection api or can we just update this one ?

@othmane399 Please create a new feature request ticket and close this one, if your doubt has been resolved.

Hello @othmane399 , My issue does not involve the security solution. My issue is with creating/maintaining an alerting rule in cluster management. Should I open another issue? It will have more or less the same title.

@dejongm Yes, please open a separate issue.

New issue opened #524 to address issue in cluster management alerting rules

Fixed by https://github.com/elastic/kibana/issues/186963. Starting from v0.11.7, the Rule resource now supports the rule's alert_delay property and the rule's action alerts_filter and frequency properties. You can find complete documentation on the Elastic Terraform provider documentation page.


Fix typo: intelij -> IntelliJ

What does this PR do?

Fixes a few misspelled IntelliJs. I'm not sure whether this requires a CHANGELOG entry, but I'd happily add one if needed.
Checklist

[ ] This is an enhancement of existing features, or a new feature in existing plugins

[ ] I have updated CHANGELOG.asciidoc
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Added an API method or config option? Document in which version this will be introduced
[ ] I have made corresponding changes to the documentation

[ ] This is a bugfix

[ ] I have updated CHANGELOG.asciidoc
[ ] I have added tests that would fail without this fix

[ ] This is a new plugin

[ ] I have updated CHANGELOG.asciidoc
[ ] My code follows the style guidelines of this project
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have updated supported-technologies.asciidoc
[ ] Added an API method or config option? Document in which version this will be introduced
[ ] Added an instrumentation plugin? Describe how you made sure that old, non-supported versions are not instrumented by accident.

[ ] This is something else

[ ] I have updated CHANGELOG.asciidoc

:grey_exclamation: Build Aborted

The PR is not allowed to run in the CI yet

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2022-12-03T15:39:15.971+0000

Duration: 4 min 44 sec

Steps errors
Expand to view the steps failures

Load a resource file from a library

Took 0 min 0 sec . View more details here
Description: approval-list/elastic/apm-agent-java.yml

Error signal

Took 0 min 0 sec . View more details here
Description: githubApiCall: The REST API call https://api.github.com/orgs/elastic/members/lionralfs return the message : java.lang.Exception: httpRequest: Failure connecting to the service https://api.github.com/orgs/elastic/members/lionralfs : httpRequest: Failure connecting to the service https://api.github.com/orgs/elastic/members/lionralfs : Code: 404Error: {"message":"User does not exist or is not a member of the organization","documentation_url":"https://docs.github.com/rest/reference/orgs#check-organization-membership-for-a-user"}

:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run benchmark tests : Run the benchmark tests.

run jdk compatibility tests : Run the JDK Compatibility tests.

run integration tests : Run the Agent Integration tests.

run end-to-end tests : Run the APM-ITs.

run windows tests : Build & tests on windows.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

/test

@elasticmachine run elasticsearch-ci/docs


Pl int32 int64 conversion

I'm not really sure why the retest is failing, but can you rebase your retest pull request branch? Its 9 commits behind, maybe this solves the problem.

Ok
Sebastian Reimers<EMAIL_ADDRESS>schrieb am Fr., 18. Dez. 2020,
17:45:

I'm not really sure why the retest is failing, but can you rebase your
retest pull request branch? Its 9 commits behind, maybe this solves the
problem.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/baresip/re/pull/60#issuecomment-748197847, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADMGEDJTPHE7IMXBQHMZM63SVOBKRANCNFSM4VBMU6UQ
.


Guidelines to make clearer the issue tracking/development

Hi guys,
I really admire and like so much Yii for years. This is why I want to help on code,
issues, docs and translation. But I feel a bit lost in the way that the things happen.
Supposing the scenario Like a developer I want to fix an issue X, these are my questions :

Who will define who codes?
Should anyone to start to code at anytime?
Can two or more people code in the same issue?
When someone is assigne to the issue is he supposed to be the coder, or the merger, or will he just follow the issue discussion? What exactly is supposed to be the assigne?
Who will decide that the code is enough to the issue? Is that one supposed to
say it clearly in the issue or in any other place / way?
When we know, somehow, the code is enough, who will merge and
what is taken into account to decide when it will be merged?

Sorry for so many questions, but the answers will make the devel, specially for contributors, more "fluid" and predictable.
Thanks in advance.

https://github.com/yiisoft/yii2/tree/master/docs/internals

https://github.com/yiisoft/yii2/blob/master/docs/internals/translation-workflow.md

https://github.com/yiisoft/yii2/blob/master/docs/internals/git-workflow.md

Who will define who codes?
Should anyone to start to code at anytime?

If you want to work on an issue that is not assigned or has the label ready for adoption you can start right away.
If someone is assigned, ask before you code because maybe the assignee has already started something.

Can two or more people code in the same issue?

If they comunicate about who will do which part this should be possibke but normally one issue is small enough for one person to work on it.

When someone is assigne to the issue is he supposed to be the coder, or the merger, or will he just follow the issue discussion? What exactly is supposed to be the assigne?

We can only assign core team members to an issue so this is the one from the core team which is responsible for the issue. This can mean that he wants to work on it later or that he is already working on it in the background. As said above if someone is assigned, ask in the issue if you can take it or not.

Who will decide that the code is enough to the issue? Is that one supposed to say it clearly in the issue or in any other place / way?

If something is unclear, ask/discuss in the issue first before coding. If the issue is clear/trivial, just fix it and send a PR. If the code is not sufficient we will post and discuss on the PR until it is fine for merge.

When we know, somehow, the code is enough, who will merge and what is taken into account to decide when it will be merged?

A core team member will decide to merge the code. If the thing is not trivial we will ask other core team members for opinion.

@cebe, thank you so much for the answers. Now I can see how the things work as well as which is the hierarchy.
The main point for me is:
I have to refer to the assigne in most of the time in a issue for questions, asks, etc.
Thank you one more time.


add ci workflow to build and test go files

Note: currently most tests do not pass, and that will need to be worked on

Note: currently most tests do not pass, and that will need to be worked on

Thank you for this contribution @dark-enstein
But I just want to clarify, when you say most tests don't pass...are you referring to the workflow not working well or the tests in the code not working well?
This is because you might be missing the required environment variables.
Nonetheless, I made an update to the MR and added the secrets and env...hopefully, everything goes well.

Awesome. Thank you.
What I meant is that the test written currently in the code on running go test. I'm sure you see it in the current workflow runs @opensaucerer

Yeah... that's because you're missing some env values. I've added the secrets. Now 2/3 providers tests pass.
The last one is failing due to file path issues. I'm not home currently so I can't look into it well but you can definitely push a PR to patch that. You can check the last run to see the error.

I'll take a look at the file path issue. I noticed in the last run that there were indentation issues with the referenced secrets, and so the secret refs were read literally, and not substituted for the actual secret. Fixed that in a new PR


add absolut position for chat button (#204)

Closes #204

PR-Codex overview
Detailed summary

Added a button with a chat bubble icon at the bottom right corner of the page.
The button toggles the visibility of a modal.
The modal contains a chat component.
Added suspense fallback and loader component while the chat component is being loaded.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Codecov Report
Patch and project coverage have no change.

Comparison is base (ddd188f) 61.89% compared to head (97b12aa) 61.89%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff            @@
##             master     #210   +/-   ##
=========================================
  Coverage     61.89%   61.89%
  Complexity      207      207
=========================================
  Files           100      100
  Lines          1774     1774
  Branches        118      118
=========================================
  Hits           1098     1098
  Misses          567      567
  Partials        109      109

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


pkgsCross.mingwW64.windows.mingw_w64: backport parallel build fixes

Without the change build frequently fails on gnumake-4.4 as:
x86_64-w64-mingw32-dlltool: cannot delete libmsvcr120d_defs02133.o: No such file or directory
x86_64-w64-mingw32-dlltool: cannot delete libmsvcr120d_defs02134.o: No such file or directory

Pull upstream patches that fix temporary file collisions and add missing dll dependencies.
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg eval


Update mockito-scala-scalatest to 1.13.1

Updates org.mockito:mockito-scala-scalatest from 1.11.4 to 1.13.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.mockito", artifactId = "mockito-scala-scalatest" } ]

labels: test-library-update, semver-minor

Codecov Report

Merging #240 into master will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #240   +/-   ##
=======================================
  Coverage   47.68%   47.68%
=======================================
  Files          24       24
  Lines         281      281
  Branches        1        1
=======================================
  Hits          134      134
  Misses        147      147

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 caefbcb...4765ed2. Read the comment docs.


Quick guide errors

Bug description

When following quick guide, and implementing:
class Tenant extends BaseTenant implements TenantWithDatabase  i am required to implement database() method and cant find any documentaitona about it.

I have added this and after it i got created tenant:
 public function database(): DatabaseConfig
    {
        return new DatabaseConfig($this);
    }

Following quick guide further more $tenancy->domains()->create(['domain' => 'wtf.localhost']) i am getting error:

Steps to reproduce
Follow quick guide and create everything as in guide.
Expected behavior
Expecting to create a domain.
Laravel version
9
stancl/tenancy version
3.1.0

You didn't add the trait for domains


[chore] Use elapsed() if possible when calculating durations

What does this PR do?
Small fixup: prefer elapsed() to Instant::now().duration_since(...)
Motivation
Its cleaner and neater.
Additional Notes
Anything else we should know when reviewing?
How to test the change?
Existing test suite

Codecov Report
Attention: Patch coverage is 81.48148% with 5 lines in your changes missing coverage. Please review.

Project coverage is 70.58%. Comparing base (1b70e31) to head (9566b85).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #750      +/-   ##
==========================================
+ Coverage   70.55%   70.58%   +0.03%
==========================================
  Files         296      296
  Lines       43264    43246      -18
==========================================
+ Hits        30524    30526       +2
+ Misses      12740    12720      -20

Components
Coverage Δ

crashtracker
37.14% <0.00%> (+0.03%)
:arrow_up:

crashtracker-ffi
8.67% <ø> (ø)

datadog-alloc
98.73% <ø> (ø)

data-pipeline
91.98% <100.00%> (+0.03%)
:arrow_up:

data-pipeline-ffi
0.00% <ø> (ø)

ddcommon
83.46% <ø> (ø)

ddcommon-ffi
69.12% <ø> (ø)

ddtelemetry
59.05% <100.00%> (-0.05%)
:arrow_down:

ddtelemetry-ffi
22.13% <ø> (ø)

dogstatsd
89.45% <100.00%> (ø)

dogstatsd-client
79.77% <ø> (ø)

ipc
82.86% <ø> (+0.10%)
:arrow_up:

profiling
84.30% <ø> (ø)

profiling-ffi
77.46% <ø> (ø)

serverless
0.00% <ø> (ø)

sidecar
38.01% <0.00%> (+0.01%)
:arrow_up:

sidecar-ffi
0.00% <ø> (ø)

spawn-worker
50.36% <ø> (ø)

tinybytes
94.77% <ø> (ø)

trace-mini-agent
72.36% <50.00%> (+0.17%)
:arrow_up:

trace-normalization
98.23% <100.00%> (-0.02%)
:arrow_down:

trace-obfuscation
95.77% <ø> (ø)

trace-protobuf
77.67% <ø> (ø)

trace-utils
93.54% <ø> (ø)

----
🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Test building C# extension with different compilers

GCC: 4.4, 4.6, 4.9, 5.1
Clang: 3.5, 3.6, 3.7

not needed for beta

this is obsolete as we're shipping precompiled binaries.


Update supported distros in Readme

Ubuntu 22.04 can run PowerShell, so adding it as supported distro.

PR Summary
In the Readme, there was no "Ubuntu 22.04" as a supported distro in the table. Ubuntu 22.04 does support PowerShell.

PR Context
Ubuntu 22.04 users probably thought that PowerShell didn't support their distro so I added it as a row in the table.

Hi can you please review these changes?

@microsoft-github-policy-service agree

thanks @techguy16  for your contribution

@TravisEz13 No worries - need any help, just ask 😁


Added a snippet specifying how to easily create a folder in python

As per usual, feel free to edit the snippet to serve your needs.

Thank you sir,
deployed here:
https://onelinerhub.com/python/create_folder


[WiP] Assertions based on strategic merge patch (partial list comparisons)

Why we need  this
IMHO one of the most pressing issue in kuttl is the problem with assertions on lists (arrays, slices, whatever). To match a list:

all elements must be listed
they must be exactly in the same order

For example with status.conditions, depending on the operator which writes the list, this might be impossible to achieve (e.g. if ordering is random or some conditions are present or absent inconsistently.
See #76 for details.
What this PR does
During a recent team hackathon I took a stab at finding out how easy it would be to use the strategic merge patch machinery in order to relax the requirements mentioned above. We basically treat the assertion as a strategic merge patch, apply it to the object at hand, and the assertion passes if and only if the resulting object does not differ from the original.
Credit for the idea goes to @misberner
To be completely explicit, this is just a prototype, but can serve as an inspiration to someone who wanted to take this further.

I think more testing and cleaning up the code would be necessary.
Since this has plenty of potential to trip people up in some corner cases I didn't think about, we should probably consider some more gentle rollout strategy than just wholesale replacing the old comparison mechanism with the new one. Perhaps a toggle in a TestAssert? :thinking:

We (Kyverno) would be very interested in having this. The Policy Report format we use outputs an array/object within the CR and that ordering is not guaranteed. We will want to be able to test that a single object that looks like X definition occurs somewhere in that list.

We would also love for this to work. We have loads of partial list comparisons in our tests, which for some reason only sometimes fails, probably due to some race condition we are not interested in testing for the tests where we get fails.

@porridge can we help with something ? we very interested out of crossplane project in this feature ;)

@porridge can we help with something ?

I think these comments still apply.


Models should have a HasFactory trait

Models included the HasFactory trait in version >= 8 of Laravel

This would be a BC for people using <L8
I think we can only introduce this by creating two different stubs, one for L6,7 and another for L8 and calling the correct stub here:
https://github.com/Laravel-Backpack/Generators/blob/0c72a89063c75ce68a32726558b6b19cd60a8f4f/src/Console/Commands/ModelBackpackCommand.php#L43
It might be 4 stubs in total because of soft-deletes too.
Thanks for the contribution @egyjs ! Let me know if you want to do the needed changes or me or @promatik can do it later.
Best,
Pedro

It might be 4 stubs in total because of soft-deletes too.

I don't think it's the best method to create a lot of stubs for small differences, but I'm pondering a better approach.

Hmm interesting... I think it's a bit overkill to have both stubs in one version... Complicates the code for a time, without adding too much benefit. At the end of the day, the generated model is supposed to work with Backpack, not with a Factory that we haven't generated... On the other hand, if that's how Laravel generates the models... we should probably do it.
I'd rather wait to launch Backpack 4.2, where we'll drop support for Laravel <8. Then we can merge this PR as-is.
Thank you @egyjs ! 🙏

I was thinking of creating method that add the "use trait"
For example
If(app()->version() = "8") addTrait("Trait Name","TraitNameSpace")

Instead of creating many stubs

@tabacitu
As I mentioned earlier, instead of creating so many stubs, or so, we can just make it dynamic
here is a method made by me so you can add any trait to any class or stubs.
    /**
     * Add Trait to Class(Model).
     *
     * @param $namespaceModels
     * @param $traitNamespace
     * @return boolean|int
     *
     */
    protected function addTrait($namespaceModels,$traitNamespace){
        $traitName = class_basename($traitNamespace);

        $modelStr =  file_get_contents($this->getPath($namespaceModels));
        $regex = '/(class.(\S+).(extends).(\S+)(.+?)(\n?)({))/m';
        $replaceWith = "use $traitNamespace; \n\n$1\n    use $traitName;";

        $modelAfterTraitAdded = preg_replace($regex, $replaceWith, $modelStr);

        return file_put_contents($this->getPath($namespaceModels), $modelAfterTraitAdded);
    }

Heads-up guys. I think we should now merge this, if we release a version that only supports Laravel 5. Which... we should do anyway. As I said in https://github.com/Laravel-Backpack/demo/pull/204, I don't see any harm in having the HasFactory trait on the model, even if there is no factory.
Let's do this in Backpack 5.x 💪 🎉


Migrate groups from coordinator entities to actual devices

The issues @dmulcahey brought up in https://github.com/zigpy/zha/issues/47 regarding platforms are interesting corner cases that crop up when Zigbee functionality doesn't translate directly to Home Assistant platforms (e.g. a light and a switch both have OnOff clusters and can form a Zigbee group).
One way we can work around this is by turning groups into actual devices: this would allow automations to "turn on" the group device as a whole and the primary entity would be controlled, regardless of its platform. It would also allow the primary entity to switch platforms depending on group composition, which would open up the possibility of heterogeneous groups (1 fan, 1 light, 1 switch) or single-device groups.
Thoughts?

One way we can work around this is by turning groups into actual devices:

I would suggest that if we go down this path that it is contained in the HA side only since that is the only place where this distinction really makes a difference. They are only linked to a device to take advantage of device actions / conditions / triggers.

which would open up the possibility of heterogeneous groups

I like this idea but I also think it could lead to confusion… it holds up well when clusters are the same but toss a fan into the group and now turn on / off semantics get kinda funky. Exposing zigbee scenes may make more sense? Or just avoiding the zigbee scene complexity and advising folks to use the HA scene functionality…

It would also allow the primary entity to switch platforms depending on group composition

This may be considered an undesirable / destructive action by the users? Folks may not be pleased if they are leveraging / targeting the entity in an automation or a script and we change it out from under them because they added another device to the group.


EQCSS: Selectors within element queries are not recognized

Do you want to request a feature or report a bug?

Bug
What is the current behavior?
Loader doesn't parse all selector references when using Element Queries
If the current behavior is a bug, please provide the steps to reproduce.

Add element queries to your CSS and inspect the output

What is the expected behavior?
All selector references will be "picked up" and hashed by css-loader.
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as your webpack version, Node.js version and Operating System.
Webpack v1.13.3
Node v6.3.1
npm v3.10.3

input css:
/* give .myDiv a red background if at it is at least 300px wide */
@element ".myDiv" and (min-width: 300px) {    /* quotes have made no difference */
  .myDiv {
    background: red;
  }
}

expected output css:
@element .myDiv_3lk2h and (min-width: 300px) {
  .myDiv_3lk2h {
    background: red;
  }
}

actual output css:
@element .myDiv and (min-width: 300px) {
  .myDiv_3lk2h {
    background: red;
  }
}

Wrapping the first reference to the selector in quotes, :local(.myDiv), PostCSS nested selectors, nor using custom selectors from the PostCSS plugin seem to make any difference.
See for more information: https://github.com/css-modules/css-modules/issues/169

Hi! I'm with the EQCSS project (not css-loader) but I'm wondering if there's anything I can do to help this? Since this issue was opened there has been an spec written for the syntax EQCSS is using here: https://github.com/tomhodgins/element-queries-spec
I'm more of a CSS guy than JS, but let me know if there's anything I can do to help this out, or if you have any questions about the syntax! I'd love to see css-loader supporting EQCSS, I get asked about it by others as well and until now I haven't had a good answer to provide for them :D

https://github.com/css-modules/css-modules/issues/169


this.subject => this.owner.lookup

Is there a codemod that currently handles transitioning this.subject() syntax to this.owner.lookup() syntax? I believe I saw one in the ember-qunit-codemods repo that did something like that.
Example Before
setupTest('export:audience-definitions', {
  needs: ['service:retry']
});
//...
let subject = this.subject({ analysis: zeroAudienceAnalysis });

Example After
setupTest();
//...
let subject = this.owner.lookup('export:audience-definitions');
subject.set('analysis', zeroAudienceAnalysis);

Thanks!


fix: Allow Raises and Warns sections to start with a newline

According to the documentation it's possible to start a description with a newline.
However, this did not work properly for Raises and Warns sections, because of a stray space in the regex to split the annotation and its description.

Nice catch, thanks a lot!

I just realised I missed a word in my commit message, so I've force pushed the same commit with the missing word in the message added.

I've added a test for it. LGTM, WDYT?

Looks good to me as well!

I've also found out warnings sections were never parsed. Just released both fixes as 0.27.1.


Counting Number of Objects

I want to count the number of objects detected for my project and I'm quite a bit confused which file code should I look for to edit.
It would give a great help if someone provide me a little bit of code for this.
I'm currently using VOC datasets to train my model.

Coded it!


Broken link to Service principal authentication methods

Under the Step 1: Register Service Principal header, the third list item ("Select authentication type") is a broken link.
Clicking this link causes navigation to https://docs.microsoft.com/en-us/azure-sphere/deployment/%5Cazure/active-directory/develop/howto-create-service-principal-portal#authentication-two-options, which (as of this writing) results in 404 Not Found.
It seems the link has been inadvertently created relative to the current page, when it should point instead on an absolute basis to https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal#authentication-two-options.

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

ID: b58c8ccd-a024-de57-fcd1-44ab8be98b65
Version Independent ID: 1c9257b5-0694-9a08-7130-72029bdd6a78
Content: Authentication Method - service principal
Content Source: AzureSphere/articles/deployment/authenticate-service-principal.md
Product: azure-sphere
GitHub Login: @prabhushyja
Microsoft Alias: azurespheredocs

@esqew Thanks for the feedback! We are currently investigating and will update you shortly.

@esqew PR has been created to fix the broken link. Fix will be deployed once it has been peer reviewed.
Thanks again for pointing to the broken link and sharing the correct link.


npx express-generator structure

Having a defined project structure will allow us to start working in parallel on different aspects of the backend for the client interface. This proposed one is created using the npx express-generator utility. It is a standard express project structure and should allow us to do everything we require

Good structure, i've never used an express framework so i don't quite understand the use/utility of views

The views are intended as snippets of html code to be shown as default error messages.

ok, looks good to me then.