Dynamic geofencing (suggestion)

Hi, I use Traccar for a long time now and I'm very pleased with your work! Please, please keep up the good work!
As a suggestion (not sure if this is already possible, if so let me know) I would like to introduce dynamic geofencing. For this I wrote a (C) program that queries the Traccar MySQL database every ten seconds or so in order to find out the current position of my car. Whenever the car moves out of the, in the C program defined geofence area, the program send me a email that the car is moving. Nothing special. However when the C-program detects a new steady position (i.e. car is parked) it creates a new geofence around it's current position and mails me the current position. The program considers a new steady position after the car stays motionless after a certain time ( 5 min. or so). This steady state period is used the rule out traffic jams. The new position is then the new/current geofence area. This dynamic geofencing helps me notifying that the car is moving without me......
Hope the suggestion is clear. Let me know if not.
Greetings.

Yes, it pretty clear. Not sure how to detect parking though.
There were also similar suggestions. For example some people have Traccar Client on their phones and they want a notification if their car moves when phone is not in the close proximity, which means someone else is driving.

You can't detect parking (I guess) so one has to assume that when the car is not moving for 5 minutes or so  the car is parked. It could mean however that when you're stuck in a traffic jam and not moving within this "parking period" you receive some additional notifications. But then again I rather have some extra "false" notifications then being "surprised" and finding out the car is taken aboard within a two hour shopping period....

There is already movement event. I guess we can just improve it.

Interesting. Do you mean by improving to included a time out period (or parking detection)?

Yes, that's one option.

Well ok! I'm curious for your solution. Please keep me posted.

Some trackers will report ACC status, this is a good indication of the car/bike being stopped if the ACC circuit is turned off.

Thanks all for chipping in ideas. I'm not sure if dynamic geofencing will become a new buzz word or that it already exists. But I do hope it finds a place in Traccar.
Just for your information I use an old cell phone. I was a bit concerned that car trackers would consume lots of power. I use my car not that much. Measuring the power consumption of some cell phones I found out that there's a lot of difference in power consumption. At this moment I use a Samsung Galaxy SII+ that consume on average less then 40mA/h (including the 12V -> 5V adapter). Given a car battery capacity of 100Ah only the cell phone would last for 100 days (not included the idle car power consumption). Also the build in cell phone battery makes sure the cell phone will continue even if cut of from the car battery. And when in the neighborhood of a wifi point your cell phone data costs will be limited. I do advise to install a firewall on your cell phone and block Google updates. Only traccar data on a 1 minute interval will use about 40 MB/month. One disadvantage is that you don't have tsmgeek ACC status or motor shutdown options.

The tracker I am currently playing with (TK116) goes down to 30ma when it is fully charged and once the GPS has shutdown due to no movement, its a direct wire all in one unit.
I like the idea myself. How much work would it be to implement in J. Have you got a repo with your project?
The TK unit I am playing with can forward received messages from SMS to the server, it can be used to expand on the SMS functions that already exist, ie SMS to make a geofence etc.

Hi tsmgeek, the TK116 looks nice. I'll keep this in mind, it might come handy. Make sure that whenever you measure the power consumption that you average over a longer period of time (several hours). Only then you know how much a device consumes. Making a radio connection uses a lot of power. Measuring current in between these high surges might mislead you of the true long duration power consumption.
I'm not sure how much time a J implementation would take. As I explained before I wrote a C program that queries the Traccar MySQL database (not the default H2 database). The idea is that you constantly check the traccar coordinates. When you see that the coordinates are stable, for let's say 5 minutes, the car is presumed parked. From that moment you define your new geofence location. When the car moves out of the new geofence you give a notification the car is moving. When the coordinates are stable again you notify the car is parked again and so on. Basically the concept is not that difficult. I'm not sure how difficult it would be to program this in J. I would love to share my C-code however I'm still working on it and it looks very, very messy. I would be ashamed to publish....

@Materie62
Update the TK116 goes under <8ma once movement has not been detected for about 2mins.
Your 40Mb data usage is way to high for 60s sample times, should be under 5MB for a month, I calculate about 25-30M for 10s sample interval and always moving, you may have a minimum charge for data usage which causes this unfortunately.
@Abyss777
#3410 was a step into the direction to have some sort of timer based events but seems it was not merged in, was there any subsequent PR that did cover it? I saw there was issue with using timers but this would be the best way but would only be a timer if user wanted there to be dynamic geofencing and if there was no motion or ACC was off.

Hi tsmgeek,
if the TK116 goes below 8mA after 2min. does this mean that the TK116 doesn't transmit coordinates to a server until it detects movement again?
Strange that you have such low data consumption compared to the 40Mb I see. Hmmm.... Not that it really matters. I have a sim only 250 Mb subscription for €2.50 / month. Could you elaborate the way you did your data load calculation? Could there be a difference between your TK116 and a cell phone with the Traccar client.
BTW we are getting off topic here. Should we move the discussion?

The TK turns off the GPS and only sends heartbeat packets every 3 mins (defined) to keep TCP connection, also sends location at that time. As soon as any movement is detected or ACC on then it starts sending regularly based on defined interval.
Can you share with us your code for the dynamic fencing.

Ok, but when sending a heartbeat packet a GSM link is needed meaning the GSM transmitter/receiver of the TK116 is activated. This means serious power needs, sometimes even 1W of GSM transmitter power.
I used a Fluke 189 Multimeter that can monitor/calculate the average current use over a longer period (hours if needed). With this average current you can predict how long a tracker will last on your car battery.
I'll clean up the C code I've and post it. However I'm pressed for time so please be patient.

Remember that between the 3 mins the GSM is not sending anything so is in Low power mode. You will see is get down to 6ma then spike for a split second to 10ma. When the unit is fully operational it's still only using max 70ma, I've got it on a motorbike and it lasts for a month or so before battery is too low to start

Yes, I understand that in your case only ever 3 minutes the TK116 is transmitting and awakes from it's < 8mA "sleepmode". However the 70mA every three minutes, even short spikes, increase the average use.
In my case when using a fully charged cell phone with a traccar heart beat of one minute the average current use is 34 mA/min. This includes low power mode, a few mA, and the (short spike) transmitting period, higher power use.
In your case, after one month your motor batt. capacity in lowered to a too low level. Lets assume a motor battery has a capacity of 11.5Ah. One month is 30 day x 24 hours = 720 hours. 11.5 Ah / 720 = 16mA, which might be your average current use.... Now please be aware that this is a napkin calculation. The capacity of your battery depends on environment temperature, quality, etc., etc. However it gives you a hint how long you could use the tracker on a battery.

The spike on transmit in sleep does not go anywhere near 70mA, that is when GPS is in full active tracking mode which it is not when in sleep, it switches to LBS instead.


Choose how you would like to sign up error.

Hello, I'm writing to you again to point out a recent issue on the epic games register page. Now when you register, it takes you to this screen first (after you've put in the date).

I fixed this by adding:
await driver.wait(until.elementLocated(By.className('epic-btn')), 5000);
await driver.findElement(By.className('epic-btn')).click();

Hope you can add this to fix this issue.

please note the prompt may not come for everyone so check for presence first

fixed in the latest commit


Sending data to API through post request

Description of the feature
As I see in the code
https://github.com/byCedric/office-marathon/blob/2ddfbb571e78b02957b8d2f3a04f473d23c83048/src/services/location/track.ts#L64
at this moment the data are currently saving to phone storage, but what about sending to API with post request?
It is even possible to do it this way or need to do something different?
Motivation
I think it's a cool idea and it would help a lot of people.
Additional context
It's very usefull when you need to show up data from mobile device to for example in web application.

Haha, thanks, I just required an example for background location usage. But, integrating an API is possible and not that hard.
Right now, I used a location -> task -> write to storage flow to display the data whenever we need it. You can add API communication within the src/service/location/track.ts's task. Or even schedule a background fetch task if you want to.
Feel free to fork it and do that :)

Haha, thanks, I just required an example for background location usage. But, integrating an API is possible and not that hard.
Right now, I used a location -> task -> write to storage flow to display the data whenever we need it. You can add API communication within the src/service/location/track.ts's task. Or even schedule a background fetch task if you want to.
Feel free to fork it and do that :)


changelog: add link to CVE-2023-40030

add link to CVE-2023-40030 for 1.72
add 🚨 emoji for all CVE entries

Rendered

:pushpin: Commit 4b51b27d0a2d9d0ff50e286e08747ba53cc7fb45 has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit 4b51b27d0a2d9d0ff50e286e08747ba53cc7fb45 with merge 8c08800172a4ecbb5971d90323a46457312dc23a...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing 8c08800172a4ecbb5971d90323a46457312dc23a to master...


Add unit tests

Is your feature request related to a problem? Please describe.
The SDK is currently missing a set of unit tests. This will make it easier to add new features in the future.
Describe the solution you'd like
A set of unit tests will be added to ta-spi. I will cover validation of the environment.json, recommendations.json, other collected artifacts, creation of the zip, and the JSON validator.
Describe alternatives you've considered
N/A
Additional context
N/A

done


getFile() function

I'm trying to use the getFile() function according to the documentation "$fileInfo = Filepond::field($request->file)->getFile()", but the response is an empty array. Need help

@1JP what's your filepond js configuration? What's your html form definition?

@rahulhaque managed to solve it...thanks


New admiralonco function: derive_param_response

Feature Idea
derive_param_response: checks for any CR/PR from OVR (where ANL01FL=”Y”) before first PD as default
Flexibility needed:

to change the input source parameter from OVR, or the source of PD date
to change the response criteria searched for (in case need for a different AVALC besides CR/PR to be included as response)

Details: checks for any CR/PR (AVALC=”CR” or “PR”) from PARAMCD=”OVR” (where ANL01FL=”Y”) records before first PD as default and sets new parameter record with AVALC=”Y” (AVAL=1) if exists, otherwise sets as AVALC=”N” (AVAL=0). Set ADT as the first date where the condition is fulfilled.
Note: it is important that ANL01FL=”Y” (or whichever condition is passed below to filter the source records) provides only the eligible records to be considered for this derivation, as explained in the ADRS vignette.
Relevant Input
derive_param_response(
  dataset,
  dataset_adsl,
  filter_source,
  source_pd,
  source_datasets,
  resp_cond = AVALC %in% c(“CR”, “PR”) & ANL01FL=”Y”,
  set_values_to
)

