After slicing the data read by OpenCV, the result is incorrect.

After slicing the data read by OpenCV, I was able to alleviate the error after continuous processing of numpy, but after processing about 10 graphs, the error continued.
My suspicion is that the memory layout and data pointers may change after the slicing operation.
This is my main operation:
        roi_img = img[left_top_y:right_low_y,left_top_x:right_low_x]         template_img = np.ascontiguousarray(templat_img)         real_img = np.ascontiguousarray(roi_img)
opencv-python-headless version: <IP_ADDRESS>.
You can try the demo function for working with images. Please help me.

Can you provide a minimal example code to reproduce this bug?

0521.zip
Of course! But I can't provide the data for some reason. Excuse me.

Thanks. I finded the answer of this error. There are two error:
1.Used so file path should be the same as compiled so file path.
2.subpixel should be close down.
Thanks again for your timely help.

Thanks. I finded the answer of this error. There are two error:
1.Used so file path should be the same as compiled so file path.
2.subpixel should be close down.
Thanks again for your timely help.


[dv] Deep dive regression triage

regr-second.log
regr-first.log
Overview
A detailed investigation of all failures observed in a local regression run of commit 1449ed5ea8f3d03127f7c3624e635e132830367d running the opentitan configuration was done.  Every observed failure was looked at in full (as opposed to just assuming the same signature means the same failure).  A second regression was run against 3384bf4c421781a2f5129307b912ac586c784977 which included some fixes for issues found from the first regression.  The regression log files (regr-first.log, regr-second.log) are attached to this issue.
This investigation has found one RTL issue but it is of low concern (and could be argued it doesn't need fixing as the behaviour is already reasonable see: #2186).  Otherwise all failures are related to environment/testbench issues and raise no concerns around the RTL.
This report first lists signatures seen and an explanation for each then it lists specific test failures seen and which explanation applies to each test failure.  For some of the signatures as there were either a significant number of them (which would have taken a long time to fully investigate) or there was some concern they could be hiding a bug fixes were made to address them.  The regression was re-run with these fixes applied to ensure the specific tests being addressed had been fixed.  Any failures remaining for the specific tests were then investigated in detail once again.  The full regression log was also reviewed for the other tests but just to look at signatures to check there was nothing obviously new, there was no detailed investigation.  All of the details of this (signatures fixed, PRs for the fixes and specific tests that got re-investigated) are given below.
First Regression
Run against commit 1449ed5ea8f3d03127f7c3624e635e132830367d.  See the attached regr-first.log for the detailed regression report.
Failure explanations and associated signatures
This provides explanations for every failure seen in the first regression and an example signature that was seen with that failure.

[E] 107: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/tests/core_ibex_base_test.sv(326) @ 32002046: uvm_test_top [uvm_test_top] Test failed due to wall-clock timeout. [1800s]

This is a issue with RISC-V DV test generation.  Either the test has entered an infinite loop and will never terminate or will eventually terminate but it is taking too long.  In both scenarios the logs have been examined and there has been no lock-up in the design the Ibex core continues to execute instructions in a timely way up to the point of test failure with cosim matching in all cases.

[E] 111: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/tests/core_ibex_test_lib.sv(843) @ 87608: reporter [uvm_test_top] Check failed dut_vif.dut_cb.priv_mode == mode (0 [0x0] vs 3 [0x3]) Incorrect privilege mode

This is a testbench issue related to the old checkers that are still present in some tests.  These checks are incorrectly predicting a privilege mode change.  The log of the failing test has been checked and the Ibex core is matching with the co-simulation up to the point of test failure and there are no other errors reported.

[E] 118: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_scoreboard.sv(168) @ 121679: uvm_test_top.env.cosim_agent.scoreboard [uvm_test_top.env.cosim_agent.scoreboard] Cosim mismatch Register write data mismatch to x6 DUT: 8001286d expected: 0

This is an issue with co-simulation not correctly predicting core behaviour.  The core itself is behaving reasonably but it is a complex edge case that isn't yet correctly modelled.  We see a load response with a data integrity error that indicates a bus error.  This results in a precise exception for the bus error that is immediately interrupted by the internal interrupt for the integrity error.  After the internal interrupt handler is done we continue with the first instruction of the exception handler for the bus error (with mepc being restored correctly due to the recoverable NMI mechanism).  The mismatch happens because we write the mtval with the faulting address for the internal interrupt but this write is not carried over to spike.  So spike executes the internal interrupt handler (with no prior mtval write) which doesn't read the mtval value and then executes the exceptoion handler which does read the mtval this then mismatches.  To fix this the mtval write that occurs due the internal interrupt needs to be carried over to the co-simulation environment.

[E] 162: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_scoreboard.sv(168) @ 3437882: uvm_test_top.env.cosim_agent.scoreboard [uvm_test_top.env.cosim_agent.scoreboard] Cosim mismatch DUT didn't write to register x8, but a write was expected

This is a mismatch between the memory model used by the co-simulation and the memory model in the UVM environment.  It is also an issue with the RISC-DV test generation (it jumps to an area of memory that hasn't been initialized).  It relates to the differing handling of unitialized memory between co-simulation and UVM.  Earlier in the test a few bytes are written to a previously unitialized area of memory.  The test then jumps to an address one byte before these written bytes.  In the co-simulation the first (unitialized) byte reads as 0x0 and the second (and following bytes) are read as the values they were previously written.  In the UVM environment it sees an instruction fetch involving an unitialized memory byte and forces a value of 0x0 for all fetched bytes.  This results in the co-simulation and Ibex core fetching different instructions from the same address and a mis-match occurs.  The behaviour of the two memory models should be unified.

[FAILED]: Processing the ibex trace failed: Logfile /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/out/run/tests/riscv_pc_intg_test.14611/trace_core_00000000.log not found

Occurrs in the riscv_pc_intg_test test.  This is an issue in the regression reporting setup.  Due to the way this test works it doesn't generate a trace file in some cases (which is flagged as an error in rethe report) but there is no failure.  The test tries to inject a corrupt PC very early in the test before execution has begun.  The corrupt PC does not trigger any alert as this particular hardening mechanism only checks anything when the Ibex core is doing straight-line execution (i.e. in particular the PC integrity check isn't carried out for branches/jumps).  Before execution has started no check is occurring so no alert is triggered, which is expected behaviour.

[E] 116: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_scoreboard.sv(168) @ 148168: uvm_test_top.env.cosim_agent.scoreboard [uvm_test_top.env.cosim_agent.scoreboard] Cosim mismatch Synchronous trap was expected at ISS PC: 80000000 but the DUT didn't report one at PC 800029ee

An access is made to the address region spike reserves for debug memory.  This causes a fault in spike as it generates a bus error but not in Ibex.  The spike debug module is not present in the co-simulation environment so there's no need for the bus error here.  The cause of this fault has been removed (see https://github.com/lowRISC/riscv-isa-sim/commit/1f89c527c40da4d9c7984e1ae4990cdf18198276).

[FAILURE] Simulation process killed due to timeout [1860s].
An infrastructure issue, when rerunning the test it passed successfully.

131: xmsim: *SE,EILLCT: (File: ./fcov/core_ibex_fcov_if.sv, Line: 762):(Time: 730828 NS + 4) Illegal cross tuple (<0, 1, InstrCategoryFetchError, IdStallTypeMem, 0, 0, 0>) occurred corresponding to illegal cross bin (mem_stall_illegal) of cross (core_ibex_tb_top.dut.u_ibex_top.u_ibex_core.u_fcov_bind.uarch_cg_inst@11461_629.exception_stall_instr_cross). [E] 132: xmsim: *SE,EILLCT: (File: ./fcov/core_ibex_fcov_if.sv, Line: 762):(Time: 730868 NS + 4) Illegal cross tuple (<0, 1, InstrCategoryFetchError, IdStallTypeMem, 0, 0, 0>) occurred corresponding to illegal cross bin (mem_stall_illegal) of cross (core_ibex_tb_top.dut.u_ibex_top.gen_lockstep.u_ibex_lockstep.u_shadow_core.u_fcov_bind.uarch_cg_inst@11478_1.exception_stall_instr_cross).

This cross coverage bin should not be marked as illegal, it has been fixed in https://github.com/lowRISC/ibex/commit/89f4d867191cd03781afcbc50ea672906a1e3839.  In this scenario we see a fetch error in the ID stage as well as a memory stall that we should only see if there's a memory instruction in the ID stage.  Upon closer examination the instruction bits in the ID stage decode to a memory instruction, which results in the stall.  Because of the fetch error the instruction has no effect on architectural state or external memory activity and the stall is entirely harmless (strictly it doesn't need to occur but practically it is of little consequence).

[E] 200: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/tests/core_ibex_base_test.sv(326) @ 25002027: uvm_test_top [uvm_test_top] Test failed due to wall-clock timeout. [1800s]

Reset test specific issue.  Execution continues til timeout however cosim log doesn't exist as reset causes a total cosim reset and it writes log as a new file rather than appending to the existing log.  Rerunning the failed test with wave generation enabled somehow breaks the cosim memory model post reset as it immediately sees a bus error on attempting to execute the reset vector.  Suspect this is some memory corruption issue with the cosim not being cleanly shutdown and restarted.
Failures
This lists every failing test from the first regression (in regr-first.log) and links it to a signature and explanation from the above list

riscv_rand_jump_test.14607 - Signature 7
riscv_rand_jump_test.14610 - Signature 1
riscv_rand_jump_test.14611 - Signature 1
riscv_mmu_stress_test.14610  - Signature 7
riscv_debug_instr_test.14614 - Signature 1
riscv_debug_instr_test.14621 - Signature 1
riscv_dret_test.14605 - Signature 2
riscv_dret_test.14606 - Signature 2
riscv_dret_test.14608 - Signature 2
riscv_debug_ebreak_test.14611 - Signature 1
riscv_debug_ebreakmu_test.14614 - Signature 1
riscv_irq_in_debug_mode_test.14611 - Signature 1
riscv_irq_in_debug_mode_test.14614 - Signature 1
riscv_debug_in_irq_test.14611 - Signature 1
riscv_mem_error_test.14605 - Signature 8
riscv_mem_intg_error_test.14608 - Signature 3
riscv_mem_intg_error_test.14616 - Signature 3
riscv_mem_intg_error_test.14617 - Signature 3
riscv_mem_intg_error_test.14635 - Signature 3
riscv_mem_intg_error_test.14644 - Signature 3
riscv_mem_intg_error_test.14649 - Signature 3
riscv_mem_intg_error_test.14652 - Signature 3
riscv_mem_intg_error_test.14654 - Signature 3
riscv_debug_single_step_test.14605 - Signature 6
riscv_debug_single_step_test.14607 - Signature 4
riscv_debug_single_step_test.14609 - Signature 1
riscv_debug_single_step_test.14614 - Signature 1
riscv_reset_test.14614  - Signature 9
riscv_reset_test.14616  - Signature 9
riscv_pc_intg_test.14611 - Signature 5
riscv_pc_intg_test.14618 - Signature 5
riscv_epmp_mmwp_test.14617 - Signature 1

Failures in riscv_assorted_traps_interrupts_debug_test,riscv_pmp_basic_test,riscv_pmp_out_of_bounds_test and riscv_pmp_full_random_test are excluded from the list above as fixes have been made (see PR https://github.com/lowRISC/ibex/pull/2183) to address issues seen.  A new full regression has been run with the fixes applied and all failures in these tests investigated in detail.  See details below:
Second Regression
Run against commit https://github.com/lowRISC/ibex/commit/3384bf4c421781a2f5129307b912ac586c784977.  See the attached regr-second.log for the detailed regression report.
Only the failures in riscv_assorted_traps_interrupts_debug_test,riscv_pmp_basic_test,riscv_pmp_out_of_bounds_test and riscv_pmp_full_random_test have been investigated in detail and discussed below.  Failures in the other tests have been compared against the signatures identified above with some assumptions being made it speed up the triage process.  All failures in the other tests are existing failures explained in the First Regression section above with one exception.  A new signature was seen in riscv_debug_single_step_test which is examined in detail below.  The rest of the details here only concern signatures in the tests investigated in detail.
Signatures

[E] 7061: UVM_ERROR /home/greg/work/ibex_area/ibex/rtl/ibex_controller.sv(995) @ 116357750: reporter [ASSERT FAILED] IbexSetExceptionPCOnSpecialReqIfExpected

This is a flawed assertion.  When MIP changes the cycle the controller enters IRQ_TAKEN from DECODE such that no interrupt is actually taken the assertion incorrectly fires.  This scenario is confirmed with the warning added in https://github.com/lowRISC/ibex/commit/470b39a2a250250702042fd55fcd0856321da258

[E] 9876: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/tests/core_ibex_base_test.sv(326) @ 116002037: uvm_test_top [uvm_test_top] Test failed due to wall-clock timeout. [1800s]

This is a issue with RISC-V DV test generation.  Either the test has entered an infinite loop and will never terminate or will eventually terminate but it is taking too long.  In both scenarios the logs have been examined and there has been no lock-up in the design the Ibex core continues to execute instructions in a timely way up to the point of test failure with cosim matching in all cases.

[E] 112: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_scoreboard.sv(168) @ 1272021: uvm_test_top.env.cosim_agent.scoreboard [uvm_test_top.env.cosim_agent.scoreboard] Cosim mismatch DUT generated load at address 73661800 with data 0 but data f0 was expected with byte mask 1

Earlier a store occurred which crossed a PMP region boundary (boundary at 0x73661800) and the first half of the store failed PMP but the second passed. For Ibex this means the second half of the store produces a memory request which updates the memory. However a matching update isn't made in the cosim memory.  Later a load accesses the same bytes that were stored and so cosim and Ibex mismatch as they have different values for the same bytes due to the differing store behaviour.

[E] 127: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_scoreboard.sv(168) @ 569493: uvm_test_top.env.cosim_agent.scoreboard [uvm_test_top.env.cosim_agent.scoreboard] Cosim mismatch Register write data mismatch to x5 DUT: 400000c3 expected: 400000c0

In this scenario the mismatch is caused by a difference in dcsr values, specifically the prv field.  Ibex indicates M-mode in this field where spike indicates U-mode.  Earlier debug mode is entered just after an interrupt is raised but before the first instruction of the interrupt handler can be executed.  Ibex aborts the fetch of the first instruction of the handler to instead enter debug mode, it correctly sets depc to the first instruction of the interrupt handler which should be executed in M-mode so that is also the correct value of prv.  The value of depc that spike has isn't known from the traces but presumably it has entered debug mode before it takes the interrupt handler and it's depc points to a U-mode instruction that would have been executed had there been no interrupt or debug request.  Both are behaving correctly the issue here comes to how the co-sim environment signals interrupts and debug requests to Spike and ensuring Spike prioritises these in the same way as Ibex in all cases.

[E] 422: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_scoreboard.sv(168) @ 5555918: uvm_test_top.env.cosim_agent.scoreboard [uvm_test_top.env.cosim_agent.scoreboard] Cosim mismatch PC mismatch, DUT retired : 80000000 , but the ISS retired: ffffffff80002580

Possible RTL bug, but of limited concern, could be argued behaviour is reasonable here, see #2186.
Failures

riscv_debug_single_step_test.6250 - Signature 5
riscv_assorted_traps_interrupts_debug_test.6250 - Signature 2
riscv_assorted_traps_interrupts_debug_test.6256 - Signature 4
riscv_assorted_traps_interrupts_debug_test.6257 - Signature 1
riscv_assorted_traps_interrupts_debug_test.6258 - Signature 1
riscv_pmp_basic_test.6255 - Signature 1
riscv_pmp_basic_test.6271 - Signature 1
riscv_pmp_basic_test.6288 - Signature 1
riscv_pmp_out_of_bounds_test.6258 - Signature 1
riscv_pmp_out_of_bounds_test.6261 - Signature 1
riscv_pmp_out_of_bounds_test.6272 - Signature 1
riscv_pmp_out_of_bounds_test.6282 - Signature 1
riscv_pmp_full_random_test.6473 - Signature 3

Unfortunately I cannot attach html files to a github issue so it's just the regression logs available.

Thanks for your analysis and the report @GregAC . This all makes sense to me and I agree that the identified possible RTL bug isn't critical.
I compared the latest nightly regression report against your analysis and the results match. I observed one new signature:
riscv_debug_ebreakmu_test.11102
-------------------------------
binary:          test.bin
rtl_log:         rtl_sim.log
rtl_trace:       trace_core_00000000.log
iss_cosim_trace: spike_cosim_trace_core_00000000.log

[FAILED]: error seen in 'rtl_sim.log'
---------------*LOG-EXTRACT*----------------
    105: UVM_INFO /home/runner/_work/lowrisc-private-ci/lowrisc-private-ci/ibex/dv/uvm/core_ibex/tests/core_ibex_base_test.sv(326) @ 2025: uvm_test_top [uvm_test_top] Test wall-clock timeout is set to : 1800s
    106: UVM_INFO /home/runner/_work/lowrisc-private-ci/lowrisc-private-ci/ibex/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_response_seq_lib.sv(44) @ 2025: uvm_test_top.env.instr_if_response_agent.sequencer@@instr_intf_seq [uvm_test_top.env.instr_if_response_agent.sequencer.instr_intf_seq] is_dmem_seq: 0x0
    107: UVM_INFO /home/runner/_work/lowrisc-private-ci/lowrisc-private-ci/ibex/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_response_seq_lib.sv(44) @ 2025: uvm_test_top.env.data_if_response_agent.sequencer@@data_intf_seq [uvm_test_top.env.data_if_response_agent.sequencer.data_intf_seq] is_dmem_seq: 0x1
    108: UVM_INFO /home/runner/_work/lowrisc-private-ci/lowrisc-private-ci/ibex/dv/uvm/core_ibex/tests/core_ibex_new_seq_lib.sv(65) @ 2025: reporter@@fetch_enable_seq_h [fetch_enable_seq_h] Running the "InfiniteRuns" schedule for stimulus generation
    109: core_ibex_tb_top.dut.u_ibex_tracer.unmblk2.unmblk1: Writing execution trace to /home/runner/_work/lowrisc-private-ci/lowrisc-private-ci/ibex/dv/uvm/core_ibex/out/run/tests/riscv_debug_ebreakmu_test.11102/trace_core_00000000.log
[E] 110: UVM_FATAL /home/runner/_work/lowrisc-private-ci/lowrisc-private-ci/ibex/dv/uvm/core_ibex/tests/core_ibex_test_lib.sv(1740) @ 33765: uvm_test_top [uvm_test_top] EBreak seen whilst doing initial debug initialization, KNOWN FAILURE SEE https://github.com/lowRISC/ibex/issues/1313
    111:
    112: --- RISC-V UVM TEST FAILED ---
    113:
    114: UVM_INFO /nas/lowrisc/tools/cadence/xcelium/21.09-s006/tools/methodology/UVM/CDNS-1.2/sv/src/base/uvm_report_catcher.svh(705) @ 33765: reporter [UVM/REPORT/CATCHER]
--------------------------------------------

It looks like an old and previously fixed testbench / co-simulation issue shows up again. In any case, this issue isn't a show stopper either.

Some more signatures investigated whilst looking at other regressions. I won't give details of precise commits/regressions etc as this is just useful information for later triages rather than a particular point in time investigation the above posts were:
Signature:
riscv_assorted_traps_interrupts_debug_test.10313
------------------------------------------------
binary:          test.bin
rtl_log:         rtl_sim.log
rtl_trace:       trace_core_00000000.log
iss_cosim_trace: spike_cosim_trace_core_00000000.log

[FAILED]: error seen in 'rtl_sim.log'
---------------*LOG-EXTRACT*----------------
    294: 1261075: Illegal instruction (hart 0) at PC 0x8000ba0c: 0x00010413
    295: 1261095: Illegal instruction (hart 0) at PC 0x8000ba0c: 0x00010413
    296: UVM_INFO /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/tests/core_ibex_new_seq_lib.sv(77) @ 1264765: uvm_test_top.env.irq_agent.sequencer@@debug_new_seq_h [uvm_test_top.env.irq_agent.sequencer.debug_new_seq_h] Running 6/9
    297: 1265235: Illegal instruction (hart 0) at PC 0x8000ba0c: 0x00010413
    298: 1265275: Illegal instruction (hart 0) at PC 0x8000ba0c: 0x00010413
[E] 299: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_scoreboard.sv(168) @ 1265285: uvm_test_top.env.cosim_agent.scoreboard [uvm_test_top.env.cosim_agent.scoreboard] Cosim mismatch Synchronous trap was expected at ISS PC: 80000004 but the DUT didn't report one at PC 8000ba08
    300:
    301:
    302: --- RISC-V UVM TEST FAILED ---
    303:
--------------------------------------------

This is an issue with test generation. A run of store instructions are writing to memory just ahead of the PC (i.e. they are modifying the code we're about to execute). The first of these modified instructions executed and spike sees the new value and Ibex sees the old value. Both are reasonable behaviours (you need a FENCE.I to guarantee the changed instructions are observed by the fetch) and a mismatch results.

riscv_assorted_traps_interrupts_debug_test.10320
------------------------------------------------
binary:          test.bin
rtl_log:         rtl_sim.log
rtl_trace:       trace_core_00000000.log
iss_cosim_trace: spike_cosim_trace_core_00000000.log

[FAILED]: error seen in 'rtl_sim.log'
---------------*LOG-EXTRACT*----------------
    686: 8581206: Illegal instruction (hart 0) at PC 0x952ade74: 0x00010413
    687: 8608426: Illegal instruction (hart 0) at PC 0x952ade78: 0x00010413
    688: 8608466: Illegal instruction (hart 0) at PC 0x952ade78: 0x00010413
    689: 8619966: Illegal instruction (hart 0) at PC 0x952ade7c: 0x00010413
    690: 8620006: Illegal instruction (hart 0) at PC 0x952ade7c: 0x00010413
[E] 691: UVM_FATAL /home/greg/work/ibex_area/ibex/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_scoreboard.sv(168) @ 8650356: uvm_test_top.env.cosim_agent.scoreboard [uvm_test_top.env.cosim_agent.scoreboard] Cosim mismatch Register write data mismatch to x14 DUT: 1800 expected: 1880
    692:
    693:
    694: --- RISC-V UVM TEST FAILED ---
    695:
--------------------------------------------

This is a co-simulation issue. In this scenario an interrupt is taken and before the first instruction of that interrupt can execute an NMI occurs. The NMI takes priority and we start executing the NMI handler. Both Ibex and spike agree in this point (in particular both reading the mcause value showing an NMI cause for the exception) but disagree on the mstatus.mpie value. Ibex has this as 0 and spike as 1. When the first interrupt is taken mstatus.mpie is set to 1 and  mstatus.mieto 0 (interrupts disabled for the handler and were enabled before the interrupt). In Ibex when the NMI is taken mstatus.mpie is set to 0 (the value of mstatus.mie when the NMI is taken) but spike does not do this (which is incorrect here) and there is a mismatch.


Make pipenv respect pip.conf with an optional arugment

Is your feature request related to a problem? Please describe.
pip.conf can be used to configure Pypi mirrors or alternate indexes. Pipenv does not respect this. Having a pip.conf gives the ability to cleanly separate out this information from the Pipfile as it is usually committed to git. We don't want to commit this information to git as

different developers can choose to use different mirrors, based on their location.
different developers can use private Pypi repositories which require credentials (Jfrog, CodeArtifact, ...)
proxy configuration

Respecting pip.conf will also make it easier for developers to transition from pip to pipenv.
Describe the solution you'd like
An optional argument for pipenv install which considers the pip.conf configuration.
Describe alternatives you've considered

Currently using environment variables in Pipenv, to get this information. But this approach isn't as clean or convenient as pip.conf

Additional context
Related Issues:

https://github.com/pypa/pipenv/issues/856
https://github.com/pypa/pipenv/issues/1040
https://github.com/pypa/pipenv/issues/2075
https://github.com/pypa/pipenv/issues/987

@eldos-dl I had done some work a while back that provides some initial default support for pip.conf:  https://github.com/pypa/pipenv/pull/5297/files
Could you help me understand better the intersection of what we currently provide and what is being requested/what is missing?

@eldos-dl not sure if you saw my last question, but I could use more context to understand where the support gaps are between what we currently infer from pip.conf and what is desired.

@matteius
As pip.conf can be maintained outside git, different developers can use their own Pypi Index without config being part of pipfile or git. (could be for private repos, mirrors or proxy config, etc.).
To my understanding, something similar can be achieved if we use environment variables in Pipfile. But I felt a config file would be more convenient.
I am not sure if there are any other better ways to achieve this.

initial default support for pip.conf

Since it is not documented, for those wondering how to use it this way, it appears that you can start by omitting all [[source]] entries in your Pipfile. It seems like only the first occurrence of index-url within pip.conf is obeyed, regardless of the section name. Whatever that is, it becomes your default index.
Caution that it does not appear to obey extra-index-url, which aligns to the security stance explained in the "Note" of the Index Restricted Packages doc. It's also mentioned in the pip docs in https://pip.pypa.io/en/latest/cli/pip_install/ although it's somewhat hidden in the "Examples" section. In pip.conf the only real mechanism to specify multiple indexes is extra-index-url. So I think the only way Pipenv could obey extra-index-url is if it had a reliable way to convert each of those URLs into its own Pipenv [[source]] with a predictable name.
From the code, it appears to me that it is converting each index-url into a pipenv [[source]], with the name of the Pipenv source following a pattern based on the pip.conf section name: for example the [global] section results in a Pipenv source named pip_conf_index_global. However, it seems that only the first index-url is actually available in Pipenv, regardless of the section name, and all subsequent sections seem to be ignored. And with the lack of any unit tests it's difficult for me to determine what it's really doing without downloading & debugging the code locally.


Geocoder impl

Hi @amlanc1, I've added more updates to the project. When you have time please take a look and approve the PR if it looks good.

@mreaugusto  Added coments


Allow All CORS preflight requests

Uses the cors package to allow all CORS origins
Adds app.options('*', cors()) to allow all origins in CORS preflight requests

Addresses #91

Tested this with:
Before:
$ curl -i -X OPTIONS localhost:3000

HTTP/1.1 200 OK
X-Powered-By: Express
Allow: GET,HEAD
Content-Type: text/html; charset=utf-8
Content-Length: 8
ETag: W/"8-ZRAf8oNBS3Bjb/SU2GYZCmbtmXg"
Date: Tue, 18 Dec 2018 22:42:29 GMT
Connection: keep-alive

GET,HEAD

After:
$ curl -i -X OPTIONS localhost:3000

HTTP/1.1 204 No Content
X-Powered-By: Express
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE
Vary: Access-Control-Request-Headers
Content-Length: 0
Date: Tue, 18 Dec 2018 22:47:03 GMT
Connection: keep-alive

I'm not too familiar with existing code/tests; happy to take suggestions for improving this, or tests can be added by core maintainers.

Ping on this PR, any chance we can allow these requests? (maybe @tcbyrd or @JasonEtco?)

Hi @rvantonder - sorry that this fell off our radar 🙏 PR looks fine to me, I'd like to get a more informed opinion about the security impact of this. I'll ask around/do some research just to double check, but it should be fine! Will report back soon.

Sure thing! There's some more detail in #91. My understanding is that since smee is set up to allow all origins anyway, this doesn't impact the security policy. The changes allow applications that expect a response to preflight requests to continue with the connection. Currently there are applications that will drop the connection if the preflight requests don't get a response with those headers (meaning smee can't be used). But yes, double check :)

@rvantonder - this is still on my radar, just wanted to let you know that we're doing a larger security review so this'll have to stay open as a part of that. Will let you know if we have any questions!

My apparently monthly update that this hasn't been forgotten about - like I said, we're working with our (GitHub's) security team for a full review of Smee, including this. We're making progress but nothing to share just yet ✨ thanks for your continued patience 🙏


Add support for specifying a cluster CA certificate to the sdk

We currently support the skip_tls argument in the SDK authentication object for clusters with untrusted CA certificates. This is fine for development purposes, but will be unacceptable for production workloads for most customers.
We should update the SDK to allow specifying the path to a CA certificate bundle so that the auth endpoint can be trusted.
I think we could additionally auto configure trust of the cluster based on where we can expect the cluster CA cert to be stored on disk when running in an openshift pod.

Closing this as I have opened another issue relating to authentication via Kubernetes instead of OpenShift. #185

Closing this as I have opened another issue relating to authentication via Kubernetes instead of OpenShift. https://github.com/project-codeflare/codeflare-sdk/issues/185


Combining Models

Hello!
I'm working on making my model modular to easily interchange components without affecting each other. Essentially, I want to create a base model using separate xml files and then combine them in Python. While a simple approach would be to “include” them into a scene, I want to retain the ability to manipulate these components later.
To be more specific, I have a scene.xml file, a decomposed mesh generated using obj2mjcf, and a tool defined in a separate xml. My goal is to apply attributes like color to the mesh (manipulate the DOM), set parameters (e.g., timestep), and ultimately combine everything into a single model. I attempted a workaround using a pymjcf way, but I believe there's a more efficient method. Below is the approach I used to merge the components:
def merge_xml(
    scene_xml_path: Path,
    guidewire_xml_path: Path,
    phantom_xml_path: Path,
) -> str:
    with open(scene_xml_path, "r") as f:
        scene_xml = f.read()
    with open(guidewire_xml_path, "r") as f:
        guidewire_xml = f.read()
    with open(phantom_xml_path, "r") as f:
        phantom_xml = f.read()

    scene_tree = etree.fromstring(scene_xml)
    guidewire_tree = etree.fromstring(guidewire_xml)
    phantom_tree = etree.fromstring(phantom_xml)

    scene_worldbody = scene_tree.find("worldbody")
    guidewire_worldbody = guidewire_tree.find("worldbody")
    phantom_worldbody = phantom_tree.find("worldbody")
    phantom_defaults = phantom_tree.find("default")
    phantom_assets = phantom_tree.find("asset")

    if (
        scene_worldbody is None
        or guidewire_worldbody is None
        or phantom_worldbody is None
    ):
        raise ValueError("All XMLs must contain a worldbody element")

    for element in guidewire_worldbody:
        scene_worldbody.append(element)
    for element in phantom_worldbody:
        scene_worldbody.append(element)

    scene_defaults = scene_tree.find("default")
    if scene_defaults is None:
        scene_defaults = etree.SubElement(scene_tree, "default")
    for element in phantom_defaults:
        scene_defaults.append(element)

    scene_assets = scene_tree.find("asset")
    if scene_assets is None:
        scene_assets = etree.SubElement(scene_tree, "asset")
    for element in phantom_assets:
        scene_assets.append(element)

    compiler = etree.Element("compiler")
    compiler.set("meshdir", phantom_xml_path.parent.as_posix())
    scene_tree.append(compiler)

    merged_xml = etree.tostring(
        scene_tree, pretty_print=True, xml_declaration=True, encoding="UTF-8"
    )
    return merged_xml.decode("utf-8")

I would greatly appreciate any advice or suggestions on how to improve this approach. Thank you!

https://mujoco.readthedocs.io/en/latest/programming/modeledit.html
https://mujoco.readthedocs.io/en/latest/python.html#model-editing

I tried going about it like this:
import cathsim.utils as cathsim_utils
import mujoco

scene_path = cathsim_utils.guidewire_paths.parent / "scene.xml"
model2 = cathsim_utils.guidewire_paths / "guidewire.xml"

spec = mujoco.MjSpec()
spec.from_file(scene_path.as_posix())

model2_spec = mujoco.MjSpec()
model2_spec.from_file(model2.as_posix())

worldbody = spec.worldbody
model2_worldbody = model2_spec.worldbody
model2_body = model2_spec.find_body("guidewire")

test_body = worldbody.add_body()
test_body = model2_body

model = spec.compile()
print(spec.to_xml())

I was looking into https://github.com/google-deepmind/mujoco/blob/8e827d0d50d047cea15de5a764597ddf330358a2/python/mujoco/specs.cc to see if I can find something that allows me to map a body to another body from different specs. Is this something that can be achieved?

https://mujoco.readthedocs.io/en/latest/programming/modeledit.html#attachment
https://mujoco.readthedocs.io/en/latest/APIreference/APIfunctions.html#mjs-attachbody

Thank you!


MGDOBR-6767,677: Check delete button is disabled for wrong confirmation

This PR is a follow up task after discussion on other PR:
https://github.com/5733d9e2be6485d52ffa08870cabdee0/sandbox-ui/pull/63#issuecomment-1141802492

@vpellegrino just a friendly reminder, if you have a moment for a review


Incorrect redraw in editing a long line with C when 'spell' is enabled

Steps to reproduce

Enable spell check (set spell)
Edit a file containing a line longer than window size, followed by a series of lines with at least one blank line (see attached a.txt)
Go to the middle of that long line and type C to enter insert mode.
Observe that subsequent lines disappear with each keystroke.

See attached a.mp4 for a demo.
This happens in both console vim and gvim.
Expected behaviour
Entering insert mode and replacing the suffix of the current line should not affect subsequent lines.
Disabling spell check (set nospell) and typing C results in a $ to be drawn at the end of the current line, and editing the line suffix does not affect subsequent lines.  This is the expected behavior.
Version of Vim
9.0.662
Environment
OS = Linux version 5.18.16-1rodete1-amd64<EMAIL_ADDRESS>(gcc-11 (Debian 11.3.0-5) 11.3.0, GNU ld (GNU Binutils for Debian) <IP_ADDRESS>20713) #1 SMP PREEMPT_DYNAMIC Debian 5.18.16-1rodete1 (2022-08-24)
Terminal = # GNOME Terminal 3.44.1 using VTE 0.69.99 +BIDI +GNUTLS +ICU +SYSTEMD
TERM = xterm-256color
Shell = tcsh
https://user-images.githubusercontent.com/2000051/193947690-fdf95d06-ed6e-47f8-a648-6d6ccf21594e.mp4
a.txt
Logs and stack traces
No response

This appears to be a regression from https://github.com/vim/vim/commit/26f09ea54b2c60abf21df42c60bdfc60eca17b0d
9.0.0608 has the buggy behavior, 9.0.0607 seems fine.


cl_abap_elemdescr=>type_p_max_length downgraded

Replaced with local constant TYPE I VALUE 16
https://github.com/larshp/abapGit-Plugins/issues/10

cool, thanks :+1:


v1.6.1

Release PR v1.6.1
[v1.6.1] - 2023-07-13
Added
Changed
Fixed

Fixed issue with ProjectInfo tooltip shifting content at some display sizes

Check out a preview of your pull request here: https://alphasite-appservice-dev-pr-preview-1433719276.azurewebsites.net


fix: move CI install logic to a script

This allow the logic to be tested in PRs, as well as troubleshooting the CI installation process in local.

Forcing merge


feat(transformer-directives): add removeComments

close: #3794

Could you add support for // comment style comments? In one of my projects we use a different flavor of css that uses these comments instead. We had a similar issue with that.

Could you add support for // comment style comments? In one of my projects we use a different flavor of css that uses these comments instead. We had a similar issue with that.您可以添加对 // comment 样式注释的支持吗？在我的一个项目中，我们使用了一种不同风格的 css，它使用这些注释。我们也有类似的问题。

sure


Docker build fails for a party

When trying to perform a docker build for a specific party, i.e running one of the following commands:
~~ docker build ./party-b/. -t party-b
it results in:
ADD failed: stat /var/lib/docker/tmp/docker-builder145148034/corda.jar: no such file or directory
it seems the corda.jar isn't deployed to our temp folder, why is it looking for it there and not the node's directory?

@arsalankhalid you are probably missing one step https://github.com/henrikr3/corda-kubernetes-yo#let-us-review-the-contents-of-this-repository
There is a script file that fetches the Corda Opensource 4.0 binaries (Source at: https://github.com/corda/corda), which is a required first step: fetch_corda_jar


"Enrich Term Search Result"

HI.
First of all, congratulations on the excellent work you are doing! I am reaching out because I am having some difficulty in PB using an "Enrich Term Search Result", effectively. While the GMT data obtained can be downloaded, I am not cable to either visualize them and use them in PB to "extend". Could you please suggest me what I am doing wrong?
Thank you in advance.
Giuseppe

Hi @GDTV65 , without seeing your workflow it's a bit difficult for me to understand what trouble your having. Some possibilities I suspect:

your term search yielded no results giving you an empty gene set
your term search yielded only a single gene set, visualization of which isn't really applicable

Often you'd build a workflow producing a GMT by multiple paths after which the concatenated GMT can be visualized. I hope this helps.

Also a heads up that the Enrichr support is being expanded pretty soon, in the current version of the site, these two results would have been just one result.

... not allowing you to visualize the two of them together.


Failure to verify macos_user resource with new ChefDK: please use groups resource

2018-03-15T00:09:55.9858670Z      found more than one group with the same name, please use `groups` resource```

Resolved with #66


Running on Windows

I had a few issues running this on Windows so here is what I had to do if it helps anyone:
There is a bug in vagrant 1.8.3 for ansible on Windows which causes vagrant to prepend a drive letter to the playbook location.  I had to install:
vagrant plugin install vagrant-guest_ansible
and change the Vagrantfile to:
 provisioner = Vagrant::Util::Platform.windows?:guest_ansible : "ansible_local"
config.vm.provision provisioner do |ansible|
ansible.playbook = "0_install.yml"
end
Once the machine was provisioned I had some errors installing ansible:
Collecting cffi>=1.4.1 (from cryptography>=1.1->paramiko->ansible)
Downloading cffi-1.6.0.tar.gz (397kB)
Requirement already satisfied (use --upgrade to upgrade): pycparser in /usr/local/lib/python2.7/dist-packages (from cffi>=1.4.1->cryptography>=1.1->paramiko->ansible)
Installing collected packages: cffi, cryptography, paramiko, MarkupSafe, jinja2, ansible
Running setup.py install for cffi: started
Running setup.py install for cffi: finished with status 'error'
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-BmlYsM/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-n00gG6-record/inst
gle-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/cparser.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/lock.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/api.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/gc_weakref.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/commontypes.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/ffiplatform.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/verifier.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/vengine_gen.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/recompiler.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/init.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/model.py -> build/lib.linux-x86_64-2.7/cffi
copying cffi/_cffi_include.h -> build/lib.linux-x86_64-2.7/cffi
copying cffi/parse_c_type.h -> build/lib.linux-x86_64-2.7/cffi
copying cffi/_embedding.h -> build/lib.linux-x86_64-2.7/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/c
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7/c/_cffi_backend.o
c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
#include <ffi.h>
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
so had to run:
sudo apt-get update sudo apt-get install libffi-dev g++ libssl-dev
then re run
vagrant provision

Hey @m1ckr1sk,
Unfortunately I don't have a Windows installation around. Could you give it a try with Vagrant 1.8.6 (or newer, probably 1.9.1)? That version should fix some critical bugs and I hope it's working fine on Windows as well now...

Hi @xeraa ,
I no longer have a windows installation around to test it.  I think this issue could be closed and if/when installs on windows then a new issue can be raised. I suspect that the errors raised here may no longer be relevant with the upgrades.


Error for missing keys should not be truncated

Currently, errors for missing keys are truncated, and don't show the full key which caused an issue, just part of its path:
ERROR template: confd_settings.py:33:20: executing "confd_settings.py" at <getv "/deis/database...>: error calling getv: key does not exist

+1

Would love to see this changed, it would make troubleshooting so much easier.

@carmstrong +1

@carmstrong Any plans to hack on this one?

@kelseyhightower Not sure where in the code to look - seems like this is a go template thing?

I'm hacking on this now.

This should be fixed on master.


Make default download settings configurable

DMPTool users mainly want to download answers and nothing else, especially when there are page limits. Other users have requested to download section headings but no question text. We would like to:

Make the default download settings configurable for different installations
Add a fourth checkbox and separate 'section headings' from 'question text.' The order of boxes would be: 1) project details coversheet, 2) section headings, 3) question text, 4) unanswered questions

Closing this issue as it is quite old now. Will reopen if users express interest for this configuration ability.


Update bootstrap to 4.6.0

Updates org.webjars:bootstrap from 4.3.1 to 4.6.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

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

labels: library-update, semver-minor

Codecov Report

Merging #207 (6fdd4b4) into master (bdae63e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #207   +/-   ##
=======================================
  Coverage   14.94%   14.94%
=======================================
  Files          55       55
  Lines        2047     2047
  Branches       26       26
=======================================
  Hits          306      306
  Misses       1741     1741

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 bdae63e...6fdd4b4. Read the comment docs.

Codecov Report

Merging #207 (6fdd4b4) into master (bdae63e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #207   +/-   ##
=======================================
  Coverage   14.94%   14.94%
=======================================
  Files          55       55
  Lines        2047     2047
  Branches       26       26
=======================================
  Hits          306      306
  Misses       1741     1741

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 bdae63e...6fdd4b4. Read the comment docs.

Superseded by #237.


Validator for callables as parameter

Changes proposed in this pull request:

A validator for callable objects
includes tests

@giulioungaretti

Looks good to me apart from a single inline comment

@jenshnielsen , I addressed your comments, let me know what you think.

@AdriaanRol Great looks good to me


Redesign Copiers so that high level logic can be reused

As @rporres said on https://github.com/src-d/core-retrieval/issues/57, there's some common high level logic that should be reused across all copiers. For example, copying to a .tmp file and then renaming. Instead of doing this one time, we're implementing this in each copier.
I propose redesigning the copiers to be more like building blocks that are assembled by a Copier that can have a RemoteFs (or something like that) that is the one providing client-specific logic to the copier.
Copier would be something like this, containing all the high-level logic:
type Copier struct {
  remote RemoteFs
  local LocalFs
}

func (Copier) CopyToRemote(ctx context.Context, src, dst string, localFs billy.Filesystem) error {}
func (Copier) CopyFromRemote(ctx context.Context, src, dst string, localFs billy.Filesystem) error {}

And the RemoteFs/LocalFs (name TBD) something like this:
type Fs interface {
  Open(path string) (io.Reader, error)
  WriteTo(path string) (io.Writer, error)
  Rename(src, dst string) error
}

type RemoteFs interface {
  Fs
  isRemote()
}

type LocalFs interface {
  Fs
  isLocal()
}

With this logic, all we need is a io.Copy that works with context.Context and the logic becomes (in pseudo-code):
CopyToRemote(ctx, src, dst) {
  r, err = local.Open(src)
  if err != nil { return }

  w, err = remote.WriteTo(withTmp(dst))
  if err != nil { return }

  err = copyCtx(ctx, r, w)
  if err != nil { return }

  remote.Rename(withTmp(dst), dst)
}

It becomes really easy to build high-level logic with very low level building blocks.
In fact, this could be simplified even further into a function, independent of remotes and locals:
type Copier func(ctx context.Context, src, dst string) error

func (c Copier) Copy(ctx context.Context, src, dst string) error { return c(ctx, src, dst) }

func NewCopier(from, to Fs) Copier {
  return func(ctx context.Context, src, dst string) error {
    // code from above
  }
}

What do you think? /cc @src-d/data-retrieval @smola

Yep, tmp files are kept in another directory

By default, if you don't specify another directory for tmp files, the directory must be the same.


Unblock the ability to have multiple photos per listing (backend work)

Exygy has WIP to support photo upload through the partner portal (Q&A question on this). Once that lands, it'll be limited to one photo per listing (this was just an oversight, not a design decision). They've created https://github.com/bloom-housing/bloom/issues/1530 and, if having multiple photos per listing is a high priority for us, invited us to send a PR for that. Creating an issue on our side to keep track of this.

Completed work


Automatically define schema typespecs

i'm not the owner of this code..
but y not merge it?
i think that's can be really helpfully!!

@wojtekmach is a frequent contributor to Ecto, so we will leave it up to him to contribute it or send a pull request when he feels it is ready. Thanks!

@gVolop thanks :) I haven't opened the PR because there are 2 unresolved things still:

how to generate types for custom modules. On the branch we assume the custom type defined CustomType.t(), which may be incorrect assumption and we don't have a good way to enforce it. Some other options are adding callbacks to Ecto.Type which doesn't seem ideal either
whether we should allow to overwrite the generated schema's t() type

@josevalim I'm happy to open the PR if it moves this forward. (I'm not sure if it does, I still don't know how to handle custom types!)

@wojtekmach
in cases the custom struct have no defined type - y can't you generate the type like you did for the ecto schema?
you can take the default values of the struct %CustomType{} - and mapping them into type.. or - put any() for all fields
no?!

you can take the default values of the struct %CustomType{} - and mapping them into type.. or - put any() for all fields
no?!

@gVolop a custom type doesn't have to be a struct, it can be just a string, for example.

i see there is type callback in the Ecto.Type behaviour,
so, conceptually, we can say that if we can raise an error in case of not implemented callback (instead of warning) - you can use this callback to build the type ?

that callback has different purpose, it specifies the underlying DB type. For example, if you define custom money type in Postgres, type would return :money

humm... i thought that the underlying type have to be one of the existing ecto types...
@wojtekmach
sorry for bothering you.. but i think that feature can really be very useful!
what dyou think about add option for the Ecto.Schema.field, something like:
field :name, :string, struct_type: String.t
and while generating the type - use the struct_type OR map the ecto type and if custom - use the t() if defined or - any()

We shouldnt define the typespec when the type is used on a schema, rather when the type is defined (either build in or custom type) if that makes sense. Also for typespecs we need quote expressions.
I have opened a PR and the discussion has been moved there: https://github.com/elixir-ecto/ecto/pull/2594


Messages won't send after not sending one for a while

Checklist

[X] I'm reporting a problem with Chatterino
[X] I've verified that I'm running the most recent nightly build or stable release
[X] I've looked for my problem on the wiki
[x] I've searched the issues and pull requests for similar looking reports

Describe your issue
After not sending any messages for [some amount of time] any new messages won't send. I've had the same problem with the previous nightly version and back then I got an "Unkown error: Timeout error" but on the newest version I don't get that anymore, it just won't send any messages in any chat. So far I have tried clearing the cache and reinstalling chatterino but both didn't help.
Screenshots
No response
OS and Chatterino Version
Chatterino Nightly 7.5.1 (commit 2036aba5) built on 2024-11-23 with Qt 6.7.3, MSVC 194234433, Crashpad Running on Windows 11 Version 23H2, kernel: 10.0.22631

my problem was fixed with the latest update


Modeling for Where Clause

A CMAP representation and corresponding LinkML definition for Where Clause definitions that are needed to identify the input records used for each display.

Modelling for where clauses is complete and has been used in the modelling of analysis sets and analysis groups.  Each where clause has an id and either a simple condition (dataset/variable/comparator/value(s)) or a compound expression, which is contains a reference to two or more where clauses with a logical operator ("AND" or "OR") to define how the separate where clauses are combined.
I haven't moved this issue to "Done" because (apart from being used for analysis set and analysis group) where clauses have not be linked into the overall model.
Comments/questions:

Are where clauses defined independently and then referenced from within analyses, or a they only defined within the context of an analysis?

We are leaving this in because of the outstanding question of the constraints (see above comments from Richard)

As of the end of Sprint 6, there are still some issues with the modelling for where clauses:

Compound expressions for analysis sets and analysis groups can only be constructed by combining references to other already-defined analysis sets/groups.  It would be better if compound expressions could also be defined from scratch (in the same way that data subsets can be).
Compound expressions for groups do not differentiate between analysis groups and data groups.  It is possible to define a compound express for an analysis group that references defined data groups and vice versa.  This is not ideal because the analysis groups are groups of subjects whereas data groups are groups of data records.

Going to transfer this to a Discussion, as we cannot complete this issue all on its own (PBIs need to be independent).


Test PR. Please ignore.

Coverage remained the same at 93.87% when pulling e21d5d7038c96ff0021a7a40b75342fee2d1de58 on RickCarlino:oops into 1ba9e02ddcddfe6e68ae7ac49d7be92ddc264768 on FarmBot:staging.

Coverage remained the same at 93.87% when pulling e21d5d7038c96ff0021a7a40b75342fee2d1de58 on RickCarlino:oops into 1ba9e02ddcddfe6e68ae7ac49d7be92ddc264768 on FarmBot:staging.


Issue starting with 0.1.17

Using the same set of video files in a given directory I have no issues w/ 0.1.16 however with every version since 0.1.17 I get the following errors:
root@tesla-dashcam-encoder:~# time tesla_dashcam --layout DIAMOND --scale 1 --quality HIGH --compression ultrafast --encoding x265 --set_moviefile_timestamp RENDER --output ${DATE}_diamond_1_high_ultrafast_x265.mp4 /root/TeslaCam/
Scanning 1 folder(s)
There are 1 event folder(s) with 7 clips to process.
Processing 7 clips in folder /root/TeslaCam/ (1/1)
Processing clip 1/7 from 12/19/19 11:44:07 and 59 seconds long.
Traceback (most recent call last):
File "/usr/local/bin/tesla_dashcam", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.8/dist-packages/tesla_dashcam/tesla_dashcam.py", line 4500, in main
process_folders(
File "/usr/local/lib/python3.8/dist-packages/tesla_dashcam/tesla_dashcam.py", line 2770, in process_folders
if create_intermediate_movie(
File "/usr/local/lib/python3.8/dist-packages/tesla_dashcam/tesla_dashcam.py", line 2059, in create_intermediate_movie
if event_info.metadata["reason"] == "SENTRY"
TypeError: 'NoneType' object is not subscriptable
Any ideas?

Thank you for reporting. Found the issue and currently doing test on fix. Fix will be in v0.1.19 most likely released today.

You da man @ehendrix23, appreciate the quick response!
Dan

Problem is when there is no events.json file within the folder. Deleted a events.json file in one of my test folders allowing me to reproduce and test the fix.
While testing the fix it failed on another item, similar cause. So just went through the code to fix anywhere it could happen. Test on the 1 folder with 1 scenario without events.json file was now successful. Running tests now going through multiple scenarios and multiple folders to confirm no further issues.

Awesome thanks for the update @ehendrix23.
Dan

Fix is in 0.1.19. Closing issue, re-open or create a new issue if same problem still occurs.


Means to specify the name of the attached file via header Content-Dis…

Reincarnation of https://github.com/apache/camel/pull/5977

the same failure in optaplanner module :(

It's not fault. The new optaplanner version is only java 11. Need to revert. Your PR is fine


Implemented tracking for thread counts. Added a test case for multipl…

Fixes # .
Did you remember to?

[ ] Add test case(s)
[ ] Update CHANGES.txt

…e suites run sequentially, but with their methods in parallel. Added some new state accessors to the execution state tracker.

1> Added a bunch of new sample classes.
2> Added some new accessor methods to the execution state tracker.
3> Implemented thread count bookkeeping and updated the listener class and the sample classes accordingly.
4> Added thread count tests to the existing test class in the new parallelization test suite.
Added a test class for Scenario #2 for PTP-TC-1: Parallel by methods mode with sequential test suites, no dependencies and no factories or data providers.
Test scenario:
Three suites with 1, 2 and 3 tests respectively. One test for a suite shall consist of a single test class while the rest shall consist of more than one test class.
* For one of the suites, the thread count and parallel mode are specified at the suite level
* For one of the suites, the thread count and parallel mode are specified at the test level
* For one of the suites, the parallel mode is specified at the suite level, and the thread counts are specified at the test level (thread counts for each test differ)
* The thread count is less than the number of test methods for the tests in two of the suites, so some methods will have to wait the active thread count to drop below the maximum thread count before they can begin execution.
* The thread count is more than the number of test methods for the tests in one of the suites, ensuring that none of the methods in that suite should have to wait for any other method to complete execution
* There are NO configuration methods
* All test methods pass
* NO ordering is specified
* group-by-instances is NOT set
* There are no method exclusions

Looks good! Again a big effort thanks! 👍
And for the moment, TestNG is robust and works as expected! 😎

Fantastic work @selenareneephillips, thanks!


update the image to new org

Signed-off-by: Song Song Li<EMAIL_ADDRESS>

this image has 1 security issue, @zkayyali812 pls help to fix it? thanks

/lgtm
I will update the image to ensure it passes the security scan


Easily import stylesheets in balloon classes

Added the importStylesheet method to the abstract balloon class to make importing stylesheets for balloons easier.

The confetti balloon imports two stylesheets.


cannot resolve service when service name starts with http

Describe the bug
Using spring cloud openfiegn client
@FeignClient(value ="httpbin2")
public interface TestFeignClient {

    @RequestMapping(value = "/headers", method = RequestMethod.GET)
    String headers();

spring boot version: 2.7.13
spring cloud : 2021.0.7

When the fiegn client  is called, the following service unavailable error occurs
feign.FeignException$ServiceUnavailable: [503] during [GET] to [null://nullhttpbin2/headers] [TestFeignClient#headers()]: [Load balancer does not contain an instance for the service nullhttpbin2]
        at feign.FeignException.serverErrorStatus(FeignException.java:256) ~[feign-core-11.10.jar:na]
        at feign.FeignException.errorStatus(FeignException.java:197) ~[feign-core-11.10.jar:na]
        at feign.FeignException.errorStatus(FeignException.java:185) ~[feign-core-11.10.jar:na]
        at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:92) ~[feign-core-11.10.jar:na]
        at feign.AsyncResponseHandler.handleResponse(AsyncResponseHandler.java:98) ~[feign-core-11.10.jar:na]
        at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:141) ~[feign-core-11.10.jar:na]
        at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:91) ~[feign-core-11.10.jar:na]
        at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100) ~[feign-core-11.10.jar:na]
        at com.sun.proxy.$Proxy69.headers(Unknown Source) ~[na:na]
        at com.example.demo.TestController.feignHeaders(TestController.java:16) ~[classes/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_292]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_292]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_292]

I notice this happens becuase the service name happens to start with "http",
see FeignClientFactoryBean.getTarget for the logic
It took some time to find where the invalid url is constructed. (My first attempt was to find why "ribbon.client.name" is "nullhttpbin2",  then why the clientName is nullhttpbin2 ...  and tried all @FeignClient annotation usage to see if I missed something). Note the ribbon part is from an old version of spring boot/cloud.
It's rare that the service name starts with http, however an error reporting in the frist place during startup will be greately helpful.
I don't know if it's worth a more appropriate handling and hence allow service name to start with "http". By the way, inspired by the spring cloud gateway get started examples, I created a service also named httpbin...

Hello @paulluap, thanks for reporting it. Makes sense. We'll fix it.
Btw., Spring Cloud Netflix Ribbon has been out of maintenance for many years now. Please stop using it. It can expose you to security vulnerabilities. Please use Spring Cloud LoadBalancer instead.


How can I install Numara on linux

I noticed in the description that Numara is for Linux too.
And I saw in this issue that you guys created a snap package.
Is Numara in snap store?

Hi @jcomello,
Numara is not in the snap store at the moment but Linux is supported:
For most Linux distros you can try using the AppImage build:
https://github.com/bornova/numara-calculator/releases/download/v4.5.4/Numara-4.5.4-x86_64.AppImage
For Debian based distros specifically, you can also use the `deb build:
https://github.com/bornova/numara-calculator/releases/download/v4.5.4/Numara-4.5.4-amd64.deb

Thanks!


Markers animation don't work on Android

I'l trying to make my markers animatable. So, I've done everything like it's written in the instruction [here] (https://github.com/lelandrichardson/react-native-maps#using-with-the-animated-api).
And it works great, but unfortunately only on iOS.
There is absolutely no animation of my markers on Android.
Btw, the MapView animation works great both on Android and on iOS.
Tested on RN 0.29.0, 0.30.0, 0.31.0.
I'll try to make an example code for this issue.

Are you running on an emulated or a physical device?
If on an emulated device, make sure that you have installed the appropriate Google packages via the SDK Manager in Android Studio.
If on a physical device, make sure that you have installed the latest Google Play services.

I'm running on Genymotion, with latest version on Google packages:
compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.facebook.react:react-native:+'
compile 'com.google.maps.android:android-maps-utils:0.4.3'
compile 'com.google.android.gms:play-services-base:9.4.0'
compile 'com.google.android.gms:play-services-maps:9.4.0'
compile 'com.google.android.gms:play-services-ads:9.4.0'

compileSdkVersion 23
buildToolsVersion "23.0.3"
minSdkVersion 16
targetSdkVersion 23

I have no experience in Genymotion, but the packages i have install (via the SDK Tools in Android Studio) are:
Android SDK Build Tools
Android SDK Platform-Tools 23.1
Android SDK Tools 25.1.6
Google Repository
Intel x86 Emulator Accelerator (HAXM installer)

Yep, I have all these tools & extras installed too, except some version of them are newer than yours:
Android SDK Build Tools 19.1-24.0.1
Android SDK Platform-Tools 24.0.1
Android SDK Tools 25.2
Google Repository
Intel x86 Emulator Accelerator (HAXM installer)
and so on

Another thing I figured out.
My markers have two states (and styles accordingly): default and active (when you click on them). The styles are different and the styles transition is animated.
So, if Hot Reloading and Live Reload are enabled, if I click on marker (nothing happens with it styles), when I updating the Marker component with any text (just to make hot reloading to trigger), after hot reloading the clicked marker styles are changed to "active"!
It's pretty odd behaviour. So maybe it helps to figure out there the problem lies.

Also, today I've got this error:

And here are my animated styles:
image: {
    transform: [
        {
            scale: this.animated.size.interpolate({
                inputRange: [0, 1],
                outputRange: [.1, 1]
            })
        }
    ],
    top: this.animated.size.interpolate({
        inputRange: [0, 1],
        outputRange: [24, 0]
    }),
    opacity: this.animated.size.interpolate({
        inputRange: [.15, .3, 1],
        outputRange: [0, 1, 1]
    })
},

So, maybe the there is a problem with animation of  transform property?

Update: I find out what animation don't work only on marker click event.
On other events animation is working.
But how should I correctly handle click event?
Now I'm usdng onPress and it works correctly on iOS.
onMarkerPress don't work on iOS and on Android.

So, finally I find out why I can't animate markers on Android.
It's because Google Maps API don't have such possibility. Markers in Google Maps are bitmaps, and they don't meant to be animated by design.
So, there is no way to animate markers on Android now.


Rounding Vectors / Points.

Is there a way yet to round vectors or points, similar to std's round function implemented for f32 and f64? I cannot seem to find it, but the crate might use a non-standard naming convention, or assume other means of rounding.
Furthermore, if it is not present, would a round function be something to consider? How would we go about adding it, given a rounding operation might not necessarily make sense on any matrix.

This is currently not implemented.
Instead of defining a round method, it would be more useful to define a method apply that takes a closure Fn(N) -> N as parameter. Each component is then replaced by the result of the closure (the modification is in-place so this is not a map).

Hmm I was about to tinker a bit to resolve this issue but it seems that currently the master branch is broken, as the tests do not compile?

Could you paste the error you get please? I've made a fresh clone of the nalgebra repo and test do seem to compile on the master branch.

On stable:
error: cannot find macro `quickcheck!` in this scope
  --> tests/similarity.rs:15:1
   |
15 | quickcheck!(
   | ^^^^^^^^^^

error: aborting due to previous error(s)

On nightly, I get 1096 errors. They all seem to be of the unused result variety.
As for the original issue, wouldn't apply be essentially the same as iter_mut?

Tests and benchmarks can only be computed on nightly because we use #[feature(test)] which is unstable. The errors you have on nightly are strange though. Did you enable any features? Could you try with those features enabled:
cargo test --features "debug arbitrary serde-serialize"

Also, if this still doesn't work, could you try to compile tests on the linalg branch?

It is a new issue on nightly. I already reported it yesterday in rust-lang/rust#43806. There is already a pull request in, so it should be fixed very soon. For the time being we could comment out the unused_results lint perhaps?

@aepsil0n Yes, or maybe we could just make it a warn instead of a deny so that we don't forget to deny it again later.
@Binero I forgot to answer your second question. The apply I propose would no be iter_mut exactly, but the same as:
for e in matrix.iter_mut() {
    *e = f(*e)
}

Assuming f is a Fn(N) -> N where N is the scalar type.
I am not sure there exists a clean one-liner way of doing this.


Round or integer?

Hi,
I just wanted to clarify if we are suppose to get "integer" or "round" values when extracting decontaminated decontXcounts?
Is it acceptable to do:
counts <- sobject@assays@data$decontXcounts
mode(counts) <- "integer"
And then use counts for seurat downstream analysis.
Or do we need to do:
counts <- round(sobject@assays@data$decontXcounts)
And use the above for seurat downstream analysis.
Are they both acceptable?
Thanks,
Faraz

Hi @faraz89, each of those methods will produce integer values and thus should work. Note that you can retrieve the decontaminated counts with the command:
decontXcounts(sobject)
Also, if you are plugging into a down-stream tool that does not require integer counts (like Seurat), you do not have to round them.

Hi @faraz89, each of those methods will produce integer values and thus should work. Note that you can retrieve the decontaminated counts with the command:
decontXcounts(sobject)
Also, if you are plugging into a down-stream tool that does not require integer counts (like Seurat), you do not have to round them.


Bumped development RELEASE for 1.18-17

Bumped development RELEASE for 1.18-17
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/unhold


Missing functions in browser environment

I noticed that jshint will complain if I try to construct ImageData objects, since it doesn't know that's a global constructor name in the environments of recent browsers. Since I assume this might not be the only such case, I tried to come up with a list of probably missing names. To this effect I grabbed the current WHATWG HTML spec, tried to extract all IDL fragments, dropped those with the NoInterfaceObject extended attribute and checked the rest against the vars.js file from jshint, namely against the exmaIdentifiers and browser objects. Here is the result, in the order in which they occur in the HTML specification:
HTMLAllCollection
HTMLFormControlsCollection
RadioNodeList
HTMLOptionsCollection
HTMLUnknownElement
DOMStringMap
HTMLDataElement
HTMLTimeElement
HTMLSpanElement
HTMLPictureElement
HTMLSourceElement
HTMLEmbedElement
HTMLAudioElement
HTMLTrackElement
HTMLMediaElement
MediaError
AudioTrackList
AudioTrack
VideoTrackList
VideoTrack
TextTrackList
TextTrack
TextTrackCueList
TextTrackCue
TimeRanges
TrackEvent
HTMLAreaElement
HTMLDataListElement
HTMLKeygenElement
HTMLOutputElement
HTMLProgressElement
HTMLMeterElement
ValidityState
HTMLDetailsElement
HTMLMenuItemElement
RelatedEvent
HTMLDialogElement
HTMLSlotElement
TextMetrics
ImageData
Path2D
Touch
ImageBitmapRenderingContext
CustomElementRegistry
DataTransfer
DataTransferItemList
DataTransferItem
DragEvent
BarProp
History
Location
PopStateEvent
HashChangeEvent
PageTransitionEvent
BeforeUnloadEvent
ApplicationCache
ErrorEvent
PromiseRejectionEvent
Navigator
NavigatorID
PluginArray
MimeTypeArray
Plugin
MimeType
ImageBitmap
EventSource
CloseEvent
BroadcastChannel
WorkerGlobalScope
DedicatedWorkerGlobalScope
SharedWorkerGlobalScope
WorkerNavigator
WorkerLocation
Storage
StorageEvent
HTMLAppletElement
HTMLMarqueeElement
HTMLAreaElement
HTMLEmbedElement

Out of all of these, some may warrant further (manual) investigation. For example my Chrome doesn't support these (or at least not outside a worker):
AudioTrack
AudioTrackList
DedicatedWorkerGlobalScope
HTMLAppletElement
HTMLDataElement
HTMLMenuItemElement
HTMLTimeElement
ImageBitmapRenderingContext
NavigatorID
RelatedEvent
SharedWorkerGlobalScope
VideoTrack
VideoTrackList
WorkerGlobalScope
WorkerLocation
WorkerNavigator

On my Firefox the list reads
ApplicationCache
AudioTrack
AudioTrackList
CustomElementRegistry
DataTransferItem
DataTransferItemList
DedicatedWorkerGlobalScope
HTMLDialogElement
HTMLKeygenElement
HTMLMarqueeElement
HTMLSlotElement
NavigatorID
PromiseRejectionEvent
RelatedEvent
SharedWorkerGlobalScope
Touch
VideoTrack
VideoTrackList
WorkerGlobalScope
WorkerLocation
WorkerNavigator

I'd say although there are some common mismatches, in general the list as a whole should be reasonable. Unless you want to verify each individual item, or have a good idea how and why the results should be filtered in some way, I'd suggest adding all of the names from my first list to the browser object.
If you want me to write a pull request, please let me know what the boolean value associated with each name signifies. A comment to that effect would be a good idea, in my opinion.

making no attempt at a complete list, i've anecdotally noticed MediaStream and MediaStreamTrack may also be missing.


lib/systems/parse.nix: mkSkeletonFromList: improve readability

This PR makes (almost) no behavior changes
This PR makes no changes to the behavior of mkSkeletonFromList, except on inputs matching the following regex:
-apple-(mingw32|eabi|elf|ghcjs)

I claim that these are nonsensical inputs whose behavior we should not care about.
The Easy Way to review this PR
curl -L https://raw.githubusercontent.com/amjoseph-nixpkgs/nixpkgs/a9595374806477c40eab88acbc06ca7d641364ea/lib/systems/test.nix > lib/systems/test.nix
nix eval --raw -f lib/systems/test.nix | egrep -ve '-apple-(mingw32|eabi|elf|ghcjs)' > after
git switch --detach origin/master
nix eval --raw -f lib/systems/test.nix | egrep -ve '-apple-(mingw32|eabi|elf|ghcjs)' > before
diff -u before after

The diff should produce no output.  You should verify that the *-apple-* tuples removed by the egrep -v filters are nonsensical (changing the behavior in these nonsensical cases allowed simplification -- see below for details).  Here is how lib/systems/test.nix was created:

Copy-and-paste of the old (unsimplified) version of mkSkeletonFromList
Comment it out
Form a list consisting of one or more attrsets for each possible coordinate value which could participate in triggering each of the if clauses in the original code
Append "default values" for each of the three coordinates.
Run mkSkeletonFromList on the cartesianProductOfSets of the attrsets.

Note that if vendor is missing from the return value of mkSkeletonFromList, lib/systems/test.nix will set vendor="unknown"
The Less-Easy Way to review this PR
Go through the first 19 commits and verify that each is a behavior-preserving local transformation.
Motivation
While investigating #165836 I tried to understand how nixpkgs emulates config.sub to disambiguate 2-tuples and 3-tuples.  I found the 3-tuple case for mkSkeletonFromList to be extremely difficult to follow.  In order to help myself understand it, I performed a series of behavior-preserving local changes.  The end result turned out to be vastly easier to understand.

The main point of this PR is to make obvious how the decision between cpu-kernel-libcabi vs cpu-vendor-os is made.

The existing code obscures this decision behind a sequence of prioritized matches (i.e. if-then) which jump around between different coordinates. The new code makes it obvious that the decision is based on the last coordinate except if the middle coordinate is linux or apple.

I suspect that those exceptions are overly-broad.  If this PR merges, then narrowing those exceptions can be done with easy-to-review one-line PRs.

The new code has only two if-then branches, so it is easier to understand where they overlap:

*-linux-{wasi,redox,mmixware,ghcjs,mingw32} will incorrectly treat the last coordinate as a a libcabi
*-apple-{eabi,eabihf,elf,gnu} will incorrectly treat the last coordinate as an os

This reorganization also makes clear the fact that we are missing a case: cpu-vendor-libcabi, which is needed in addition to cpu-kernel-libcabi and cpu-vendor-os.  This is the root cause of #165836, and it's the reason why nixpkgs gets into trouble with *-none-*.  The reorganization also makes it easier to reason about the consequences of adding*-${vendor}-none cases in order to handle aarch64-solo5-none, where none is ambiguous so we need to know either that (a) solo5 is a vendor or that (b) solo5 is not a kernel.
Lastly, this reorganization illuminates some very weird corner cases, like *-${vendor}-ghcjs overriding the vendor field, and mingw32 being transformed into windows in some cases.  I don't think those were intentional.  The new format makes those special cases apparent, and makes removing them into one-line changes.

Description of changes
This PR rewrites the 3-tuple branch of mkSkeletonFromList in a sequence of 22 small commits.

The first 19 commits should very obviously be behavior-preserving on all inputs which do not assert.

Most of these commits either merge overlapping if-branches or permute mutually exclusive if-branches.
In a few cases the merged branches have a pathological case where they do not overlap, or the permuted branches have a pathological case where they are not mutually exclusive; in these situations an assert is added covering the pathological case.

The third-to-last commit removes the asserts, which occur in only two situations:

*-apple-{eabi,eabihf,elf,gnu,mingw32}: in these cases the old   logic would treat the third field as a kernel; the new logic   treats them as libcabi.  I don't think these are valid combinations (Darwin uses Mach-O instead of ELF, right?),   but if they are it seems like the new logic is more accurate.  My favorite is *-apple-mingw32.

*-${vendor}-ghcjs where vendor!="unknown": the old code would   ignore the provided ${vendor} and overwrite it with "unknown".

The penultimate commit restores the original (vendor-clobbering) behavior for *-*-ghcjs.

The final commit is just formatting.

This PR should be squashed into a single commit before merging.  The 22-commit form is more verbose, but makes correctness easier to verify.
Things done

Built on platform(s)

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

I need to run some test vectors through this to double-check that I haven't changed the behavior of mkSkeletonFromList.  Does anybody know a good source for a big pile of autoconf-names?

Good to go.  For ease of reviewing, see the copypasta at the top of the first post.

@sternenseemann should be added as a reviewer here.

@sternenseemann and @Ericson2314, have you had a chance to look at this yet?
There are a few PRs open (like #186484) which, if merged ahead of this one, will invalidate the proof that the behavior of mkSystemFromString is unchanged.

Ping @sternenseemann @Ericson2314 @alyssais @nbp
I want to submit other changes which will create a merge conflict with this PR.  What should I do?
We're starting to run into a lot more problems with calling Musl an ABI.  Nixpkgs needs understand that "big-endian 64-bit powerpc on Musl always uses the ELFv2 ABI (see #182807)", but since nixpkgs thinks that Musl is an ABI there is no way to express this other than special-purpose hackery like #191436.  The fact that {build,host,target}Platform don't have separate fields for libc and abi which can be matched independently is the main obstacle.  Fixing that will create a merge conflict with this PR.
I've radically shortened the description at the top of this PR in the hope of attracting some kind of review.

@amjoseph-nixpkgs this looks good! Sorry I didn't see it for so long, Please harass me on Matrix in #cross-compiling:nixos.org to make sure this stuff gets reviewed, this is not the first time you made a good thing that went neglected by us!

Merge conflict due to #82131.

Squashed, because it wasn't worth rebasing past 25 separate commits.
I've added *-*-freebsd* to the cpu-vendor-os fork of the *-*-* case.
Note that freebsd can be used in the other (cpu-kernel-environment) fork as well; x86_64-freebsd-gnu is still valid although I don't think glibc still builds on freebsd.  But there's no need to parse it unless somebody is serious about adding that capability.

Sorry we didn't merge before! :(

Git push to origin failed for release-22.11 with exitcode 1

I think Sterni fixed this in #202405.  If not, or if I need to do anything more, ping me.


'IGListCollectionViewLayoutCompatible.h' file not found

'IGListCollectionViewLayoutCompatible.h' file not found when compiling, downloaded from github not pods.

try to run pod update


"Than" must have word following

Consider the sentence:

More often than, we cannot foresee the of our community.

Harper currently does not find anything wrong with this sentence.
Yet, the word "than" must be followed by a word, and the word "the" must be followed by an adjective or a noun (I believe).
It would be cool if Harper could diagnose these mistakes.

Thanks for the feedback! I've got a linter working for the first issue, and am working on one for the second issue. It should be available in the most recent release. Feel free to give it a whirl and let me know if you find any problems.


Refactor RefModeStore cleanup behavior and add tests for its behavior

This set of changes began as a result of the tests added here, that
failed.
This refactor makes two improvements:

Fixes an issue where once cleanup was triggered for a store, it would
never be triggered again.
No need to launch a separate coroutine for cleanup, or to provide any
coroutineContext at construction time. Cleanup now occurs on the
coroutine that resulted in the internal state change that triggered
cleanup.

In order to enable cleanup to always occur on a caller coroutine, the
ActiveStore.off method needed to become a suspend method. This allows
us to post a message to the MessageQueue when off is called, to
ensure that cleanup occurs if off was called while the MessageQueue
was already idle.
Luckily, this suspend change didn't cause many downstream changes;
most calls to off were already in a coroutineContext. The one
exception to this was storageProxy.close. So this is now also a
suspending method.
An additional change here was to remove the use of a coroutine mutex in
ProxyCallbackManager, in favor of a symbol object monitor, since most of
the methods interacting with the component aren't suspendable, anyway.

Replaced by #5739


Impove Amount math actions

When performing math operations (or comparisons) between Amounts, no
need to do strict full-dict comparison of Assets, it's enough to make sure
asset ids are the same. An asset param may change, thus screwing a
comparison:
a = Amount('10 CNY')
b = Amount('10 CNY')
a['asset']['options']['core_exchange_rate']['base']['amount'] += 1
a == b  # False

Closes: #101

Coverage remained the same at 72.617% when pulling 278ab1b382d102a7b70d832a446807202cebf7d0 on bitfag:101-amount-comparison into 79c42ba4ec9fc25554be6774bda3aa03eaf66f35 on xeroc:develop.

Coverage remained the same at 72.617% when pulling 278ab1b382d102a7b70d832a446807202cebf7d0 on bitfag:101-amount-comparison into 79c42ba4ec9fc25554be6774bda3aa03eaf66f35 on xeroc:develop.


Provides a spinner wheel similar to Jupyter notebook when debugging

Discussed in https://github.com/microsoft/vscode-python/discussions/16296

Originally posted by altosaar May 21, 2021
Steps to reproduce:

Use Python VS Code extension to launch a new jupyter notebook
Execute a cell with import time; time.sleep(20)
Notice the spinner icon that moves, denoting that something is running (below the cell with current runtime in seconds):

Now switch to the python debugger:

Use ctrl + shift + D to launch debug the current python file
Notice that the only visual affordance for seeing that something is running is the 'RUNNING' text in the bottom right in the call stack.

Just a thought, but adding a spinner icon besides 'running', or in the play/pause/stop on top while a debugging process is running, along with the timing info in seconds could be very helpful as a visual cue (I've found myself restarting processes frequently, unnecessarily)

Thanks for the suggestion. Besides the UI hints in the debug viewlet, we also change the status bar color (maybe not in your theme but it can be configured) and show the badge (1) on the debug activity bar icon. I don't think I want to show animation or a timer. I'd find an animation distracting and it's not clear in what case the timer would be meaningful - time running between breakpoints? It's sort of a different situation than running a notebook cell.


plugin install

Hi
When I try to install the plugin in ionic tells me this error, is there some way to fix this?.

Error: Failed to fetch plugin cordova-hotspot-plugin via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: Registry returned 404 for GET on https://registry.npmjs.org/cordova-hotspot-plugin

thanks you.

If you follow the README it's working: https://github.com/hypery2k/cordova-hotspot-plugin#installation


Avatar loader

You need to create PR to your own organization repo, not semester fork. Closing it.


figure 1

Codecov Report

Merging #471 into master will decrease coverage by 0.19%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #471      +/-   ##
==========================================
- Coverage   86.84%   86.65%   -0.20%
==========================================
  Files          23       23
  Lines        1749     1753       +4
==========================================
  Hits         1519     1519
- Misses        230      234       +4

Flag
Coverage Δ

#unittests
86.65% <0.00%> (-0.20%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

lineage/plotTree.py
0.00% <0.00%> (ø)

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 d66507b...13b49e7. Read the comment docs.

@shak360 we will review all parts of the manuscript later, so I merge this for now.


notifee onBackgroundEvent no listen when notification is clicked

I have a problem using notifee & firebase.
When the notification appears in the background (app is closed) when clicked the notification is not handled in onBackgroundEvent.
so the case is if the pressAction is changed to something other than the default, when clicked the log is in onBackgroundEvent, but the problem is the application does not open, while the pressAction is the default, when clicked the log is not handled in onBackgroundEvent the application also opens directly.
only type 3 is the same as DELIVERED which is heard in onBackgroundEvent.
Thank you.
My package.json :
"dependencies": {
"@notifee/react-native": "^9.1.2",
"@react-native-firebase/app": "^21.3.0",
"@react-native-firebase/messaging": "^21.3.0",
"react": "18.3.1",
"react-native": "0.76.1"
}

Same problem here!
In my case, I'm using trigger notifications, local, without firebase, closed application, the notification is shown, but when clicking the App it doesn't open.

I am no Android expert, but seems it might be related to PendingIntent changes in Android 14 here or here?
If anybody can give me some pointers where to look, I can have a go at resolving this issue


work around #2703 and release pfio memory as early as possible

Types of change(s)

[ ] 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 change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist

[x] Tested this change with a run of GEOSgcm
[x] Ran the Unit Tests (make tests)

Description
Save data to a integer array pointer to work around #2703 . This PR also releases the pfio memory as early as possible
Related Issue

@bena-nasa Can you test this PR can write more 2d variables ?

Ben was able to produce 141G file with 3d variable on 181 levels of CS5760


Update protobuf (fixes #518)

Update to the latest version of the protobuf library. Required for the latest version of bazel to work.

Fixes #518

They're something my editor did automatically. I figured might as well keep them since the attributes are now in a predictable order.


Fix not to crash when unsubscribing while publishing a message

The app crashes when unsubscribing while publishing a message to the unsubscribed channel because it sends a message in goroutine. https://github.com/walletlink/walletlink/blob/2.0.2/server/rpc/pub_sub.go#L124 The fix is to wait for all subscribers to get a message, so safely unlock https://github.com/walletlink/walletlink/blob/2.0.2/server/rpc/pub_sub.go#L114 to unsubscribe Created a lock for each subscriber and using it when publishing and unsubscribing

Fix tests (https://github.com/walletlink/walletlink/pull/1/commits/c69a594e8a8666283e5fbec3092fcb2a2ac40ad5). Failed because of https://github.com/walletlink/walletlink/commit/19dda19c607bcb8dfcc39ebb22508f8843424716#diff-588e74a11db2e82785409f89372885bf

Documenting IRL feedback: I think we should explore creating a unique lock for each subscriber and using that in publish and unsubscribe.

Fixed as addressed

Documenting IRL feedback: I think we should explore creating a unique lock for each subscriber and using that in publish and unsubscribe.

Fixed as addressed


Giant Bomb premium support

Checklist

[x] I'm reporting a site feature request
[x] I've verified that I'm running youtube-dl version 2020.05.08
[x] I've searched the bugtracker for similar site feature requests including closed ones

Description

Giant Bomb has premium videos on its service. These are currently not supported by the giantbomb extractor.
I considered trying to add this functionality myself but as someone who is relatively new to the codebase I wasn't sure how best to go about this.
The login code I have seen for other extractors I'm not sure would work on Giant Bomb as they use captcha on login.
Giant Bomb has a great API ( https://www.giantbomb.com/api/documentation ) which could be used for this but I believe they only support logging in via API keys rather than the standard username and password which youtube-dl uses.
Or is it possible this could be done using cookies?
If anyone could give me some pointers towards some extractors to look at for hints (or want to pick this up themselves) it would be greatly appreciated.

I discovered just using --cookies allows these to download fine.
I'm going to leave this open as I'd prefer a more elegant login/api solution


Define the power supply

Ventilator needs a power supply. In this issue we collect proposals to find a good solution.
Action points:

[ ] estimate the power consumption of the ventilator
[x] evaluate battery solution / UPS for backup of the mains voltage
[ ] other (WIP)

we need to change the value of R28 for setting the shutdown threshold
R28 was 51k become 82k

R10 and R11 are now 51k. Now the battery voltage and the output voltage is 13.60V.

I added the charger on the logic schematic, @maggia80 is the connection corresponding to the cabling?

Rev 0.0.6 (logic and harness) contains the charger connections as proposed in the previous comment.


How do I see recently uploaded packages?

This was there at some point... now I just see "top".

The UI design part is pending, but until then, you can add ?sort=updated to the URL. Also try created, popularity, health, maintenance

Coming later, but planned...

@kevmoo But this is a regression from the existing site.

@kevmoo But this is a regression from the existing site.

Yup. We decided to prioritize top packages over updated. We have plans to get this back, but we wanted to focus on the most important user flow first.

Alright, but aren't people going to wonder when they upload their package and don't see anything?

Alright, but aren't people going to wonder when they upload their package and don't see anything?

They can always go to the package page, right?
I absolutely want to get this feature back. Just need to work out the UI.
For most users, seeing the best packages first is the most useful thing.

Changes title to make this about exposing this in the UI
In the mean time: https://pub.dartlang.org/experimental/flutter/packages?sort=updated

Fixed in https://github.com/dart-lang/pub-dartlang-dart/commit/66cedd624834b3280c83748c1aed5cb1b89b7d51
Will be deployed shortly...


Which sampling method does ‘Ours(init)’ use in Figure 6?

The original text is 'Ours (init) denotes the network initialization by our pre-trained model'.
The x-axis is limited labeled points,  so which sampling method does 'Ours(init)' use to get these limited labeled points?
Thanks!

I want to ask does Ours(act. labeling) mean train from scratch using data selected by the pre-train network?

@Hiusam hi, you understand it correctly.


Expose layers to public API

I tried to make the least amount of changes to get to the functionality I wanted. The API can be massaged more later. I also noticed that tests are little bit disorganized - I can submit another PR later to help with that.

Hi, thanks for the PR. It's a good start but I have some comments / suggestions.

I don't think it's neccessary to expose all the buildX() methods. Those are really only meant to be used internally.

You have exposed the Layer struct but there is no way to turn it into an image.Image. I don't that struct needs to be exposed directly.

What we want to have is the ability to produce either a single flattened image atlas or a slice of unflattened image atlases. I think we can approach it as follows:

Add a new field Layers []image.Image to Asesprite.

Add a new method Flatten() *Aseprite to File to produce the current Aseprite with the Layers field left nil. (it just does the same thing as what func (spr *Aseprite) readFrom() does now)

Add a new method Layered() *Aseprite to File to product an Aseprite where Image is nil but Layers contains all the unflattened layers. Those layers do also need to be image atlases so that the frame data can be used with them.

(Optional) Add  a new method Flatten() to Aseprite to flatten a layered Aseprite into a single image, as a convenience.

What do you think?

Dear friend,
I read your recommendation with great attention for about 45 minutes and studied the code more. I submitted two more commits. The first to make build methods private as you requested. The second to drop (spr *Aseprite) readFrom method in favor a New method that takes the raw decoded format.
My reasoning is in line with my initial suggestion to split the construction of Aseprite into two: first get raw File, then Aseprite out of it, so that layers could be manipulated in some way before the image is flattened.
I don't think that adding []Layers field would be better for two reasons:

It complicates the final object.
The blending modes of separate atlases becomes a mystery, unless somehow lifted to the Aseprite level. It will work, but it may not be intuitive to the consumer of the library.

With my current approach, if layers need to be manipulated (in my case, only filtered) the usage becomes:
 // normal way, no layer filtering
spr, _ := Read(r)

 // new way, with layer filtering
f, _ := NewFile(r)
f.FilterLayers(filterFunc)
spr := New(f)

Other types of manipulations could be added in the future. I think your suggestion can certainly work, but it will take more lines to implement and potentially produce a less flexible API surface for later modification. What do you think?

I also suggest changing *File.FilterLayers signature to return a new *File instead of modifying the current one, so something like this can be composed more naturally:
f, _ := NewFile(r)
spr := New(f.FilterLayers(filterFunc))
differentLayers := New(f.FilterLayers(differentFilterFunc))

I will submit the change after I hear some feedback from you.


Update native-remote-notifications.md

Added a warning to keep the data view editable. This kept us in our project looking for some days to find why the push notifications were coming in, but the guid was never received.

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

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

@MikaelVerhoefTS  Thank you for the documentation suggestion.  What is "Siabling" meant to be?

@MikaelVerhoefTS  Thank you for the documentation suggestion.  What is "Siabling" meant to be?

@ConnorLand that typo was awkward...
It should have been "Disabling".
Now changed it.

@ConnorLand that typo was awkward...
It should have been "Disabling".
Now changed it.

Merged. Thank you for sharing your thoughts and helping others.

Merged. Thank you for sharing your thoughts and helping others.