DRAFT: PERL-789 OP_MSG support

First pass of adding support for OP_MSG

Coverage increased (+0.06%) to 74.717% when pulling 1e004f3c70f5780b6035e85a24487d2284ab4d25 on shadow-dot-cat:TBSliver/PERL-789 into c10809cf629e5e1143dd0a4cc390905d1a06299e on mongodb:master.

Have removed codec and implemented a decoding sub int he test which used it. Odd thing has happened though, locally when I run tests against a  replicaset >= 3.6, t/readpref.t fails with
...
    not ok 1 - count_documents on polygon:48768 (RSSecondary) succeeds
    #   Failed test 'count_documents on polygon:48768 (RSSecondary) succeeds'
    #   at t/readpref.t line 168.
    #          got: 'MongoDB::DatabaseError: not master and slaveOk=false'
    #     expected: undef
...

But no other test fails - and this test passed before. Not quite sure whats going on there, or is this something that would require a rebase first?

I'll rebase and test it.

Merged as 3f4e395e with a fixup in fdb215bf


Tree Optimiser not working for identical constraints

Bug Report
Steps to Reproduce:
Run the profiles in the zip file below:
PruningConstraintIssue.zip
Expected Result:
The Decision true to prune identical constraints so the 2 profiles should produce rows at the same speed.
Actual Result:
Profile 2 is slower than Profile 1. With profile 1 averaging ~15000 rows  and profile 2 averaging ~500 rows a second.

I briefly looked into this issue. The change should probably be made in generator\decisiontree\MostProlificConstraintOptimiser.java in the method optimiseDecisions.  At this point it should remove any duplicate decisions in the constraintNode that is passed in. However, as the equal to operator for a DecisionNode does not use a deep equals I was unable to work out the best approach going forward.


Team 6 map testing

Description
Fixed a bug where item can spawn twice in a room, then added tests for GameArea, GameController, and MainRoom
Fixes / Closes # (issue)
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] Adding tests for MainRoom
[x] Adding test for GameAreaTest
[x] Adding for GameController
[x] further test coverage in LevelMap test
[x] further test coverage in MainGameLevel

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

pls resolve merge conflicts


Any way to self-host egress and use livekit community cloud server?

We want to use live kit community server having LIVEKIT_URL as something like wss://*.livekit.cloud with our self-hosted egress..
Current egress limitation (2 concurrent connection) is too low, but we cannot afford scale plan or self-host (due to geo-replication and multi-region deployment needs)..
Is there any way to standalone host egress (this repo) and work it without this limitation of 2 concurrent connection? Maybe directly instructing server to start recording a room

@hari01584 there are no concurrent Egress limitations when you are on the Ship plan. If you are on that plan, feel free to request limit increases in Settings.
I can see that our docs aren't very clear on this topic, we'll get that updated.


Service state

#34 implementation

WRT ensure that we don't write "something" (or inactive, suspended, etc) as a state to the database
That was in the radar, but I checked the Application use and did not have any check. For simplicity I left it in the same way.
I will implement some valid state constraints, but specification is needed.
Something like this?
state | valid token
---------------------------
active | active (:active)
disabled | suspended (:suspended)

Otherwise, API returns 400 Bad Request

just any string that you consider synonymous to inactive should be ok to hit the database, and if the state does not exist then default to active as it is now

ready for review

fix-up commits included, do not merge before squashing them

More friendly api implemented.
Anything not being active will be considered inactive state. No error will be generated on invalid states.
Anything can be read from DB as well as from request on state attr, if active token is found, service will be active, otherwise inactive.

bors r+


chore(main): release 3.1.4

:robot: I have created a release beep boop
3.1.4 (2024-07-10)
🐛 Bug Fixes

