0.7.0-rc3 - handle_vehicle loop failed with unexpected exception: Vehicle status time drifted too much

Fairly recently been getting an exception when attempting to do the polling loop, where it says that the time has drifted too far by 4,859 days.
Not entirely sure what caused this. When restarting the container it will sometimes work, and then fail on the next loop with the same issue. This exception is critical, and causes the controls and sensors to return Unavailable.
Log from restart to several exceptions:
2024-09-29 12:50:11,525 [  INFO  ] Logging in to SAIC API - __main__
2024-09-29 12:50:13,805 [  INFO  ] Logged in as [REDACTED] - __main__
2024-09-29 12:50:13,806 [  INFO  ] Fetching vehicle list - __main__
2024-09-29 12:50:13,968 [  INFO  ] Registering for ['ALARM_TYPE_VEHICLE_FAULT', 'ALARM_TYPE_GEOFENCE', 'ALARM_TYPE_VEHICLE_START'] messages. vin=[REDACTED]- __main__
2024-09-29 12:50:14,064 [  INFO  ] Registered for ['ALARM_TYPE_VEHICLE_FAULT', 'ALARM_TYPE_GEOFENCE', 'ALARM_TYPE_VEHICLE_START'] messages. vin=[REDACTED]- __main__
2024-09-29 12:50:14,268 [  INFO  ] Adding job tentatively -- it will be properly scheduled when the scheduler starts - apscheduler.scheduler
2024-09-29 12:50:14,270 [  INFO  ] [CONNECTION MADE] - gmqtt.mqtt.protocol
2024-09-29 12:50:14,272 [  INFO  ] Connected to MQTT broker - publisher.mqtt_publisher
2024-09-29 12:50:14,272 [  INFO  ] [SEND SUB] 1 [b'saic/[REDACTED]/vehicles/+/+/+/set'] - gmqtt.mqtt.package
2024-09-29 12:50:14,272 [  INFO  ] [SEND SUB] 2 [b'saic/[REDACTED]/vehicles/+/+/+/+/set'] - gmqtt.mqtt.package
2024-09-29 12:50:14,272 [  INFO  ] [SEND SUB] 3 [b'saic/[REDACTED]/vehicles/+/refresh/mode/set'] - gmqtt.mqtt.package
2024-09-29 12:50:14,273 [  INFO  ] [SEND SUB] 4 [b'saic/[REDACTED]/vehicles/+/refresh/period/+/set'] - gmqtt.mqtt.package
2024-09-29 12:50:14,275 [  INFO  ] Added job "Check for new messages" to job store "default" - apscheduler.scheduler
2024-09-29 12:50:14,275 [  INFO  ] Scheduler started - apscheduler.scheduler
2024-09-29 12:50:14,276 [  INFO  ] Publishing vehicle info to MQTT - vehicle
2024-09-29 12:50:14,280 [  INFO  ] [SUBACK] 1 (0,) - gmqtt
2024-09-29 12:50:14,280 [  INFO  ] [SUBACK] 2 (0,) - gmqtt
2024-09-29 12:50:14,280 [  INFO  ] [SUBACK] 3 (0,) - gmqtt
2024-09-29 12:50:14,280 [  INFO  ] [SUBACK] 4 (0,) - gmqtt
2024-09-29 12:50:24,295 [  INFO  ] Setting active query interval in vehicle handler for VIN [REDACTED] to 0:00:30 - vehicle
2024-09-29 12:50:24,295 [  INFO  ] Setting after shutdown query interval in vehicle handler for VIN [REDACTED] to 0:02:00 - vehicle
2024-09-29 12:50:24,296 [  INFO  ] Setting inactive query interval in vehicle handler for VIN [REDACTED] to 1 day, 0:00:00 - vehicle
2024-09-29 12:50:24,296 [  INFO  ] Updating remote AC temperature to 22 - vehicle
2024-09-29 12:50:24,296 [  INFO  ] Setting refresh mode to periodic due to initial gateway startup from an invalid state RefreshMode.OFF - vehicle
2024-09-29 12:50:34,659 [ ERROR  ] handle_vehicle loop failed with an unexpected exception - handlers.vehicle
Traceback (most recent call last):
  File "/usr/src/app/handlers/vehicle.py", line 83, in handle_vehicle
    await self.__polling()
  File "/usr/src/app/handlers/vehicle.py", line 106, in __polling
    vehicle_status = await self.update_vehicle_status()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/app/handlers/vehicle.py", line 156, in update_vehicle_status
    self.vehicle_state.handle_vehicle_status(vehicle_status_response)
  File "/usr/src/app/vehicle.py", line 209, in handle_vehicle_status
    raise MqttGatewayException(
exceptions.MqttGatewayException: Vehicle status time drifted too much from current time: 4859 days, 14:23:32.341149
2024-09-29 12:51:08,991 [ ERROR  ] handle_vehicle loop failed with an unexpected exception - handlers.vehicle
Traceback (most recent call last):
  File "/usr/src/app/handlers/vehicle.py", line 83, in handle_vehicle
    await self.__polling()
  File "/usr/src/app/handlers/vehicle.py", line 106, in __polling
    vehicle_status = await self.update_vehicle_status()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/app/handlers/vehicle.py", line 156, in update_vehicle_status
    self.vehicle_state.handle_vehicle_status(vehicle_status_response)
  File "/usr/src/app/vehicle.py", line 209, in handle_vehicle_status
    raise MqttGatewayException(
exceptions.MqttGatewayException: Vehicle status time drifted too much from current time: 4859 days, 14:22:58.009230
2024-09-29 12:51:14,270 [  INFO  ] Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2024-09-29 12:52:14 UTC)" (scheduled at 2024-09-29 12:51:14.268203+00:00) - apscheduler.executors.default
2024-09-29 12:51:14,483 [  INFO  ] Job "Check for new messages (trigger: interval[0:01:00], next run at: 2024-09-29 12:52:14 UTC)" executed successfully - apscheduler.executors.default
2024-09-29 12:51:18,703 [ ERROR  ] handle_vehicle loop failed with an unexpected exception - handlers.vehicle
Traceback (most recent call last):
  File "/usr/src/app/handlers/vehicle.py", line 83, in handle_vehicle
    await self.__polling()
  File "/usr/src/app/handlers/vehicle.py", line 106, in __polling
    vehicle_status = await self.update_vehicle_status()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/app/handlers/vehicle.py", line 156, in update_vehicle_status
    self.vehicle_state.handle_vehicle_status(vehicle_status_response)
  File "/usr/src/app/vehicle.py", line 209, in handle_vehicle_status
    raise MqttGatewayException(
exceptions.MqttGatewayException: Vehicle status time drifted too much from current time: 4859 days, 14:22:48.296769

Hi,
This happens because the car or the mg servers report a message date that
is too far into the future (or the past). It usually gets solved by
checking the clock time on the car or driving it around.
For the debugging purposes you can reach out to me on telegram. Then handle
is the same as my username here
Il Dom 29 Set 2024, 15:02 Zion Fox @.***> ha scritto:

Fairly recently been getting an exception when attempting to do the
polling loop, where it says that the time has drifted too far by 4,859 days.
Not entirely sure what caused this. When restarting the container it will
sometimes work, and then fail on the next loop with the same issue. This
exception is critical, and causes the controls and sensors to return
Unavailable.
Log from restart to several exceptions:
2024-09-29 12:50:11,525 [  INFO  ] Logging in to SAIC API - main
2024-09-29 12:50:13,805 [  INFO  ] Logged in as [REDACTED] - main
2024-09-29 12:50:13,806 [  INFO  ] Fetching vehicle list - main
2024-09-29 12:50:13,968 [  INFO  ] Registering for ['ALARM_TYPE_VEHICLE_FAULT', 'ALARM_TYPE_GEOFENCE', 'ALARM_TYPE_VEHICLE_START'] messages. vin=[REDACTED]- main
2024-09-29 12:50:14,064 [  INFO  ] Registered for ['ALARM_TYPE_VEHICLE_FAULT', 'ALARM_TYPE_GEOFENCE', 'ALARM_TYPE_VEHICLE_START'] messages. vin=[REDACTED]- main
2024-09-29 12:50:14,268 [  INFO  ] Adding job tentatively -- it will be properly scheduled when the scheduler starts - apscheduler.scheduler
2024-09-29 12:50:14,270 [  INFO  ] [CONNECTION MADE] - gmqtt.mqtt.protocol
2024-09-29 12:50:14,272 [  INFO  ] Connected to MQTT broker - publisher.mqtt_publisher
2024-09-29 12:50:14,272 [  INFO  ] [SEND SUB] 1 [b'saic/[REDACTED]/vehicles/+/+/+/set'] - gmqtt.mqtt.package
2024-09-29 12:50:14,272 [  INFO  ] [SEND SUB] 2 [b'saic/[REDACTED]/vehicles/+/+/+/+/set'] - gmqtt.mqtt.package
2024-09-29 12:50:14,272 [  INFO  ] [SEND SUB] 3 [b'saic/[REDACTED]/vehicles/+/refresh/mode/set'] - gmqtt.mqtt.package
2024-09-29 12:50:14,273 [  INFO  ] [SEND SUB] 4 [b'saic/[REDACTED]/vehicles/+/refresh/period/+/set'] - gmqtt.mqtt.package
2024-09-29 12:50:14,275 [  INFO  ] Added job "Check for new messages" to job store "default" - apscheduler.scheduler
2024-09-29 12:50:14,275 [  INFO  ] Scheduler started - apscheduler.scheduler
2024-09-29 12:50:14,276 [  INFO  ] Publishing vehicle info to MQTT - vehicle
2024-09-29 12:50:14,280 [  INFO  ] [SUBACK] 1 (0,) - gmqtt
2024-09-29 12:50:14,280 [  INFO  ] [SUBACK] 2 (0,) - gmqtt
2024-09-29 12:50:14,280 [  INFO  ] [SUBACK] 3 (0,) - gmqtt
2024-09-29 12:50:14,280 [  INFO  ] [SUBACK] 4 (0,) - gmqtt
2024-09-29 12:50:24,295 [  INFO  ] Setting active query interval in vehicle handler for VIN [REDACTED] to 0:00:30 - vehicle
2024-09-29 12:50:24,295 [  INFO  ] Setting after shutdown query interval in vehicle handler for VIN [REDACTED] to 0:02:00 - vehicle
2024-09-29 12:50:24,296 [  INFO  ] Setting inactive query interval in vehicle handler for VIN [REDACTED] to 1 day, 0:00:00 - vehicle
2024-09-29 12:50:24,296 [  INFO  ] Updating remote AC temperature to 22 - vehicle
2024-09-29 12:50:24,296 [  INFO  ] Setting refresh mode to periodic due to initial gateway startup from an invalid state RefreshMode.OFF - vehicle
2024-09-29 12:50:34,659 [ ERROR  ] handle_vehicle loop failed with an unexpected exception - handlers.vehicle
Traceback (most recent call last):
File "/usr/src/app/handlers/vehicle.py", line 83, in handle_vehicle
await self.__polling()
File "/usr/src/app/handlers/vehicle.py", line 106, in __polling
vehicle_status = await self.update_vehicle_status()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/handlers/vehicle.py", line 156, in update_vehicle_status
self.vehicle_state.handle_vehicle_status(vehicle_status_response)
File "/usr/src/app/vehicle.py", line 209, in handle_vehicle_status
raise MqttGatewayException(
exceptions.MqttGatewayException: Vehicle status time drifted too much from current time: 4859 days, 14:23:32.341149
2024-09-29 12:51:08,991 [ ERROR  ] handle_vehicle loop failed with an unexpected exception - handlers.vehicle
Traceback (most recent call last):
File "/usr/src/app/handlers/vehicle.py", line 83, in handle_vehicle
await self.__polling()
File "/usr/src/app/handlers/vehicle.py", line 106, in __polling
vehicle_status = await self.update_vehicle_status()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/handlers/vehicle.py", line 156, in update_vehicle_status
self.vehicle_state.handle_vehicle_status(vehicle_status_response)
File "/usr/src/app/vehicle.py", line 209, in handle_vehicle_status
raise MqttGatewayException(
exceptions.MqttGatewayException: Vehicle status time drifted too much from current time: 4859 days, 14:22:58.009230
2024-09-29 12:51:14,270 [  INFO  ] Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2024-09-29 12:52:14 UTC)" (scheduled at 2024-09-29 12:51:14.268203+00:00) - apscheduler.executors.default
2024-09-29 12:51:14,483 [  INFO  ] Job "Check for new messages (trigger: interval[0:01:00], next run at: 2024-09-29 12:52:14 UTC)" executed successfully - apscheduler.executors.default
2024-09-29 12:51:18,703 [ ERROR  ] handle_vehicle loop failed with an unexpected exception - handlers.vehicle
Traceback (most recent call last):
File "/usr/src/app/handlers/vehicle.py", line 83, in handle_vehicle
await self.__polling()
File "/usr/src/app/handlers/vehicle.py", line 106, in __polling
vehicle_status = await self.update_vehicle_status()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/handlers/vehicle.py", line 156, in update_vehicle_status
self.vehicle_state.handle_vehicle_status(vehicle_status_response)
File "/usr/src/app/vehicle.py", line 209, in handle_vehicle_status
raise MqttGatewayException(
exceptions.MqttGatewayException: Vehicle status time drifted too much from current time: 4859 days, 14:22:48.296769
—
Reply to this email directly, view it on GitHub
https://github.com/SAIC-iSmart-API/saic-python-mqtt-gateway/issues/263,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIT3RV4HHLJHWEFT52NKNLZY727JAVCNFSM6AAAAABPBWJF4SVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU2TIOJSGYYTQMI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

It's fine that the car or servers are reporting an incorrect time, the unhandled exception is not exactly a great way of handling this edge case however. Perhaps it can be handled, and either reported as a "last poll error" flag, or perhaps there can be an error message sensor that's returned to HA, that can then be used to automate sending the error messages to the user?
I'll verify the clock of the car, but I've just stopped driving it to this issue. If it's the server that's wrong, I suppose I just have to wait.

I'll double check the logic but the expectation is

The car shows as unavailable on HA as we couldn't reliably talk to it
(usually in this scenario the car state reported by mg is total garbage)
The gateway should enter an exponential back off mode and retry checking
the car state periodically

If you are comfortable with python you can download the saic python api ng
code from GitHub. Inside the docs folder there's a simple main you can run
to dump server responses. I'd love to see your reported car state in this
scenario.
Il Dom 29 Set 2024, 15:18 Zion Fox @.***> ha scritto:

It's fine that the car or servers are reporting an incorrect time, the
unhandled exception is not exactly a great way of handling this edge case
however. Perhaps it can be handled, and either reported as a "last poll
error" flag, or perhaps there can be an error message sensor that's
returned to HA, that can then be used to automate sending the error
messages to the user?
I'll verify the clock of the car, but I've just stopped driving it to this
issue. If it's the server that's wrong, I suppose I just have to wait.
—
Reply to this email directly, view it on GitHub
https://github.com/SAIC-iSmart-API/saic-python-mqtt-gateway/issues/263#issuecomment-2381354811,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIT3RTB2UUQYWA2XSUADKLZY7437AVCNFSM6AAAAABPBWJF4SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBRGM2TIOBRGE
.
You are receiving this because you commented.Message ID:
@.***
com>

@ZionFox just to add:

There's a diagnostic sensor already called "Last Poll Error" that is updated as soon as polling fails. You can use an automation based on the change of that sensor to notify the user that something happened
The exception is not unhandled, just the stack trace is printed on screen for troubleshooting purposes
I can definitely add a "Last Poll Error Reason" sensor to display the last reported error


Question: how to implement multiple decorations on same line?

I need multiple line highlighters for a line.
I can add an array of decorations, so this is kinda breakpoints functionality:
editor.onMouseDown((e) => {
        const { target: { element, range } } = e;
        if (element.className === 'line-numbers') {
          this.addBreakpoint(editor, range.startLineNumber);
        }
      });
// and the method:
addBreakpoint = (editor, line) => {
    const prevDecorations = this.decorations ? [...this.decorations] : [];
    this.decorations = editor.deltaDecorations(prevDecorations, [
      {
        range: new monaco.Range(line, 1, line, 1),
        options: {
          isWholeLine: false,
          className: 'editorContentStyles',
          glyphMarginClassName: 'breakpointStyle'
        }
      }
    ]);
  }

It works fine, but I need more decorations, which, can be on the same line with breakpoint.
How can place multiple decoration markers(glyps whatever) on the same line?

This is currently not supported. I think one of the glyph class names will win or their class names get joined.

Is this supported now?

would be very useful indeed.

That would be awesome btw.


fix the visibility of slack and github logos

Current Behavior

Desired Behavior
Background will not be changed , only logos will be visiable after hover effect .

fix the visibility of slack and github logos on hover in the footer of https://getnighthawk.dev/
Resources

Alternatives / Additional Context

Contributor Resources

See the Contributing to getnighthawk.dev Website
See the Project Site section of GetNighthawk project doc

I want to work on this issue . can you assign it to me

@Rajivkumawat3 are you currently working on this?

@Savio629  sir can you tell me reason , the pull request i made not showing its changes on netlify


Compute Robot's Inertia as reflected in the base frame

Hi I want to compute the Angular momentum around the CoM in the world frame namely,
L = R_b * ( I * omega_b + L_kin)
Lets assume I have the Rotation from the base to the world frame R_b and the local angular velocity of the base omega_b available.
I think I can compute L_kin with the pinnochio computeCentroidalMomentum function (right?).
But is there a way to compute the Inertia of the robot as seen by the base frame I with pinnochio?
Thanks in advance

The centroidal inertia quantity is computed by computeCentroidalMap.  The centroidal inertia expressed in the WORLD coordinate system (origin of the world), is then given by data.oYcrb[0].
Assuming the base frame is related to the first joint_id, then the centroidal inertia expressed in the base frame is given by data.oMi[1].actInv(data.oYcrb[0]).
I hope this is clear.

Yes, thanks for the quick reply.

Btw, there is no bindings for "data.oYcrb", only for "data.Ycrb as we can see here: https://github.com/stack-of-tasks/pinocchio/blob/17c479e2fe91905122713643f489feb8ddf135a3/bindings/python/multibody/data.hpp#L121

I am using the c++ implementation, if oYcrb is with respect to the origin Ycrb is with respect to ?

With respect to the LOCAL joint frame.


Add Automatic Build Workflow

With this workflow, the jar should automatically build and create a release as soon as you create a new tag.
This should make it easier to create a new release.
I also updated the name in a few places 😄
Note: You might want to change draft: false to true if you want to create a custom description for every release before publishing it
And do not forget to create a token which has permissions to create a release. In order to create one, open your personal GitHub settings and go to developer settings. There you click on Personal Access Tokens and create a new Fine-Grained token (or just follow this link: https://github.com/settings/tokens?type=beta)
Give the tokens just access to this repo. As for the permissions Contents and Actions should be enough under the category Repository permissions.
To add the token, open the settings tab in this project and add it here:

Oh, sorry! It should be fixed now, though I still noticed some problems when compiling it via a workflow as your Waterfall repo has a problem: The Submodules are using<EMAIL_ADDRESS>instead of https://[...] this will result in the workflow now being able to pull these. If these are changed, it should work 😄


Query results are disappearing after switching to new query tab

Azure Data Studio Version:
Version: 1.14.1 running on MacOS Catalina 10.15.2
Commit: f9b968c1ae514a0d1210788629e1c69125857279
Date: 2019-12-24T02:37:56.865Z
VS Code: 1.38.0
Electron: 6.1.5
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Darwin x64 19.2.0

Steps to Reproduce:

Open or create query
Open or create query in another tab
Run that query (results are shown)
Switch to tab with first query
Run the query
Switch to second tab and query result disappear
Switch to first tab and query result disappear too

Important: If you click 'Message' (next to 'Result') it will show results but it will always shows results from last run query not the results from current tab. It is really misleading.
BR
Arek

I can't seem to repro with the steps provided. Are there any errors in the log (F1 -> developer: show logs -> Window)

It is fully replicable on my two Macs but I found that sometimes on the first run everything is OK. When I run it again (restart ADS) appears.
Yes, there is one error in console:
[2020-01-04 10:00:29.034] [renderer1] [error] No application in the Launch Services database matches the input criteria.: Error: No application in the Launch Services database matches the input criteria.

This happens to me as well. It only happens on specific queries though. Specifically the query that is seeing this issue is a saved SQL file that is opened in the editor every time I start ADS. Any new query windows that you open during the session are fine. I wonder if it is related to the recent bug that was fixed where the editor wouldn't render results for queries that were saved. This was fixed in the most recent update.

Interestingly, if you click on the Message tab and then back on the Results tab you do see some query results but they are for a completely different query. In my case the results are similar to the results I have in another unsaved query window but the columns are not all there. So I have no idea where these results are coming from unless they are cached somewhere.

I think i found a good repro, @CoolDadTx thanks for your help in finding this. This should be an easy fix and I am targeting our next release for this fix (although it will be in insiders sooner).

This should be an easy fix and I am targeting our next release for this fix (although it will be in insiders sooner).

Thank you for information. What you mean by next release? Now we have 1.14.1 so next will be 1.14.2 or we need to wait until 1.15.0?

We do monthly releases or our main build, then ext being early February.


Recommended way to use D3+plugins with ES6-style imports?

I have a specific case in mind I'm wondering about, related to this plugin, but I'm also wondering how this should be done in general.
It seems like most plugins attach functions to the d3 object itself, so for this plugin my first approach was something like this:
import * as d3 from 'd3';
import 'd3-interpolate';
window.d3 = d3;

The specific issue I'm running into here is that later I have code like
const someFunction = (arr, numSamples) => {
        const interpolator = d3.interpolateRgb(arr[0], arr[1]);
        return d3.quantize(interpolator, numSamples);
    };

which throws the error "d3.quantize is not a function". Placing a debugger to examine the d3 object, it looks like d3.interpolateRgb exists, along with many of the other d3.interpolate functions, but d3.quantize doesn't.
One quick fix was to do something like
import * as interpolate from 'd3-interpolate';
d3.quantize = interpolate.quantize

but I'm just wondering what the proper approach might be for importing/attaching plugin functions (or if this is just an isolated instance!)

It looks like you’re trying to use the D3 modules introduced in D3 4.0 with the old D3 3.x bundle. D3 3.x is no longer supported, and I would strongly recommend against mixing D3 modules with D3 3.x; you should switch to using only the D3 modules.
As of D3 4.0, none of the D3 modules (formerly known as plugins) rely on a global d3 object. Each module is available either as a UMD bundle for use in Node or browsers, and as ES modules for use in bundlers and other modern JavaScript environments.
Importing a D3 module without declaring which symbols you want to use typically has no effect, so this doesn’t do anything:
import "d3-interpolate";

An exception to that is the d3-transition module, which extends the selection.prototype to add selection.transition and selection.interrupt.
To use a D3 module, then, you should import the symbols you want to use. For example to compute an array of ten colors strings that interpolate from red to blue in RGB color space:
import {interpolateRgb, quantize} from "d3-interpolate";

let colors = quantize(interpolateRgb("red", "blue"), 10);

Generally speaking you should not using the d3 default bundle in conjunction with the D3 modules. For example, importing d3-interpolate along with d3 is redundant: the d3 default bundle includes everything from d3-interpolate already. When used in conjunction with import * as d3 from "d3", there is no (easy) way to extend the created d3 object with D3 modules that are not included in the default bundle, such as d3-scale-chromatic or d3-geo-projection. Also, using the import * syntax is less amenable to static analysis in conjunction with tree shaking.
If you have further questions, please use Stack Overflow tag d3.js to ask for help. Although I make an effort to assist everyone that asks, I am not always available to provide help promptly or directly. Stack Overflow provides a better collaborative forum for self-help: tens of thousands of D3-related questions have already been asked there, and some answered questions may be relevant to you.
When asking for help, please include a link to a live example that demonstrates the issue, preferably on bl.ocks.org. It is often impossible to debug from code snippets alone. Isolate the issue and reduce your code as much as possible before asking for help. The less code you post, the easier it is for someone to debug, and the more likely you are to get a helpful response.
If you have a question about D3’s behavior and want to discuss it with other users, also consider the d3-js Google Group or joining the d3-js Slack.
Thank you! 🤗


Demo producing wrong results

Is the demo ready?
I am getting garbage output for the sample examples

Hello @rohanchabra,
Thanks for trying out the demo!
Can you please share additional details to help me look into it? How did you set up Llama 2 and the hash code for the VLM4HOI model that you downloaded from Dropbox?
Regards,
Siddhant Bansal

Hello!
I've encountered some problems with the demo too. To set up the Llama 2 i've cloned the repository and put it in a folder  located here HOI-Ref/vlm4hoi/models/llmweights/ and put the local file path in llama_model in the config file. For the VLM4HOI model i've put the checkpoint_55.pth file HOI-Ref/eval_configs/ and put the local file path in ckpt in the config file too.
If you could help me or correct the way ive configured the files please!
Regards,
AIT AMRANE Djamil


Stop (manual) charging if the vehicle cable is disconnected.

Stop (manual) charging if the vehicle cable is disconnected.
Now, if the cable is unplugged, charging will continue until manually stopped again. This can be solved with an automation, but it would be nice if this happens as standard.

What do you mean by "vehicle cable is broken"? If someone has cut it in two pieces?
If the cable is broken, the car and the carging box should be designed to stop the charging to make sure there there is no electricity hazard for people touching the broken charging cable.

sorry i mean disconnected

The integration needs some kind of input in order to understand that the cable is disconnected. The current way to get this information is by the switch.ev_smart_charging_ev_connected. This switch can either be controlled by automations or manually.
I think you are asking for a way for the integration to automatically understand that the cable is disconnected, without the need of automations. Unfortunately, the way to get this information differs between different car integrations and different charging box integrations, and there are no plans for this integration to be able to understand all kinds of cars and charging boxes.
Or did you ask for a manual way to stop the charging? If so, then you can do that with switch.ev_smart_charging_ev_connected.

This morning I had started manual loading.
I unplugged my Tesla. The automation turned off the "vehicle connected" switch as it should.
Only sensor.ev_smart_charging_charging remained on. The result is when you plug the car back in, the car immediately continues charging, not in the cheapest hour.

Which version of the integratin are you using? v1.6.0 or somthing older?
Can you go to Settings -> Devices & Services -> Integrations -> EV Smart Charging -> 1 device and let me know what settings and values you have in "Controls" and in "Settings"? (A sceenshot of those parts would be fine.)
When you say "This morning I had started manual charging", exactly how did you do that? By pressing the "Manually start charging" button in this integration, or in some other way?
What is HEVC?
What time did you unplugg the car? Before or after the setting of select.ev_smart_charging_charge_completion_time?

V1.6.0
Around 9:30 am the battery percentage was about 87%.
Set limit was 90%.
I turned on the HEVC and then pressed the manualy start charing button button.ev_smart_charging_manually_start_charging.
I unplugged the cable around 10am. The sensor charging sensor.ev_smart_charging_charging remained on after disconnecting the cable.
Time complete is set to 07:00
HEVC = Airco, Preheating / Cooling

Thank you for the information. Now I understand the situation.
What you have seen is the intended behaviour with the current implementation of the integration. The button.ev_smart_charging_manually_start_charging and button.ev_smart_charging_manually_stop_charging are as decribed in the documentation "totally independent of the automatic charging".
The automatic charging part of the integration only turns off the charger if it has been turn on by the automatic charging part and the charging should be turned off. With the current implementation, the automatic charging part of the integration does not know that you have used the manual part of the integration to turn on the charger.
So it would better to add one connection between the manual and automatic part of the integration.

If switch.ev_smart_charging_ev_connected is set to 'off', then the charging should always be turn off.

I will put this on my to-do-list.
Meanwhile, you can manually turn off the charger by pressing the button.ev_smart_charging_manually_stop_charging.

Fixed by #121. Will be part of next release.

Thank you very much!!


More detailed explanation of initial_fetch caching

This CL adds some more explanation of how initial_fetch (the client-side "fetch" function in load) caches results keyed on URL.
I was really scratching my head when my client-side requests were returning bogus results, even when the server-side was working. It turns out, because I was making requests using parameters passed in the POST request body, semantically different requests to the same URL were getting deduped by svelte's client-side request caching. This documentation change adds a warning about this case, with a bit more detail about how initial_fetch works.

Personal opinion: This first sentence could be removed altogether, since it doesn't add to what is said just above it.

Thanks for the feedback - I removed it. I also added a parenthetical "(keyed on URL)" to the previous sentence to make it more specific about how the caching works.

Thank you — I'm going to close this, since the behaviour you describe is a bug, and not something people would ideally need to think about: #633


CI: Submission handling + submission commands

What is the expected behavior?

Creation of submission should trigger workflows to run tests, coverage and styles against submitted repository.
Workflow run tests, coverage and styles against submitted repository.
If something is incorrect CI should comment on issue about problems.
When problems will be fixed in submitted repository author should be able to comment on submission issue command /resubmit to restart CI workflow on step 2.
If everything is good CI should add repository to community members tier in json db, rerender README and create PR with changes against main branch.

Related stories:

as core team member/curator I want CI processes takes care of tests, style checks, coverage after submission so that it would reduce time of review of submission

Epic: #9

I think we can make a 2nd issue for the re-submission command, what do you think ?

Can you assign it to me pleas :)


feat: add reusable tags and externalDocs objects

Description

add reusable Tags and External Documentation objects in the Components object
add Tags and External Documentation objects in missed places - part of https://github.com/asyncapi/spec/pull/796

Spec PR https://github.com/asyncapi/spec/pull/792
Related issue(s)
Part of https://github.com/asyncapi/spec/pull/792
Part of https://github.com/asyncapi/spec/pull/796

please do not merge yet because of https://github.com/asyncapi/spec-json-schemas/pull/264#issuecomment-1273027917
/dnm

@derberg @fmvilas @char0n @dalelane @smoya Someone from you could check that? Thanks!

/rtm

/rtm

/rtm


[state] suggestion/fyi for expression support

Noticed that you added boolean operators and thought I'd shoot over an FYI, I have a lightweight library for evaluating arbitrary JS-like expressions: https://github.com/donmccurdy/expression-eval, based on jsep.
I'd been intending to use it with my own state components (example) but have been distracted by other projects, so it's there if you want it :)

Yeah thanks, I checked it out before! I didn't want to include the jsep dependency and think about parsing the AST when I just needed &&/||. Perhaps if the component starts to support more expressions, but hope I don't have to go there.

Cool! Yeah pretty lightweight (only a couple kb i think) but for just the boolean ops it's probably still overkill


last version

what is the last version of this library?

maybe 0.0.2
I searched it on Jitpack.io.

what is the last version of this library?

maybe 0.0.2
I searched it on Jitpack.io.

I think 1.2.4
implementation "de.adorsys.android:securestoragelibrary:1.2.4"

where is you find 1.2.4 ?


rules: add comment about lock taking

Caused me some confusion and I think this warrants a comment.

:+1:


(deleted title)

Question
What would you like to ask?

Oh great, someone complains that something we provide for free and develop in our spare time isn't perfect...
Regarding the actual problem: I'm going to guess that you see an error in your overlay log that complains about Newtonsoft.Json being outdated. If you do see that error, then you broke ACT yourself by installing plugins incorrectly. Use the View Loaded Assemblies button in ACT to find the old version and remove it.

https://github.com/quisquous/cactbot/blob/master/CODE_OF_CONDUCT.md#our-standards
If you have a question, please ask it without being insulting or ableist.


Issues launching HelloMaui on iOS

Issue
Description
The goal is to run the iOS sample on a physical iOS device. Unfortunately, it is not deploying on the connected device and is instead launching an iPad Pro 12.9" iOS 14.4 simulator, from which the app also fails to deploy.
Reproduction

Connect physical iPhone device to MacBook
Open terminal and run dotnet build HelloMaui -t:Run -f net6.0-ios
Build runs, launches iPad Pro 12.9" iOS 14.4 simulator, attempts to launch app and fails

Link
https://gist.github.com/rachelkang/35017258c7f04a0a64fce4f20cf08c4f
Environment/Setup:
Working from:
MacBook Pro (16-inch, 2019)
macOS Big Sur version 11.2.3
Connected physical device:
iPhone 7
iOS 14.5 developer beta

Hi @rachelkang, I think you need to change the $(RuntimeIdentifier) to ios-arm64 to run on a device. You could either change the .csproj file or use the -r switch at the command-line:
$ dotnet build HelloMaui -t:Run -f net6.0-ios -r ios-arm64

Let me know if that works, thanks.
The crash you get at startup, seems like a problem in Maui, to me:
Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
   at Microsoft.Maui.ViewExtensions.UpdateSemantics(UIView nativeView, IView view)
   at Microsoft.Maui.Handlers.ViewHandler.MapSemantics(IViewHandler handler, IView view)
   at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass21_0[[Microsoft.Maui.IView, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.IViewHandler, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IViewHandler r, IFrameworkElement v)
   at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IViewHandler viewHandler, IFrameworkElement virtualView)
   at Microsoft.Maui.PropertyMapper.UpdateProperties(IViewHandler viewHandler, IFrameworkElement virtualView)
   at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.LayoutView, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
   at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
   at Microsoft.Maui.HandlerExtensions.ToNative(IView view, IMauiContext context)
   at Microsoft.Maui.MauiUIApplicationDelegate`1[[HelloMaui.Startup, HelloMaui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].FinishedLaunching(UIApplication application, NSDictionary launchOptions)
--- End of stack trace from previous location ---
   at UIKit.UIApplication.Main(String[] args, IntPtr principal, IntPtr delegate)
   at UIKit.UIApplication.Main(String[] args, String principalClassName, String delegateClassName)
   at HelloMaui.Program.Main(String[] args) in /Users/rachelkang/net6-mobile-samples/HelloMaui/iOS/Program.cs:line 12
2021-04-09 09:34:47.389328-0400 HelloMaui[25843:192553] Unhandled managed exception: Object reference not set to an instance of an object (System.NullReferenceException)
   at Microsoft.Maui.ViewExtensions.UpdateSemantics(UIView nativeView, IView view)
   at Microsoft.Maui.Handlers.ViewHandler.MapSemantics(IViewHandler handler, IView view)
   at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass21_0[[Microsoft.Maui.IView, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.IViewHandler, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IViewHandler r, IFrameworkElement v)
   at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IViewHandler viewHandler, IFrameworkElement virtualView)
   at Microsoft.Maui.PropertyMapper.UpdateProperties(IViewHandler viewHandler, IFrameworkElement virtualView)
   at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.LayoutView, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
   at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
   at Microsoft.Maui.HandlerExtensions.ToNative(IView view, IMauiContext context)
   at Microsoft.Maui.MauiUIApplicationDelegate`1[[HelloMaui.Startup, HelloMaui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].FinishedLaunching(UIApplication application, NSDictionary launchOptions)
--- End of stack trace from previous location ---
   at UIKit.UIApplication.Main(String[] args, IntPtr principal, IntPtr delegate)
   at UIKit.UIApplication.Main(String[] args, String principalClassName, String delegateClassName)
   at HelloMaui.Program.Main(String[] args) in /Users/rachelkang/net6-mobile-samples/HelloMaui/iOS/Program.cs:line 12

@jonathanpeppers thanks for the suggestion! I tried both ways, and am now seeing this build error:
Build FAILED.

3   +[DVTExtendedPlatformInfo extendedPlatformInfoForPlatformIdentifier : error : ] (in DVTFoundation) [/Users/rachelkang/net6-mobile-samples/HelloMaui/HelloMaui.csproj]
/usr/local/share/dotnet/sdk/6.0.100-preview.3.21202.5/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(876,5): error MSB3073: The command "/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/14.4.100-preview.3.1326/tools/bin/mlaunch --launchdev bin/Debug/net6.0-ios/ios-arm64/HelloMaui.app/ --stdout /dev/ttys000 --stderr /dev/ttys000 --wait-for-exit" exited with code 134. [/Users/rachelkang/net6-mobile-samples/HelloMaui/HelloMaui.csproj]
    0 Warning(s)
    2 Error(s)

here's the full gist: https://gist.github.com/rachelkang/9aad005729e49e600e1ebffc60abea2a
and thanks for nothing the MAUI issue - I think we've since fixed that exception, but will definitely continue to keep an eye out for it

Do you have an Xcode 12.4? I don't think 12.5 works yet.
I normally install them side-by-side and use sudo xcode-select -s /Applications/Xcode12.4.app/ to switch between versions.


feat(junit-playwright)

Resolves #1369
@yury-s here is an initial implementation of Playwright and Browser fixtures.  This implementation works for both concurrent and same_thread modes.  I will add BrowserContext and Page implementations after your feedback.
Notes:

I added comments where needed to explain things but will be removed when reviewed.
I made changes to the Browser API to do some testing.  While I think these would be good to have, they will be removed once reviewed.
The tests can probably be removed if we decide to use this in the actual playwright-java tests but for now  i needed to see if everything is working so i added these tests

@yury-s removed all method-level parallelization code and made the other updates you suggested.  If you like this approach, I can continue with BrowserContext and Page fixtures.

@yury-s this is ready for another review.  All playwright fixtures have been added.  I also started updating the tests to use the fixtures.  Please let me know if updating the tests in the manner that I did it is okay, and if so, i can continue updating the rest of them.
The idea behind the tests is to use the TestBase only for the server parts of the tests.  all other playwright-related things should be handled by the fixtures.  See my comments in the test classes themselves

@yury-s left some more comments, for some reason my comments before were showing up as pending and i had to submit the review.

@yury-s left some more comments, for some reason my comments before were showing up as pending and i had to submit the review.

Yeah, that's sometimes annoying that they are not published immediately.

@yury-s addressed all previous suggestions.  ready for another review.

@yury-s made the latest changes:

BrowserContextFactory is now cleaned up in AfterAllCallback instead of AfterEachCallback
invalid BROWSER value will now throw.

@yury-s can I get another approval. Had to fix a test.

TestFixturesWithDefaultFactories.beforeAll:20 expected: <null> but was: <chromium> for some reason is failing in Docker, the other failures on the bots look unrelated.

Could be in docker we aren't setting BROWSER. I can update the test to account for that.

Could be in docker we aren't setting BROWSER. I can update the test to account for that.

We don't.

@yury-s, fixed.


Think about an update delivery strategy

We need to still implement an automated update download and installation. If possible this should be thought about before the initial full release of the API to make hosting it yourself easier.

This will be handled over application pipes and scripts over the website. This is not an easy issue to fix. I will handle this, suggestions are welcome. The current idea is to use broadcast IP addresses to send a message out to all API clients in our network. They will respond to the broadcaster with an OK and their current location and version. This will allow the broadcaster to detect which API hosts need to be updated and they can then be told to do an update via a direct message via the application pipe. We then try to periodically contact the host again on the pipe until we can re-establish a connection. The Broadcast is also periodically sent to detect new API hosts in the Network. This should either be handled by a separate client or our website clients. I would prefer a separate client that just handles this and sends data back to the website which clients exist and needs updating.
The updates would/should probably lay on some kind of update FTP server where we just need to push the updates to once, the update software can check file versions / dates and then do an update depending on that.

Another option than using an FTP would be using Github releases. We would have to separate API and Website updates in this case. This could be done automatically as well and would save us from having to have an FTP space.


"ensure access"

Do we treat targets with this formulation the same?
List your targets below.
Target 7.1

Target 2.1 - has action terms
Target 2.3 ("including through equal access to land") - currently no action terms
Target 3.7, 3.8 - has action terms
Target 14.b ("provide access... to resources and markets") - currently no action terms, i.e. research about conflicts that arise because of access to fishing waters would be included

SDG1 has action terms, defined similar to the way it is done in SDG 3: action= ensure/improve ect NEAR access. In e.g. SDG2 this is done differently

1.4 By 2030, ensure that all men and women, in particular the poor and the vulnerable, have equal rights to economic resources, as well as access to basic services, ownership and control over land and other forms of property, inheritance, natural resources, appropriate new technology and financial services, including microfinance

Has ensure + access/rights
Currently, the string combines access with action terms

2.1 By 2030, end hunger and ensure access by all people, in particular the poor and people in vulnerable situations, including infants, to safe, nutritious and sufficient food all year round.

Contains "ensure access"
Currently, the string combines access with action terms

2.3 By 2030, double the agricultural productivity and incomes of small-scale food producers, in particular women, indigenous peoples, family farmers, pastoralists and fishers, including through secure and equal access to land, other productive resources and inputs, knowledge, financial services, markets and opportunities for value addition and non-farm employment.

This is not "ensure access", but has equal access to land as a mechanism to double productivity/incomes. See issue #9
Currently, the string combines access with action terms

2.5 By 2020, maintain the genetic diversity of seeds, cultivated plants and farmed and domesticated animals and their related wild species, including through soundly managed and diversified seed and plant banks at the national, regional and international levels, and promote access to and fair and equitable sharing of benefits arising from the utilization of genetic resources and associated traditional knowledge, as internationally agreed.

Contains "promote access"
Currently, the string combines access with action terms

3.7 By 2030, ensure universal access to sexual and reproductive health-care services, including for family planning, information and education, and the integration of reproductive health into national strategies and programmes

Contains "ensure access"
Currently, the string combines access with action terms

3.8 Achieve universal health coverage, including financial risk protection, access to quality essential health-care services and access to safe, effective, quality and affordable essential medicines and vaccines for all

Contains "achieve" + "access"
Currently, the string combines access with action terms
3.b has not been edited yet, but covers some of the same themes

4.1 By 2030, ensure that all girls and boys complete free, equitable and quality primary and secondary education leading to relevant and effective learning outcomes

Does not contain access specifically, but phrase 3 does NOT combine it with action terms; combined with quality, free etc. instead

4.2 By 2030, ensure that all girls and boys have access to quality early childhood development, care and pre‑primary education so that they are ready for primary education

Contains "ensure access"
Currently, the string does NOT combine access with action terms

4.5 By 2030, eliminate gender disparities in education and ensure equal access to all levels of education and vocational training for the vulnerable, including persons with disabilities, indigenous peoples and children in vulnerable situations

Contains "ensure access"
Currently, the string does combine access with action terms

7.1 By 2030, ensure universal access to affordable, reliable and modern energy services

Contains "ensure access"
Currently, the string does combine access with action terms

11.1 By 2030, ensure access for all to adequate, safe and affordable housing and basic services and upgrade slums

Contains "ensure access"
Currently, the string does NOT combine access with action terms

11.2 By 2030, provide access to safe, affordable, accessible and sustainable transport systems for all, improving road safety, notably by expanding public transport, with special attention to the needs of those in vulnerable situations, women, children, persons with disabilities and older persons

Contains "provide access"
Currently, the string does NOT combine access with action terms

11.7 By 2030, provide universal access to safe, inclusive and accessible, green and public spaces, in particular for women and children, older persons and persons with disabilities

We think that all should have action terms to be consistent. We will update the issue as we edit.

[ ] 4.1 - EHS
[ ] 4.2 - EHS
[ ] 11.1 - HMB/IG
[ ] 11.2 - HMB/IG
[ ] 14.b - CSA


@/charterafrica/cms/Hero Block

Using Blocks create CMS structure for Hero component. Replace the hard-coded hero content on homepage with the CMS data.


[Tech Debt] Webhook Test Coverage

Take the webhook package by package and start adding test coverage.
Add a test coverage tool so we know how far we have progressed

https://github.com/rancher/webhook/pull/238


Update react dependency to<EMAIL_ADDRESS>

@eduplus

Yes please !

There is now 1.1 published in npm, which should fix this.


Add 'JamfPatchUploader'

Hi @grahampugh ,
like already mentioned by me in slack I wrote another Processor to upload Patch Polices to Jamf.
Sadly it's not possible to craete the Patch Softwaretitle via the API right now. This has to be done by hand. But after that, the processor can be used like every other one:
Process:
  - Processor: com.github.grahampugh.jamf-upload.processors/JamfPatchUploader
    Arguments:
      patch_softwaretitle: "Google Chrome"
      patch_template: "Patch_Tester_SS.xml"
      patch_icon_policy_name: "%POLICY_NAME%"
      replace_patch: True

It's possible to create 'Install automatically' (aka 'prompt') policies:
<?xml version="1.0" encoding="UTF-8"?>
<patch_policy>
  <general>
    <name>%patch_name%</name>
    <enabled>false</enabled>
    <target_version>%version%</target_version>
    <distribution_method>prompt</distribution_method>
    <allow_downgrade>false</allow_downgrade>
    <patch_unknown>true</patch_unknown>
  </general>
  <scope>
    <all_computers>true</all_computers>
    <computers/>
    <computer_groups/>
    <users/>
    <buildings/>
    <departments/>
    <limitations>
      <network_segments/>
      <ibeacons/>
    </limitations>
    <exclusions>
      <computers/>
      <computer_groups/>
      <users/>
      <buildings/>
      <departments/>
      <network_segments/>
      <ibeacons/>
    </exclusions>
  </scope>
  <user_interaction>
    <grace_period>
      <grace_period_duration>240</grace_period_duration>
      <notification_center_subject>Update</notification_center_subject>
      <message>$APP_NAMES wird in $DELAY_MINUTES Minuten beendet, um $SOFTWARE_TITLE zu aktualisiert. Speichere alle Dokumente und beende die genannten Programme!</message>
    </grace_period>
  </user_interaction>
  <software_title_configuration_id>%patch_softwaretitle_id%</software_title_configuration_id>
</patch_policy>

and 'Self Service' Patch Policies including an icon:
<?xml version="1.0" encoding="UTF-8"?>
<patch_policy>
  <general>
    <name>%patch_name%</name>
    <enabled>false</enabled>
    <target_version>%version%</target_version>
    <distribution_method>selfservice</distribution_method>
    <allow_downgrade>false</allow_downgrade>
    <patch_unknown>true</patch_unknown>
  </general>
  <scope>
    <all_computers>true</all_computers>
    <computers/>
    <computer_groups/>
    <users/>
    <buildings/>
    <departments/>
    <limitations>
      <network_segments/>
      <ibeacons/>
    </limitations>
    <exclusions>
      <computers/>
      <computer_groups/>
      <users/>
      <buildings/>
      <departments/>
      <network_segments/>
      <ibeacons/>
    </exclusions>
  </scope>
  <user_interaction>
      <install_button_text>Update</install_button_text>
      <self_service_description/>
      <self_service_icon>
        <id>%patch_icon_id%</id>
      </self_service_icon>
      <notifications>
        <notification_enabled>true</notification_enabled>
        <notification_type>Self Service and Notification Center</notification_type>
        <notification_subject>Google Chrome update available</notification_subject>
        <notification_message/>
        <reminders>
          <notification_reminders_enabled>true</notification_reminders_enabled>
          <notification_reminder_frequency>1</notification_reminder_frequency>
        </reminders>
      </notifications>
      <deadlines>
        <deadline_enabled>false</deadline_enabled>
        <deadline_period>7</deadline_period>
      </deadlines>
  </user_interaction>
  <software_title_configuration_id>%patch_softwaretitle_id%</software_title_configuration_id>
</patch_policy>

Note that the variables patch_softwaretitle_id and patch_icon_id need to be used in the templates.
As an fitting icon workflow I decided for the following:

If patch_icon_policy_name no icon gets extracted, but the processor continues. If no patch_icon_id is mentioned in the template, simply a patch without any icon get's created.
If a user want's to use a custom icon, he can simply name a existing policy, from which the icon get's extracted.
If the user want's to use the icon of the policy which got uploaded beforehand in the same recipe (I guess this is probably the main usecase anyway), he can simply use the policy name variable e.g. patch_icon_policy_name: "%POLICY_NAME%".

I needed to append some entries to the JamfUploaderBase (api_endpoints, ...) and also included a small if-clause if a user is not authorized to use the api (which probably happens if the user first runs this processor ;)).
Hope everything is fine!
Cheers

Awesome! Merging it into Jamf-upload and taking a good look now!

Hi @grahampugh ,
yea, manually assigning the package should be not be necessary. That's one of the tasks which the Processor should handle :)
Was the package already uploaded to Jamf beforehand? If yes, can you send me the full log output?


Upgrade to github.com/IBM/go-sdk-core/v5.

PR summary

github.com/IBM/go-sdk-core/v4 v4.10.0 depends on github.com/dgrijalva/jwt-go-v3.2.0
which contains vulnerability https://nvd.nist.gov/vuln/detail/CVE-2020-26160.

Addresses https://github.com/IBM/sql-query-go-sdk/issues/25. However the main issue is to eliminate the vulnerability.

PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[x] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
After upgrading to github.com/IBM/go-sdk-core/v5 the tests were executed. Assuming the test suite is comprehensive then no breakages are anticipated since all tests passed.

Closing to repon from another branch.


fix typo on sheet view showGridLines option

According to the documentation the showGridLines var in worksheet views options is misspelled. It should be "showGridLines", not "showGridlines".
I changed all the files, and now it is working.

@gadiaz1 Just today I needed to use showGridLines and ran into the same problem you fixed here. Thanks for putting this together!


Add parent (area) to About page of Teams and other About pages where it is missing

Description
It would be very helpful if the parent (Area) of all types of groups is shown on the about page. If the parent is blank then it should show as 'None'.  The types I think this is missing for are:

Teams
IAB Administrative Support Groups
Research Area Groups

Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

None might be a bad choice as it is what Python prints for a null object.  Maybe N/A or something?

This is tricky because we want something that indicates the data-model concept and yet is also useful to describe the organisational relationship.  The main issue I see is not to incorrectly state the organisational relationship and if that means erring on the side of a data-model description then that would I would find that acceptable.  In that context Organized by doesn't work for me there.  Some suggestions are:

Listed under:
Attached to:
Parent group:

I also prefer N/A to None.


Moved to defich/oss-governance

What kind of PR is this?:

/kind chore

Codecov Report

Merging #40 (9e8d26f) into main (274914c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #40   +/-   ##
=======================================
  Coverage   98.32%   98.32%
=======================================
  Files          14       14
  Lines         417      417
  Branches      113      113
=======================================
  Hits          410      410
  Misses          3        3
  Partials        4        4

Impacted Files
Coverage Δ

src/github.ts
97.29% <ø> (ø)

Continue to review full report at Codecov.

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


Generalise references to SPOT and improve documentation

What

0037ea8 - add example .env file as example.env.txt to help users configure their client
04891cf - remove references to SPOT which is internal and make more general
311e617 - improve private key example to make it more explicit
ba763a7 - improve README.md

clarify it uses the prototype kit
make it clear up front this uses node.js
explain the use of of dotenv module to read config
provide example configuration in example.env.txt
provide example base url
not obviously, obviously 😬

How to review

clone locally
ensure README.md still makes sense
npm install && npm run dev
make sure it still works after renaming the variables

Finally got round to testing this.  All works well.  Thanks, Paul.


Fix for wrongly formatted link being returned when generating invite for bot.

The link returned by client#generateInvite is wrongly containing a joined array of permission numbers.
Looking like this:
https://discordapp.com/oauth2/authorize?client_id=<ID>&permissions=2048,32,131072&scope=bot

Don't know if reduce is the best solution here, was the first thing that came to my mind.
Tested with various combinations and an empty array, everything working fine.
Result is looking like this
https://discordapp.com/oauth2/authorize?client_id=<ID>&permissions=133152&scope=bot

Fixed properly in 79278bccb4296b4d9c7e8f6cfd67b0c9f613ae26.


Download link fails with permissions issue

Trying to download the precompiled binary at https://github.com/downloads/linkedin/linkedin-zookeeper/org.linkedin.zookeeper-cli-1.2.1.tgz I get a permissions error!

I submitted a support request to github. I am waiting a little more and if it does not get fixed I will try to upload again

thanks


ME-55-move-script-cli

Support to run move script with MSafe.

Can the script hash be printed so that user can confirm on the script content?

Added code:

Add the move script code hash, and make it printable when showing transaction details
Refactor scripts ts files to remove duplicate code.
Add example typescript code for demo. Updated README.


how can i closed window not quit Browser not closed webdriver

selenium have driver.close  and driver.quit
selenide.close=diver.quit
if i have many  windows ,need webdriverrunner.getwebdriver.close.
even need Selenide.switchTo().window()  to  keep  do not quit webdriver.
can selenide.closeWindow(1);
selenide.closeOtherWindows;
like this  cooooool function

@zhupengfarmer Currently you can call getWebdriver().close() - which is not too long. Good enough for me.
Well, in pure Selenium, you also need to first switch to the window and only then call webdriver.close(). Selenide doesn't make it any worse.
P.S. Yes, it was a bad idea to use "selenide.close=diver.quit". But it was a long time ago, we were young and didn't read documentation. Now it's quite impossible to change it. :)

it's cool


Metalic materials don't reflect the skybox

Here's a section from the Quest2 where I have a panorama sky set from an image with metalic=0.96 roughness=0 (running mobile renderer).

This is the same exact code running as deployed on my Android phone

So it must be a mobile-VR problem, not a mobile Android problem
(Same problem of no skybox reflection on the Pico4 as well.)

This is (was?) an issue in Godot itself, I think it has been fixed.

If this is still an issue, it's a Godot issue, and should be opened there (if there isn't already an issue tracking it).


feat: ability to remove and reupload a video

I agree with keeping the record of the original in case it's needed


Flutter_view installs audioplayers playback resource audio error

Steps to Reproduce

dependencies:
  flutter:
    sdk: flutter

  audioplayers: ^0.7.8

flutter:
  uses-material-design: true
  assets:
    - assets/flutter-mark-square-64.png
    - assets/gongjiaoka.mp3

import 'package:audioplayers/audio_cache.dart';
AudioCache audioCache = new AudioCache();

 @override
  void initState() {
    audioCache.play('gongjiaoka.mp3');
    super.initState();
  }

4、

Logs
E/flutter ( 9576): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 9576): MissingPluginException(No implementation found for method getTemporaryDirectory on channel plugins.flutter.io/path_provider)
E/flutter ( 9576): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:291:7)
E/flutter ( 9576): <asynchronous suspension>
E/flutter ( 9576): #1      getTemporaryDirectory (package:path_provider/path_provider.dart:24:38)
E/flutter ( 9576): <asynchronous suspension>
E/flutter ( 9576): #2      AudioCache.fetchToMemory (package:audioplayers/audio_cache.dart:54:37)
E/flutter ( 9576): <asynchronous suspension>
E/flutter ( 9576): #3      AudioCache.load (package:audioplayers/audio_cache.dart:72:37)
E/flutter ( 9576): <asynchronous suspension>
E/flutter ( 9576): #4      AudioCache.play (package:audioplayers/audio_cache.dart:87:23)
E/flutter ( 9576): <asynchronous suspension>
E/flutter ( 9576): #5      _MyHomePageState.initState (package:flutter_view/main.dart:47:16)
E/flutter ( 9576): #6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3830:58)
E/flutter ( 9576): #7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3696:5)
E/flutter ( 9576): #8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
E/flutter ( 9576): #9      Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
E/flutter ( 9576): #10     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4860:14)
E/flutter ( 9576): #11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
E/flutter ( 9576): #12     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
E/flutter ( 9576): #13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3732:16)
E/flutter ( 9576): #14     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
E/flutter ( 9576): #15     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3701:5)
E/flutter ( 9576): #16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3696:5)
E/flutter ( 9576): #17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
E/flutter ( 9576): #18     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
E/flutter ( 9576): #19     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4860:14)
E/flutter ( 9576): #20     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
E/flutter ( 9576): #21     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
E/flutter ( 9576): #22     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4860:14)
E/flutter ( 9576): #23     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
E/flutter ( 9576): #24     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
E/flutter ( 9576): #25     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4860:14)
E/flutter ( 9576): #26     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
E/flutter ( 9576): #27     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
E/flutter ( 9576): #28     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4860:14)
E/flutter ( 9576): #29     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
E/flutter ( 9576): #30     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
E/flutter ( 9576): #31     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3732:16)
E/flutter ( 9576): #32     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
E/flutter ( 9576): #33     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3701:5)
E/flutter ( 9576): #34     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3848:11)
E/flutter ( 9576): #35     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3696:5)
E/flutter ( 9576): #36     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
E/flutter ( 9576): #37     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
E/flutter ( 9576): #38     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3732:16)
E/flutter ( 9576): #39     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
E/flutter ( 9576): #40     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3701:5)
E/flutter ( 9576): #41     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3696:5)
E/flutter ( 9576): #42     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
E/flutter ( 9576): #43     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
E/flutter ( 9576): #44     Com

