Move event log recording in UpdateUser service into callbacks on User model

The new Current class inherits from ActiveSupport::CurrentAttributes which means that its singleton attribute accessors are "thread-isolated". This means that we can set Current.user & Current.user_ip  in a new before_action in ApplicationController and then make use of them in model code without needing access to a controller.
I've used this change to simplify calls to EventLog methods and move a bunch of functionality in UserUpdate#call into model callbacks. I think we could take this further, but I wanted to get these changes merged now that I'm reasonably confident this is a sensible approach.
Further work

Currently not all calls to EventLog.record_event require the initiating user or the user's IP address. This means that currently we have to pass initiator: true and/or ip_address: true options. I strongly suspect the reason why some calls don't require the initiating user or the user's IP address is because it was awkward/impossible to obtain them at the callsite. However, now that they are available from the Current model, it would simplify the code a lot if we just always recorded them. And I can't see why this would be a bad idea.
There is other functionality in UserUpdate#call (e.g. sending of email notifications) that could me moved to callbacks on the User model. This would simplify UserUpdate#call and ultimately make it redundant. And I think it would make the code a lot more resilient, because developers wouldn't need to keep remembering to use UserUpdate whenever they need to make a change to a user. There are already places where this has been missed. Also UserUpdate is the only "service" in the app, so it's a bit of an outlier and it would be good to make the code more idiomatic.
Similarly there are probably calls to EventLog.record_event or sending of email notifications in controllers which could move into callbacks on other models.

@chrisroos Has identified some possible flaws in this which need investigating before this is merged:

What happens when current_user (provided by Devise) changes in the middle of a request, e.g. signing in, signing out, etc. Maybe there are some Devise hooks we could use to keep Current.user up-to-date...?
What happens when a non-web process (e.g.Sidekiq worker, Rake task, Rails console, etc) triggers an event without setting Current.user? This might explain why some of the events don't require an initiator.

@chrisroos Has identified some possible flaws in this which need investigating before this is merged:
1. What happens when `current_user` (provided by Devise) changes in the middle of a request, e.g. signing in, signing out, etc. Maybe there are some Devise hooks we could use to keep `Current.user` up-to-date...?

I think we might be able to use Warden::Hooks#after_set_user to cope with this...?
cc @chrisroos

@chrisroos

What happens when a non-web process (e.g.Sidekiq worker, Rake task, Rails console, etc) triggers an event without setting Current.user? This might explain why some of the events don't require an initiator.

I'm assuming that most/all of the calls to EventLog methods from non-web processes were not previously specifying a current user to record against the event. However, given that I'm a bit uncertain about this and in any case it might be nice to have separate users for these scenarios, I've spiked on setting Current.user for all background jobs, any Rails console, and relevant Rake tasks in the following commits:

WIP: Set Current.user for all background jobs
WIP: Set Current.user in a Rails console
WIP: Set Current.user in application Rake tasks

While I still think this is a sensible idea, having discussed the PR with @chrisroos today, I've decided that I'm not going to have enough time before I finish this week to get this into a state where the risk of causing a problem is sufficiently low to justify the benefits of the change, especially given that a bunch of the stuff mentioned in the "Further work" section of the PR description would also need to be done to really see all the benefits. So I'm going to close the PR and hope that someone has the time to come back to it at some point the in the future! 😅
cc @chrislo @JonathanHallam @jkempster34


Invalid description and screenshots in Subscribe to Bot Events section

I tried to step through the guide provided here:
https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-slack?view=azure-bot-service-3.0
All was good except when I distributed slack bot app, I stopped to have answers from my bot installed in other workspaces.
After hours of investigation I realized that I need to configure provided events in Subscribe to Bot Events section, but the guide show the screenshots of Subscribe to Workspace Events section.
It is not obvious from the guide and screenshots that Bot Events section hides under the Workspace events section, and what events I really need to configure.
Could you please update this guide to be consistent with working configuration.

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

ID: e38b3d9f-a7c8-18d6-3fca-db1be46dff14
Version Independent ID: 328f6bde-8645-5fbd-fb10-55aeef61e0c5
Content: Connect a bot to Slack - Bot Service
Content Source: articles/bot-service-channel-connect-slack.md
Service: bot-service
Product: bot-framework
GitHub Login: @RobStand
Microsoft Alias: kamrani

Microsoft, please make the correction noted by ToniaDemchuk!
I ran into the same issue and spent most of a day of trial and error trying to get this channel to work (without seeing the feedback from ToniaDemchuk). I ended up contacting Slack support and they eventually suggested the same fix and then even noted the feedback I had missed on this page.

I also ran into the same problem.


Problem with Segment Slice and Separator in CSVW

@xrotwang, I had before the line:
        args.writer['FormTable', 'Segments'].separator = ' + '
        args.writer['FormTable', 'Segments'].datatype = Datatype.fromvalue(
                {'base': 'string', 'format': "([\\S]+)( [\\S]+)*"})

In the code, to make sure that the slicing works for partial cognates. However, since the procedure that segments with the orthography profile yields a string, this will afterwards lead to a situation where the whole list of correct segmentations is ' + '-joined. This did not happen in bodtkhobwa, since the conversion works without an orthoprofile. However, since this passed silent, without anybody noticing (until I looked into the forms.csv), we may want to think of a way to circumvent this problem.
For now, I just commented the lines out in the lexibank script.

I think the problem is that this "second-level separator" approach isn't really enforced by our tools yet - and pycldf doesn't provide any support at all. I think we have two options here:

Make this the required format for Segments in lexibank and make sure a list of lists is passed as Segments into any method writing a FormTable row.
Have pylexibank sniff the 'format' - and decide whether second-level separators are specified, then require either a simple list of segments or nested lists.

I think option 1 is better and easier to implement. While option 2 seems more flexible, it will lead to a situation where you can't really tell whether the first-level separator separates segments or morphemes - without looking up the regex again.
But a particular problem with your specification above is that the second-level separator (" ") is part of the first-level separator " + ". I can imagine this to lead to weird results.

I'd be happy to drop the separator " + " and go with " " in all cases.
This means, that "+" as a segment has to be taken into account by code,
but that is exactly what happens in a datatype such as
lingpy.basictype.lists.

So I prefer to make sure that there are no "+ +" instance no
segments[-1] == "+" etc., but leave the question if there is a "+" or
not not to the cldf. Segment.slice will, of course, then have to be
interpreted as part of our non-explicit semantics that there is a second
separator, but I think that is fine, as we have the types for this,
etc., and our methods account for it.
It shows also why it is important to really decide for "+" as the only
separator. We won't allow "#" or "_" to be used.

Sorry to hijack the conversation, but this seems related to the same issue I am having with naganorgyalrongic: https://github.com/lexibank/naganorgyalrongic/issues/8#issuecomment-733814982
I'm only mentioning it here so we can keep track of both.

@LinguList So what you are saying is:

Segments will always be a simple list in the CLDF, i.e. there's no secondary separator defined via regex.
The "special" segment + will be interpreted as morpheme separator by downstream processing software.

Is that right?
If so, I think I agree that this would be the best solution, and also th easiest to communicate: Segments is a CLDF thing, + to separate morphemes is a lexibank thing.

And SegmentSlice still works in this scenario - or rather it only works in this scenario as intended, i.e. specifying a slice of segments, as opposed to specifying a slice of morphemes in one case and a slice of segments in the other.

Yes. That's what I mean. Lexibank now checks also that + is only used in specific conditions as separator.
For the segment slice, however, this would mean that we would have to compute for partial cognates exactly how long they are, right?
So if I have: p a + m a and p u n + k u with first element being partial cognates, the segment slice for the cognate for the first word would be 0:2 and for the second it would be 0:3 ?
If you mean this by segmentslice, I consider it impractical, since the typical use case in terms of partial cognates is still that you name them by morpheme, and it would require us to to a lot of checking to validate that the slices are applied correctly.
Or do you mean we stick to our old solution that slices segments by their morpheme structure?

And the slices would also count the + as segment. So the second morpheme in p a + m a would be 3:5. If this is impractical, I'd only see the option of adding another column - non-CLDF, but lexibank specific (hence with knowledge about the + being a morpheme separator) - to indicate morphemes by morpheme index for partial cognacy.

I am perfectly fine with this specific lexibank semantics!

So this means, I'll change the data on bodtkhobwa (which is the only ohter dataset) to account for this.

I already modified this dataset and also the bodtkhobwa. So we are done with this then.


Can't close developer menu Android

Description
I started experiencing a problem when testing React Native Apps on physical devices where the developer menu won't close and stay open. The background seems to flicker.
Reproduction
Test any React Native app on a physical device. Im using a Samsung  Edge 6 Android version 6.0.1
Additional Information

React Native version: 0.31.0 and 0.36
Platform: Android
Operating System: MacOS

@facebook-github-bot label Android

Did it occurs on a freshly created project ?

It happens with old and new projects, I'm going to try and test it on other physical devices.

If this happens on 0.31, I am surprised it hasn't surfaced before. Let us know if it happens on other devices.

@hramos I was able to test for this bug on a different device and everything seemed to be working normally. I'm still experiencing the bug on my Samsung Galaxy S6 edge. I could be device related but it would be great to know if anyone else has experienced the same error.

I'm closing this issue because it has been inactive for a while. After testing on other several devices I think it's unique to my device.


Refactored localRootPeersProvider to accomodate the new LocalRootPeers (DNS task)

Still need to work on local config changes


Fix file extraction of "one platform" libraries

Search directories for library:

${platform}/${arch} to enable platform JNI library for different processor archs
${platform} to enable platform JNI library
${os} to enable OS JNI library
no directory (".")

In the last case, the following fails to locate the file inside the JAR (in some JVMs?):
URL resource = ClassLoader.getResource("META-INF/native/./lib<name>.so");
When the classpath is not a JAR it works as expected.
$ java --version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.18.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.18.04, mixed mode, sharing)

stale


SpamHaus changed uri

http://www.spamhaus.org/zen/
Since BadBehavior doesn't really have a Github repository, I am posting it here.
In blackhole.inc.php
"sbl-xbl.spamhaus.org",	// All around nasties
should be
"zen.spamhaus.org",	// All around nasties
I'm currently rewriting BadBehavior to be object oriented so I just found this.

wat.
zen includes the pbl. You should not be using it.


Use PEP 735 / dependency groups in tox

We can't merge it before at least one installer supports it, though. Otherwise, there would be no way to install a local dev environment (currently pip install -e .[dev]) as exemplified by the failing CI.

We can't merge it before at least one installer supports it, though. Otherwise, there would be no way to install a local dev environment (currently pip install -e .[dev]) as exemplified by the failing CI.

You really should have a tox environment with editable install and problem solved 😅


New rule: Unnecessary enumerate()

