Cant notify my device on propertie is Indicate Android 10

I have some problems to use Plugin.BLE on Android 10.
I can't await characterist.StartUpdateAsync(). All time when I call this method my code skip the rest.
My characterist has propertie Indicate.
My code:
`
await adapter.StopScanningForDevicesAsync();
//await adapter.DisconnectDeviceAsync(device);
await adapter.ConnectToDeviceAsync(device);
                var services = await device.GetServicesAsync();

                ICharacteristic characteristicTemperature = null;
                ICharacteristic characteristicBattery = null;

                foreach (var service in services)
                {
                    var caracteristicas = await service.GetCharacteristicsAsync();

                    foreach (var carac in caracteristicas)
                    {

                        var descritors = await carac.GetDescriptorsAsync();

                        //Bug android 9 ou > -- Problemas ao notificar o device
                        //Checa se é Bateria ou Temperatura
                        if (carac.Uuid == "2a19" || carac.Uuid == "2a1c"
                            || carac.Name.ToLower().Equals("temperature measurement")
                            || carac.Name.ToLower().Equals("battery level"))
                        {

                            if (carac.Name.ToLower().Equals("battery level") || carac.Uuid == "2a19")
                            {
                                characteristicBattery = carac;
                            }

                            if (carac.Name.ToLower().Equals("temperature measurement") || carac.Uuid == "2a1c")
                            {
                                characteristicTemperature = carac;
                            }

                        }
                    }
                }

                if (characteristicTemperature.CanUpdate)
                {

                    var descriptor = await characteristicTemperature.GetDescriptorsAsync();

                    characteristicTemperature.ValueUpdated += (o, args) =>
                    {
                        byte[] bytes = args.Characteristic.Value;
                    };

                    await characteristicTemperature.StartUpdatesAsync();

                }`

In iOS and Android 8 or bottom this method runs ok.
Steps to reproduce

Conect to device find service and characterist

Try run await characterist.StartUpdateAsync()

Expected behavior
Continue rest of code and get value from device.
Actual behavior
Skip rest of code and don't notify device.
Crashlog
[BluetoothGatt] discoverServices() - device: E1:EB:0A:09:B9:21
[BluetoothGatt] onConnectionUpdated() - Device=E1:EB:0A:09:B9:21 interval=6 latency=0 timeout=500 status=0
[BluetoothGatt] onSearchComplete() = Device=E1:EB:0A:09:B9:21 Status=0
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_call_int_method'.
[Mono] Probing 'java_interop_jnienv_call_int_method'.
[Mono] Found as 'java_interop_jnienv_call_int_method'.
Configuration
Version of the Plugin: 2.1.1
Platform: Android 10
Device: Samsung A20

Hi @kvrscream,
I'm the friendly issue checker.
Thanks for using the issue template :star2:
I appreciate it very much. I'm sure, the maintainers of this repository will answer, soon.

Hi everyone.
I try in other devices with android 10 and 9. I believe the problem is on Samsung no in android.
If someone can help me I thank.

I have also encountered this issue and believe it is a problem with Android 10 on Samsung devices only. I found this forum which describes the issue in more detail, seems Samsung have been aware of the bug since the start of the year but no fix has been put in place yet. Really poor on their behalf! https://forum.developer.samsung.com/t/samsung-android-10-ble-connectivity-regression/509/92

@MelissaW990
Thanks so much for help me.
Is a really big problem for me.

I just had the same issue on a Xiaomi Redmi Note 7 device.
Seems to me that this issue is not limited to just Samsung devices...

Hi everyone.
I found it a solution.
I reset connection and bluetooth setting for my android device and the application work normality.
Thanks everyone for help me.


Use dedicated disk for Duplicity cache

Story: https://trello.com/c/S8B99y46/120-asset-slave-backups-no-longer-working
Depends on: https://github.gds/gds/govuk-provisioning/pull/526
Move the Duplicity cache onto its own disk, which will allow us to
monitor the disk space used by assets synced from the asset master
without the size of the cache directory interfering.
We perform offsite backups using Duplicity on the asset-slave-1
machines. Duplicity maintains a cache which is uses to know what is
already backed up when performing incremental backups. Otherwise, it
would have to retrieve the backups from the remote and decrypt them.
We recently started rsyncing /mnt/uploads from the asset-master-1 to
the asset-slaves and added an Icinga check (ee785db7) to ensure that the
free space on each machine corresponds (to confirm that the sync is
working correctly). Since the Duplicity cache directory exists on the
asset-slave but not the asset-master, this Icinga check is raising false
alarms.

:+1: This looks fine, merge when ready.

:+1:

Merge away.


Calculator

Calculate the formula in the notes.

Implemented a CalculateModel class.
But, it cannot calculate when power is not an integer.
https://github.com/3colorr/Mizuame/blob/ef11b60703797ea825004cd8dd056ad8f8096e03/Mizuame/DataModel/CalculateModel.swift#L120

Implemented.
https://github.com/3colorr/Mizuame/pull/83/commits

I found a bugs. Can not calculate the formula contains "(" and ")".

I fixed the bugs.
https://github.com/3colorr/Mizuame/tree/fix-note-parser

https://github.com/3colorr/Mizuame/pull/96


please add Yeelight Floor Lamp

model yeelink.light.lamp10
please add support)
through native Homekit integration  it’s not rgb lamp)

Can you post a snippet of the log so I can set the parameters?


Create hnu.txt

湖南大学
Hunan University

@dok8s I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host hnu.edu.com not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for understanding!

Sorry, the email address is incorrect. The correct email address is<EMAIL_ADDRESS>


[Discussion] tl.getInput() and other similar methods to read task inputs should be able to expand linux macro's like '~', $HOME, etc

We have many linux based tasks and most of them uses tl.which(), tl.tool(), tl.tool().exec() instead of running under bash. So if user uses '~', $HOME and other linux macros in the task input then it will not get expanded to its actual value and it doesn't provide similar behavior when user run it locally.
IMO either i) tl.getInput() and other similar methods to read task inputs should be tweaked to return expanded value in case of running on linux agents
or ii) there should be guideline that linux based task should only use bash.
Though their are cons for these strategies that it may break existing user scenarios.
Please provide your inputs.

@sachinma For dotnetcorecli task and other linux based task we own/

FYI, for anyone new to this conversation, see https://github.com/microsoft/azure-pipelines-tool-lib/issues/56 for previous discussion on this.
Looking at the 2 things suggested:

i) tl.getInput() and other similar methods to read task inputs should be tweaked to return expanded value in case of running on linux agents

As mentioned in the other issue, this will break existing tasks. Additionally, it doesn't really make sense to me to automatically assume that any inputs are definitely meant to be used exactly as they would be on the terminal. So I don't think this is an option.

ii) there should be guideline that linux based task should only use bash.

Not sure what you mean by this. Plenty of Linux based tasks use the task-lib without problem, so I don't think this is true, but again I don't really understand what you're asking.
Seperately, I also want to point out that if you want arguments evaluated like the command line does, an easy way to do this is to just run a shell and call echo ${arg}. You can capture the output using the task-lib's execSync functionality. This is also pretty lightweight so I don't think you really need to worry about the overhead being costly.
All in all, while I agree the discussion probably belongs in this repo instead of the tool-lib I think the same logic applies here.

I think we're not going to do this for the aforementioned reasons, most important being that this will break existing scenarios. It's also much heavier weight than what we supply and not clearly better to me.


Handling heavy lifting logic

Large graphs or too many patterns may cause a low perfomance in front and backend applications. We need to turn the analyze logic completely async. Proposal is to use generators and promises.

Hey @darklight9811!
I would like to do some tests with C ++, since Node supports it. That way you can gain more processing performance.

@ganobrega, I actually had to put this project in the shelf. And sadly I don't think it's complete enough for a open source. I'm going to finish my other side project (an entire node framework) then I will come back to it. But nonetheless the bare bones are here and I really think it would be cool to have this, if you are really interested in this, I can manage to get back to this project asap.


CAS 2 and 3

Please supply comments, feature requests, and fixes need to support CAS versions 2 and 3.

@xcompass You can setup CAS Protocol 2 to return SAML attributes, but most servers don't by default.  Jasig CAS server v3, not to be confused with protocol v3, supports it with some setup required.

The jasig wiki has since moved. Here's a link to p3/serviceValidate
http://apereo.github.io/cas/4.2.x/protocol/CAS-Protocol-Specification.html#p3servicevalidate-cas-30

/p3/serviceValidate MUST perform the same validation tasks as /serviceValidate and additionally return user attributes in the CAS response"

In my limited CAS interactions /p3/serviceValidate has been the only endpoint that consistently returns available user attributes.


Distributed lock implementation is not atomic

Hi,
There is a missing unique index in the lock collection on the field "Resource" (and only this field), which means that the two or more instances of a distributed lock can be created (in testing this happens frequently, especially with more than one Hangfire node).
https://docs.mongodb.com/manual/reference/method/db.collection.update/#use-unique-indexes
To add, from experience the behaviour of MongoDB is to throw a write exception if the upsert fails due to the key constraint. The standard approach is to catch the exception (returning therefore that the lock could not be acquired), see https://jira.mongodb.org/browse/SERVER-14322
Also I don't actually see any indexes being created when a new instance of the database is created. It seems indexes are only created when migrating the database?
Thanks
James

Hi @jhadwen,
Thanks for your input.
To address you the second part of your question first:
Indexes are (as you point out) created during migration. When initializing a new DB we actually run a full migration. By doing this, we do not have to maintain "two paths" for initializing the DB.
So in order to create a new index, a migration step is needed and the schema version must be increased.
In regard to the actual problem you experience:
When inserting a "distributed lock" we do use "Upsert = true".
See this line.
The options are initialized in the lines above. I thought that was enough. But perhaps you have a point that an unique index is required. I'll look into this.
/Martin

Thanks Martin,
On the index creation for a new database, I think there might be a problem then because I've never witnessed an index being created on any of the collections (using 0.5.9). Is there something specific that we need to put into MongoStorageOptions?
James

@jhadwen,
This should be addressed. Can you confirm "Resource" has an index for 0.5.13 (or 0.5.12)

Hi, although I can confirm that there is now an index on "Resource" with 0.5.13, however that index is not unique which means unfortunately this issue still exists.
Thanks
James

@jhadwen,
verdamt. the need for the index to be unique somehow eluded me. Looking thru the code, I see we use upsert many places without ensuring the uniqueness of the indexes.
I will update the indexes for 0.5.14
Thanks!

Hi all, I have already implemented a patch for this distributed lock issue and I will create pull request with the changes tomorrow.

Fixed


Investigate International Accounts Recipe sometimes using US States