copy graphql-server.d.ts to dist (#108) (2ea66ca)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v3.1.4
:sunflower:


Add a warning message about the real access to the created app

Deployment is broken probably due to the change in config vars. Can you revert them and make it on another PR?


Server sent events seem to be capped at 6 connections

I'm not sure if this belongs here or in Hypercorn.
If I create 6 SSE connections to the server, it seems to stall, and no more can be created, and it seems no requests or any kind get through. They only get through when the SSEs time out.
(Maybe relatedly, I noticed that Hypercorn doesn't want to be killed via CTRL-C when there are active SSEs.)
To reproduce, put the following code into a file called sse_test.py and run it.
from quart import Quart, make_response
from asyncio import sleep

app = Quart(__name__)
@app.get("/")
async def index():
    return """
<script>
for (let i = 1000; i < 1010; i++){
  let sse = new EventSource("/stream/" + i);
  sse.addEventListener('sse_test', (e) => {console.log(e.data)});
}
</script>
"""

async def send_events(channel):
    i = 0
    while True:
        ret = f"{channel}:{i}"
        yield f'data: {ret}\nevent: sse_test\r\n\r\n'.encode()
        print(ret)
        i += 1
        await sleep(1)

@app.get("/stream/<string:channel>")
async def stream(channel):
    response = await make_response(
        send_events(channel),
        {
            'Content-Type': 'text/event-stream',
            'Cache-Control': 'no-cache',
            'Transfer-Encoding': 'chunked',
        },
    )
    response.timeout = 5
    return response

Run it via hypercorn sse_test.py:app.
The js tries to start 10 SSE connections (1000-1009), but only 6 are ever printed out by hypercorn and to the console.
1000:0
1001:0
1002:0
1003:0
1004:0
1005:0
1000:1
1001:1
1002:1
1003:1
1004:1
1005:1
1000:2
1001:2
1002:2
1003:2
1004:2
1005:2
1000:3
1001:3
1002:3
1003:3
1004:3
1005:3
1000:4
1001:4
1002:4
1003:4
1004:4
1005:4
1006:0
1007:0
1008:0
1009:0
1006:1
1007:1
1008:1
1009:1
1006:2
1007:2
1008:2
1009:2
1006:3
1007:3
1008:3
1009:3
1006:4
1007:4
1008:4
1009:4
1000:0
1001:0
1002:0
1003:0
1004:0
1005:0
1000:1
1001:1
1002:1
1003:1
1004:1
1005:1
1000:2
1001:2
1002:2
1003:2
1004:2
1005:2
1000:3
1001:3
1002:3
1003:3
1004:3
1005:3

I'm not sure if the cap is intended, but as far as I can tell the limitation is not documented, and not configurable. Interestingly, it also doesn't change by adding more workers, it's still 6.
Environment:

Python version: Python 3.12.1
Quart version: 0.19.4
Hypercorn version: 0.15.0

Never mind, I just found out that it's a browser limitation: https://stackoverflow.com/questions/5195452/websockets-vs-server-sent-events-eventsource?rq=2


Implement device daisy-chain

For proper interrupts from the PIO and CTC, some sort of daisy chain management should be implemented which takes care of interrupt priorities etc...

fixed


Add: VMware Horizon Client

Unfortunately this hardcodes a specific version (the newest version at time of PR).  I could not find a generic URL to the newest version.
We are going to install the sudo-bash-curl script on our laptops and then keep this repo up to date to update Horizon Client.

Thanks for this!


Feature Request: Move Routine Labels From KLWP Globals to Tasker.

Move Routine Labels From KLWP Globals to Tasker.

Added to v1.0.1


Admin Router: Service endpoint tests

High-Level Description
This PR:

provides various improvements to test-harness required and/or motived by addition of /service endpoint tests:

simplify response control for Mesos and Marathon mocks
add support for testing if a header is not present in the response
simplify cache tests by using enabled-by-default nginx-alwaysthere app mock
make _assert_filter_regexp_for_invalid_app private - no need to expose it
add MesosDNS mock endpoint
DRYing up the code of the common master tests

/service endpoint tests
introduce isort tool and enforce import ordering in the test-harness source
small bugfixes stemming from introduction of tests:

non-200 response from MesosDNS should be properly handled
use internal mesos_dns location block for SRV records resolution:

do not pass request headers to the backend
introduce request timeout while talking to MesosDNS

Related Issues

DCOS-14587 Admin Router: Tests for /service/ endpoint
DCOS-14998 Admin Router: Generalize endpoint tests in AR

Dependencies
EE PR: https://github.com/mesosphere/dcos-enterprise/pull/796/files

@mesosphere-mergebot label Work In Progress

@mesosphere-mergebot label Ready for review

@mhrabovcin ready for another pass!

@mhrabovcin Done! Ready for another pass.

❓  isort is entirely separate from the requirements of this PR and as such it should be separated. Optional at this point because:

We have discussed clumping things together to work around some difficulties getting PRs merged
@mhrabovcin has already given his approval

I would like this because really we might want to revert one without the other.

Relatedly, ideally we would move to a system where we can merge PRs which are much smaller than this. Studies such as Code Review at Cisco Systems find correlation between small PRs and higher numbers of bugs found. Many guidelines suggest PR sizes of ~200 LOC changes in the normal case. A 1400 line change with multiple separable (as per the PR description) changes would be more pleasant to review as multiple PRs.

Please fix build errors or comment which build errors you believe to be erroneous.

isort is entirely separate from the requirements of this PR and as such, it should be separated.

In theory yes - we should aim for smallest PRs possible, in practice - I am trying to strike the balance between keeping PRs small and not having to go through our merge process too often. I hope you will understand :)

Please fix build errors or comment which build errors you believe to be erroneous.

Yes, as soon as I get two thumbs up for this PR. Every time I make a PR test statuses are reset and the tests themselves are flakey.

@adamtheturtle Ready for another pass.

Thank you @vespian
I have just had a discussion with @vespian about this change.
My main concerns were:

This is hard to assess as a change in a reasonable time because it encompasses multiple changes
Some things could be clearer

We discussed each, more granular issue and concluded that as @mhrabovcin  is happy with the functionality here, and @vespian  is responsible for this code, this gets my thumbs up for shipping (modulo a few comments and tests passing) even though I cannot vouch for it being a fully suitable change.
Personally, I would have liked this to be N > 3 Pull Requests. However, @vespian has explained that this code and dependant code is required quickly for an upcoming release and that splitting this PR up would take more time than the time available.

Thanks @mhrabovcin and @adamtheturtle for your time and feedback. Now, let's :tractor: it!

@mesosphere-mergebot label Ship it

If we decide to maintain cleaner history, then

All changes in test-harness/  - could land in single commit
Changes to docker/ in another
Changes to extra/src/master in another.

Or we can say that all these changes are related " Admin Router: Service endpoint tests " - Squash them all and land it.
Instead we have multiple commits and some of them will create distracting historical information, once this lands in master.

Merged in #1534


add better info about backlight and MIPI DCS/DSI

Clarifies naming of the crate as well as backlight manual control requirement.
See #56 for reasons behind clarifications.

@tingox @rfuest do you think this works or should I add more info in the docs somewhere as well?

Two things tripped me up:

the display I was using doesn't show anything unless the backlight is on
the older crate (st7789) automatically controlled the backlight pin
neither is something that can be blamed on this crate.
But perhaps a troubleshooting hint might be helpful?
Something like: "if you can't see anything on your display, try turning on / activating the backlight"

I would move the backlight note into a new "Troubleshooting" section, which would make it stand out more than being part of the notes list.
Another useful addition to the README would be a link to the API docs, which I've missed before. Perhaps in the form of some badges to docs.rs and crates.io.

I would move the backlight note into a new "Troubleshooting" section, which would make it stand out more than being part of the notes list.
Another useful addition to the README would be a link to the API docs, which I've missed before. Perhaps in the form of some badges to docs.rs and crates.io.

Good calls, added badges and troubleshooting section.

Do you also want to update lib.rs in this PR or open another one? IMO the docs should also contain a link to the troubleshooting doc.

Do you also want to update lib.rs in this PR or open another one? IMO the docs should also contain a link to the troubleshooting doc.

should be done now, the troubleshooting link from docs.rs will only work once merged of course


ipv4/ipv6 dual-stack causes calico-node to crash (v3.23)

I have a 1-node cluster instantiated with kubeadm to support dual-stack, and after installing calico cni with corresponding configurations for dual-stack, the calico-node pod is stuck in a crash loop.
Expected Behavior

I expect calico to properly detect ipv6 interface/address.
Current Behavior

calico-node is constantly stuck in a crash loop.
Possible Solution

Steps to Reproduce (for bugs)

On a ubuntu 20.04 VM, I install a 1-node k8s cluster using kubeadm: kubeadm init --pod-network-cidr=<IP_ADDRESS>/16,2001:db8:42:0::/56 --service-cidr=<IP_ADDRESS>/16,2001:db8:42:1::/112
After untainted the node, I was able to follow the instruction to install calico CRDs. Then I downloaded a calico install CR from https://projectcalico.docs.tigera.io/manifests/custom-resources.yaml, and made the following changes:

apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
  name: default
spec:
  # Configures Calico networking.
  calicoNetwork:
    nodeAddressAutodetectionV4:
      interface: ens3.*
    nodeAddressAutodetectionV6:
      interface: ens3.*
    # Note: The ipPools section cannot be modified post-install.
    ipPools:
    - blockSize: 26
      cidr: <IP_ADDRESS>/16
      encapsulation: VXLANCrossSubnet
      natOutgoing: Enabled
      nodeSelector: all()
    - blockSize: 122
      cidr: 2001:db8:42:0::/56
      encapsulation: None
      natOutgoing: Enabled
      nodeSelector: all()

kubectl apply -f
kubectl -n calico-system logs calico-node-lnd6d, and it shows

Defaulted container "calico-node" out of: calico-node, flexvol-driver (init), install-cni (init)
2022-07-27 19:38:08.469 [INFO][9] startup/startup.go 425: Early log level set to info
2022-07-27 19:38:08.469 [INFO][9] startup/utils.go 127: Using NODENAME environment for node name ebpf
2022-07-27 19:38:08.469 [INFO][9] startup/utils.go 139: Determined node name: ebpf
2022-07-27 19:38:08.469 [INFO][9] startup/startup.go 94: Starting node ebpf with version v3.23.3
2022-07-27 19:38:08.470 [INFO][9] startup/startup.go 430: Checking datastore connection
2022-07-27 19:38:08.480 [INFO][9] startup/startup.go 454: Datastore connection verified
2022-07-27 19:38:08.480 [INFO][9] startup/startup.go 104: Datastore is ready
2022-07-27 19:38:08.491 [INFO][9] startup/startup.go 483: Initialize BGP data
2022-07-27 19:38:08.492 [INFO][9] startup/autodetection_methods.go 117: Using autodetected IPv4 address <IP_ADDRESS>/24 on matching interface ens3
2022-07-27 19:38:08.492 [WARNING][9] startup/autodetection_methods.go 113: Unable to auto-detect an IPv6 address using interface regexes [ens3.*]: no valid IPv6 addresses found on the host interfaces
2022-07-27 19:38:08.492 [WARNING][9] startup/startup.go 538: Couldn't autodetect an IPv6 address. If auto-detecting, choose a different autodetection method. Otherwise provide an explicit address.
2022-07-27 19:38:08.492 [INFO][9] startup/startup.go 389: Clearing out-of-date IPv4 address from this node IP="<IP_ADDRESS>/24"
2022-07-27 19:38:08.492 [INFO][9] startup/startup.go 393: Clearing out-of-date IPv6 address from this node IP=""
2022-07-27 19:38:08.501 [WARNING][9] startup/utils.go 49: Terminating
Calico node failed to start

Network device ens3 on my machine has both ipv4 and ipv6 addresses:
root@ebpf:~# ip address show dev ens3
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:00:08:36:2a:b1 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic ens3
       valid_lft 281sec preferred_lft 281sec
    inet6 fe80::8ff:fe36:2ab1/64 scope link
       valid_lft forever preferred_lft forever

Context

Your Environment

Calico version: calico 3.23
Orchestrator version (e.g. kubernetes, mesos, rkt): k8s 1.24
Operating System and version: ubuntu 20.04
Link to your project (optional):

The error message is very clear:
2022-07-27 19:38:08.492 [WARNING][9] startup/autodetection_methods.go 113: Unable to auto-detect an IPv6 address using interface regexes [ens3.*]: no valid IPv6 addresses found on the host interfaces
The interface ens33's default IPv6 address "fe80::8ff:fe36:2ab1/64" is equivalent to "169.254.x.x", which can't be used as a real IPv6 address.
You need to assign a valid IPv6 address to interface ens33, e.g. 2001:1001:1001:1001::1/64

@gongzh thanks for the hint. I will give that a try. I'm not familiar with IPv6's conventions that certain addresses cannot be used. Just an interesting observation: I switched from Calico to Cilium, and I was able to set up ipv4/ipv6 dual stack without having to change anything.

@huang195 , did you end up getting this to work by assigning a different IPv6 address? Also, not quite sure on all the details of how Cilium works, but when you say you were able to set it up without having to change anything, do you mean that you didn't need to provide any configuration for Cilium?

No, I did not get a chance to try to get Calico working. I followed these instructions to get Cilium working w/o having to assign a different ipv6 address to my primary nic: https://yolops.net/k8s-dualstack-cilium.html.


Example: Honeycomb

Demonstrate unusual / composite cells like hexagons.

Make each show their row and column, so that alignment can be shown differently from a honeycomb with vertical lines vs Chinese checkers


QBittorrent Version

What is the improvement or update you wish to see?
I'm getting this error message about running the lastest version of qbittorrent:
| Qbittorrent Error: qbit_manage is only comaptible with v4.3.* or lower. You are currently on v4.4.0 |
May want to warn users about this, and will need to downgrade the qbittorrent, unless you are planning on updating qbit_manage to work with v4.4.0?
Is there any context that might help us understand?
Just ask away if that's the case.
Does the docs page already exist? Please link to it.
No response

Yes this is put intentionally so qbit_manage will not run for unsupported versions of qbittorrent. You can update to develop branch that is compatible with v4.4.0, or if you can wait a day or two I plan to push these changes to the master branch

I just updated to develop branch and all is well. Thank you.

nbd, but two small things:

it would be nice to document the minimum supported version for each release
just fyi, hotio/qbittorrent:release-<IP_ADDRESS> was too new for hotio/qbitmanage:release-3.2.3. i somehow expected it to work because of https://github.com/StuffAnThings/qbit_manage/commit/08133659b6560d07a94cd9f58febc58e61d30a39, but i guess that came after 3.2.3?
typo in https://github.com/StuffAnThings/qbit_manage/blob/master/modules/qbittorrent.py#L32
/s/comaptible/compatible/ :)


Typo fix

Thank you for taking your time and effort to make this PR, and we're glad to have you here.


Feat: Implement Order functions in the DataStore contract.

Description
Implement the get_order function in the DataStore contract.
File: src/data/data_store.cairo.
Function signature:
    fn get_order(
        self: @ContractState,
        key: felt252
    ) -> Option<Order>;

Implement the set_order function in the DataStore contract.
File: src/data/data_store.cairo.
Function signature:
    fn set_order(
        ref self: ContractState,
        key: felt252,
        order: Order
    );

Implement the remove_order function in the DataStore contract.
File: src/data/data_store.cairo.
Function signature:
    fn remove_order(
        ref self: ContractState,
        key: felt252,
        account: ContractAddress
    );

Implement the internal get_order_count function in the DataStore contract.
File: src/data/data_store.cairo.
Function signature:
    fn get_order_count(self: @ContractState) -> u128;

Implement the internal get_order_keys function in the DataStore contract.
File: src/data/data_store.cairo.
Function signature:
    fn get_order_keys(self: @ContractState, start: u128, end: u128) -> Array<felt252>;

Implement the internal get_account_order_count function in the DataStore contract.
File: src/data/data_store.cairo.
Function signature:
    fn get_account_order_count(self: @ContractState, account: ContractAddress) -> u128;

Implement the internal get_account_order_keys function in the DataStore contract.
File: src/data/data_store.cairo.
Function signature:
    fn get_account_order_keys(self: @ContractState, account: ContractAddress, start: u128, end: u128) -> Array<felt252>;

Acceptance criteria

Function is implemented and well commented.
Associated unit tests (nominal and failure) are implemented and passing.