Fairly sure this is not covered by anything, but something I encountered due to autofixing B007.
Given the following example:
for i, s in enumerate("abc"):
    print(s)

I get the following output:
❯ ruff --version
ruff 0.0.241

❯ ruff --isolated --select B007 bug.py
bug.py:1:5: B007 [*] Loop control variable `i` not used within loop body
Found 1 error.
[*] 1 potentially fixable with the --fix option.

❯ ruff --isolated --select B007 --fix bug.py
Found 1 error (1 fixed, 0 remaining).

❯ cat bug.py
for _i, s in enumerate("abc"):
    print(s)

We could probably identify when builtins.enumerate() is being used and autofix to:
for s in "abc":
    print(s)

Ah, this is covered here by FURB148 / no-ignored-enumerate-items.


Supporting changes for work items 3 and 4

Removing methods 3m3 and 3m4 in ClassManager
Removing methods 3m3 and 3m4 in SubscriptionManager

Reviewed on the call on the 20th of December 2022.


Added setting autoUpdate so we can turn off auto updating after events

In Riot after an event handler is being called el.update() is automatically called, but since this update is sometimes called too early or when we don't want to call update I added this feature to make it possible to turn off automatic update calls. An example is when you make an AJAX request in your event handler, the result right now is that update is called before the AJAX call returns and that is most often not what we want to do. In these cases it is better to call this.update() manually in your event handler.
Also, there is a problem if the event handler method that is called is in a parent or parent.parent tag, like in this example:
http://jsfiddle.net/AndreasHeintze/67nznL8p/
Here the event handler method is in the parent tag and since el.update() is called on the current tag, nothing will get updated. In this case it is better to turn off auto updating and call this.update() manually in the event handler, like in this example:
http://jsfiddle.net/AndreasHeintze/67nznL8p/29/
Of course we can manually call this.update() in our event handlers without this fix, but the result of that is that update is called twice and the added code in this fix is very small.
/Andreas

Coverage increased (+0.17%) to 91.02% when pulling 041f4b837c58a46b4eb0dfb56e85ade00a7e3940 on AndreasHeintze:autoUpdate into 937fcb37fb3901d3794b33c4087df8600b027ddb on muut:dev.

Trying to get rid of my sync merge...

See #699 instead.


Changed target to point to the service address

It seems that Prometheus is using consul node address as scrapper target; however, it should use service address.
If I'm wrong please excuse the noise.

I found the relabeling option in the documentation

Yeah, this came up a while ago. For some use cases, the right address is in Address, for others it's in ServiceAddress. Thus we added ServiceAddress as a meta label (Consul docs aren't clear, but it seems Address is the more common use case).


Consolidating Querybuilder and reorganizing file structure

I noticed currently I cannot run the app locally since it is not using the environment specific variables. Has something changed for me to run this locally?

Thanks. Very nice consolidation.


wrong date #31juneBug

Coolboards with actual master shows invalid date.
"timestamp": "2018-06-31T07:50:34Z"

Serial output:
*WM: Sent config page *WM: WiFi save *WM: Sent wifi save page *WM: Connecting to new AP *WM: Connecting as wifi client... *WM: Connection result:  *WM: 3 [2018-07-01T07:27:16Z][HEAP:25560]INFO:  Wifi network selected: Bbox-6D1D0A92 [2018-07-01T07:27:16Z][HEAP:25496]INFO:  Adding new Wifi network: Bbox-6D1D0A92/9944D9FD2599241933FF92197EDDE3 [2018-07-01T07:27:17Z][HEAP:25080]DEBUG: Reading configuration file as JSON: /wifiConfig.json [2018-07-01T07:27:17Z][HEAP:25080]DEBUG: Configuration JSON:{"wifiCount":0,"timeOut":180} [2018-07-01T07:27:17Z][HEAP:25224]DEBUG: Saved JSON config to: /wifiConfig.json [2018-07-01T07:27:17Z][HEAP:25224]INFO:  Added new network to Wifi configuration: SSID:Bbox-6D1D0A92PSK:9944D9FD2599241933FF92197EDDE3 [2018-07-01T07:27:17Z][HEAP:25560]INFO:  Wifi status: connected *WM: freeing allocated params! [2018-07-01T07:27:17Z][HEAP:25752]INFO:  RTC ISO8601 timestamp: 2018-07-01T07:27:17Z [2018-07-01T07:27:17Z][HEAP:25752]DEBUG: RTC UNIX timestamp:<PHONE_NUMBER> [2018-07-01T07:27:17Z][HEAP:25776]DEBUG: Received response from NTP server [2018-07-01T07:27:17Z][HEAP:25752]INFO:  MQTT connecting... [2018-07-01T07:27:17Z][HEAP:25752]DEBUG: MQTT client id: 5CCF7F39EDF6 [2018-07-01T07:27:17Z][HEAP:25752]DEBUG: Loading X509 certificate [2018-07-01T07:27:18Z][HEAP:24536]DEBUG: Closing bin file [2018-07-01T07:27:18Z][HEAP:25752]DEBUG: Loading X509 private key [2018-07-01T07:27:19Z][HEAP:24088]DEBUG: Closing bin file [2018-07-01T07:27:19Z][HEAP:25752]DEBUG: Configuring MQTT [2018-07-01T07:27:28Z][HEAP:10640]INFO:  Subscribed to MQTT input topic [2018-07-01T07:27:28Z][HEAP:11168]INFO:  Synchronizing RTC... [2018-07-01T07:27:28Z][HEAP:11168]INFO:  Waiting for NTP... [2018-06-31T07:27:27Z][HEAP:11168]INFO:  RTC was synchronized with NTP [2018-06-31T07:27:27Z][HEAP:11168]INFO:  RTC ISO8601 timestamp: 2018-06-31T07:27:27Z [2018-06-31T07:27:27Z][HEAP:11168]DEBUG: RTC UNIX timestamp:<PHONE_NUMBER> [2018-06-31T07:27:28Z][HEAP:10080]DEBUG: Reading configuration file as JSON: /coolBoardConfig.json [2018-06-31T07:27:28Z][HEAP:10080]DEBUG: Configuration JSON:{"logInterval":600,"ireneActive":false,"jetpackActive":false,"externalSensorsActive":true,"sleepActive":true,"manual":false,"mqttServer":"mqtts.lacoolboard.io"} [2018-06-31T07:27:28Z][HEAP:9880]DEBUG: JSON configuration message: {"state":{"reported":{"CoolBoard":{"logInterval":600,"ireneActive":false,"jetpackActive":false,"externalSensorsActive":true,"sleepActive":true,"manual":false,"mqttServer":"mqtts.lacoolboard.io"}}}} [2018-06-31T07:27:28Z][HEAP:9664]DEBUG: Message to log: {"state":{"reported":{"CoolBoard":{"logInterval":600,"ireneActive":false,"jetpackActive":false,"externalSensorsActive":true,"sleepActive":true,"manual":false,"mqttServer":"mqtts.lacoolboard.io"}}}} [2018-06-31T07:27:28Z][HEAP:9664]DEBUG: Message size: 197 [2018-06-31T07:27:28Z][HEAP:8992]INFO:  MQTT publish successful [2018-06-31T07:27:29Z][HEAP:10032]DEBUG: Reading configuration file as JSON: /coolBoardSensorsConfig.json [2018-06-31T07:27:29Z][HEAP:10032]DEBUG: Configuration JSON:{"BME280":{"temperature":true,"humidity":true,"pressure":true},"SI114X":{"visible":true,"ir":true,"uv":true},"vbat":true,"soilMoisture":true,"wallMoisture":false} [2018-06-31T07:27:29Z][HEAP:9880]DEBUG: JSON configuration message: {"state":{"reported":{"CoolSensorsBoard":{"BME280":{"temperature":true,"humidity":true,"pressure":true},"SI114X":{"visible":true,"ir":true,"uv":true},"vbat":true,"soilMoisture":true,"wallMoisture":false}}}} [2018-06-31T07:27:29Z][HEAP:9664]DEBUG: Message to log: {"state":{"reported":{"CoolSensorsBoard":{"BME280":{"temperature":true,"humidity":true,"pressure":true},"SI114X":{"visible":true,"ir":true,"uv":true},"vbat":true,"soilMoisture":true,"wallMoisture":false}}}} [2018-06-31T07:27:29Z][HEAP:9664]DEBUG: Message size: 206 [2018-06-31T07:27:29Z][HEAP:8992]INFO:  MQTT publish successful [2018-06-31T07:27:30Z][HEAP:10064]DEBUG: Reading configuration file as JSON: /coolBoardActorConfig.json [2018-06-31T07:27:30Z][HEAP:10064]DEBUG: Configuration JSON:{"actif":false,"inverted":false,"temporal":false,"low":[0,5000,0,0],"high":[0,5000,0,0],"type":["Temperature",""]} [2018-06-31T07:27:30Z][HEAP:9928]DEBUG: JSON configuration message: {"state":{"reported":{"CoolBoardActor":{"actif":false,"inverted":false,"temporal":false,"low":[0,5000,0,0],"high":[0,5000,0,0],"type":["Temperature",""]}}}} [2018-06-31T07:27:30Z][HEAP:9760]DEBUG: Message to log: {"state":{"reported":{"CoolBoardActor":{"actif":false,"inverted":false,"temporal":false,"low":[0,5000,0,0],"high":[0,5000,0,0],"type":["Temperature",""]}}}} [2018-06-31T07:27:30Z][HEAP:9760]DEBUG: Message size: 156 [2018-06-31T07:27:30Z][HEAP:9088]INFO:  MQTT publish successful [2018-06-31T07:27:32Z][HEAP:10768]DEBUG: Reading configuration file as JSON: /coolBoardLedConfig.json [2018-06-31T07:27:32Z][HEAP:10768]DEBUG: Configuration JSON:{"ledActive":true} [2018-06-31T07:27:32Z][HEAP:10552]DEBUG: JSON configuration message: {"state":{"reported":{"led":{"ledActive":true}}}} [2018-06-31T07:27:32Z][HEAP:10480]DEBUG: Message to log: {"state":{"reported":{"led":{"ledActive":true}}}} [2018-06-31T07:27:32Z][HEAP:10480]DEBUG: Message size: 49 [2018-06-31T07:27:32Z][HEAP:9808]INFO:  MQTT publish successful [2018-06-31T07:27:33Z][HEAP:10016]DEBUG: Reading configuration file as JSON: /externalSensorsConfig.json [2018-06-31T07:27:33Z][HEAP:10016]DEBUG: Configuration JSON:{"sensorsNumber":2,"sensor0":{"reference":"SDS011","type":"PM","connection":"I2C","address":13,"kind0":"PM10","kind1":"PM2.5"},"sensor1":{"reference":"NDIR_I2C","type":"CO2","address":77}} [2018-06-31T07:27:33Z][HEAP:9848]DEBUG: JSON configuration message: {"state":{"reported":{"externalSensors":{"sensorsNumber":2,"sensor0":{"reference":"SDS011","type":"PM","connection":"I2C","address":13,"kind0":"PM10","kind1":"PM2.5"},"sensor1":{"reference":"NDIR_I2C","type":"CO2","address":77}}}}} [2018-06-31T07:27:33Z][HEAP:9600]DEBUG: Message to log: {"state":{"reported":{"externalSensors":{"sensorsNumber":2,"sensor0":{"reference":"SDS011","type":"PM","connection":"I2C","address":13,"kind0":"PM10","kind1":"PM2.5"},"sensor1":{"reference":"NDIR_I2C","type":"CO2","address":77}}}}} [2018-06-31T07:27:33Z][HEAP:9600]DEBUG: Message size: 231 [2018-06-31T07:27:33Z][HEAP:8928]INFO:  MQTT publish successful [2018-06-31T07:27:33Z][HEAP:10896]INFO:  Collecting board and sensor data... [2018-06-31T07:27:34Z][HEAP:10872]DEBUG: Public IP address: <IP_ADDRESS> [2018-06-31T07:27:34Z][HEAP:10368]DEBUG: Raw value: 754 [2018-06-31T07:27:34Z][HEAP:10368]DEBUG: Battery voltage: 4.13 [2018-06-31T07:27:37Z][HEAP:10368]DEBUG: Raw soil moisture sensor value: 9 [2018-06-31T07:27:37Z][HEAP:10368]DEBUG: Computed soil moisture: 0.00 [2018-06-31T07:27:37Z][HEAP:10368]DEBUG: Builtin sensors data:{"publicIp":"<IP_ADDRESS>","timestamp":"2018-06-31T07:27:34Z","mac":"5CCF7F39EDF6","firmwareVersion":"v0.2.6-1-g16ff8a07","wifiSignal":-70,"visibleLight":269,"infraRed":327,"ultraViolet":0.06,"Temperature":26.14,"Pressure":100557.5,"Humidity":56.68457,"Vbat":4.127468,"soilMoisture":0} [2018-06-31T07:27:38Z][HEAP:10368]DEBUG: External sensors data:{"publicIp":"<IP_ADDRESS>","timestamp":"2018-06-31T07:27:34Z","mac":"5CCF7F39EDF6","firmwareVersion":"v0.2.6-1-g16ff8a07","wifiSignal":-70,"visibleLight":269,"infraRed":327,"ultraViolet":0.06,"Temperature":26.14,"Pressure":100557.5,"Humidity":56.68457,"Vbat":4.127468,"soilMoisture":0,"PM10":1.8,"PM2.5":0.3,"CO2":617} [2018-06-31T07:27:39Z][HEAP:10368]INFO:  Setting actuators and reporting their state... [2018-06-31T07:27:39Z][HEAP:10368]INFO:  Actuators configuration: automatic [2018-06-31T07:27:39Z][HEAP:10368]DEBUG: Updating and recording onboard actuator state... [2018-06-31T07:27:39Z][HEAP:10368]DEBUG: Hour value: 7 [2018-06-31T07:27:39Z][HEAP:10368]DEBUG: Minute value: 27 [2018-06-31T07:27:39Z][HEAP:10368]DEBUG: Setting onboard actuator pin to: 0 [2018-06-31T07:27:39Z][HEAP:10368]INFO:  Sending log over MQTT... [2018-06-31T07:27:39Z][HEAP:9616]DEBUG: Message to log: {"state":{"reported":{"publicIp":"<IP_ADDRESS>","timestamp":"2018-06-31T07:27:34Z","mac":"5CCF7F39EDF6","firmwareVersion":"v0.2.6-1-g16ff8a07","wifiSignal":-70,"visibleLight":269,"infraRed":327,"ultraViolet":0.06,"Temperature":26.14,"Pressure":100557.5,"Humidity":56.68457,"Vbat":4.127468,"soilMoisture":0,"PM10":1.8,"PM2.5":0.3,"CO2":617,"ActB":0}}} [2018-06-31T07:27:39Z][HEAP:9616]DEBUG: Message size: 352 [2018-06-31T07:27:39Z][HEAP:8944]INFO:  MQTT publish successful [2018-06-31T07:27:40Z][HEAP:10368]INFO:  Listening to update messages... [2018-06-31T07:27:42Z][HEAP:11312]INFO:  Going to sleep for seconds: 598