bcmac001siMac:flutter_view bc-mac-001$ flutter doctor -v
[✓] Flutter (Channel beta, v1.0.0, on Mac OS X 10.13.6 17G65, locale zh-Hans-CN)
    • Flutter version 1.0.0 at /Users/bc-mac-001/Dev/flutter
    • Framework revision 5391447fae (4 weeks ago), 2018-11-29 19:41:26 -0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[!] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at /Users/bc-mac-001/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/bc-mac-001/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[!] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    ✗ Verify that all connected devices have been paired with this computer in Xcode.
      If all devices have been paired, libimobiledevice and ideviceinstaller may require updating.
      To update with Brew, run:
        brew update
        brew uninstall --ignore-dependencies libimobiledevice
        brew uninstall --ignore-dependencies usbmuxd
        brew install --HEAD usbmuxd
        brew unlink usbmuxd
        brew link usbmuxd
        brew install --HEAD libimobiledevice
        brew install ideviceinstaller
    • ios-deploy 1.9.2
    ✗ ios-deploy out of date (1.9.4 is required). To upgrade with Brew:
        brew upgrade ios-deploy
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 27.1.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] Connected device (1 available)
    • ZUK Z1 • cb8cb8dd • android-arm • Android 8.1.0 (API 27)

! Doctor found issues in 2 categories.

