Bluetooth:  bt_att: ATT Timeout

Describe the bug
Local device performing ATT write cmds, generates <wrn> bt_att: Ignoring unexpected request when peer device send an ATT request. The peer then gets <err> bt_att: ATT timeout
To Reproduce
Use the branch: https://github.com/cvinayak/zephyr/commit/b4939f526a9c1c86a88fd55810ed85e1ecaaf46d
Steps to reproduce the behavior:
Build and flash peripheral:

mkdir -p build/peripheral; cd build/peripheral
cmake -GNinja -DBOARD=nrf52dk_nrf52832 ../../samples/bluetooth/peripheral
ninja
ninja flash

Build and flash central_hr:
5. mkdir -p build/central_hr; cd build/central_hr
6. cmake -GNinja -DBOARD=nrf52dk_nrf52832 ../../samples/bluetooth/central_hr
7. ninja
8. ninja flash

Open two terminals, minicom -D /dev/ttyACMx
Observe both peripheral and central_hr fail with respective warning and error messages in the console.

Expected behavior
ATT request from peer device shall not be dropped. ATT bearer shall not timeout.
Impact
showstopper
Screenshots or console output

Environment (please complete the following information):

OS: Linux
Toolchain: Zephyr SDK 0.11.2
Commit SHA or Version used: https://github.com/cvinayak/zephyr/commit/b4939f526a9c1c86a88fd55810ed85e1ecaaf46d

Additional context
Add any other context about the problem here.

I'm seeing the same thing for our application. When using bt_gatt_unsubscribe() we get "bt_att: ATT timeout" on one side and "bt_att: Ignoring unexpected request" on the other. That also means we can not subscribe again, so we need to reset the kits before subscribing. This happened after updating to v2.3.0-rc1 from v2.2.0

I am seeing what I believe is the same issue.
The problem occurs when two transmissions of different types (REQUEST, CONFIRMATION, etc) on the same ATT channel occur within a very short window.
In my case at least, this occurs when the GATT server publishes an Indication, which the host schedules an acknowledgement for. If the GATT client is also performing writes to the server, two writes can go through the host in a very short window.
https://github.com/zephyrproject-rtos/zephyr/blob/e77985a2f0531a8fbefdb9ae2e5ea7c5e3dbd70f/subsys/bluetooth/host/att.c#L152
This line sets the ATT callback, chan_cfm_sent, chan_rsp_sent, etc.
However there is no protection around this setting. If chan_send is called again before bt_att_sent runs, the original callback is lost, and the callback associated with the second transmission is instead run twice.
In my situation, because the callback is lost, chan_cfm_sent is never called and thus the ATT_PENDING_CFM bit is never cleared on the flags. The next indication from the server is therefore ignored at https://github.com/zephyrproject-rtos/zephyr/blob/e77985a2f0531a8fbefdb9ae2e5ea7c5e3dbd70f/subsys/bluetooth/host/att.c#L2309

We will probably need a list/queue so that we can process the sent event in order.

@Vudentz This is looking like a regression, no-one has reported it before. Any ideas on why it would need a queue/list now when we didn't before?

@Vudentz This is looking like a regression, no-one has reported it before. Any ideas on why it would need a queue/list now when we didn't before?

This was introduced with EATT support since bt_l2cap_chan_send cannot rely on callbacks like bt_l2cap_send_cb, anyway I working on a fix for this.

back to v2.2.0 works for me...
Fix 26063 on v2.3.0 works for me also...
Thanks!

With the propopsed fix from 26063 and the steps in this bug-report:
The warning is gone: <wrn> bt_att: Ignoring unexpected request when peer device send an ATT request.
The error is still there: <err> bt_att: ATT timeout

@JordanYates and @Counterfeiter Thanks for reporting issue and status. I have created a new bug-report for the problem that you guys saw. Which appears to be a different issue than the ATT timeout seen here.
Did you guys see an ATT timeout, and has it been fixed? Remember to wait the ATT timeout, which is 30 seconds.

@joerchan I may be wrong, but I believe it is the same issue, or rather, that this issue is caused by the lost callbacks.
When the <wrn> bt_att: Ignoring unexpected request occurs, no response is sent back to peer device. This will cause ATT timeouts.
Either way, the linked pull request will resolve my issue.

@JordanYates They are definitely two separate issues. Your issue may result in ATT timeout as well.
Can you check if your issue results in ATT timeout and update the new issue I created if that is the case?

@Vudentz
The issue is caused by ATT not sending the responses to Service discovery requestse.
In vinayaks setup the peripheral is sending write-requests as fast as possible, while the central is doing device-discovery and sending notifications as fast as possible.
In this case the service discovery requests by the central is what is timing out. This is because the peripheral fails to queue the response packets, and simply drop them.
This occurs here:
static u8_t att_find_type_rsp(struct bt_att_chan *chan, u16_t start_handle,
			      u16_t end_handle, const void *value,
			      u8_t value_len)
{
	/* ... */

	int send_err = bt_att_chan_send(chan, data.buf, chan_rsp_sent);
	if (send_err) {
		BT_WARN("%d send_err %d", __LINE__, send_err);
	}

	return 0;
}

The error code is -11, which is it appears is coming from the  ATT_PENDING_SENT now.
But could also be the tx_sem.

Not sure if relevant but I see simialr same behavior on 2.2.1 when connecting to a peripheral using nrfconnect:
[00:24:57.234,680] <wrn> bt_ctlr_hci: type: 0x14
[00:24:57.332,244] <wrn> bt_att: Unhandled ATT code 0x1d
[00:24:57.430,297] <wrn> bt_att: Ignoring unexpected request

Then after 30 seconds the peripheral disconnects (I suspect the ATT time-out).

I've tried again, rebasing #26063 onto the latest master, just to be sure, and this time immediately got it to reproduce (albeit still with the 50ms connection interval, but I've been using that for the last month without any issues):
nRF Connect: 2020-06-11T07_04_33.079Z-log.txt
Zephyr: 2020-06-11T07_04_33.079Z-zephyr.log
Procedure was as decribed above:

Connect to peripheral
Enter passkey
Update connection interval to 50ms
Sequentially enable notifications for all 4 attributes
Upon enabling the last attribute's notifications (seen in the Zephyr log in line [00:00:45.571,411] <inf> main: Notification enabled), updates from the peripheral stop and after half a minute, there's a GATT timeout in nRF Connect
A disconnect seems to be the only way to interact with the peripheral

@mhx The procedure you described, is this with the peripheral sample without modifications? If you have modifications would you be able to share these so that we can reproduce the same scenario as you?

I still facing problems with v2.3.0 and Fix 26063, if I disable the logging.
@joerchan The problem to reproduce this seems to be the timing. I have to disable the whole logging to see connection problems with some iOS Apps.
But I am very new to zephyr, so I haven't the deeper understanding to help you out.

@mhx and @Counterfeiter Yeah, I'm also seeing issues. Can you enable CONFIG_ASSERT=y, see if we all get ASSERTION FAIL [buf] @ WEST_TOPDIR/zephyr/subsys/net/buf.c:574

@joerchan  I have seen the same problem on 2.2.0. I enabled CONFIG_ASSERT=y but I get an assertion somewhere else: k_panic when I try to perform an image upload using mcumgr:
0x0003ad42 in assert_post_action (file=0x4 "5'", file@entry=0x49123 "WEST_TOPDIR/zephyr/kernel/include/ksched.h",
    line=line@entry=262) at /home/mattia/bitbucket/node_firmware_v9/zephyr/lib/os/assert.c:45
45              k_panic();
(gdb) thread apply all bt

Thread 1 (Thread 57005):
#0  0x0003ad42 in assert_post_action (file=0x4 "5'", file@entry=0x49123 "WEST_TOPDIR/zephyr/kernel/include/ksched.h", line=line@entry=262) at /home/mattia/bitbucket/node_firmware_v9/zephyr/lib/os/assert.c:45
#1  0x00034a56 in z_sched_lock () at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/include/ksched.h:262
#2  z_impl_k_mutex_unlock (mutex=mutex@entry=0x20009b8c <rtt_term_mutex>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/mutex.c:232
#3  0x00018f58 in k_mutex_unlock (mutex=<optimized out>) at zephyr/include/generated/syscalls/kernel.h:657
#4  data_out_block_mode (data=0x20002992 <char_buf> "e 0x10)\033[0m\r\ntyp\001", length=0, ctx=<optimized out>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_backend_rtt.c:214
#5  0x0003c22e in buffer_write (outf=0x18f1d <data_out_block_mode>, buf=0x20002992 <char_buf> "e 0x10)\033[0m\r\ntyp\001", len=0, ctx=0x0) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_output.c:149
#6  0x0003c502 in log_output_flush (log_output=log_output@entry=0x4233c <log_output>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_output.c:158
#7  0x00018ec4 in log_backend_std_panic (log_output=0x4233c <log_output>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_backend_std.h:51
#8  panic (backend=<optimized out>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_backend_rtt.c:260
#9  0x00018844 in log_backend_panic (backend=0x41d6c <log_backend_rtt>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/include/logging/log_backend.h:178
#10 z_impl_log_panic () at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_core.c:576
#11 0x00033eac in log_panic () at zephyr/include/generated/syscalls/log_ctrl.h:34
#12 k_sys_fatal_error_handler (reason=reason@entry=0, esf=esf@entry=0x20006308 <_interrupt_stack+1784>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/fatal.c:41
#13 0x00033f5c in z_fatal_error (reason=reason@entry=0, esf=esf@entry=0x20006308 <_interrupt_stack+1784>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/fatal.c:123
#14 0x0001acb4 in z_arm_fatal_error (reason=reason@entry=0, esf=esf@entry=0x20006308 <_interrupt_stack+1784>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/arch/arm/core/aarch32/fatal.c:47
#15 0x0001b17a in z_arm_fault (msp=<optimized out>, psp=<optimized out>, exc_return=<optimized out>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/arch/arm/core/aarch32/cortex_m/fault.c:968
#16 0x0001ac58 in z_arm_usage_fault () at /home/mattia/bitbucket/node_firmware_v9/zephyr/arch/arm/core/aarch32/fault_s.S:108
#17 <signal handler called>
#18 assert_post_action (file=0x4 "5'", file@entry=0x49123 "WEST_TOPDIR/zephyr/kernel/include/ksched.h", line=line@entry=262) at /home/mattia/bitbucket/node_firmware_v9/zephyr/lib/os/assert.c:45
#19 0x00034a56 in z_sched_lock () at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/include/ksched.h:262
#20 z_impl_k_mutex_unlock (mutex=mutex@entry=0x20009b8c <rtt_term_mutex>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/mutex.c:232
#21 0x00018f58 in k_mutex_unlock (mutex=<optimized out>) at zephyr/include/generated/syscalls/kernel.h:657
#22 data_out_block_mode (data=0x20002992 <char_buf> "e 0x10)\033[0m\r\ntyp\001", length=0, ctx=<optimized out>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_backend_rtt.c:214
#23 0x0003c22e in buffer_write (outf=0x18f1d <data_out_block_mode>, buf=0x20002992 <char_buf> "e 0x10)\033[0m\r\ntyp\001", len=0, ctx=0x0) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_output.c:149
#24 0x0003c502 in log_output_flush (log_output=log_output@entry=0x4233c <log_output>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_output.c:158
#25 0x00018ec4 in log_backend_std_panic (log_output=0x4233c <log_output>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_backend_std.h:51
#26 panic (backend=<optimized out>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_backend_rtt.c:260
#27 0x00018844 in log_backend_panic (backend=0x41d6c <log_backend_rtt>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/include/logging/log_backend.h:178
#28 z_impl_log_panic () at /home/mattia/bitbucket/node_firmware_v9/zephyr/subsys/logging/log_core.c:576
#29 0x00033eac in log_panic () at zephyr/include/generated/syscalls/log_ctrl.h:34
#30 k_sys_fatal_error_handler (reason=reason@entry=4, esf=esf@entry=0x20003a10 <_k_thread_stack_sensing_thread_tid+1128>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/fatal.c:41
#31 0x00033f5c in z_fatal_error (reason=4, esf=0x20003a10 <_k_thread_stack_sensing_thread_tid+1128>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/fatal.c:123
#32 0x0001aa66 in _oops () at /home/mattia/bitbucket/node_firmware_v9/zephyr/arch/arm/core/aarch32/swap_helper.S:462
#33 <signal handler called>
#34 0x00017514 in zephyr_i2c_read (i2c_addr=<optimized out>, reg_addr=<optimized out>, buf=0x200024bc <_mpool_buf__heap_mem_pool+368> "", len=<optimized out>) at /home/mattia/bitbucket/node_firmware_v9/modules/bgrid/diamond-drivers/src/sensing/sensors/zmod4410.c:31
#35 zephyr_i2c_read (i2c_addr=<optimized out>, reg_addr=<optimized out>, buf=0x200024bc <_mpool_buf__heap_mem_pool+368> "", len=<optimized out>) at /home/mattia/bitbucket/node_firmware_v9/modules/bgrid/diamond-drivers/src/sensing/sensors/zmod4410.c:22
#36 0x00035ab6 in z_thread_single_abort (thread=0x35cb7 <pend+274>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/sched.c:475
#37 0x00037110 in k_spin_lock (l=0x20002880 <timeout_lock>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/include/spinlock.h:85
#38 z_clock_announce (ticks=<optimized out>) at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/timeout.c:205
#39 0x00037210 in z_impl_k_timer_start (timer=0x0, duration=-536810240, period=536880316) at /home/mattia/bitbucket/node_firmware_v9/zephyr/kernel/timer.c:110
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