Entire sections rendered as hyperlinks

Seems like a quick fix. A few whole sections are being rendered as hyperlinks. They are:
https://docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/images-icons/alternate-app-icons#adding-alternate-icons-to-a-xamarinios-project
https://docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/images-icons/alternate-app-icons#managing-the-apps-icon
https://docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/images-icons/alternate-app-icons#summary

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

ID: c62db7d0-fe9a-c7a3-4c2a-f39bebd958fb
Version Independent ID: fddd63c8-8ba9-0230-8145-771af251daf1
Content: Alternate App Icons in Xamarin.iOS - Xamarin
Content Source: docs/ios/app-fundamentals/images-icons/alternate-app-icons.md
Product: xamarin
Technology: xamarin-ios
GitHub Login: @davidortinau
Microsoft Alias: daortin

Hi @RaelsonCraftz
Thanks for opening this issue. The issue was caused by an updated version of markdig that's used by the docs build system. It handles HTML that's embedded in markdown more strictly. I've updated all the affected pages, and so the issue is now fixed.


refactor(webstie): update SearchBar demo page

Proposed Changes

Potential Breaking Changes

Acceptance Criteria

[ ] The proposed changes are covered by unit tests
[ ] The potential breaking changes are clearly identified
[ ] README.md is adjusted to reflect the proposed changes (if relevant)

Presqu'un sacre :joy:


relp: Wasn't setting servers correctly

The 49-relp.conf wasn't using the @servers variable (was using
@server instead).  This fix lets it use the list of servers
automatically discovered in the client recipe.

@tas50 Any clue how I can get this machine to recognize that I'm ICLA signed?

@jtimberman would know more than I do

I think sure currybot just compares email addresses on commits.
@cwebber?
On Mon, Jan 19, 2015 at 5:55 PM, Tim Smith<EMAIL_ADDRESS>wrote:

@jtimberman https://github.com/jtimberman would know more than I do
—
Reply to this email directly or view it on GitHub
https://github.com/opscode-cookbooks/rsyslog/pull/67#issuecomment-70575770
.

Thanks, @someara!  I think that was the problem. I was using the wrong email address.


bottom grab panel moves after resize

i am using both the left panel and bottom panel and it seems that whenever i resize the grab on the bottom panel is not adjusting correctly.. sometimes it stays in the middle.  Also is there an event or something that i can check is the panel is open or not? i wanted to change the icon of the grab panel if its open or close

Can you expand a bit more on the sizing bug you are seeing. I can't recreate it. Please also include details of which browser you are using and on which device.
There are no events currently - but I could add some. You might have to wait a week or so for that though.

Can you expand a bit more on the sizing bug you are seeing. I can't recreate it. Please also include details of which browser you are using and on which device.
There are no events currently - but I could add some. You might have to wait a week or so for that though.

Hi Peter,
thanks for the response, its ok i did bother using the bottom panel, but just an FYI on what i am really experiencing, if i use the left panel panel and bottom panel at the same time. Every time i resize the screen the grab handle on the bottom panel doesnt stay on its original location. Like if i set the grab panel right most, once i resize screen it moves and doesnt stay there.. this is only happening to me if i use both at the same time a left panel and bottom panel.

Hi Peter,
thanks for the response, its ok i did bother using the bottom panel, but just an FYI on what i am really experiencing, if i use the left panel panel and bottom panel at the same time. Every time i resize the screen the grab handle on the bottom panel doesnt stay on its original location. Like if i set the grab panel right most, once i resize screen it moves and doesnt stay there.. this is only happening to me if i use both at the same time a left panel and bottom panel.


EvangelistStatus.php

     * Constructor.
     *
     * @param string $username of the request. the ID of this action
    */
    public function __construct($username)
    {
        $this->username = $username;
    }
    /**
     * Returns the status of the request.
     *
     * @return string the ranked output of the requested account.
     */
    public function getStatus()
    {
        $evangelist = new EvangelistRanker();
        $output = $evangelist->rankEvangelist($this->username);
        return $output;
    }

There is no space between the functions, it looks like they were sandwiched. Please fix.
For performance purposes, you can just do return $evangelist->rankEvangelist($this->username); instead of assigning it to a variable first.

The space has been added and the getStatus method has been rewritten for better performance.


Re-enable test. It isn't failing anymore.

I think what happened here is that I originally was trying to change /all/
select_enum+cond_br to switch_enum. This implied I needed to change
SILGenFunction::emitBindOptional to use switch_enum. This caused all sorts of
problems since SILGenLValue uses emitBindOptional in a matter that requires the
input value to be used at +0 and wants to keep the value in memory. This
conflicted with other uses of emitBindOptional that really wanted to use
emitBindOptional as a +1 extract optional payload sort of thing. In the final
commit of +0-all-args, I just worked around this problem by creating a new
entrypoint just for the lvalue case that just uses select_enum_addr. So I think
my final commit, caused this test to go back to its original state. If it fails
again, I will look at it again.
rdar://38551973

@swift-ci smoke test and merge

@swift-ci smoke test linux platform

@swift-ci smoke test linux platform

@swift-ci smoke test linux platform

@swift-ci smoke test linux platform


Create maintenance tasks to smooth out sort_order ranges