Resources

get function in GMX repo
set function in GMX repo
remove function in GMX repo
getOrderCount function in GMX repo
getOrderKeys function in GMX repo
getAccountOrderCount function in GMX repo
getAccountOrderKeys function in GMX repo

Can I take this?


Cleanup at the end, unconditionally.

@afred?

Actually, no: we still want to exit non-zero if anything exits non-zero. Needs a bit more thought.


[wip] add warning if parent service name is the same as child service name

we have no name uniqueness validation on services
it's entirely possibly to call retirement on a bundled parent service
with the same name as the child
wip because i need think about the right way to fix this
don't bother reviewing

I'm closing this because it's not the optimal way to fix services having the same name. It should be a uniqueness validation on the model with a data migration to address existing discrepancies.


🐛  Fix documentation of pydantic models

Right now the pydantic models are not auto-documentation without specifying each of them individually.
Need to generate a script to automate this.

Fixed with 0.4.0


Weird temp error in Xcode 9 b5

If you are getting this:
TinyConstraints/Classes/Constraints.swift:40:33:
Raw type 'LayoutPriority' (aka 'UILayoutPriority') is not expressible by any literal

on
public enum ConstraintPriority: LayoutPriority

then make sure your TinyConstraints CocoaPods target is marked to use Swift 3.2 and not Swift 4 which is default (SWIFT_VERSION in build settings).
I want my hour back. 😒

Aah sorry man, if I could give you your hour back, I would.
I'll make an update tonight. ✌

Ah, it's all fine. Just wanted to help anyone else that my encounter this problem

I made a new branch with upcoming changes for Swift 4, you can check it out here:
https://github.com/roberthein/TinyConstraints/tree/release/swift-4


Add BeatDrop v<IP_ADDRESS>

Note: There's no autoupdate (yet) since there's only been 1 release so far.

I think you could assume, that it will be https://github.com/mvsoft74/BeatDrop/releases/download/v$version/BeatDrop-bin-$version.zip.

i can assume that, but i'll leave the decision to the maintainers who would have to fix it if our prediction is wrong

It would require other maintener to fix it if it's wrong, but if it's correct, it would be automatically, unattended updated and no one will touch it.


fix: deadlock (use of Mutex::lock().remove())

Before this fix is guard is alive with in the block.
fn main() {
    let mut map = HashMap::new();
    map.insert(1,2);

    let map = spin::Mutex::new(map);
    if let Some(v) = map.lock().remove(&1) {
        dbg!(map.is_locked());
    };
}

The solution is to place map.lock to different line. This drops the guard immediately before the if-let block.
fn main() {
    let mut map = HashMap::new();
    map.insert(1,2);

    let map = spin::Mutex::new(map);
    let v = map.lock().remove(&1);
    if let Some(v) = v {
        dbg!(map.is_locked());
    };
}

If one task is accepting a write request and taking the append_lock and this task goes sleep at append_new_entry, this can cause deadlock because the first task will deadlock after insert_entry.
                   // Leader may have the completion for the request.
                    if let Some(user_completion) =
                        self.user_completions.lock().remove(&process_index)
                    {
                        if let Some(resp) = response_cache.get_response(&request_id) {
                            // If client abort the request before retry,
                            // the completion channel is destroyed because the gRPC is context is cancelled.
                            // In this case, we should keep the response in the cache for the later request.
                            if let Err(resp) = user_completion.complete_with(resp) {
                                response_cache.insert_response(request_id.clone(), resp);
                            } else {
                                // After the request is completed, we queue a `CompleteRequest` command for terminating the context.
                                // This should be queued and replicated to the followers.
                                // Otherwise followers will never know the request is completed and the context will never be terminated.
                                let command = Command::CompleteRequest { request_id };
                                self.append_new_entry(Command::serialize(command), None)
                                    .await
                                    .ok();
                            }
                        }

task1: accept -> insert_entry -> sleep (append_lock held)
task2: lock(user_completion) -> append_new_entry -> wait for append_lock
task1: awake -> register_completion (needs lock to user_completion -> deadlock)

Now the bench completes
test commit_n1_m1    ... bench: 220,030,854.60 ns/iter (+/- 51,112,128.60)
test commit_n1_m10   ... bench: 260,102,900.20 ns/iter (+/- 80,138,739.06)
test commit_n1_m100  ... bench: 200,468,241.90 ns/iter (+/- 60,057,024.29)
test commit_n1_m1000 ... bench: 337,614,414.50 ns/iter (+/- 155,721,911.66)
test commit_n3_m1    ... bench: 219,874,339.60 ns/iter (+/- 40,089,901.74)
test commit_n3_m10   ... bench: 279,845,786.20 ns/iter (+/- 61,609,707.33)

test result: ok. 0 passed; 0 failed; 0 ignored; 6 measured; 0 filtered out; finished in 479.47s

     Running benches/insert.rs (/rust_target/release/deps/insert-b0e6b223df8fdfbf)

running 4 tests
test insert_1   ... bench:      25,308.52 ns/iter (+/- 6,901.88)
test insert_100 ... bench:      29,384.26 ns/iter (+/- 7,784.82)
test insert_10k ... bench:      84,374.99 ns/iter (+/- 55,413.68)
test insert_1m  ... bench:   7,099,672.00 ns/iter (+/- 3,231,072.58)


Add jpmcb/nvim-llama

Repo URL:
https://github.com/jpmcb/nvim-llama
Checklist:

[x] The plugin is specifically built for Neovim, or if it's a colorscheme, it supports treesitter syntax.
[x] The lines end with a .. This is to conform to awesome-list linting and requirements.
[x] The title of the pull request is Add/Update/Remove `username/repo`  (notice the backticks around `username/repo`) when adding a new plugin.
[x] The description doesn't mention that it's a Neovim plugin, it's obvious from the rest of the document. No mentions of the word plugin unless it's related to something else.
[x] The description doesn't contain emojis.
[x] Neovim is spelled as Neovim (not nvim, NeoVim or neovim), Vim is spelled as Vim (capitalized), Lua is spelled as Lua (capitalized), Tree-sitter is spelled as Tree-sitter.
[x] Acronyms should be fully capitalized, for example LSP, TS, YAML, etc.

Pinging @jpmcb so they're aware I made this PR.


$model->setAttributes() does not populate all properties

What steps will reproduce the problem?
I have the following model declaration:
namespace app\modelsMongo;

use yii\mongodb\ActiveRecord;

class Test extends ActiveRecord {
    public static function collectionName() {
        return 'test-deleteme';
    }

    public function rules() {
        return [
            [['uuid'], 'required'],
        ];
    }

    public function attributes() {
        return [
            '_id',
            'uuid',
            'name',
        ];
    }
}

After that i try to populate the model as follows:
$model = new Test();
$model->setAttributes([
    "uuid" => "aaa-bbb-ccc",
    "name" => "my name"
]);
$model->save();

As a result only the uuid property is filled into the database and the name property is missing.
This is what's saved in the database:
  {
    "_id": {
      "$oid": "60211511bf439768de191e02"
    },
    "uuid": "aaa-bbb-ccc"
  }

Additional info

Q
A

Yii version
2.0.40

Yii MongoDB version
2.1.11

MongoDB server version
4.0.11

PHP version
7.2

Operating system
Linux

That is expected behavior. By default, only safe fields could be mass-assigned. Safe field is a field that either has a validation rule or explicitly marked with safe rule. In your case you don't have any validation rule for name thus it is considered unsafe to mass-assign it. If you're absolutely sure you can't have a validation rule for it you can do setAttributes($values, false).

Okay, thank you.


[Bug] [update error] upgrade 1.3.3 to 2.0.5 json split error

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
I've tried everything on issues but it doesn't work。
When I upgraded from 1.3.3 to 2.0.5, running upgrade-Dolphinscheduler. sh failed。
DolphinScheduler metadata version was upgraded from 1.3.7 to phase 2.0.0
json split error java.lang.NullPointerException: null         at org.apache.dolphinscheduler.dao.upgrade.UpgradeDao.splitProcessDefinitionJson(UpgradeDao.java:462) [dolphinscheduler-dao-2.0.5.jar:2.0.5]
process_definition_json json is :
{"globalParams":[{"prop":"tx_date","direct":"IN","type":"VARCHAR","value":"$[yyyy-MM-dd-1]"}],"tasks":[{"type":"SUB_PROCESS","id":"tasks-55678","name":"bk","params":{"processDefinitionId":102},"description":"basedatadb","timeout":{"strategy":"","interval":null,"enable":false},"runFlag":"NORMAL","conditionResult":{"successNode":[""],"failedNode":[""]},"dependence":{},"taskInstancePriority":"MEDIUM","workerGroup":"default","preTasks":[]},{"type":"SUB_PROCESS","id":"tasks-57711","name":"new_bk","params":{"processDefinitionId":101},"description":"new_productdb","timeout":{"strategy":"","interval":null,"enable":false},"runFlag":"NORMAL","conditionResult":{"successNode":[""],"failedNode":[""]},"dependence":{},"taskInstancePriority":"MEDIUM","workerGroup":"default","preTasks":[]},{"type":"SUB_PROCESS","id":"tasks-12630","name":"product_name","params":{"processDefinitionId":120},"description":"abc","timeout":{"strategy":"","interval":null,"enable":false},"runFlag":"NORMAL","conditionResult":{"successNode":[""],"failedNode":[""]},"dependence":{},"taskInstancePriority":"MEDIUM","workerGroup":"default","preTasks":[]},{"type":"SUB_PROCESS","id":"tasks-38043","name":"bk_log","params":{"processDefinitionId":124},"description":"abc","timeout":{"strategy":"","interval":null,"enable":false},"runFlag":"NORMAL","conditionResult":{"successNode":[""],"failedNode":[""]},"dependence":{},"taskInstancePriority":"MEDIUM","workerGroup":"default","preTasks":[]}],"tenantId":2,"timeout":0}
There are four tasks in the system. If you run the first two tasks separately, there is no problem. If you run the last two tasks separately, there is an error.
What you expected to happen
Normal upgrade
How to reproduce
update t_ds_process_definition set process_definition_json="{"globalParams":[{"prop":"tx_date","direct":"IN","type":"VARCHAR","value":"$[yyyy-MM-dd-1]"}],"tasks":[{"type":"SUB_PROCESS","id":"tasks-55678","name":"bk","params":{"processDefinitionId":102},"description":"basedatadb","timeout":{"strategy":"","interval":null,"enable":false},"runFlag":"NORMAL","conditionResult":{"successNode":[""],"failedNode":[""]},"dependence":{},"taskInstancePriority":"MEDIUM","workerGroup":"default","preTasks":[]},{"type":"SUB_PROCESS","id":"tasks-57711","name":"new_bk","params":{"processDefinitionId":101},"description":"new_productdb","timeout":{"strategy":"","interval":null,"enable":false},"runFlag":"NORMAL","conditionResult":{"successNode":[""],"failedNode":[""]},"dependence":{},"taskInstancePriority":"MEDIUM","workerGroup":"default","preTasks":[]},{"type":"SUB_PROCESS","id":"tasks-12630","name":"product_name","params":{"processDefinitionId":120},"description":"abc","timeout":{"strategy":"","interval":null,"enable":false},"runFlag":"NORMAL","conditionResult":{"successNode":[""],"failedNode":[""]},"dependence":{},"taskInstancePriority":"MEDIUM","workerGroup":"default","preTasks":[]},{"type":"SUB_PROCESS","id":"tasks-38043","name":"bk_log","params":{"processDefinitionId":124},"description":"abc","timeout":{"strategy":"","interval":null,"enable":false},"runFlag":"NORMAL","conditionResult":{"successNode":[""],"failedNode":[""]},"dependence":{},"taskInstancePriority":"MEDIUM","workerGroup":"default","preTasks":[]}],"tenantId":2,"timeout":0}"
then run upgrade-Dolphinscheduler. sh
Anything else
No response
Version
2.0.5
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Problem solved: because my workflow instance A was deleted. But the SUB_PROCESS component of workflow B(not live) has dependencies on workflow A that have been removed. I can upgrade by deleting the workflows that are not online.


Make .deb packages available, please!

Unfortunately .AppImage packages normally needs the "kernel.unprivileged_userns_clone" kernel flag set to "1".
Almost all Linux users with hardened kernels have the "kernel.unprivileged_userns_clone" parameter changed to "0".
Making impossible to run the .AppImages packages... Error messages:
$ ./UnstoppableSwap-0.3.0.AppImage
[20728:1120/164615.421073:FATAL:setuid_sandbox_host.cc(158)]
The SUID sandbox helper binary was found, but is not configured correctly.
Rather than run without sandboxing I'm aborting now.
You need to make sure that /tmp/.mount_UnstopElnQ18/chrome-sandbox
is owned by root and has mode 4755.
Trace/breakpoint trap (core dumped)

YES... I know it's possible to temporary change the flag with "a simple command":
$ sudo sysctl -w kernel.unprivileged_userns_clone=1
BUT it's hard to anyone really concerned about operating systems security to "disable" a safety measure... especially when it comes to cryptocurrency related applications.
[TL;DR fixed with: kernel.unprivileged_userns_clone=0]
For your reference (from 2022-01-21): Nasty Linux kernel bug found and fixed

.deb images are part of every new release from now on
https://github.com/UnstoppableSwap/unstoppableswap-gui/releases/tag/v0.5.1

@binarybaron You are missing a .deb file in latest v1.0.0-rc.1 I am wondering if next rc may have it or if I should transform my updating script to something else like AppImage.

@binarybaron You are missing a .deb file in latest v1.0.0-rc.1 I am wondering if next rc may have it or if I should transform my updating script to something else like AppImage.

We cannot yet build .deb image because it will break the inbuilt auto updater. It's on our roadmap but might take a while. For now, I recommend you use the AppImage.


Added Clear method in driver

Now user can use existing clear method to clear the text field.
Linked Issue: https://github.com/truongsinh/appium-flutter-driver/issues/47

@truongsinh I will do that.
I thought to add after this pull request but no worries I have the sample code added on it.

@truongsinh I will do that.
I thought to add after this pull request but no worries I have the sample code added on it.

I would prefer to have it incorporated into this PR. We're not fully unit-test-covered yet, but having the simple code in the example can at least provide a way for manually verify that our code is not broken when sth new is added

@truongsinh Thanks for the guidance.
I will take care of it from the next pull request.
I will add the complete information about the clear method today EOD.

@shibupanda
What would be the syntax of clear text api for Java binding?

@ahashmi24
find.text("I can enter text").clear(); should help you.


packagesToExclude and bundled aars from POMs

I had some issues with bundling aar dependencies, so made some fixes. The method processZipFile didn't have enough information to get dependencies recursively from the processPomFile, so I added those parameters to the method and made the call.
Also, added a property to exclude packages from bundling, since we had that as our use case at the time.
Took the liberty to bump version to 2.1.1 because we deployed internally, but would be great if you guys published it :)
Thanks