The international accounts recipe is great and creating people that match the locale settings from the provided list, but it seems to use US states when for French Canadian locale.  So you get addresses like these:
85284 Lapointe Heights
North Isabelle, California 21546
Canada
856 Dominique Overpass
Michelview, Oregon 66951
Canada
This may be a weakness of Fakery itself (falling back to US when it doesn't have anything for the locale), but we should investigate that and see if there is an easy solution.

Running tests now. In Faker, Canada is under en_CA not fr_CA, so I'm hoping that'll be the whole fix.


MM-45298_User Groups not available in Cloud Enterprise

Summary
Regression: Only starter free should show User Groups as restricted.
Ticket Link
https://mattermost.atlassian.net/browse/MM-45298
Screenshots
Cloud free

Cloud free trial

Cloud Professional

Release Note
NONE

/e2e-test

@stevemudie can we test this post-merge? @amyblais can we cherry-pick this into the cloud branch? This has been reported from an enterprise customer and would like to include in this week's release

can we cherry-pick this into the cloud branch?

@marianunez Yes!

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/212495

Cherry pick is scheduled.


migrate timeline metadata to JSON

It's painful to keep forward+backward compatibility now because we serialize the timeline metadata directly using the in-memory format. By using JSON, we can always add Option<X> to the metadata. These fields will be skipped when read from an older version of pageserver, and will be picked up in the new version, and therefore easy to keep forward/backward compatibility.

encountered this problem when adding feature flag for https://github.com/neondatabase/neon/issues/7462

resolved with https://github.com/neondatabase/neon/pull/7693


New Feature: Metastore Database Prefix

Allow a database prefix to be added to the destination cluster.  This can be used for production testing .  For example, add "test_" to all database names on the destination cluster.

Yeah, sounds good to me.

I agree, it'd be useful. The last time I looked into this though, it was a bit more complicated than expected. One approach might be to create another implementation of DestinationObjectFactory that creates objects with the modified prefix. However, you would need to make sure that all path generation goes through that object. Some effort was made to cover the cases, but I don't think all of them were addressed.

sounds useful to me


Missing support for migrate --force

From @okv: markExecuted method should allow mark of already marked transaction to support migrate --force. I've just added test for that to the east repository.

@okv - really not sure what you mean by this.  The migrate --force works quite cheerfully and it does mark it in the migration table.  Also, I looked in the other adapters and they don't specify that a migration was forced.
I'll mark it as closed, but if I've missed the point entirely, let me know and I'll sort it out.

try to execute same migration twice (with --force flag at second time). Currently with mysql adapter you will get an error `Error: ER_DUP_ENTRY: Duplicate entry '1_someMigration' for key 'PRIMARY'. You can run tests from east repository with mysql adapter(i've added section "Creating and testing own adapter" on east page). They checks that case too.

Right, I think I see what's going on here.  The error Error: ER_DUP_ENTRY: Duplicate entry '1_someMigration' for key 'PRIMARY is a MySQL error because the 1_someMigration file is trying to insert a new line with an already existing primary key.  As the east-mysql package (as all the adapters) are only interested in running the commands they are given, in order to run this you'll need to change the test to not set the primary key.
Incidentally, I've run the east tests on east-mysql and I'm getting that error.  However, I'm struggling to find the actual SQL that's being executed.  Part of the reason for this seems to be that the unit tests are not stateless and need to be run in a specific order - when I add .only to the unit tests that's failing, it fails for an entirely different reason Error: Cannot find module '/Users/SimonEmms/Documents/Development/Personal/east/test/migrations/undefined.js' which makes debugging very difficult.  If I was designing the tests for the --force functionality, I would probably set the test up so that it runs the script once then reruns it with --force.  That way, the tests can be run out of order or alone.
If you are able to tell me the SQL that's failing (or how to find it), I can come up with a proposal for a unit test that won't fail.
For the record, I know that --force works as I've tried it with the following script which works perfectly cheerfully:
INSERT INTO users SET<EMAIL_ADDRESS>firstname='Test', lastname='Testington'

east by itself doesn't execute any db commands (sql or mongodb queries), he relies on adapters. So in case of --force flag markExecuted will be called twice with same name and east intents that adapter just do nothing when you call mark executed for migration that already marked as executed
e.g. in postgres adapter duplicate key error will be silently omitted by error code 23505
this.db.query('insert into _migrations values($1)', [name], function(err) {
		callback(err && err.code !== '23505' ? err : null);
});

I've changed east logic now markExecuted will not be called for already marked migration when force flag is set. So since east 0.2.5 it works like you expected. Could you publish version with fixed mysql dependency to npm?

Ok
Just published v0.2.0 with the dependency fix (apologies, I thought I'd already done this)


Implement evacuation and restore

This PR adds two new commands to ciao.

ciao-cli node evacuate --node-id

cause a node to be put into maintenance status.  All the instances running on that node transition to exited and no more instances can be hosted on that node.

ciao-cli node restore --node-id

Switches a node from maintenance back to Ready.  An evacuated node that has been restored can host instances once more.

Coverage decreased (-0.3%) to 65.831% when pulling 7dc6c9aedb187df97aa09769072b8b93fb1c111f on markdryan:evacuation into da22c6ccce00e942d37212717d112105fa174588 on 01org:master.

I'm having some BAT issues on a real cluster with this PR.  Here's a log from one of the launcher nodes.
I0914 18:13:05.893062    3136 overseer.go:542] Node entering maintenance mode
I0914 18:13:05.893119    3136 overseer.go:418] Overseer: Enumerating instances
I0914 18:13:05.893124    3136 overseer.go:421] Overseer: Found d42071b9-8ca0-4ee8-941a-c35c3b76b904
I0914 18:13:05.893135    3136 overseer.go:460] Overseer: removing d42071b9-8ca0-4ee8-941a-c35c3b76b904
I0914 18:13:05.893142    3136 main.go:207] All instances evacuated
I0914 18:13:05.893149    3136 instance.go:212] Powerdown d42071b9-8ca0-4ee8-941a-c35c3b76b904 before deleting
I0914 18:13:05.893172    3136 qmp.go:282] {"execute":"system_powerdown"}
I0914 18:13:05.893321    3136 qmp.go:147] {"return": {}}
I0914 18:13:05.893335    3136 qmp.go:147] {"timestamp": {"seconds":<PHONE_NUMBER>, "microseconds": 893308}, "event": "POWERDOWN"}
I0914 18:13:09.677411    3136 qmp.go:147] {"timestamp": {"seconds":<PHONE_NUMBER>, "microseconds": 677324}, "event": "NIC_RX_FILTER_CHANGED", "data": {"path": "/machine/peripheral-anon/device[0]/virtio-backend"}}
I0914 18:13:11.031045    3136 overseer.go:239] Memory Available: 14724 Disk space Available 80625
I0914 18:13:11.031153    3136 overseer.go:624] Consumed: Disk 0 Mem 0 CPUs 0
W0914 18:13:15.893411    3136 qemu.go:513] Failed to power down cleanly: context deadline exceeded
I0914 18:13:15.893528    3136 qmp.go:282] {"execute":"quit"}
I0914 18:13:15.893988    3136 qmp.go:147] {"return": {}}
I0914 18:13:15.894024    3136 qmp.go:147] {"timestamp": {"seconds":<PHONE_NUMBER>, "microseconds": 893894}, "event": "SHUTDOWN"}
I0914 18:13:15.934408    3136 instance.go:332] Unmapping volumes for d42071b9-8ca0-4ee8-941a-c35c3b76b904
I0914 18:13:15.943187    3136 instance.go:397] Instance goroutine d42071b9-8ca0-4ee8-941a-c35c3b76b904 waiting for monitor to exit
I0914 18:13:15.943193    3136 overseer.go:487] Overseer: Received Status Command
I0914 18:13:15.943197    3136 qemu.go:477] Monitor function for d42071b9-8ca0-4ee8-941a-c35c3b76b904 exitting
I0914 18:13:15.943202    3136 instance.go:399] Instance goroutine d42071b9-8ca0-4ee8-941a-c35c3b76b904 exitted
I0914 18:13:15.943307    3136 overseer.go:239] Memory Available: 15048 Disk space Available 80626
I0914 18:13:16.925226    3136 client.go:116] SSNTP Info: Waiting for next frame
I0914 18:13:16.925249    3136 overseer.go:559] Restoring node
I0914 18:13:16.925297    3136 main.go:212] Node restored
I0914 18:13:17.031705    3136 overseer.go:239] Memory Available: 15048 Disk space Available 80626
I0914 18:13:17.032134    3136 overseer.go:624] Consumed: Disk 0 Mem 0 CPUs 0
I0914 18:13:23.032704    3136 overseer.go:239] Memory Available: 15048 Disk space Available 80626
I0914 18:13:23.033166    3136 overseer.go:624] Consumed: Disk 0 Mem 0 CPUs 0
I0914 18:13:29.033367    3136 overseer.go:239] Memory Available: 15048 Disk space Available 80626
I0914 18:13:29.033509    3136 overseer.go:624] Consumed: Disk 0 Mem 0 CPUs 0
I0914 18:13:34.457936    3136 client.go:116] SSNTP Info: Waiting for next frame
I0914 18:13:34.458497    3136 payload.go:56] cloud-init file content
I0914 18:13:34.458509    3136 payload.go:57] -----------------------
I0914 18:13:34.458516    3136 payload.go:58] Instance UUID:        5819aa9c-5d87-42ca-8092-5630f895f923
I0914 18:13:34.458524    3136 payload.go:59] Docker image:         debian:latest
I0914 18:13:34.458531    3136 payload.go:60] FW Type:
I0914 18:13:34.458546    3136 payload.go:61] VM Type:              docker
I0914 18:13:34.458559    3136 payload.go:62] TenantUUID:           3b752886-61f1-4180-a426-292e988a4713
I0914 18:13:34.458566    3136 payload.go:64] VnicMAC:              02:00:ac:10:00:02
I0914 18:13:34.458573    3136 payload.go:65] VnicIP:               <IP_ADDRESS>
I0914 18:13:34.458580    3136 payload.go:66] ConcIP:               <IP_ADDRESS>
I0914 18:13:34.458587    3136 payload.go:67] SubnetIP:             <IP_ADDRESS>/24
I0914 18:13:34.458594    3136 payload.go:68] ConcUUID:             b4086c5d-5868-4d59-bb89-892f1a7d2fe2
I0914 18:13:34.458601    3136 payload.go:69] VnicUUID:             68365d58-39a8-4b2f-84bb-dd521b451317
I0914 18:13:34.458607    3136 payload.go:70] Restart:              false
I0914 18:13:34.458616    3136 payload.go:72] Requested resources:
I0914 18:13:34.458629    3136 payload.go:74]    vcpus:     2
I0914 18:13:34.458645    3136 payload.go:74]   mem_mb:     128
I0914 18:13:34.458702    3136 overseer.go:431] Overseer: adding 5819aa9c-5d87-42ca-8092-5630f895f923
I0914 18:13:34.458719    3136 overseer.go:198] disk Avail 80626 MemAvail 14920
...
I0914 18:13:34.773704    3136 docker_plugin.go:239] Sending response := {{} <IP_ADDRESS>/24 map[]}, <nil>
I0914 18:13:34.773943    3136 docker_plugin.go:246] URL [NetworkDriver.CreateEndpoint] Body [{"NetworkID":"569998c7eeda08091fc47b80799386e2834417e834318f370b7b53b7501b718f","EndpointID":"1e6a73bba35ad93d089d6eae2a1717e1b3b11575c01f301cd6ae9550e9bb6d00","Interface":{"Address":"<IP_ADDRESS>/24","AddressIPv6":"","MacAddress":"02:00:ac:10:00:02"},"Options":{"com.docker.network.endpoint.exposedports":[],"com.docker.network.endpoint.macaddress":"AgCsEAAC","com.docker.network.portmap":[]}}
] Error [<nil>]
I0914 18:13:34.774162    3136 docker_plugin.go:239] Sending response := {{Error: invalid interface vnic error: get device incorrect interface type vnic_3b752886-61f1-4180-a426-292e988a4713_<IP_ADDRESS>/24_b4086c5d-5868-4d59-bb89-892f1a7d2fe2_<IP_ADDRESS>##<IP_ADDRESS> tun} <nil>}, <nil>
I0914 18:13:34.774364    3136 docker_plugin.go:246] URL [IpamDriver.ReleaseAddress] Body [{"PoolID":"30cb4017-3dd2-431c-b779-7366bc5a7691","Address":"<IP_ADDRESS>"}
] Error [<nil>]
I0914 18:13:34.774378    3136 docker_plugin.go:239] Sending response := {{}}, <nil>
E0914 18:13:34.813873    3136 docker.go:384] Unable to start container Error response from daemon: failed to create endpoint 5819aa9c-5d87-42ca-8092-5630f895f923 on network sbr_4c116430: remote: Error: invalid interface vnic error: get device incorrect interface type vnic_3b752886-61f1-4180-a426-292e988a4713_<IP_ADDRESS>/24_b4086c5d-5868-4d59-bb89-892f1a7d2fe2_<IP_ADDRESS>##<IP_ADDRESS> tun

So an instance with ip address <IP_ADDRESS> is running on the node.  The node is evacuated, the instance deleted and then at some later point a new instance with the same ip address is started on the node.  This start attempt fails.

seems like as soon as you can figure out why it fails on a physical cluster we can merge.

Coverage decreased (-0.4%) to 65.739% when pulling 8a61ce7980ee3230de9d8eab656b2146cce13514 on markdryan:evacuation into da22c6ccce00e942d37212717d112105fa174588 on 01org:master.

Coverage decreased (-0.4%) to 65.739% when pulling 8a61ce7980ee3230de9d8eab656b2146cce13514 on markdryan:evacuation into da22c6ccce00e942d37212717d112105fa174588 on 01org:master.

Coverage decreased (-0.4%) to 65.739% when pulling 8a61ce7980ee3230de9d8eab656b2146cce13514 on markdryan:evacuation into da22c6ccce00e942d37212717d112105fa174588 on 01org:master.

Coverage decreased (-0.4%) to 65.739% when pulling 8a61ce7980ee3230de9d8eab656b2146cce13514 on markdryan:evacuation into da22c6ccce00e942d37212717d112105fa174588 on 01org:master.

@kaccardi There was a bug in the new launcher code.  Networking artefacts were not being cleaned up on the compute nodes for evacuated instances.  I made the mistake as some of the internal APIs in launcher are getting overloaded and complicated.  I'm going to need to spend some time cleaning things up a little in a future PR.
The good news is that BAT is now passing on a real cluster with this PR merged.  So there's no blockers to merging it.


Limit syncing?

Hey,
I'm currently just trying out your library and it is amazing, thank you - but I've run into an issue:
I'm sending a transform to the server over the Default UnreliableChannel who then sends it back to every player. Within seconds, even with one player, messages get dropped - could you point me in the direction as to why that is?

Hey,
Is the server using the MinimalPlugin instead of the DefaultPlugins? When you use this option, the server run at an unlimited frame rate, you need to add the scheduler settings with:
 .insert_resource(ScheduleRunnerSettings::run_loop(Duration::from_secs_f64(
            1.0 / 60.0,
 )))
.add_plugins(MinimalPlugins)

Make sure the resource is inserted before the plugin

Sadly that didn't help :/
warning is
WARN rechannel::channel::unreliable: Received message was dropped in unreliable channel 1, reached maximum number of messages 256
my main looks like this:
    App::new()
        .insert_resource(Players::new())
        .insert_resource(ScheduleRunnerSettings::run_loop(Duration::from_secs_f64(
            1.0 / 60.0,
        )))
        .add_plugins(MinimalPlugins)
        .add_plugin(LogPlugin::default())
        .add_plugin(AssetPlugin::default())
        .add_plugin(ServerPlugin)
        .run();

I'm silly, I didn't iterate over receive_message(), when I do that it works

as soon as I add
        while let Some(raw_message) = server.receive_message(client_id, DefaultChannel::Unreliable) {
        }

The server can keep up


add format detection by magic number

Hello,
This is a small patch to allow automatic detection of image format directly from its content base on magic number ( cf : https://en.wikipedia.org/wiki/Magic_number_(programming)#Examples )
This allow fake '.jpg' that are PNG in reality (some people still believe that "mv foo.jpg bar.png" change also its format...).
There is also some URL that does not present image extensions.
There is no vows test for the moment on engines and still need help (i.e. template) on that purpose.
Cheers
--
Damien

I'll try to come up with tests for it. thanks a lot for all the
contributions man!
Cheers,
Bernardo Heynemann
On Fri, Feb 24, 2012 at 2:58 PM, Damien Hardy <
<EMAIL_ADDRESS>
wrote:

Hello,
This is a small patch to allow automatic detection of image format
directly from its content base on magic number ( cf :
https://en.wikipedia.org/wiki/Magic_number_(programming)#Examples )
This allow fake '.jpg' that are PNG in reality (some people still believe
that "mv foo.jpg bar.png" change also its format...).
There is also some URL that does not present image extensions.
There is no vows test for the moment on engines and still need help (i.e.
template) on that purpose.
Cheers
--
Damien
You can merge this Pull Request by running:
git pull https://github.com/dhardy92/thumbor magic-format-detection
Or you can view, comment on it, or merge it online at:
https://github.com/globocom/thumbor/pull/77
-- Commit Summary --

add format detection by magic number

-- File Changes --
M thumbor/engines/init.py (8)
-- Patch Links --
https://github.com/globocom/thumbor/pull/77.patch
https://github.com/globocom/thumbor/pull/77.diff

Reply to this email directly or view it on GitHub:
https://github.com/globocom/thumbor/pull/77

wouldn't it be safer to use something like https://github.com/ahupp/python-magic ?

My point is that as long as Thumbor support only 3 image formats it would be overkill to use an external library (adding dependences) to replace 3 simple (as easy to understand) strings comparisons.
When thumbor will manage plenty of document format ... feel free to drop it :)


can sms+ias be used instead of saas-registry+xsuaa ?

can sms+ias be used instead of saas-registry+xsuaa ?

Hi Piotr,
As of now No.
You need to use the saas-registry based option that can also be used with IAS (in addition to xsuaa).


requests.exceptions.ConnectionError

How i Can Solve that Problem in server host

Hi, I was facing the same issue. Try to add :8080 to all the requests like this:
r = requests.get('http://your.ip:8080')
res = requests.post('http://your.ip:8080', headers=headers, files=files )

Hi, I was facing the same issue. Try to add :8080 to all the requests like this:
r = requests.get('http://your.ip:8080')
res = requests.post('http://your.ip:8080', headers=headers, files=files )

where i can add it im already add it in server.tsx

You are showing the RN app and it's in the server -> server/src/main.py

i already add the port and it  listen on myip:8080
but when i call and route
requests.exceptions.ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x08460BB0>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))
Traceback (most recent call last)

im pretty sure it cause the ip of remote connection of photoshop !

that host at the bottom shouldn't be changed, put <IP_ADDRESS> there...

then how i loged in !!!

!!!!!!!!1

did you run the app
PD. can you pl try to avoid -> !!!!  ? this is a github issue and you are a developer..

it the same error

don't put localhost... put the same IP as before. Did you run the app? It's a RN app made with expo. If you don't know what is it then you should read the documentation.

yes i already run expo and successes build but i appear black screen with white dots

what i trying to say  backend wont connect correctly cause photoshop ip or thing related python and im sorry if i annoying you im not python developer

and api for cut image wont run the same error if you have any idea for config remote photoshop
its will be awesome and thank u gain

This project uses Connection SDK to connect with Photoshop and it has static port 49494 and password must match on both sides. https://github.com/adobe-photoshop/generator-core/blob/24a2c4e38aef79adb42869f200778ab52de4ef36/lib/photoshop.js#L41 And it is not even HTTP or Rest API. So you are not trying to connect to Photoshop but something else.


Remove "vm-image" from hosted pool

@mmitche pointed out to me earlier this is some kind of breaking change from AzDO
Summary of the changes (Less than 80 chars)

Remove vm-image tag from hosted pool provider declaration

No bug filed; Addressed build failures like https://dev.azure.com/dnceng/public/_build/results?buildId=133627

Definitely already getting further on the Ubuntu 16.04 build: https://dev.azure.com/dnceng/public/_build/results?buildId=134510

Thanks @MattGal I'm getting this in ASAP.


feat: database module improvements

Description
As the title.
Small database modul improvements I'm doing while I try to fix #3248
Issue linked
Related #3248
Checklist

[x] I have visited and read Develop PyMAPDL.
[ ] I have tested my changes locally
[x] I have added necessary documentation or updated existing documentation.
[x] I have followed the PyMAPDL coding style guidelines.
[x] I have added appropriate unit tests that also ensure the minimal coverage criteria.
[x] I have reviewed my changes before submitting this pull request.
[x] I have linked the issue or issues that are solved to the PR if any.
[x] I have assigned this PR to myself.
[x] I have marked this PR as draft if it is not ready to be reviewed yet.
[x] I have made sure that the title of my PR follows Commit naming conventions (e.g. feat: adding new MAPDL command)

Pinging @clatapie for feedback and review.


Docs: avoid external language-specific links

There are many places with a reference to https://developer.mozilla.org/en-US/docs --- the en-US part should be removed.  Same goes for the en in: https://en.wikipedia.org/. (Some of these were even kept in translated texts...)
(I'll be happy to do it if agreed.)

ace - totally


New Tax Ids

Why does the plugin generate new Ids? Some softwares uses the default 1 & 4 id for tax.
At least for the reset at the end of the year it would be helpful if the plugin would use the old ids.
My suggestion is to extend the wizards tax-matching with drop-down of the tax-table and the option just to change the rate without the ID.

external Software relying on internal IDs of Shopware? that sounds like a bad idea :see_no_evil:

Sure.  But beside that we will have "duplicate entries" in Jan 2021, because the plugin doesn't use the original tax-ids for the reset.

It has other technical reasons why we create a new tax.
When you modify the current tax. It will break the old already taken orders in the system when you edit them

Hey @anewarray,
thanks for your issue.
Don't you worry, we've got you covered "on the way back to 19%".
There will be a possiblity to map to an existing tax instead of creating a new one. This will be added before you'll actually need it at the end of the year. :-)


Add flag for private cloud support

This is a potential fix for #3 maintains backwards compatibility and provides a new private flag when creating a client.

@Afterglow - thanks for your PR!
A few things:
Have you or your company signed the CLA?  If so, can you provide your supermarket ID?  If you need to send it in private, you can email me directly (adamleff at chef dot io)
Now, structurally and functionally, this is great! I'd like to suggest a few changes:

Since private is a bit of a loaded term, I'd like to request we change the option as well as the instance variable to @private_cloud so it's 100% clear what it's for.
Rather than using the instance variable, I'd like to recommend we create a helper method called private_cloud? that returns the contents of @private_cloud.  This will allow you to mock the method in your tests and avoid needing to set up a whole separate client object for testing (as done at https://github.com/chef-partners/oracle-cloud-client/pull/4/files#diff-b00e26cc02e5f5b6f69d826564a6f280R54).

Catch me at the summit or online and let's pair!

Hi guys,
Thanks for putting this together. I want to ask whether it should be more specific with the naming of this.  This client is for IaaS services provided by Oracle Public and Private Cloud.
There are many other Cloud services Oracle provides, and it makes sense that we start putting together support for these. To name a few (Oracle Java Cloud Service, Oracle DB Cloud Service, Oracle Integration Cloud Service, etc ...).  These all have similar REST interfaces, and it would be great if we can pull together clients to support all of these.  Not sure if they go into one big client package or have individual ones for each cloud service Oracle provides.
@adamleff - FYI - we've also been doing some work with Sanjay Sinha and Ajay Seetheram at Oracle (your name was mentioned)
Cheers,
Goran

@adamleff i've updated my branch, see what you think i've added a private_cloud? method which i've used instead of the private variable and i've removed the duplicate client from the tests

oh and my supermarket id is afterglow I should have a CLA signed on it

@gstankovski I appreciate your concerns regarding the naming of the gem.  However, I'm going to leave the name as-is.  It was specifically created for the product marketed as "Oracle Cloud" found at "cloud.oracle.com"  I'm happy to include some additional specificity to the gem description and README if we find it's getting confusing.  But since we have active users of the already-named gem as well as projects depending on it by name, renaming will cause more hassle than it's worth.

CLA for @Afterglow is confirmed.

@Afterglow this looks good to me!  :+1:
@chef-partners/partner-engineering - another +1 on this please.

@adamleff Ok. Was just pointing out that Oracle Cloud is an umbrella product offering that contains many PaaS, SaaS, and now IaaS services.  The client in question is for the IaaS offering.  Its analogous to creating a client called AWS that only provides EC2 capabilities, even though there are many more services available.
I'd like to start putting together GEM clients for some of the other PaaS services available in Oracle Cloud, namely, the Oracle Java Cloud Service (JCS), Oracle Database Cloud Services (DBaaS) and Oracle SOA Cloud Service (SOA), Oracle Integration Cloud Service (ICS).  They will all have similar REST API interfaces.
What shall the naming of these GEMs be?
oraclecloud-jcs
oraclecloud-dbaas
oraclecloud-soa
oraclecloud-ics
Are these going to be acceptable? I think they may sense.

@gstankovski I certainly understand your point. However, this client gem exists solely for the purpose of supporting the Chef knife and test kitchen plugins that we authored so we do not have to maintain this code in multiple places. If others wish to use it, that makes me really happy! However, we will not be renaming the gem.
Your proposed names make sense to me.

Gowan,
I have a gem for the pass api's called OPC. I have also started to tie it in to knife with a knife plugin as well, the integration into knife is just starting.
Thank You,
Daryn

On Nov 8, 2015, at 6:03 PM, Goran Stankovski<EMAIL_ADDRESS>wrote:
@adamleff Ok. Was just pointing out that Oracle Cloud is an umbrella product offering that contains many PaaS, SaaS, and now IaaS services. The client in question is for the IaaS offering. Its analogous to creating a client called AWS that only provides EC2 capabilities, even though there are many more services available.
I'd like to start putting together GEM clients for some of the other PaaS services available in Oracle Cloud, namely, the Oracle Java Cloud Service (JCS), Oracle Database Cloud Services (DBaaS) and Oracle SOA Cloud Service (SOA), Oracle Integration Cloud Service (ICS). They will all have similar REST API interfaces.
What shall the naming of these GEMs be?
oraclecloud-jcs
oraclecloud-dbaas
oraclecloud-soa
oraclecloud-ics
Are these going to be acceptable? I think they may sense.
—
Reply to this email directly or view it on GitHub.

Sorry,  the  gem is for the PaaS services, spell check got in the way there.  JCS, DBCS, and object storage functionality is all available there, SOA is coming soon, Api's not fully published yet.  I am also adding document cloud service to the gem now. I typically add the functionality to the command line gem at the same time followed by the knife plugin, which is very basic at this point. I am reviewing the code here to see how easy it would be to integrate into this base.   I am a newbie compared to the experts at chef
Thank You,
Daryn

On Nov 9, 2015, at 1:36 PM, Daryn McCool<EMAIL_ADDRESS>wrote:
Gowan,
I have a gem for the pass api's called OPC. I have also started to tie it in to knife with a knife plugin as well, the integration into knife is just starting.
Thank You,
Daryn

On Nov 8, 2015, at 6:03 PM, Goran Stankovski<EMAIL_ADDRESS>wrote:
@adamleff Ok. Was just pointing out that Oracle Cloud is an umbrella product offering that contains many PaaS, SaaS, and now IaaS services. The client in question is for the IaaS offering. Its analogous to creating a client called AWS that only provides EC2 capabilities, even though there are many more services available.
I'd like to start putting together GEM clients for some of the other PaaS services available in Oracle Cloud, namely, the Oracle Java Cloud Service (JCS), Oracle Database Cloud Services (DBaaS) and Oracle SOA Cloud Service (SOA), Oracle Integration Cloud Service (ICS). They will all have similar REST API interfaces.
What shall the naming of these GEMs be?
oraclecloud-jcs
oraclecloud-dbaas
oraclecloud-soa
oraclecloud-ics
Are these going to be acceptable? I think they may sense.
—
Reply to this email directly or view it on GitHub.

Reviewed per request from @adamleff , :+1:

@Afterglow version 1.1.0 of the gem, which includes this PR, is available on RubyGems.

thanks @adamleff


Add thread_id to SendEmbed

Very simple fix, add a thread_id config option and pass it directly through to DIscord.Net's SendMessageAsync (its nullable, so you can just pass it as null if its null in config)
I want to move my webhook channel into a forum thread and this would help a lot

Added in v2.1.2


Run count(*) queries when counting relations instead of eager loading all entities

As the title says. A simple solution for the case when you might have a lot of related entities and you only want to display a count of them. Also makes the relations behavior consistent with the entities themselves, as $comments->count() already created a count(*) style query, while $article->getComments()->count() loaded all related data and populated all entities, which isn't really intuitive and quite of an overkill when all you want to do is displaying a counter.

I wonder if we should make this a little smarter - like doing the query by default, but just doing a simple count on the array if the relations are already loaded. That way, if you iterate over the relation or execute it first and THEN do a count, there will not be an additional query. Thoughts?

That's a good idea. I will add it tomorrow.
Maybe Query::execute() and Query::count() should be modified in a similar manner too?

That's a good idea. I will add it tomorrow.
Done.

Thanks @kelytha! :+1:


Fix dependent issues action

Follow up from #777.
cc @z0al @naveen521kk

Uhm I just added a personal token as requested, but I see this:   Error: env.GITHUB_TOKEN must not be empty

I think this is what @naveen521kk was warning us of.

Simply revert the previous commit and change the schedule cron to 30 min(*/30 * * * *) and also remove pull_request event.

Simply revert the previous commit and change the schedule cron to 30 min(*/30 * * * *) and also remove pull_request event.

Ok let's try it:
Depends on #777

Wait it need to be merged with master first for it to work. Or else it will run only 00:00 (UTC).

I think it won't work with merged PR? Will it?

Oof, yeah not sure.

It's been more than 30 minutes, so it seems it doesn't work on this closed PR.

It's queued and not yet run https://github.com/ManimCommunity/manim/runs/1480948978

Ah thanks

It finished running, it only checked open issues and PRs.

I think that is what is expected though.

Yes, I think this is working as best as possible up to now.
Hopefully we can figure out a way of running it on PRs too.

BTW the current schedule */30 * * * * means it will run at each hour-and-thirty minutes (00:30, 01:30, 02:30, etc), not every 30 minutes :sweat_smile:

Is https://crontab.guru/#/30_*_ wrong then? I think that is right?

I understand this as "every 30th minute after the our" :thinking: Maybe I'm wrong :thinking: :thinking: :thinking:
But also, the action seems to be running once an hour, no?

Oh wait seems like I am wrong. Welp.

Depends on #777

This needs to be in the PR description, not comments. Just like issues.
The way GitHub handles fork repos still confuses me.
@naveen521kk regarding the pull_request comment you had. I'm not sure about fork repos but for source repos pull_request events will work just like any other events and it will have the necessary token permissions. Here is an example

It finished running, it only checked open issues and PRs.

Do you expect it to update closed/merged issues/PRs? it doesn't.

With the exception of GITHUB_TOKEN, secrets are not passed to the runner when a workflow is triggered from a forked repository.

Oh, God. Why GitHub? Why

@naveen521kk regarding the pull_request comment you had. I'm not sure about fork repos but for source repos pull_request events will work just like any other events and it will have the necessary token permissions. Here is an example

Maybe because this is a forked repo?

It's for sure because it's a forked repo :)

I had the slightest idea of creating a dummy account on github as a bot and use it's personal token for everything related to this action. So, the bot's name, with our logo maybe will be shown instead of Github Actions. Also, that will be super cool though.

That's should work AFAIK. And yeah, that's something I miss from the old bot.

This needs to be in the PR description, not comments. Just like issues.

Yep, got it! :sweat_smile:

Do you expect it to update closed/merged issues/PRs? it doesn't.

Come to think about it, the current behavior is :ok_hand:

FYI, I learned that there is another event called pull_request_target that is suitable for this action use-case.
When used the action should get read/write token. Reported here. I updated the docs accordingly


MSAL.acquireToken () caused Fetch error in Edge and IE11.

In Chrome, the SPA that was successfully signed in,
MSAL.acquireToken () caused Fetch error in Edge and IE11.
AND , I  could not be specified userID.
Library

[v ]<EMAIL_ADDRESS>
Documentation location

[v ] Documentation does not exist
　The description that the usage is different between Chrome and IE11 or Edge is insufficient in the MSAL document.
Or, there may be a lack of description that if you try to use MSAL with an instance of a browser that signed in () Office 365 or Azure Portal, you may encounter trouble.
　(trouble:: I couldn't even choose a userId for OFFice365.)

Description
First, I opened Office 365 and Azure Portal page and did SignIn().
Next, I did SignIn() on the page using my MSAL.
(At this time, the user id could not be specified.)
And,,,,,,
When my SPA process passed MSAL.acquireToken() and reached Fetch, "Failed to load resource: net::ERR_FAILED" occurred.

Error Message

console.log is shown below.

Access to fetch at 'https://login.microsoftonline.com/64e2a4d8-2b52-4166-909d-XXXXXXXXXXXX/oauth2/v2.0/authorize
?response_type=code+id_token
&redirect_uri=https%3A%2F%2Fsupportersystem-demo1-makedataactivity2.azurewebsites.net%2F.auth%2Flogin%2Faad%2Fcallback
&client_id=d1789387-f340-464a-ace5-xxxxxxxxxxxx
&scope=openid+profile+email&response_mode=form_post
&nonce=328f294f06a4440cb7b64ac54db2ff9a_20200818095008
&state=redir%3D%252Fapi%252FWebApps_getResourceKeys1%253FtenantName%253D%2525E3%252583%252594%2525E3%252582%2525A2%2525E3%252582%2525B3%2525E3%252583%25258D%2525E3%252582%2525AF%2525E3%252583%252588%2525E3%252581%2525AE%2525E5%2525BE%25258C%2525E6%25258F%2525B4%2525E4%2525BC%25259A%2526code%253D5KTWXP4BvexMSq2bpAcGahWGXWs3GGIjLbadL1euTuGDCCbeXTLBCw%253D%253D'
 (redirected from 'https://supportersystem-demo1-makedataactivity2.azurewebsites.net/api/WebApps_getResourceKeys1
?tenantName=%E3%83%94%E3%82%A2%E3%82%B3%E3%83%8D%E3%82%AF%E3%83%88%E3%81%AE%E5%BE%8C%E6%8F%B4%E4%BC%9A&code=XXXXXXXXXXXXXXXXXXXX==')
 from origin 'http://localhost:3000' has been blocked by CORS policy:
 Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
 If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

NET WORK log is shown below.

MSAL Configuration
export const msalApp = new UserAgentApplication({
    // export const msalApp = new msal.PublicClientApplication({
    auth: {
        clientId:
            "d1789387-f340-464a-ace5-1df84244b661",
        authority:
            "https://login.microsoftonline.com/common",
        redirectUri:
            isIE() ?
                "https://supportersystem-demo1-makedataactivity2.azurewebsites.net/.auth/login/aad/callback" :
                window.location.protocol + "//" + window.location.hostname + ":" + window.location.port + "/" + "auth.html" // :
        ,
        validateAuthority: true,
        postLogoutRedirectUri: this_first_URL1, // document.URL,
        navigateToLoginRequestUrl: true
    },
    cache: {
        cacheLocation: "sessionStorage",
        storeAuthStateInCookie: isIE()
    },
    system: {
        navigateFrameWait: 500,
        logger: new Logger((logLevel: any, message: string) => {
            console.log(message);
        }),
        telemetry: {
            applicationName: "supportrt Association demo app",
            applicationVersion: "1.0.0",
            telemetryEmitter: (events: object) => {
                console.log('Telemetry Events:', events);
            }
        }
    }
});

Azure Function CORS setting

Hi @master-maintenance1-peer-connect . Is the sample app that you are using available publicly or did you make it yourself? Could you provide a link to the sample?

@technical-boy
The app that encountered the ISSUE was based on a publicly available sample, which changed the MS-Graph-API call to an API call in the HTTP trigger function of Azure Functions.
https://www.npmjs.com/package/react-aad-msal
The changes to the samples that are effective here are shown in the Figure in the first remark.
I learned by watching this based sample that IE11 and Edge are involved in what msalApp.acquireTokenRedirect and msalApp.acquireTokenPopup should be called.
I hope to improve the lack of documentation in MSAL on how to signin() Azure HTTP  triger Functions.
async acquireToken(request: { scopes: string[] }, redirect: boolean) {
                // @ts-ignore → error TS2345:
                // Argument of type '(error2: any) => void | Promise<AuthResponse>' is not assignable to
                // parameter of type '(reason: any) => AuthResponse | PromiseLike<AuthResponse>'.
                // Type 'void | Promise<AuthResponse>' is not assignable to type 'AuthResponse | PromiseLike<AuthResponse>'.
                // Type 'void' is not assignable to type 'AuthResponse | PromiseLike<AuthResponse>'.ts(2345)
                return msalApp.acquireTokenSilent(request).catch((error2) => {
                    // Call acquireTokenPopup (popup window) in case of acquireTokenSilent failure
                    // due to consent or interaction required ONLY
                    if (requiresInteraction(error2.errorCode)) {
                        return redirect
                            ? msalApp.acquireTokenRedirect({
                                ...request,
                                redirectUri: this_first_URL // "http://localhost:3000"
                            })
                            : msalApp.acquireTokenPopup(request);
                    } else {
                        console.error('Non-interactive error:', error2.errorCode)
                        throw error2;
                    }
                });
            }

@master-maintenance1-peer-connect we had the same issue, make sure you configure the AppRegistration correctly, especially inside the Authentication blade. Use "Single-page application" as a platform and set the redirect uri correctly.

@daniel-seitz Tanks to responce.
I tried your suggestion.
But the results have fallen back.

Previous AppRegistration setting:

Configuration as suggested:

Execution result:

AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.

When .auth/login/aad/callback is also removed:

Neither has reached the inside of the Azure function.
I used to reach my function in Azure function.


echarts 力关系图-节点拖拽时不实现节点高亮及背景反白效果

[x ] I am using English in this issue. 在这个 Issue 中我使用了英文（强烈建议）。

General Questions

[x] Required: I have read the document and examples and tried to solve it by myself. （必填）我读过了文档和教程，并且曾试图自己解决问题。
[x ] Required: I have searched for similar issues and that didn't help. （必填）我搜索过 issue 但是没有帮助。
[x ] Required: I have tried with the latest version of ECharts and still have this problem. （必填）我试过最新版本的 ECharts，还是存在这个问题。

In this issue, I have provided information with: 在这个 issue 中我提供了以下信息：

[x ] Required: issue type；（必填）issue 类型
[x ] Required: one sentence description in issue details；（必填）一句话的问题描述
[x ] Required: demo；（必填）能反映问题的例子（如果你想提问或报 bug）
[x ] Required: ECharts version；ECharts 版本

Issue Type

[x ] I have a question to ask about how to use ECharts to ...；我想提问如何使用 ECharts 实现某功能
[ ] I have a bug to report；我想要报 bug
[ ] I have a feature to request, e.g.: I'd like a new feature that ...；我需要一个新功能
[ ] I have a feature to enhance, e.g.: The current feature should be improved in the way that ...；我希望改进某个功能
[ ] There's something wrong with the documents；文档有些问题
[ ] Others, or I'm not sure which issue types to choose here；其他，或我不知道应该选什么类型

Issue Details

力关系图，鼠标悬停在节点或者连线上时，高亮和背景反白；拖拽节点时，也高亮和背景反白
Expected Behavior

力关系图拖拽节点过程中，节点不高亮和背景不反白
Current Behavior

力关系图拖拽节点过程中，节点高亮和背景反白
Online Example

悬停及拖拽节点的效果借用凹可卡的示例：
http://gallery.echartsjs.com/editor.html?c=xByJm_ypsl

Topics

[ ] Legend
[ ] Tooltip
[ ] Event
[ ] Performance
[ ] SVG
[ ] Map
[ ] ECharts GL
[ ] Third-party libraries, e.g.: Vue.js, React

Anything Else We Need to Know

Environment

ECharts version；ECharts 版本: {DESCRIBE_HERE}

"echarts": "^4.2.0-rc.2"

[ x] It happens only on certain browsers or operating systems. 对于特定浏览器或操作系统才会出现的问题，请提供相应环境信息：{BROWSER_VERSION_OR_OS_INFORMATION_HERE}

BROWSER_VERSION: chrome 版本 71.0.3578.98（正式版本）
OS_INFORMATION: macOS High Sierra 10.13.6 (17G65)

应将http://echarts.baidu.com/option.html#series-graph.focusNodeAdjacency设置为false。

thanks
but it isn't the result i want


Report class has incorrect field name

It appears that the Report class has an incorrect field name.. and there is no test coverage for this. The below change seems to fix the issue.
class Report(BaseModel):
    id: int
    slack_ts: Optional[str]
    standup_id: str
    timestamp: int
    channel: str
    is_anonymous: Optional[bool]
    member: User
    questions: List[Answer]
    # answers: List[Answer]

Hi Matthew,
Thanks for the report. I'd be happy to approve a PR that makes this change and adds testing for it!

Hi - I'm trying to model my test for reports on the teams test, and am a bit unclear about the below.. could you clarify. thanks
def test_get_teams_one_team(test_client, fake_team):
    test_client["requests_mock"].get(
        # shouldn't this be json=[fake_team.dict()]
        url=test_client["client"].teams._get_request_path(), json=fake_team.dict()
    )
   ...

Hi Roy,
That test is testing that when the API returns a single team, instead of a list, that the code operates properly.

https://github.com/andrewthetechie/geekbot-api-py/pull/21

https://github.com/andrewthetechie/geekbot-api-py/releases/tag/v0.2.1
Thanks for the fix!


Feature: enable tagging users in the highlights

Type of feature
🍕 Feature
Current behavior
When we use the @ symbol we are not being able to tag a user.
I was writing this highlight https://app.opensauced.pizza/feed/759 and wanted to tag @nickytonline but could not do that, and this feature was not supported.
Suggested solution
Backend:

Have a search API for that either in the backend or by using the GitHub Search API
Show user suggestions based on the search

Frontend

allow the tagging of users
show the users based on the written initials
notify the tagged user

For reference, we could check the GitHub Search API:
https://docs.github.com/en/rest/search/search?apiVersion=2022-11-28
Additional context
No response
Code of Conduct

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

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

There's some things to consider for this.

a notification would need to be sent for the user that was tagged
moderating tagging of people

on dev.to we set a tag maximum so that you couldn't tag 100 people

a component to find the person you want to tag. We could leverage the same functionality in search. Building this component is pretty difficult for it to be accessible.   - We can definitely use the same logic we did at dev.to or we could see if someone has built one out in Radix. The main issues are handling focus and your position in the text field.

Maybe as a first pass we can keep it simple for an easy win and just check if someone was tagged and notify them and consider the autocomplete component as a second phase. Moderation would need to come pretty quickly after though.

for moderation we could have a simple check to allow you only to tag those people who followed you. This way we could minimize the spam, people would not follow you if you are a spam bot.


Modify username plugin not working

I have been using modify username plugin since pGina <IP_ADDRESS>. Since we moved to Windows Server 2016 I had to upgrade pGina to <IP_ADDRESS>, on this version modify username plugin is still working fine. I am experiencing some RDP login issues with <IP_ADDRESS> so I decided to test pGina <IP_ADDRESS>, unfortunately it seems that modify username plugin is no longer working on this version.
My configuration is to truncate user entered username and replace it with "administrator", <IP_ADDRESS> does not replace username before validating credentials as I get error that user entered username is not existing on target domain.

pGina does now support domain logins
you need to tell pgina that you want to logon locally by typing
.%Username%


Be able to choose which tables to show in diagram

Is it possible to choose which tables are drawn in ER diagram? Sometimes I want to see only the relations of a few tables and not all of them.
This would be a feature request.
Thanks :-)

So far there is no way to restrict it like you want. At least that is what I know as a power user of DBeaver.

Yes... I suspected as much :'( thus the request ;-)

You can create custom ER diagram and put any number of tables there (even from different connections).
CTRL+N->ER diagram

That's what I wanted. Thanks a lot.

 I can't continue.

Just enter some diagram name

Didn't see the input field. I must have been blind haha. Thanks @serge-rider!


"Mock" model

We are developing some application on ollama and the performance would be ok for a user, however when we are developing software the lag time to generate can be very slow.
Would it be possible to build a "development" model that didn't have a lot of parameters but at least let you build a product at a reasonable pace?

Maybe try this:
https://ollama.com/library/tinyllama:1.1b-chat-v0.6-q2_K
https://ollama.com/library/qwen2:0.5b-instruct-q2_K

@mweel1 Definitely check out some of the smaller models that @mili-tan mentioned. There is also the 2B gemma model.


[6.0.0+1] Mocked field in Position is deleted

I upgraded geolocator to 6.0.0 from 5.3.1 and the mocked field in Position is deleted. Is this intended? Unlike iOS, Android users can easily fake their GPS with 3rd party apps so my app checked 'mocked' field to avoid mocked location. I am not sure why this field is deleted in the latest update.

@njovy can you explain why / how you use the mocked field? When I did the rebuild I didn't see any use for it that's why I removed it.

@mvanbeusekom My app uses a physical location to match users. We don't allow users to fake their location because of a lot of complaints. Very few android users fake their GPS coordinate and this behavior disrupts "real location only" system.
Android provides a built-in method to check if this coordinate is mocked or fetched from GPS so developers can allow mock data if they want. As far as I know, mocked field was added as developers requested. Deleting this field without any notice doesn't make sense to me.

@njovy just to give you some background information, this feature was added by someone from the community but never explained what is does.
I understand it now and will add the feature back in for the next release including proper documentation.

@mvanbeusekom Thank you very much for rapid response and adding mocked field back!

@njovy I have just released version 6.0.0+2 which now includes a isMocked property in the Position class.
On iOS the value will always be false, however on Android this will indicate is the position was retrieved from the Location.MockProvider. If so the value will be true or else it will be false.

@mvanbeusekom Thank you for this update!


various updates to 0.1.7

fix C++ g++-6/clang++-4 errors

Fixed most compiler warnings -Wall -Wextra
repro:
CFLAGS="-Wall -Wextra -Wunused-parameter -Wc++-compat" ./configure && make

add 2 new flags:

problem_nonstrict to yaml_parser_t
indentless_map to yaml_emitter_t

indentless_map is for backcompat with yaml readers.
It changes the default indent behavior of map elements,
advance the indent the children of the map
according to the spec: 6.1 Indentation Spaces:

      "Each node must be indented further than its parent node.  All sibling nodes
      must use the exact same indentation level.  However the content of each
      sibling node may be further indented independently."
      http://yaml.org/spec/1.2/spec.html#id2777534

This make it readable by YAML.pm (perl),
and behaves the same as all other YAML writers.

problem_nonstrict is to skip aborting on some reader errors:
"control characters are not allowed"
The error is set, but parsing is continued. This allows optionally
accepting invalid string values, copy-as-is, avoiding data-loss.

Hi @rurban! Thanks for collating all of this. It'd be easier to review, however, and would make our lives better if you could split this up into separate pull requests.
Fixing compiler errors and warnings is fine, but tossing in new code atop that makes things very difficult to review. Please split these out.

@sigmavirus24 no. I submitted these accumulated changes over the last year in various forms to the various proper upstream places. now this seems to be a new upstream.
do it by yourself, or I'll have to fork it, when you are not able to maintain it and be able to discuss any problems. yaml is seriously broken and see no willingness to fix it upstream.

Just a note: @tlsa helped finding out that the yaml_free(version_directive) in commit "fix version_directive memory leak" is actually wrong.
@tlsa's suggestion was:
if (version_directive_ref == NULL) {
        yaml_free(version_directive);
}

I confirmed that with:
% echo "%YAML 1.1\n--- foo" | ./tests/run-parser-test-suite
+STR
+DOC ---
=VAL :foo
-DOC
-STR

vs.
% echo "%YAML 1.1\n--- foo" | ./tests/run-parser-test-suite
+STR
+DOC ---
=VAL :\0\0\0
-DOC
-STR


[sdiag] collect slurm daemon stats

Collect some baseline rpc stats for now to track load and effects of config changes for admins
resolves #28

I'll update the example dashboard as well

We don't need to report sdiag avg time. We can simply query the total_time and count counters
(rate(slurm_rpc_user_total_time{instance="$instance"}[$__rate_interval]) / on(user) rate(slurm_rpc_user_count{instance="$instance"}[$__rate_interval])) > 100

Example Vis (in published dashboard)


Can't build project after upgrade to Flutter 2.10.3

After upgrade to Flutter 2.10.3, I can no longer build my project unless I remove disk_space, getting error Execution failed for task ':disk_space:compileDebugKotlin'.  See proposed fix in pull request.
Versions:

disk space 0.2.1
Flutter 2.10.3
Dart 2.16.1

e: Incompatible classes were found in dependencies. Remove them from the classpath or use '-Xskip-metadata-version-check' to suppress errors
...
e: c:\FlutterDev\flutter\.pub-cache\hosted\pub.dartlang.org\disk_space-0.2.1\android\src\main\kotlin\de\appgewaltig\disk_space\DiskSpacePlugin.kt: (14, 6): Class 'kotlin.jvm.JvmStatic' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16.
The class is loaded from C:/Users/ahart/.gradle/caches/transforms-3/386454215e6950cb1162d1da9ff12466/transformed/jetified-kotlin-stdlib-1.5.31.jar!/kotlin/jvm/JvmStatic.class
e: c:\FlutterDev\flutter\.pub-cache\hosted\pub.dartlang.org\disk_space-0.2.1\android\src\main\kotlin\de\appgewaltig\disk_space\DiskSpacePlugin.kt: (16, 7): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16.
The class is loaded from C:/Users/ahart/.gradle/caches/transforms-3/386454215e6950cb1162d1da9ff12466/transformed/jetified-kotlin-stdlib-1.5.31.jar!/kotlin/Unit.class
...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':disk_space:compileDebugKotlin'.

Try it flutter version 2.5.0

Try it flutter version 2.5.0

thats not a solution, please accept the pull request

got the same build issue

Try it flutter version 2.5.0

Why would you downgrade the Flutter version?

@eric-nextsense, @aravind-b-dev
Since this package hasn't been updated in 2 years and the maintainers haven't responded to any issues or pull requests, I created a new repository: https://github.com/activcoding/disk_space_2. The updated package, which should work, is available here: https://pub.dev/packages/disk_space_2.


Autocomplete snippets generated by emmet-ls

I don't get emmet snippets from https://github.com/aca/emmet-ls while typing in (for example) css file, but when I press Tab on string that should generate snippet menu with emmet option pops up (snippet is not expanded in menu as it is with Vetur). But I am then unable to select and expand it with enter.
Please see here:
https://user-images.githubusercontent.com/69750637/108285825-3eead380-7188-11eb-8b15-f0eb6f708fae.mov
Any idea what might be wrong here? emmet snippets provided by Vetur in Vue file do work as expected.
Configuration:
compe:
local t = function(str)
  return vim.api.nvim_replace_termcodes(str, true, true, true)
end
local map = vim.api.nvim_set_keymap

require "compe".setup {
  preselect = "always",
  source = {
    path = true,
    buffer = true,
    vsnip = true,
    nvim_lsp = true,
    spell = {filetypes = {"mail", "gitcommit"}}
  }
}

-- Various key mappings.
map("i", "<C-e>", "compe#close('<C-e>')", {silent = true, expr = true})
map("i", "<C-f>", "compe#scroll({delta = +4})", {silent = true, expr = true})
map("i", "<C-d>", "compe#scroll({delta = -4})", {silent = true, expr = true})

-- Use (s-)tab to:
--- move to prev/next item in completion menu
--- jump to prev/next snippet field
local check_back_space = function()
  local col = vim.fn.col(".") - 1
  if col == 0 or vim.fn.getline("."):sub(col, col):match("%s") then
    return true
  else
    return false
  end
end

_G.tab_complete = function()
  if vim.fn.pumvisible() == 1 then
    return t "<C-n>"
  elseif vim.fn.call("vsnip#available", {1}) == 1 then
    return t "<Plug>(vsnip-expand-or-jump)"
  elseif check_back_space() then
    return t "<Tab>"
  else
    return vim.fn["compe#complete"]()
  end
end
_G.s_tab_complete = function()
  if vim.fn.pumvisible() == 1 then
    return t "<C-p>"
  elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
    return t "<Plug>(vsnip-jump-prev)"
  else
    return t "<S-Tab>"
  end
end

map("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
map("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
map("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
map("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})

-- Work with nvim-autopairs.
local npairs = require("nvim-autopairs")

OnEnter = function()
  if vim.fn.pumvisible() == 1 then
    return vim.fn["compe#confirm"]()
  else
    return npairs.check_break_line_char()
  end
end

map("i", "<CR>", "v:lua.OnEnter()", {expr = true, noremap = true})

lspconfig:
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true

local configs = require "lspconfig/configs"

configs.emmet_ls = {
  default_config = {
    cmd = {"emmet-ls", "--stdio"},
    filetypes = {"html", "css", "scss"},
    root_dir = function()
      return vim.loop.cwd()
    end,
    settings = {}
  }
}

lspconfig.emmet_ls.setup {
  capabilities = capabilities
}

Great thanks!

I don't know if emmet-ls supports VSCode behavior or not.
If emmet-ls supports VSCode's completion behavior, I want to support emmet-ls on nvim-compe.

@hrsh7th Thanks for coming back to me. I am not sure what you mean by VSCode behaviour and whether emmet-ls supports it, but codebase seems rather simple and it's based on vscode-languageserver (https://github.com/aca/emmet-ls/blob/a6c80782fc50c884e50cb8449d3d1842db2f0ef1/src/server.ts#L11). How can I help?

The LSP completion is really complex because coc.nvim / VSCode / and other completion engine does not behave as the same.
If emmet-ls can work as expected on VSCode, I want to support it on compe.
But if emmet-ls is specialized in the completion-nvim, I can't support it.

I would like to raise an issue with emmet-ls, just not sure what to ask for exactly.

Okay, I will look in to how to work compe with emmet-ls.

https://github.com/windwp/emmet-ls
this is not a problem of nvim-compe.
@cloggier  you can test my fork . snippet completion is working now but the cursor is not correct and a indent is always space :)
I don't know how to fix a cursor issue because the library emmet on npm is not supported that.

Can I use npm to install your version?
And so many thanks for looking into it. You could have just said it is not an issue with compe and leave it there. Your commitment and support you provide to the community is outstanding and I can't thank you enough!

remove the old global package emmet-ls then in directory of my fork run npm run build  and npm link

Thank you for your work @windwp

@hrsh7th  hi i need a little help about vim-vsnip
if i have a snippet like this

\n\t
${1}
\n\t
${2}
\n\t
${3}
\n\t
${4}
\n

${1} ${2} is a cursor format
i want to use vim-vsnip feature to jump to next cursor is that possible?

It works so much better now, thanks!
Couple of issues that actually might be compe related, so will stick them here.

compe is not always opening completion menu and I have to press tab (compe#complete()) to show, it then works fine for most cases.

compe will not open completion menu at all for this example snippet from documentation: p!+m10e!; opens fine, but not automatically, if I remove last !.

Pressing <backspace> in typed in snippet does not update completion menu item and its preview. So if you type m10+p10 (css snippet) it will correctly show in completion menu and expand in preview window, but then deleting it so it shows only m10 does not update what compe shows. I have to cancel completion and trigger it again to show correctly.

Can't get compe to trigger for ! snippet (not opening completion menu at all).

tr+ is not showing at all (tr is OK).

[not compe problem?] html:4t wants to expand to  instead proper html skeleton (see here https://docs.emmet.io/cheat-sheet/).

It almost works perfectly though!

@windwp Do you have a mapping that vim-vsnip's README.md?
https://github.com/hrsh7th/vim-vsnip#2-setting

Another issue I just discovered is:

that emmet-ls' completion item will overshadow those of css lsp, like shown below:

With emmet:

and without:

@hrsh7th It is a snippet from lsp.

that emmet-ls' completion item will overshadow those of css lsp, like shown below:

I will tacke it maybe (I think it is compe's problem)

@windwp I think this is language-server's problem. I guess the reason is that language server would not set insertTextFormat = 2 to CompletionItem.

You can set insertTextFormat in https://github.com/aca/emmet-ls/blob/a6c80782fc50c884e50cb8449d3d1842db2f0ef1/src/server.ts#L146

@hrsh7th  Thank it is working now. :heart:

I believe few of my concerns listed in few posts above are still relevant. Could check them later.

@windwp fork works 'kind of' for me but it still working really poorly.
I do get snippet completions sometimes.. but mostly not.

My compe setup is
require'compe'.setup {
  enabled = true;
  autocomplete = true;
  debug = false;
  min_length = 1;
  preselect = 'enable';
  throttle_time = 80;
  source_timeout = 200;
  resolve_timeout = 800;
  incomplete_delay = 400;
  max_abbr_width = 100;
  max_kind_width = 100;
  max_menu_width = 100;
  documentation = {
    border = { '', '' ,'', ' ', '', '', '', ' ' }, -- the border option is the same as `|help nvim_open_win|`
    winhighlight = "NormalFloat:CompeDocumentation,FloatBorder:CompeDocumentationBorder",
    max_width = 120,
    min_width = 60,
    max_height = math.floor(vim.o.lines * 0.3),
    min_height = 1,
  };

  source = {
    path = true;
    buffer = true;
    calc = true;
    nvim_lsp = true;
    nvim_lua = true;
    vsnip = true;
    ultisnips = true;
    luasnip = true;
  };
}

and emmet-ls setup
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true

if not lspconfig.emmet_ls then
  configs.emmet_ls = {
    default_config = {
      cmd = {'emmet-ls', '--stdio'};
      filetypes = {'html', 'css'};
      root_dir = function(fname)
        return vim.loop.cwd()
      end;
      settings = {};
    };
  }
end

lspconfig.emmet_ls.setup{
  capabilities = capabilities,
}

Are others getting similar behavior as me or are there any known fixes?

my fork is already merged so you can install it by npm.
i don't use that server now but if the complete doesn't appear so you can force it appear by ctrl+space

Thank you for your work. I have the same problem visible above. A space is added all the time before and after the tag. What can I do so that these extra spaces do not add up?


Adding metrics to Swift Jobs

Here's my first attempt at adding Observability to the Swift jobs project.
I would love some feedback on how to make metrics better.  cc @adam-fowler
Since everyone might use different tools to display their dashboards, I will attempt to provide a grafana dashboard as it is what I am most familiar with.
Lastly, most of the tests are a compilation of the current job tests and Hummingbird metrics tests.

Here are some initial comments. In general this look good, I was wondering if it is worthwhile adding a metric for the retry count.
For another PR if we added a dateCreated to the QueuedJob, we could add a time job queued metric. In a way dateCreated is probably a useful piece data regardless.

Thanks, for the feedback. I added a retry counter. I will open another PR to add both createdAt and maybe Job name? Right now, Job.id.name does not always exist in every context. In some context, it's just Job.id which is a UUID.

Looks great! Just one bit of consistency

I think this Pull request is ready. Below is a dashboard I created to test this implementation.
Next step would be to add tracing and queued at to compute avg wait time.

also previous implementation of the dashboard to show the failed metrics

This is great

Please merge at your convenience! What's the best place to share RED metrics dashboards? I am in the process of creating a few  Grafana dashboards for Hummingbird.
There would be three dashboards in total:
1 -  Display the overall health of an application including jobs and http metrics, spans and error logs.
2 - Display Http metrics, spans and error logs
3 - Display Jobs metrics, spans and error logs

Just waiting on a final approval from @Joannis

@thoven87 I'd love to post them either in a docs section, on docs.hummingbird.codes as a DocC guide. I think we can also highlight it on swiftonserver.com

@thoven87 I'd love to post them either in a docs section, on docs.hummingbird.codes as a DocC guide. I think we can also highlight it on swiftonserver.com

@Joannis I suppose for DooC guide it would need to be added in a section in this repository Indeed, it would be great to highlight it on swiftonserver.com as well.

You could possibly include something in the observability docs but https://docs.hummingbird.codes/2.0/documentation/hummingbird/loggingmetricsandtracing.
I think an end to end metrics and tracing article in swiftonserver.com which uses these would be a great addition.

Thanks Adam, I will take a look and see what I can do.


Does change tracking detect changes in nested lists?

Yes it does work for nested collections. Thanks 👍


Password appeared in plaintext on screen when attempting to answer clue scroll

Went to answer a challenge clue scroll question, the input box for the answer opened, but when I typed the answer, my username and password appeared behind the answer (in a non-RS font) in plaintext. After restarting the client, I cannot recreate this but feels like its worth mentioning as this could be a potentially serious problem.
at the same time I kept getting that thing where I couldn't press enter to send messages on runelite, no idea if its related.
Environment

OS: Windows 10
RuneLite version: [e.g 1.5.16]
Launcher version: [e.g 1.6.0]

This was already solved, it was because rl was outdated

Additionally after the update we fixed this in f7a937463991e193d52752302b5604d317455339 - what happened is the chat box close hooks were not working due to the update, which caused the chatbox input scripts which RL uses to capture keystrokes on the login screen which it then placed into chatbox inputs later.

Thanks for the explanation, can I ask why runelite needs to capture keystrokes on the login screen? Im not familiar with how 3rd party clients need to operate but that sounds odd at face value.

It doesn't. The bug caused it to not stop capturing (which it does for chatbox input to work) when the game changed to the login screen. It has to capture input for chatbox input dialogs to work. The bug was triggered by the game update. But now we have changed the code to be more safe.


Add buck to the path

Add buck to the current path.

I had this setting up symlinks before from /usr/src/buck/bin into /usr/local/bin. Did that stop working?

I must have broken that. Let's close this and I'll bring that back


⚠ Basic API has degraded performance

In d0fd476, Basic API (https://fyle.uk/server) experienced degraded performance:

HTTP code: 200
Response time: 11859 ms

Resolved: Basic API performance has improved in 2046f18 after 49 minutes.


Where to report robot configuration files issues

I think there is a risk of overlap between the issue tracker of this repo (robots-configuration) and icub-support that covers issue relative to a specific instance of a robot.
Where should problems related to errors in configuration files be reported? Here or in icub-support?
What do you prefer to have them @julijenv ?

I think it's better to have them in robots-configuration.

Perfect, thanks!


Adjustable sizing

The sizing of the video - in the available space - depends on the use case or on the user preference.
I had four sizing options in my old node-red-contrib-ui-mp4-player.  That might perhaps be usefull here?

Below all the code that was implemented in my old node:
Config screen

         Resize
        <select id="node-input-resizing">
            <option value="stretch">Stretch</option>
            <option value="crop">Fit and crop</option>
            <option value="fit">Fit without crop</option>
            <option value="none">None</option>
        </select>

Frontend
        // Resize the video by setting the CSS object-fit attribute.
        // See image example at https://tympanus.net/codrops/css_reference/object-fit/
        switch (config.resizing) {
            case "fit":
                // Keep the aspect ratio and leave the remaining svg area empty.
                objectFit = "contain";
                break;
            case "crop":
                // Keep the aspect ratio and crop part of the image, to fit it in the shortest dimension.
                objectFit = "cover";
                break;
            case "stretch":
                // Don't keep the aspect ratio, i.e. stretch the image in both directions to fit the entire svg area
                objectFit = "fill";
                break;
            case "none":
                // Don't keep the aspect ratio, i.e. stretch the image in both directions to fit the entire svg area
                objectFit = "none";
                break;
        }

        var sourceStyle = "z-index:1; position:relative; width:100%; height:100%; object-fit:" + objectFit + "; max-width:none; max-height:none; top:50%; transform:translateY(-50%);";

        // Parent div container.
        // Set height to 'auto' (instead of 100%) because otherwise you will get a vertical scrollbar: reason is that the height or width of the element, are
        // the first thing that will be calculated. Only afterwards the margins and paddings are added. So if you have an element with a height of 100% and top
        // and bottom margins (applied by the Node-RED parent elements) of 10 pixels each, there will be a scroll bar for the extra 20 pixels.
        // See more detail on https://www.lifewire.com/set-height-html-element-100-percent-3467075.
        // Set the video muted, to avoid "play() failed because the user didn't interact with the document first" ...
        // TODO remove the pointer-events on the svg tag afterwards: it is added to test the right click popupmenu
        var html = String.raw`
                              <div style="width: 100%; height: 100%; overflow: hidden; border: 1px solid black;" ng-init='init(` + configAsJson + `)'>
                                <video id="mp4_player_video_` + config.id + `" style="` + sourceStyle + `" muted playsinline >

Your browser does not support the HTML5 Video element.

                                </video>
                                <svg id="mp4_player_svg_` + config.id + `" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position: absolute; z-index: 2; left: 0px; top: 0px; width: 100%; height: 100%; pointer-events:none">
                                </svg>

`;
        return html;

I have implemented this, but the above options were very confusing.
So I have now mapped them to these:

Short demo of how it looks like when changing the resizing dynamically:


Subclass addition to Class

It would be nice if from class level up itself you can make it so that the player can pick the subclass they want.

That would be the subclass advancement planned in #1407. :-)


Local baggage is unintentionally propagated to remote (Brave)

I'm not sure if it's a bug or a spec, but let me just report it.
Environment

spring-boot: 3.1.2
micrometer-tracing: 1.1.13
brave: 5.15.1

Issue Summary

local baggage is propagating to remote server
This problem occurs when using W3C propagation (This problem does not occur when using B3 propagation)
I think it's a bad problem because confidential information can be propagated outside

Issue Detail
First, the reproduced code is written in gist. ( I wrote it in spring boot. Sorry.)
https://gist.github.com/be-hase/044ee50d7dccce931ce4722660e56f3c
Set up a local baggage as follows.
@Bean
public BaggagePropagationCustomizer baggagePropagationCustomizer() {
    return builder -> {
        builder.add(
                BaggagePropagationConfig.SingleBaggageField.local(BaggageField.create("test-baggage"))
        );
    };
}

Run the program and check the log. The contents of the baggage header contain local baggage.
user-agent: ReactorNetty/1.1.9
...
baggage: test-baggage=value <-- HERE

Why
It appears to be sent by this code.
https://github.com/micrometer-metrics/tracing/blob/1.1.x/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/W3CPropagation.java#L341-L364
There is an implementation that does not send local baggage, but this is not working.
https://github.com/micrometer-metrics/tracing/blob/1.1.x/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/W3CPropagation.java#L347-L348
It is designed to specify local baggage from the constructor.  But this should be generated automatically like brave.
https://github.com/openzipkin/brave/blob/9f4f166f97a3645e7514c0db920eb02bb3666e7d/brave/src/main/java/brave/baggage/BaggagePropagation.java#L194
However, perhaps this is a spring boot issue. spring boot always specifies empty here.
https://github.com/spring-projects/spring-boot/blob/6c56379c2549fba8eb6304bbd39733fe96a8044c/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/CompositePropagationFactory.java#L142-L145
thanks.

Hey, thanks for the analysis.

However, perhaps this is a spring boot issue. spring boot always specifies empty here.
https://github.com/spring-projects/spring-boot/blob/6c56379c2549fba8eb6304bbd39733fe96a8044c/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/CompositePropagationFactory.java#L142-L145

I think this is exactly the reason why the baggage gets propagated even though it is local. From the point of view of BaggageFields we don't know that they are local. The only way to back off is by passing the list of local keys via the constructor - that isn't done by Boot.
You can file an issue in Boot and until then you would have to override the existing defaults with some manual bean setting - look at this snippet and other the baggage related ones in the whole class https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/BraveAutoConfiguration.java#L187-L191

Thank you. :)
I will submit the issue on the spring boot side.

This problem has been fixed on the spring boot side.
ref: https://github.com/spring-projects/spring-boot/issues/37109


Strange behaviour of padding

Hi,
padding works very strange when used on VerticalSeekBar (not the wrapper). Padding(all) seems to work for left and right but not top and bottom. PaddingLeft/Right seems to work for bottom only. Also padding works differently between API23 and previous APIs, at least inside of CardViews.
Best,
Burtan

Hi, @Burtan. Thank you for the issue report. I hope I have fixed this issue by this commit.
Could you try the latest develop branch code and check whether it works as expected on your app? Thanks.
repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
 compile 'com.github.h6ah4i:android-verticalseekbar:2c901c59b230d1f94abdbe24165972bf72454b80'
}

Is the dependencies link correct? I cannot resolve it, although jitpack is added to the repo list.

At least the above gradle settings code works for me.

@Burtan Hi. Any updates on this issue?

Hi, the gradle compile link still does not work for me. I've tried to download the source code and import it as a module into my project, but the module had missing files and thus didn't work.

@Burtan Hmm... that seems strange. JitPack is working well, and the repository contains full of required files.
Could you upload the error log messages here? I will take it a look at it.

@Burtan Hi. Any progress? I am going to merge the develop branch and release it as v0.7.0.

NOTE:
Padding android:paddingLeft and android:paddingRight are just ignored for SeekBar on Android 5.0 or later, so VerticalSeekBar also affects the same limitation. The commit 2c901c59b230d1f94abdbe24165972bf72454b80 fixes broken padding handling on API level 10 and improves touch event handling with padding specified VerticalSeekBar.

v0.7.0 is out.

I was finally able to test it and it works great, thanks!


Write flag is turned on when deleting a key from a map, even if the key doesn't exist

What version of Go are you using (go version)?
go1.13 darwin/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/amdavidson/Library/Caches/go-build"
GOENV="/Users/amdavidson/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/amdavidson/dev/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/3p/ydb2x5ls4b94ysv8bw2m8_48fvsncb/T/go-build154927085=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you expect to see?
map write flag is shouldn't be set if the key in the map doesn't exist.
What did you see instead?
map write flag is set when deleting an item even if the key doesn't exist in the map.
What did you do?
The issue arises when 2 goroutines access the map at the same time. The first reads an item from the map, and the second deletes a key from it. Even if no key is found and no write was made, the reading goroutine will suffer concurrent read-write since the write flag is turned on before we check to see if the key exists.
https://github.com/golang/go/blob/11f92e9dae96939c2d784ae963fa7763c300660b/src/runtime/map.go#L709
Few lines before it is mentioned the write flag is turned on only after t.hasher ran since it may panic and no commit (write) will be made. This problem I suggested is similar.

The issue arises when 2 goroutines access the map at the same time. The first reads an item from the map, and the second deletes a key from it. Even if no key is found and no write was made

Why would you want to do this in the first place, though? At best, it makes no sense. At worst, it's considered a data race, which is why the runtime panics.

Concurrently reading and attempting to write or delete a key is a data race. The data race detection during normal runtime is best effort and might not trigger for all data races.
https://golang.org/doc/faq#atomic_maps
If the goroutine attempting deletion is known always to not delete a key to goroutine does not need to try to delete the key. If the goroutine sometimes actually deletes a key then this will trigger a data race warning even if the map implementation is changed to not set the hashWriting flag when no actual internal structure is changed.
In the current implementation there might not be a write to internal data structures but in the future there might be e.g. for bookkeeping and internal reorgantzaiion of the map for shrinking (even if no key was found).


Unreliable I2C access on Raspberry Pi 2

I have a Witty Pi 4 attached to a Raspberry Pi 2, running a freshly installed Raspbian. I installed the software with https://www.uugear.com/repo/WittyPi4/install.sh and rebooted the Pi.
Currently the Pi 2 is being powered from its own 5V input. There is a CR2032 cell installed in the Witty. Nothing else is attached to the GPIO header or to the Witty Pi.
It seems that accessing the I2C interface does not work reliably:
$ ./wittyPi.sh
================================================================================
|                                                                              |
|   Witty Pi - Realtime Clock + Power Management for Raspberry Pi              |
|                                                                              |
|            < Version 4.13 >     by Dun Cat B.V. (UUGear)                     |
|                                                                              |
================================================================================
Error: Read failed
Error: Read failed
Error: Read failed
>>> Current temperature: 24°C / 75.2°F
>>> Your system time is: 2023-05-25 13:08:02 BST
Error: Read failed
Error: Read failed
Error: Read failed
Error: Read failed

Running i2cdetect reliably shows the device at address 0x08:
$ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

However, reading a single register with i2cget only works about 25% of the time:
$ i2cget -y 1 8 0
0x26
$ i2cget -y 1 8 0
Error: Read failed

Using i2cdump will read out most of the registers successfully, but 4-5 consecutive reads will always fail, as indicated by the XX XX XX XX XX entries here:
$ i2cdump -y 1 8
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f<PHONE_NUMBER>abcdef
00: 26 05 0a 05 01 01 48 00 00 00 00 03 01 00 00 00    &?????H....??...
10: 08 00 04 ff 64 32 ff 00 14 14 00 00 00 00 00 00    ?.?.d2..??......
20: 00 00 00 00 00 76 01 00 00 00 00 00 00 00 00 00    .....v?.........
30: 00 00 17 00 4b 50 00 00 76 00 d8 09 13 25 04 05    ..?.KP..v.???%??
40: 23 80 80 80 80 80 00 18 00 00 00 00 00 00 00 00    #?????.?........
50: 00 00 00 00 00 00 00 00 01 00 01 00 01 00 00 00    ........?.?.?...
60: 01 11 00 30 02 4f 0b 99 07 00 00 04 01 00 00 e8    ??.0?O???..??..?
70: 03 00 00 00 00 00 00 75 01 14 01 00 00 e8 03 00    ?......u???..??.
80: 00 00 00 d2 00 00 00 00 00 a7 00 00 03 01 00 00    ...?.....?..??..
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 XX XX XX XX XX 00 00 00 00 00 00    .....XXXXX......
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 70 01 40 01 25 02 0b 02 8d    .......p?@?%????
d0: 01 8c 01 00 00 00 00 bb 06 66 02 60 02 4f 02 3e    ???....??f?`?O?>
e0: 02 8c 01 00 01 e5 00 57 00 00 01 48 87 0a 5d 00    ???.??.W..?H??].
f0: 00 00 01 78 00 00 19 35 be 02 08 e1 56 e9 03 01    ..?x..?5????V???

The issue is not with specific registers, these XX groups may occur anywhere in the register map.
Any ideas?

If your Pi 2 was powered by its own power supply, it boot directly and you most probably did not tap the button on Witty Pi 4 (so its white LED blinks), is it the case?
When the white LED blinks, Witty Pi 4's MCU is in sleep mode, and gets woke up every few seconds (for blinking the LED etc.). If your I2C request comes when MCU is awake, it gets processed properly, otherwise not.

Ah OK, that makes sense. I was trying to get everything set up before installing it with a 12V supply, but I guess I'll need to do that first, or at least tap the button to wake it.

I pressed the button when starting up the Pi so that the MCU would be in the right state, and now I2C is reliable. Thanks!