It's possible now that #199 is fixed for cards when they're added at the end to continually stretch the range of sort_orders into a dangerous territory, approaching Number.MAX_VALUE.  Or, for lots of reorders to smoosh a lot of cards into one small region. There is instrumentation in the web app to bail early if we're trying to propose a sort_order that is anywhere near the danger zone edge.
This means that ideally every so often you'd have a maintenance task that would renormalize and resmooth the range of sort_orders for all cards, from MAX_SORT_ORDER_VALUE to MIN_SORT_ORDER_VALUE.
This is challenging for two reasons: 1) while this operation is happening, you don't want any card creations, deletions, or edits that cahnge sort order. 2) it requires touching all cards, and if one batch fails, those cards could be nondeterministically shuffled between other batches.
For the first, the answer is to have a flags.disableReordering. If that document exists, then firestore security rules should reject any card creations, deletions, or sort_order changes (... unless they come from the maintenance task). The UI should also live subscribe to whether that document exists, and disable UI features. It's feasible that more than one thing might turn that on at once, so to turn it on, create the document and also create a sub-document with that processes' id and description a nd timestamp. Then when it's done, delete its sub  collection item, and if there are no more left, remove the main document, too.
For the second, the answer is to do a number of individual smooth actions within a given batch. We'd split the cards up into a number of batches, smooth them out within the batches,a nd then the next set, split the first batch into a half-size start batch and a half-size end batch, which would offset the batch boundaries into the middle. Keep on osciallinag back and forth on this, until it gets smoothed enough. Because bugs in this logic could be catastrophic, during all of these actions keep a very detailed log that can be looked at if it fails.
You'd also want a similar smoothing thing to fit all of the spread into the proper range of numbers (it will ooze outside the range as new cards are added at the end of collections). This has a similar problem where it's technically possible that the far end of the cards will be out of bounds... but so will the inner edge of its batch, requiring a few oscilllations to smooth it out.
This kind of maintenance should only need to be run very, very very rarely (and maybe like once every thousand years, I haven't done the order of magnitude math). Maybe it's sufficient to have the console warnings , and then when that happens, just have the admin run the smoothly recurring task.
See also #199 for a lot of design on this, a nd see the list of unchecked actions there too

https://madebyevan.com/algos/crdt-fractional-indexing/


Add support for aws_ecr_repository

LGTM!
it could detect a setting change (as tf)
Found drifted resources:
  - ecr-6qaidu-1 (aws_ecr_repository):
    ~ ImageScanningConfiguration.0.ScanOnPush: true => false
Found 1 resource(s)
 - 100% coverage
 - 1 covered by IaC
 - 0 not covered by IaC
 - 0 deleted on cloud provider
 - 1/1 drifted from IaC

it could detect a manually created ECR repo
Found unmanaged resources:
  aws_ecr_repository:
    - manually-created-repo
Found 2 resource(s)
 - 50% coverage
 - 1 covered by IaC
 - 1 not covered by IaC
 - 0 deleted on cloud provider
 - 0/1 drifted from IaC


Not returning full list of products

Hi All,
Can anyone explain to my why this is not working and returning a full list of products.
WooCommerce.get('products', function(err, data, res) {
        if (res !== null) {
            allItems = JSON.parse(res);
        }
    });

it appears to be only returning 10 products.

Sorry, but here is not a support channel for the WooCommerce REST API.

it appears to be only returning 10 products.

And the WooCommerce REST API docs already have instructions about it.


Font not set on dynamically added views

Hi.
When i inflate and add a new view to layout, it doesn't use the font that i have set for it and goes back to default font. is this supposed to happen?
currently my only way of setting font for them is setTypeface().

Can you post the exact Layout.xml you are inflating. And how your are inflating it?

this is the layout
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            fontPath="fonts/btraffic-bold.ttf"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Medium Text"
            android:id="@+id/comm_itm_name" />

        <TextView
            fontPath="fonts/btraffic.ttf"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Small Text"
            android:id="@+id/comm_itm_body" />
    </LinearLayout>

</LinearLayout>

and this is how i inflate it
View v = vi.inflate(layCommItemId, null);

((TextView)v.findViewById(layCommNameId)).setText(comm.getName());
((TextView)v.findViewById(layCommNameId)).setTypeface(Typeface.createFromAsset(context.getAssets(), "fonts/btraffic-bold.ttf"));
((TextView)v.findViewById(layCommBodyId)).setText(comm.getBody());
((TextView)v.findViewById(layCommBodyId)).setTypeface(Typeface.createFromAsset(context.getAssets(), "fonts/btraffic.ttf"));

insertPoint.addView(v, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));

without the setTypeface() default font is used.

strange thing is that i do inflation of another layout in adapter of a listview and it is ok, but it doesn't work here. can it be because of how i add it to the layout?

Yeah. Always do. LayoutInflator.from(context).inflate(...).
Give that a go and see how it goes.
On Fri, 18 Sep 2015 14:01 yooneskh<EMAIL_ADDRESS>wrote:

strange thing is that i do inflation of another layout in adapter of a
listview and it is ok, but it doesn't work here. can it be because of how i
add it to the layout?
—
Reply to this email directly or view it on GitHub
https://github.com/chrisjenx/Calligraphy/issues/204#issuecomment-141445422
.

Re-open if still not working.


opencv vs opencv2

I'm using manjaro, and howdy.
howdy relies on opencv (4.5.2-2)
butterflow relies on a package called opencv2 (<IP_ADDRESS>-1) which causes a conflict. It wants to remove my newer version...
So howdy won't work for facial recognition login after that...
can you please update your program to use opencv?

I think opencv (1) is old. It's probably the case that, if anything, opencv3 would be the next appropriate upgrade.


User details in Dialog

How can i get Serenity.Authorization.UserId in *Dialog.ts
as of now i'm getting DisplayName and Username but i need UserId

@vinaykulkarni89 is userId column Declared Hidden() or Visible(false) ?

In UserForm add
[Hidden]
public Int32 UserId { get; set; }
Compile, Transform all T4 template and you get in dialog.ts

@Estrusco i want the UserId in Serenity.Authorization, in *Dialog.ts
currently i'm getting only Username, DisplayName and HasPermission

@vinaykulkarni89 Add UserId in ScriptUserDefinition.cs and UserEndpoint.cs
Best Regards

@edson thankyou, it helped me a lot


Add qjit-ted "Symmetry-invariant quantum machine learning force fields" demo

Context:
As part of Catalyst's work on identifying 10 demos to compile with catalyst, we convert "Symmetry-invariant quantum machine learning force fields", a machine learning workflow that calls a training step function repeatedly and thus can have significant performance boosts with catalyst compilation.
Description of the Change:
Convert the demo to use qjit instead of jax.jit
Benefits:
Demonstration of qjit advantage
Possible Drawbacks:
Because lightning does not support differentiation through QubitUnitary, we have to resort to finite difference method for gradients, which brings a big performance degradation.
Related GitHub Issues:
[sc-72938]

To me here are the possible paths forward:
(a) make lightning work with differentiating through qubit unitary (will take a bit of time)
(b) decompose qubit unitary into "standard" gateset, although unsure whether this decomposition itself can be jitted or not
(c) decrease the batch size and the number of traning steps so the demo can finish running in a reasonable amount of time
Personally, (c) makes the most sense for me at this stage.

@paul0403 I recommend not adding the demo here -- I am in the process of moving all demos out of the Catalyst docs and into pennylane.ai/qml, to ensure that:

We have them in a single place to ensure that they stay up to date
In the QML repo, they are tested for accuracy regularly through integration tests

I am in the process of moving all demos out of the Catalyst docs and into pennylane.ai/qml

I was not aware of this! Thanks for letting me know!


Scripting partition functions failed with SQL Server running on docker accessed using SQL operations studio on Macbook

SQL Operations Studio Version:

Steps to Reproduce:

Create a docker SQL container
Connect to SQL instance from SQL Operations Studio
Create a partition function
Try to script it, it fails.

Closing out older issues.  Please let us know if this issue is still impacting your workflow.  Thanks!


Writing Metadata onto Visualiser output

Write metadata about image in top-right white space for the imaging Visualiser:

PatientID
SeriesName
StudyName
StudyDate (Function in Dataset module that chooses appropriate date to select)
MaximumDose

Hi @Janetxxx, I know it's been a while since we have looked at the pydicer stuff together. But I know you had this part working fairly well? If it isn't too much effort it would be great if you could put a pull request in for this. Even if it isn't finished its no problem. We can use what is ready and can add to it later :)


Manual job retry

Copied RetryTask exception and it's behavior from internal queue implementation

Codecov Report
Base: 99.81% // Head: 99.82% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (e3d2df6) compared to base (5c7bdc1).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##           master       #4   +/-   ##
=======================================
  Coverage   99.81%   99.82%
=======================================
  Files          22       21    -1
  Lines         554      563    +9
  Branches       52       34   -18
=======================================
+ Hits          553      562    +9
  Misses          1        1

Impacted Files
Coverage Δ

yatq/worker/job/base.py
100.00% <ø> (ø)

yatq/dto.py
100.00% <100.00%> (ø)

yatq/exceptions.py
100.00% <100.00%> (ø)

yatq/worker/cli.py
100.00% <100.00%> (ø)

yatq/worker/runner.py
100.00% <100.00%> (ø)

yatq/__init__.py

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


XDG_DATA_DIRS reinitalized to an incomplete value by zshenv

Issue description
When using zsh as the default shell, the XDG_DATA_DIRS environment variable is reinitialized to /run/opengl-driver/share:/etc/per-user-pkgs/sebastien/share:/home/sebastien/.nix-profile/share:/nix/var/nix/profiles/default/share:/run/current-system/sw/share. Normally, it should contain paths to all packages providing a gschema file.
When using bash, this variable contains all those paths.
Steps to reproduce

make sure Gnome is installed (services.xserver.desktopManager.gnome3.enable = true in /etc/nixos/configuration.nix)
open a terminal, default shell is Bash, execute echo $XDG_DATA_DIRS to check than there are many paths in this variable
add the following parameters to /etc/nixos/configuration.nix to install zsh as the default shell: programs.zsh.enable = true; users.defaultUserShell = "/run/current-system/sw/bin/zsh";
reboot
open a terminal, new default shell is Zsh, execute echo $XDG_DATA_DIRS: the variable does only contain the values mentioned above

Technical details

system: "x86_64-linux"
host os: Linux 4.9.72, NixOS, 17.09.git.7be4cb9 (Hummingbird)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 1.11.16
channels(root): "nixos-17.09.2476.53e6d671a96"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

Please note I'm using a clone of nixpkgs with some local commits, that's why host os is tagged with "17.09.git.7be4cb9". However, I also tested this on a virtual machine which uses https://github.com/NixOS/nixpkgs. I'm 100% sure this issue is not caused by local commits.
Source of the problem
I have tried to identify the source of the problem, here are the result of my search, however I do not have a fix to suggest.
Zsh sources /etc/zshenv, which sources /nix/store/XXX-set-environment, which redefines XDG_DATA_DIRS.
When I comment the export XDG_DATA_DIRS=[...] line in /nix/store/XXX-set-environment or when I comment . /nix/store/XXX-set-environment in /etc/zshenv, then this variable is not overriden (thus, it contains the whole list of needed paths).
I do not know if it is safe to not source /nix/store/XXX-set-environment in /etc/zshenv, I didn't take a look to other variables' values. I also do not know if it is safe to remove the export XDG_DATA_DIRS=[...] line from /nix/store/XXX-set-environment.

I've tried to narrow it down a little bit more.
I've experiences the described behaviour when using gdm or lightdm as the display manager, but not with slim. With slim+gnome3+zsh, the XDG_DATA_DIRS environment variable is correctly set.
Thus, using slim as the display manager may be a viable workaround, and the issue may be related to some configuration in slim missing in other display managers, or maybe related to systemd-logind, which is not supported by slim.

