Single selection calendar - how to deselect a date correctly?

Version: JTAppleCalendar (7.1.7)
allowsMultipleSelection = false
workflow:

select a date in the calendar (user input)
deselect it in code using:
calendarView.deselect(dates: [date]) by a button (control outside of the calendarView)
select a date in the calendar (user input)

What do I expect:
get deselected delegate call through
func calendar(_ calendar: JTAppleCalendarView, didDeselectDate date: Date, cell: JTAppleCell?, cellState: CellState) once at step 2.
What do I get:
get deselected delegate call 2 times: at step 2 and step 3 (I believe because collection view remembers that the item was selected).
Am I using the wrong method for deselection?

I am able to solve the issue by adding the line in the UserInteractionFunctions.swift:

    public func deselect(dates: [Date], triggerSelectionDelegate: Bool = true) {
        if allowsMultipleSelection {
            selectDates(dates, triggerSelectionDelegate: triggerSelectionDelegate)
        } else {
            let paths = pathsFromDates(dates)
            guard !paths.isEmpty else { return }
            if paths.count > 1 { assert(false, "WARNING: you are trying to deselect multiple dates with allowsMultipleSelection == false. Only the first date will be deselected.")}
            deselectItem(at: paths[0], animated: true)
            collectionView(self, didDeselectItemAt: paths[0])
        }
    }

But maybe I am doing it wrong from the start and should use another method?

checking this out

I am not able to reproduce this.
Can you try to replicate it on the sample project i have attached to guthub?
Or can you provide a sample app which demonstrates this?

Hello @patchthecode
(This one?)[https://github.com/patchthecode/JTAppleCalendarDemo]

You can see unbalanced "deselect" (2 records) in the log if press the "Delete the date" button above the calendar and select a date afterward.
JTAppleCalendarDemo.zip

checking this out now

This is not happening with the file you gave me :/
Let me know know when you will be online.
Chat is faster -> https://gitter.im/patchthecode/JTAppleCalendar

Hello @patchthecode . I would like to deal with this now if you available

Video with the issue (check the textview at the bottom of the screen)

I have updated the pod in the sample project(was 7.1.5, now 7.1.7) and added a textview to see the output.
JTAppleCalendarDemo.zip

your issue is recreated.
Checking this now.

...bug

Fixed on master branch.
Can you check and let me know if it was fixed on master branch for your project?
Follow instructions here to test master branch. Let me know

Thank you.
I can not test the fix from master branch right now because of the "old" XCode version (10.1, Swift 4.2).
Cherry pick of the commit over the 7.1.7 tag fixes the issue though.

cool.

I am having this issue too. May you help me please

Hello @ekchhuon
Use the master branch or apply the fix manually. Current tag (7.1.7) does not include the solution of the issue.
By the way, you can check the example for the deselection code

Exactly what @bivant said is correct.
If you need help let us know. I can help you.


move archive data from local disk to hdfs

iDigBio has a functional hdfs cluster setup, and we'd like freshdata use it. Suggest to move the data from local disk to hdfs and update configuration such that the archive.effechecka.org imports archives straight into hdfs.

This has been completed by @mjcollin


RxJava3: Ports EffectHandlerException class and test

@pettermahlen I missed your new functionality when doing the initial pull request for rxjava3, I just did the port here.

I noticed that, that's fine, I wanted to see how that functionality actually behaves when it hits firebase before adding it to Rx3 as well. Thanks for the PR, once we've got it working well for Rx2, we can merge this too.

@pettermahlen any update on this?

Closing, seems this is/was not that important to port over


A Tensorflow implementation of CapsNet based on Geoffrey Hinton's paper Dynamic Routing Between Capsules

A Tensorflow implementation of CapsNet based on Geoffrey Hinton's paper Dynamic Routing Between Capsules. From https://github.com/naturomics/CapsNet-Tensorflow.
I have got the permission from the author and mark the author's information as well.
Fix some changes so it would be easier to use.

Also, I have update the FRCNN, built by Keras.

Many thanks for your contribution.

It is great to add the keras frcnn example.
Since the tensorflow projects are under Apache License 2.0, which restricts us from changing the code when distribution. I am not sure if it is enough to add the author information and the source code address. So we need more discuss about this.
Will reply you ASAP.
Thanks for your contribution again.

בתאריך יום ו׳, 24 בנוב׳ 2017 ב-10:46 מאת TobeyQin<EMAIL_ADDRESS>
:

Many thanks for your contribution.

It is great to add the keras frcnn example.
Since the tensorflow projects are under Apache License 2.0, which
restricts us from changing the code when distribution. I am not sure if it
is enough to add the author information and the source code address. So we
need more discuss about this.
Will reply you ASAP.
Thanks for your contribution again.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/samples-for-ai/pull/3#issuecomment-346773503,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE_tbUCHR1rcfnIY0mxfdnVUQlZhUURTks5s5oJpgaJpZM4QnoiO
.

--
Thanks, Arie.

New Update GANs Model using Tensorflow

Hi LimberenceCheng,
I'm very sorry for the late response. Thank you so much for the efforts to share new samples. We always welcome contributions and suggestions. According to policies, most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
and actually do, grant Microsoft the rights to use your contribution. For details, visit
https://cla.microsoft.com. So, I have a few questions to consult you:

Your pull request contains three samples. I suggest you split it into three pull requests.

Are the Keras frcnn and TensorFlow GAN samples all written by yourself? If you refer to some others' source code, would you please tell us the origins as well as their licenses? Since we use MIT license for code, is MIT license acceptable for you? If so, would you please place the license content (https://github.com/Microsoft/samples-for-ai/blob/master/LICENSE-CODE) at the beginning of your written code?

For the TensorFlow capsule sample, since it is originally licensed by Apache 2.0, I suggest you keep the files unchanged (e.g. the license and author information at the beginning) except for your necessary changes.

Thank you so much.


Do not use red if it's no an error

Thanks :)

Hi there, thanks for the PR :) Any UI changes (and any changes at all) are going to require you to start with an Issue and in this case you will need to propose an enhancement by first creating a PEEP -- please see https://github.com/pypa/pipenv/blob/master/peeps/PEEP-001.md for more information on how to go about this
I appreciate that red is generally accepted as an error color, but Kenneth does make the call on UI decisions so this one will have to follow the process. Thanks again for your time, looking forward to the follow up proposal

Sounds like "process over effectiveness". :(
And, did I just read this there? ;)

Avoid writing PEEPs, unless it seems absolutely neccessary, and in the best interest of the entire Python community.

Honnestly, I'm not going to write any PEEP to explain a BDFL that red does mean error. :)

Unfortunately, you do need to. The mapping of colour code to contextual meaning is highly cultural dependant, and is not as obvious as you would think. It makes sense for you, and likely people around you, but please do remember the world is a lot larger than that, and we need to assume less than we incline to. “Red = error” is not universal.

Ah. Can you point me to the PEEP defining the colour scheme so I can suggest a modification of it? :)

No. We didn’t retroactivelt create enhancement proposals for things that already existed, the process is not meant to be complicated. It is meant to be explicit and straightforward and to separate technical decisions from interface design. If you want to introduce changes to the interface it should start as a proposal that can standardize, say, different types of information and what colors they should be.
At that point we can probably find some accessibility guideline on the topic and take that info into account so that Kenneth can make centralized and informed design decisions without having to get bogged down in issues and PRs.


Training core dump in megatron-lm with tp-comm-overlap.

When use megatron-lm with transformer_engine, the training core dump with arguments --tp-comm-overlap.
environment

8xA800
Centos 7
Cuda Driver Version: 470.161.03

container
FROM nvcr.io/nvidia/pytorch:24.03-py3 RUN pip install --no-cache-dir tinydb flask sentencepiece git+https://github.com/NVIDIA/TransformerEngine.git@main
code version

megatron v0.7.0
transformer engine 1.9.0.dev0+f9dd37f