You could check if one of the suggestions in

https://github.com/flutter/flutter/issues/24171#issuecomment-439667926
https://github.com/flutter/flutter/issues/24561#issuecomment-440205984
https://github.com/flutter/flutter/issues/21674#issuecomment-425865894
https://github.com/flutter/flutter/issues/17545#issuecomment-395763875
https://github.com/flutter/flutter/issues/15085#issuecomment-370169678
works for you as well

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.

hot reloads not doing so well when adding/changing audio files to player.
quit out/stop running flutter process/debug and restart again.
worked for me.
Thanks


Scrape whitelisted namespaces to allow more restricted RBAC

Acceptance Criteria:
Acceptance Criteria is a set of test scenarios specific to this particular issue. It should capture functional and non-functional requirements.

[ ] it is possible to run preflight with permissions to scrape a single namespace without knowing the other namespaces in the cluster to exclude

Assumptions:

Some users will not be able to have cluster-viewer to run preflight.

Sub-tasks:

[ ] extend the generic datagatherer here https://github.com/jetstack/preflight/blob/764397f8ba1aad718eb9d3a05893ae213c7680ee/pkg/datagatherer/k8s/generic.go

:point_up:  was merged.


Version Fail for 0.5.8

Error -
Because every version of flutter_test from sdk depends on http 0.12.0 and flutter_cache_manager ^0.1.0-rc.1 depends on http ^0.11.3+14, flutter_test from sdk is incompatible with flutter_cache_manager ^0.1.0-rc.1. And because flutter_html_view >=0.5.8 depends on cached_network_image ^0.4.2 which depends on flutter_cache_manager ^0.1.2, flutter_test from sdk is incompatible with flutter_html_view >=0.5.8. So, because xx_project depends on both flutter_html_view ^0.5.8 and flutter_test any from sdk, version solving failed.
Flutter version -
Flutter 0.10.1-pre.44 • channel master • https://github.com/flutter/flutter.git Framework • revision bf92d7f286 (3 days ago) • 2018-10-15 13:46:25 -0700 Engine • revision 50c2e69daf Tools • Dart 2.1.0-dev.7.0.flutter-b99bcfd309