@oxij Sorry for the super long delay but could you explain a bit further about what you mean by "the problem with such a fix would be that non-interactive non-login uses of zsh (like non-interactive ssh, cron, at, etc) would break"?
From my understanding I can see how it would break a script that assumes that Zsh will reset some environment variables but I'm inclined to say that such a script is erroneous and that it should make the assumption explicit by setting the variables itself. Otherwise the script is likely to break on a different platform with a different system Zsh setup. But again I'm not experienced with Zsh so I'll try to avoid making too grandiose claims.

could you explain a bit further about what you mean by "the problem with such a fix would be that non-interactive non-login uses of zsh (like non-interactive ssh, cron, at, etc) would break"?

Login shell is not just the first (parent) shell of a session. A shell needs to be invoked in a special way (see the man) to become a login shell. I doubt you ever run any login shells. For instance, tty emulators don't run login shells.
From man zshall (bash is similar):

STARTUP/SHUTDOWN FILES
Commands  are  first read from /etc/zshenv; this cannot be overridden. ...
Commands are then read from $ZDOTDIR/.zshenv.  If the shell is a login shell, commands are read from /etc/zprofile and then $ZDOTDIR/.zprofile.  Then, if  the shell  is  interactive,  commands are read from /etc/zshrc and then $ZDOTDIR/.zshrc.  Finally, if the shell is a login shell, /etc/zlogin and $ZDOTDIR/.zlogin are read.

Most things don't run login shells, which means that most uses of zsh will get an almost empty env (not populated by set-environment).
/etc/zshenv bears such a name because you are supposed to set environment there.

Just merged #40223 which should fix this. Please reopen if it is still an issue after that PR.

Reopening because #40223 was reverted in #40759.

Was really confused for a while there, as I could not figure out where these extra entries was set in the NixOS modules. After grepping for the entries in the nix store it became clear that they're set by  the particular terminal wrapper that launched the shell, and is therefor in no way intended. You can see this by running eg. tilix and gnome-terminal, comparing the resulting XDG_DATA_DIRS.

I'm guessing we should use a commonly named guard for the stuff all the shells share, ie. system.build.setEnvironment. So something like this should probably do the trick
modified   nixos/modules/config/shells-environment.nix
@@ -164,12 +164,16 @@ in

     system.build.setEnvironment = pkgs.writeText "set-environment"
        ''
-         ${exportedEnvVars}
+         if [ -z "$__NIX_SET_ENVIRONMENT_SOURCED" ]; then
+           export $__NIX_SET_ENVIRONMENT_SOURCED=1

-         ${cfg.extraInit}
+           ${exportedEnvVars}

-         # ~/bin if it exists overrides other bin directories.
-         export PATH="$HOME/bin:$PATH"
+           ${cfg.extraInit}
+
+           # ~/bin if it exists overrides other bin directories.
+           export PATH="$HOME/bin:$PATH"
+         fi
        '';

     system.activationScripts.binsh = stringAfter [ "stdio" ]

@hedning Would this work for both the cases outlined in https://github.com/NixOS/nixpkgs/issues/33219#issuecomment-388500374?

@rycee Hmm, yeah you're right, the export would break the second case. Without the export it won't serve its purpose at all, as a new shell won't pick it up.

OK, took a second look at this, and I think I've come up with something of a solution, though perhaps a little bit ugly: https://github.com/hedning/nixpkgs/commit/07fe4f3956f53c2d9557353f05b12814b8256f26
We need a shell agnostic, and therefor, exported guard to prevent environment clobbering between different shells. But we can't simply share eg. bash's __ETC_PROFILE_DONE guard, since each shell might need some specific setup.
So building on the idea behind __ETC_PROFILE_DONE we create __NIXOS_SET_ENVIRONMENT_DONE which only guards against sourcing system.build.setEnvironment. For instance in /etc/bashrc we first check __NIXOS_SET_ENVIRONMENT_DONE sourcing the common environment if it's not set.  We then check for __ETC_PROFILE_DONE sourcing the shell specific profile if that's not done.
I'm not sure if it's actually wanted behavior to source effectively the whole/etc/profile from /etc/bashrc, I suspect the purpose was to source the basic environment and shellInit, not loginShellInit, so we should probably break that out.
Login shells will not check __NIX_SET_ENVIRONMENT_DONE, but rather source setEnvironment unconditionally.
One ZSH specific problem with this approach is that variables set in shellInit might be clobbered by new login shells due to /etc/zprofile being sourced after /etc/zshenv. Not quite sure how to fix that.

Follow up: #45784.

fixed in #45784


gstreamer1.0-plugins-bad: fix QA error

This error occurs while building gstreamer version from meta-ivi using poky as a distro, version morty.
The patch will be removed once a fix is applied to the upstream version of meta-ivi.
ERROR: QA Issue: gstreamer-egl-1.0.pc failed sanity test (tmpdir) in path build/tmp/work/corei7-64-poky-linux/gstreamer1.0-plugins-bad/1.2.3-r0/sysroot-destdir/usr/lib/pkgconfig [pkgconfig]
Signed-off-by: Gordan Markuš<EMAIL_ADDRESS>

Actually I think we should mask out the gstreamer 1.2.3 version from meta-ivi and use upstream 1.2.something.

Has this bug been reported in meta-ivi already?

@rpannek I've created a pull request a few days ago, see: https://github.com/GENIVI/meta-ivi/pull/38


fix: wrap long JSON string

:tada: This PR is included in version 0.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add Front integration