cmd
NCCL_IB_GID_INDEX=3 NCCL_NET_GDR_LEVEL=SYS torchrun --nproc_per_node 8 --nnodes 1 --node_rank 0 --master_addr localhost --master_port 6000 pretrain_gpt.py     --seq-length 4096 --num-layers 32 --hidden-size 4096 --ffn-hidden-size 11008 --num-attention-heads 32 --max-position-embeddings 4096 --disable-bias-linear --init-method-std 0.01 --attention-dropout 0.0 --hidden-dropout 0.0 --normalization RMSNorm --position-embedding-type rope --swiglu --untie-embeddings-and-output-weights --no-masked-softmax-fusion --no-position-embedding     --tokenizer-type Llama2Tokenizer --tokenizer-model /workspace/train_perf/train_scripts/data_and_tokenizer/llama2/tokenizer/tokenizer.model --data-path /workspace/train_perf/train_scripts/data_and_tokenizer/llama2/preprocessed_data/CC_text_document --split 97,2,1     --micro-batch-size 1 --global-batch-size 8 --lr 1e-4 --train-iters 20 --lr-decay-iters 15 --lr-warmup-iters 5 --lr-decay-style cosine --min-lr 1.0e-5 --weight-decay 0.1 --clip-grad 1.0 --bf16     --tensor-model-parallel-size 2 --pipeline-model-parallel-size 1 --sequence-parallel --use-distributed-optimizer --use-flash-attn --use-mcore-models --overlap-grad-reduce --overlap-param-gather     --log-interval 1 --save-interval 10000 --eval-interval 1000 --eval-iters 1 --log-throughput --no-load-optim --no-load-rng          --tp-comm-overlap
log
`setting number of micro-batches to constant 2

building Llama2Tokenizer tokenizer ...
padded vocab (size: 32000) with 0 dummy tokens (new size: 32000)
initializing torch distributed ...
initialized tensor model parallel with size 2
initialized pipeline model parallel with size 1
setting random seeds to 1234 ...
compiling dataset index builder ...
make: Entering directory '/workspace/train_perf/third_party/Megatron-LM/megatron/core/datasets'
make: Nothing to be done for 'default'.
make: Leaving directory '/workspace/train_perf/third_party/Megatron-LM/megatron/core/datasets'

done with dataset index builder. Compilation time: 0.306 seconds
WARNING: constraints for invoking optimized fused softmax kernel are not met. We default back to unfused kernel invocations.
compiling and loading fused kernels ...
done with compiling and loading fused kernels. Compilation time: 3.491 seconds
[sbd2-cannon-35:4243 :0:4243] Caught signal 11 (Segmentation fault: Sent by the kernel at address (nil))
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
[sbd2-cannon-35:4237 :0:4237] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x100000008)
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
[sbd2-cannon-35:4241 :0:4241] Caught signal 11 (Segmentation fault: Sent by the kernel at address (nil))
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
BFD: DWARF error: section .debug_info is larger than its filesize! (0x5d4f30 vs 0x4369b8)
==== backtrace (tid:   4243) ====
0 0x0000000000042520 __sigaction()  ???:0
1 0x000000000004d128 ompi_group_increment_proc_count()  /build-result/src/hpcx-v2.18-gcc-inbox-ubuntu22.04-cuda12-x86_64/ompi-efbeca7056b93dd17c67b66d1d514d39712e28d6/ompi/group/group_init.c:229
2 0x000000000004d128 opal_atomic_add_fetch_32()  /build-result/src/hpcx-v2.18-gcc-inbox-ubuntu22.04-cuda12-x86_64/ompi-efbeca7056b93dd17c67b66d1d514d39712e28d6/ompi/../opal/include/opal/sys/atomic_impl.h:384
3 0x000000000004d128 opal_thread_add_fetch_32()  /build-result/src/hpcx-v2.18-gcc-inbox-ubuntu22.04-cuda12-x86_64/ompi-efbeca7056b93dd17c67b66d1d514d39712e28d6/ompi/../opal/threads/thread_usage.h:152
4 0x000000000004d128 opal_obj_update()  /build-result/src/hpcx-v2.18-gcc-inbox-ubuntu22.04-cuda12-x86_64/ompi-efbeca7056b93dd17c67b66d1d514d39712e28d6/ompi/../opal/class/opal_object.h:534
5 0x000000000004d128 ompi_group_increment_proc_count()  /build-result/src/hpcx-v2.18-gcc-inbox-ubuntu22.04-cuda12-x86_64/ompi-efbeca7056b93dd17c67b66d1d514d39712e28d6/ompi/group/group_init.c:226
6 0x000000000004d9e9 ompi_group_incl_plist()  /build-result/src/hpcx-v2.18-gcc-inbox-ubuntu22.04-cuda12-x86_64/ompi-efbeca7056b93dd17c67b66d1d514d39712e28d6/ompi/group/group_plist.c:128
7 0x000000000007421b PMPI_Group_incl()  /build-result/src/hpcx-v2.18-gcc-inbox-ubuntu22.04-cuda12-x86_64/ompi-efbeca7056b93dd17c67b66d1d514d39712e28d6/ompi/mpi/c/profile/pgroup_incl.c:87
8 0x0000000004de09ed c10d::ProcessGroupMPI::createProcessGroupMPI()  ???:0
9 0x0000000000bfb750 pybind11::cpp_function::initialize<torch::distributed::c10d::(anonymous namespace)::c10d_init(_object*, _object*)::{lambda(std::vector<int, std::allocator >)#74}, c10::intrusive_ptr<c10d::ProcessGroupMPI, c10::detail::intrusive_target_default_null_typec10d::ProcessGroupMPI >, std::vector<int, std::allocator >, pybind11::name, pybind11::scope, pybind11::sibling, pybind11::call_guardpybind11::gil_scoped_release >(torch::distributed::c10d::(anonymous namespace)::c10d_init(_object*, _object*)::{lambda(std::vector<int, std::allocator >)#74}&&, c10::intrusive_ptr<c10d::ProcessGroupMPI, c10::detail::intrusive_target_default_null_typec10d::ProcessGroupMPI > (*)(std::vector<int, std::allocator >), pybind11::name const&, pybind11::scope const&, pybind11::sibling const&, pybind11::call_guardpybind11::gil_scoped_release const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN()  init.cpp:0
10 0x00000000004218a7 pybind11::cpp_function::dispatcher()  :0
11 0x000000000015a10e PyObject_CallFunctionObjArgs()  ???:0
12 0x0000000000150a7b _PyObject_MakeTpCall()  ???:0
13 0x0000000000149629 _PyEval_EvalFrameDefault()  ???:0
14 0x000000000015a9fc _PyFunction_Vectorcall()  ???:0
15 0x000000000014453c _PyEval_EvalFrameDefault()  ???:0
16 0x000000000015a9fc _PyFunction_Vectorcall()  ???:0
17 0x000000000014453c _PyEval_EvalFrameDefault()  ???:0
18 0x000000000015a9fc _PyFunction_Vectorcall()  ???:0
19 0x0000000000169492 PyObject_Call()  ???:0
20 0x00000000001455d7 _PyEval_EvalFrameDefault()  ???:0
21 0x000000000015a9fc _PyFunction_Vectorcall()  ???:0
22 0x000000000014453c _PyEval_EvalFrameDefault()  ???:0
23 0x000000000015a9fc _PyFunction_Vectorcall()  ???:0
24 0x000000000014326d _PyEval_EvalFrameDefault()  ???:0
25 0x000000000015a9fc _PyFunction_Vectorcall()  ???:0
26 0x000000000014453c _PyEval_EvalFrameDefault()  ???:0
27 0x000000000015a9fc _PyFunction_Vectorcall()  ???:0
28 0x000000000014453c _PyEval_EvalFrameDefault()  ???:0
29 0x000000000013f9c6 _PyArg_ParseTuple_SizeT()  ???:0
30 0x0000000000235256 PyEval_EvalCode()  ???:0
31 0x0000000000260108 PyUnicode_Tailmatch()  ???:0
32 0x00000000002599cb PyInit__collections()  ???:0
33 0x000000000025fe55 PyUnicode_Tailmatch()  ???:0
34 0x000000000025f338 _PyRun_SimpleFileObject()  ???:0
35 0x000000000025ef83 _PyRun_AnyFileObject()  ???:0
36 0x0000000000251a5e Py_RunMain()  ???:0
37 0x000000000022802d Py_BytesMain()  ???:0
38 0x0000000000029d90 __libc_init_first()  ???:0
39 0x0000000000029e40 __libc_start_main()  ???:0
40 0x0000000000227f25 _start()  ???:0
`

I see the callstack includes c10d::ProcessGroupMPI::createProcessGroupMPI, which implies the error is happening when PyTorch is initializing MPI. The most likely culprit is at
https://github.com/NVIDIA/Megatron-LM/blob/0bc3547702464501feefeb5523b7a17e591b21fa/megatron/training/initialize.py#L207. This looks fine to me though, so we'll need to debug further.
The first thing to confirm is that MPI is properly configured on your system. Try running the following script with torchrun:
import torch
torch.distributed.init_process_group(backend="nccl")
torch.distributed.new_group(backend="mpi")

If that works, my suspicion falls on the Userbuffers initialization at https://github.com/NVIDIA/Megatron-LM/blob/0bc3547702464501feefeb5523b7a17e591b21fa/megatron/training/initialize.py#L209. Could there be some race condition where running initialize_ub on one process causes MPI initialization to fail on another process? One thing to try is commenting out the call to initialize_ub and see if it gets past that point (it'll probably error out during the first forward pass). Pinging @denera. It may also be helpful to take a look at https://github.com/NVIDIA/TransformerEngine/issues/827.

I see a couple of things of concern here:

We removed MPI-dependence in Userbuffers with PR #901 (merged to TE/main) and recently fixed an initialization hang for certain use cases in PR #986 (not merged). Consequently, Megatron-LM does not need to initialize or launch with MPI anymore to do comm+GEMM overlap. You may need to update the initialization and test again with TE PR #986.
I see that the CUDA driver version is 470. I may be mistaken here but I recall that point to point comms via CUDA Multicast require 535+, so you may need to run this with UB_SKIPMC=1 in order to fall back onto the older CUDA IPC based implementation. The devices participating in the TP overlap also need to be on the same NVLink interconnect.

I see the callstack includes c10d::ProcessGroupMPI::createProcessGroupMPI, which implies the error is happening when PyTorch is initializing MPI. The most likely culprit is at https://github.com/NVIDIA/Megatron-LM/blob/0bc3547702464501feefeb5523b7a17e591b21fa/megatron/training/initialize.py#L207. This looks fine to me though, so we'll need to debug further.
The first thing to confirm is that MPI is properly configured on your system. Try running the following script with torchrun:
import torch
torch.distributed.init_process_group(backend="nccl")
torch.distributed.new_group(backend="mpi")

If that works, my suspicion falls on the Userbuffers initialization at https://github.com/NVIDIA/Megatron-LM/blob/0bc3547702464501feefeb5523b7a17e591b21fa/megatron/training/initialize.py#L209. Could there be some race condition where running initialize_ub on one process causes MPI initialization to fail on another process? One thing to try is commenting out the call to initialize_ub in Megatron-LM and seeing if it gets past that point (it'll probably error out during the first forward pass). Pinging @denera. It may also be helpful to take a look at #827.

Thanks for your reply, the script run failed with same error. I will re-check the torch mpi backend inside container and try to comment mpi initialization in megatron-lm.

I see a couple of things of concern here:

We removed MPI-dependence in Userbuffers with PR [C/PyTorch] Removed MPI dependence in Userbuffers #901 (merged to TE/main) and recently fixed an initialization hang for certain use cases in PR [PyTorch] Fixing hang in initialize_ub() for multi-node runs after PR901 removal of MPI-dependence #986 (not merged). Consequently, Megatron-LM does not need to initialize or launch with MPI anymore to do comm+GEMM overlap. You may need to update the initialization and test again with TE PR [PyTorch] Fixing hang in initialize_ub() for multi-node runs after PR901 removal of MPI-dependence #986.
I see that the CUDA driver version is 470. I may be mistaken here but I recall that point to point comms via CUDA Multicast require 535+, so you may need to run this with UB_SKIPMC=1 in order to fall back onto the older CUDA IPC based implementation. The devices participating in the TP overlap also need to be on the same NVLink interconnect.

Thanks! I deleted the mpi initialization in megatorn-lm and used the code in PR you mentioned, but the following error occurred whatever I set UB_SKIPMC=1 or not. Is it because of the nccl version problem or other reasons? The nccl version in my current test environment is 2.20.5.
setting number of micro-batches to constant 2
> building Llama2Tokenizer tokenizer ...
 > padded vocab (size: 32000) with 0 dummy tokens (new size: 32000)