Note: explain for the resp_cond argument that this allows user to change the selection of response, e.g. if using iRECIST and needing to use iCR/iPR.
Note: for source_pd a date_source() object is expected. See https://pharmaverse.github.io/admiral/reference/derive_param_tte.html as an example of how this works.
Relevant Output
New response parameter: Covers RSP & BCP from ADRS workflow doc (or CBCP for confirmed responses feeding in CBOR for example).
Reproducible Example/Pseudo Code
pd <- date_source(
  dataset_name = “adrs”,
  date = ADT,
  filter = PARAMCD == “PD” & AVALC == “Y”
)

derive_param_response(
  dataset = adrs,
  dataset_adsl = adsl,
  filter_source = PARAMCD == "OVR" & ANL01FL == "Y",
  source_pd = list(pd),
  source_datasets = list(adrs = adrs),
  resp_cond = AVALC %in% c(“CR”, “PR”) & ANL01FL=”Y”,
  set_values_to = vars(
	PARAMCD = "RSP",
	PARAM = " Response by Investigator (confirmation not required)",
	PARCAT1 = "Tumor Response",
	PARCAT2 = "Investigator",
	PARCAT3 = "Recist 1.1",
	ANL01FL = "Y")
)

Reminder to use filter_pd from #18 once available

@kabis-ops , I replaced source_param with filter_source. I.e., instead of specifying the parameter code of the source parameter an arbitrary condition for selecting the source records can be specified. This allows to use other variables than ANL01FL.

Hi @bundfussr , @rossfarrugia , May I ask

if we really need to specify both filter_source and   resp_cond parameter?
(I think we already discussed it but i cannot remind the rational for these 2 param: )

filter_source = PARAMCD == "OVR" & ANL01FL == "Y",
resp_cond = AVALC %in% c(“CR”, “PR”) & ANL01FL=”Y”

Can't we include the resp_cond into the filter_source param, i.e. : filter_source = PARAMCD == "OVR" & AVALC %in% c(“CR”, “PR”) & ANL01FL == "Y" ?

Should we rename the parameter source_pd into something like source_end_date? I believe we should be able to derive the first response before the first PD or the first anti-cancer therapy or any other evenT?

For subject without a response, the function would return a record with AVALC = N and ADT would be NULL, right?

@kabis-ops - good questions. here's some replies from my perspective:

i agree - you're right. would be cleaner with just filter_source. i think this was a remnant of the fact we started with source_param here but filter_source now covers the one place you can do both where clauses.
i would leave this one as it is as any end window filtering can be achieved in ANL01FL as explained in the ADRS vignette so far (see latest draft at https://github.com/pharmaverse/admiralonco/blob/10_adrs_vignette_template/vignettes/adrs.Rmd - see "Pre-processing of Input Records" section).
agree - that's how the Roche specs have it.

Hi @rossfarrugia , Thanks.
Regarding 2) I am still not convinced. 🙄
We can definitively create another ANL0xFL and use it in filter_source but can't we also achieve this with the  source_pd param?
nact<- date_source(
  dataset_name = “adevent”,
  date = ADT,
  filter = PARAMCD == “NACT” & AVALC == “Y”
)
derive_param_response(
  dataset = adrs,
  dataset_adsl = adsl,
  filter_source = PARAMCD == "OVR" & AVALC %in% c(“CR”, “PR”) & ANL01FL == "Y",
  source_pd = list(nact),
  source_datasets = list(adrs = adrs, adevent=adevent),
  set_values_to = vars(
	PARAMCD = "RSP1",
	PARAM = " Response by Investigator (confirmation not required)  before the start of a new therapy")
)

Also, @bundfussr , I guess we will have only one element in source_pd, so just wondering if we need to specify it as a list?
Could we have source_pd = pd instead of source_pd= list(pd)?

@kabis-ops absolutely - the approach is flexible to be used either way by our users, but our admiral recommended way in the vignette and template would be to use ANLxxFL for all filtering of records needed for downstream derivations as it might not just be censoring at an end date - you could also cover things like only records after treatment start/randomization date here or filtering out invalid records etc. It gives far more power to the users this way than just an end date. The reason we didn't also cover PD in this way via ANLxxFL was because you can't really call an endpoint BOR for example unless you enforce the PD censor rules. This was discussed a lot as part of the ADRS workflow discussions and review and it seemed the easiest way to get consensus across the 3 companies and give users plenty of flexibility for their company-specific implementations, so i'm confident it should work.
good question about the need for list. @bundfussr that's simialr to our other discussion about source_dataset for Teckla's function. it's always a question of ease for the users to consistently know to always use list here vs remembering for this argument there can only ever be one PD source. happy to go with Stefan's call here!

Hi @bundfussr , @rossfarrugia
some additional questions/comments:

i have added a subject_keys parameters: since we create the records from datasets_adsl, we need a key to merge with dataset or the source_datasets. Ok with you? This should apply to other functions too. Please tag the other  dev if you agree.
In the Roche spec, we select responses before or on the first PD. Do we want to add flexibility here to allow to select responses strictly before PD? I know this is unlikely we can get a CR/PR the same day as a PD, just asking if we need to think about that ?
it seems filter_if from admiral is not exported as i need to specify admiral:::filter_if? I will raise an issue in admiral core if this is confirmed

Hi @kabis-ops ,

yes, we should add the subject_keys parameter to all functions which merge by subject.
I think at the moment we do not need an option for selecting observations strictly before PD. If there is more than one assessment per day, the assessment to use should be derived before deriving the parameters, e.g., by deriving ANL01FL like in the Roche specs.
filter_if is exported. Do you get something likeError in .p(column, ...) : object 'USUBJID' not found

?
You get this if admiral is not loaded but dplyr is loaded (there is a filter_if() function in dplyr).

for bullet 2 agree let's not over-complicate it for now and see what comes back with user feedback - just make clear in the function documentation details section that this is what is being done here. does seem odd that we don't use strictly before here, but i guess it's because having a PR and PD on same day is implausible as you say.

Hi @bundfussr , @rossfarrugia
I think this will be my last question:
A patient may have multiples CR/PR before PD, and we need to select the first one, so we need a date.
Do we expect the input datasets to contains ADT? or should we adjust the function so that it is similar to admiral::derive_param_first_event where a date_var is specified to identify the first obs and populate the date variable for the additional records? If so, I will make use of the function in the derive_param_response, unless you disagree.
Thank you

At the moment we have hard-coded ADT in the admiralonco functions. So I would assume that ADT is in the input dataset of derive_param_response() and set date_var = ADT in the call of derive_param_first_event().
We can discuss after the first admiralonco release if we need more flexibility at this point.


Feature Request: Display who did the thing that caused the notification

what is shown:
"Updated X minutes ago"
what I'd like:
"Updated X minutes ago by "
story: As a developer working with many teams on the same project, I currently get every notification for a repository. Currently I have to open every notification to see if it's something I need to pay attention to. It'd be nice if the gitify app showed me who made the change so I don't have to blow up my browser window with new tabs.

Unfortunately the GitHub API is pretty rough around the edges for Notifications - the result payload doesn't contain that information at present. I'm fairly certain the GraphQL version does, but unfortunately it's not been exposed to 3rd party consumers and only the mobile app can access it at present.

i'll pick this up once https://github.com/gitify-app/gitify/pull/861 is merged


LHN - #applause.expensifail.com group is displayed when creating a new expensifail account

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Log in with a new applause.expensifail account

Expected Result:
#applause.expensifail.com group is not displayed when creating a new expensifail account
Actual Result:
#applause.expensifail.com group is displayed when creating a new expensifail account
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/205383860-11f34c18-1b07-4b8d-b8e6-02805ea10731.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

In the video of the description I can see the "#applause.expensifail.com" room, I don't understand what is missing here.
I created an account and I see the "#applause.expensifail.com" room there

@kbecciv do you mind clarifying a bit? is this the right video?

@aldo-expensify according to the OP it seems like they didn't expect to see the room. I think that's not correct, since they are part of the policy. I think we should close this issue.

Expected Result:
#applause.expensifail.com group is not displayed when creating a new expensifail account

@luacmartins Thank you for confirming


Adding compose()

Hey!
Since it looks like https://github.com/lstrojny/functional-php/pull/74 hasn't been making any progress I've decided to submit my own PR.
Let me know if you have any concerns :)

Thanks for picking that one up, looks good already, just a couple of small questions inline.

Info on the Travis-CI failure here: https://github.com/facebook/hhvm/issues/4858

So, there's an issue with the Travis build and HHVM. I've added a comment on the issue here: https://github.com/facebook/hhvm/issues/4858#issuecomment-197621161
Adding a condition around defined('HHVM_VERSION') isn't sufficient since the linting process still checks all the code. It's not conditionally included based upon define's. There's also no HHVM FIXME to squelch this error (as seen in the comment above).
We have a couple options to move this forward. Allow failures on HHVM (not sure how many users of this library are on HHVM) with something like .travis.yml:
...
matrix:
  allow_failures:
    - php: hhvm
...

Or avoid the type hint all together. It's a nice-to-have, but I wouldn't say it's critical to this code.
Let me know what you think.

Yeah, let’s do the allow_failures option for now. I hope hhvm will soon fix the type hint issue anyway.

Not sure what's going on here with Scrutinizer. Any ideas?

Nope, but I don’t care for now.

Thank you!


WIP: Fix old ALM naming in README.adoc

This is to test the integration of https://golangci.com/

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1956-1

Codecov Report

Merging #1956 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #1956   +/-   ##
======================================
  Coverage    63.9%   63.9%
======================================
  Files         144     144
  Lines       13599   13599
======================================
  Hits         8691    8691
  Misses       4073    4073
  Partials      835     835

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9f667e5...0b21067. Read the comment docs.


Fix reshape

Fix https://github.com/vbalnt/tfeat/issues/4#issuecomment-298165590 problem

thanks! I noticed some days ago that they changed the API


Vickel: Watch ae88[W_]*+(?:casino)?

Vickel requests the watch of the watch_keyword ae88[W_]*+(?:casino)?. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

ae88[W_]*+(?:casino)? has been seen in 3 true positives, 7 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Trimming videos less than 1sec

The is an issue with trimming videos less than 1 second  (any time less than 0:00:00 which can be 0:00:00.30), the trimmed video cannot be played

Hey @Mangielijah, there is an issue of video frames freeing towards the start and end positions, for fixing this the FFmpeg trimmed video length was set to seconds. Refer: #22
But, as it is not fixing that issue I have reverted it to milliseconds in v0.2.5.  So, this issue should be fixed now.


Not working with zsh default shell in mac os el capitan. Screen with errors.

See if this also applies to you https://github.com/shockone/black-screen/issues/364#issuecomment-221311463

Fixed.


refactor(FastMap): remove unused variable, update styles

Minor refactoring for FastMap