User requests support for Front (customer service tool https://frontapp.com/)
conversations/19337230297

+1 front integration would be awesome


ECMAScript spec: Fix dfn scoping and abstract op extraction

As raised in https://github.com/w3c/webref/issues/888, abstract operations were only extracted using a long form such as:
["AllocateArrayBuffer(constructor, byteLength)"]
Crawler should not create linking text that does not exist in the spec. In this particular case, the spec does create additional linking text through the aoid attribute, set to the name of the abstract operation without parens, so it seems fine to use that info, even though the aoid attribute is flagged as legacy in the Ecmarkup documentation:
https://tc39.es/ecmarkup/#emu-clause-legacy-attributes
This update adds the parens-less variant to abstract operations when the aoid attribute is present. Linking text in the previous example becomes:
["AllocateArrayBuffer", "AllocateArrayBuffer(constructor, byteLength)"]
The code that extracted abstract operation had a couple of issues that this update also fixes:

Abstract operations that contain digits such as ToInt32() were not extracted. Regular expressions used to extract information have been completed accordingly.

The code that tried to scope abstract methods to some class was not specific enough. "Environments Records" are defined as a hierarchy of classes, and methods are defined multiple times, once for each class. Extraction merely took the first occurrence, and reported duplication warnings. It now looks for the most specific class.

(Side note that the update also drops the line that set ltNodefault, since it was not used anywhere)
Tests adjusted accordingly.

Diff of the resulting extract is too large to fit in the description but it looks good to me. Changes are:

The abstract operations à la ToInt32 are now exported
Linking text of various abstract operations now starts with the parens-less version
Abstract operations previously associated with "Environment Records" and "Module Records" are now scoped to more specific classes, e.g. "Function Environment Records" or "Cyclic Module Records". Abstract operations that were dropped as duplicates now appear in the extract.


python37Packages.seaborn: 0.11.0 -> 0.11.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python37Packages.seaborn is: "Statisitical data visualization"
meta.homepage for python37Packages.seaborn is: "https://seaborn.pydata.org/"
meta.changelog for python37Packages.seaborn is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.11.1 with grep in /nix/store/x6ph1w1rc8b33szf00hdv27z744n2np4-python3.7-seaborn-0.11.1

directory tree listing: https://gist.github.com/6951a7ac7502afe4ef22733ce6a2c99b

du listing: https://gist.github.com/f43d4cc5ff960de531c70aee90fc1203

Rebuild report (if merged into master) (click to expand)

64 total rebuild path(s)

24 package rebuild(s)

16 x86_64-linux rebuild(s)
8 i686-linux rebuild(s)
16 x86_64-darwin rebuild(s)
24 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python37Packages.graspologic
python37Packages.qiskit
python37Packages.qiskit-aer
python37Packages.qiskit-aqua
python37Packages.qiskit-ibmq-provider
python37Packages.qiskit-ignis
python37Packages.qiskit-terra
python37Packages.seaborn
python38Packages.graspologic
python38Packages.qiskit
python38Packages.qiskit-aer
python38Packages.qiskit-aqua
python38Packages.qiskit-ibmq-provider
python38Packages.qiskit-ignis
python38Packages.qiskit-terra
python38Packages.seaborn
python39Packages.graspologic
python39Packages.qiskit
python39Packages.qiskit-aer
python39Packages.qiskit-aqua
python39Packages.qiskit-ibmq-provider
python39Packages.qiskit-ignis
python39Packages.qiskit-terra
python39Packages.seaborn

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/x6ph1w1rc8b33szf00hdv27z744n2np4-python3.7-seaborn-0.11.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python37Packages.seaborn https://github.com/r-ryantm/nixpkgs/archive/ebd786e682212feb1c1bbfab80b23778bb6af608.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/x6ph1w1rc8b33szf00hdv27z744n2np4-python3.7-seaborn-0.11.1
ls -la /nix/store/x6ph1w1rc8b33szf00hdv27z744n2np4-python3.7-seaborn-0.11.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

16 packages built:

python37Packages.graspologic
python37Packages.qiskit
python37Packages.qiskit-aer
python37Packages.qiskit-aqua
python37Packages.qiskit-ibmq-provider
python37Packages.qiskit-ignis
python37Packages.qiskit-terra
python37Packages.seaborn
python38Packages.graspologic
python38Packages.qiskit
python38Packages.qiskit-aer
python38Packages.qiskit-aqua
python38Packages.qiskit-ibmq-provider
python38Packages.qiskit-ignis
python38Packages.qiskit-terra
python38Packages.seaborn

Maintainer pings
cc @fridh for testing.

Tested on NixOS (nix-shell -p 'python37.withPackages(ps: with ps; [ seaborn ])' -I https://github.com/r-ryantm/nixpkgs/archive/ebd786e682212feb1c1bbfab80b23778bb6af608.tar.gz and then made a few plots from an interactive python shell).
No issues. Looks good to me.


Architecture Diagram Visualization

Hi @andrew-glenn
I’m Afonso and I came across your repo and I took the liberty to scan it with the tool that I am currently developing. If I caught your attention, feel free to take a look at the following diagram and let me know your thoughts on this. I am really interested to get your feedback and understand if the diagram we presented matches the architecture you have in mind.

This tool looks useful in general, but the output doesn't really apply to this project.

Thanks for letting me know @andrew-glenn , do you want to elaborate on the use case you have in mind? Can you provide me with links to projects that'd be worth further investigating?


⚠ ClamAV has degraded performance

In 5d133e8, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 83 ms

Resolved: ClamAV performance has improved in 8144016.


java.net.UnknownHostException: nifinode-6cc66886c7-qmfpj: Name or service not known during pod restart

Hi Alex,
Have you tried to delete one of the pods and wait for the pods to come-up again?
I tried this and got an unknown host exception since, after the pod got deleted and recreated, it gets a new host name.
Any Suggestions?
PFB, the error trace:
2019-03-20 05:36:38,325 WARN [Replicate Request Thread-8] o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request GET /nifi-api/flow/current-user to nifinode-6cc66886c7-qmfpj:8080 due to java.net.UnknownHostException: nifinode-6cc66886c7-qmfpj: Name or service not known
2019-03-20 05:36:38,325 WARN [Replicate Request Thread-8] o.a.n.c.c.h.r.ThreadPoolRequestReplicator
java.net.UnknownHostException: nifinode-6cc66886c7-qmfpj: Name or service not known
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
at java.net.InetAddress.getAllByName0(InetAddress.java:1277)
at java.net.InetAddress.getAllByName(InetAddress.java:1193)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at okhttp3.Dns$1.lookup(Dns.java:40)
at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:185)

The first thing I am unsure of is nifinode-6cc66886c7-qmfpj:8080 that hostname looks completely wrong, it's a statefulset so shouldnt have that hostname suffix.
Can you give me a simple repro sequence?
I assume it's deploy, delete a pod and see this error?

Yes, the repro sequence is deploy, delete a pod and load nifi ui again. Let me check about the hostname issue

Hi Alex , sorry for the trouble, this error happened in another setup of mine , it is an experimental setup.


Fix listing index moderators

Resolve #1073 with idempotent migration to add moderators back to listings index.

@placer14 Good call. Done.

Coverage increased (+0.09%) to 33.206% when pulling 0f6dfe56f4bdacf293a7667c0e6d29296e53f8a0 on TS_fix_listing_index_moderators_v2 into 4b06094ff119541206664a5c7d6e5986e3dbd1f9 on master.


ElectronicCats

Hello;
How are you? I am having a problem with hooking up the sx1276 chip-based Ai-thinker RA-01H module. I saw that the pinout and others parts of the program are formed with respect to Hope RF RFM95.
Can you please guide me or add support if needed?

It is fully compatible you just need to assign the correct pins to the actual connection on the radio

const sRFM_pins RFM_pins = {   .CS = 20,   .RST = 9,   .DIO0 = 0,   .DIO1 = 1,   .DIO2 = 2,   .DIO5 = 15, };
On the pins that you connect them on your microcontroller

Thanks for answering. I would definitely try it. One more thing to ask is for Class C do you have any support for OTAA? I did not find anything of class C with OTAA

Dear @PadmaIoT !
With OTAA, everything appears to be operating as it should.
Just keep in mind that there may be a bug, but you may notice it when debugging. It might be caused by your regional settings or anything similar.
In response to your query, it does support OTAA.
Have a nice day!

Hello @PadmaIoT !
We will now close this issue.
However, if you have any doubts or questions, you can reopen the issue or if you think it is necessary, create another one.
Have an amazing day!
Kind regards!
Support Team.

Dear @PadmaIoT !
With OTAA, everything appears to be operating as it should.
Just keep in mind that there may be a bug, but you may notice it when debugging. It might be caused by your regional settings or anything similar.
In response to your query, it does support OTAA.
Have a nice day!

Hello Eric286,
Thanks for answering. In the example folder, I only see there is only ABP available for Class C Lorawan.  I asked  If there is any support we may get later as you are developing for OTAA Class C or not.

Hello @PadmaIoT
Don't worry; we believed we had addressed all of your concerns, therefore we closed the ticket.
I'll respond to your inquiries in sequence.

Please find this line in the file send-class-A-OTAA.ino by going there.

// Set LoRaWAN Class change CLASS_A or CLASS_C
lora.setDeviceClass(CLASS_A);
It's line 48, Here you can change to class C.
2.- The Beelan LoRaWAN library is designed to work with any Arduino-compatible board that supports the Arduino IDE, so it should be possible to use it with the STM32 Bluepill board as well. While some additional setup may be required, the Beelan LoRaWAN library should be compatible with the STM32 Bluepill board as long as you have the necessary board support files and configurations in place.
3.-If you want to use the Beelan LoRaWAN library in Class C operation with ABP activation, you should use the class-C-ABP.ino file located inside the class-C-ABP folder. This example sketch demonstrates how to configure the Beelan LoRaWAN board for Class C operation with ABP activation and send data to a LoRaWAN network server.
On the other hand, if you want to use the library in a serial communication scenario, you should use the serialToLoRaWAN.ino file located inside the serialToLoRaWAN folder. This example sketch demonstrates how to send data from a serial device, such as a computer, to the Beelan LoRaWAN board and then transmit that data to a LoRaWAN network server.
However, It's important to note that these example sketches are just that - examples. They are meant to demonstrate how to use the Beelan LoRaWAN library in certain scenarios and should be modified to suit your specific needs. You may need to modify the sketches to work with your specific LoRaWAN network server, activation method, or other aspects of your project.
Kind regards!
Support Team.

Thanks for your kind support. I used Lorawan Class B OTAA before and LoraWAN is a new technology to me personally. So sometimes ques become so silly. You covered all my ques with answers now. Thank you so much. I appreciate your support.

Hello @PadmaIoT
You're welcome, glad to be of help!
Regarding your question, it is not mandatory to connect the IO pins, RST pin, and NSS/SS pin of the SX12xx LoRa module to Arduino PWM pins specifically. The SX12xx module can be connected to any digital pins of the Arduino board.
However, it is recommended to connect the SX12xx module to certain digital pins of the Arduino board that have specific functionality, as described in the Beelan LoRaWAN library documentation. For example, the library recommends connecting the SX12xx module's NSS/SS pin to Arduino digital pin 10, which is the default SPI slave select (SS) pin on most Arduino boards. This is because the library uses the SPI interface to communicate with the SX12xx module, and connecting the NSS/SS pin to the default SS pin simplifies the SPI communication setup.
Similarly, the library recommends connecting the SX12xx module's RST pin to a dedicated reset pin on the Arduino board, rather than a general-purpose digital pin, to ensure reliable resetting of the module.
In summary, while it is not mandatory to connect the SX12xx module's pins to specific PWM pins on the Arduino board, it is recommended to follow the guidance provided in the Beelan LoRaWAN library documentation to ensure reliable operation of the module with the library.
Best regards!
Support Team.

Thanks for your support. Now everything is clear.

Hello @PadmaIoT !
 I'm glad I could help. If you have any more questions or need further assistance, feel free to ask.
Good luck in your projects.


Webxcam detected but no output is shown

Hello,
I was trying to use one of the examples provided, namely "Webcam Capture javafx".
The project runs fine, my default webcam is detected normally, but when the streaming starts the image remain black. However, when I open the computer's default camera application it shows up normally.
The following error is printed :
29999 [frames-refresher-[0]] ERROR com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice - Timeout when requesting image!

Can you show your code?

@husseinalihazime
This error (timeout) simply means that application was not able to get image from webcam in a given time. Did you change this timeout? If not then it may be some incompatibility or problem with your webcam device.
And, as @adelanteDev stated, providing small code sample where this issue is reproduced would be helpful in terms of investigating the problem.


Add highlighting for Symbols-Outline plugin

Add support for https://github.com/simrat39/symbols-outline.nvim

@Pocco81 Any updates on getting this PR reviewed and merged?

My bad! I totally forgot about PR. Really really sorry about that.


Upgrade hyper, tonic et al only in ducks

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Related issues
A list of issues either fixed, containing architectural discussions, otherwise relevant
for this Pull Request.
Additional Notes
Anything else we should know when reviewing?

#1181  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 30, 10:46 AM EST: A user merged this pull request with Graphite.


excessive memory allocations in bulk_create path with na_sm

Describe the bug
This is a low priority, just noting in an issue so that we can remember to look at it at some point down the road.
I think that hg_bulk_create() in the (probably?) most common single-segment case calls malloc() or calloc() at least 5 times.
In hg_bulk_create() there is one to create the hg_bulk struct, one to create the segments array, and one to create the na_mem_handles.
Once it enters na_sm_mem_handle_create_segments() it then does one allocation to create the na_sm_mem_handle and one to create the iov array.
Probably some of these could be collapsed, maybe with flexible array members in parent structs or something similar.
I don't have a benchmark that exhibits this as a performance problem, I just mistakenly looked down this path while investigating something else and thought I would note it in an issue.

Yes I was actually looking at those as part of the non-contiguous changes that I've been making for OFI. I'm almost done with those changes.

I'll let you know when the PR is up and you can have a look.

Fixed in #399


The client is not capturing hash changes.

Filters applied on the events home categorising them causes a hash change but the event is not emitted. Also, if someone enters a hash in the url it is lost in the process of routing as we are using the location in the state object returned from the server-side to push an entry in the window history.
I am hoping changes in index.js should do the deal as the hash probably cannot be captured during the express request handling.

Fixed in 240d723eefc1436359e583281acfb187e08b99fa


offerings: add custom action

TODO:

[x] Compute Offering
[x] System offering
[x] Disk offering
[x] Network offering
[x] VPC offering

Add compute offering

Add system offering

Add disk offering

Add network offering

Add vpc offering

@rhtyd this is ready for review/test

@shwstppr can you review this, address all the label/issues; we want to prefer using the API arg as the translatable string. Ping me when this is ready for review, thanks.

@rhtyd fixed label. string usage.
What happens in cases when some input field does not directly correspond to API parameter. Such as we have a QOS Type field for creating compute offerings but it just to manipulate API parameters, bytesreadrate, byteswriterate, etc

@shwstppr please address:
Compute/service offering:

Write-cache type missing
message notification translation incomplete (check/add in locales/en.json)

Disk offering:

Check my changes, cache modes were wrong
message notification translation incomplete (check/add in locales/en.json)

VPC offering:

Support service and provider not on same line
have the default values selected?
message notification translation incomplete (check/add in locales/en.json)

Network offering:

Several label translation fixes
message notification translation incomplete (check/add in locales/en.json)
Does not work, needs testing/fixing for isolated, shared, l2 types

Addressed above issues @rhtyd. Ready for re-test


Add Profile.BellSound to Settings UI

Summary of the Pull Request
Adds the Profile.BellSound setting to the Settings UI under the Profile > Advanced page.

View changes:

The setting is exposed via an expander placed near the Profile.BellStyle setting.
Added a button to be able to preview the added sound
Added a browse button that opens a file picker
Added a delete button to be able to delete each sound entry

View model changes:

CurrentBellSounds keeps track of the bell sounds added and exposed via the UI.
BellSoundViewModel wraps each sound. This allows us to listen (and propagate) changes to the registered sounds.
BellSoundPreview provides a written preview of the current bell sound to display in the expander

#10000

Demo (bd038c3) - Text Boxes

Demo (45e80b6)
 - Text Block

Probably we don't need to have one browse button per line - since the indices don't matter, there is no difference between "replace an entry inline" and "delete old entry, click add (which opens a Browse window)", except that the first is much more complicated from both a developer standpoint (tracking which index to replace) and a user one ("why are there so many buttons?")

Probably we don't need to have one browse button per line. Since the indices don't matter in the backend, there is no difference between "replace an entry inline" and "delete old entry, click add (which opens a Browse window)", except that the first is much more complicated from both a developer standpoint (tracking which index to replace) and a user one ("why are there so many buttons?")

Added the demo above.
Yeah, for designs 2 & 3, we I think we may be able to remove BellSoundViewModel entirely and just search for a matching string.
I'm gonna hold off on making that change for a bit though, because I want consensus on a design first. Adding "Needs-Discussion" so we touch base on the design at the upcoming sync.

Feedback from team sync (10/7):

[ ] Drag and drop would be cool, but there isn't really a nice spot for it. (maybe drop on the "+ add sound" button)
[ ] (nit) take advantage of more width?
[ ] [test]: sound is playing, but we navigate to another page
[ ] take the users home directory and replace it with ~

[idea] display the filename, and display the directory path separately as a subtitle

[idea] only display the directory if there's multiple files with the same name

[ ] [idea] when sound is added, we copy it over to the local folder

punted at this point

[ ] We should validate that the files exist

maybe strikethrough the item that didn't load?
definitely don't try and play sound!

[ ] Bell style interaction

have a preview
add a warning if "style: audible" is off
In "Bell sound" help text, say "you will need to enable "Bell notification style, audible"
in the future, combine bell style and sound

[ ] [bug] if you close the file picker, we add an empty entry


Duplicate stack in "by image" view

Why are there two stacks of weaveworks/hello-world?

Ah, the images are genuinely different, but have the same tag. A bit confusing that they look identical.

This is a real bug; we very much try and dedupe different version of the 'same' image in this view.


make crypto read_gpg_token timeout configurable

I'm using taskwarrior_syncall (great project), and I can't type in my password before the hard-coded 3 second timeout! Would like to make this configurable so I can set something like --token-pass-timeout to override this. Or we could increase the timeout if you're comfortable with that.

Hi @maxenglander ,
Happy with your solution :)
Would you mind adding a prefix to the  parameter name? e.g., timeout_secs