> initializing torch distributed ...
> initialized tensor model parallel with size 2
> initialized pipeline model parallel with size 1
> setting random seeds to 1234 ...
> compiling dataset index builder ...
make: Entering directory '/workspace/train_perf/third_party/Megatron-LM/megatron/core/datasets'
make: Nothing to be done for 'default'.
make: Leaving directory '/workspace/train_perf/third_party/Megatron-LM/megatron/core/datasets'
>>> done with dataset index builder. Compilation time: 0.317 seconds
WARNING: constraints for invoking optimized fused softmax kernel are not met. We default back to unfused kernel invocations.
> compiling and loading fused kernels ...
>>> done with compiling and loading fused kernels. Compilation time: 3.465 seconds
!!! [UB] Create UbufP2PCommOverlap Communicator
UB_TIMEOUT is set to 110 sec,<PHONE_NUMBER>00 cycles, freq: 1410000khz
MC NOT initialized and used
UB: warning region 1 size 32 MB registered without MC access
!!! [UBP2P] Register UBuf 1
UB: warning region 2 size 32 MB registered without MC access
!!! [UBP2P] Register UBuf 2
UB: warning region 3 size 32 MB registered without MC access
!!! [UBP2P] Register UBuf 3
UB: warning region 4 size 32 MB registered without MC access
!!! [UBP2P] Register UBuf 4
UB: warning region 5 size 32 MB registered without MC access
!!! [UB] Register UBuf 5
UB: warning region 6 size 32 MB registered without MC access
!!! [UB] Register UBuf 6
UB: warning region 7 size 32 MB registered without MC access
!!! [UB] Register UBuf 7
UB: warning region 8 size 32 MB registered without MC access
!!! [UB] Register UBuf 8
Failed, NCCL error /tmp/pip-req-build-7n8asrs4/transformer_engine/pytorch/csrc/userbuffers/userbuffers-host.cpp:501 ''
Failed, NCCL error /tmp/pip-req-build-7n8asrs4/transformer_engine/pytorch/csrc/userbuffers/userbuffers-host.cpp:501 ''
Failed, NCCL error /tmp/pip-req-build-7n8asrs4/transformer_engine/pytorch/csrc/userbuffers/userbuffers-host.cpp:501 ''
Failed, NCCL error /tmp/pip-req-build-7n8asrs4/transformer_engine/pytorch/csrc/userbuffers/userbuffers-host.cpp:501 ''
Failed, NCCL error /tmp/pip-req-build-7n8asrs4/transformer_engine/pytorch/csrc/userbuffers/userbuffers-host.cpp:501 ''
Failed, NCCL error /tmp/pip-req-build-7n8asrs4/transformer_engine/pytorch/csrc/userbuffers/userbuffers-host.cpp:501 ''

@denera @timmoon10 Thanks a lot! After recompiling the transformer-engine with mpi and using mpirun to launch megatron-lm training, the tp-comm-overlap works without any problems now. Hopes the version that does not depend on mpi will be released soon.