remove unused size interface
rename variables to match with other codebases style by removing _

Merged with 3e4ad79 .


create installers for PHP7

PHP 7 was tagged today. Its not released, yet, but the builds will show up soon...

http://git.php.net/?p=web/php-distributions.git;a=commit;h=2ceb3db5a2fab38882e51c712a167a1b8328bea2
http://windows.php.net/downloads/releases/
[ ] drop the PHP54 installers
[ ] create registries & installers for 70 series (4*2)

[ ] webinstaller

[ ] 32
[ ] 64

[ ] lite

[ ] 32
[ ] 64

[ ] standard

[ ] 32
[ ] 64

[ ] full

[ ] 32
[ ] 64

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/28764362-create-installers-for-php7?utm_campaign=plugin&utm_content=tracker%2F164029&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F164029&utm_medium=issues&utm_source=github).

+1

:) Incoming - stay tuned!
Notes:
Because the majority of PHP extensions is definitely not ready, i have to disable a whole bunch of them. Most of them look like this: http://windows.php.net/downloads/pecl/releases/amqp/
Where the last 5 builds are without binaries.

will we see a new release soon with php7, nginx 1.10 and so on? would be great :)


Add initial automation support for lpc11u35

Allow start_bl.act to switch the lpc11u35 into ISP mode. Since there
is no way to exit ISP mode from the host PC, setup the watchdog to
trigger a reset which starts DAPLink after ~30 seconds.

@mbed-bot: TEST

@mbed-bot: TEST

@mbed-bot: TEST

@mbed-bot: TEST

LGTM 👍


is this result correct?

import Rotated_IoU.oriented_iou_loss as ri
import torch
import numpy as np
import math
box1 = torch.tensor([[[0.,0.,2.,2.,torch.pi/4]]]).to("cuda")
iou,_,_,_ = ri.cal_iou(box1, box1)
print(iou)

above iou value is "0."
but when i change box angle torch.pi/4 to torch.pi/4 + 0.01, it return 1.0 and this is what i expected.

Hi, thank you for your issue. I cannot reproduce this problem. I get "1" on my machine.
Are you using the latest version of my code? I updated the CUDA extension to fix some bugs a long time ago. Please consider pulling the repo again and re-compile the CUDA extension.

最新版本的代码有问题，giou计算不准确


Google Cloud Functions build error

Hi
I use google cloud functions go runtime, today I find it's always failed when build functions.
The error log is:
Build failed: # github.com/cloudevents/sdk-go/v2/extensions
src/github.com/cloudevents/sdk-go/v2/extensions/distributed_tracing_extension.go:161:3: cannot use span (type trace.Span) as type *trace.Span in return argument:
*trace.Span is pointer to interface, not interface; Error ID: 1093f764
I have build with same code yesterday and it's passed and I not use this cloudevents in my code
So could you check what's the problem here?
Thanks

Duplicate of https://github.com/cloudevents/sdk-go/issues/601


Add a bio for @githubteacher

This Pull Request adds a bio for @githubteacher as requested in #7.
I would love some :eyes: on this when you get a chance @githubstudent.  :sparkles:

This looks really good! :sparkles:
Emojis are :+1:

good one! ready to merge.

Looks really good :+1:  :+1:  :+1:

:+1:
:ship: it!
:shipit:


SessionID tracking in supervisor infra

Unless I'm missing something, I'm not seeing anything in onPluginCallResponse and onPluginCallFailure that checks for any kind of session ID from the sender.
Checking the origin of a response message is sufficient for security, but checking a session ID is needed to disambiguate between messages posted to the window in the case that the app is open in multiple tabs.

More thoughts on this feature:
Any time a parent window creates a child window, the ID of the session cannot be passed in a message from parent->child. This is because, from the perspective of the child, it can validate any message it receives by domain, but to my knowledge it cannot know that the message is from its parent.
A window does know its parent via window.parent.
...We need a general strategy for synchronizing parent and child windows.

Currently investigating window behaviour when it comes to window post messages, @brandonfancher to provide a 2nd opinion. So far we're seeing messages remain private between windows.

Second opinion here:
Both my research (documentation, stack overflow, etc.) and my own testing confirms that a window may only send a message to a target it already has a reference to. As described here:

Broadly, one window may obtain a reference to another (e.g., via targetWindow = window.opener), and then dispatch a MessageEvent on it with targetWindow.postMessage(). The receiving window is then free to handle this event as needed.

Thanks @brandonfancher I'll close this now https://github.com/gofractally/psibase/pull/654


Shader problems

I noticed that Color Limination works strangely, in the camera preview the shader does what is expected, but when starting the game, the flowers are cut to a small value, and it is not possible to achieve the desired effect.
In preview (good):

when starting the game (bad):

I also noticed that if we set the Noise Time value to 0.1, the noise seems to accelerate then slow down, I fixed this in the shader by removing the SIN function in TIME, which I advise you to do:
float hashOld12(vec2 p){ 	return fract(sin(dot(p, vec2(12.9898, 78.233))) * 43758.5453 + (TIME / noise_time_fac)) ; }
It would also be great if they could implement vertex swing, that is, when the vertex points do not move smoothly.
And the shader is wonderful, thank you!

Thanks for the feedback @JekSun97. I think it's because the scene doesn't have a worldenvironment so when you run it there isn't any source of light (in the editor it works because of the editor-specific settings). I will keep this issue open and try to push a version with a worldenvironment and light source so this isn't a problem.
That next version will also have your code fix in it. Appreciate the help!

The fixes took about 2 minutes. Pushed an update so check the releases for the fixes.


Bump duckdb and apply patch

Equivalent to https://github.com/duckdb/sqlite_scanner/pull/92, plus bumping to the extension-ci-tools workflows.

Problem here is with extension-ci-tools, blocked on https://github.com/duckdb/extension-ci-tools/pull/19

Failure is unconnected, and tied to a duckdb / extension-ci-tools problem, that I will solve in a duckdb PR.

Let's fix that first before merging this then?

https://github.com/duckdb/sqlite_scanner/pull/94 it is


run-dev: Remove unnecessary finish calls