Have exactly the same issue also.

me2

Any progress on this issue?

same issue...

Same issue

see my PR: https://github.com/PonnamKarthik/FlutterHtmlView/pull/56 for work around

Merged  PR: #56

#56 just throws more compatibility issues for me.


Alt+LeftMouse

I would love to be able to select in 2 dimensions using Alt+LeftMouse.
As I can do in VS or notepad++
🕶

You can use Alt+Shift+LeftMouse to do that

Awesome thanks!!


add composer tag

composer tag
author name
other improvements

here we are. I have removed the author tag


Basic Authentication Guide

@samcrichard , here is the basic Authentication guide you asked me.

SafeArrow 816

SafeArrow 816 change.

Merging

Basic looks awesome. Can you add it to the boxes under secure?

Basic looks awesome. Can you add it to the boxes under secure?

Done.


Gradle can not finish syncing

DBFlow Version: 4.2.4
Bug or Feature Request: Gradle can not finish syncing
Description:
Below is my gradle config
apply plugin: 'kotlin-kapt'
def dbflow_version = "4.2.4"
def sqlcipher_version = "3.5.7"
dependencies {
kapt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
implementation "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"
implementation "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}"
// sql-cipher database encryption (optional)
implementation "com.github.Raizlabs.DBFlow:dbflow-sqlcipher:${dbflow_version}"
implementation "net.zetetic:android-database-sqlcipher:${sqlcipher_version}@aar"
// kotlin extensions
implementation "com.github.Raizlabs.DBFlow:dbflow-kotlinextensions:${dbflow_version}"
}
When run on Android Studio 3.0.1 with gradle 4.1, gradle keep running as the below image and can not finish syncing
https://www.dropbox.com/s/673wp9n8ga4ikce/Screenshot 2018-01-09 00.07.25.png?dl=0
Can you help me to fix this issue?
Thanks