@XLzed We have already removed MPI dependence for this in TE/main (see PR #901), and PR #986 for fixing a multi-node bug introduced with PR #901 should merge soon too, pending confirmation of the fix from NeMo/Megatron. Hopefully you'll be able to use this without MPI soon.


Updating a source with unformatted :quoted causes the quoted form to be overwritten

An issue was opened on Mneme that I think I've tracked down to a change that occurred during the 0.7.0 Rewrite refactor.
Here's the commit that fixed the bug in Mneme: https://github.com/zachallaun/mneme/commit/cd83a006b580f8cbc767041d1b6ecc91e7c92dc6
I'm not sure whether this behavior is desirable or not. On the one hand, it's nice that Rewrite keeps the quoted form and the content "in sync" -- on the other, if you're explicitly setting :quoted, it's unexpected that immediately calling Source.get(source, :quoted) could return something other than what you set.

Here's the offending code-path. The problem is that it all eventually leads back to Rewrite.Source.Ex.handle_update(source, :content) here, which re-parses the quoted form.

The re-parsing is a desired behaviour. In recode I need this to detect issues at the right position when a previous task has changed the code. But you are also right that the behaviour is odd when we update a source with :quoted .
I will extend the docs and take a look if I can support both behaviours.

@zachallaun with version 0.10.0, it is now possible to suppress the syncing of :quoted in Source.Ex. To do so, you have to change Rewrite.new() to Rewrite.new([{Source.Ex, sync_quoted: false}]).


Why pageNumber is saved in UserRepository instead of ListViewModel? (Responsibility distribution doubt between ViewModel and Model.)

Description
I was referring to your implemented Repository Pattern and it is really interesting and useful. Great job! 👍 I have one question (or doubt!) regarding responsibility distribution between ViewModel and Model layers. You have kept pageNumber in UserRepository, which is a Model (Data) layer. I think it should be part of the ViewModel layer (ListViewModel in this case).
#Reasons:
According to MVVM pattern:

Model (Data) layer should be responsible for providing data to ViewModel layer only.
ViewModel layer is responsible to persist current state of View (and not Model layer).
View can observe ViewModel and ViewModel can observe Model. In this way, Model is independent of ViewModel, which means Model doesn't have any idea of ViewModel's state or even which ViewModel is observing.
In your repository pattern, you are storing pageNumber at Model layer, which means your Model layer is indirectly keeping state of ViewModel (and ultimately of your View). This conflicts with the MVVM pattern principles, mentioned in previous points.

There must be some reason for why you have kept pageNumber at Model layer instead of ViewModel. I would like to know your views on this. 🙂

Well, that's a good question. TBH, Point 2 is somewhat misunderstood, the Page number is the state of Model and not View. It is the responsibility of the Model to store its state, which is why pageNumber lies at Model Layer. Hope this clears your confusion.

@iyashsoni thank you for the clarification.


TX details: support switching between hex and base64 data display

.. as requested by @matevz
More design feedback is needed by @donouwens .

I propose we use the existing Oasis<->ETH toggle for switching between Oasis and ETH format. The intuition is the following:

Ethereum tooling use hex, so you won't come far with Base64 without a 3rd party decoder
Oasis tooling (e.g. Oasis CLI, oasis-node logs) use Base64 format everywhere

A friendly reminder: this is still waiting for feedback from @donouwens

Could you please check the current implementation?

@donouwens I think we should discuss this a bit more, since after I implemented it, @matevz has explained that he has actually meant something different...


I120 dockerize firebase emulator

Change Summary
Containerize firebase emulator to simplify project setup (for those who have not installed firebase tools and dependencies and want to get started on project)

[ ] The pull request title has an issue number
[ ] The change works by "Smoke testing" or quick testing
[ ] The change has tests
[ ] The change has documentation

Other Information
run docker-compose up && yarn dev
Related issue

Resolve #120

Dockerfile does not make use of a separate bash script so I don't think windows users will run into the line endings issue when building docker images


403 error on install

How to reproduce:

Start a new project using node 14
run npm install question-answering@latest

Expected behavior: Exit code of 0, all is fine
Actual behavior:

Works properly on node 12.

@Pierrci maintainer of this repo is off for a few days so this will be addressed in a couple of weeks. In the meantime, feel free to try and contribute a fix for Node 14!

@julien-c Merci, Julien!

Is support for 14 in the pipeline? Or some way I can help?

Any update on this? Would it be possible to separately release the tarball for self-hosting? Or instructions to rebuild it?
cc @patil-suraj - could you help with this?


Clarifying backup charges

clarifying that the backup charges only apply to the vCore model, and that differentials are retained for the retention period.

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

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

@MashaMSFT Please review this proposed change

Hi @dbrownems , thank you so much for your contribution! We've already been working on making changes to this page, and have incorporated what you've written into the private repo. I pulled your public PR into my branch, and this should add you as a contributor, but if it does not, please feel free to issue another pull request against this article.


log4j-custom-plugin changed to 2.16.0

OP-10598
We prefer small, well tested pull requests.
Please refer to Contributing to Spinnaker.
When filling out a pull request, please consider the following:

Follow the commit message conventions found here.
Provide a descriptive summary for your changes.
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Add inline code comments to changes that might not be obvious.
Squash your commits as you keep adding changes.
Add a comment to @spinnaker/reviewers for review if your issue has been outstanding for more than 3 days.

Note that we are unlikely to accept pull requests that add features without prior discussion. The best way to propose a feature is to open an issue first and discuss your ideas there before implementing them.

This PR  triggered this build in this execution, please merge to master only if this succeeds:  https://spin.prod.opsmx.com/#/applications/gcp-gitprtrigger/executions/details/01FQ13RK6704DY68FB4EP3CX3Z

This PR  triggered this build in this execution, please merge to master only if this succeeds:  https://spin.prod.opsmx.com/#/applications/gcp-gitprtrigger/executions/details/01FQ14A838D0YZFQH0F0VTHBBZ


Socket connection on Linux supported?

https://github.com/r-dbi/RMariaDB/pull/185/checks?check_run_id=1484154324#step:13:160
On Linux I'm seeing with RMariaDB:

Error: Failed to connect: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

I wonder why mysql commands work, wouldn't they also use the socket by default? Is the socket in a different location?
Per https://mariadb.com/kb/en/missing-mysqldsock-file/#comment_165, do we need
ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock

?

No, the path exists.

Hmm, the installation should be pretty standard. It looks like the socket is at /run/mysqld/mysqld.sock.
mysql -e "SHOW VARIABLES LIKE '%socket%'"
Variable_name Value
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances -1
socket  /run/mysqld/mysqld.sock

https://github.com/ankane/setup-mariadb/runs/1484303215?check_suite_focus=true

Just updated the tests to print the socket location for each platform and version: https://github.com/ankane/setup-mariadb/actions/runs/395356603

One more thing: the workers on Linux already have MySQL installed, could that be a source for conflicts?

Connection worked in RMariaDB when I used the builtin MySQL and enabled the service. I'm still confused why things seem to work when running mysql -e --protocol socket .

MySQL is automatically removed when MariaDB is installed and vice versa.
It looks like your test suite is reinstalling MySQL in the "Install system dependencies" step.
2020-12-02T03:56:35.4946065Z The following packages will be REMOVED:
2020-12-02T03:56:35.4948237Z   mariadb-client-10.5 mariadb-client-core-10.5 mariadb-server-10.5
2020-12-02T03:56:35.4949697Z   mariadb-server-core-10.5
2020-12-02T03:56:35.4951332Z The following NEW packages will be installed:
2020-12-02T03:56:35.4952666Z   mysql-client-5.7 mysql-client-core-5.7 mysql-server mysql-server-5.7
2020-12-02T03:56:35.4953859Z   mysql-server-core-5.7

Good catch! Thanks a lot.


Is there any way to skip top card_

Is there any way to remove top card without swiping, programmatically?
BTW, thanks for the repo, really nice.

I'm not exactly sure what effect you're trying to achieve, but you could remove the top card from the adapter and then call notifyDataSetChanged() on it.
I suspect that's not exactly what you're after, are you wanting to be able to remove the top card with a different animation than swiping?

I'm exactly trying to do that, but couldn't find a way to get top card.

By the way, when in a cardSwipedLeft or cardSwipedRight method, cardList.get(0) doesn't always gets the item in order, I mean it can skip some items in list which cripples the logic.
Is it possible or am I doing something wrong?
The testing I've done is like below:
public void cardSwipedLeft(int position) {
ContentDto itemToRemove = cardList.get(0);
cardList.remove(itemToRemove);
adapter.notifyDataSetChanged();
}

itemToRemove should be the card showing on top but after a few swipes, it can skip some item, forexample while the card on top saying "value 1",  after swiping right, itemToRemove is indeed the first item in cardList however "value 1" item is the second indexed item in cardList. Shouldn't the adapter take them in order?

https://github.com/aaronbond/SwipeDeck2 << if you're still having issues after moving to this version please raise another issue over there.


NPM: Fix directory content listing problem

I found that there are some problems for directory listing in NPM
type repos. Because of the NPMPathStorageCalculator, the directory
listing is not working correctly. This fix is to add one param to let
the PathStorageCalculator to judge if it should be treated as norma
path or a directory for content listing.

@jdcasey Can you help review if this change makes sense? I'm not sure if this will bring some side effect or break some original design. (Or any other good solutions?)


[FLINK-28807] Honor schema lifecycle

This PR resolves a large number of violations of the schema lifecycle; where the schema was used without open() being called beforehand.
This is generally bad because certain schemas might rely on it, but also a blocker for FLINK-28621 because it will require the mapper to be created post-deserialization (where open() is the appropriate olace to do this).

It seems unfortunate that the contract here has to be independently implemented in several different places.

Yes :( The are just used in too many different places in too many different ways.

I'm wondering if the same problem could also exist in any of the recently externalized connectors?

Possibly; I will check them as well after the feature freeze.

It seems unfortunate that the contract here has to be independently implemented in several different places.

Yes :( The are just used in too many different places in too many different ways.

Yeah. I wanted to find something to abstract away, but gave up once I saw the diversity involved.


#14 add incident related methods on RuntimeService

The only thing missing is the patch of the docs. Still a merge...


Project license

For what I could see, the project itself doesn't have any license - so I am not sure what people can do with code itself.
IMO, some good licenses that may fit the intent of the project are GPL v2, BSD, and WTFPL

I'll adopt the WTFPL...
Thanks 😆

Closed in #950a3c7


Update pinned_allocator.h

operator== and operator!= should be const. This is causing compilation issues on VS 2015 when assigning two std::vector<T, pinned_allocator>

Done.

NVBug 2157926


fix CM tearing

fix https://github.com/reduxjs/react-redux/issues/1351

Hi folks.
My idea is to change forceRender into useSelector hook, let instead set a state, and return that state.
This should transform redux state changes into react useState changes that should batched and eventually paused form react concurrent mode

this should fix this demo
https://github.com/reduxjs/react-redux/issues/1351#issuecomment-509893599

This is probably a similar approach to my old implementation of reactive-react-redux.
It is important to keep consistency during intermediate updates, so you want to keep the test unchanged.
I think it's doable if you take the same approach as use-subscription.
It would actually be interesting to develop user-subscription based react-redux,
although I'm not motivated because I would like to push my approach.
I think the redux team is waiting for the core support, so they might not be so interested with the approach with use-subscription. But, anyway forking and experimenting should be good.

finally it fix even useTransition and isPending
https://codesandbox.io/s/test-redux-in-concurrent-mode-with-react-redux-pytbh

This is probably a similar approach to my old implementation of reactive-react-redux.
It is important to keep consistency during intermediate updates, so you want to keep the test unchanged.
I think it's doable if you take the same approach as use-subscription.
It would actually be interesting to develop user-subscription based react-redux,
although I'm not motivated because I would like to push my approach.
I think the redux team is waiting for the core support, so they might not be so interested with the approach with use-subscription. But, anyway forking and experimenting should be good.

the only test that i fix, is the one where the parent force the same value to the child, that need 2 render to CORRECTLY process all store updates.  reading store on render is an hack to have 1 render less on that "rarely usecase" but that break the normal queque from Redux to useState.

See https://github.com/reduxjs/react-redux/issues/1351#issuecomment-551802697
If component is wrapped within React.memo, it doesn't work 😛

See #1351 (comment)
If component is wrapped within React.memo, it doesn't work 😛
here is the fix https://codesandbox.io/s/test-redux-in-concurrent-mode-with-react-redux-salvoravidareact-redux-9jo9z

but please note that is a bug of the current "experimental react" with "SimpleMemoComponent"
infact force memo Non simple it works.
rreact internal
function updateMemoComponent(current$$1, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) {
  if (current$$1 === null) {
    var type = Component.type;

    if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
    Component.defaultProps === undefined) {
      var resolvedType = type;

      {
        resolvedType = resolveFunctionForHotReloading(type);
      } // If this is a plain function component without default props,
      // and with only the default shallow comparison, we upgrade it
      // to a SimpleMemoComponent to allow fast path updates.

      workInProgress.tag = SimpleMemoComponent;
      workInProgress.type = resolvedType;

      {
        validateFunctionComponentInDev(workInProgress, type);
      }

      return updateSimpleMemoComponent(current$$1, workInProgress, resolvedType, nextProps, updateExpirationTime, renderExpirationTime);
    }

i will open a issue on React.
So this "issue" is not related to useSelector!

I'm not actually sure what this PR is trying to accomplish.  Can you clarify?
Also, whatever it's doing only seems to involve useSelector, and not connect.

I'm not actually sure what this PR is trying to accomplish. Can you clarify?
Also, whatever it's doing only seems to involve useSelector, and not connect.

https://github.com/dai-shi/will-this-react-global-state-work-in-concurrent-mode
tearing when dispatching fast action and slow updates, please @dai-shi can you add your thought?

fix support dispatch action within "startTransaction"
here demo ok : https://codesandbox.io/s/test-redux-in-concurrent-mode-with-react-redux-pytbh
here demo KO : https://codesandbox.io/s/test-redux-in-concurrent-mode-with-react-redux-crbfn
isPending is not working

the problem was reading store on render phase.

The point of forceRender is that the Redux store notification process is occurring outside of React, and therefore React has no way to know that a re-render is needed.  Therefore, we need to tell React that it should queue up a re-render, and we are literally "forcing a render".
Now, the exact mechanics of that may be up for discussion.
For any potential change, I would specifically like to see some unit tests that fail under the existing implementation, and pass under a new implementation.

The point of forceRender is that the Redux store notification process is occurring outside of React, and therefore React has no way to know that a re-render is needed. Therefore, we need to tell React that it should queue up a re-render, and we are literally "forcing a render".
Now, the exact mechanics of that may be up for discussion.
For any potential change, I would specifically like to see some unit tests that fail under the existing implementation, and pass under a new implementation.

yes i know. the only change is that reduxStore.getState() must be done ONLY on useEffect and non on render otherwise there is the tearing effect when react render 50 items in a random way.
anyway, ok i will update with 2 test that simulates the 2 demos

Sure.  The other half of this is that we need an equivalent implementation for connect(), as well.

I'm not sure if we ever actually added the useSelector implementations to our benchmarks repo.

@markerikson I did. Please check out the PR and I can adjust if you have suggestions.

@salvoravida In my experience, if you read store in render, you need to deal with the case that the store state is change from the time when checkForUpdates is called. That's what use-subscription is dealing with.

Sure. The other half of this is that we need an equivalent implementation for connect(), as well.

done, fixed connect too.
Hope i have some time on weekend to add the CM tests.
Meanwhile if someone would like to try, here is a temp build : @salvoravida/react-redux 7.1.6 🎉

@salvoravida In my experience, if you read store in render, you need to deal with the case that the store state is change from the time when checkForUpdates is called. That's what use-subscription is dealing with.

this pr does not read store on render, but on callback handler.

this pr does not read store on render, but on callback handler.

Sorry, that's my misunderstanding from your original comment. I will try to understand again how it's working.
Have you come up with any idea to keep the test unchanged?

Hi folks, i have added dai-shi CM tests on /test/cm !
Good News ! @dai-shi update your site with react-redux :D
`
PASS  tests/all_spec.js (12.341s)
react-redux
√ check1: updated properly (8053ms)
√ check2: no tearing during update (1ms)
√ check3: ability to interrupt render
√ check4: proper update after interrupt (2108ms)
Test Suites: 1 passed, 1 total
Tests:       4 passed, 4 total
`

Please calm down.
Reading useSelector.js carefully, I think I understand what you are trying to do.
It will be more CM friendly than the current RR, if it could be done right.
To my knowledge, we can't use useRef to keep single source of truth.
I could probably make a failing test, but it would be hard and I wouldn't dare to do it.
So, there are two issues in my mind. One is the changed test case, and the other is the useRef. I'm not sure but they might be from the single issue.
Based on your idea, I would think something like this might work.
const useSelector = (selector) => {
  const [selected, setSelected] = useState(selector(store.getState()));
  if (selected !== selector(store.getState())) {
    setSelected(selector(store.getState()));
  }
  ...
};

Hmm, I'm not sure if this solves the first issue...
(I'm not even sure if the same technique can be applied to connect)
You want to try this? It seems like you are so exited (which is good), and I'm not sure I can convince you.

Please calm down.
Reading useSelector.js carefully, I think I understand what you are trying to do.
It will be more CM friendly than the current RR, if it could be done right.
To my knowledge, we can't use useRef to keep single source of truth.
I could probably make a failing test, but it would be hard and I wouldn't dare to do it.
So, there are two issues in my mind. One is the changed test case, and the other is the useRef. I'm not sure but they might be from the single issue.
Based on your idea, I would think something like this might work.
const useSelector = (selector) => {
  const [selected, setSelected] = useState(selector(store.getState()));
  if (selected !== selector(store.getState())) {
    setSelected(selector(store.getState()));
  }
  ...
};

Hmm, I'm not sure if this solves the first issue...
(I'm not even sure if the same technique can be applied to connect)
You want to try this? It seems like you are so exited (which is good), and I'm not sure I can convince you.

Please calm down.
Reading useSelector.js carefully, I think I understand what you are trying to do.
It will be more CM friendly than the current RR, if it could be done right.
To my knowledge, we can't use useRef to keep single source of truth.
I could probably make a failing test, but it would be hard and I wouldn't dare to do it.
So, there are two issues in my mind. One is the changed test case, and the other is the useRef. I'm not sure but they might be from the single issue.
Based on your idea, I would think something like this might work.
const useSelector = (selector) => {
  const [selected, setSelected] = useState(selector(store.getState()));
  if (selected !== selector(store.getState())) {
    setSelected(selector(store.getState()));
  }
  ...
};

Hmm, I'm not sure if this solves the first issue...
(I'm not even sure if the same technique can be applied to connect)
You want to try this? It seems like you are so exited (which is good), and I'm not sure I can convince you.

There are so many points that we should discuss and find all an agreement, step by step, without mixing different points.
i will try to start with these::

First of all, we should all agree that we CANNOT read store.getState() into render phase, because that could be "reading from the future" in CM when there are many slow-render-component, dispatches with LOW priority and Scheduler interrupt ROOT_RENDER and commit partial renders.
That is "TEARING" effect.

Secondo point is that storeChanges MUST be enquequed to useState with setState, so that every render can read reduxState from hisCallback and his queue

this fix also the others @dai-shi CM tests.
This is also why i do NOT think that your last example of useSelector can work in CM!

I understand we are not on the same page.

[First Goal] My goal is to at least make it work in CM. That is to make my CM tests (excluding check3) pass without changing useSelector.spec.js.
[Future Goal] Your goal is far ahead of it, and try to support state branching. That would be challenging and we might not be able to keep backward compatibility.

we should all agree that we CANNOT read store.getState() into render phase

I disagree if I stand for [First Goal]. For [Future Goal], yes.

I understand we are not on the same page.

[First Goal] My goal is to at least make it work in CM. That is to make my CM tests (excluding check3) pass without changing useSelector.spec.js.
[Future Goal] Your goal is far ahead of it, and try to support state branching. That would be challenging and we might not be able to keep backward compatibility.

we should all agree that we CANNOT read store.getState() into render phase

I disagree if I stand for [First Goal]. For [Future Goal], yes.

I understand we are not on the same page.

[First Goal] My goal is to at least make it work in CM. That is to make my CM tests (excluding check3) pass without changing useSelector.spec.js.
[Future Goal] Your goal is far ahead of it, and try to support state branching. That would be challenging and we might not be able to keep backward compatibility.

we should all agree that we CANNOT read store.getState() into render phase

I disagree if I stand for [First Goal]. For [Future Goal], yes.

you cannot have the [FG] CM safe (no tearing) while you want to read on render phase!
the test that i have changhed is safe, was an hack before to force read store on render phase.
to explain better this, i will prepare new tests. just wait! :)

you cannot have the [FG] CM safe (no tearing) while you want to read on render phase!

Both are [FG]... I assume [First Goal]. I think we can based on my snippet (which is from use-subscription which is basically for external store for CM safe).

@dai-shi

[Future Goal] Your goal is far ahead of it, and try to support state branching. That would be challenging and we might not be able to keep backward compatibility.

I don't think it's trying to do that. There will always be state branching as long as it uses useState or useReducer, and it'll happen whenever you set a value within a transition. In this case, dispatch an action within a transition. However, that's a completely unrelated issue to "fixing tearing"
If you think in useContextSelector, if you set the value passed to the provider within a transition, it will have this state branching as well.
I'm trying to describe this in the other thread. Also, it'd be backwards compatible of course, because existing RR apps just don't use useTransition and Suspense also supports React.lazy

@eddyw Thanks for the clarification. I agree fixing tearing is nothing to do with branching.
And I think it can be solved by reading store state in render and fallback to re-render if it's changed during renders. (BTW, your description of the research in the other thread is very interesting.)

fixed new @dai-shi CM tests. now reduxState is 100% "streamed" from Redux to Components, without reading from the future or jumping queue callbacks!  CM should be fine.

This PR is stale, and it's unlikely we're going to make any CM-specific changes to v7 at this point. Instead, we're more likely to rewrite things into a v8 release that builds on top of useMutableSource somehow.


small images obscured behind splitter handle

Is your feature request related to a problem? Please describe.
When one drops in an image smaller than the horizontal splitter handle, it's not immediately obvious that the drop operation was successful.
Describe the solution you'd like
Vertically offset the image when the image is within some reasonable percentage of the size of the splitter handle.
Does other service/app have this feature?
unknown
Additional context
favicon-sized images and smaller.

assign to me


UX: Adding model service as a top-level UI construct

Need to update mockups to list model endpoints as a top-level construct, Michael's idea was to call them Model Services... this is the WIP mockup.. some stuff I need to figure out:

viewing the apps associated with a service... not sure if this is the best way
needs better icon for copying the endpoint url, boy is the one i used janky!

I think the list is efficient.
but I'm wondering as a developer, now that I know those are the model served (that I can access), where are the end points and if there are APIs what are those. maybe when we know (using localai) we should have a way to show them (maybe not on this screen, but in a detail screen?)

I think the list is efficient.
but I'm wondering as a developer, now that I know those are the model served (that I can access), where are the end points and if there are APIs what are those. maybe when we know (using localai) we should have a way to show them (maybe not on this screen, but in a detail screen?)

The way the endpoints are handled right now in the mockup (not ideal) is the clipboard icon under actions would copy the endpoint url to the clipboard.
For the API, i think i need to see an example of the API docs (if they exist) and what would they belong to (whatever is serving the model I suppose?) I will ask mclifford and see. At the least, the sample code that comes with the recipes should be of some help there?

As follow up - when I asked Michael this is what he said:
Here is the docs for the OpenAI API, is this what you are looking for? https://platform.openai.com/docs/api-reference/chat/create
This is the docs for the llama.cpp python webserver, not as detailed as OpenAI docs:
https://github.com/abetlen/llama-cpp-python/blob/main/docs/server.md


User Registration Frontend

Basic UI for user registration:

User name box
Email box
Password box
CAPTCHA and input box
Registration button

When user clicks registration button, send registration request to the backend

@larrywang0701 the frontend is fully up, you may start working on the design of the pages if you haven't yet

Closing this issue since pull request #33 has already been merged.


Doesn't find egl by default.

Hi,
Thanks for this example :)
I'm running this under gst-uninstalled on raspbian jessie and have the .pc files for EGL and dispmanx,  installed.
After running ./autogen.sh && make  it says it can't find them:
$ make -j4
make  all-recursive
make[1]: Entering directory '/home/pi/dispmanx-gst-play'
Making all in dispmanx
make[2]: Entering directory '/home/pi/dispmanx-gst-play/dispmanx'
  CC       dispmanx-gst-play.o
  CC       dispmanx-window.o
  CC       gst-play-kb.o
In file included from dispmanx-window.c:28:0:
dispmanx-gst-play.h:27:21: fatal error: EGL/egl.h: No such file or directory
 #include <EGL/egl.h>
                     ^
In file included from dispmanx-gst-play.c:34:0:
dispmanx-gst-play.h:27:21: fatal error: EGL/egl.h: No such file or directory
 #include <EGL/egl.h>
                     ^
compilation terminated.
compilation terminated.
Makefile:405: recipe for target 'dispmanx-window.o' failed
make[2]: *** [dispmanx-window.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Makefile:405: recipe for target 'dispmanx-gst-play.o' failed
make[2]: *** [dispmanx-gst-play.o] Error 1
make[2]: Leaving directory '/home/pi/dispmanx-gst-play/dispmanx'
Makefile:400: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/pi/dispmanx-gst-play'
Makefile:331: recipe for target 'all' failed
make: *** [all] Error 2

I can manually give it the location by setting CFLAGS from pkg-config:
CFLAGS=$(pkg-config --cflags --libs egl) ./configure && make -j4

...But it would be great if it could find these without this step.

Fixed with commit feba25ab8bf9c469f5bdd9d91dd0987fe8beef35


Non-critical race condition in minions.c

We should probably mutex protect the switchstates bitmap at some point, just to ensure all reads get the most recent copy of the bitmap. Right now it is fine since Switch Reads are non-critical / we re-read them every 20 ms anyways, but it is good practice to do this.

New minions driver makes this unnecessary.


Use Python version check rather than import error check to import Protocol

Use a softer import mode for protocols
Motivation and Context
The Protocol class is available in typing_extensions until Python3.8, when it becomes part of typing.
Currently, we try to import from typing_extensions and, if there is an error, assume we are in Python3.8 or higher and import from typing. This presents a problem if you are using Python3.8+ and still using typing_extensions for another purpose, then the import from typing_extensions will succeed. This can be a problem if you wish to subclass one of the protocols. This PR enforces always using typing if the Python version is greater than 3.8.
How Has This Been Tested?
Checked protocol still imports.
CI passes

Python 3.8 is our current minimum so we can just drop the conditionals all together.

I think we need to make the dependency on typeing_extensions non-version gated then?

#1572 shows that we can use typing.TypedDict from python 3.11 upwards, but we need typing_extensions.TypedDict for <3.11. I don't mind either way whether we version gate so typing_extensions is not needed on 3.11. @tacaswell which do you prefer?


how to set validation on a column

i want to generate an excel for students where i have a section gender and i want the column to have validation as list = ["male", "female", "other"]
how can i do so

https://github.com/exceljs/exceljs#data-validations

https://github.com/exceljs/exceljs#data-validations
ws.getColumn("A").eachCell({ includeEmpty: true }, function(cell, rowNumber) {
  cell.dataValidation = {
    type: 'list',
    allowBlank: true,
    formulae: ['"male,female,other"']
  };
});

Hi @Siemienik ,
using the above code the validations are only getting added to the column cells which have data during download.
How do we add the validation to the entire column when there is data entered or not?

#1184

@bhavan0 may you confirm is it working properly?
ws.dataValidations.add("X2:X9999",{
    type: 'list',
    allowBlank: true,
    formulae: ['"male,female,other"']
  });

@bhavan0 may you confirm is it working properly?
ws.dataValidations.add("X2:X9999",{
    type: 'list',
    allowBlank: true,
    formulae: ['"male,female,other"']
  });

This works.
Thank You :)

:+1:

Is this still working for someone?
ws.dataValidations is shown as an unresolved variable to me. Calling ws.dataValidations.add(...) leads to TypeError: Cannot set property 'marked' of undefined

Is this still working for someone?
ws.dataValidations is shown as an unresolved variable to me. Calling ws.dataValidations.add(...) leads to TypeError: Cannot set property 'marked' of undefined

Seeing the same error

Is this still working for someone?
ws.dataValidations is shown as an unresolved variable to me. Calling ws.dataValidations.add(...) leads to TypeError: Cannot set property 'marked' of undefined

Same error. Someone solved this?

#1027

@GowthamGottimukkala did you find a solution to the TypeError ?

@adnaanbheda
Downgrading the version to 3.3.1 helped and didn't raise any error for the method told by @Siemienik.
If I'm not wrong, I checked the time taken by this method and it is almost equal to the following one. So I updated my version and currently using the following as a workaround.
let values = ["SerialNo"];
values.push(...Array.from(Array(9999).keys()));
worksheet.getColumn("O").values = values;
worksheet.getColumn("O").hidden = true;

worksheet.getColumn("A").eachCell(function(cell) {
      worksheet.getCell(cell.address).dataValidation = {
        type: 'list',
        allowBlank: true,
        formulae: ['"male,female,other"']
      };
}

Hope this helps

@adnaanbheda
Downgrading the version to 3.3.1 helped and didn't raise any error for the method told by @Siemienik.
If I'm not wrong, I checked the time taken by this method and it is almost equal to the following one. So I updated my version and currently using the following as a workaround.
let values = ["SerialNo"];
values.push(...Array.from(Array(9999).keys()));
worksheet.getColumn("O").values = values;
worksheet.getColumn("O").hidden = true;

worksheet.getColumn("A").eachCell(function(cell) {
      worksheet.getCell(cell.address).dataValidation = {
        type: 'list',
        allowBlank: true,
        formulae: ['"male,female,other"']
      };
}

Hope this helps

Yeah, this is what I ended up doing, still it would've been nice to avoid the for loop in code. Anyways thanks for the update!

This works in version 4.2.0:
sheet.dataValidations.model['X2:X9999'] = {
  allowBlank: true,
  error: 'Please use the drop down to select a valid value',
  errorTitle: 'Invalid Selection',
  formulae: ['"Apples,Bananas,Oranges"'],
  showErrorMessage: true,
  type: 'list',
};

This works in version 4.2.0:
sheet.dataValidations.model['X2:X9999'] = {
  allowBlank: true,
  error: 'Please use the drop down to select a valid value',
  errorTitle: 'Invalid Selection',
  formulae: ['"Apples,Bananas,Oranges"'],
  showErrorMessage: true,
  type: 'list',
};

I don't know why the dataValidations is commented in typings:
https://github.com/exceljs/exceljs/blob/e1de626/index.d.ts#L984
TS will throw an error if this field is used. Please try to use // @ts-ignore as a quick workaround.
Unfortunately, I cannot explore this that I would like, because I don't have enough time for volunteer working as earlier.
If you would like to allow me to spend more time on open source activities or order me some issue being done, write me<EMAIL_ADDRESS>#1500

I don't know why the dataValidations is commented in typings:
https://github.com/exceljs/exceljs/blob/e1de626/index.d.ts#L984
TS will throw an error if this field is used. Please try to use // @ts-ignore as a quick workaround.
Unfortunately, I cannot explore this that I would like, because I don't have enough time for volunteer working as earlier.
If you would like to allow me to spend more time on open source activities or order me some issue being done, write me<EMAIL_ADDRESS>#1500

Hey, Can we pass the Dynamic dataset in formulae:
I am trying to call it but it is throwing an error while opening the excel:
let adb = Company_Code_Data.map((item) => {
var fullname = [item.Company_Code].join(" ");
return fullname;
});

            let Company_Code_list = '\'\"'+adb.toString()+'\"\'';

            console.log(Company_Code_list);

            newSheet.getColumn('Company_Code').eachCell((cell) => {
                cell.protection = {
                    locked: false
                }
                cell.dataValidation = {
                    type: 'list',
                    allowBlank: false,
                    operator: 'equal',
                    formulae: [adb.toString()],
                    showErrorMessage: true,
                    errorStyle: 'error',
                    errorTitle: 'Invalid value',
                    error: 'The value must be C&W, Pro Unlimited, Concur, AWS, Azure, Legal, Other'
                }
                cell.fill = {
                    type: "pattern",
                    pattern: "solid",
                    fgColor: {
                        argb: "FF85c8ff"
                    }
                }
            });

I want to add a dropdown to a column, but the list array is coming from an API. The array has 185 items, I converted them into the format accepted by the library, but it is showing data till a particular limit. If the item length goes beyond a particular limit it does not show any data. Does anyone have a workaround for this issue? Can we increase the limit of the dropdown list?

Another workaround would be to extend the Worksheet interface... put this into a .d.ts file:
import { DataValidation } from "exceljs";

declare module 'exceljs' {
    export interface DataValidations {
        add(range: string, validation: DataValidation): void;
        readonly model: Record<string, DataValidation>;
    }

    export interface Worksheet {
        dataValidations: DataValidations;
    }
}

I would really like to see #1682 pulled in!
I tried the workaround of adding a bunch of empty rows and then setting cell-level validation but it bloats the size of the worksheet (as downloaded). The range-style validation has very little effect upon the resultant file size.

Thanks a lot!!
It worked.


List component

Reworked the table component and made it a list component, this simplifies the complexity of the view hierarchy as well as allowing for a simpler component model.
Before
let elements = [
    TextTableElement(title: "FINN-kode", detail: "123456789"),
    DateTableElement(title: "Sist endret", date: Date()),
]
let table = [TableComponent(components: elements)]

After
let textList = TextListComponent(title: "FINN-kode", detail: "123456789")
let separator = SeparatorComponent()]
let dateList = DateListComponent(title: "Sist endret", date: Date())

I just think it looks a bit weird with the spacing between the separator now, but it's a good idea.

@ulrikus does that mean this is approved?

If this is the way it's going to look I guess I can approve it, but if not I think something should be done to fix it.

I think it can stay that way for now, right now there's too little spacing.

Ok, although that would be a really quick fix the way it used to be.

Something happened while rebasing, I'll just move the files to a fresh branch.


hello，thank for your code

我有个问题就是，您选用的工具如何调整每个工具的Distortion Level Interval

@zmxzsl Thanks for your question. The distortion level interval is pre-defined. If you want to adjust it, you have to re-train the models in the toolbox using the data with your desired distortion levels.

@zmxzsl Thanks for your question. The distortion level interval is pre-defined. If you want to adjust it, you have to re-train the models in the toolbox using the data with your desired distortion levels.

Thanks for your answer.


Adding clientSettings parameters for Dynamic Client Registration(POST /connect/register)

Expected Behavior
I want to change the default settings of requireProofKey and requireAuthorizationConsent fields.
Current Behavior
Currently it's hardcoded. There is no settings field in the converter.
Context
I have dynamic clients that shouldn't need a consent step. I could probably make a workaround by creating a custom converter. In my case, I have a custom RegisteredClientRepository  implementation for DB. I just need to overwrite clientSettings. Anyway, a workaround is possible but I prefer to set clientSettings in the rest body.

@requizm

I could probably make a workaround by creating a custom converter

OidcClientRegistrationAuthenticationProvider.setRegisteredClientConverter() is the intended hook for customizing the RegisteredClient. You can reuse the existing OidcClientRegistrationRegisteredClientConverter and implement a delegation-based strategy to simply override the default clientSettings as follows:
public class CustomOidcClientRegistrationRegisteredClientConverter implements Converter<OidcClientRegistration, RegisteredClient> {
	private final Converter<OidcClientRegistration, RegisteredClient> clientRegistrationRegisteredClientConverter
			= new OidcClientRegistrationRegisteredClientConverter();

	@Override
	public RegisteredClient convert(OidcClientRegistration clientRegistration) {
		RegisteredClient registeredClient = this.clientRegistrationRegisteredClientConverter.convert(clientRegistration);
		ClientSettings clientSettings = ClientSettings.builder().requireAuthorizationConsent(false).build();
		return RegisteredClient.from(registeredClient).clientSettings(clientSettings).build();
	}

}

I prefer to set clientSettings in the rest body

The clientSettings is not defined in the OpenID Connect Dynamic Client Registration 1.0 spec as parameters so we would not add this support since it would not be spec compliant.
I'm going to close this as the intended customization hook is OidcClientRegistrationAuthenticationProvider.setRegisteredClientConverter().


Allow to clone calls

Fixes #2709.
Implementing this was pretty much straightforward, but I don't know if I missed something.

LGTM!


Sync with master

@tranchitella this will need a thorough look through before merging.
But in essence, hosted is pretty out of sync with master atm.
We could do this nuclear approach, or cherry-picking.
I decided on merging now, to try and get them back in sync, but I haven't looked too closely over the actual content yet.
Let me know what you think

Hosted mender team's responsibility. Closing


Go overrides do not respect column nullability

Version
1.12.0
What happened?
When you override a column type, the type is not converted to a pointer if the column is nullable.
In the example below, ideally TeamID becomes *TeamStruct when nullable similar to how UserID switches from string to sql.NullString:
type GetUserFromTeamRow struct {
	ID     string
	UserID string
	TeamID TeamStruct
}

type GetUserRow struct {
	ID     string
	UserID sql.NullString
	TeamID TeamStruct
}

Relevant log output
No response
Database schema
CREATE TABLE users (
    id VARCHAR(100) PRIMARY KEY
);

CREATE TABLE users_teams (
    user_id VARCHAR(100) NOT NULL,
    team_id VARCHAR(100) NOT NULL
);

SQL queries
-- name: GetUserFromTeam :one
SELECT *
FROM users
JOIN users_teams ON users_teams.user_id = users.id
WHERE id = $1 and team_id = $2 LIMIT 1;

-- name: GetUser :one
SELECT *
FROM users
LEFT JOIN users_teams ON users_teams.user_id = users.id
WHERE id = $1 LIMIT 1;

Configuration
{
  "version": "1",
  "packages": [
    {
      "path": "db",
      "engine": "postgresql",
      "schema": "query.sql",
      "queries": "query.sql",
      "overrides": [
        {
          "column": "users_teams.team_id",
          "go_type": {
            "type": "TeamStruct"
          }
        }
      ]
    }
  ]
}

Playground URL
https://play.sqlc.dev/p/2f62f84b567c1ac4fd5d68b2d2fb9d302f7f4aa594aec4dcf007734d0275d39c
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go

@colinking You'll need to add another override entry and set nullable to true. Here's how to do it: https://play.sqlc.dev/p/5f6dd4ea2ce7f201cfa9d374dd74c44dd7a35dd109dba1d1813a22b5f7b9daa9

@kyleconroy does nullable work with column overrides? From the docs and code, it looks to me like it only works with db_type overrides. In your example, TeamID has type TeamStruct in both queries (even after adding pointer: true to the second override).


Added several bills

Added:
-stop militarizing law enforcement act
-USA Freedom Act / End Bulk Collection Act
-Keystone XL Act

Fixed the requested issues, added two more bills.

This is kind of a bummer, but I ran into a few format errors with the csv running it through csvlint. There were some issues where the bill descriptions contained commas.
Was able to get it mostly validating with some modifications modifications here.

Oh my!  Sorry about that; I thought I caught them, but I can go back in
and check.  I'll investigate with csvlint and send another pull request.
sorry about that!
(also, you should mention csvlint in the README -- it's good to know
about!)
nathan
On Fri, Jan 30, 2015, at 03:58 PM, Sam wrote:

This is kind of a bummer, but I ran into a few format errors with the csv
running it through csvlint. There were some issues
where the bill descriptions contained commas.
Was able to get it mostly
validating with
some modifications modifications
here.

Reply to this email directly or view it on GitHub:
https://github.com/unitedstates/bill-nicknames/pull/12#issuecomment-72269195

should be all fixed!
thanks for your patience!
nathan
On Fri, Jan 30, 2015, at 04:30 PM, nathan.lachenmyer wrote:

Oh my!  Sorry about that; I thought I caught them, but I can go back in
and check.  I'll investigate with csvlint and send another pull request.
sorry about that!
(also, you should mention csvlint in the README -- it's good to know
about!)
nathan
On Fri, Jan 30, 2015, at 03:58 PM, Sam wrote:

This is kind of a bummer, but I ran into a few format errors with the csv
running it through csvlint. There were some issues
where the bill descriptions contained commas.
Was able to get it mostly
validating with
some modifications modifications
here.

Reply to this email directly or view it on GitHub:
https://github.com/unitedstates/bill-nicknames/pull/12#issuecomment-72269195

Adding csvlint to the Travis build process for the repo seems like a good idea. I'll prepare a PR.


Style Guide Enforcement

We need some automated system for enforcing the style guide for both the Python code and C++ code.

There is a pylint configuration file in the holodeck repo. While it isn't automated yet, we're close

We've decided to use black going forward

#440 handles this on the client.

#440 handles this on the client.


"Option" as alternative for Properties dialog

I wish ContentTools has an alternative like "Select/Option" , Not just switch on/off
Think if you have many styles :D

Thanks

Hi @l2aelba thanks for this you've highlighted something I haven't come across myself previously.
So for scenarios where you have a significant number of styles I agree possibly a compact input option/component would be useful and I'm open for suggestions here, select/options suffer the same problem as the scrollable on/off options above in that if you have a lot of them you'll need to scroll, there also unintuitive (IMHO) when selecting multiple options (which is required to set multiple CSS classes).
In general with styles I try not to build a palette of styles in the way you've highlighted in your example, I instead try to keep styles to just the classes a user of the editor will apply and give them names that are where possible semantically relevant, such as Quote, Byline, Note, etc. I realize everyone has there own way of doing these things but for the most part I general find few styles which a user may require in the editor are globally applicable to *all pages and all elements *of a site and that good organizations of those styles will often helps keep the list of styles short making it easier for the user and keeping the site look'n'feel consistent. Move advanced users (such as developers) of course can always manually set styles against an element via the attributes tab. But that just my 2 cents I'm interested to hear how others are using the system.


navbar

functioning navbar but content still empty - also I couldn't enter login so I commented it out sa on App.jsx

functioning navbar but content still empty - also I couldn't enter login so I commented it out sa on App.jsx

Aight, tell me when you're available so I can teach you how to run the backend alongside the frontend


fix: onSelect should not be called when the List selected property is updated

Overview
Fixed a bug where the onSelect property for the List component (and components that inherit from List such as SortableList) is called when the selected attribute changes.
The parent component of List triggers the change of the selected property so it does not need to be aware of the selection change.
Only when a checkbox, switch or radio button in the List is selected / unselected should the onSelect callback be triggered.

 Avoid List component in React Gears to trigger onSelect callback when the selected property has changed

Thank you Jeremy for your review.
I have updated useMap.ts and the test file useMap.spec.ts to return the reference to the new map and not the old one.

Thank you Jeremy!
I updated the commit message to fix!: as you said.


Issue #189 Setup uses now private network static ip configuration (if…

… available) to determine routeable host ip
In the case of a private network with static IP, it is possible to extract the routable host IP from Vagrant's network config. Only if there is no static network config or the configuration is not complete (eg multiple private networks where none is explicitly selected via config.landrush.host_ip_address we move on and rely on the read_host_visible_ip_address capability. Currently this is still just based on uname,but will be hopefully shortly extended by @Werelds IP selection approach - see pull request #122

@bexelbie WDYT?

If I am understanding #122, it will return this information.  Why have a separate detection routine just for this one specific scenario?

Why have a separate detection routine just for this one specific scenario?

Because for the case where the private network is defined statically, there is no need to go via the guest capabilities. This route seems safer to me. Once DHCP comes into play you need to contact the guest.
Also if the user defines multiple private network you might get into trouble with the NIC detection approach. Much easier to stick to the existing config and an already existing config option.


db2: some on delete/on update option cannot be saved when trying to create FK

System information:

Operating system (distribution) and version win 10 x64
DBeaver version 6.2.1

Connection specification:

Database name and version db2/zOS

Describe the problem you're observing:
When trying to create FK and set 'Set Default' option for On Delete FK couldn't be created.
Also FK couldn't be created when 'Cascade' OR 'Set NULL' or 'Set default' option is chosen for 'On update'

You must use LUW driver


Math formulas

Are there trained data for Math formulas?

Please respect guidelines for posting issue - use tesseract user forum for asking questions.


socket accept returns a bytearray rather than a tuple

When I do:
        conn, addr = s.accept()
        print('Connection from:', addr)
        print('type of conn', type(conn))
        print('type of addr', type(addr))

under CPython, I get back the following:
Connection from: ('<IP_ADDRESS>', 57423)
type of conn <class 'socket.socket'>
type of addr <class 'tuple'>

When I do the same thing under MicroPython, I get back:
Connection from: bytearray(b'\x02\x00\xe0Y\x7f\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00')
type of conn <class 'socket'>
type of addr <class 'bytearray'>

I can see the values (57423 = 0xE04F, which is the \xe0Y, and \x7f\x00\x00\x01 is the <IP_ADDRESS>).
So my question is, is this worth fixing?
I can check for bytearray being returned and extract the values myself if need be. I just figured I'd ask first.

Looks like I opened this issue on the wrong repo - closing


Configuring tests with more node memory

Hi,
Whilst running tests I get out of heap memory errors. These can be averted by replacing ng test on the command line with

To replicate in the Karma test explorer I have tried setting the below. When changing this setting the tests fail to run with an error
Failed to load tests - Karma server failed to start: spawn node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng test ENOENT
I presume that this is a file path error of some description. Is there any guidance as to how (where from( the path should be constructed and how to do this.
"karmaTestExplorer.angularProcessCommand": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng test"

Thanks

The karmaTestExplorer.angularProcessCommand setting is what you need, but should only be given a single command or script file. It will not work if set to a command + argument combination.
So in this case you should create a small script file which launches node with all the relevant arguments you need, and then set angularProcessCommand to the path of that script file. The extension will replace the node in the regular test launch command with your script (ie, as if it were the node command), and pass it all the other arguments that it would otherwise pass to node for the test.
So the script needs to be able to accept arguments and call node with those arguments while also adding the additional memory arguments that you need.
Usually, this can be a simple #!/bin/bash or #!/usr/bin/env node or other type of script.

Feel free to reopen if still an issue.


Patch a Bitswap leak

We currently don't properly clean up after a connection to a Bitswap peer is closed, which leads to leaking Ledgers; funnily enough, it seems that just uncommenting a pre-existing line solves the issue. In addition, add a relevant test.

bors r+

rebased; bors r+

bors retry


feat(modal): add dialog scrollable class

Description
Added d-modal__dialog--scrollable class to make the modal main content scrollable but the header and footer fixed.
In the modal documentation, added the "fixed header and footer" example
cc @francisrupert for visual review.
Pull Request Checklist

[x] Ask the contributors if a similar effort is already in process or has been solved.
[x] Review the contribution guidelines.
[x] Use staging as your pull request's base branch. (All PRs using production as its base branch will be declined).
[x] Ensure all gulp scripts successfully compile.
[x] Update, remove, or extend all affected documentation.
[x] Ensure no private Dialpad links or info are in the code or pull request description (Dialtone is a public repo!).
[x] Request a review from Brad Paugh, David Becher, or Drew Chandler.

Obligatory GIF (super important!)
💡 Guess the movie

💡 Guess the movie

Interstellar?

In the modal documentation, added the "fixed header and footer" example

hmm the example here doesn't seem to scroll. Does it need max height set?

Interstellar?

Bingo! 🙌

hmm the example here doesn't seem to scroll. Does it need max height set?

maybe the text isn't overflowing on your screen? Can you try resizing the window?

maybe the text isn't overflowing on your screen? Can you try resizing the window?

It does eventually, but I have to make it really really small. We should probably just set a fixed width so it always scrolls

It does eventually, but I have to make it really really small. We should probably just set a fixed width so it always scrolls

Yeah, or the alternative is give more content to the modal, like I did in the Vue implementation so it's more obvious the scroll

maybe the text isn't overflowing on your screen? Can you try resizing the window?

It does eventually, but I have to make it really really small. We should probably just set a fixed height so it always scrolls

added more content to that example so you can get the scroll in a standard screen without need to resize the window https://github.com/dialpad/dialtone/pull/593/commits/4ddb0cd0c87f5a8e9faf0ee3f60fad5ce4e2ee11

added more content to that example so you can get the scroll in a standard screen without need to resize the window

lol still not enough on 2560 x 1440

added more content to that example so you can get the scroll in a standard screen without need to resize the window

lol still not enough on 2560 x 1440

lol ok, set a max height on that example https://github.com/dialpad/dialtone/pull/593/commits/45526b4f4c7dc0935d2cc3f8df0367897a6676a8


NTR: Cesarean delivery

Term Label [required]
Cesarean delivery
Synonyms [optional]
Cesarean section
C-section
Cesarean birth
Definition [required except for organism name]
Whether the baby was delivered surgically through a cut (incision) made in the mother's abdomen and uterus
Suggested Parent Term [required]
Labor and delivery
Examples [optional]
Contributor [optional]
If you would like to be a contributor of the term or anyone you think that contributes to the term, such as label, definition, please provide the name and ORCID ID.
Requester [optional]
microbiomeDB

Propose to use OBO existing term, caesarean section
Defintion: A surgery where incisions are made through a woman's abdomen and uterus to deliver her baby.
Logical axiom: human parturition procedure and (realizes some concretizes some caesarean section plan)

yes that is fine, thanks @zhengj2007

Import caesarean section

Adding as subclass of 'planned process'.


Set up auto

Closes #26.
This PR also needs to be accompanied by the following changes:

[x] Create the necessary labels for auto by running GH_TOKEN=... auto create-labels in a copy of this repository containing .autorc
[x] A GitHub release must be created for the most recent version of tinuous
[x] An auth token for uploading assets for the tinuous project to PyPI must be saved as a secret named "PYPI_TOKEN"

Looks good to my non auto expert eye ;-) thanks!


[WIP] Constraint solver prune overloads

@swift-ci please test source compatibility

@swift-ci please smoke test compiler performance

Compilation-performance test failed

Can one of the admins verify this patch?

Please update the base branch to main by Oct 5th otherwise the pull request will be closed automatically.

How to change the base branch: (Link)
More detail about the branch update: (Link)


SQL Lab AceEditorWrapper bug

I found a bug in SqlLab,when I click the "Overwrite text in editor with a query on this table" icon of any record in query history table , the text of editor never changed.
when I overwrite AceEditorWrapper.componentWillReceiveProps and textChange as follow, the problem solved

[x] I have checked the caravel logs for python stacktraces and included it here as text if any
[x] I have reproduced the issue with at least the latest released version of caravel
[x] I have checked the issue tracker for the same issue and I haven't found one similar

Caravel version
latest development

Notice: this issue has been closed because it has been inactive for 528 days. Feel free to comment and request for this issue to be reopened.


Update README.md

Link to 2.8 release. But should we keep the one to version 2.7?

Update the download text showing only 2.8 ... but just point to the /releases page.  not directly to the tag for 2.8

Thanks all to catch this. will remember to update readme.md next time.

This PR is outdated.


Fix package build and refactor tsconfig to be less complex and breakable

Fixes

Fixes #2965  by @dhruvkb
Fixes #2907 by @sarayourfriend (cc @obulat who will be happy about this)
Description

When upgrading the ESLint package, we missed that there was a breakage. This breakage was caused by a pretty significant breaking change in the package we missed (me in implementation and others in review): https://github.com/typescript-eslint/typescript-eslint/issues/7284
To fix the issue, we needed to change the module resolution strategy used by TypeScript. However, because Nuxt has very specific TypeScript requirements, making that change in the monolith configuration we implemented previously was impossible. Nuxt needs specific requirements that now clashed with the specific requirements of another project. vue-tsc doesn't support composite projects that would simplify this. This is a frustrating mess.
To fix it, I decided it would be easiest to isolate Nuxt's TypeScript configuration from everything else. Therefore, I extracted everything that can be shared (basically, TypeScript's "linting" style checks, unused variables, etc) into tsconfig.base.json and then created individual tsconfig.jsons in the eslint-plugin package and the frontend directory. Now both of them have their own, fully isolated TypeScript configurations. This essentially prevented the need to make any changes to the frontend to accommodate another package that relied on similarly opinionated dependencies.
And that's essentially what is at the core of this. We have multiple opinionated dependencies that cannot accommodate each other. As is so often the case, the easiest thing was to just separate the two and never have them speak again :slightly_smiling_face: .
In addition to that, the changes in the TypeScript ESLint dependency also broke jest's built-in TypeScript compatibility. The ESLint package's maintainers suggested using swc as a drop-in replacement and indeed, it's very fast and required nothing more than installing two new packages and adding a single-line Jest configuration to the eslint-plugin package. Here again is something other packages may need to depend on.
To summarise the changes in this PR:

Split the monolithic TypeScript configuration to a per-project approach. Now each package has its own types script in package.json that pre-commit will run recursively (mirroring how unit tests are handled).
Update eslintrc.js to reference the correct TypeScript configuration for each project so that path resolution for the import ruleset works using the TypeScript config.
Replace jest's built-in TypeScript configuration with swc for the eslint-plugin package to work around the @typescript-eslint suite of packages' opinionated approach to module resolution and jest's lack of support for that.
Upgrade the @typescript-eslint packages in the eslint-plugin as well and fix type errors introduced by the upgraded packages. This is another good indication that we should consider moving our entire eslint configuration into the plugin, so we don't have multiple places to upgrade eslint related dependencies.
Remove declaration: true from all our TypeScript configurations. This gets rid of all the "this probably isn't portable" errors everywhere we saw them before and therefore fixes #2907.

Testing Instructions

Checkout the branch and run pnpm install to get all the updated and new dependencies. Run pnpm run -r types and pnpm run -r test:unit and confirm everything passes. Make changes that would break TypeScript (add export const s: number = 'asdf' in frontend or packages and confirm pnpm run -r types raises the type error). CI should also confirm this. Run just p frontend dev and confirm the dev build works. Run just p frontend prod and confirm that works as well. Run just frontend/build-img && just frontend/run-img and confirm that works as well. CI will not test that the image actually works, just the build, as far as I understand it, so this must be tested locally. Staging would break immediately if it didn't work anyway.. Rely on CI to confirm that the Playwright tests run, but do confirm they run and that the container didn't incorrectly exit early with a false 0 code.
Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[N/A] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Happy side-effect of this: TypeScript in the Nuxt project has never worked better for me than now. Even go-to-definition works perfectly with Vue components. It's never worked for me before.

This is super frustrating. I fixed the tests in packages, but upgrading jest breaks the tests in the frontend because the transforms no longer work for dependencies. These opinionated dependencies are :face_exhaling:

It turns out that the frontend needs Jest 26. On the other hand, the @typescript-eslint packages, need Jest 29 (to get updates to jest-resolve that accommodate the way they organise their packages).
That means we need to pin very specific versions of Jest dependencies in the packages. Or maybe in the frontend, which seems better, so that we're only worried about keeping the frontend at 26, rather than forcing anything else to go higher. It's an unfortunate and exhausting mess.

Thanks for the review, Olga. I'll make those changes now.


Radio has class for selected but checkbox does not?

I'm making use of the radio-selected class to do some styling and I'd like to do the same thing for checkboxes however I noticed that no class is set on the component div (in the checkbox case, the div with class formio-component-checkbox) when the checkbox is checked. Would a PR to have such a class be accepted? If so, I'd suggest checkbox-checked to be roughly the same scheme as radio-selected but asking now as figured that would be one questionable choice in the PR.

I realize this is a https://github.com/formio/formio.js thing not react-formio. I'll close this and open over there.

I opened a PR for this https://github.com/formio/formio.js/pull/1136


Fix grad assignment and grad property read

Double assignment seems to do something different than expected in Python
Changing it to two statements fixes it.
This also reveals that the grad property is accessed at the wrong value.

The issue is with map being a generator/iterator that you can use only once
>>> m = map(lambda x:x*10, [1,2,3])
>>> a,b,c = m
>>> test = m
>>> a, b, c
(10, 20, 30)
>>> test
<map object at 0x1046689a0>
>>> list(test)
[]

you can solve this by adding tuple in front of map
>>> test = a,b,c = tuple(map(str, [1,2,3]))
>>> test
('1', '2', '3')
>>> a, b, c
('1', '2', '3')

But it is good catch, the double assignment is indeed quite problematic, as it doesn't work for some getitem implementations.
you can simplify the code a bit by saving to grads first, like so
ptgrads = w12,w22,b12,b22,xt2 = map(mkgrad, chks)

becomes:
ptgrads = tuple(map(mkgrad, chks))
w12,w22,b12,b22,xt2 = ptgrads

Many thanks! I'll update it to the tuple version.


Add "avg_delay_specified_vehicles" to rewards.py

Pull request information

Status: ready to merge
Kind of changes: new feature

Description
This function calculates the average delay of vehicles that are passed in as a list. I discussed with @cathywu  and she said maybe I can make a PR about this :)

? (general description)

Does anyone know why I have so many commits in this PR?
I literally just created a new branch now, made one commit, but, for some reason, I have like 20 commits in this PR. Why is this?

It is a bit strange. I'd suggest just squashing those extra commits.

Pull Request Test Coverage Report for Build 4018

1 of 12 (8.33%)  changed or added relevant lines in 1 file are covered.
55 unchanged lines in 13 files lost coverage.
Overall coverage increased (+1.3%) to 91.889%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

flow/core/rewards.py
1
12
8.33%

Files with Coverage Reduction
New Missed Lines
%

examples/rllib/multiagent_exps/multiagent_traffic_light_grid.py
1
98.48%

flow/envs/bottleneck_env.py
1
61.88%

tests/fast_tests/test_environments.py
1
99.68%

examples/rllib/multiagent_exps/multiagent_figure_eight.py
1
98.39%

flow/scenarios/grid.py
1
99.48%

examples/sumo/bay_bridge_toll.py
1
97.3%

flow/renderer/pyglet_renderer.py
2
95.61%

tests/fast_tests/test_util.py
3
96.08%

tests/setup_scripts.py
3
97.76%

flow/scenarios/bottleneck.py
5
88.64%

Totals

Change from base Build 3952:
1.3%

Covered Lines:
8655

Relevant Lines:
9419

💛  - Coveralls


Modal: Prevent showing zoom out icon if closeOnOutsideClick is false

This fix the problem of showing the zoom out icon even when closeOnOutsideClick is set to false.
That behavior might confuse user thinking that if they click outside the modal this will be closed.
Test Plan
Tested locally

Thanks @AlbertCarreras and @christianvuerings for those improvements!!


Providing different instances of the same type in the same module

I need to do something like this where I need two different instances of the same type
@provider
def get_instance1() -> Foo:
  return Foo(1)

@provider
def get_instance2() -> Foo:
  return Foo(2)

@provider
def get_bar(f1:Foo, f2:Foo) -> Bar:
  return Bar(f1, f2)

But obviously that has some issues.  I suppose I could do something like this:
@provider
def get_foo() -> Foo:
  return Foo()

@provider
def get_bar(f1:Foo, f2:Foo) -> Bar:
  f1.prop = 1
  f2.prop = 2
  return Bar(f1, f2)

This should work because get_foo is not a singleton, but it's not always easy or possible with some of my classes in their current way they are written.

Creating new types with  NewType can be used to achieve this. There's an example in this issue: https://github.com/python-injector/injector/issues/148


Fix for RetryableFeignBlockingLoadBalancerClient closes stream

and and losts response content
Code copied from Ribbon Client
Fix for https://github.com/spring-cloud/spring-cloud-openfeign/issues/568

Fixes gh-568.


Add the PRP Article

https://path-cc.io/web-preview/preview-new-gil-entry

Got gtg from Igor through email.


typescript(vx-demo): rewrite LinkTypes example in TypeScript

:memo: Documentation
This PR is part of #579 to re-write the vx-demo site in TypeScript. It re-writes the LinkTypes example in TypeScript.
Before/After

Testing

[x] functional
[x] CI

cc @hshoff @kristw @schillerk

noting that we have to resolve handlebars to 4.5.3 because of a breaking patch change they released (again, we have no lock file so are subject to these things 😢 )
for reference we depend on this via _project_#@airbnb#config-jest#jest#jest-cli#@jest#core#@jest#reporters#istanbul-reports#handlebars
gonna merge to use the fix in other PRs


man: support multi-line paragraphs in comment-based docs

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[n/a] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Allow commands using comment-based docs to split single paragraphs across multiple lines.
Also improved brew shellenv for zsh users.

Thanks again @EricFromCanada!


View metadata: SQ data types

Closing this as a copy of this issue was recently created for Milestone 0.1 #81