@mfiumara If I'm reading that stack-trace right it appears the ASSERT came from zephyr_i2c_read and then got a usage-fault in the assert_post_action_handler.
The fact that you get a similar ATT timeout  on 2.2.0 must mean that it is a different problem, because this one is a regression since 2.2.0.
Can you create a separate bug-report for it?

@mhx The procedure you described, is this with the peripheral sample without modifications? If you have modifications would you be able to share these so that we can reproduce the same scenario as you?

@joerchan No, the sample has quite a few modifications and it's rather specific to the custom board it's running on (e.g. attribute updates are triggered by the light sensor interrupts). I could try to narrow it down to a smaller, board independent piece of code, but it's unlikely that I'll find the time to do this in the next two weeks unfortunately.
I'll definitely try CONFIG_ASSERT=y, though.

No luck with CONFIG_ASSERT=y. I can still reproduce the problem, but there are no assertions in the log.

[00:02:03.218,658]  bt_conn: not connected!
[00:02:03.218,688]  bt_att.chan_send: code 0x1b
This has nothing to do with the initial issue it seems, it appears to get disconnected in the meantime.

[00:02:03.218,658] �[1;31m bt_conn: not connected!�[0m
[00:02:03.218,688] �[0m bt_att.chan_send: code 0x1b�[0m
This has nothing to do with the initial issue it seems, it appears to get disconnected in the meantime.

That was a deliberate disconnect I triggered from the nRF Connect app. Before the disconnect, nothing happened for more than one minute:
[00:00:45.571,411] <dbg> bt_att.chan_send: code 0x13
[00:02:03.218,627] <dbg> bt_att.att_sent: conn 0x2000135c chan 0x20003084

Okay, I actually have a repro now with just very basic changes to the code in samples/bluetooth/peripheral that at least for me produces the issue 100% of the time. I've also confirmed that the code works fine with zephyr @ d148f8648b.
The change I've made is that, in order to simulate the interrupt-driven updates in my application, I've added a timer that triggers interrupt_worker. interrupt_worker then performs the attribute updates and re-arms the timer to trigger again after 100ms. This is pretty much what's happening in my application, only that instead of a timer trigger, I'm using an external interrupt that triggers after 100ms.
The issue appears to be that the code ends up in a state where interrupt_worker actually gets stuck while performing the attribute updates. I don't actually know where exactly it gets stuck, though, as I can't find a call stack that includes the interrupt_worker (probably gdb doesn't understand zephyr threads). But it can clearly be seen in the console that interrupt_worker is called, but never returns.
Here's the procedure to reproduce the failure:

apply this diff to samples/bluetooth/peripheral and flash to peripheral; I've repro'd this with an adafruit_feather_nrf52840 board
connect to peripheral from nRF Connect
update connection interval to 50ms
enable notifications for Battery Level, Current Time and Heart Rate Measurement
usually at this point, the console logging will stop and after half a minute, nRF Connect will show a Gatt timeout

Okay, I actually have a repro now with just very basic changes to the code in samples/bluetooth/peripheral that at least for me produces the issue 100% of the time. I've also confirmed that the code works fine with zephyr @ d148f86.
The change I've made is that, in order to simulate the interrupt-driven updates in my application, I've added a timer that triggers interrupt_worker. interrupt_worker then performs the attribute updates and re-arms the timer to trigger again after 100ms. This is pretty much what's happening in my application, only that instead of a timer trigger, I'm using an external interrupt that triggers after 100ms.
The issue appears to be that the code ends up in a state where interrupt_worker actually gets stuck while performing the attribute updates. I don't actually know where exactly it gets stuck, though, as I can't find a call stack that includes the interrupt_worker (probably gdb doesn't understand zephyr threads). But it can clearly be seen in the console that interrupt_worker is called, but never returns.
Here's the procedure to reproduce the failure:

apply this diff to samples/bluetooth/peripheral and flash to peripheral; I've repro'd this with an adafruit_feather_nrf52840 board
connect to peripheral from nRF Connect
update connection interval to 50ms
enable notifications for Battery Level, Current Time and Heart Rate Measurement
usually at this point, the console logging will stop and after half a minute, nRF Connect will show a Gatt timeout

Does https://github.com/zephyrproject-rtos/zephyr/pull/26063 fix the issue @mhx?

Does #26063 fix the issue @mhx?

Ah, I didn't see there was an additional change added to #26063 recently. No, this new change actually makes things a lot worse. When connecting to the peripheral from nRF Connect, it never gets to the point where I actually see the attribute tree. Without any interaction, I'm getting a Gatt timeout after half a minute. I'm seeing
[00:00:03.662,231] <wrn> bt_att: Ignoring unexpected request

in the log when attempting to connect.

@mhx yep, that is exactly what I see as well with the latest commit.

Ive update the set, it is now possible to flood the stack with write without response like before and as a bonus I adds support for doing it using the shell.

Ive update the set, it is now possible to flood the stack with write without response like before and as a bonus I adds support for doing it using the shell.

This looks really good! I'm unable to reproduce the problem with the latest changes. I saw a bus fault once, but can't reproduce it:
[00:00:38.866,516] <inf> hrs: HRS notifications enabled
[00:00:38.922,058] <err> bt_conn: Unable to allocate TX context
[00:00:38.924,499] <err> os: ***** BUS FAULT *****
[00:00:38.924,499] <err> os:   Imprecise data bus error
[00:00:38.924,499] <err> os: r0/a1:  0xfffffffc  r1/a2:  0x0000000c  r2/a3:  0x00000008
[00:00:38.924,499] <err> os: r3/a4:  0x20005a60 r12/ip:  0x00000000 r14/lr:  0x0001f11b
[00:00:38.924,530] <err> os:  xpsr:  0x21000000
[00:00:38.924,530] <err> os: Faulting instruction address (r15/pc): 0x0001f120
[00:00:38.924,530] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
[00:00:38.924,530] <err> os: Current thread: 0x20002794 (unknown)
[00:00:38.994,171] <err> os: Halting system

@Vudentz It's looking good now. Throughput sample is working well. Also tested the fixes on top of vinayaks original bug-report branch (https://github.com/joerchan/zephyr/tree/att-timeout) and it is also working without issues now.

This looks really good! I'm unable to reproduce the problem with the latest changes. I saw a bus fault once, but can't reproduce it:

No, that doesn't seem related. We have a couple of deadlocks that need fixing (they have PRs) which might fix the issue you are seeing.

This looks really good! I'm unable to reproduce the problem with the latest changes. I saw a bus fault once, but can't reproduce it:

No, that doesn't seem related. We have a couple of deadlocks that need fixing (they have PRs) which might fix the issue you are seeing.

Yep, don't think it's related. The new code has been running for hours now without any issues.


Replace use of Any by an enum

Fixes #17.
I came from hacktoberfest tag and not familiar with the codebase so I kept in mind to make minimal changes.

Was this merge and Pull Request really necessary? We don't have to store references to read/write queries and more importantly, influxdb-rust already had QueryType. Code using any could be refactored without the addition of redundant enums. Trait InfluxDbQuery describes a method get_type which returns either QueryType::Read/WriteQuery depending on a struct.

@Empty2k12
    pub async fn query<Q>(&self, q: &Q) -> Result<String, InfluxDbError>
    where
        Q: InfluxDbQuery
    {
        let query = match q.build() {
            Err(err) => {
                let error = InfluxDbError::InvalidQueryError {
                    error: format!("{}", err),
                };
                return Err(error);
            }
            Ok(query) => query,
        };

        let basic_parameters: Vec<(String, String)> = self.into();

        let client = match q.get_type() {
            QueryType::ReadQuery =>
//...

this is how it could and should (imho) be done (why add something to the crate when we already had it) and is how I'm implementing an async-await unstable feature right now

@Drevoed If I can break API, my opinion is:

InfluxDbQuery trait is unfit because it is not semantically open (it has to be either read or write query, no consuming crate should be implement this trait). It is currently also used for something like a something like a module but is is wrong. Remove it.
New InfluxDbQueryTypes can be used only for the purpose of "overloading" emulation. Not necessary TBH.

@pcpthm I agree and I've come up with a different solution then, seeing as crate is still in 0.0.* and allows breaking changes. Something along the lines of this:
pub enum InfluxDbQuery {
    Write(InfluxDbWriteQuery),
    Read(InfluxDbReadQuery)
}

impl InfluxDbQuery {
    pub fn build(&self) -> Result<ValidQuery, InfluxDbError> {
        use InfluxDbQuery::*;

        match self {
            Write(write_query) => write_query.build(),
            Read(read_query) => read_query.build()
        }
    }
}

this follows your idea of removing an InfluxDbQuery

I'm happy to discuss a more semantic API for this crate. Usability and code readability for implementers should be highest concern. I had no one to check the semantics of the API I designed, so I'm thankful for all feedback.


Is there an API which return a list of activities instead of only one everytime?

I wanna make this more clearly, for example:
http://www.boredapi.com/api/activity?type=recreational&minaccessibility=0&maxaccessibility=1
The above api will return only 1 item everytime, is there any API return a list of items?
Thanks in advance.


chore: reset hooks before saes in tutorial

Description
In the tutorial, the ablation code adds some hooks to an SAE via a HookedSAETransformer, but then detaches the SAE using model.reset_saes() before calling model.reset_hooks(). This causes the model.reset_hooks() call to not actually remove the ablation hook, thus permanently modifying the SAE for the rest of the notebook and breaking the attribution code which directly follows.
This PR swaps the order of these calls, so the reset_hooks() call now happens before the reset_saes() call.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Thanks! good catch!


Review of Dolphicom's governance model

The Dolphicom Project
Reviewer name: JAPHET KIPLANGAT
Here is the LINK to the project's governance model.
The Dolphicom project is an Open source project whose main aim is to develop open-source software for scientific analysis of bioacoustics in Python and the Dolphicom package.
Leadership and Governance
The project governance is anchored on transparency, active contribution, and institutional neutrality.
This governance model has heavily adapted from Jupyter's and Numpy governance documents.
A benevolent dictator (BDFL ) provides the primary leadership of the project. A BDFL has the authority to make final project decisions, however, to preserve the benevolence of this position, the BDFL is rarely expected to assert his authority and instead delegates that authority to the consensus of conflicting parties. A BDFL offers guidance and support in situations when the steering council is at loggerheads and the council requests the BDFL to make a decision on a particular matter. A BDFL has the authority to appoint his successor in consultation with the steering council.
The Steering Council is another arm of leadership in the Project and is composed of project contributors with sustained and significant contributions over at least a one-year period. Individuals with significant contributions to the project are considered for calling to the council. Metrics for considerations as potential are not only limited to code but also Infrastructure work, mailing lists, chat participation, and community building. There are other two leadership roles within the Steering council, the Council chair and the Release manager. The project roles for the council and the two leadership positions are detailed below.
The Steering Council

Updating of  policy documents
Providing guidance on strategic collaboration with relevant partners
Make decisions on the project's vision and overall direction
Offering of technical guidance on important technical issues, features, bugs, and technical requests.
Make decisions on projects run by the organization, and manage these projects for the benefit of the community

Council Chair

Ensuring the project's documentation i.e code of conduct, and fiscal sponsorship agreement are continuously updated and stored.
Ensuring matters discussed in private by the steering council are added to the mailing list to update the community on the happenings.
Ensuring the composition of the steering council stays updated.
Summarizing relevant organizational updates and issues in the preceding period and engaging the community through the mailing list of suggestions to improve the project.
Beginning a biannual assessment of the project's technical direction (as recorded by the "Scipy-roadmap"), around the middle of April and the middle of October.

Release manager

Creating software releases and announcing them on relevant channels.
Providing guidance on the content of a release in situations where there is a lack of consensus on a particular change of feature.
Proposing and making decisions on the timing of a release.

Voting and Decision-making Process
All council members shall disclose to the rest of the council any conflict of interest they have on various issues. Members with conflicting interests are allowed to participate in community discussions but are not allowed to participate in the voting process touching on the conflict of interest.
In instances where a formal decision is required, the governing model allows for voting through the  Apache voting process. This voting process is unique, a +1 vote indicates an agreement, -1 votes are vetos and should be accompanied by a rationale informing of this decision, and also allows for a fractional voting system. The fractional voting system is important in getting the general feel of the community towards a certain matter.
Institutional partnerships
Institutional partners are acknowledged in the governance model as part of the community due to the important role of funding they offer to the project. Institutions become eligible to become Institutional partners by employing individuals who actively contribute to The Project as part of their official duties. Only using the  Project software in an institutional context does not qualify an entity to become an Institutional Partner. The steering council is responsible for approving an entity for institutional partnership once the thresholds are met. Institutional partnerships will last if an entity ceases having individuals actively contributing to the project for over a one-year time period.
Accessing and Understanding the governance model
The governance model was easily accessible in the project documentation. The project's documentation is organized and clearly written and this made understanding the governance model much easier. Project's documentation is quite detailed and had past governance models, this enabled me to further understand the project and how the project's governance policies have evolved over time

My review and presentation, @arliss-NF


User agent missing

At the moment both of SDKs don't set any user agent for the API requests so we don't actually know what requests are coming from the SDK.
We could set x-user-agent to be something like PHQ-JS-SDK/0.1.0 and PHQ-Python-SDK/0.1.0.
Thought @robertkern @braedon ?

Tableau connector is PHQTableauConnector/0.7.0. To be consistent, would these be PHQJSSDK? Or PhqJsSdk? Or do we change the Tableau connector to PHQ-Tableau-Connector?
@robertkern

We also have PHQWebApp/{version}


Enhance docs of arguments and return values of callbacks / filters

See also https://github.com/openlayers/ol3/issues/2253#issuecomment-106227903

No code change, merging


fix: dropdown top position logic

rendering is not working yet. keyboard is dismissed when dropdown is rendered above the element

hi @myou11 ,
Thank you create PR


1.18.2

Can we get an update for 1.18.2? So that we can use this for the current update.

Will be uploading a new release in a bit with this change

Done!


Fairino Python SDK Arm64

Hello, good work. When will the arm64 library file for Fairino robots' python sdk be released? If you have the chance to compile it, can you do it?

Getting error while importing package "from fairino import Robot"
Unable to install(pip install cp310_win_amd64) the Fairino Python sdk getting below error.
ERROR: Could not find a version that satisfies the requirement cp310_win_amd64 (from versions: none)
ERROR: No matching distribution found for cp310_win_amd64
Kindly advise.

I was wondering  if you would release the arm64 library file for Fairino robots' python sdk?


Ngen.dev pet

Add integration test for running PET module.
Additions

Removals

Changes

Testing

Screenshots
Notes

Todos

Checklist

[ ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows project standards (link if applicable)
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist (automated report can be put here)

Target Environment support

[x ] Linux

I resolved some conflicts with master which resulted in the latest commit. Despite passing all the checks, the module_integration.yml code may have following issues:
From line 40 - 88, there appear to be indentation errors.
Between line 89 - 110, do we want to cache evapotranspiration as for CFE?

One problem I see is you have merge commit in your git history which means this can not be added to OWP/master. The branch would need to be rebased on OWP/master instead. This is so OWP/master always has a consistent history.

This PR has been replaced by #429
On Thu, Aug 4, 2022 at 9:14 AM Donald W Johnson -- NOAA <
@.***> wrote:

@.**** requested changes on this pull request.
One problem is there is a merge commit in history for this pull request.
To merge this the code branch should be rebased on OWP/master instead of a
merge being used.
—
Reply to this email directly, view it on GitHub
https://github.com/NOAA-OWP/ngen/pull/401#pullrequestreview-1062000224,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACA4SRNEAW2FZLRMUOSFQT3VXPF47ANCNFSM5RO4CZRQ
.
You are receiving this because you commented.Message ID:
@.***>


ndt_omp_impl.hpp seems always be converged ?? delta_p_norm can be zero ??

The code in ndt_omp_impl.hpp 134～139； How does it work ?
    if (delta_p_norm == 0 || delta_p_norm != delta_p_norm)
    {
      trans_probability_ = score / static_cast<double> (input_->points.size ());
      converged_ = delta_p_norm == delta_p_norm;
      return;
    }

It checks if delta_p_norm is NaN. It's really tricky, and I thinks it should be modified with std::isnan for better readability.

with

But I think "delta_p_norm != delta_p_norm" will be optimized by compiler; std::isinfinite() means to that?


Only accept the input size to be the power of 2

Cooley-Tukey FFT: You don't have to zeropad to a power of 2? - MATLAB Answers - MATLAB Central

Seems that it doesn't need to pad?
Still need to study, this command is just for record.

To achieve an FFT of arbitrary size, it is necessary to first perform prime factorization on the input size and then apply a similar but distinct function for each prime factor. This approach seems time-consuming and impractical. Therefore, I incorporated an existing package to compute the 1D FFT.
This package (Martin Reinecke / pocketfft · GitLab ) accepts arbitrary input size. And specially optimized for for the factors 2, 3, 4, 5, 7, 11 in complex-value FFT.
See in the commit f63aecc for implementation.


add clientId tag to KafkaSink DynamicCounter metrics so that we can s…

…lice and dice on clientId. otherwise, we can't separate metrics from platform logging and suro router.

suro-pull-requests #236 SUCCESS
This pull request looks good

NetflixOSS » suro » suro-pull-requests #68 ABORTED


Add spldev key to RM:factory:factory-keys page

Added a minimal amount of info on spldev support. Decided against having
an admonition pointing out that there are two u-boot keys, which is
dependent on hardware features, to keep it short. Open to adding more
info if we think it is needed. There is cleanup tasks to be done
regarding word choice and grammar, but that will be in a following
PR.
Rendered page locally, and ran Vale linter. No new issues reported.
This addresses Jira FFTK-1597.
Signed-off-by: Katrina Prosise<EMAIL_ADDRESS>Readiness

[x] Merge (pending reviews)
[ ] Merge after date or event
[ ] Draft

Overview
Why merge this PR? What does it solve?
Checklist
Optional. Add a 'x' to steps taken.
You can fill this out after opening the PR. "Did I..."

[x] Run spelling and grammar check, preferably with linter.
[x] Avoid changing any header associated with a link/reference.
[x] Step through instructions (or ask someone to do so).
[x] Review for wordiness
[x] Match tone and style of page/section.
[x] Run make linkcheck.
[x] View HTML in a browser to check rendering.
[ ] Use semantic newlines.
[x] follow best practices for commits.

[x] Descriptive title written in the imperative.
[x] Include brief overview of QA steps taken.
[x] Mention any related issues numbers.
[x] End message with sign off/DCO line (-s, --signoff).
[x] Sign commit with your gpg key (-S, --gpg-sign).
[x] Squash commits if needed.

[x] Request PR review by a technical writer and at least one peer.

Comments
I am open to adding additional changes, kept it fairly minimal.

Docs for 8d55b9552d84974cda2b66f8d69ecf5a17f16638 are browsable at: https://ci.foundries.io/projects/fio-docs/builds/1469/docs/artifacts/html/index.html

Docs for e1f28c16fdd1b394be9d084b2a1020e3cedb8b61 are browsable at: https://ci.foundries.io/projects/fio-docs/builds/1477/docs/artifacts/html/index.html


Update mac-resources.md

Update output types to json and table

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/6700

@Dansimp Please merge this PR. Thanks


Plugin is broken on https://hitomi.la

Describe the bug
A clear and concise description of what the bug is.
在此处描述问题
The plugin is broken on https://hitomi.la starting from today I think.
Browser And Version
Which Browser Do You Use? And Browser Version
你使用什么浏览器与版本？
Firefox 132.0.2 (64-bit)
Log
Press F12, Open Browser Console. Export or Copy Console Log.
打开浏览器控制台，导出或复制控制台日志，粘贴到此处。
attached console log: console-export-2024-11-27_0-23-51.txt
Screenshots
If applicable, add screenshots to help explain your problem.
如果可以，请提供安全的图片
Cannot add a full screen screenshot because nsfw, but fortunately 1 page is safe to screenshot:

Tampermonkey > Dashboard > Edit Comic Looms (click) > Settings > XHR Security > clear User Domain Blacklist.
Next time you visit hitomi.la, Tampermonkey will pop up a confirmation tab, select Always allow domain or Always allow all domains.
I recently removed the @connect  some.adult.site in the script and used @connect * instead.

Oh, not sure why hitomi domain got blacklisted, maybe I misclick in the pop up?

I just need to remove the blacklist and now it's working again. Thank you for your help.


❓🐞@microsoft/sp-client-preview Missing in dependency chain (extra work req. for PNPM usage)

Category

[x] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
Running pnpm install should get all dependencies so when building the project, it builds with no errors when importing the @microsoft/sp-client-preview package.
Observed Behavior
When you run pnpm install, you don't get the @microsoft/sp-client-preview package. To get it, you must run pnpm install --shamefully-flatten.
Ref: https://pnpm.js.org/docs/en/faq.html#pnpm-does-not-work-with-your-project-here
Steps to Reproduce

create a new project with --plusbeta.

add the following import statement to the web part:
import { MSGraphClient } from `@microsoft\sp-client-preview`

add the following statement to the web part's render() method:
const client: MSGraphClient = this.context.serviceScope.consume(MSGraphClient.serviceKey);

run pnpm install

run gulp build

observe build errors

use solution 2 from the PNPM FAQ: run pnpm install --shamefully-flatten

add --force to rebuild the node_modules folder without having to delete it

run gulp build

observe no build errors

Bit more info... I've tried to figure out where this should be correctly referenced as a dependency... but I'm not sure. Maybe in the root package.json of the project? Not sure... MSFT engineering would have to state the intention here...

Hey Andrew - this might be a silly questin, but is there a reference to @microsoft/sp-client-preview 1.5.0-plusbeta in your package.json file?

Hey @patmill ... yes... the project was created with the --plusbeta flag and verified by looking at the package.json

Confirmed this is still an issue in v1.5.1

still an issue in 1.6.0

Appears resolved in v1.7.0, but a new related issue cropped up in ALL projects (not just -plusbeta): #2916


Cognizine does not work

Description
Pretty simple cognizine doesn't work. Tried higher volumes 5,10,15u and no ghost role. Tested with Lisa, Morty and paperwork.
Reproduction

Inject or alter the solutions on animal/pet.
Check ghost role to see it didn't work.

Screenshots
N/A
Additional context
Been a while since I seen a sentient animal so probably broken a while.

might be caused by #19951

yep the mindcontainer check was evil since all mobs have it now


Prepare for new Image OCI in Cerberus

When this is released:

Deploy new dev cluster
get a diff on rpm of prod and new dev env instances (bastion and compute, etc)
prepare (with oracle) to spin up new HPC/BM nodes with updated images/code.

I created the new OCI images.


edgemesh跨边云通信案例出现问题

What happened:
I had a problem with edgeMesh cross-cloud communication, and this example is very important for me to build sedna later
This problem has been bothering me for a long time,/etc/resolv.conf does not have nameserver <IP_ADDRESS> in the content,How to solve this,What does /etc/resolv.conf mean in pod? I checked the nameserver in this file, I set the DNS address <IP_ADDRESS> when I started to set the static IP in the cluster, what is the relationship between this and the nameserver?
And when I install degemesh, I follow the tutorial on the official website to manually install without specifying a specific version, is it also related to this?
Most of the information I looked up online is obscure, and I really hope that I can solve it and communicate successfully.
Here's how I deployed

Now I want to do edge cloud communication

Problem occurred

kubectl logs edgemesh-agent-7dv67 -n kubeedge

kubectl logs edgemesh-agent-hprkd  -n kubeedge

kubectl logs edgemesh-agent-hr8td  -n kubeedge

4.vi build/agent/resources/04-configmap.yaml
Here the psk is self-generated, and I write all the nodes in the cluster to relayNodes

cat /etc/resolv.conf

Cluster IP also does not work

What you expected to happen:
I'd very much like I'll be able to go through the example of cross-cloud edge communication
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:


Automatic update of gh-pages broken

https://github.com/mundialis/geoserver-grass-raster-datastore/runs/5388096925?check_suite_focus=true
Error:  Failed to execute goal org.apache.maven.plugins:maven-scm-publish-plugin:3.1.0:publish-scm (default-cli) on project geoserver-grass-raster-datastore: Failed to check out from SCM: The git-clone command failed. Cloning into 'scmpublish-checkout'...
Error<EMAIL_ADDRESS>Permission denied (publickey).
Error:  fatal: Could not read from remote repository.
Error:
Error:  Please make sure you have the correct access rights
Error:  and the repository exists.
Error:  -> [Help 1]
Error:
Error:  To see the full stack trace of the errors, re-run Maven with the -e switch.
Error:  Re-run Maven using the -X switch to enable full debug logging.
Error:
Error:  For more information about the errors and possible solutions, please read the following articles:
Error:  [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Error: Process completed with exit code 1.

Without having a closer look I would suggest to make use of an action to deploy to the gh-pages branch, e.g. github-pages-deploy-action.

OK, I'll try to use that.

Fixed in #5 (and /b93d38565f6e4113c0742760366a51f496de2b8b) :man_cartwheeling:


chore: add statsig release please configurations

This PR
statsig release please configs were missing in the original PR

I think you'll need a matching version.txt. Otherwise I think it's good.

I think you'll need a matching version.txt. Otherwise I think it's good.

This is already there - https://github.com/open-feature/java-sdk-contrib/blob/main/providers/statsig/version.txt :)


FSDP: How to do all-gather using FP8?

FSDP2 supports all-gather using FP8:
https://discuss.pytorch.org/t/distributed-w-torchtitan-enabling-float8-all-gather-in-fsdp2/209323
Wondering if we could do this directly using TransformerEngine instead of torch-ao?
Thanks!

Hi @vgoklani -- TE modules can be initialized under the with te.fp8_model_init(): context to allocate their primary weights in FP8 (as te.Float8Tensors) instead of allocating at a higher precision and maintaining separate FP8 buffers for compute.
I don't believe anyone has tried this in practice, but at least in principle, FSDP2's per-parameter sharding should work out-of-the-box with the torch.uint8 data underneath our te.Float8Tensors.
There are two things to be mindful of here:

You would not use the precompute_float8_dynamic_scale_for_fsdp(model) API from the linked example because TE already does this internally. You simply need to pass the process group for amax reductions (typically global/world group) into the te.fp8_autocast() context.
In the absence of native FP8 support in PyTorch, you cannot apply the optimizer step directly onto the FP8 model parameters. Consequently, te.fp8_model_init() is intended to be used with higher precision "master" copies of the model parameters in the optimizer.

If you experiment with TE + FSDP2, please share your experiences. We already support PyTorch's native FSDP but this involves TE modules carrying extra FP8 buffers for the compute while FSDP communication remains in higher precision. It would be great to extend our FSDP support to te.fp8_model_init() + FSDP2.

Adding to this, FSDP support should just be a matter of implementing fsdp_pre_all_gather and fsdp_post_all_gather methods in Float8Tensor, at least in principle.

If you guys are at the CUDA-MODE hackathon tomorrow (IRL) then let's work on this!!!!!


Error message are shown instead of 'Sleep Mode' message when not typed in English

Bug Report
System Information

Operating System: Ubuntu Server 20.04.1 LTS
AMP version and build date: AMP Release "Europa" v<IP_ADDRESS> built 10/11/2020 17:57
Which AMP release stream you're using: Release

I confirm:

[x] that I have searched for an existing bug report for this issue.
[x] that I am using the latest available version of AMP.
[x] that my operating system is up-to-date.

Symptoms
When 'Sleep Mode' message is set into Korean (서버가 현재 잠자기 모드에서 깨어나는 중입니다!) and player tries to join server in Sleep Mode, this error message shown up instead of Sleep Mode message.
Internal Exception: io.netty.handler.codec.DecoderException: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 18 path $

Reproduction
If you have installed Korean font file, you can copy & paste this string into Sleep Mode message section.
서버가 잠자기 모드에서 일어나는 중입니다!

Server needed to be restarted to take effect of this change. If you don't restart server, your previous setting would be used I guess. After restarting server, manually put server into Sleep Mode and try to join your server. Same error message would be shown.

PS. This information is not directly related to this problem, but might be helpful.
Few versions ago, when user is using Windows language as Korean, he could not see AMP panel well.
This problem could be bypassed to set Chrome's webpage display language as English, not default value(Korean). Also this affected Android too but this problem could not be bypassed even though setting Chrome Android's webpage display language into English.
For now, when you use Chrome Windows, you can set Chrome's webpage display language into English will bypass the problem and Chrome Android also seems to be working this method too.

This problem still exists, but no message are shown to player, instead of showing error message.

But good thing is, the message setting is saved right after chaning it, so no server machine reboot or instance restart is needed. All you have to do is, stop minecraft server and restart it.


Automate subscriber welcome email

Note: This issue is reserved for the OS Hackathon on Saturday, February 4 in Portland, OR. You are welcome to join in person or remotely!

I'd like to send a welcome email when a business becomes a paying customer.
A PR addressing this issue should:

[ ] Send an email to the user when they subscribe to a paid plan

The subject and body of the email should be as follows, ensuring HTML + plain text versions:
Subject: Your RailsDevs subscription is live! 🎉 Let’s find your perfect match.
Hey [first name],
It’s Joe again, the founder of RailsDevs. Your subscription is live and you can message all [developer count]+ Rails developers on the platform.
Get started by adding a filter or two when browsing developer profiles. Start with role level and work preference then try adding a specific term or technology.
When you see a good fit click the Hire button. Your message goes right to their email inbox.
Hit reply or schedule a call if you’d like help narrowing down your search!
And thank you for your support in my bootstrapped, independent business.
[signature]
P.S. Where did you first hear about RailsDevs?

I can work on this one

Awesome! All yours Duncan.

Hey @duncantmiller, do you still have appetite to finish this? Let me know if you need help getting it over the finish line!

Closed via #766.


Draw DAG the same way

When the page loads, the DAG should render in the same way every time.  This is especially important when the jobs are complex.

The DAG drawing is all handled by d3.js using a force-directed graph. This is essentially running a physics emulation to render the nodes in real-time and adapt whenever you add a link or drag things around. It's unlikely we would be able to render the DAG statically without a significant amount of effort, if it is possible at all within the force-directed graph framework.
I'll leave this issue open for a bit to see if anyone else wants to try to work on a PR. I'll close it if there are no takers.

Seems unlikely to happen, maybe if D3 even implements this natively we can just flip a switch somewhere.


Error when input is /

Having a pipeline defined as follows:
"input": {
    "pfs": {
          "name": "myOtherPipeline",
          "repo": "myOtherPipeline",
          "branch": "master",
          "glob": "/"
        }
      }

where myOtherPipeline is a pipeline (not an input repo), fails with the following error message:
errored downloading data after 341.093933ms: InvalidRange: The requested range is not satisfiable\n\tstatus code: 416
Note that it would succeed if the input path was anything else than just / (for instance /data).
This happens one cluster (cf below), but not on a minikube install running k8s 1.16 and Pachyderm 1.9.8.
Environment?:

Kubernetes version (use kubectl version): 1.11.10
Pachyderm CLI and pachd server version (use pachctl version): 1.9.7

Here's another instance of 416's from PFS calls to object storage: https://github.com/pachyderm/pachyderm/issues/4254

@marcadella which object store are you running on?

Minio 2018-09-01T00:38:25Z

I updated the version of Minio to 2019-10-12T01:39:57Z and Pachyderm to 1.9.9 and I still get the same issue.

I tested again by changing / -> /run and I still get the same issue. All the pipelines of my workflow work fine except 4 who all have inputs like this:
{
  "union": [
    {
      "cross": [
        {
          "pfs": {
            "name": "ENV_SCRIPT",
            "repo": "reads",
            "branch": "master",
            "glob": "/env_mgmt_egressAssembly.sh"
          }
        },
        {
          "pfs": {
            "name": "assembly_fastqpairer",
            "repo": "assembly_fastqpairer",
            "branch": "master",
            "glob": "/run"
          }
        },
        //some other pipelines looking like the one above
        }
      ]
    },
    {
      "pfs": {
        "name": "__METADATA__",
        "repo": "reads",
        "branch": "master",
        "glob": "/metadata.txt"
      }
    }
  ]
}

Is there anything special about this definition???

By looking at the log of the storage container, I could find out exactly which file could not be downloaded:
2019-12-09T14:09:17Z ERROR pfs.BlockAPI.Obj.GetBlocks {"duration":0.205009542,"error":"InvalidRange: The requested range is not satisfiable\n\tstatus code: 416, request id: 15DEB935141C2F98, host id: ","request":{"blockRefs":[{"block":{"hash":"13e98f61a9874e61923ae359dedc414d"},"range":{}},{"block":{"hash":"3711adf813774f36a08285ad3e9fe587"},"range":{"lower":97157,"upper":97157}}]}} []
2019-12-09T14:09:17Z ERROR pfs.API.GetFile {"duration":0.274540996,"error":"rpc error: code = Unknown desc = InvalidRange: The requested range is not satisfiable\n\tstatus code: 416, request id: 15DEB935141C2F98, host id: ","request":{"file":{"commit":{"repo":{"name":"taxonomy_mapseq_1-2-3"},"id":"19b1f01b870e4f099ae3e488563042e0"},"path":"/run/meta/touch"}}} []

/run/meta/touch is an empty file (created with touch).
Created bug report #4395.


Blocked by Spamhaus

Hi;
I am using the direct method, however the ip has now been blocked by spamhaus.
This machine has a static ip address, a domain name and a reverse dns setup.
It appears that the HELO uses localhost instead of the domain name, how can I set the domain name such that HELLO includes it instead of localhost ?
IP Address xx.xx.xx.xx is listed in the CBL. It shows signs of being infected with a spam sending trojan, malicious link or some other form of botnet.

It was last detected at 2015-10-20 00:00 GMT (+/- 30 minutes), approximately 3 hours ago.

The listing of this IP is because it HELOs as <IP_ADDRESS>. Not only is this a violation of RFC2821/5321 section <IP_ADDRESS>, it's even more frequently a sign of infection.

In all probability this IP address is a NAT gateway, and the machine at <IP_ADDRESS> in your local LAN is either infected, or if it's a server, badly misconfigured.

Direct transport uses localhost if it fails to detect the current hostname of the server. You can use the name property to override it
var nodemailer = require('nodemailer');
var directTransport = require('nodemailer-direct-transport');
var transporter = nodemailer.createTransport(directTransport({
    name: 'my-host.example.com'
}));

It would be great if you could include something about this in your examples or equivalent as I've been got by this problem too and it took a lot longer than I'd have liked to find this as the internet didn't seem to help much :)
Thanks sca


fix(repo): Fix ESLint errors and use ESLint in lint-staged

Description
So this is a PR with a lot of changed files but don't worry. The changes are not heavy handed, I reserved the bigger ESLint changes for sometime later 😅
Essentially, this PR fixes the errors that were thrown with the current ESLint setup when run npm run lint at the root. Here and there I fixed some other things that I noticed, too.

Adjust .eslintignore and .gitignore to properly ignore our desired dirs
Add ESLint to our lint-staged
Rename LICENCE (which is wrong) to LICENSE
Add FORCE_COLOR=1 to Turborepo scripts because for whatever reason they don't retain color output?! (see https://github.com/vercel/turbo/issues/223)
Change the lint scripts to not lint the whole package but only the src folders. This speeds up the checks and encourages to not put stuff somewhere else
Didn't touch some code paths and instead added a TODO. See the commit that only contains the TODO changes: https://github.com/clerkinc/javascript/pull/1756/commits/0c74befd78181408b6f4a85036b6a84746f227bb
Update ESLint and other deps

Important: I purposefully not enabled ESLint in our CI yet as that can be a blocker for PRs. Locally you can get around the lint-staged check with --no-verify. Long-term I want to enable ESLint in CI but I want to wait and see if we run into any problems.
Fixes JS-752
Checklist

[x] npm test runs as expected.
[x] npm run build runs as expected.
[ ] (If applicable) JSDoc comments have been added or updated for any package exports
[ ] (If applicable) Documentation has been updated

Type of change

[x] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[x] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[x] build/tooling/chore

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Replaced $CHILD_STATUS global var by $?

I leaned towards using the cryptic variable name instead of requiring English in the project, but I can do it the other way. See https://github.com/arya/bluepill/issues/207

thanks, landed


reducers: Fix workspacePendingChanges variable initialization

Commit ad4d916dcad3d2af3a2e8f98cd8ed3598616ee5f missed this specific
occurance.
Closes #605

Codecov Report

Merging #606 into master will decrease coverage by 0.14%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #606      +/-   ##
==========================================
- Coverage   67.12%   66.98%   -0.15%
==========================================
  Files          68       68
  Lines        3459     3459
  Branches      689      689
==========================================
- Hits         2322     2317       -5
- Misses       1137     1142       +5

Impacted Files
Coverage Δ

core/reducers/blueprints.js
55.81% <ø> (ø)
:arrow_up:

core/sagas/inputs.js
71.42% <0%> (-3.07%)
:arrow_down:

core/selectors.js
92.96% <0%> (-0.79%)
:arrow_down:

core/sagas/blueprints.js
63.35% <0%> (-0.53%)
:arrow_down:

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 4e3a5e8...b64eb2a. Read the comment docs.


Missing filters in the table

Filters are missing for certain attribute types, e.g. Big Decimal, integer:

Case:

add Character field to entity
generate Frontend entity management
run app
open entity browser

AR:
filter is absent

related https://github.com/Haulmont/jmix-graphql/issues/134

@owlet1997 Merged a fix to master. Filter will appear but won't work due to above issue.


Ignore Replica Indices in SearchableBehavior.php

Replica Indices will have no criteria configured.
This is intended to resolve Issue 303 for the Craft 4 compatible version of Scout.

Thanks for the PR @mike-moreau, fix will be out later this week!


Change Git Release description

Gitea version (or commit ref): 1.5.0
Git version: 2.18.0
Operating system: Windows
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
Can't edit description of existing releases.
...
Screenshots

Can not seem to reproduce that. When clicking on edit link that is near release title I can edit description and title

I do have the same problem. A repository I had up and running on github. All releases (created via github GUI) can't be edited. There isn't even a clickable link. I can only open the tag which will show the tree state.
Gitea version 1.10.0 built with GNU Make 4.2.1, go1.13.4 : bindata, sqlite, pam

Are tags handled differently than releases?
You can try with a vanilla gitea installation and this repository: https://github.com/relikd/baRSS
In the installation step I disabled all external services (Local Mode is enabled).
Also disabled Self-Registration.

@lafriks
And if I open the edit URL directly, it opens the edit form field (compared to a non-existing tag where I get a 404). However, after I click on save I get the 404 error and nothing is updated.
(also notice this "wrong" edit form does not show the branch / commit selection)

@relikd could you reproduce that on https://try.gitea.io ?

yup. Migrate from this URL: https://github.com/relikd/baRSS

https://try.gitea.io/lunny/baRSS/releases I didn't get 404.

How is this even possible? Here, with and without mirror. Both not working:
https://try.gitea.io/asdglkashdgask/baRSS/releases
https://try.gitea.io/asdglkashdgask/baRSS2/releases

@relikd you need to do a migration with your Github credentials to have the option to migrate issues and releases (among other things)
Push and mirror will only have what is stored in git itself which is the code and tags.
You can edit releases but not tags, so you would need to do a full migration from Github to have releases (as @lunny has done in that example). Migration is what copies over anything not stored in git from Github.
So new->migration and then put in the repo URL and your Github credentials in order to see the extra migration options.

Alright, but then why do I need to use my credentials at all? The API is publicly accessible even without credentials, e.g.: https://api.github.com/repos/relikd/baRSS/releases
I'm hesitant to store my login credential on my publicly accessible server especially when there is no real need for.
Further, If I import the repo via manual push all tags create a non-editable release.
Then how should I modify that information afterwards?

@relikd Because github will limit the request limitation if you are using a public credential. You will fail after serval requests.


Bees not attacking at all, application fails

When using bees in a VPC I get this error when trying to attack:
Read 4 bees from the roster.
Connecting to the hive.
Assembling bees.
Each of 4 bees will fire 25 rounds, 2 at a time.
Stinging URL so it will be cached for the attack.
Organizing the swarm.
Bee 0 is joining the swarm.
Bee 1 is joining the swarm.
Bee 2 is joining the swarm.
Bee 3 is joining the swarm.
Traceback (most recent call last):
File "/usr/local/bin/bees", line 6, in
main.main()
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/main.py", line 163, in main
parse_options()
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/main.py", line 154, in parse_options
bees.attack(options.url, options.number, options.concurrent, **additional_options)
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/bees.py", line 510, in attack
summarized_results = _summarize_results(results, params, csv_filename)
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/bees.py", line 294, in _summarize_results
complete_results = [r['complete_requests'] for r in summarized_results['complete_bees']]
TypeError: sequence index must be integer, not 'str'
When using bees outside a VPC I get this error when trying to attack:
Read 4 bees from the roster.
Connecting to the hive.
Assembling bees.
Each of 4 bees will fire 250 rounds, 25 at a time.
Stinging URL so it will be cached for the attack.
Organizing the swarm.
Bee 0 is joining the swarm.
Bee 1 is joining the swarm.
Bee 2 is joining the swarm.
Bee 3 is joining the swarm.
Traceback (most recent call last):
File "/usr/local/bin/bees", line 6, in
main.main()
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/main.py", line 163, in main
parse_options()
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/main.py", line 154, in parse_options
bees.attack(options.url, options.number, options.concurrent, **additional_options)
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/bees.py", line 510, in attack
summarized_results = _summarize_results(results, params, csv_filename)
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/bees.py", line 304, in _summarize_results
summarized_results['mean_response'] = sum(complete_results) / summarized_results['num_complete_bees']
ZeroDivisionError: integer division or modulo by zero
Using latest bees from Git. This happens on Amazon Linux and Ubuntu with Python 2.6
Please let me know if I can test anything.

I was having the same issue. When I reverted to python 2.6, it went away, so I believe this is an incompatibility with python 2.7.


Add Animated Toggle for Dark and Light Mode

Fixes #420
This pull request introduces an animated toggle for switching between dark and light modes in the application. The toggle provides users with a visually appealing way to switch between different color schemes, enhancing the user experience. This feature improves accessibility and customization options for users who prefer different modes based on their preferences or environmental conditions. The implementation follows best practices for user interface design and includes smooth transitions for a seamless experience.

Fixes #420
This pull request introduces an animated toggle for switching between dark and light modes in the application. The toggle provides users with a visually appealing way to switch between different color schemes, enhancing the user experience. This feature improves accessibility and customization options for users who prefer different modes based on their preferences or environmental conditions. The implementation follows best practices for user interface design and includes smooth transitions for a seamless experience.

resolve conflicts!

@huamanraj Done


Add .gitignore

I understand people often have node_modules in their global ignore, but not every body does, and semantically it makes sense to keep this with the project.

+1


Map assign issues

Two bugs were observed in the wild:

Choose parent map will first reset to actual parent map, only upon second selection the selection persists
When adding area without PDF, a PDF is automatically selected.
PDFs cannot be removed (not a bug see #480)

Cannot reproduce issues. Both feel like state issues that is not properly cleaned up. User was on safari, hence maybe the issue only happens there.

Still cannot reproduce. Lets look at it together sometime.

Reproduced on Edge.
Steps to reproduce:

Add map with PDF
Add another map without a PDF

Expected: Second map without PDF
Actual: Second map has PDF

Reproduced on Edge.
Steps to reproduce:

Add map with PDF
Add another map without a PDF

Expected: Second map without PDF
Actual: Second map has PDF

Reproduced in the wild on macOS

truly resolved with #578


[ENH] - New CLI design

Feature description
This issue is to track work that follows #921 - once core workflows have been identified and finalized, we should design a new CLI, and identify the the Python and REST APIs that need to be changed to follow from these workflows.
Related: #921, #858.
Value and/or benefit
Parity between the conda-store interfaces; designs will also enable work to begin on the CLI.
Anything else?
No response

Thanks for opening this issue Peyton! I’m currently working on the designs, documentation, and prototype for the CLI which can be found here: conda-store CLI design.
This is what I am currently working on:

Creating a prototype for the Environment workflows
Gathering feedback from the team and iterating based on input

After this, I'll move on to creating the designs for the remaining workflows.
We should also discuss the next steps for starting the dev work.


change order of ScriptExtHtmlWebpackPlugin

this plugin must come after the HtmlWebpackPlugin just as the README of it suggests

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
bug fix

What is the current behavior? (You can also link to an open issue here)
the plugin is before the HtmlWebpackPlugin

What is the new behavior (if this is a feature change)?
the plugin comes after the HtmlWebpackPlugin

Other information:
the read me of the plugin has specified that this plugin must come after the HtmlWebpackPlugin and the order is important

thanks


Add doc for messsage history tracking

This resolves #384

Closed due to https://github.com/spring-cloud/spring-cloud-stream/pull/441


Fix old MIMEHdr handling of HPACK

MIMEHdr GC is introduced by 2bbcc48195e98b65b681a7e28c9ae1c2ab5d6994 ( #5695 ). However, @maskit noticed possible issues with old MIMEHdr handling.

When a new entry is larger than the maximum size, the current MIMEHdr is cleared, but the old MIMEHdr is not. This could be a leak.

On eviction, _mhdr->field_delete() is called, but _mhdr_old should be used in some cases. GC is accidentally working, because mime_field_destroy() mark the MIMEField MIME_FIELD_SLOT_READINESS_DELETED regardless of given MIMEHdr and
_mhdr_old->fields_count() becomes 0.

[approve ci autest]

Some more details:
The first one effectively disables the GC because the entries in the old MIMEHdr keep remain.
The second one can cause something bad because it changes internal state of current MIMEHdr.

Cherry-picked to v9.0.x branch.

Cherry-picked to 8.1.x

So that's what you do... I gotcha 😎👌...
Don't forget we use the same network 😁

Don't forget it was already published before you started to cherry pick 😁👌


restic should respect GOMAXPROCS env var

In current master, and since long, restic overrides GOMAXPROCS to NumCPU().
It would be nice to just respect GOMAXPROCS env var, if it is present. And going for NumCPU() is already the default in recent go versions, iirc.

I agree, and I'd accept a PR. Are you interested in submitting one?

For the record: Dave Cheney agrees: https://twitter.com/davecheney/status/744492187941928960
Anyone up for a PR?

I can do that, as I wrote on the irrc would be good to set restic own variable or maybe consider using config file?

I think that code brevety is the best, and I would not care on go below 1.5. So I'd just remove the lines.

@viric I agree about support below 1.5

I'd like to not drop support for Go 1.3, that's the version that is in Debian stable at the moment.
@damekr cool that you want to give it a try! From my point of view, the following needs to be done:
Change the function init() in src/cmds/restic/main.go:

For Go >= 1.5, do nothing
For Go < 1.5, read the environment variable $GOMAXPROCS, if it is set do nothing, otherwise run the old code (runtime.GOMAXPROCS(runtime.NumCPU())

Do this in a fork of the restic repo in a new branch. Push this branch to GitHub, then create a pull-request.
Let me know if you need more assistance.

@damekr Hey, are you still interested in contributing code to this issue?

Yes, of course. But now I'm on on vacations so...:) I will take care of this after 1st of August...

Oh, have a nice vacation then! :)


Create esprims.txt

Proof that the school offers an IT-related long-term course:
https://www.esprims.tn/nous-rejoindre/formations-proposees/

@fares-git Pull request merged. Thank you!


Remove reference to FilteringEnabled in TouchTransmitter.yml

Changes
FilteringEnabled no longer exists so this doesn't make sense anymore.
Checks
By submitting your pull request for review, you agree to the following:

[X] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[X] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[X] To the best of my knowledge, all proposed changes are accurate.

Thanks so much, @ccuser44!


Remove Parser from domain module

Parser is an interface defined and used to serialize domain objects so they can be send two server.
This implementation detail should never be in domain module where all functionalities are developed.
Requirements for the ticket:

move Parser interface away from domain, can be moved to app module
deprecate and then remove ConnectedClient#send(String) method
add ConnectedClient#send(Object) method

https://github.com/lipinskipawel/football-server/commit/b9a07030c81fc0439e4cfbd469be727f319144b7


Update Readme to match other languages.

@GearsAD
I did not include an example in the js version. I think we should just link to our Demos repo or rename it NavAbilityExamples or something. I like the repo because I can run tests to ensure the example is always working and does not drift from reality.
I put this in my readme.
Example

An example repo will be released in the near future. If you need support today, please reach out to<EMAIL_ADDRESS>

@GearsAD If you are good with the two readmes, we can close.

Sounds good, closing.


btn-subtle button class

Prerequisites

[X] I have searched for duplicate or closed feature requests
[X] I have read the contributing guidelines

Proposal
I love the 5.3 dark mode - it looks awesome! One thing that has caught me out though is that btn-light is a "light" button, where in light mode it is a "subtle" button.
I'd like to propose a new button modifier "btn-subtle" which will respect the theme, tinting the button as suitable for either dark or light mode.
In effect:

When in light mode btn-subtle would be the same as btn-light, while
In dark mode btn-subtle would be the same as btn-dark

Motivation and context
I've been using btn-light in a number of places to act as a subtle tint. That worked prior to dark mode, but breaks now.
Another option for the name would be btn-tertiary perhaps.

I almost created a PR, but realized I actually want it inverted for btn-outline-subtle. That is how my custom color modes are before 5.3. Has anyone else thought of this? btn-outline-light is almost invisible (and useless) in light mode, while btn-outline-dark is completely invisible in dark mode.
In effect:

In light mode, btn-outline-subtle would be the same as btn-outline-dark
In dark mode, btn-outline-subtle would be the same as btn-outline-light

This is probably confusing and too inconsistent compared to other *-subtle components.
Perhaps subtle outline buttons aren't needed, but instead we could have another variant btn[-outline]-{contrast,inverted,monochrome} or similar.

but instead we could have another variant btn[-outline]-{contrast,inverted,monochrome} or similar.

Yes, we haven't had the time to think about it yet but I got the same feeling that something like it would be useful. This is why we closed https://github.com/twbs/bootstrap/pull/38763, to take time to think about it in detail. I've also the feeling that it shouldn't be limited to buttons but should be something more transversal in the framework.

I run into the same issue.
I think a btn-tertiary would also solve the issue. I find it odd that all type of buttons are available, only tertiary is not. (I'm referring to the bs colors: https://getbootstrap.com/docs/5.3/customize/color/)

My workaround is similar to what was mentioned above, but slightly different:
.btn-contrast,
[data-bs-theme="light"] .btn-contrast {
  @include button-variant($body-color, $body-color);
}

.btn-outline-contrast,
[data-bs-theme="light"] .btn-outline-contrast {
  @include button-outline-variant($body-color);
}

[data-bs-theme="dark"] {
  .btn-contrast {
    @include button-variant($body-color-dark, $body-color-dark);
  }
  .btn-outline-contrast {
    @include button-outline-variant($body-color-dark);
  }
}

Or the CSS output:
.btn-contrast,
[data-bs-theme=light] .btn-contrast {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1c1f23;
  --bs-btn-hover-border-color: #1a1e21;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1a1e21;
  --bs-btn-active-border-color: #191c1f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-contrast,
[data-bs-theme=light] .btn-outline-contrast {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}

[data-bs-theme=dark] .btn-contrast {
  --bs-btn-color: #000;
  --bs-btn-bg: #dee2e6;
  --bs-btn-border-color: #dee2e6;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #e3e6ea;
  --bs-btn-hover-border-color: #e1e5e9;
  --bs-btn-focus-shadow-rgb: 189, 192, 196;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #e5e8eb;
  --bs-btn-active-border-color: #e1e5e9;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #dee2e6;
  --bs-btn-disabled-border-color: #dee2e6;
}
[data-bs-theme=dark] .btn-outline-contrast {
  --bs-btn-color: #dee2e6;
  --bs-btn-border-color: #dee2e6;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #dee2e6;
  --bs-btn-hover-border-color: #dee2e6;
  --bs-btn-focus-shadow-rgb: 222, 226, 230;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #dee2e6;
  --bs-btn-active-border-color: #dee2e6;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dee2e6;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dee2e6;
  --bs-gradient: none;
}


docker-compose build ends in error for service 'db'

Result when running docker-compose build on macOS 10.14 using master:
Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-_pZbTV/gevent/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-Ns4dll/install-record.txt --single-version-externally-managed --compile" failed with error code -9 in /tmp/pip-install-_pZbTV/gevent/
ERROR: Service 'db' failed to build: The command '/bin/sh -c apk add --no-cache       build-base       curl       libc6-compat       libffi-dev       linux-headers       python-dev       py-pip       py-cryptography     && pip --no-cache-dir install 'wal-e<1.0.0' envdir     && rm -rf /var/cache/apk/* /tmp/* /var/tmp/*' returned a non-zero code: 1

docker --version
Docker version 18.09.2, build 6247962

docker-compose --version
docker-compose version 1.23.2, build 1110ad01

What's wrong, and how can I solve it?

It seems to be an error during the gevent installation (which is a dependency of wal-e or envdir I guess) but I cannot reproduce. Is that the only error log you have, because it doesn't give much information, maybe pip returned something else ?

Aha, a more careful examination of the output gave this:
    byte-compiling /usr/lib/python2.7/site-packages/gevent/_socket3.py to _socket3.pyc
      File "/usr/lib/python2.7/site-packages/gevent/_socket3.py", line 222
        def makefile(self, mode="r", buffering=None, *,
                                                      ^
    SyntaxError: invalid syntax

Found it, and pylint gives the same error:
pylint _socket3.py                                                                                [ruby-2.6.0]
No config file found, using default configuration
************* Module _socket3
E:222, 0: invalid syntax (<string>, line 222) (syntax-error)

It's seems to be a problem on gevent code but I don't understand why you have it, I cannot reproduce. They said on the issue that it's not a problem, is that blocking your build ?

Very much blocking my build, yes.

Ok, tried it again today - and it seems to have built everything this time...
I'm at home with the flu, and shouldn't be doing this right now, will look into it more when back in the office.

It might have been a low memory issue, I increased the default amount of memory for the containers for another reason and that would have affected the one where I tried to build Mattermost as well.


'is_tf_type' is deprecated in tensor_util.py what else  may i use? thanks.

*System information
--Google Colab
--Tensorflow v 2.4.1
--Python 3.7.10
--runtime (no hardware acceleration)
Describe the current behavior
I'm trying to do inference from a model I trained for object detection.
I successfully exported the model.
I'm using the python code to load this new model and do inference but my code keeps crashing at this part:
from object_detection.utils import label_map_util
and this is the error code:
 192 from tensorflow.python.framework.tensor_util import MakeNdarray as make_ndarray
    193 from tensorflow.python.framework.tensor_util import constant_value as get_static_value
--> 194 from tensorflow.python.framework.tensor_util import is_tf_type as is_tensor
    195 from tensorflow.python.framework.tensor_util import make_tensor_proto
    196 from tensorflow.python.framework.type_spec import TypeSpec

ImportError: cannot import name 'is_tf_type' from 'tensorflow.python.framework.tensor_util'

so I checked
tensor_util.py (tensorflow/python/framework/tensor_util.py)
and found that 'is_tf_type' is to be deprecated. The function is still there however.
Is there any other way to load and use/do inference with an exported saved model? without using  'is_tf_type'?
Thanks in advance.
here is the code I am using by the way:
#Import the required libraries for Object detection infernece
import time
import tensorflow as tf
import object_detection.utils
from object_detection.utils import label_map_util
from object_detection.utils import visualization_utils as viz_utils
import os
import cv2
import matplotlib.pyplot as plt
%matplotlib inline# setting min confidence threshold
MIN_CONF_THRESH=.6#Loading the exported model from saved_model directory

# PATH_TO_SAVED_MODEL =r'Custom_OD\Workspace\exported_model\saved_model'
PATH_TO_SAVED_MODEL =r'exported_model\saved_model'

print('Loading model...', end='')
start_time = time.time()# LOAD SAVED MODEL AND BUILD DETECTION FUNCTION
detect_fn = tf.saved_model.load(PATH_TO_SAVED_MODEL)
end_time = time.time()
elapsed_time = end_time - start_time
print('Done! Took {} seconds'.format(elapsed_time))# LOAD LABEL MAP DATA

# PATH_TO_LABELS=r'\Custom_OD\Workspace\Annotations\label_map.pbtxt'
PATH_TO_LABELS=r'annotations\label_map.pbtxt'

category_index = label_map_util.create_category_index_from_labelmap(PATH_TO_LABELS, use_display_name=True)#Image file for inference

# IMAGE_PATH=r'\Custom_OD\Workspace\images\test\00178.jpg'def load_image_into_numpy_array(path):
IMAGE_PATH=r'images\test\testimage_(1).jpg'
def load_image_into_numpy_array(path):
    """Load an image from file into a numpy array.
    Puts image into numpy array of shape (height, width, channels), where channels=3 for RGB to feed into tensorflow graph.
    Args:
      path: the file path to the image
    Returns:
      uint8 numpy array with shape (img_height, img_width, 3)
    """
    return np.array(cv2.cvtColor(cv2.imread(path), cv2.COLOR_BGR2RGB))
image_np = load_image_into_numpy_array(IMAGE_PATH)# Running the infernce on the image specified in the  image path
# The input needs to be a tensor, convert it using `tf.convert_to_tensor`.
input_tensor = tf.convert_to_tensor(image_np)
# The model expects a batch of images, so add an axis with `tf.newaxis`.
input_tensor = input_tensor[tf.newaxis, ...]
detections = detect_fn(input_tensor)

# All outputs are batches tensors.
# Convert to numpy arrays, and take index [0] to remove the batch dimension.
# We're only interested in the first num_detections.
num_detections = int(detections.pop('num_detections'))
detections = {key: value[0, :num_detections].numpy()
               for key, value in detections.items()}
detections['num_detections'] = num_detections# detection_classes should be ints.
detections['detection_classes'] = detections['detection_classes'].astype(np.int64)#print(detections['detection_classes'])
image_np_with_detections = image_np.copy()
viz_utils.visualize_boxes_and_labels_on_image_array(
      image_np_with_detections,
      detections['detection_boxes'],
      detections['detection_classes'],
      detections['detection_scores'],
      category_index,
      use_normalized_coordinates=True,
      max_boxes_to_draw=200,
      min_score_thresh=MIN_CONF_THRESH,
      agnostic_mode=False)
plt.figure()
plt.imshow(image_np_with_detections)
print('Done')
plt.show()

which I found at this tutorial online
https://medium.com/analytics-vidhya/tensorflow-2-object-detection-api-using-custom-dataset-745f30278446 \
I went to the tensorflow api docs at
https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/auto_examples/plot_object_detection_checkpoint.html
but  it uses from object_detection.utils import label_map_util as well and gives me the same error.
Any advice would be much appreciated. Thanks in advance.

just wanted to update... I redid everything (recompiled protobuff, re-installed the detection api and re tested that it runs....) and everything works now.... the only difference.... I switched the runtime of google colab to gpu ..... just thought I'd put this here in case anyone had similar issues with colab....and the object detection api. thanks again...


Ability to manage GC mode: turn on/off the Server/Concurrent GC modes and extend to CPU groups

About GC modes: https://msdn.microsoft.com/en-us/library/ee787088(v=vs.110).aspx#Anchor_9
The Concurrent GC flag: https://msdn.microsoft.com/en-us/library/yhwwzef8(v=vs.110).aspx
The Server GC flag: https://msdn.microsoft.com/en-us/library/ms229357(v=vs.110).aspx
The GC CPU Groups flag: https://msdn.microsoft.com/en-us/library/hh925566(v=vs.110).aspx
Also printing current GC mode will be useful too.

The only thing I need to know is how to expose the configuration in the api. IJob interface is already big.
What do you say for a new property, called RuntimeSetting, which would be an [Flag]enum and would contain all performance-related the features of <runtime>node?
Sample usage would be
job.RuntimeSettings = RuntimeSettings.ServerGC | RuntimeSettings.ConcurrentGC

Yeah, that stopped me too. We need input from @AndreyAkinshin, @mattwarren here.

Quick question, can this issue be handled by #108?
I.e. if you want a particular setting you just specify it in the app.config of your benchmark project and then when #108 is done, it'll be copied across by BenchmarkDotNet and used when the Benchmark is actually run?

Quick question, can this issue be handled by #108?

@mattwarren Yes and no. The scenario where somebody would like to compare two different GC modes would not be supported.

Yes and no. The scenario where somebody would like to compare two different GC modes would not be supported.

Ahh good point, I forgot about the scenario where you want to use compare multiple modes.

What do you say for a new property, called RuntimeSetting, which would be an [Flag] enum and would contain all performance-related the features of <runtime> node?
Sample usage would be job.RuntimeSettings = RuntimeSettings.ServerGC | RuntimeSettings.ConcurrentGC

Agree, this is a nice way of doing it, adding lots more fields to IJob would make it messy.
The other option is to make RuntimeSettings a simple class, like so:
public class RuntimeSettings
{
    public bool ServerGC { get; set; }
    public bool ConcurrentGC { get; set; }
    ....
}

Then you can write code like this:
Job.Default.With(new RuntimeSettings { ServerGC = true, ConcurrentGC = true, ...});

Would that work? (although after writing it, I'm not sure if it's nicer or not!?)

Is there anyway to make RuntimeSettings extendable so inside my Benchmark Class -> Setup i can access the properties on it?
Ex
public class MyRuntimeSettings : RuntimeSettings
{
    public bool MySpecialSetting { get; set; }
    ....
}

public class DeserializeRules
{
    [Setup]
    public void Setup()
    {
        //do something with runtime settings
        _runtimeSettings.MySpecialSetting
    }
}

Ok, implemented, also with .NET Core support ;) API
Sample usage:
var config = ManualConfig.CreateEmpty().With(Job.Dry.With(new Jobs.GC { Server = true }));

@Zoxive Sorry, this scenario is not supported. Maybe Params is what you need?

I'm happy to close the issue. Thank you @adamsitnik

@alexandrnikitin you  welcome! Please take a lookg at #211 You might want to try it as well.
How to use:
Job.Default.With(
    new GarbageCollection
    {
        Server = true,
        Concurrent = true,
        CpuGroups = true,
        Force = false
    });

We keep issues open with "fixed in develop" tag as long as the new version with the change is not released to Nuget. So I will reopen this one ;)


[5.2] Added validation rule for unique values in an array

This validation rule will ensure a value is unique among other set of values in the array.
// This will fail
Validator::make(
   ['foo' => ['foo', 'foo']],
   ['foo.*' => 'no_duplicates:foo.*']
);

Hmm, I would have expected it to look like:
`foo' => `no_duplicates'

@taylorotwell I've modified the code and made the validation method find the raw attribute (with asterisks) using a class property and use it with Str::is to check the other values.

Hmm, my original comment was dumb I think. Not sure what I was thinking there. What was the original implementation of this PR like?

Validator::make(
   ['foo' => ['foo', 'foo']],
   ['foo.*' => 'no_duplicates:foo.*']
);

It was originally that way, the validator was having a single parameter foo.* which is the key it should look for duplicates at. The main purpose I made it accept a parameter is that I wasn't able to get the raw attribute name (with asterisk) from inside my Validator::validateNoDuplicates method, and then thought having the attribute manually input by the developer will make it more flexibility, maybe he wants to check against another set of records.
    protected function validateNoDuplicates($attribute, $value, $parameters)
    {
        $data = array_filter(Arr::dot($this->data), function ($key) use ($attribute, $parameters) {
            return $key != $attribute && Str::is($parameters[0], $key);
        }, ARRAY_FILTER_USE_KEY);

        return ! in_array($value, array_values($data));
    }

After the edit the Validator will try to get the raw attribute name automatically instead of asking the developer to provide it.

Oh OK I see.

So my original comment was OK I guess :smile:

Yup, I just edited the description after making the edits maybe that's what caused confusion :smile:

Ah ok :)

Renamed this to distinct instead of no_duplicates.

:+1:

:+1: Nice job!

distinct  is better, Nice :+1:


[in_app_purchase] Incomplete documentation

Hi,
I am missing documentation for in_app_purchase behaviour such as:

What happens if subscription is auto-renewed a) do I have to restore via PurchaseStatus.restored or new purchases will arrive via PurchaseStatus.purchased
If new purchases will arrive via PurchaseStatus.restored on subscription renewal but app is turned off? Will it be triggered upon turning app on?
Should I run validate expiration date of all existing subscriptions on every app start?

I think this can be solved with server side validation, then on launch you only need to call your backend in order to check if subscription is active.


MailChimp subscribe not working

I try to add MailChimp subscribe to my website.
This is what I add, exactly the same format as the example:
<script>
var mailchimpOptions = {
    url: "//janvdkolk.us14.list-manage1.com/subscribe?u=18abd455664ef9cbac66fd316&id=ac22da35f1"
};
</script>

The subscribe button appears, but after I fill in name and email and click send, nothing happens. The link works, you can check it.
When I try the code from the example it does work and I receive a confirmation email.

Hi @jooncheez,
You are just missing one part of the url. The subscribe feature makes an HTTP POST request to the mailchimp API to send the subscription request.
So modify your mailchimp url so that it looks like the following:
//janvdkolk.us14.list-manage1.com/subscribe/post?u=18abd455664ef9cbac66fd316&id=ac22da35f1
The only change I made was that /post was added right after the /subscribe. Give that a try and let me know if that works for you.

Hi @jooncheez,
You are just missing one part of the url. The subscribe feature makes an HTTP POST request to the mailchimp API to send the subscription request.
So modify your mailchimp url so that it looks like the following:
//janvdkolk.us14.list-manage1.com/subscribe/post?u=18abd455664ef9cbac66fd316&id=ac22da35f1
The only change I made was that /post was added right after the /subscribe. Give that a try and let me know if that works for you.

Hi kelyvin,
Thanks for your support! I thought I did everything right, my bad. Sorry for opening an issue then, I'll try your method.
Very happy with the theme though, have a happy new year!

Hi kelyvin,
Thanks for your support! I thought I did everything right, my bad. Sorry for opening an issue then, I'll try your method.
Very happy with the theme though, have a happy new year!

Cool! Glad to hear it worked. Have a happy new year!

Cool! Glad to hear it worked. Have a happy new year!


Updated ParameterBindImpl to fix null error

Fixes the error that occurs when the value of the stored procedure parameter is set to null.
Now when the value is null it checks if procedure's parameter allows null.

Sorry Chris I’ve been working full-time, I will try to do unit tests next
week. Regards.
El El lun, 14 may. 2018 a las 10:57, Chris Cranford <
<EMAIL_ADDRESS>escribió:

@Naros commented on this pull request.
In
hibernate-core/src/main/java/org/hibernate/procedure/internal/ParameterBindImpl.java
https://github.com/hibernate/hibernate-orm/pull/2262#discussion_r187962119
:

@@ -78,10 +78,12 @@ private void internalSetValue(T value) {
throw new IllegalStateException( "Can only bind values for IN/INOUT parameters : " + procedureParameter );
}

if ( procedureParameter.getParameterType() != null ) {

	if ( !procedureParameter.getParameterType().isInstance( value ) ) {

		throw new IllegalArgumentException( "Bind value [" + value + "] was not of specified type [" + procedureParameter.getParameterType() );

	}

if ( value == null && !procedureParameter.isPassNullsEnabled() ) {

	throw new IllegalArgumentException( "Parameter '" + procedureParameter.getName() +  "' doesn't allow NULL value" );

}

if ( value != null && !procedureParameter.getParameterType().isInstance( value ) ) {

@matsebas https://github.com/matsebas Any update?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hibernate/hibernate-orm/pull/2262#discussion_r187962119,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHIWTqsS2VzZJencF-BdFmFyWXDifjBNks5tyY1FgaJpZM4TsDR0
.

Hi, I'm getting some problems to compile the whole hibernate project, and it is delaying me to finish tests. As soon as I resolve compilation problems I will commit fix tests.


chore: split RingTheory.Nilpotent

Mathlib.RingTheory.Nilpotent has a few very simple definitions (Mathlib.Data.Nat.Lattice is sufficient to state them), but needs some pretty heavy imports (ideals, linear algebra) towards the end. This change moves the heavier parts into a new file.

[x] depends on: #12090

I have no strong feelings where the split goes, exactly. We could also keep

Prime.isRadical (Mathlib.Algebra.Associated)
Commute.isNilpotent_{add,sum,sub} (Mathlib.Data.Nat.Choose.Sum)
isNilpotent_mul_{left,right}_iff (Mathlib.Algebra.GroupWithZero.NonZeroDivisors)

bors merge


Error in run.sh

Hi! Thanks for the great work. Got this error when running run.sh. Any way to solve it? Thanks!

You seem to have imported Transformers from the conda environment. please use Transformers in the current directory, as we have modified some of its functions.

solved. thanks.


Add support for other email providers

Description
While trying to setup my development environment, I came across an issue when creating a SendGrid account. This appears to be based off of my phone number or email domain provider.
Limiting Rivet to just being able to use SendGrid seems like a bottleneck that can be easily avoided by allowing other providers to be configured during the Bolt setup process.
Examples of these could be Postmark, Mailchimp or MailGun
Alternatives solutions
Provide a choice in the setup process for the dev environment to disable transactional emails.
Prior art
N/A

we overhauled our self-hosted setup to not require email for login, this should no longer be an issue.


[ENH] improved polars support - native logic

Issue about next steps in extending polars support in skpro.
Background: skpro already supports both lazy and eager polars containers, as polars_eager_table and polars_lazy_table.
However, key limitations:

support is currently exclusively via conversion back/forth
the round trip to numpy or pandas breaks the lazy chain

So, suggested next steps, using only the eager type:

try polars input/output with a few estimators, fit / predict only. Add tests in a dedicated polars test file, non-systematic for the start.
sklearn now supports polars - so, we should try to pass on polars frames in some of the estimators, extending the X_inner_mtype to both pandas and polars (in a list of str, with polars_eager_table). Example: GaussianProcess
if that works well, we should extend other regresssors wrapping sklearn in the same way.
next I would work on Pipeline, a composite. The Pipeline is native to skpro.

Once the above seems to work, I would look at the lazy` type.
Here, we should use the boilerplate layer to make lazy state changes.
Design will follow when we are there, ideas appreciated.
FYI @julian-fong.

Linking #6381 as discussion and coordination thread


Remove unnecessary word

Fixes #6855

@Potapy4 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Correction confirmed. Thanks.


Header is not aligned correctly on first load

How do I fix this?
Thanks

Hi idiglove,
I can not reproduce your problem on the test page. It looks like that "display" property of "weekCalendar__headerColumn" class is overridden. Can you guide me how I can reproduce the issue?
Best regards,
Evgeny

It's just on first load. Once i change the screen size by the Developer tools, it gets fixed

I see what's wrong now. I'm using tabs, and the Scheduler is in another tab. When I set it as a default tab, UI is okay. Any tips on how to fix this?


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1240 ms

Resolved: Bofrost.at performance has improved in 86f3070 after 20 minutes.


[TaskLocal] remove commented out code

This was a leftover from looking for the right place to do this diagnosis

@swift-ci please smoke test and merge

@swift-ci Please smoke test macOS

@swift-ci please smoke test and merge