Hi @maxenglander ,
Happy with your solution :) Would you mind adding a prefix to the parameter name? e.g., timeout_secs

Done!

Thanks!


Buggy Beacon

First tests(Heill)
Testing range with the bug, the only way to get the effect is to stand  on top of the beacon base.(Blocks of minerals)
-Even in the same chunk there is no reapplication.
-Tested both in and outside of a claim.
-Tested with same type blocks.
Max tier beacons should normally have a range of 120 blocks from the center. The range with this is about a range of 4.
Second Tests(Nyr)
Tested the range in nyr and had the same effects as the previous.
Everything was the same. Iron blocks were the base of the beacon. The effect tested was haste 2. Using iron to pay the price. It was performed in both claimed and unclaimed land and in both of the two worlds. I placed the beacon in one chunk and not in several to see if it was just a chunk issue, and even in the same chunk there was no reapplication.

Woo fixed! Only took... several months and a reset.


fix user effective permission display

There was issue if users is in multiple groups, then in access permissions tab under effective was shown only alphabetically first groups permissions, not the greatest ones. Fixed issue by adding some checks if permissions should be replaced in list. Maybe there is better way to fix this issue. (I am not really developer, just SCM engineer)

The weird thing to me is that team permissions override specified user permissions. I believe it should be the other way around. But yeah, at least the displayed permissions should reflect the ones applied when checking access.

Rebased and merged. Closing this as done.


fix(userspace/falco): make termination and signal handlers more stable

What type of PR is this?
/kind bug
/kind cleanup
Any specific area of the project related to this PR?
/area engine
What this PR does / why we need it:
Signal handlers are used in Falco to force termination, hot reload, or output reloading. However, the current implementation is not stable for neither thread-safety and async-signal safety (more here: https://docs.oracle.com/cd/E19455-01/806-5257/gen-26/index.html). This PR refactors the way signals are handled to make sure it's safe both on single-threaded (e.g. capturing only syscalls) and multi-threaded use cases (e.g. multiple event sources in parallel).
Accordingly, the event source termination stage has been refactored to be more stable by using atomic values to check 1) that the event source has actually finished processing events, and 2) that the corresponding thread has already been joined. This is safer than simply relying on the thread.joinable() and thread.join() primitives.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/milestone 0.33.0

LGTM label has been added.  Git tree hash: 9c46687de8ccdb55ef0497400ebf1d701f2787ec

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


⚠ Samsung has degraded performance

In afb94f1, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2070 ms

Resolved: Samsung performance has improved in 9dfd2bb.


[Admission Controller] Add support for projected service account tokens

How to categorize this PR?

/area security
/kind enhancement
What this PR does / why we need it:
This PR adds:

The ability to configure the admission controller to use service account token volume projection (ref).
The ability to configure a user instead of a service account subject in the clusterrolebinding definition when using a "virtual garden" setup. This will enable other possibilities for authentication to the virtual garden, i.e., leveraging oidc-webhook-authenticator.

Related to gardener/gardener-extension-provider-gcp#380
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
I added a new field AllowTokenFile to the AdmissionControllerConfiguration type. This field can also be part of GardenClientConnection but since this type comes from the vendor directory I did not come up with another solution that does not involve breaking changes. WDYT? Should I create a new type to consist of both  AllowTokenFile and componentbaseconfig.ClientConnectionConfiguration and introduce a breaking change?
Release note:

Gardener Admission Controller now supports configuration for enabling service account token volume projection. It is exposed through the `.Values.global.admission.serviceAccountTokenVolumeProjection` section in the respective chart's values.

It is now possible to configure a `user` instead of a `serviceaccount` subject in the `clusterrolebinding` for the Gardener Admission Controller when using virtual garden setup by setting `.Values.global.virtualGarden.admission.user.name`.

Functions `RESTConfigFromKubeconfig` and `RESTConfigFromClientConnectionConfiguration` in package `/pkg/client/kubernetes` now support an `allowedFields` parameter which can be used to allow additional fields in the `kubeconfig` when creating clients.

/invite @vpnachev @timebertt @rfranzke

/squash

I opened a draft PR #5427 that I propose to be reviewed and merged after I contribute the changes to the other control plane components. It makes sense that we use one way to describe them all, but it doesn't make sense to contribute the "generic" document here when the other components are not ready yet.
If you agree with this proposal I guess this PR is ready to be merged.

Sounds good. @rfranzke for a final approval or merge :)


[LW-10042] fix: routing versions

LW-10042
Context
Slack thread
Proposed Solution
I think it’s slightly wrong. Let’s say you had these versions:

1.0.{1..9}
1.1.3

By only generating major.{0..minor}.{0..patch} , we would miss 1.0.{4..9}
Now, we could go up to 9, but how do we know there are at most 9 patches possible? 🤔
Important Changes Introduced
n/a

Superseded by #1146


added fullscreen button

You can try it on https://graphhopper.com/maps/

Wow you wrote your own :+1:. There are leaflet plugins for that (but maybe a bit bigger than your tiny code) - for example this. I use one of these plugins on Kurviger.
BTW: The fullscreen button looks somewhat different than the other buttons.

BTW: The fullscreen button looks somewhat different than the other buttons

Do you mean it looks different compared to the leaflet icons?

Do you mean it looks different compared to the leaflet icons?

Sorry, I updated my comment. I wasn't very specific.