@rafaelitajuba thank you for your contribution to this project. As soon as this PR is closed, we'll release a new version.

@rafaelitajuba thank you for your contribution to this project. As soon as this PR is closed, we'll release a new version.

No problem! I'm just glad to be able to contribute, and sorry that I haven't done it sooner :)


Display timestamps on the frontend in a configurable timezone

Is it possible to have time in CEST instead of GMT Please ?
Thanks for your help.

It would be great that this is controlled by the browser time zone. I am on CST and this is really confusing to see time in GMT.

I think this should be doable by modifying formatDate here: https://github.com/etsy/411/blob/master/htdocs/assets/js/util.js#L11
However, I'm clear on the consequences. This is very low priority for me and a PR would be welcome!

We cannot use 411 in prod with GMT time ! It would be nice if we can  have a solution please  :) ?
Thanks for your help.

https://github.com/etsy/411/blob/master/htdocs/assets/js/util.js#L11-L16
If you replace toUTCString with toDateString, it might work.

Pointers for anyone who works on this:

A new option should be added to the Settings page

https://github.com/etsy/411/blob/master/htdocs/assets/templates/settings.html
https://github.com/etsy/411/blob/master/htdocs/assets/js/views/settings.js
http://momentjs.com/timezone/docs/#/data-loading/getting-zone-names/

formatDate should account for user settings

https://github.com/etsy/411/blob/master/htdocs/assets/js/util.js#L11-L16

Finished up frontend implementation. Remaining:

Templates (email)
Search statistics modal


Add new Rails/ToFormattedS cop

Follow up https://github.com/rubocop/rails-style-guide/pull/314.
This cop checks for consistent uses of to_fs or to_formatted_s, depending on the cop's configuration.
EnforcedStyle: to_fs (default)
# bad
time.to_formatted_s(:db)

# good
time.to_fs(:db)

EnforcedStyle: to_formatted_s
# bad
time.to_fs(:db)

# good
time.to_formatted_s(:db)

Replace this text with a summary of the changes in your PR.
The more detailed you are, the better.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] If this is a new cop, consider making a corresponding update to the Rails Style Guide.

Should this check the version of Rails in use and skip if < 7 ?

I forgot the minimum_target_rails_version. I've updated this PR. Thank you!

I forgot the minimum_target_rails_version. I've updated this PR. Thank you!


Cannot create a stack with a tag

Hi,
I cannot create a stack with tags using ros-cdk.
Steps to reproduce:

mkdir ros-cdk-tags-poc
cd ros-cdk-tags-poc
ros-cdk init --language=typescript
Add this.tags.setTag("MySampleTag", "MyTagValue"); to lib/ros-cdk-tags-poc-stack.ts so that it has the following content:

import * as ros from '@alicloud/ros-cdk-core';

export class RosCdkTagsPocStack extends ros.Stack {
  constructor(scope: ros.Construct, id: string, props?: ros.StackProps) {
    super(scope, id, props);
    new ros.RosInfo(this, ros.RosInfo.description, "This is the simple ros cdk app example.");
    // The code that defines your stack goes here
    this.tags.setTag("MySampleTag", "MyTagValue");
  }
}

Invoke ros-cdk synth and get the following output (no information about the tag):

{
  "Description": "This is the simple ros cdk app example.",
  "ROSTemplateFormatVersion": "2015-09-01"
}

Invoke ros-cdk deploy
Go to the console to preview the tags (still no information about the tag):

Could you tell me if that's a bug? Or maybe I missed some steps on the way?

We have received suggestions and will fix this issue in the future.

ros-cdk-core 1.0.4 is released. The issue is fixed.


typo: README.md

Doulbe word "of"
MSFT -> Microsoft

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-go

Automation for azure-sdk-for-java

Automation for azure-sdk-for-node

Automation for azure-sdk-for-js

Automation for azure-sdk-for-python

Can one of the admins verify this patch?


Not working with LunarVim

The plugin does not work with LunarVim.
LunarVim gd stopped working for going to the definition
Navigator gD also does not work
I'm using LunarVim https://github.com/LunarVim/LunarVim. And the following lines to setup Navigator
{"ray-x/guihua.lua", run = "cd lua/fzy && make"},
{"ray-x/navigator.lua",
config = function()
require'navigator'.setup({
lspinstall = false
})
end
},
lspinstall = true has the same behavior

Seems works fine for me
 {"ray-x/guihua.lua", run = "cd lua/fzy && make"},
 {
    "ray-x/navigator.lua",
    config = function()
      require'navigator'.setup({lspinstall = true})
    end
  },

Please make sure

Install LSP with LSPInstall and  lspinstall=true; or manually install LSP server to $PATH and set lspinstall=false
PackerCompile
As lunarvim key mapping for g is mapped to which key, so grmapping may failed to work. You will have to redo mapping

Does it work for you now?

It's working now. Even gr key bind.  But I'm not sure what changed from the previous attempt
Thanks a lot for your quick response!


How to merge audio and video file in android