using lowercase raizlabs and dbflow should fix it. seems like a jitpack error.


Async cleanup

Considering the number of lines changed, I encourage you to look at the individual commits.

Use ConfigureAwait(false) with all await operations (automated detection and refactoring per Code Cracker CC0070).
Pass a CancellationToken to asynchronous methods when available and supported.
Rename asynchronous methods with the Async suffix (automated detection and refactoring per Code Cracker CC0061).

:+1: I see no anomalies, lets merge this.


[PLUGIN, DB] Connections pool plugin for the databases [Postgres, MySql, etc].

Design a plugin that will solve a problem with Postgres (will be first) connections for the PHP workers. At the moment PHP has to use pgBouncer or other tools to initialize a pool of the connections and then re-use them. The idea is to have a plugin that will provide a pool of connections to the PHP. PHP will send a packet to a local listener, then the plugin will take a free connection from the pool, redirect that packet to the Postgres with a reply to the caller.

Looking forward to MySQL and Redis connection pool

Redis is already there if you use it as KV storage.

Would it be possible to implement non-blocking solution? Send multiple queries and wait for response afterwards. Or this is more like proxy?

Would it be possible to implement non-blocking solution? Send multiple queries and wait for response afterwards. Or this is more like proxy?

Yep, this is a very famous optimization technique. As you can see here: https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=query (point your attention to the lithium and drogon) first places occupied frameworks with batch queries.
I'm not sure about the time, how long it costs us to develop such a plugin, but the idea is to support much more features, than just a simple proxy :)
Also, the design stage for this plugin will be closer to the end of the year.