[ISSUE #1091]🔥Support broker receive transaction message🚀

Which Issue(s) This PR Fixes(Closes)

Fixes #1091
Brief Description

How Did You Test This Change?

🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥


Updates to support Catchment-CN.4.0 and Catchment-CN.4.5

This PR links to GEOSgcm_GridComp draft PR 368 and responds to GEOSgcm_GridComp issue 41. The objective is to introduce modification required to support both Catchment-CN.4.0 and Catchment-CN.4.5.
Specific changes made are:
GEOSldas_HIST.rc:

added additional diagnostics for Catchment-CN.4.5

ldas_setup:

added read statements for lightning frequency climatology file (lnfm_clim.data), a boundary condition file required by Catchment-CN.4.5

mk_GEOSldasRestarts.F90:

added ability to handle Catchment-CN.4.5 restart files

GEOS_LdasGridComp.F90:

added LSM_CHOICE to SurfParams_init call; this change is not related to the Catchment-CN.4.5 implementation, but was necessary while PR #311 is pending approval

cc: @gmao-rreichle , @biljanaorescanin , @rdkoster , @smahanam

This PR is contingent on GEOSgcm PR 246 and GEOSgcm_GridComp PR 368.

This PR is contingent on GEOSgcm PR 246 and GEOSgcm_GridComp PR 368.

PR was re-tested and with current setup two tests fail. Tests: GLOBALCNCLM4 and GNUGLOBALCNCLM4.
Issue is with GEOSldas_CNCLM40_NT_rst.ens0000.catchcnclm40_ldas_rst.20150301_0000z.bin,  it does not exist.
We agreed that name in setup script is wrong.

After updates in the running script we still fail for GLOBALCNCLM4 and GNUGLOBALCNCLM4. Fail in restart files comparison is due to the file name: "CURRENT.catchcn" vs "CURRENT.catchcnclm40". The files themselves are identical. For "lnd" file comparison: BASELINE has TP1-6 vars in units of Kelvin, but on Jana's branch all units are in Celsius.

Weiyuan, please attend to Rolf's comments, I am not even following them, but if you make changes, please run and check both cases (Jana will help). I created a working and well tested branch.

IMPORTANT IMPORTANT
'40' and '45': Should you decide to change, there are many places to change - not just GEOSldas, sure go ahead, but again please redo all the tests that Jana reported this morning.

Test summary: We have 3 tests fail in comparison; globalcnclm4, gnuglobalcnclm4 and aggglobalcnclm4. All failed tests need update in restart file name, tests now expect "catchcnclm40" insted of "catchcn". Other change needed is in LAND_PARAM, before we used "CN_CLM4"  and now it needs to be "CN_CLM40". Aggressive test has on top of that a round off differences seen in both "lnd" and "lfs" collections.


Symlinked source directories are wonky

If I have a folder symlinked in my source directory, it doesn’t seem to pick up changes underneath it correctly.
for example, if I change a buck file inside the symlinked folder it doesn’t always detect it.  If i retarget the symlink it doesn’t always detect that either.
The way to fix it is to restart the daemon, but often when doing that it triggers a full rebuild, like the internal state got messed up and it wasn’t correctly serializing whatever it uses to keep track of what’s up to date and what’s not.
tested on macOS, not sure if that makes a difference

Is the destination of the symlink still in the Buck2 project? Are you using Watchman or INotify as your file watcher? (The default in open source is INotify)

Using the default.  How do you change to watchman?  Since watchman isn’t the default Im guessing there’s some limitations with it?

The limitation with watchman is that you have to install it on your machine. Inside Meta we use Watchman exclusively - it's much better, but requires setup, so we default to no-Watchman to give a better out of the box experience. Set[buck2] file_watcher=watchman in the .buckconfig to use it (and restart your Buck2 daemon).

There's actually an even worse problem here.  Symlinked source directories are not traversed by buck2 targets.  They also aren't traversed by bxl when you call ctx.configured_targets() or ctx.unconfigured_targets().  I don't think this is related to watchman, but I suppose it's possible.
I'm going to try installing watchman and see if that fixes it.


speed gpu

您好，我有几个问题和发现。基于2080ti GPU对Repvit的不同尺寸规模的模型进行速度测试，其并不能展现比mobileOne-s2,s1以及fastvit-t8更高的速度。无论是throughput还是FPS等都比相关的同精度算法模型要慢。（对比上述模型主要是因为均采用结构重参数）

Thanks for your interest. The benchmark results on our 2080ti device are below:

Model
Input
Throughput (bs=1024)

RepViT-M0.9
224
2870

FastViT-T8
256
2379 (bs=768 because OOM when bs=1024)

MobileOne-S1
224
2745

May you provide more details about your benchmark results?

Thanks for your reply. The benchmark results on ours 2080ti GPU are below:
Model        Input             Throughput(bs=512)
MobileOne-s2       160              4152
MobileOne-s1       160              5523
RepViT-M1            160              5522
RepViT-M2            160              4708
(if bs=1)
MobileOne-s2          160         479
....-s1           160          429
RepViT-M1               160          200
RepViT-M2                160         182
FastVit-T8                  160         325
Does this mean that the model is difficult to apply to the problem of single graph transmission single graph inference under the high-speed camera?

Thanks. We thought that it depends on the device. For example, RepViT-M0.9 runs as fast as MobileOne-S1 on iPhone 12 with bs=1. On the 2080Ti with bs=1, we suggest that you could locate some inference bottleneck. For example, SE layer with bs=1 may cause extra apparent latency on 2080Ti, which is not like on the iPhone. Besides, we suggest that you could improve the performance on 2080Ti with TensorRT. We will also try to improve the performance of RepViT in such case.


stage0/gc: try to avoid double overlay mounts

Before Linux 4.13, it used to be possible to perform double overlayfs
mounts in place. This now fails at mount() with EBUSY.
We were abusing this feature to unconditionally ensure that the stage1
image overlay mount was present before calling gc entrypoint.
This improves stage0 logic to perform the stage1 image overlay mount
only if it doesn't already exist.
Fixes https://github.com/rkt/rkt/issues/3805

/cc @euank I quickly checked on alpha, and this seems to be the only place where kernel behavioral change introduced issues. You may want to cherry-pick and confirm via kola though.
/cc @iaguis you should be experiencing the same bug on Arch with 4.13.

/cc @iaguis you should be experiencing the same bug on Arch with 4.13.

4.13 hasn't yet hit the core repo.

I've added a log statement, but I've left the keep-going on EBUSY in. PTAL.

@euank @dm0- can you please cherry-pick this on any CL channel with kernel 4.13?


Autoupdating Apps

I note from the FAQ:

I don't want to SSH into my device every time I want to update the app version or change an environment variable. Ideally, apps should just update auto-magically (watchtower plugin incoming).

I highly recommend swarmupdater which I run in all my production Swarm clusters.
I'm even happy to fork it and maintain it 😅

Thanks for the recommendation! I was considering using watchtower for this, but this might be lighter weight. Is there a public docker image I can run as a plugin? I can't quite tell how to actually run it.

Thanks for the recommendation! I was considering using watchtower for this, but this might be lighter weight. Is there a public docker image I can run as a plugin? I can't quite tell how to actually run it.

Remind me on the weekend... I'll publish an image for it and show you how to run it in Swarm.

I also found this, that does the same thing: https://github.com/djmaze/shepherd
Thoughts?

Actually, I doubt either of those services will work... Currently, the service is ran using the image digest, not the image tag, so that it's locked down to a specific version of the image. It's done this way so every node in the cluster is running the same version of the image.
Since we're using the digest, these tools will never tell a service to update, because there's never a newer version of a digest.

I see three options here:

Custom solution built into Miasma - all the logic for pulling images and restarting apps is already written, we just need to bring in a CRON library and schedule the work.
Use a registry with webhooks - the registry image has support for this. We make it into a plugin, and bam we're done.
Don't auto-upgrade - just force people to include the upgrade command as apart of their publishing process:docker build -t my-app:latest .
docker push my-app:latest
miasma apps:upgrade -a my-app

Personally, I think option 2 is the way to go. That way, as soon as I push the image, it gets pulled and the services upgraded.
Option 1 would be nice to keep public images up to date from docker hub, but usually those kinds of apps are things you want to lock down to specific versions and not upgrade, like postgres or redis. I wouldn't want either of those upgrading silently behind the scenes.
Of course, we could have both 1 and 2, but have a setting per app that enables or disabled automatic upgrades. That would cover all cases.

Let's build support for 1 and 2


Improve error messages for service responses.

When I run my tests for #1007 the following error doesn't say anything meaningful-
--- FAIL: TestListUsersOK (0.02s)
	users_testing.go:212: invalid response status code: got 500, expected 200
	users_testing.go:219: invalid response media: got &{Errors:[0xc420a4bef0]}, expected instance of app.UserArray

this comes from
https://github.com/almighty/almighty-core/blob/master/controller/users.go#L128
return jsonapi.JSONErrorResponse(ctx, errors.Wrap(err, "Error listing users"))

We need to improve this..

+1

We need to refactor List Users. But there is another issue about this. So, this should be a part of that refactoring ;)

But what does the List Users have to do with this per say? The errors are saying; an internal error happened, but the object that was received is Errors:[pointer to error] and not an app.UserArray as expected. This is coming from the Goa generated test code. The fix here must be to improve the String()/Error() method of the JSONError class, not the List User function.


Do you create one of these things during an application life cycle, or when you need one?
Are the methods thread safe?
It boggles the mind that you guys haven't figured out that you need to include this information for these types of classes EVERY TIME. It's like your selling cars and surprised that everyone wants headlights and a steering wheel.

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

ID: 3c0ad0bb-9243-5608-ad41-6eafe131c286
Version Independent ID: 7de4ef17-3aa4-2003-be81-173aea1b2dec
Content: ConfigurationClient Class (Azure.Data.AppConfiguration) - Azure for .NET Developers
Content Source: xml/Azure.Data.AppConfiguration/ConfigurationClient.xml
Service: azure
GitHub Login: @CamSoper
Microsoft Alias: casoper

Hey @jackbond! Thanks for creating this issue and for your feedback.
To answer your question about the ConfigurationClient -- you can think of that as the object that you use to communicate with the App Configuration Azure Service. As such, you can either create it once per application or whenever you need to connect to Azure. This is dependent on what your application is doing and on your architecture.
As for the methods on the client itself, I believe they are all thread safe -- have you seen a case where that is not correct?

Hey @jackbond! Thanks for creating this issue and for your feedback.
To answer your question about the ConfigurationClient -- you can think of that as the object that you use to communicate with the App Configuration Azure Service. As such, you can either create it once per application or whenever you need to connect to Azure. This is dependent on what your application is doing and on your architecture.
As for the methods on the client itself, I believe they are all thread safe -- have you seen a case where that is not correct?

Thanks for the quick response Alex. It's not so much IF you can do it one way or the other, it's what's the guidance. For example, the authors of the HttpClient make it very clear, it's best to create one per application. In the case of ConfigurationClient, if it's thread safe, I'll inject one and not waste time creating one for every call.
At the bare minimum, and this goes to my primary point, thread safety should be included for all client libraries, ZERO exceptions. Hearing, "I believe they're all thread safe", isn't at all reassuring. Has the library actually been tested? Do the tests not include multithreading tests?
Sorry if I seem short, but this seems like the billionth time I've had to ask this question regarding an Azure library.

Thanks for the quick response Alex. It's not so much IF you can do it one way or the other, it's what's the guidance. For example, the authors of the HttpClient make it very clear, it's best to create one per application. In the case of ConfigurationClient, if it's thread safe, I'll inject one and not waste time creating one for every call.
At the bare minimum, and this goes to my primary point, thread safety should be included for all client libraries, ZERO exceptions. Hearing, "I believe they're all thread safe", isn't at all reassuring. Has the library actually been tested? Do the tests not include multithreading tests?
Sorry if I seem short, but this seems like the billionth time I've had to ask this question regarding an Azure library.

@jackbond thanks for clarifying. It sounds like you've had this comment several times before and it is frustrating to have to repeat it, but this is the first time I've seen this feedback for any of our libraries.
It is good feedback and something I'll follow-up on to make sure that information is captured in our docs.microsoft.com page.
For the App Configuration client, as well as our other clients, they are thread-safe and you should be able to create one per application and use it.
We have a blog post talking about this and other topics around the lifetime management of our clients that you can read: Lifetime management for Azure SDK .NET clients.
Please feel free to ask any questions that are not addressed in that blog post!

@jackbond thanks for clarifying. It sounds like you've had this comment several times before and it is frustrating to have to repeat it, but this is the first time I've seen this feedback for any of our libraries.
It is good feedback and something I'll follow-up on to make sure that information is captured in our docs.microsoft.com page.
For the App Configuration client, as well as our other clients, they are thread-safe and you should be able to create one per application and use it.
We have a blog post talking about this and other topics around the lifetime management of our clients that you can read: Lifetime management for Azure SDK .NET clients.
Please feel free to ask any questions that are not addressed in that blog post!

Now THAT is an outstanding response.
You guys should link to that page from literally every client library home page.
Thank you so much, just about made my day.

Now THAT is an outstanding response.
You guys should link to that page from literally every client library home page.
Thank you so much, just about made my day.

@jackbond thanks for the feedback and happy this helped you!
I am following up on the right way to address this for all of our libraries!
I am closing this issue for now, but please reopen/ping me on it if you have additional feedback!

@jackbond thanks for the feedback and happy this helped you!
I am following up on the right way to address this for all of our libraries!
I am closing this issue for now, but please reopen/ping me on it if you have additional feedback!


kotlin

:scroll: Description

:bulb: Motivation and Context

:green_heart: How did you test it?
:pencil: Checklist

[ ] I reviewed submitted code
[ ] I added tests to verify changes
[ ] No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
[ ] I updated the docs if needed
[ ] All tests passing
[ ] No breaking changes

:crystal_ball: Next steps

@357809764 what's the intention of this PR?