Hi,
Thanks for the great mp4parser lib, i have few queries related to audio video muxing.
We used the below code in android and tried, but we are getting indexoutofbound exception in H264TrackImpl,  We have kept a working mp4 file in the specific directory and trying but no luck.
Here is the code,
        File sdCard = Environment.getDataDirectory();

        String videofilepath = Environment.getExternalStorageDirectory().toString()+"/video.mp4";
        String audiofilepath = Environment.getExternalStorageDirectory().toString()+"/audio.aac";
        File file=new File(videofilepath);

        H264TrackImpl h264Track = new H264TrackImpl(new FileDataSourceImpl(videofilepath));
        AACTrackImpl aacTrack = new AACTrackImpl(new FileDataSourceImpl(audiofilepath));

        Movie movie = new Movie();
        movie.addTrack(h264Track);
        movie.addTrack(aacTrack);

        Container mp4file = new DefaultMp4Builder().build(movie);

        FileChannel fc = new FileOutputStream(new File(Environment.getExternalStorageDirectory().toString() + "/video.mp4")).getChannel();
        mp4file.writeContainer(fc);
        fc.close();

sorry for not responding any earlier. But in case you are still interested and haven't figured it out:
H264TrackImpl is used to import Annex B 'raw' h264 files.
MP4 files have to be open with the MovieCreator class. The resulting Movie object has a number of tracks which can then be handled like you do it with the h264Track.


#70 Set default value for javafx:jlink --compress to 0

Following is the text from https://bugs.openjdk.java.net/browse/JDK-8157991 which explains the difference:

--compress=0 drops the size of lib/modules by ~30% (106M -> 69.5M), and actually seems to benefit startup in simple tests (~8 ms improvement on Hello World).
--compress=1 drops the size of lib/modules by ~54% (106M -> 49M), but comes with a penalty to startup (~8ms slowdown on Hello World)
--compress=2 drops the size of lib/modules by ~53% (106M -> 49.5M), but comes with an even greater penalty to startup (~13ms slowdown on Hello World)

Hi @betanzos,
Thank you for the PR.
Before we can review the PR, can you please sign the Gluon CLA?

Hi @abhinayagarwal,
I did it before sending my first PR # 59.


add Liechtenstein

refs #
https://de.wikipedia.org/wiki/Feiertage_in_Liechtenstein
https://en.wikipedia.org/wiki/Public_holidays_in_Liechtenstein
For information, read and make sure you're okay with the Contributing guidelines.

[x] Tests with a significant number of years to be tested for your calendar.
[x] Docstrings for the Calendar class and specific methods.
[x] Use the workalendar.registry_tools.iso_register decorator to register your new calendar using ISO codes (optional).
[x] Calendar country / label added to the README.md file.
[x] Changelog amended with a mention like: "Added <country> by @pseudo (#)". Note Please do NOT change the version number here. It's the project maintainers' duty.

ref for test
https://www.feiertagskalender.ch/index.php?geo=3057&jahr=2016


#40042 fix

@stainsleto Thanks you for your contribution.
Could you please sign the CLA before the PR can be reviewed.
You can follow the steps documented here: CLA Steps

/retitle Fix broken link in Secret concept


Locks unlimited in time have undefined behaviour

State locks have all the facilities to handle a lock without timeout (for instance here). Such a permanent lock would occur if the timeout is set to None, see https://github.com/IRL2/nanover-protocol/blob/6b7f45bed2c325c85120b2a5157bc9101e493052/python-libraries/nanover-core/src/nanover/state/state_service.py#L217. However, the protocol does not allow the timeout to be None as a None timeout in the lock update request would remove the lock (See the protocol definition and its implementation).
Do we want to keep this behaviour in the code or match the protocol more closely? Keeping the code as is may allow a server to create unlimited locks, which may be desirable, but it could lead to unreachable code and cause devs to misinterpret the expected behaviour, which is bad.

Note that the rust server has the same behaviour as the python one: both would allow unlimited locks but it is unreachable in both servers.

Pinging @Ragzouken for an opinion.

First instinct is that unlimited locks are a feature of KeyLockableMap that we simply don't use/expose for state service.
As far as I can tell there aren't actually any tests for lock expiration for either KeyLockableMap or state service. I think expiry was added later to deal with the issue of clients exiting while moving the box.
The code for non-expiring locks is trivial to remove and later restore, so it wouldn't hurt to remove it if that seems sensible. Maybe in the future we would like to support client's creating non-expiring locks when we have the lifecycle stuff to expire them on client exit. Maybe locks is something that gets a full review when state lifecycle stuff comes around anyway.
No strong opinion.

First instinct is that unlimited locks are a feature of KeyLockableMap that we simply don't use/expose for state service.

I am happy to close the issue from this answer. I let you choose to close it or not, in case you'd like to keep it open for when you look at the life cycle.


Winamp

Glad to see someone other than me uses Winamp. I have version 5.9.2 installed, does that matter or do I need the 210 version? Furthermore, I truly appreciate the work you do making plugins utilizing VoiceMacro. :)

I have been using that early version of Winamp for years because I love its
simplicity and it works great.I also love VoiceMacro because of its
powerful features and flexibility. I'm guessing it doesn't really matter
what version of Winamp you use as all the Machina macros do is open mp3
streams with it.
Glad to hear you are a fan of WinAmp and VM too and thank you!
On Sat, Jun 8, 2024 at 5:04 AM sutex @.***> wrote:

Glad to see someone other than me uses Winamp. I have version 5.9.2
installed, does that matter or do I need the 210 version? Furthermore, I
truly appreciate the work you do making plugin utilizing VoiceMacro. :)
—
Reply to this email directly, view it on GitHub
https://github.com/chromagic-development/Machina/issues/1, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BI7JLHTTQVR5HSEQ6S3CYMDZGLCIRAVCNFSM6AAAAABI72KJ7OVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM2DCNJWGA3TONI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Change detection to detection by diff in organizeImports

This PR changes the detection method in OrganizeImports to make a decision off of the sort order that will make the least changes to the file.
If there is a tie or not enough information to make a decision, then we default to case insensitive, and for type order, last followed by inline. These defaults should line up with our previous behavior, though with this new detection method, we should be resorting to the default in fewer cases.
The new detection has also been implemented in the codefixes that use any functions that organizeImports was previously supplying.
Some other features of this PR:

Adds type-order detection.
Fixes #57030, so that outputs of running Organize Imports will be stable.
Removes need to resolve SortKind.
Runs in about the same time as organizeImports did with the previous detection method. Testing on a codespace, detecting on a version of checker.ts that is sorted and has some imports changed to type-only, tsserver logs report that organize imports takes:

On nightly 20240220, runs in ~3100ms. This PR runs in ~2700ms after this commit (that changes detection method to "is-sorted").
On nightly 20240221, runs in ~2000ms. This PR runs in ~1900ms after this commit.
(On a not-already-sorted version, runtime increases all around, due to the amount of time needed to write changes)

Cleans up the organizeImports.ts file by removing unused functions, and grouping functions (especially the ones that are only used for testing)

@typescript-bot pack this

I feel like this is looking good, though my only overarching concern is the general feeling that we're going to see a lot of change in the way people's organize imports behave if it really is the case that we're going to start preferring insensitive more than we used to. Unless I'm still totally brainfarting and that's what we were doing before.

@typescript-bot pack this

I don't want to let this one languish; besides how the defaults may have changed, is there anything else you need feedback on? The behavior does seem fine.


Add  support for Postgres bulk update statement

In Postgres, it is possible to bulk update table from a list of values:
CREATE TABLE "foo" (
	"col1" int,
	"col2" text
);

UPDATE "foo"
SET
 "col1" = "v".col1,
 "col2" = "v".col2
FROM (
	VALUES
	 (1, 'bar'),
	 (2, 'buz')
) AS "v" ("col1", "col2")
WHERE
	"foo"."col1" = "v"."col1";