can't get response header  in afterware

server response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: http://localhost:8080
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjU4NmY1ZDc4YzVhOWJmNmQ5ZTIwY2MwMiIsInJvbGUiOiJ0ZWFjaGVyIiwiaWF0IjoxNDg0MDQxMTkyLCJleHAiOjE0ODQwNDQ3OTJ9.nyZ3Nx2wpPmb33_lPX58Q4lVG_hZM_JJCvIhFBxtaZQ
Content-Type: application/json
Content-Length: 146
Date: Tue, 10 Jan 2017 09:39:52 GMT
Connection: keep-alive

in my afterware
networkInterface.useAfter([{
  applyAfterware ({ response }, next) {
    for (const key of response.headers.entries()) {
      console.log('->', key)
    }
    next()
  }
}])

only print
-> ["content-type", "application/json"]

Why can't got 'Authorization' ?

Make sure you expose your headers on the server side via Access-Control-Expose-Headers

yes, you right , thanks


Changed documentation for column names

Codecov Report

:exclamation: No coverage uploaded for pull request base (column-naming@b8c2950). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             column-naming    #6057   +/-   ##
================================================
  Coverage                 ?   83.08%
  Complexity               ?    12428
================================================
  Files                    ?     1436
  Lines                    ?    47062
  Branches                 ?     5795