Tornado finishes the request automatically.  Avoids this error, hidden until commit 81f7192ca3f59f326c6d8c2fc584d35346314c6f (#22301), when the browser tab is closed:
Traceback (most recent call last):
  File "/srv/zulip-py3-venv/lib/python3.8/site-packages/tornado/web.py", line 1683, in _execute
    result = await result
  File "tools/run-dev.py", line 280, in prepare
    await self.finish()
tornado.iostream.StreamClosedError: Stream is closed

Merged, thanks @andersk!


vtrust-flash: Failed to obtain IP address

OK next up would be dnsmasq: failed to create listening socket for port 53: Address already in use. Do you have anything running on UDP port 53? sudo netstat -ulp --numeric-ports

Using ubuntu? I had the same dnsmasq error for socket 53 and had to do:
sudo systemctl start systemd-resolved.service
before running the start_flash.sh
Then my phone could get an IP.

Thanks a lot for sudo systemctl stop systemd-resolved.service.
It's helped.
But I don't see a configuration option for Domoticz in the Menu - Configuration.
Where it's gone?

Thanks a lot! It worked!

Great! If this issue is resolved you may close it. Thanks for your feedback!


Classic App deployment templates

Includes DB deployment and Web apps deployment.
sql_alwayson - database deployment
webSite - web apps deployment.

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

@pgmorozov thank you for your contribution. At this moment this deployment script is no longer valid because we have changed the deployment process of this app to AKS supporting Windows Containers. Thanks!


Add adapter layer in Kyuubi Hive JDBC module

Why are the changes needed?
Separate noisy code in an adapter layer to make code maintainable.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Codecov Report

Merging #2760 (52aab5d) into master (b189591) will decrease coverage by 0.58%.
The diff coverage is 0.72%.

:exclamation: Current head 52aab5d differs from pull request most recent head 758f982. Consider uploading reports for the commit 758f982 to get more accurate results

@@             Coverage Diff              @@
##             master    #2760      +/-   ##
============================================
- Coverage     61.90%   61.31%   -0.59%
  Complexity      390      390
============================================
  Files           450      458       +8
  Lines         20627    20822     +195
  Branches       2792     2791       -1
============================================
- Hits          12770    12768       -2
- Misses         6609     6804     +195
- Partials       1248     1250       +2

Impacted Files
Coverage Δ

...e/kyuubi/jdbc/hive/ClosedOrCancelledException.java
0.00% <ø> (ø)

...g/apache/kyuubi/jdbc/hive/KyuubiBaseResultSet.java
0.00% <0.00%> (ø)

...ache/kyuubi/jdbc/hive/KyuubiCallableStatement.java
0.00% <0.00%> (ø)

.../org/apache/kyuubi/jdbc/hive/KyuubiDataSource.java
0.00% <0.00%> (ø)

...pache/kyuubi/jdbc/hive/KyuubiDatabaseMetaData.java
0.00% <ø> (ø)

...ache/kyuubi/jdbc/hive/KyuubiMetaDataResultSet.java
0.00% <0.00%> (ø)

.../apache/kyuubi/jdbc/hive/KyuubiQueryResultSet.java
0.00% <0.00%> (ø)

...ache/kyuubi/jdbc/hive/KyuubiResultSetMetaData.java
0.00% <0.00%> (ø)

...kyuubi/jdbc/hive/adapter/SQLCallableStatement.java
0.00% <0.00%> (ø)

...apache/kyuubi/jdbc/hive/adapter/SQLConnection.java
0.00% <0.00%> (ø)

... and 13 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b189591...758f982. Read the comment docs.

Thanks, merging to master


Need a quickstart!

Hi Bennett! I see on your dev branch that you have a header for a quick start, but no content there. Want some help writing something here? What's a minimal usage of this package look like? :)

No worries, feel free to call me Casey, we spoke this past sunday at the LUP LUG.
I think a minimal example from zero to your first pipe would be useful.
I tried to follow your instructions and what's in the readme, and I was unable to get past starting the stack:
(mschm) casey@IRONFIRE:~$ mrsm stack [-d]
NOTE: Configuration file is missing. Falling back to default configuration.
You can edit the configuration with `edit config` or replace the file /home/casey/.config/meerschaum/config.yaml
Missing file /home/casey/.config/meerschaum/stack/resources/docker-compose.yaml.

Bootstrap stack configuration?

NOTE: The following files will be overwritten: [PosixPath('/home/casey/.config/meerschaum/stack/resources/docker-compose.yaml'), PosixPath('/home/casey/.config/meerschaum/stack/grafana/resources/provisioning/datasources/datasource.yaml'), PosixPath('/home/casey/.config/meerschaum/stack/grafana/resources/provisioning/dashboards/dashboard.yaml')] [Y/n] Y
ERROR:
        Can't find a suitable configuration file in this directory or any
        parent. Are you in the right directory?

        Supported filenames: docker-compose.yml, docker-compose.yaml

(mschm) casey@IRONFIRE:~$ mrsm stack [-d]
Missing file /home/casey/.config/meerschaum/stack/resources/docker-compose.yaml.

Bootstrap stack configuration?

NOTE: The following files will be overwritten: [PosixPath('/home/casey/.config/meerschaum/stack/resources/docker-compose.yaml'), PosixPath('/home/casey/.config/meerschaum/stack/grafana/resources/provisioning/datasources/datasource.yaml'), PosixPath('/home/casey/.config/meerschaum/stack/grafana/resources/provisioning/dashboards/dashboard.yaml')] [Y/n] Y
ERROR: Version in "./docker-compose.yaml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
(mschm) casey@IRONFIRE:~$ mrsm stack [-d]
ERROR: Version in "./docker-compose.yaml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
(mschm) casey@IRONFIRE:~$ docker-compose --version
docker-compose version 1.25.0, build unknown

Any info I can provide you to help debug this failure? I'm using the docker-compose and docker install that came with Pop OS 20.04. Your readme suggests installing docker-compose from pip but I have not done so: if you have a strict dependency on a particular docker-compose version you should maybe seek to keep that as a pip dependency, no?
Moreover, I think it's really important that the README give us a clear example of the usefulness of this tool. As written, it says the following:

Meerschaum is a platform for quickly creating and managing time-series data streams called Pipes.
Cool. Where can these time-series data streams come from? Where can they go to? I see some code for a SQL connector and you mentioned this was an ETL tool in our talk on Sunday, but are there already other existing sources and sinks?

I think the really critical thing is that, cool shell UI or cool web UI aside (I'd hold off on the web UI), once I have your package installed I have zero idea how to use it to extract, transform, or load data. Even the toyest of the toy examples would go a long way to showing how this tool is unique or useful.
Let's suppose I have... a sqlite3 db with a table full of student names, submission datetimes, and grades, and I'd like to extract it, apply some hashing function to the student name column, and dump out a csv of "anonymized" data. How?
(Is my supposition dumb? Is there a better scenario where this tool shines?)

Hey Casey, thanks for the detailed post. I can't believe it took this long to find out, but the code for taking input to yes/no questions was just broken. I hadn't tested it properly, so answering Y still returned False 🤦. I guess this is a good example of why unit tests are important, and I need to get around to implementing them. It's definitely still an alpha release.
I've also changed the default version in the docker-compose.yaml file from 3.8 to 3 for better backwards compatibility.
Try upgrading to version 0.0.39 which should address these issues.
$ pip install --upgrade meerschaum
$ mrsm bootstrap config   ### if this doesn't work, just rm -rf ~/.config/meerschaum
$ mrsm stack

To address the README question, the current use case for Meerschaum is helping non-system engineers spin up a pre-configured Grafana/TimescaleDB stack and migrate outside data into TimescaleDB (particularly in the case of utilities data).
The plan is to implement the bootstrap pipes action so that all parameters can be easily set from one command. But for the time being, the following steps need to be taken:
In your example students DB (say you have a table assignments with columns submission_datetime, student_id, grade), you would take the following steps to migrate into the TimescaleDB / Grafana stack:

Register a SQL connector with mrsm edit config. For sqlite, your config would look something like this:

meerschaum:
  connectors:
    sql:
      studentdb:   ### our label for the connection
        flavor: sqlite
        database: /path/to/students.sqlite

Register the Pipe. Pipes are identified by three primary keys: (1) connection (connector_keys), (2) metric (metric_key), and (3) location (location_key). The location may be omitted, however, and will be for this example.

The connector_keys (-C) are the type and label of the connector defined in step 1, so in our case the connector_keys will be sql:studentdb.
The metric (-M) is a label we give to identify the contents of the Pipe (think power, energy, CO2, temperature, etc.). In this case I'll use the original table name assignments.
The location is a label to describe a Pipe's location, and if omitted, it's None/NULL. This is a way to further partition data streams among buildings for example, where the parent database may contain an entire campus's worth of data, but we want to partition at the building level. The plan is to derive Pipes with location as TimescaleDB continous / real-time views of the parent metric Pipe.
E.g. sql_studentdb_assignments would be the parent for sql_students_assignments_thirdblock (the : in the connector keys is converted to _ for convenience).
$ mrsm register pipes -C sql:studentdb -M assignments

Set parameters. For Pipes to be automatically indexed and efficiently cached, some metadata are needed. You can set the metadata with mrsm edit pipes

$ mrsm edit pipes -C sql:studentdb -M assignments

This will open your editor and allow you to edit the parameters of the Pipe. Your parameters would look something like this:
columns:
  datetime: submission_datetime
  id: student_id
fetch:
  ### This is the query which is executed on the remote host
  definition: SELECT * FROM assignments
  ### How many minutes into the past to look for backlogged data (optional)
  backtrack_minutes: 0

Here's one way to register a Pipe from a script:
>>> pipe = mrsm.Pipe('sql:studentdb', 'assignments')
>>> pipe.parameters = {
...   'columns' : {
...     'datetime' : 'submission_datetime',
...     'id' : 'student_id',
...   'fetch' : {
...     'definition' : 'SELECT * FROM assignments',
...   }
... }
>>> pipe.register()

Sync the Pipe (WIP). Once a Pipe is registered, it may be synced with its remote source. Think of this like materializing a view between hosts without linking servers.
I'm still implementing the sync logic, and you can see how the syncing works by inspecting the pipe.fetch() method. In essence, it builds a SQL query to grab the latest data from the remote host, diffs it against its own recent data, and updates its source.

### this will sync all Pipes from the sql:studentdb connection
$ mrsm sync pipes -C sql:studentdb

I hope this wasn't too complicated. I think of it as a framework for non-system engineers who need to build visualizations for large sets of time-series data. There are a lot of pieces to get into, like how the API works and how Connectors work (SQLConnector vs APIConnector vs other types to come), but overall Pipes are a way to simplify many different connection types and organize data.
Thank you for taking interest in Meerschaum! It's exciting to answer GitHub issues and I hope I get more feedback in the future. If you have any further issues (and be warned, you'll probably run into a few bugs), feel free to reach out here or at my email<EMAIL_ADDRESS>or on Discord (bennett#0708). I'm still getting used to Mumble and Matrix, but I hope to join in on more LUP LUGs. Everyone was so nice, and I look forward to meeting more Linux nerds like me.


Imported JSX component text must be in PascalCase or SCREAMING_SNAKE_CASE

The Problem
This component provides a warning with the following content:
Imported JSX component text must be in PascalCase or SCREAMING_SNAKE_CASE
It is enough for the first letters of all the components to become capital letters
Steps to Reproduce
"react-redux": "^7.2.2",
"react-redux-form": "^1.16.14"
Expected Behavior
warning: Imported JSX component text must be in PascalCase or SCREAMING_SNAKE_CASE
<Control.text                   model=".telnum"                   id="telnum"                   name="telnum"                   placeholder="Tel. Number"                   className="form-control"                 />
change to this :
<Control.Text                   model=".telnum"                   id="telnum"                   name="telnum"                   placeholder="Tel. Number"                   className="form-control"                 />
Actual Behavior
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-pascal-case.md

Install an old react: npm install<EMAIL_ADDRESS>

@ALi-Hosseinzad - This seems to be working as expected for me. Perhaps do you have the allowNamespace eslint option set for your code? If set to true (the default is false), then this warning will be ignored:
allowNamespace: optional boolean set to true to ignore namespaced components (default to false).

@ALi-Hosseinzad I'm glad you could get some support w/ this software, but it's in archive status and has not been supported for years.  The consensus now is that local form state, not Redux, is the best state to use for for forms.  Reference (README.md for similar project): https://github.com/redux-form/redux-form
One of the most popular local form state libraries is Formik, I've used it for a couple projects and highly recommend it - it's actively developed and very easy to use.
Some institutions are still using React-Redux-Form as a way to slip in experience with Redux, but from what I gather using Redux for forms these days is highly irregular.


Fix flicker and auto run

towards https://github.com/lfortran/lcompilers_frontend/issues/104

Not sure what is going on:

For every preview we have two build processes. One happens in this repository and pushes to the repository pull_request_preview. After the push, the CI at that repo (which is the default github-pages deploy provided by GitHub) is triggered. The CI at that repo seems to be executing currently which we can track here https://github.com/lfortran/pull_request_preview/actions (the first one from this list).

Ah got it. It works!
Here is what I am getting

It https://github.com/lfortran/lcompilers_frontend/pull/105#issuecomment-1703262476 should be fixed now.

I think this fixes 3 of the issues at https://github.com/lfortran/lcompilers_frontend/issues/104.


Don't use FormatException for negotiate response errors

If the negotiate response from the server is invalid, the client throws FormatException. This is not an appropriate use of that exception, as it's supposed to be used when arguments that the caller provides are invalid. We should use either a custom exception type or something like InvalidOperationException.

The fix for this will lie in https://github.com/aspnet/SignalR/blob/dev/src/Microsoft.AspNetCore.SignalR.Common/Internal/Protocol/NegotiationProtocol.cs, and corresponding tests in https://github.com/aspnet/SignalR/blob/dev/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.cs
We need to discuss what exception to use, or if we should create a custom one. That should happen in this issue before starting on a PR :)
NOTE: In #1208, the HttpConnectionTests are being significantly rewritten and reordered. It would be worth waiting for that PR to finish before writing tests.

This looks like an easy one. I see no reason for a custom exception type for one class if InvalidOperationException fits the bill. Thoughts?

I'm not sure InvalidOperationException fits the bill though. The error cases we want to express here are when the server sends a malformed Negotiate response. I see InvalidOperationException as kinda like an HTTP 400 error, it indicates the caller of the method did something wrong. But the caller didn't do anything wrong, the server did something wrong. I think maybe InvalidDataException fits better.
If you'd like to send a PR for this, please feel free! Let me know if you have any questions or concerns (you can reach me directly at<EMAIL_ADDRESS>if you'd like some 1:1 assistance, I'm very happy to help a new contributor out)

Thanks! I've sent an introductory email. Yes, InvalidDataException does seem to fit better. It looks like we TryParseMessage the data, resulting in a payload (or a FormatException). Then attempt to read the Token, throwing a FormatException again if not valid.
Shouldn't be too difficult to change the exception type to InvalidDataException, keeping the error messages the same and update the test expectations.


Move Size here?

I wonder if it would be possible to move Size to this package? For instance, by moving (parts of) https://github.com/JuliaArrays/StaticArrays.jl/blob/ec2dc5ee8559e4d3125e4a392c050bfa27b8bfe1/src/traits.jl?
This was already discussed briefly in #3.
Size is currently mentioned in the docstring of similar_type even though it is not available in StaticArraysCore.
If it would be available also downstream code such as in https://github.com/JuliaDiff/DiffResults.jl/pull/22 could be simplified.

Yes, I think that would be a good idea. I will try doing it today or tomorrow.


Add time out for wait_for

Signed-off-by: Yu Cao<EMAIL_ADDRESS>

Timeout worked. Force merging it.


SmartThings Washer Mode sensor not updating

Home Assistant release with the issue:
0.93.2
Last working Home Assistant release (if known):
None, this is new integration in 0.88.0
Operating environment (Hass.io/Docker/Windows/etc.):
Hassbian (virtual environment)
Component/platform:
SmartThings integration
Description of problem:
Washer Machine washer-mode sensor is still not updating

Entity
State
Attributes

sensor.washing_machine_washer_mode
Course_DB
friendly_name: Washing machine Washer Mode

Although the value for this automatically-generated sensor is always Course_DB in HA, if I look at the Events' list in the SmartThings IDE:

Date
Source
Type
Name
Value
User
Displayed Text

2019-05-29 9:06:37.840 PM UTC1 day ago
DEVICE

washerMode
Course_D0

Washing machine washer mode is Course_D0

2019-05-29 10:06:10.439 PM UTC1 day ago
DEVICE

washerMode
Course_DB

Washing machine washer mode is Course_DB

2019-05-29 10:09:31.697 PM UTC1 day ago
DEVICE

washerMode
Course_BA

Washing machine washer mode is Course_BA

2019-05-29 10:20:37.252 PM UTC1 day ago
DEVICE

washerMode
Course_DB

Washing machine washer mode is Course_DB

2019-05-30 7:15:41.078 AM UTC16 hours ago
DEVICE

washerMode
Course_D0

Washing machine washer mode is Course_D0

2019-05-30 2:47:54.225 PM UTC8 hours ago
DEVICE

washerMode
Course_DB

Washing machine washer mode is Course_DB

2019-05-30 8:58:39.172 PM UTC2 hours ago
DEVICE

washerMode
Course_D9

Washing machine washer mode is Course_D9

2019-05-30 9:43:08.550 PM UTC1 hour ago
DEVICE

washerMode
Course_DB

Washing machine washer mode is Course_DB

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
None, just displaying automatically generated sensors in UI

Traceback (if applicable):

Additional information:
Device UUID
24823517-1537-27a8-4a88-f4390205a302
Location UUID the device is added to
09e64b83-cfd2-4267-b79f-4b6d789dca1e
cc @dbradmit @andrewsayre

The only valid values for Washer Mode are: regular, heavy, rinse, and spinDry.  Values outside this enumeration are considered are not passed through the ST API webhook...
Unfortunately, this has to be fixed in the device type hander.  @dbradmit you want me to open an issue for this with ST?

Does the mean that no information on the washer program will be passed on to Home Assistant?
WasherMode in events in SmartThings IDE contains different values (which I could map to my washer programs, using Live Logging):

Date
Name
Value
Units

2019-05-30 9:43 PM UTC - 1 day ago
washerMode
Course_DB

2019-05-30 8:58 PM UTC - 1 day ago
washerMode
Course_D9

2019-05-30 2:47 PM UTC - 1 day ago
washerMode
Course_DB

2019-05-30 7:15 AM UTC - 2 days ago
washerMode
Course_D0

2019-05-29 10:20 PM UTC - 2 days ago
washerMode
Course_DB

2019-05-29 10:09 PM UTC - 2 days ago
washerMode
Course_BA

2019-05-29 10:06 PM UTC - 2 days ago
washerMode
Course_DB

2019-05-29 9:06 PM UTC - 2 days ago
washerMode
Course_D0

2019-05-29 7:54 PM UTC - 2 days ago
washerMode
Course_DB

2019-05-29 7:54 PM UTC - 2 days ago
washerMode
Course_D9

But the values for washer mode, as @andrewsayre pointed out, are exactly what is described in documentation.
If that's the case, will there a way for me to know - only in HA, which washer programs are being used, to be able to determine the number of cycles until drum cleaning is required?

Just to clarify, this is not an HA issue -- it is the result of a design decision to enforce strict conformance to the capability specifications implemented within the SmartThings Cloud API.

If that's the case, will there a way for me to know - only in HA, which washer programs are being used, to be able to determine the number of cycles until drum cleaning is required?

I'm not sure what other capabilities are exposed for this device.  What shows up when you query the API?
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.smartthings.com/v1/devices/24823517-1537-27a8-4a88-f4390205a302/status

Another idea would be to write your own device type handler for a virtual device that acts as a slave to the washer but maps the custom washerMode  values to the valid ones, which will then come through the API to HA.

Just to clarify, this is not an HA issue -- it is the result of a design decision to enforce strict conformance to the capability specifications implemented within the SmartThings Cloud API.

If that's the case, will there a way for me to know - only in HA, which washer programs are being used, to be able to determine the number of cycles until drum cleaning is required?

I'm not sure what other capabilities are exposed for this device.  What shows up when you query the API?
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.smartthings.com/v1/devices/24823517-1537-27a8-4a88-f4390205a302/status

Another idea would be to write your own device type handler for a virtual device that acts as a slave to the washer but maps the custom washerMode  values to the valid ones, which will then come through the API to HA.

Andrew is correct. The issue is with the value being provided for washerMode from SmartThings. washerMode is a proposed capability but Course_## still seems unexpected.
I filed a bug with SmartThings and will keep this thread and Andrew updated.

Just to clarify, this is not an HA issue -- it is the result of a design decision to enforce strict conformance to the capability specifications implemented within the SmartThings Cloud API.

That is clear.

If that's the case, will there a way for me to know - only in HA, which washer programs are being used, to be able to determine the number of cycles until drum cleaning is required?

I'm not sure what other capabilities are exposed for this device. What shows up when you query the API?

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<components>
		<main>
			<custom.washerSoilLevel>
				<supportedWasherSoilLevel>
					<value value="None"/>
				</supportedWasherSoilLevel>
				<washerSoilLevel>
					<value value="None"/>
				</washerSoilLevel>
			</custom.washerSoilLevel>
			<custom.dthVersion>
				<versionNumber>
					<value value="None"/>
				</versionNumber>
			</custom.dthVersion>
			<switch>
				<switch>
					<value value="off"/>
				</switch>
			</switch>
			<ocf>
				<vid>
					<value value="DA-WM-WM-000001"/>
				</vid>
				<di>
					<value value="24823517-1537-27a8-4a88-f4390205a302"/>
				</di>
				<mnmn>
					<value value="Samsung Electronics"/>
				</mnmn>
				<mndt>
					<value value="None"/>
				</mndt>
				<mnml>
					<value value="http://www.samsung.com"/>
				</mnml>
				<st>
					<value value="None"/>
				</st>
				<n>
					<value value="[washer] Samsung"/>
				</n>
				<mnpv>
					<value value="0.1.0"/>
				</mnpv>
				<mnhw>
					<value value="1.0"/>
				</mnhw>
				<icv>
					<value value="core.1.1.0"/>
				</icv>
				<pi>
					<value value="24823517-1537-27a8-4a88-f4390205a302"/>
				</pi>
				<dmv>
					<value value="res.1.1.0,sh.1.1.0"/>
				</dmv>
				<mnos>
					<value value="TizenRT2.0"/>
				</mnos>
				<mnsl>
					<value value="None"/>
				</mnsl>
				<mnfv>
					<value value="0.1.0"/>
				</mnfv>
				<mnmo>
					<value value="ARTIK051_WM_COM_18K|20213541|20010102001113430103000000000000"/>
				</mnmo>
			</ocf>
			<washerOperatingState>
				<supportedMachineStates>
					<value value="None"/>
				</supportedMachineStates>
				<machineState>
					<value value="stop"/>
				</machineState>
				<washerJobState>
					<value value="none"/>
				</washerJobState>
				<completionTime>
					<value value="2019-05-31T11:58:31.174Z"/>
				</completionTime>
			</washerOperatingState>
			<custom.washerRinseCycles>
				<supportedWasherRinseCycles>
					<value>
						<items>
							<item value="0"/>
							<item value="1"/>
							<item value="2"/>
							<item value="3"/>
							<item value="4"/>
							<item value="5"/>
						</items>
					</value>
				</supportedWasherRinseCycles>
				<washerRinseCycles>
					<value value="2"/>
				</washerRinseCycles>
			</custom.washerRinseCycles>
			<washerMode>
				<washerMode>
					<value value="Course_DB"/>
				</washerMode>
			</washerMode>
			<custom.disabledCapabilities>
				<disabledCapabilities>
					<value value="None"/>
				</disabledCapabilities>
			</custom.disabledCapabilities>
			<execute>
				<data>
					<value>
						<payload>
							<rt>
								<items>
									<item value="x.com.samsung.da.mode"/>
								</items>
							</rt>
							<x.com.samsung.da.options>
								<items>
									<item value="AddWashAvailable_7"/>
								</items>
							</x.com.samsung.da.options>
							<if>
								<items>
									<item value="oic.if.baseline"/>
									<item value="oic.if.a"/>
								</items>
							</if>
						</payload>
					</value>
				</data>
			</execute>
			<custom.washerAutoSoftener>
				<washerAutoSoftener>
					<value value="None"/>
				</washerAutoSoftener>
			</custom.washerAutoSoftener>
			<remoteControlStatus>
				<remoteControlEnabled>
					<value value="false"/>
				</remoteControlEnabled>
			</remoteControlStatus>
			<custom.washerWaterTemperature>
				<supportedWasherWaterTemperature>
					<value>
						<items>
							<item value="none"/>
							<item value="cold"/>
							<item value="20"/>
							<item value="30"/>
							<item value="40"/>
							<item value="60"/>
							<item value="90"/>
						</items>
					</value>
				</supportedWasherWaterTemperature>
				<washerWaterTemperature>
					<value value="40"/>
				</washerWaterTemperature>
			</custom.washerWaterTemperature>
			<refresh value="{}"/>
			<custom.washerAddwashAlarm>
				<washerAddwashAlarm>
					<value value="None"/>
				</washerAddwashAlarm>
			</custom.washerAddwashAlarm>
			<custom.washerSpinLevel>
				<supportedWasherSpinLevel>
					<value>
						<items>
							<item value="rinseHold"/>
							<item value="noSpin"/>
							<item value="400"/>
							<item value="800"/>
							<item value="1000"/>
							<item value="1200"/>
							<item value="1400"/>
						</items>
					</value>
				</supportedWasherSpinLevel>
				<washerSpinLevel>
					<value value="1400"/>
				</washerSpinLevel>
			</custom.washerSpinLevel>
			<custom.error>
				<error>
					<value value="None"/>
				</error>
			</custom.error>
			<custom.washerAutoDetergent>
				<washerAutoDetergent>
					<value value="None"/>
				</washerAutoDetergent>
			</custom.washerAutoDetergent>
		</main>
	</components>
</root>

Another idea would be to write your own device type handler for a virtual device that acts as a slave to the washer but maps the custom washerMode values to the valid ones, which will then come through the API to HA.

Is there any documentation, link or whatever which I can use to understand how can I accomplish it?
Thanks in advance for all your help @andrewsayre and @dbradmit


Repo cleanup on github and pypi

🐛 Not a bug but a cleanup request
We have some stall repos and packages on github and pypi.
pypi: napari-gui
github: image-types, plugin-cookiecutter,  ...
I think it would be great to clean that up and for example delete
napari-gui so as to avoid confusion and in general clutter...
We can discuss here what can be deleted or somehow archived.
Perhaps we could have an archive repo on github  to keep old
unused code, i.e. some of Kira's  original plugin machinery for
reference and future use. This is better than having repos that
appear legit to newcomers but are in fact completely stale. An
archive repo would be a very explicit place to retire such old
stuff while keeping them for future reference.

related to this, we should be cleaning branches on napari repo as well

image-types is experimental but not deprecated...
We could move some of these to people's personal accounts, including image-types...

I don't have access rights to our old https://pypi.org/project/napari-gui/ - @jni is there a way to archive that?

Can we also maybe clean-up / organize the number of files we have at the top level directory - for example can we maybe put all our CAPS_LOCK.md files apart from README.md into a folder in docs? Maybe our LICENSE can go in there too? Maybe generate_release_notes.py can also find another home? Maybe our .github folder with our templates we can also put inside docs and drop the . from?
I just feel when people arrive now they have to scroll quite a lot to get to our the actual readme, and the number of files at the top level might be intimidating

I partially agree @sofroniewn . I think README.md and LICENSE should stay at root but for rest we can find new homes.
About .github folder i think github has a hook specifically with that name. I am not sure if we can drop the ..

I achieved repos that i found unused. Please do check, if there are no complaints, i can delete those.

I'm ok with deleting those, but imho we should wait for @kne42 to be back to get her go ahead. She did a lot of that early work and might like to have a copy of it. If you want to do the cleanup urgently, you could create a new org, eg napari-archive, and transfer ownership of those repos to that.

yeah, let's wait. I think no need for the new org right now, might only lead to more confusion. I don't see it as that urgent.
The one repo I might make an exception for is napari-app because the only thing on there is a PR from @jni. Do you agree @jni?

Oh yeah, nuke that sucker! =P

i just deleted napari-app. @jni has deleted napari-gui from PyPi.
let's leave this open till I rearrange our docs files as discussed with @AhmetCanSolak


enabling analog addon bricks the controller after reconnect/reset

Expected Behavior
The controller should still work after multiple disconnect reconnect cycles with the analog addon enabled.
Current Behavior
With the current release 0.7.10, enabling the analog addon prevents the controller from working after a disconnect or reset.
Context
There seems to be a problem with this commit:
https://github.com/OpenStickCommunity/GP2040-CE/commit/7491db64993945c66688a05ffd2602e3e3b522a1
With the current release 0.7.10, enabling the analog addon prevents the controller from working after a disconnect or reset.
I used the force_webconfig.uf2 to enter the web config then disabled the analog addon.
This fixed the controller buttons but then the analog sticks are disabled.
If I re-enable the analog sticks they work initially, but fails after a controller disconnect or reset.
I tried the PXPGamepad uf2 as well as WaveshareZero uf2 and both have the same issue.
The controller is not detected (I tried xinput and switch mode) and the only way to fix it was to use boot select mode.
The controller works if rebooted from within the webconfig gui, but as soon as the controller is disconnected or reset it fails.
I made a testing branch with this commit reverted:
https://github.com/MegaBitmap/GP2040-CE/tree/testing-24-10-3
After compiling a uf2 and flashing it, everything works perfectly with the analog addon enabled.
Even after multiple disconnect and reconnect/reset cycles everything works fine.
(Unrelated issue) Also with the latest pico-sdk there is a build error conflicting with Pico-PIO-USB.
I switched to pico-sdk v1.5.1 and there is no longer a build error with pio_sm_set_jmp_pin
Using windows 11 23H2 with edge browser
Steps to Reproduce

enable analog addon in firmware 0.7.10
Initially (on the fist reboot from within web config) everything works, analog sticks and all.
After a USB disconnect or controller reset, after plugging the controller back in, the controller is not detected.
The only way to fix it was to use the boot select button and flash old firmware or use  force_webconfig.uf2.

Screenshots & Files
Reverting the changes from analog.cpp and analog.h fixes the issue.

Thank you for solving the issue. That was fast!

Hot fix is live!


Update AppService AppSettings Reference Page

Better describe the current state of the DynamicCache feature on Linux web apps.

looks good 👍🏻
#sign-off

@cephalin

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

I sent email to the content owner today.
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Bug 2003164: Do not modify object from the lister cache (#2562)

Problem: Objects retrieved from the lister should
not be modified.
Solution: In locations where an object originating from the lister
cache must be modified, modify a copy of the object instead.
Signed-off-by: Alexander Greene<EMAIL_ADDRESS>Upstream-repository: operator-lifecycle-manager
Upstream-commit: 5a7f8033dfc04150d1c21ef4e86fd7bc00bbfa39

/retest

/bugzilla refresh

/lgtm

/label qe-approved

/lgtm cancel

/retest

/retest

/retest

/retest

/retest

I make that mistake every time that approval in the organization doesn't automatically tack on a lgtm :disappointed:
/lgtm

/cherry-pick release-4.9


Save-As opens wrong folder

Issue Type: Bug
Open an existing file via Explorer from a network-mounted drive (such as "\\xsjswsvm2\mpmc\sandboxes\jeffs").
File > Save As fails to open the browser window in the folder where the original file is located, like virtually all other windows applications do.
VS Code version: Code 1.45.1 (5763d909d5f12fe19f215cbfdd29a91c0fa9208a, 2020-05-14T08:27:35.169Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E3-1535M v6 @ 3.10GHz (8 x 3096)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
63.85GB (46.13GB free)

Process Argv
\xsjswsvm2\mpmc\sandboxes\jeffs\IP3_jeffs_smartconnect_v1_0\DEV\hw\sc_si_converter\sc_si_converter_v1_0\hdl\verilog\sc_si_converter_v1_0_splitter.sv

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

vscode-tcl
bkr
0.2.0

systemverilog
eir
0.10.6

veriloghdl
msh
1.1.0

File > Save As fails to open the browser window in the folder where the original file is located,

Can you clearify what "browser window" is here, do you mean the save dialog?

The Save-As dialog box,

@JeffSeltzer and does this only reproduce for files on network/UNC drive or in general?

Files opened from local drives appear to work as expected.
I tried a couple different files opened from network (including paths that were only about 4-5 levels deep). The default Save-As path always seems to be stuck on a path on the same network that I accessed a long time ago, and doesn't appear to vary.

Need to reproduce this.
@JeffSeltzer do you see a native file dialog or our picker dialog?

@JeffSeltzer I wonder if this is a Windows issue and we pass on the right path but Windows cannot switch to it because it is a network path. To proof that, can you debug VSCode at this point:

Help > Developer Tools
Sources Tab
add a breakpoint into fileDialogService.ts#pickFileToSave
check the options for its defaultUri to see if that is the proper path of the file (or its parent)


How can I use this as a menu?

I would like to use this as a modal menu for presenting options to the user.  Something like:

Can you please give me an idea of how I can achieve this?

It can be done I guess, but it requires some tinkering. I'll work on it in the next few days, it looks pretty cool.

That would be sweet! Please let me know how you get on @andreamazz
There is this reference which might help (although it is slightly different): http://holko.pl/2014/06/26/recreating-skypes-action-sheet-animation/

That would be pretty sweet! Please let me know how you get on, and if I can help in any way @andreamazz
Here is a reference which tries to achieve this effect (although it is done slightly differently to yours): http://holko.pl/2014/06/26/recreating-skypes-action-sheet-animation/

Yeah, I don't know if I'll be adding the wobbly effect too :)
I'm having a bit of trouble on finding a way to parametrize the view that needs to be expanded. Passing a view as parameter is not an option since the outlets are not set at the time of the transition, while passing a rect with the view size is not a great API design and doesn't play well with autolayout. Any idea is welcome :)

hey @andreamazz
I was looking at the blog mentioned (and also: http://victorbaro.com/2014/07/vbfjellyview-tutorial/) and a few other examples, what they do is they initialize the controller with the view and have it set as a stored property.  Then when the button is clicked, they play a similar sequence of animation as your example).
Create a new branch and tag me with what you have done so far (passing the frame size) and let me have a look and wrap my head around it

Yep, that's fine if your menu is a subview, but this is meant to be a custom transition. I'm not sure that's the best course of action, it would fit better a whole new lib dedicated to that. I might work on it in the next few days.

you are right, I agree @andreamazz  I think jamming it into this lib would create a 3 headed and 5 legged monster :laughing:
when you create the new project tag me in and I'll start watching it and add some commits/suggestions too :+1:

Any luck @andreamazz :smile_cat:

Sorry, not yet. I'm pretty swamped at the moment, I don't see this happening in the short term to be honest. I'll keep you posted if I do. In the meantime I'm closing this issue.


Added API to PluginKit so plugins can trigger hardware detection.

This PR addresses issue #155.

Also needs rebasing by now (sorry) and possibly analysis/commenting of thread safety - may need lock guard in case it's called from an async plugin, etc.

I rebranched from master and applied this PR patch again so it should merge cleanly now.
As for thread safety, I think we're okay there because we just set a trigger-hardware-detect flag to true (in ServerImpl) and the triggering is actually executed the next time the server loops through.


specifying default value in Field causes Pylance to expect an argument when calling the model constructor

Bug
If you put the following snippet in VSCode and use Pylance (a common setup I assume), the below snippet will cause Pylance to complain Argument missing for parameter value.
Maybe it's a Pylance issue, maybe not.. I don't know enough, but it would be super awesome if there's some switch you can flip to support this :)
from pydantic import BaseModel, Field, constr

class MyModel(BaseModel):
    value: str = Field('default_value', type=constr, min_length=1, max_length=200)

if __name__ == "__main__":
    a = MyModel()
    print(a)

I recommend you use PEP593 Annotated:
from typing import Annotated  # or typing_extensions
from pydantic import BaseModel, Field

class MyModel(BaseModel):
    value: Annotated[str, Field(min_length=1, max_length=200)] = 'default_value'

if __name__ == "__main__":
    a = MyModel()
    print(a)

Also, for people who get here, you can also fix this by making default a keyword argument.

Thanks @Gamrix! It probably has to do with dataclass transform then. I wonder if that’s some thing we can fix


Time to delete stale branches... again

The problem
It's that time of the year when we delete stale branches. There are a couple of branches which are 3 and 2 year old, by @coke.
Suggestions
Warn the author to save them somewhere in case they're needed, delete them in a week.

better-fail-example can be deleted, it is just too old.

traps may also be deleted

Back again to deleting branches. Candidate now: bughunt, by @coke . If no one says anything, I'll delete it before the end of the week.

@Altai-man @threadless-screw done, thanks!


Test metacp on a large scale

To make sure that metacp is fully ready for its mission of powering Metals indexes, we need to run it on a large corpus of jars. It can be the community build, Scaladex, etc etc - the exact implementation details are up to the implementor.

👌
Just to clarify, you mean a suite similar to CtashSuite but on a larger scale? I.e. checking for crashes?

Here is a corpus of 3gb of jars from the ~1000 most popular Scala libraries according to Scaladex https://drive.google.com/open?id=0B5BBsTPBxGcMQlpPQ3VrVUpndFk
I used the corpus to do analysis on what parts of the collections API are most commonly used.

Just to clarify, you mean a suite similar to CtashSuite but on a larger scale? I.e. checking for crashes?

Correct. Primarily we want to avoid crashes since metacp is typically on a critical path for downstream tools like scalafix

@gabro Now that I'm thinking of it a bit more, it would also be useful to gather some metrics, similar to what we did in https://github.com/scalameta/scalameta/issues/1289.

We've done some internal testing at Twitter, and that resulted in a couple dozen recently submitted tickets, most of which are scheduled for 4.0.0-RC1: https://github.com/scalameta/scalameta/milestone/26. I think this counts as large-scale testing, so I'll be closing this issue.


feat(documents): Allow to retrieve a document by its ID

Issue being fixed or feature implemented
Add shorthand method to retrieve documents by their $id
Example:
    const document = await client.platform.documents.getById(
      'PaymentRequest.PaymentIntent',
      'DD9yD2G63GPdwcQi987tmiCeL3YybGDmXLkQr1jBLPhm'
    );

closes #102

Probably, it's better to rename existing one to find and use get for getting by ID? But, honestly I don't like get name coz it sounds like we getting something locally so probably this one should be something like findById or fetchById?

@dashameter Really sorry for closing your PR. It happened automatically when I remove 0.13-dev branch that is part of our release flow. Could you please recreate it to 0.15-dev please?


New version: Bedrock-OSS.regolith version 1.5.0

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[x] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Resolve #195507
Microsoft Reviewers: Open in CodeFlow

LGTM!

Automatic Validation ended with:

No errors to post.

(Automated response - build 899.)

@wingetbot run

@wingetbot run


[dicsussion topic, don't merge] React optimizations and umbrella caching

Hi all,
We've started using this branch internally for some perf-sensitive projects. Just wanted to get your thoughts on this strategy. It's not mergeable in its current state but has, imo, some interesting concepts. This effectively extends on the notion of static vs dynamic styles that was added to ComponentStyle
The sticking points
A lot of this depends on referential equality for the theme object. We could attempt these optimizations for dynamic components that don't use theme without this requirement, but theme'd dynamic components' optimizations depend on this principle. I think in the past I read that philosophically this library doesn't want to mandate theme updating to a new reference when it has to change, so this could be a deal breaker.

some related changes its doing that also probably won't work for master: No partial themes in nested ThemeProvider. We're storing our theme in redux and being careful to only make new references as needed. This works well for our use-case, but probably not all.

attrs aren't working at the moment. they could be re-added, but I haven't had time to address it.

The optimizations its doing

includes a previous PR https://github.com/styled-components/styled-components/pull/1049 for some general optimizations

splits up static and dynamic components to their own unique subclasses

this makes it easier to perform some optimizations for static-components vs dynamic ones.
(in theory I think this makes it easier for V8 to optimize ?)

removes life-cycle hooks from static components

the react-16 user-timing integration added some logging for when lifecycle hooks are committed (they also seem to be higher-resolution and showing more lifecycle events in general). Anyways what this does is reduce the overheard for static components

moves style generation from componentWillMount to constructor in dynamic components

for the same reasons  -- it no impact on the generation itself, but just trying to minimize the overheard from what react is doing internally

The above could probably be ported to master
this is the most interesting bit

adds umbrella caching to dynamic components

For a dynamic component the class staticcomponentStyle has two properties added: lastProps, and lastTheme. Every time a component would compute styles, there's a smart shallow-diff of the components props, and the theme. The idea here is that most of the props for styling, nor theme, are changing that much between different instances of the same component, so we should be able to cache the work to build a context, interpolate  & flatten styles, and hashing it. e.g. lists of items. This smart diff does === comparison and ignores some properties that, in an admit-ably opinionated way, should not affect styles. e.g. react event-handlers such as onClick are ignored from comparison entirely. The idea being there should be an explicit prop used for styling, instead of an event handler that might not always be there. This helps to increase cache-hits across different instances of the component. theme is also ignored as we're using determineTheme to keep track of the right theme to use for building styles -- that will get its own === check against lastTheme)

@schwers at this point I’m quite disappointed that making components pure is not already a 100% applied best practice. So I just got to mention, most popular React libraries don’t apply it by default.
The other side of this are the performance characteristics. It’s often much more benificial to prevent rendering high up in the tree, thus avoiding a rettender in the entire subtree. So this would be just for convenience.
I’m concerned that once we introduce insertRule and preprocessed CSS, this might become a bottleneck. But at this point it’s definitely worth to test it and think of a good way to give people a choice to use it or not

@mxstbr @kitten where did we land with this? Are there learnings from here we can still move forward with?


fix(all): Add namespace for compatibility with AGP <4.2

Description
These changes need for compatibility with AGP <4.2. For more information: https://developer.android.com/studio/build/agp-upgrade-assistant
Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I titled the PR using Conventional Commits.
[x] I did not modify the CHANGELOG.md nor the plugin version in pubspec.yaml files.
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze) does not report any problems on my PR.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate that with a ! in the title as explained in Conventional Commits).
[x] No, this is not a breaking change.

Thanks for your contribution, but there are no plans to support AGP < 4.2 in Plug Plugins. Recently there was a release of major version for all plugins specifically because of dropping support of such old AGP versions. Developers should update their projects instead of staying on such an old version of the Android Gradle plugin,

Almost all popular packages such as flutter's team packages, have the namespace property in their gradles. We want to upgrade our project and the upgrade process fails due to the lack of this.

Developers should update their projects instead of staying on such an old version of the Android Gradle plugin,

Also I don't understand this sentence, because we're trying to upgrade to the version 8 of gradle and it is not possible if you don't add these changes to the plugins. If this is not the case we have to clone the plus plugins unfortunately and add them on our side.

Almost all popular packages such as flutter's team packages, have the namespace property in their gradles. We want to upgrade our project and the upgrade process fails due to the lack of this.

There was a discussion about it, but long story short it is up to maintainers to decided on how to develop a plugin they work in their free time. Plus Plugins have namespace property in latest releases, so updating to Gradle 8 and Android Gradle Plugin 8.x isn't an issue. What you introduced in the PR is a workaround for projects with Android Gradle Plugin older than 4.2.
Just look at the diff of your PR - there is a namespace property already below:

Also I don't understand this sentence, because we're trying to upgrade to the version 8 of gradle and it is not possible if you don't add these changes to the plugins.

This contradicts the previous sentence in your reply. If you want to update to Gradle 8 and Android Gradle Plugin 8.x you can use Plus Plugins and don't need such workarounds as namespace was introduced in Android Gradle Plugin 4.2 and available in any project using 4.2 or newer version.

Just look at the diff of your PR - there is a namespace property already below:
Oh sorry, it's right. I don't know why we faced gradle issues on plus plugin then. It might be related to the using old versions of plus plugins and I had an old clone version.
Thanks it's all good. We will try to update it.


HIVE-27409: Iceberg: table with EXTERNAL type can not use statistics to optimize the query

What changes were proposed in this pull request?

Why are the changes needed?

We have supported iceberg statistics recently. e.g. HIVE-24928  and  HIVE-27158. And we can use iceberg stats to optimize some queries like HIVE-27347.
However, in current hive codebase, we prohibit using EXTERNAL table stats and this change was introduced by HIVE-11266. And HIVE-19329 also disabled some optimizations for EXTERNAL table whether it is iceberg or not. Therefore, The EXTERNAL type iceberg table can not use stats to optimize query.
https://github.com/apache/hive/blob/7cd3107a76d633ef5fae2ffb8ec16953ac968092/ql/src/java/org/apache/hadoop/hive/ql/optimizer/StatsOptimizer.java#L298-L301
In HIVE-24928,  we have added method HiveStorageHandler::canProvideBasicStatistics()  to indicate iceberg can have the ability to provide stats. That is to say, Although Iceberg table is regard as EXTERNAL table in Hive, it can provide details statistics.
Therefore, here i suggest we should check both table type and boolean result of HiveStorageHandler::canProvideBasicStatistics() to determine if the table can use stats.
Does this PR introduce any user-facing change?

NO.
How was this patch tested?

Just a minor spacing issue due to the recent push in the q.out file due to which tests are unstable, can you please fix that.
Otherwise the changes LGTM, +1

I want talk more about this change.

In https://github.com/apache/hive/pull/4388/commits/592232543981371b822d047716d2e33b8af93d97, I have refined some code introduced by HIVE-19332, which disabled compute.query.using.stats for all EXTERNAL table. Then the external iceberg table can use some optimization from stats.
There are two important parts i didn't fix in this PR, they were introduced by HIVE-19335 and HIVE-19336. And they are controled by the added conf hive.disable.unsafe.external.table.operations, and it is default true which means all EXTERNAL type tables could not use stats. I am not sure if we shoud add the additional check for iceberg EXTERNAL type near where hive.disable.unsafe.external.table.operations  appear, or we just set it to false to allow all EXTERNAL table use stats?

I want to hear your guys opinions about the conf hive.disable.unsafe.external.table.operations , HIVE-19335 and HIVE-19336.

I agree with @simhadri-g. If we can obtain statistics for the iceberg external table, we should definitely use them for optimization purposes. However, I don't believe we should modify the default value of hive.disable.unsafe.external.table.operations, as it is used generically for external tables.
Regarding the introduction of a new configuration, wouldn't canProvidedStats suffice? If it does, then I suggest we avoid adding a new configuration specifically for iceberg as an exception for statistics. What do you think?

But since HiveIcebergStorageHandler implements methods to provide stats for iceberg tables, I think we should add an additional check for iceberg EXTERNAL type near where hive.disable.unsafe.external.table.operations appear.

@simhadri-g Agreed. I have added additional check if hive.disable.unsafe.external.table.operations is set true, and then EXTERNAL table can use stats for optmization. I think the new method StatsUtils::canProvidedStats  is enough to check table.

Regarding the introduction of a new configuration, wouldn't canProvidedStats suffice? If it does, then I suggest we avoid adding a new configuration specifically for iceberg as an exception for statistics. What do you think?

@akshat0395  Yes, StatsUtils::canProvidedStats  is suffice.
The commit https://github.com/apache/hive/pull/4388/commits/dc5f3b482041ac5460294b05c23eaaea885db00f fixed  HIVE-19335 and HIVE-19336 and then EXTERNAL iceberg table can use stats to optimize join query.

Added another commit https://github.com/apache/hive/pull/4388/commits/00d006df2a6d78c6797371ed83da0724d630a5c5 to fix qtests which have EXTERNAL iceberg table.
Please see the failed qtest details from http://ci.hive.apache.org/blue/organizations/jenkins/hive-precommit/detail/PR-4388/5/tests


Calculator does not run

Even after following the instillation instructions carefully, we were disappointed that the calculator would not run, we got a few errors about incompatible react versions and missing default exports.

Yes, it is still not working with me
so any ideas ...


Why Use Load Balancing in an Application.

###Proposed title of article
Why Use Load Balancing in an Application?
###Introduction:
Load Balancing is a critical component of a distributed system. It Spreads traffic across a cluster of servers to improve responsiveness and availability of applications, websites or databases. Load balancers tracks availability of resources while distributing requests. If a server is not available or has an elevated error rate the Load Balancer will stop sending that server traffic.
###Key takeaways:
At the end of this article the learner will be able to:

Understand what a Load balancer is.
Know the Advantages of using Load balancers.
Know the different types of Load balancer algorithms that can be used in an application.

References:
N/A

Good afternoon and thank you for submitting your topic suggestion. @munyite-megzs
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

@WanjaMIKE done with the write up


fix: change course description and image array key names to match Canvas

Corrected the key names for course description and course img_url to match those in Canvas and v2 database. Replaced the nullish coalescing operators with else statements to stop description and img_url values from being repeated from previous course during course iteration process.

Good catch :+1: . this is a prime example of mind blowing wtfness from canvas..


🐛 Fixed failing Facebook URL validation for group urls

closes https://github.com/TryGhost/Ghost/issues/9160

simplified FB validation to allow any valid FB url (autocomplete of raw usernames and facebook-like URLs is still in place)
fixed a bug with sticky Twitter validation message, if you entered an invalid URL then changed it to an invalid username you still saw the invalid URL message (surfaced through new test helpers for validating facebook/twitter fields)

Coverage increased (+0.1%) to 73.242% when pulling 2f18dd693d83638eea08223fe486be270603686c on kevinansfield:fix-fb-validation into 82d147340698372325af2e9733c72b5e7399870c on TryGhost:master.


docs: add prometheus-operator example for jobset

Fix: https://github.com/kubernetes-sigs/jobset/issues/626

@googs1025 Can you add a short readme in this folder explaining the steps to demo this example?

@googs1025 Can you add a short readme in this folder explaining the steps to demo this example?
done

https://github.com/googs1025/jobset/tree/docs_prometheus/examples/prometheus-operator

/lgtm
/approve
Thanks!


Permit newlines in parentheses, brackets, and braces

No longer relevant with the changes in commit f353b9d which require semicolon statement terminators.


Bug - Goes up the folder tree if we press backspace while renaming folder name

See title. Gnome 47 Fedora 41.

I am facing the same issue


[SUPPORT] Deltastreamer updates not supporting the addition of new columns

Describe the problem you faced
Currently using the delatstreamer to ingested from one S3 bucket to another. In Hudi v10 I would use the upsert operation in the delatstreamer. When a new column was added to the schema the target table would reflect that.
However in Hudi 0.11.1 using the insert operation, schema changes are not reflected in the target table - specifically the addition of nullable columns. Other important notes, I added the metadata table and column stat indexes.
 : S3

Running on Docker? (yes/no) : yes

Additional context
Initially used upsert but was unable to continue using it because of this issue: https://github.com/apache/hudi/issues/6015
Stacktrace
Add the stacktrace of the error.

Unable to reproduce on a brand new table. Same script, same environment but new table causes no issues.
Not sure if this has any problems due to upgrading a previously existing Hudi table.

Also wanted note that in the logs I am seeing
22/08/09 05:13:37 INFO DeltaSync: Seeing new schema. Source :{
This has the correct schema, for both the source and target. However the output data isn't matching the schema.

stat_data_frame = (session.read.format("hudi").option("hoodie.datasource.write.reconcile.schema", "true").load("s3a://example-prod-output/stats/querying/0e6a3669-1f94-4ec4-93e8-6b5b25053b7e-0_0-70-1046_20220809052311671.parquet"))
len(stat_data_frame.columns) # returns 616

however
stat_data_frame = (session.read.format("hudi").option("hoodie.datasource.write.reconcile.schema", "true").load("s3a://example-prod-output/stats/querying/*"))
len(stat_data_frame.columns) # returns 551

This issue was resolved by instead remove asterisk:
stat_data_frame = (session.read.format("hudi").option("hoodie.datasource.write.reconcile.schema", "true").load("s3a://example-prod-output/stats/querying"))

After discussion with @rohit-m-99 , the problem is not due to the write side, but rather how the Hudi table is read.  The glob pattern,  i.e., spark.read.format("hudi").load("<base_path>/*"), is used to read the table, which causes inconsistent results.  Using spark.read.format("hudi").load("<base_path>") solves the problem and returns the correct data.

@rohit-m-99 feel free to close the issue if you are all good.

Running into an issue now with .option("hoodie.metadata.enable", "true"). When doing so I receive the following issue alongside a FileNotFound:
It is possible the underlying files have been updated. You can explicitly invalidate the cache in Spark by running 'REFRESH TABLE tableName' command in SQL or by recreating the Dataset/DataFrame involved.
When creating the dataframe I see the potentially related warning:
Metadata record for . encountered some files to be deleted which was not added before. Ignoring the spurious deletes as the _hoodie.metadata.ignore.spurious.deletes config is set to true
Querying without the metadata table enabled causes no issues but enabling it seems to cause this issue. Note this happens only when not using the glob patter discussed above

@rohit-m-99 Is this from Spark SQL? Do you see any exceptions or stacktrace?  A few things to try out: (1) restart spark-shell or spark-sql to see if this goes away; (2) set hoodie.metadata.enable to false in Deltastreamer and wait for a few commits so that metadata table is deleted completely (no .hoodie/metadata folder), and then re-enable the metadata table.

Option 2 worked for me! Set hoodie.metadata.enable to false in Deltastreamer and wait for a few commits so that metadata table is deleted completely (no .hoodie/metadata folder), and then re-enable the metadata table.


"function is not a function"

Looks like a comeback of old fun
https://github.com/denysdovhan/wtfjs#function-is-not-a-function
Tried in nodejs v11.8.0
And chrome 71
class Foo extends null {}
new Foo() instanceof null
Thrown:
TypeError: Super constructor null of Foo is not a constructor
at new Foo (repl:1:1)
Doesn't look like expected behavior :/
In case it's expected then there should be a link to current expected behavior which was bug fixed

Please, open a PR 🙏

Please, open a PR 🙏

Sure, just a moment!


Update documentation to not contain not yet implemented functionality

Right now many specs don't differentiate between the parts that are already implemented, and parts that are future facing and describe our goal instead of current reality.
We want to avoid any confusion here, and thus decided that all documentation regarding not implemented features should be removed.
If users probably expect some functionality to be there, it should be added to limitations.md which will also include a link to a tracking issue of the implementation of the feature.
In some cases, it might also be worth mentioning a limitation and missing feature in the docs themselves, with a link to the limitations file and possibly tracking issue as well.

(This issue was directly added to Preview 9 as it supersedes https://github.com/prisma/prisma2/issues/251 which we committed to tackle in this release anyway.)

Note: The work on limitations.md is still WIP, also we need to check the rest of the docs for correctness regarding implementation state.

I believe the docs now match the state of the implementation, I suggest open specific issues when we learn that this isn't instead of keeping this one open.


Juniper MSEE devices don't show ARP entry

Get-AzExpressRouteCircuitARPTable cmdlet only reports the customer MAC address and not the Microsoft MAC address when the MSEE is a Juniper Device instead of a Cisco device.
Per public documentation https://docs.microsoft.com/en-us/azure/expressroute/expressroute-troubleshooting-arp-resource-manager, we should provide both MAC addresses.
Thank you

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: dd9af8e0-c536-5a28-8815-02d2e36b28c1
Version Independent ID: de354dad-94c4-b91b-b712-bad104bbf90f
Content: Azure ExpressRoute: ARP tables - Troubleshooting
Content Source: articles/expressroute/expressroute-troubleshooting-arp-resource-manager.md
Service: expressroute
GitHub Login: @duongau
Microsoft Alias: duau

Thanks for the feedback! I have assigned the issue to the content author to investigate this and update the document as appropriate.

Hello @bradyson, PG is aware of this but there is no fix for this at the time. It is in their backlog. #please-close


PHP_CS removed in favour of ECS

This PR removes HP_CodeSniffer in favor of ECS (symplify/easy-coding-standard)
ECS includes PHP_CS and PHP CS Fixer rulesets.
The proposed configuration is the same as the one that was used, except that it relies on PSR12 instead of the deperacted PSR1 and PSR2 (see this migration guide).
In addition, a Github Action workflow is added to run both Rector and ECS and detect code lines that could be improved.

Thank you @Spomky.