Currently, it is not possible to construct such update query with Kysely.
There is a proposed solution https://kyse.link/?p=s&i=C0yoagEodj9vv4AxE3TH,
but it only works if all columns have 'text' type.
My understanding is that when Kysely tries to prepare the statement it does not
provide parameter type and Postgres defaults to 'text' (see related issue #732).
Possible solution is to inject parameter types into PREPARE statement.
Either by specifying parameter types like this:
PREPARE prep_foo (int, text, int, text) AS
	UPDATE "foo"
	SET
	 "col1" = "v".col1,
	 "col2" = "v".col2
	FROM (
		VALUES
		 ($1, $2),
		 ($3, $4)
	) AS "v" ("col1", "col2")
	WHERE
		"foo"."col1" = "v"."col1";

or like this
PREPARE prep_foo AS
	UPDATE "foo"
	SET
	 "col1" = "v".col1,
	 "col2" = "v".col2
	FROM (
		VALUES
		 ($1::int, $2::text),
		 ($3::int, $4::text)
	) AS "v" ("col1", "col2")
	WHERE
		"foo"."col1" = "v"."col1";

You can modify the proposed solution to make the casts. We can't add automatic casts since they are database-dependent. We don't know what the column's data type is when you pass in a javascript number for example.
We can't do this automatically. We don't have the information, and never will have, since Kysely is not an ORM.

Types don't exist in the runtime, so no, that's not possible.


CP Homepage editing page is empty

Describe the bug
After a fresh install and import of the sql dump i cannot see any elements within the Homepage
To reproduce
Steps to reproduce the behaviour:

Install via composer
Run docker exec on the mariadb image and import the seed_db.sql (i unzipped it before via macOS Finder)
Go to http://localhost:8000/admin/entries/homepage/2-homepage and see only the sidebar with information

Expected behaviour
Reflection of the Content visible on the Frontend

Screenshots

Versions

Craft version: 3.6.7

Not sure if this is desired behaviour tho

There are no fields added to the homepage single by default, so this is expected behavior.


Please reduce the number of shards.

Hi,
I have tried using this sample. Its flooding data spuriously. Just for 5 minutes of usage I am charged about $143.  Looks like aws-kinesis service is too costly. Please reduce the number of shards.
FYI, My billing amount.
US East (N. Virginia)
Amazon Kinesis shardHourStorage                                           $142.74
$0.015 per provisioned shard-hour 9,515.972 ShardHour        $142.74
Regards,
Amarnath

Kinesis ShardHour pricing mentions that the shard is charged at an hourly rate. That means as long as the shards exist the customer will be charged for it. In this case you have a 9515.972 ShardHours, at a rate of $0.015 it equivalent to $142.74 i.e. (9515.972 * 0.015). It would be recommended to delete the stream, if not in use in order to avoid getting charged for it.
You can read about Kinesis Data Streams pricing here: https://aws.amazon.com/kinesis/data-streams/pricing/


Failure of full-screen mode on MacOS M1 Silicon when genesis 0.2.0 running

After the program runs normally, pressing the fn+F11 does not enable full screen.


Add remaining CLI functionality for SPL Token Group

Problem
As of #5911 and #5912, the SPL Token CLI supports adding GroupPointer and GroupMemberPointer to Token2022 mints. However, there's no CLI support for adding the actual TokenGroup or TokenGroupMember extensions to mints.
Solution
Add the necessary commands!

Can you expand on what is needed for this? Is this not taken care of by the --enable-group flag?

@tonton-sol All of the Token Group support should be present in the Token Client, but we don't have it in the CLI yet. If you take a look at Token Metadata for reference, we're basically just setting up clap commands for driving the Token Client and using those functions!
https://github.com/solana-labs/solana-program-library/blob/23916b24700cd222ad2397e9de8162ad6980e2e8/token/cli/src/command.rs#L514
The CLI only has the ability to create Group and Group Member pointers. You can pass an address or use --enable-group or --enable-member to set the pointer to the mint itself. You can't run InitializeGroup or the others from the interface.
https://github.com/solana-labs/solana-program-library/commit/ad86abe10f83f180fba0257451450182c875d04a

Understood, I didn't catch that. I'll take a look at it!

A few questions:

spl-token initialize-group should only invoke  token_group_initialize_with_rent_transfer()? and requires the mint and size?
spl-token initialize-member should only invoke  token_group_initialize_with_rent_transfer() and requites the mint and group-mint?
Should I also add the cli functionality for updating? Or should that be in a separate PR?

Also, I want to make sure I understand the spirit of the extensions based on reading the tests. You can create a group account then initialize it with a size. That size is the max number of members, say 10. You can then create a member, then initialize it with the group-mint. This gives 1 member. You can then use the member pointer extension, point to the first member mint and create the remaining 9. If you want to create another separate but related group of 10 members, you would use a group pointer. Then you would need to create and initialize a new member mint and initialize it, and repeat the process for minting the member pointers. Is this correct?

Also, I want to make sure I understand the spirit of the extensions based on reading the tests. You can create a group account then initialize it with a size. That size is the max number of members, say 10.

Correct! Max size is maximum number of members.

You can then create a member, then initialize it with the group-mint. This gives 1 member. You can then use the member pointer extension, point to the first member mint and create the remaining 9.

You've got this one backwards. You first add MemberPointer when you create the mint for the group member. After the mint is created, you can initialize_group_member with both the group and member mints, thus initializing it as a member of the provided group. The group's authority is required here since the group is writable, and that current count of "number of member" (or size) is incremented in the group.

If you want to create another separate but related group of 10 members, you would use a group pointer. Then you would need to create and initialize a new member mint and initialize it, and repeat the process for minting the member pointers. Is this correct?

I don't think I'm 100% clear on what you're asking here, but it sounds like you're referring to making sub-groups. If so, you'd basically have something like this:

Create the parent group
Create the child group, which is a member of the parent group
Create the members of the child group

In other words:
parent group
            ====== child member
                   child group
                                ====== grandchild member

In this case, you'd have the following extensions:

GroupPointer | TokenGroup
GroupPointer, MemberPointer | TokenGroup, TokenGroupMember
MemberPointer | TokenGroupMember

I guess this makes me realize I don't believe the client allows for 2), but the program does.

A few questions:

spl-token initialize-group should only invoke  token_group_initialize_with_rent_transfer()? and requires the mint and size?
spl-token initialize-member should only invoke  token_group_initialize_memeber_with_rent_transfer() and requires the mint and group-mint?
Should I also add the cli functionality for updating? Or should that be in a separate PR?

Yep 1) and 2) are correct. For 3), yeah let's add one at a time per PR! So first one can be command_initialize_group.

Thanks @tonton-sol !! This should be all wrapped!


[SMALLFIX]Use static imports for standard test utilities

[SMALLFIX]Use static imports for standard test utilities in /alluxio/core/common/src/test/java/alluxio/util/UnderFileSystemUtilsTest.java

alluxio-bot, check this please

alluxio-bot, check this please

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2813/
Test FAILed.

alluxio-bot, check this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2814/
Test PASSed.


Add battery status on display

Display we are using in this project should also display the battery status like its remaining capacity in percentage and its current operating voltage on top of display as there is free space available on the top right corner

it is now showing only battery percentage from #26 to save space so the RTC time will be shown in display 1st row.


Add geo.py module for geospatial operations

Overview
This PR adds a geo utility module to perform geospatial transformations. Currently it has the capability to perform the following conversions:

lon,lat,alt -> x,y,z
x,y,z -> lon,lat,alt
lon,lat,alt -> east,north,up
east,north,up -> lon,lat,alt

It resolves the following issues:

#24
#27
#28

Check out plh2xyz. This will take geodetic to geocentric.


Dry run/ SQL Dump for auto migrations

Hi, I am a PHP and Golang developer. In PHP our team use Doctrine 2.0 which is a perfect ORM in PHP world. The way they handle migrations is a bit safer for me as they will prepare and dump entity changes into a runnable php file and store migrated version in DB for tracking.
In gorm it looks it will resolve and run change directly without my approval, I am concerned about what if I accidentally added one more or removed one of the field in a struct making production data loss.
I want gorm to dump the changing sql only and let me run it on DB server manually after human checking.

It's a good suggestion, why nobody answers and leads it to close?

Im looking into a better migration approach using Flyway and would to get the SQL output from Gorm on Table creation. I know I can write myself but it would save time.


Unified createOrder return

createOrder returns the raw JSON response. Having at least the order uuid returned uniformly is necessary.

Yep, I agree ;)

I'd like to discuss that a little with you, namely, the following:

Is it better to convert all order ids to strings for consistency across exchanges ?
... or should we just leave them as they are (mixed ints and strings)?

Sorry for the wait. I think they should be converted to strings, for consistency.

Ok, will do that as well ) Thx!

Ok, the createOrder return is now unified. We updated the section on Placing Orders in the Manual to include the description of the returned value. Thanks for your feedback and for helping us with this!


Update to DSE 6.8.46

A new version of DSE has been released and should be used.

Superceded by #2919


Migrate to app router

Yet to go's

Fix up tests
Update docs
Update standard generator

The site works with app router, just run
yarn serve

The goal of this PR was a surgical PR that does the minimum amount of refactoring to support server components and server functions

rebased on beta.47 and created a new branch, in case there are issues
closing this one


Dont restore default explorer

Description
Files dont return  Windows Explorer to the default App for open dir's on windows.
Steps To Reproduce

Set Files Default to Explorer of Windows System
Restore the setting to default (Windows Explorer)
Try to open a dir in windows desktop or another directory

Expected behavior
Windows explorer shows an error after restoring default settings from files
Files Version
Versión: <IP_ADDRESS> OS Version: 10.0.22000.376
Windows Version
11 21h1
Relevant Assets/Logs
debug.log

Merging with #7534


[ENHANCEMENT] Get Image Repo/Tag Information from rancher-logging Addon CR

Is your enhancement related to a problem? Please describe.

https://github.com/harvester/harvester/pull/3379#issuecomment-1455785614
We fall back to a hardcoded method for the image repo and tag info we need to construct the Logging resource for the upgrade log enhancement in #3379. The reason is, in the previous implementation, we retrieve that info from the harvester-cluster-repo Pod. But the info is wrong/outdated (the fluent-bit's tag is by default 1.9.3). The actual tag is 1.9.5 because we specify it in the values section of the rancher-logging ManagedChart. Also, the image we bundled and shipped is in version 1.9.5, too. In the end, we cannot treat the harvester-cluster-repo as a single source of truth for images we use in the cluster.
Describe the solution you'd like

We should reference the rancher-logging Addon for the newest image repo and tag information in the next version. If there is still missing, use the value from harvester-cluster-repo.
Describe alternatives you've considered

Additional context

Related issue: #1926
Previous PR: #3379

Testing Results:
Harvester v1.2.0-rc3 -> v1.2-head Air-Gapped w/ Rancher Logging Disabled prior to upgrade: PASS
Validated:

enabling of logging successful after upgrade
upgrade log can be downloaded:

job.batch/hvst-upgrade-*-upgradelog-archive-timestamp, SuccessfulCreate & Completed
image: rancher/harvester-upgrade:v1.2.0-rc3

once logs enabled, visibly see kubectl logs services/rancher-logging -n cattle-logging-system --follow

has: rancher/mirrored-fluent-fluent-bit:1.9.5 image

Artifacts:

Harvester v1.2.0-rc3 -> v1.2-head Air-Gapped w/ Rancher Logging Enabled prior to upgrade: PASS
Validated:

disabling of logging successful after upgrade
upgrade log can be downloaded:

job.batch/hvst-upgrade-*-upgradelog-archive-timestamp, SuccessfulCreate & Completed
image: rancher/harvester-upgrade:v1.2.0-rc3

when logs were enabled, visibly see kubectl logs services/rancher-logging -n cattle-logging-system --follow

has: rancher/mirrored-fluent-fluent-bit:1.9.5 image

Artifacts:

Harvester v1.2.0-rc3 -> v1.2-head NON-Air-Gapped (using releases.rancher for iso) w/ Rancher Logging Disabled prior to upgrade: PASS
Validated:

enabling of logging successful after upgrade
upgrade log can be downloaded:

job.batch/hvst-upgrade-*-upgradelog-archive-timestamp, SuccessfulCreate & Completed
image: rancher/harvester-upgrade:v1.2.0-rc3

once logs enabled, visibly see kubectl logs services/rancher-logging -n cattle-logging-system --follow

has: rancher/mirrored-fluent-fluent-bit:1.9.5 image