================================================
  Hits                     ?    39100
  Misses                   ?     5266
  Partials                 ?     2696

Continue to review full report at Codecov.

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


Searching for bugs, nothing to see here... hcltgu

Searching for bugs, nothing to see here... hcltgu

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


Refactor models in if-unofficial-models repository

Story
As a developer I want to see consistent application of our coding best-practises across the IF repositories so that I know I'm using clean, efficient, readable code.
Rationale
We have recently defined a set of best practices and refactored our IF and if-model repositories, now we are applying the same standards to our if-unofficial-models repository to give complete coverage.
Implementation details
Refactor the following models:

azure-importer (investigate splitting the parent class)
boavizta
CCF
co2js
teads-aws
teads-curve
watttime

Priority
3/5
Scope
Requires changes to all models in if-unofficial-models, possibly also changes to docs and unit tests
Size
10 days
What does "done" look like?
Al models refactored according to best practises, unit tetss with 100% coverage all passing, README docs up to date
Does this require updates to documentation or other materials??
yes, possible updates to README docs
What testing is required?
All unit tests passing, 100% coverage
Is this a known/expected update?
expected since sprint 3, part of sprint 5 planning

1-2 days remaining

At end of sprint 6, Teads curve refactored, rest outstanding


Fixed undefined reference issue #19

The reason for the undefined reference isn't immediately clear to me. I replaced order_sum with get_order_sum<fvar>::value in two places (once in autodiff.hpp, the other in autodiff_cpp11), which fixed the issue (on the surface, at least).
AppVeyor compiles completely; Travis is having issues with both test_autodiff3.cpp and test_autodiff6.cpp, but I'm not able to reproduce the error (exit code 70) locally, and adding a -v flag to .travis.yml yielded nothing useful.

Codecov Report

Merging #21 into dev-atan2 will increase coverage by 0.32%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##           dev-atan2      #21      +/-   ##
=============================================
+ Coverage       65.2%   65.52%   +0.32%
=============================================
  Files              8        9       +1
  Lines           2512     2518       +6
=============================================
+ Hits            1638     1650      +12
+ Misses           874      868       -6

Impacted Files
Coverage Δ

...lude/boost/math/differentiation/autodiff_cpp11.hpp
100% <ø> (ø)

include/boost/math/differentiation/autodiff.hpp
100% <ø> (ø)
:arrow_up:

test/test_autodiff5.cpp
49.42% <0%> (+0.68%)
:arrow_up:

Continue to review full report at Codecov.

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


win10 cpu build error

System information

OS Platform and Distribution (e.g., Linux Ubuntu 20.04): windows 10
Target Platform: windows 10
Mobile Device (if the target is Android or iOS): none
MediaPipeUnityPlugin version or commit id: 0.6.2
Bazel version: 4.0.0
GCC/G++ version: Visual C++ Build Tools 2019
Android NDK version (if the target platform is Android): none
Xcode version (if the target platform is iOS): none

Describe the current behavior
Executing build command:
python build.py build --desktop cpu --include_opencv_libs -v
Failed with an error occurred during the fetch of repository 'local_execution_config_python'
Describe the expected behavior
It should finished build package successfully
Steps to reproduce the issue
Describe the exact steps to reproduce the issue.
Do as tutorial instructions to compile plugin in system mentioned above step by step.
If you have changed or written code, please provide minimum code.
None!
Full logs
Please attach Editor.log (if it occurs on Unity Editor) or Player.log (if it occurs at runtime).
See https://docs.unity3d.com/Manual/LogFiles.html
python build.py build --desktop cpu --include_opencv_libs -v
INFO (build.py): Building protobuf sources...
DEBUG (build.py): Running bazel --output_user_root C:/_bzl build -c opt --action_env PYTHON_BIN_PATH=C://Users//Administrator//AppData//Local//Programs//Python//Python39//python.exe //mediapipe_api:mediapipe_proto_srcs
WARNING: Download from http://mirror.tensorflow.org/github.com/bazelbuild/rules_closure/archive/cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
WARNING: Download from http://mirror.tensorflow.org/github.com/tensorflow/runtime/archive/44c890cd46fd9aad2b3bf4b13c5f36d8cff795c3.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_google_absl' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_google_protobuf' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_google_googletest' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'rules_python' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'bazel_skylib' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'pybind11' because it already exists.
DEBUG: C:/_bzl/mn7i5no2/external/tf_runtime/third_party/cuda/dependencies.bzl:51:10: The following command will download NVIDIA proprietary software. By using the software you agree to comply with the terms of the license agreement that accompanies the software. If you do not agree to the terms of the license agreement, do not use the software.
INFO: Repository local_execution_config_python instantiated at:
D:/joelaaset/mediapipeunityplugin-master/WORKSPACE:450:14: in
C:/_bzl/mn7i5no2/external/org_tensorflow/tensorflow/workspace2.bzl:1087:19: in workspace
C:/_bzl/mn7i5no2/external/org_tensorflow/tensorflow/workspace2.bzl:85:27: in _tf_toolchains
C:/_bzl/mn7i5no2/external/tf_toolchains/toolchains/remote_config/configs.bzl:6:28: in initialize_rbe_configs
C:/_bzl/mn7i5no2/external/tf_toolchains/toolchains/remote_config/rbe_config.bzl:158:27: in _tensorflow_local_config
Repository rule local_python_configure defined at:
C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/py/python_configure.bzl:275:41: in
ERROR: An error occurred during the fetch of repository 'local_execution_config_python':
Traceback (most recent call last):
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/py/python_configure.bzl", line 209, column 22, in _create_local_python_repository
_check_python_bin(repository_ctx, python_bin)
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/py/python_configure.bzl", line 143, column 52, in _check_python_bin
result = raw_exec(repository_ctx, [get_bash_bin(repository_ctx), "-c", cmd])
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/remote_config/common.bzl", line 88, column 26, in get_bash_bin
bash_bin_path = which(repository_ctx, "bash")
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/remote_config/common.bzl", line 27, column 22, in which
out = execute(
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/remote_config/common.bzl", line 230, column 13, in execute
fail(
Error in fail: Repository command failed
信息: 用提供的模式无法找到文件。
ERROR: Error fetching repository: Traceback (most recent call last):
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/py/python_configure.bzl", line 209, column 22, in _create_local_python_repository
_check_python_bin(repository_ctx, python_bin)
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/py/python_configure.bzl", line 143, column 52, in _check_python_bin
result = raw_exec(repository_ctx, [get_bash_bin(repository_ctx), "-c", cmd])
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/remote_config/common.bzl", line 88, column 26, in get_bash_bin
bash_bin_path = which(repository_ctx, "bash")
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/remote_config/common.bzl", line 27, column 22, in which
out = execute(
File "C:/_bzl/mn7i5no2/external/org_tensorflow/third_party/remote_config/common.bzl", line 230, column 13, in execute
fail(
Error in fail: Repository command failed
信息: 用提供的模式无法找到文件。
INFO: Repository com_google_protobuf instantiated at:
D:/joelaaset/mediapipeunityplugin-master/WORKSPACE:177:13: in
Repository rule http_archive defined at:
C:/_bzl/mn7i5no2/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in
INFO: Repository rules_java instantiated at:
/DEFAULT.WORKSPACE.SUFFIX:229:6: in
C:/_bzl/mn7i5no2/external/bazel_tools/tools/build_defs/repo/utils.bzl:201:18: in maybe
Repository rule http_archive defined at:
C:/_bzl/mn7i5no2/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in
DEBUG: Rule 'rules_python' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1564776078 -0400"
DEBUG: Repository rules_python instantiated at:
D:/joelaaset/mediapipeunityplugin-master/WORKSPACE:35:23: in
C:/_bzl/mn7i5no2/external/rules_pkg/deps.bzl:33:10: in rules_pkg_dependencies
C:/_bzl/mn7i5no2/external/bazel_tools/tools/build_defs/repo/utils.bzl:201:18: in maybe
Repository rule git_repository defined at:
C:/_bzl/mn7i5no2/external/bazel_tools/tools/build_defs/repo/git.bzl:199:33: in
ERROR: Analysis of target '//mediapipe_api:mediapipe_proto_srcs' failed; build aborted: Repository command failed
信息: 用提供的模式无法找到文件。
INFO: Elapsed time: 1.124s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded, 0 targets configured)
currently loading: @com_google_mediapipe//mediapipe/framework ... (7 packages)
Traceback (most recent call last):
File "D:\JoelAaset\MediaPipeUnityPlugin-master\build.py", line 392, in
Argument().command().run()
File "D:\JoelAaset\MediaPipeUnityPlugin-master\build.py", line 109, in run
self._run_command(self._build_proto_srcs_commands())
File "D:\JoelAaset\MediaPipeUnityPlugin-master\build.py", line 51, in _run_command
return subprocess.run(command_list, check=True)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['bazel', '--output_user_root', 'C:/_bzl', 'build', '-c', 'opt', '--action_env', 'PYTHON_BIN_PATH=C://Users//Administrator//AppData//Local//Programs//Python//Python39//python.exe', '//mediapipe_api:mediapipe_proto_srcs']' returned non-zero exit status 1.
Additional context
Add any other context about the problem here.

Have you tried using Docker?


[Fix] (load tablet) fix restart slowly due to  load deleted tablet error (#20552)

Proposed changes
Issue Number: close #20552

Error TABLE_ALREADY_DELETED_ERROR do not print stack trace.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Golfing ERC721A

Hey,
I tried bringing the costs down for ERC721A. Here's a gas report with a small readme:
https://github.com/0xPhaze/ERC721A-Improved

Internally, tokenData is passed as storage instead of memory.
Keeps track of whether the next token data has already been set before, so that we don't have to check it (1 cold sload) on every transfer for all eternity.
Saves (warm) sload on variables such as collectionSize and maxPerWallet.

Function
Gas

mint 1

test_mint1_ERC721A()
59713

test_mint1_ERC721AX()
59333

mint 5

test_mint5_ERC721A()
67486

test_mint5_ERC721AX()
67131

transfer 1

test_transferFrom1_ERC721A()
73837

test_transferFrom1_ERC721AX()
49435

transfer 5

test_transferFrom5_ERC721A()
154195

test_transferFrom5_ERC721AX()
127657

Wanted to ask first, if ERC721A is interested having some of these optimizations implemented.

Make a PR.
You may need to make new tests under GasUsage.test.js

If you really want to go for it, you can even make it such that the data are all stored as uint256 internally, and only converted into structs in public / external functions.
The next version will be a major release, so we can afford some breaking changes.

I'm waiting for review on #272. Once approved, let's continue from there.

@0xPhaze I've added in #272. Will credit you in the next release. Big thanks!

Awesome, thanks!
Although, I think that doesn't include the 'nextTokenDataSet' boolean which is a big part of the optimization. Instead of checking whether the next packed ownership has been set already by loading its storage, this would keep track of whether it has already previously been set and save that sload for all future transfers.


Make ALLOW_UPLOADS a setting dependent on user preference and platform

This solves the issue of people pushing to Heroku without remote storages yet.

Coverage decreased (-0.1%) to 99.1% when pulling f8d028563ae4278977060a3c7d27098159d6a3a9 on overshard:master into 092d72490649124c0276a802227ac94f93108dd7 on cdubz:master.

Coverage decreased (-0.1%) to 99.1% when pulling f8d028563ae4278977060a3c7d27098159d6a3a9 on overshard:master into 092d72490649124c0276a802227ac94f93108dd7 on cdubz:master.


no dilation_rate in SeparableConv2D

The documentation of Conv2DTranspose describes the parameter dilation_rate. However the class actually does not take such a parameter.
Additionally the documentation of SeparableConv2D also talks about dilation_rate, but this class also does not support dilation.

Additionally I just noticed the documentation of SeparableConv2D talks about dilation_rate, however the class does not support dilation at all.
(Since I don't want to spam the repo with these small issues, I report it here.)

dilation_rate is a parameter to the parent class Conv2D. The dilation_rate will be inside the kwargs.
https://github.com/fchollet/keras/blob/7af02c324004e6a743120c244101f44ce661dcdf/keras/layers/convolutional.py#L430
Please close.

You are absolutely right of course. I totally missed kwargs. Sorry, and thanks for the explanation.

Sorry again, but I have to re-open this issue.
The SeparableConv2D layer does not support dilation_rate despite forwarding kwargs as far as I can tell.
The actual call to the backend function separable_conv2d does not use the possibly provided dilation_rate.
One can verify this with the following code snippet:
from keras.models import Model
from keras.layers import Input, SeparableConv2D
from keras import backend as K

assert K.backend() == "tensorflow"
assert K.floatx() == "float32"
assert K.image_data_format() == 'channels_last'

kernel_size = (2, 1)
strides = (1, 1)
padding = 'valid'
input_shape = (6, 1, 1)
inp = Input(shape=input_shape)
sep_1_1 = SeparableConv2D(1, kernel_size, strides=strides,
                          padding=padding, dilation_rate=(1, 1))
sep_2_1 = SeparableConv2D(1, kernel_size, strides=strides,
                          padding=padding, dilation_rate=(2, 1))
print('layer input shape     ', input_shape)
print('layer sep_1_1 shape', sep_1_1(inp).shape)
print('layer sep_2_1 shape', sep_2_1(inp).shape)

k_inp = K.constant([[[[0]],[[1]],[[2]],[[3]],[[4]],[[5]]]])
k_sep_1_1_res = K.separable_conv2d(k_inp,
                                   sep_1_1.depthwise_kernel,
                                   sep_1_1.pointwise_kernel,
                                   strides=strides,
                                   padding=padding, dilation_rate=(1, 1))
k_sep_2_1_res = K.separable_conv2d(k_inp,
                                   sep_2_1.depthwise_kernel,
                                   sep_2_1.pointwise_kernel,
                                   strides=strides,
                                   padding=padding, dilation_rate=(2, 1))
print('k_inp.shape        ', k_inp.shape)
print('k_sep_1_1_res shape', k_sep_1_1_res.shape)
print('k_sep_2_1_res shape', k_sep_2_1_res.shape)

which outputs the following:
layer input shape      (6, 1, 1)
layer sep_1_1 shape (?, 5, 1, 1)
layer sep_2_1 shape (?, 5, 1, 1)
k_inp.shape         (1, 6, 1, 1)
k_sep_1_1_res shape (1, 5, 1, 1)
k_sep_2_1_res shape (1, 4, 1, 1)

The output shapes of the two SeparableConv2D layers (layer sep_1_1 shape and layer sep_2_1 shape) are the same, but they should not be. The output shapes of the backend function (k_sep_1_1_res shape and k_sep_2_1_res shape) shows this.
If SeparableConv2D would support dilation_rate, layer sep_2_1 shape would be (?, 4, 1, 1).

Will take a look, thanks for reporting this issue.

Wow, that fix was quick. Thanks a lot.
With Conv2DTranspose I am not sure. The call to the backend also does not include dilation_rate, but I can not compare its behaviour to the pure backend function conv2d_transpose since it does not even support dilation. Is there something else going on that dilates the kernels?
In the following test at least the output of a Conv2DTranspose layer with dilation_rate == (2, 1) has the same shape as with dilation_rate == (1, 1).
from keras.models import Model
from keras.layers import Input, Conv2DTranspose
from keras import backend as K
import numpy as np

assert K.backend() == "tensorflow"
assert K.floatx() == "float32"
assert K.image_data_format() == 'channels_last'

kernel_size = (2, 1)
strides = (1, 1)
padding = 'valid'
input_shape = (6, 1, 1)
inp = Input(shape=input_shape)
ct_1_1 = Conv2DTranspose(1, kernel_size, strides=strides,
                         padding=padding, dilation_rate=(1, 1))(inp)
ct_2_1 = Conv2DTranspose(1, kernel_size, strides=strides,
                         padding=padding, dilation_rate=(2, 1))(inp)
model = Model(inputs=inp, outputs=[ct_1_1, ct_2_1])
model.compile(optimizer='rmsprop', loss='mse')

data_in = np.random.random((1, *input_shape))

result = model.predict(data_in)
print('data_in.shape  ', data_in.shape)
print('result[0].shape', result[0].shape)
print('result[1].shape', result[1].shape)

output:
data_in.shape   (1, 6, 1, 1)
result[0].shape (1, 7, 1, 1)
result[1].shape (1, 7, 1, 1)

So perhaps by accident this layer type also currently does not support dilation?

https://www.tensorflow.org/api_docs/python/tf/nn/conv2d_transpose
The dilation is not supported and I don't think it would make much sense? Conv2D is already dilating the image to make it bigger.

OK, TensorFlow uses a separate function (atrous_conv2d_transpose) for this.
So in Keras Conv2DTranspose lets its base class (i.e. Conv2D) apply the dilation? It it normal that this is not visible in the output sizes in my Conv2DTranspose example above?

Since this issue is closed now by the merge of the PR and I can not re-open is, I moves the Conv2DTranspose problem to a separate issue.


Add test for a HCS dataset

We should find (or write out) a valid HCS dataset, and check it validates fine.

🙌 thanks a lot @jluethi , using that dataset works really nicely as a test!


Lotus::Action should not dump the exception if the exception is handled

Given the following action
class Show
  include Api::V2::Action

  handle_exception RecordNotFound => :handle_record_not_found

  def call(params)
    # ...
  end

  def handle_record_not_found(exception)
    halt(404, { message: exception.message }.to_json)
  end
end

An HTTP request for an invalid resource will correctly render the error message
{"message":"Domain `3999' not found"}

However, the exception is also dumped in the log
ActiveRecord::RecordNotFound: Domain `3999' not found
  ...
  ...
  ...
  /Users/weppos/.rvm/gems/ruby-2.1.5@dnsimple/gems/lotus-controller-0.3.1/lib/lotus/action/callbacks.rb:149:in `call'
  /Users/weppos/.rvm/gems/ruby-2.1.5@dnsimple/gems/lotus-controller-0.3.1/lib/lotus/action/callable.rb:73:in `block in call'
  /Users/weppos/.rvm/gems/ruby-2.1.5@dnsimple/gems/lotus-controller-0.3.1/lib/lotus/action/throwable.rb:104:in `block in _rescue'
  /Users/weppos/.rvm/gems/ruby-2.1.5@dnsimple/gems/lotus-controller-0.3.1/lib/lotus/action/throwable.rb:102:in `catch'
  /Users/weppos/.rvm/gems/ruby-2.1.5@dnsimple/gems/lotus-controller-0.3.1/lib/lotus/action/throwable.rb:102:in `_rescue'

making it hard to distinguish handled vs not-handled exceptions. That's because _rescue always dumps the error, no matter if it was handled or not.
      def _rescue
        catch :halt do
          begin
            yield
          rescue => exception
            _reference_in_rack_errors(exception)
            _handle_exception(exception)
          end
        end
      end

My proposal is to dump the exception only if not handled. Though?

@weppos Good catch. I agree :+1:


Add files, SIEPIC_LucasRantz_DoubleMZI after fixing 11 DRC errors.

Removed all metal DRC errors.

Fails due to other errors on other .gds files.


send out birthday email

Reticketed from https://github.com/gratipay/inside.gratipay.com/issues/224#issuecomment-107677532.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/19516973-send-out-birthday-email?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

I did this for the Gratipocalypse as an undocumented one-off. How did I do it, again?

I think I queued it locally, but used a production Mandrill key in local.env.

Picking up on #3510 ...