Artifacts:

Harvester v1.2.0-rc3 -> v1.2-head NON-Air-Gapped (using releases.rancher for iso) w/ Rancher Logging Enabled prior to upgrade: PASS
Validated:

disabling of logging successful after upgrade
upgrade log can be downloaded:

job.batch/hvst-upgrade-*-upgradelog-archive-timestamp, SuccessfulCreate & Completed
image: rancher/harvester-upgrade:v1.2.0-rc3

when logs were enabled, visibly see kubectl logs services/rancher-logging -n cattle-logging-system --follow

has: rancher/mirrored-fluent-fluent-bit:1.9.5 image

Artifacts:

@starbops  - the main tests seem good, I did note that it seems there might be a slight UI bug on the path of
Non-Airgapped, w/ rancher-logging addon enabled prior to upgrade, v1.2.0-rc3 -> v1.2-head
w/ issue:
https://github.com/harvester/harvester/issues/4225
But I'm not sure how reproducible 4225 is.
Should I go ahead and close this out?

I think #4225 seems independent of this issue :smile:  - @starbops  - should I go ahead and close this out?

Hi @irishgordo, I think #4225 does not relate to this issue. Please go ahead. Thank you.

Sounds good @starbops  - thanks :smile: :+1:


PostgresReader does not work properly?

After setting up the PUMS dataset in my Postgres database I tried running the example:
from opendp.smartnoise.sql import PostgresReader, PrivateReader
from opendp.smartnoise.metadata import CollectionMetadata

meta = CollectionMetadata.from_file('PUMS.yaml')

query = 'SELECT married, AVG(income) AS income, COUNT(*) AS n FROM PUMS GROUP BY married'
query = 'SELECT AVG(age) FROM PUMS'

reader = PostgresReader('<IP_ADDRESS>', 'PUMS', '---')
private_reader = PrivateReader(reader, meta, 1.0)

exact = reader.execute_typed(query)
print(exact)

private = private_reader.execute_typed(query)
print(private)

First issue is related to the PostgresSerializer:
Traceback (most recent call last):
  File "call_posrgres.py", line 9, in <module>
    reader = PostgresReader('<IP_ADDRESS>', 'PUMS', '---')
  File "/home/workspace/anaconda3/envs/dev_smartnoise/lib/python3.7/site-packages/opendp/smartnoise/sql/reader/postgres.py", line 14, in __init__
    super().__init__(PostgresNameCompare(), PostgresSerializer())
NameError: name 'PostgresSerializer' is not defined

This was a simple indentation problem in the class, which makes it break instantly before anything else happens. I searched for any open issues or PRs related to this in the repository but found nothing, which makes me wonder if anyone is actually using the PostgresReader at all.
https://github.com/opendifferentialprivacy/smartnoise-sdk/blob/master/sdk/opendp/smartnoise/sql/reader/postgres.py#L56
Any how, I fixed this locally so I could continue testing the example.
Output traceback error:
Traceback (most recent call last):
  File "call_posrgres.py", line 15, in <module>
    private = private_reader.execute_typed(query)
  File "/home/workspace/anaconda3/envs/dev_smartnoise/lib/python3.7/site-packages/opendp/smartnoise/sql/private_reader.py", line 134, in execute_typed
    query = self.parse_query_string(query_string)
  File "/home/workspace/anaconda3/envs/dev_smartnoise/lib/python3.7/site-packages/opendp/smartnoise/sql/private_reader.py", line 77, in parse_query_string
    queries = QueryParser(self.metadata).queries(query_string)
  File "/home/workspace/anaconda3/envs/dev_smartnoise/lib/python3.7/site-packages/opendp/smartnoise/sql/parse.py", line 34, in queries
    q.load_symbols(metadata)
  File "/home/workspace/anaconda3/envs/dev_smartnoise/lib/python3.7/site-packages/opendp/smartnoise/ast/ast.py", line 47, in load_symbols
    r.load_symbols(metadata)
  File "/home/workspace/anaconda3/envs/dev_smartnoise/lib/python3.7/site-packages/opendp/smartnoise/ast/ast.py", line 207, in load_symbols
    r.load_symbols(metadata)
  File "/home/workspace/anaconda3/envs/dev_smartnoise/lib/python3.7/site-packages/opendp/smartnoise/ast/ast.py", line 286, in load_symbols
    table = metadata[str(self.name)]
TypeError: 'PostgresReader' object is not subscriptable

PUML.yaml
Database:
  public:
    PUMS:
      rows: 1000
      age:
        type: int
        lower: 0
        upper: 100
      sex:
        type: string
      educ:
        type: int
      race:
        type: string
      income:
        type: int
        lower: 0
        upper: 500000
      married:
        type: boolean
      pid:
        type: int
        private_id: True

Database table
CREATE TABLE PUMS (age int, sex char(2), educ int, race char(2), income float, married boolean, pid int )

Has anyone faced anything similar or could shed some light on how to fix this?

Hi the second issue is due to parameter ordering. We realized the order should be flipped, and here we are with it causing a confusing error in your code.
Here is an example call from our test code
schema = CollectionMetadata
query = query
return PrivateReader(schema, reader, budget).execute(query)
We plan on making it PrivateReader(reader, schema) very soon to avoid this confusion

Our more common use case utilizes the SparkReader, this does not mean that these small bugs should be let through so I created an issue to resolve the code path
https://github.com/opendifferentialprivacy/smartnoise-sdk/issues/300

Hi there,
It does, indeed look like lines 56-58 in Postgres.py were indented incorrectly.  After fixing that indentation error, I was able to make your example run.
Note that I needed to insert some records into the database table so that it would have some results:
CREATE TABLE PUMS.PUMS (age int, sex char(2), educ int, race char(2), income float, married boolean, pid int );
INSERT INTO pums.pums VALUES (35, 'm', 9, 'l', 90000, true, 1) ;
INSERT INTO pums.pums VALUES (30, 'f', 1, 'w', 30000, false, 2) ;
INSERT INTO pums.pums VALUES (55, 'm', 13, 'b', 60000, true, 3) ;
INSERT INTO pums.pums VALUES (18, 'f', 8, 'l', 50000, false, 4) ;
INSERT INTO pums.pums VALUES (7, 'm', 12, 'w', 30000, true, 5) ;
INSERT INTO pums.pums VALUES (75, 'f', 13, 'a', 190000, false, 6) ;
INSERT INTO pums.pums VALUES (105, 'm', 3, 'b', 900000, true, 7) ;

Then the following code works.
from opendp.smartnoise.sql import PrivateReader, PostgresReader
from opendp.smartnoise.metadata import CollectionMetadata

meta = CollectionMetadata.from_file("service/datasets/PUMS.yaml")
reader = PostgresReader("localhost", "pums")
#query = "SELECT AVG(age) AS age FROM pums.pums"
query = "SELECT COUNT(*) AS n FROM pums.pums"
res = reader.execute(query)
print(str(res))
priv = PrivateReader(meta, reader)
res2 = priv.execute(query)
print(str(res2))

I used schema name pums, rather than public, but your example should work fine with the public schema.
In the example above, I am calling execute on both the PostgresReader and the PrivateReader, to make it easy to compare exact results with differentially private results.
Note that differentially private AVG() will be very noisy for small denominators; you will want to be in the several hundreds to thousands of records range before the AVG() is accurate.  Counts will be more accurate for smaller n, but you will still notice the counts jump around for such a small table.
We will do a scrub to try to understand how that spurious indent crept into the code, and update tomorrow. Thanks for reporting this!

The patch mentioned is on pypi now  version 0.1.1

The issue was indeed the order of the parameters. Thank you very much for the help and now its working. Glad to report the issue on the identification.


Get test names right

That goes for both classes and methods.
It's better for classes to have TestCase postfix.
As for methods, come up with consistent naming convention. For example, have them named "test_method_name_scenario_name".

Waiting until the review to decide what to change exactly.


HTML mode

Is there a way to have HTML mode?
Thx.

well I think we have no plan to add a HTML mode.
feel free to reopen it if you want to discuss about this.

As a possible workaround, keep in mind that Markdown syntax allows HTML tags. You can already paste this HTML into the Markdown tab of TOAST UI Editor and it will render fine:

Here is HTML.

You mean, you can have formatting?

However, if you switch to WYSIWYG mode and back again, the Markdown text is normalized:
Here is HTML.

> You mean, you can have **formatting**?

So if you wanted to keep editing the text as HTML, that isn’t currently possible.


fix: promise.withResolvers polyfill added to createCallable

Fixes: #11
What does this PR do?

Adds a polyfill for the Promise.withResolvers method to prevent access to a non-existent property.

Reference: MDN Web Docs - Promise.withResolvers

Hi @edvansts! In order to match the maximum bundle size requirements I have integrated the polyfill inline which I think for the use case is good enough. Thanks a lot for your contribution!!


Disable chat orientation

great control, really love it, although i have a really small concern:
i have been trying to disable orientation on chat page for days now. i tried shouldautorotate, willrotate, didrotate, preferedorientation, supportedorientation, and the only view i dont need to rotate still does.
where and how should i control this property?

well for future reference, i resolved this by making a category of UIViewController which overrides shouldautorotate, then imported the created category "UIViewController+Orientation.h" into the class (chatroom) that subclasses JSQMessagesViewController.

Hey @carlos16196 - this is likely because you're presenting inside a UINavigationController.
As of iOS 7 (I think?), a navigation controller defines the orientation for it's child view controllers. You'll need to subclass UINavigationController, override these methods, then set JSQMessagesVC as the root.
The reason this category works, is because it will apply to all VCs (thus it applies to navigation controllers).


[RDBMS] Update firewall rule name description to clarify constraints

Related command

az mysql flexible-server firewall-rule create/show/update/delete

Description

The docs, help text, and error message for the firewall rule name doesn't mention the minimum length required. This PR updates the description to include it.
resolves #25337
Testing Guide

az mysql flexible-server firewall-rule create/show/update/delete --help

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

RDBMS


[Event Hubs Client] Track Two: Second Preview (Event Batching)

Summary
The intent of these changes is to implement size-limited event batches and the means to publish them to the Event Hubs service.
Goals

Build a track two implementation for event-to-message translations and use that as the basis for batch conversion.

Tweak some Live Test timing and criteria to address non-deterministic areas of the nightly test run.

Incorporate review from the "Getting Started" efforts into the client library README.

Begin the efforts of building the track two AMQP infrastructure.

Last Upstream Rebase
Wednesday, July 24, 2019  4:03pm (EDT)
Resources

Azure Messaging Exception Documentation
.NET Event Hubs Client: Second Preview Design Proposal

Related and Follow-Up Issues

[Epic] Release Event Hubs Track 2 Library Preview 2 (#6752)
Create the EventBatch infrastructure (#6791)
Support publishing an EventBatch (#6792)

Huge PR.

Unintentional format pass included.   Outside of the AMQP, compatibility, and producer-level changes, the rest is formatting/typo or tweaks for getting nightly test runs to behave deterministicly.


Anyone know how to use this in a template?

I do have some puppet experience, but I am having difficulty using this function from a template. Does anyone have a suggestion on how to do this?

It's functionally the same to pass a variable to your template. In the pp file:
$someip = dns_a('somename')[0]

file{ 'afilefromtemplate:
  ...
  content => template("${module_name}/somemodule/someconffile.erb"),
  ...
}

then in your erb:
<%= @someip %>


KeyboardAvoidingView Layout Shift On Next Input Focus

Description
KeyboardAvoidingView is causing a layout shift when focusing the next input on the screen. I have noticed it happens when the view content is vertically aligned in the center.
blurOnSubmit={false} is not helping to solve this problem. Also, I have reproduced it with TextInput from react-native.
import { useRef } from 'react';
import { View, KeyboardAvoidingView, StyleSheet } from 'react-native';

import { TextInput } from 'react-native-paper';

export default function App() {
  const passwordRef = useRef(null);
  return (
    <KeyboardAvoidingView style={styles.container} behavior="padding">
      <View style={styles.wrapper}>
        <TextInput
          style={styles.input}
          placeholder="Email"
          returnKeyType="next"
          onSubmitEditing={() => {
              passwordRef?.current?.focus();
          }}
          blurOnSubmit={false}
        />
        <TextInput
          ref={passwordRef}
          style={styles.input}
          placeholder="Password"
          returnKeyType="done"
          textContentType="password"
        />
      </View>
    </KeyboardAvoidingView>
  );
}

const styles = StyleSheet.create({
  wrapper: {
    width: 340,
    height: 140,
  },
  input: {
    flex: 1,
    width: '100%',
  },
  container: {
    flex: 1,
    padding: 20,
    width: '100%',
    maxWidth: 340,
    alignSelf: 'center',
    alignItems: 'center',
    justifyContent: 'center',
  }
});

Version
0.70.6
Output of npx react-native info
System:
OS: macOS 13.1
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Memory: 634.14 MB / 16.00 GB
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 16.14.2 - /usr/local/bin/node
Yarn: 1.22.11 - /usr/local/bin/yarn
npm: 8.5.0 - /usr/local/bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Managers:
CocoaPods: 1.11.3 - /Users/deviled/.rvm/gems/ruby-2.7.5/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.2, iOS 16.2, macOS 13.1, tvOS 16.1, watchOS 9.1
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 14.2/14C18 - /usr/bin/xcodebuild
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 18.1.0 => 18.1.0
react-native: 0.70.6 => 0.70.6
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce

Focus first input Email.
Click 'next' button on iOS keyboard to focus next input Password.

Snack, code example, screenshot, or link to a repository
https://snack.expo.dev/@deviled/fascinated-milkshake
https://user-images.githubusercontent.com/22294450/211523130-630b948a-c24c-44cb-a437-7af137369848.MP4

Yes I am having the same issue

I've noticed that the keyboardDidShow event happens two times before the keyboard is shown and the event.endCoordinates.height is different each time.

I've found a temporary solution here that works for majority of cases.
https://gist.github.com/deviled/4e403a892e4ee57db8f923b46ed3b4f6
The idea is to filter out the events that have event.startCoordinates.height larger than event.endCoordinates.height.
_onKeyboardChange = (event: KeyboardEvent) => {
    if (
        event.startCoordinates &&
        event.startCoordinates.height > event.endCoordinates.height
    ) {
        return null;
    }
    this._keyboardEvent = event;
    this._updateBottomIfNecessary();
};


Nat.add n 0 expressions appear when unfolding with simp (but not with rw)

Description
When using unfold or simp to unfold a recursive function, the expression Nat.add n 0 appears inside the body of the unfolded function rather than n. In the following example, you can uncomment the unfold or simp lines to see the given goal state. In contrast, rw results in the wanted state.
def foo : Nat → Nat
  | 0 => 2
  | n + 1 => foo n

example (n : Nat) : foo (n + 1) = 2 := by
  --unfold foo      -- ⊢ foo (Nat.add n 0) = 2
  --simp only [foo] -- ⊢ foo (Nat.add n 0) = 2
  --rw [foo]        -- ⊢ foo n = 2
  sorry

Expected behavior: In each of these three commented out lines, the goal state becomes ⊢ foo n = 2.
Actual behavior: Only the rw tactic results in the expected goal state.
Context
When using a custom eliminator in the induction or cases tactic for Nat that uses 0 and n + 1 rather than Nat.zero and Nat.succ n, expressions such as foo (n + 1) occur. If this is a proof about foo, then it is natural to unfold it. However, using unfold or simp results in expressions with Nat.add n 0. Eliminating these requires further application of lemmas such as Nat.add_eq and add_zero to clean up the expression.
protected def Nat.recAux {motive : Nat → Sort _}
    (zero : motive 0) (succ : ∀ n, motive n → motive (n+1)) : (t : Nat) → motive t
  | 0 => zero
  | _+1 => succ _ (Nat.recAux zero succ _)

example (n : Nat) : foo n = 2 := by
  induction n using Nat.recAux with
  | zero => rfl
  | succ n ih =>
    --unfold foo      -- ⊢ foo (Nat.add n 0) = 2
    --simp only [foo] -- ⊢ foo (Nat.add n 0) = 2
    --rw [foo]        -- ⊢ foo n = 2
    exact ih

This is an obstruction to the "beautiful induction for Nat" project. We do not want users to see Nat.add expressions.
Versions
MacOS arm64
#eval Lean.versionString -- "4.4.0-rc1"

Additional Information
[Additional information, configuration or data that might be necessary to reproduce the issue]
Impact
Add :+1: to issues you consider important. If others are impacted by this issue, please ask them to add :+1: to it.

@leodemoura This issue is an obstruction to moving forward with using nicer eliminators when doing Nat induction. Do you think it could be easily fixed?


Refactor getFilamentName() method

Update getFilamentName() method in the User Model  to use $this->getAttribute(UserMCF::FULL_NAME) for filament user display name.

@MrAmiza Thanks for your heavy refractor 🫠

@MrAmiza Thanks for your heavy refactoring, merged.


Error when using relabels_ instead of set_labels

The function set_labels was replaced by relabels_ to make the naming convention more intuitive. Therefore, I replaced set_labels everywhere in the user guide by relabels_.
However, it seems that the two functions behave differently and the code in the user guide does not run. An example from 7.1. Print and display:
The old code works:
uT=cytnx.UniTensor(cytnx.ones([2,3,4]), name="untagged tensor").set_labels(["a","b","c"])
uT.print_diagram()

Output:
-----------------------
tensor Name : untagged tensor
tensor Rank : 3
block_form  : False
is_diag     : False
on device   : cytnx device: CPU
          ---------
         /         \
   a ____| 2     3 |____ b
         |         |
         |       4 |____ c
         \         /
          ---------

New version:
uT=cytnx.UniTensor(cytnx.ones([2,3,4]), name="untagged tensor").relabels_(["a","b","c"])
uT.print_diagram()

Error:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[62], line 2
      1 uT=cytnx.UniTensor(cytnx.ones([2,3,4]), name="untagged tensor").relabels_(["a","b","c"])
----> 2 uT.print_diagram()

AttributeError: 'NoneType' object has no attribute 'print_diagram'

Yes. Originally set_labels will return self, while relabel does not. We should change it by returning self.
Part of this should be handled on python side

Ah, this was the problem, I see. I changed the guide not to use return values anymore. The above example can be done much cleaner anyways since issue #178 was solved: the UniTensor creator allows for an argument labels:
uT=cytnx.UniTensor(cytnx.ones([2,3,4]), name="untagged tensor", labels=["a","b","c"])
uT.print_diagram()

I changed the guide everywhere accordingly.

I pushed a PR address this issue. It should be fixed now, with a caveat
that one need to specify keywords "new_labels", "old_labels" explicitly
when two arguments are given simultaneously.
On Tue, Aug 8, 2023, 00:48 manuschneider @.***> wrote:

Ah, this was the problem, I see. I changed the guide not to use return
values anymore. The above example can be done much cleaner anyways since
issue #178 https://github.com/Cytnx-dev/Cytnx/issues/178 was solved:
the UniTensor creator allows for an argument labels:
uT=cytnx.UniTensor(cytnx.ones([2,3,4]), name="untagged tensor", labels=["a","b","c"])
uT.print_diagram()
I changed the guide everywhere accordingly.
—
Reply to this email directly, view it on GitHub
https://github.com/Cytnx-dev/Cytnx/issues/228#issuecomment-1668902268,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCX3SJM5Q7LUEKCL3J6HELXUHAILANCNFSM6AAAAAA3GTNEGM
.
You are receiving this because you commented.Message ID:
@.***>


Add a Config to control which extensions are enabled on a certain Profile

I work with many different programming languages and use many different sets of extensions and because that, every time I launch VSCode all the extensions are activated at once, even though I only need some. So, I was thinking about if we could have a new config in the profiles to control which extensions would be enabled.

Duplicate https://github.com/microsoft/vscode/issues/40239


Add/modifiers

by @hi-manshu

@hi-manshu oh no, merge conflicts 😱

@hi-manshu Lint fails too, maybe address together with the conflicts