Overshoot on setpoint of position

its seems that the position setpoint work incorrectly. it has some overshoot at the end all the time.
For example:

taken from log:
https://logs.px4.io/plot_app?log=62842ca9-1d3c-4b5a-8057-8ff30ffbdb10
On my configuration those overshoots are much larger.
In general I think that the position setpoint should be 'steps' and not gradual that depend on the velocity parameters. Of course that there is internal slew rates, but the "position setpoints" are 'steps'
I think that there were some issues about that in the past, I just can't find them...

@Stifael @MaEtUgR

@BazookaJoe1900 on which configuration?
Those "overshoots" are not really overshoots. The position setpoint that you see in auto consists of two parts: 1). the position of the closest point on the line previous-current-triplet setpoint. 2.) the cruise-speed of the vehicle. Usually the cruise-speed is used as feedforward velocity in the velocity controller. However, px4 did not support velocity feedforward properly (but soon it will), which led to the above implementation where cruisee-speed is inverted to position through the position-controller P-Gain here. In addition, px4 uses triplets for navigation, previous to current and next to current setpoints. The speed at the current setpoint is defined by the angle previous-current-next, where at 180, the vehicle will just pass the current setpoint without stopping. The speed at 90 degrees is controller by MPC_CRUISE_90, and all other angles are mapped from a quadratic function. Hence, at an angle of 0, the vehicle will target zero cruise speed at current setpoint, and at an angle of 180 it will target maximum cruise speed which looks like an overshoot in position...


[Snyk] Upgrade applicationinsights from 2.9.5 to 3.0.1

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade applicationinsights from 2.9.5 to 3.0.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

Warning: This is a major version upgrade, and may be a breaking change.

The recommended version is 15 versions ahead of your current version.
The recommended version was released 22 days ago, on 2024-04-23.

Release notes

Package name: applicationinsights

3.0.1 - 2024-04-23

3.0.0 - 2024-04-18#1282 Fix Auto Exception Collection.
#1292 Update Warning Tests and Add Console Logging by Default.
#1296 Update agent backoff logic.
#1298 Update Support Status of Native Metrics & Env Vars.
#1300 Clean Up Shim Files & Fix Check for Extended Metrics Env Var.
#1302 Add Shim Performance Testing.
#1306 Update Unsupported Messages & Remove Deprecated SemAttrs.

3.0.0-beta.12 - 2024-03-22#1300 Clean Up Shim Files & Fix Check for Extended Metrics Env Var.
#1298 Update Support Status of Native Metrics & Env Vars.
#1296 Update agent backoff logic
#1292 Update Warning Tests and Add Console Logging by Default.
#1282 Fix Auto Exception Collection.
#1275 Add Note Regarding Our Support for Node Versions.
#1272 Auto collection of logs aligning to OpenTelemetry.
#1271 Update Prefix Version in Auto-Attach Scenarios.
#1270 Update Instrumentation Options Type in Docs and Export from Index.
#1268 Detect Distro Already Loaded in Agent.
#1266 Update Node.js runtime check in Agent.
#1264 Update Beta Code Examples README.

3.0.0-beta.11 - 2024-01-26#1262 Extend the shim to support live metrics and the browser SDK Loader.
#1256 Shift to using the diag API for logging.
#1254 Update the shim support table to reflect changes in Azure Monitor OpenTelemetry.
#1248 Fix serialization of logged errors.
#1227 Remove duplicated types.
#1228 Fix request performance counters not being calculated correctly.
#1236 Fix Linux platform check in the agent.

3.0.0-beta.10 - 2023-10-13#1221 Increase Testing Code Coverage.
#1223 Add env check to initialize OTLP Metrics in AKS.
#1228 Remove duplicate types.
#1228 Fix issue with performance counters not being calculated correctly.

3.0.0-beta.9 - 2023-09-21

3.0.0-beta.8 - 2023-09-05

3.0.0-beta.7 - 2023-07-14

3.0.0-beta.6 - 2023-06-15

3.0.0-beta.5 - 2023-05-06

3.0.0-beta.4 - 2023-03-27

3.0.0-beta.3 - 2023-03-10

3.0.0-beta.2 - 2023-03-01

3.0.0-beta.1 - 2023-02-09

3.0.0-beta.0 - 2022-11-10

2.9.5 - 2024-03-01#1293 Fix Linux attach backoff logic for app services.
#1289 Handle Exceptions Thrown by CLS-hooked Package.
#1286 Update How Manual Attach is Checked.
#1284 Fix SDK Already Exists Detection.
#1283 Fix SDK Version Set in the Agent

    from applicationinsights GitHub release notes

Commit messages

Package name: applicationinsights

0a74f1a 3.0.1 Release (#1313)
6a5c02f Update tracer provider typing. (#1314)
8e0c7fb Fix telemetry to log to and update OTel dependencies. (#1312)
bfc186b Bump express from 4.15.2 to 4.19.2 in /test/functionalTests/testApp (#1308)
84f1d4e Release Version 3.0.0 (#1309)
c42914c [Beta] Update Unsupported Messages & Remove Deprecated SemAttrs (#1306)
fae2d2e [Beta] Add Shim Performance Testing (#1302)
dadcd3a [Beta] 3.0.0 beta.12 release (#1279)
ac65ee3 [Beta] Clean Up Shim Files & Fix Check for Extended Metrics Env Var (#1300)
e0528d3 [Beta] Update Support Status of Native Metrics & Env Vars (#1298)
2d8c42f Update agent gackoff logic (#1296)
a90e354 [Beta] Update Warning Tests and Add Console Logging by Default (#1292)
b99d62d [Beta] Fix Auto Exception Collection (#1282)
4d97211 [Beta] Update Prefix Version in Auto-Attach Scenarios (#1271)
16c7dfa [Beta] Add Note Regarding Our Support for Node Versions (#1275)
b07288d [Beta] Auto collection of logs aligning to OpenTelemetry (#1272)
305a4d7 Update types in the docs and export from index. (#1270)
7a14f6d [Beta] Detect Distro Already Loaded in Agent (#1268)
2ad3cf4 Update Node.js runtime check in Agent (#1266)
43c6d59 Updaate beta doc examples. (#1264)
4c8ffd6 [Beta] 3.0.0 beta.11 release (#1263)
a5f2305 [Shim/Beta] Extend Shim to Support New Distro Features (#1262)
14e8fb8 Use OpenTelemetry diag API (#1256)
5bb25e5 Browser SDK Loader Shim Support Update (#1254)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

no, snyk. we've already talked about this https://github.com/ministryofjustice/hmpps-non-associations/pull/325#issuecomment-2104213236


Cargo error while building cannot find crate for core

when trying to build using make I get this error https://gamergirlp.ee/i/h7q0.png
https://asciinema.org/a/270075

doing
rustup default nightly and rustup component add rust-src and cargo install xargo fixed this issue
https://github.com/cs140e/rpi3-rust-template


no no models and  annotation mode in my web page

After installation， only tasks mode and no no models and  annotation mode in my web page， How can i solve it， Thank you！

@linmengnan
Hi, you haven't installed any auto annotation, tf annotation, or tf segmentation modules.
Please read the installation manual: https://github.com/opencv/cvat/blob/develop/cvat/apps/documentation/installation.md#additional-components
What is annotation mode?

@bsekachev  ok, thank you

I already follow this guide: [https://github.com/opencv/cvat/blob/develop/cvat/apps/documentation/installation.md#additional-components] but no models menu
How can i solve it?
Thanks,
Duong

Can the links above please be fixed?

I would also link the correct links. Thanks in advance :)

https://openvinotoolkit.github.io/cvat/docs/administration/advanced/installation_automatic_annotation/


HTTP 504 on certain player match requests

Some players get a timeout when requesting specific pages of matches (HTTP 504 Gateway timeout).  Here is an example:
https://api.dc01.gamelockerapp.com/shards/na/matches?page[offset]=100&filter[playerNames]=Bearthc&sort=createdAt&filter[createdAt-start]=2017-12-05T18:00:00Z&filter[createdAt-end]=2017-12-25T03:57:08Z
After further digging, it looks like match #129 specifically is causing the failure.

Yup. I see 502's and 504's randomly.
27-12-2017 (Wed) 16:48:16	Server HTTP Error: 504	https://api.dc01.gamelockerapp.com/shards/na/matches?filter[playerIds]=20777044-e22e-11e7-9e46-06c70774b11e&filter[createdAt-start]=2017-12-15T00:00:00Z&page[offset]=100&page[limit]=50


Add self assign and unassign functionality

Fixes #1927
Allow people to add self-assign PRs or decline PRs that have been assigned to them.

This change is

be sure to document these new commands in submit-queue/www/index.html under the <md-tab label="Bot Commands"> section

@grodrigues3 You still need to remove the already processed comments or this is going to be very confused.

The bot now deletes the unassign comments after it processes them.  Any other changes?

Not as far as I know. Let's have an extra look at logs. extra-verbosity is usually painful

I think this is good for me. What about you @foxish?

/assign

[ASSIGN_NOTIFIER]
The following people cannot be assigned because they are not in the OWNERS files

@grodrigues3

[ASSIGN_NOTIFIER]
The following people cannot be assigned because they are not in the OWNERS files

@grodrigues3

/unassign

/assign

[ASSIGN_NOTIFIER]
The following people cannot be assigned because they are not in the OWNERS files

@grodrigues3

/assign

ping @foxish

@grodrigues3 Sorry, will finish reviewing this later today.

LGTM, but I am a little concerned about two things:

Deletion of comments: is the way we find those comments well-tested? I think they are, but confirming that they wouldn't do the wrong thing would be good.
The way we deal with github API errors, like assigning a person who is not in the org (which would fail)?

If these two cases are handled properly, should be okay to get this running.

/lgtm


ParamsArray and other attribute

Hello,
I do not know how to generate this query string :
foo=1&foo=2&foo=3&test=1
RestClient::ParamsArray.new([[:foo, 1], [:foo, 2], [:foo, 3]]) => 'foo=1&foo=2&foo=3',
I could not find any example like this.
But I do not know how to add the test=1

oh, It seems :
RestClient::ParamsArray.new([[:foo, 1], [:foo, 2], [:foo, 3], [:test, 1]]) will work, I thought I tested it but I probably made a mistake.

It worked, sry


M Values in Shapefile aren't shown

Expected behavior and actual behavior.
I have an M-Enabled Linestring Shapefile, and I've verified the x,y,m coordinates in a GIS. However upon bringing this into fiona and querying it, I only see the x,y. I plan to write this to postgis, but I'm concerned that the m values will not be preserved. Is there a way to ensure recognition of M values within fiona?
Steps to reproduce the problem.
fiona.open(shp)
pprint.pprint(next(shp)['geometry']) yields only x and y.

Operating system
Windows 10 conda virtual env.
Fiona and GDAL version and provenance
gdal_version = 2.4.1
fiona = 1.8.6

@alexmahrou Fiona 1.x doesn't support M geometry types. It's on the radar for 2.0. Meanwhile, I recommend shp2pgsql or some other classic tool.

Thanks @sgillies  I appreciate your response! I'll give that a whirl for sure.


Load balancer/VIP configurable of IdleTimeoutInMinutes

https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/
The default of load balancer of idelTimeoutInMinutes seems too low as only 4 minutes.
Like HA proxy default is 900 as 15 minutes, this would cause the problem of connection dropped.
Can we make this configurable
Like

name: public
type: vip
cloud_properties:
timeout: 900

It is a good idea. But in next release, CPI will assign the public IP address to the VM directly if VIP is set. If you want to bind a load balancer to a VM, you can create the load balancer in Azure portal or by Azure CLI and then specify the LB name in the manifest.

@datianshi CPI removes LB and assign public IP directly to VM in this PR #107.


MNT: Deprecated qt_kicker module; move it to utils

Addresses another piece of #189
Also a little test refactor suggested by @ericdill

Looks good.


Load an html with ajax load and insert in editor

How do I load an html with ajax load and insert into the editor
Example
suneditor.load("http://url/api");
don't work

You can use the subeditor.setContents() method.


[tables] Accidental selections when interacting with accessory html elements

https://github.com/user-attachments/assets/94097c11-fa35-473d-b60a-bc33c6b2108c

This was resolved in #7997.


Research particles and compare them to voxels

This tweet is motivating: https://twitter.com/reduzio/status/1311777674721931267

https://github.com/Voxelers/3d/issues/39 more context in using particles in Blender to approach voxels!

1.5y later, my feeling is that particles could be the way to go until voxels support is improved in software and in hardware.
Particles have strong physics foundations: https://en.wikipedia.org/wiki/Particle_physics
And thinking more about it, voxels and particles are pretty similar concepts: "Particle physics (also known as high energy physics) is a branch of physics that studies the nature of the particles that constitute matter and radiation. Although the word particle can refer to various types of very small objects (e.g. protons, gas particles, or even household dust), particle physics usually investigates the irreducibly smallest detectable particles and the fundamental interactions necessary to explain their behaviour."
So why particles are not been used for voxels in general?
https://en.wikipedia.org/wiki/Particle_system: «A particle system is a technique in game physics, motion graphics, and computer graphics that uses many minute sprites, 3D models, or other graphic objects to simulate certain kinds of "fuzzy" phenomena, which are otherwise very hard to reproduce with conventional rendering techniques – usually highly chaotic systems, natural phenomena, or processes caused by chemical reactions.»

Particles support exist in the game engines and probably it can be improved. Let's play with it to understand the limitations. Probably building terrain with them could be  a nice use case.

Ok, I have decided to explore more this topic in Godot and Blender.
Time to understand in deep how particles work in Godot. Next step after reading the doc and playing a bit to complete the tutorial: https://www.youtube.com/watch?v=dDNJ2rdJNwQ

Blender seems to be more advanced in particles than Godot.
And it also has the molecular addon ported to 2.8

I love this one: https://www.youtube.com/watch?v=kkUC0GQ2SS4 This is the kind of stuff I hope to reach at some point in the next months. Let's see.

Nice tutorial showing howto use shaders for 2D particles. The concept is the same for 3D. shaders is a pretty nice computing are where you play directly with the GPU to get great performance.

Pixol is another concept from Zbrush between polygons and voxels.


wildcard user question

I was trying to get the feature below to work. I think I'm doing something wrong, but I don't see the error itself.
The entity entry field accepts the * wildcard and can automatically add multiple entities that match the provided pattern.
Below is nicely working, my 6 sensors are added.
type: custom:history-explorer-card
cardName: historycard-sdm630
defaultTimeRange: 5m
combineSameUnits: true
showUnavailable: true
header: Phase line to neutral volts history
graphs:
  - type: line
    entities:
      - entity: sensor.energy_meters_pv_phase_1_line_to_neutral_volts
      - entity: sensor.energy_meters_pv_phase_2_line_to_neutral_volts
      - entity: sensor.energy_meters_pv_phase_3_line_to_neutral_volts
      - entity: sensor.energy_meters_ev_phase_1_line_to_neutral_volts
      - entity: sensor.energy_meters_ev_phase_2_line_to_neutral_volts
      - entity: sensor.energy_meters_ev_phase_3_line_to_neutral_volts

To do this easily and more clearly, I thought I would use the following. This doesn't work and I don't really understand why. Unfortunately I get an undefined in the graph.
type: custom:history-explorer-card
cardName: historycard-sdm630
defaultTimeRange: 5m
combineSameUnits: true
showUnavailable: true
header: Phase line to neutral volts history
graphs:
  - type: line
    entities:
      - entity: sensor.*line_to_neutral_volts*

The one below does work and I expected the same with the item above.
type: custom:history-explorer-card
filterEntities:
  - sensor.*_line_to_neutral_volts*

Can someone help give me advice? Because I don't see the issue myself.

The entity entry field refers to the UI entry field. You can enter wildcards there. It does not refer to the yaml parameters. Wildcards are not (yet) supported on those, mainly because I lack the time to add and test this.

I'm afraid I lack knowledge to fully understand you. Can you explain a bit more about what exactly you mean?

This works:

this doesn't:

I'll see if I can add this for one of the next releases.

Ha now I get it. On top of this:
_filterEntities:

sensor._line_to_neutral_volts_

this then for in the yaml file for per-selecting.
It would be great if you could add this feature. Because then history-explorer-card config  is possible.
PS: Shall we turn this issue into a feature request?

+100 on this feature. I think we discussed this before, but can't remember what we ended with, but using the Recorder file information would be handy too if you could read/interpret that. That would reproduce what we previously had with the built-in History, but in a MUCH BETTER format. At least, though, wildcards would be super helpful, even if we need to copy/paste the Recorder file info into the card. Cheers.

Not exactly sure what you mean by recorder file information (no frontend card can read any file on the host system), but if you mean the list of entities that are being actively added to the recorder, then this is available.
Add this to the config:
recordedEntitiesOnly: true

If you now type * into the entity field and hit the plus button, all entities that are part of the recorder will be added. You can further refine this by adding filterEntities.
If I add a wildcard function to the YAML at some point, then it will behave in exactly the same way. So adding * to the entity list while having recordedEntitiesOnly: true would add only recorded entities, the same way as it works with the interactive entry field on the UI now. That's what the native history panel did too.

Ah, I remember our previous conversation now about not being able to read the recorder.yaml file, But, if I understand what you say correctly, it seems that HA does provide the Frontend with at least a list of entities that are defined by the Recorder file. If so, then that is just as good. Perhaps in addition to typing * in the entity list with recordedEntitiesOnly: true, could there be another flag, like showAllRecorded: true that would, in effect, do the same thing as entering a * in the entity list automatically, every time you open it (without having to type that in each time)? That would be persistent?

it seems that HA does provide the Frontend with at least a list of entities that are defined by the Recorder file.

Sadly no, it doesn't. I have to cheat a little by issuing a specific call to the database and build the list of recorded entities that way. In practice it's pretty much equivalent with a HA supplied list though.
I'd like to avoid adding settings that will auto populate the list with specific entities. People will end up asking for all kind of unique scenarios and filters for that etc etc. So I'd rather avoid this. Wildcard support is in the code already. So the right way to do this in a clean and logical way is to allow wildcards in YAML entity names. While this sounds easy on a first glance, it can create all kind of weird corner cases, like the entity order on wildcard'ed globs, handling of different graph types within a single wildcard glob, etc. That's why it needs some more time to get this right.

I just tested this workaround and it seems, for some reason, that the combineSameUnits: true flag isn't being honored when I enter just *, every entity appearing on its own graph, but when I enter something like temperature instead, all of them appear on the same graph.

Weird. Did you set recordedEntitiesOnly to true ? I suggest you open a separate issue for this. May or may not be a bug.

While this sounds easy on a first glance,

Actually, I anticipated this would only come with considerably effort, which is why it hasn't been implemented. Lots of ways for this to go sideways.

I'd like to avoid adding settings that will auto populate the list with specific entities

I get that. I only suggested it because it is what is most called for by everyone who hates the built-in History in HA since the improvement, i.e., to show everything specified in the Recorder file with no further effort. It just seemed like low-hanging fruit since, in my understanding of what you already have working, it would entail an additional flag that effectively populated the entity list with a *.
It's just one character, so I can deal!

Did you set recordedEntitiesOnly to true ?

Yes, and combineSameUnits: true. I'll create an issue and post my current code with screenshots. Cheers.

+1 Bump on this feature. I also want wildcard capability on yaml configuration. I tried combining thomas-loven/auto-entities with this card to achieve that goal, BUT, because the entities: key on this card is nested inside:
graphs:
  - type: timeline
    entities:

it doesn't work, because auto-entities is looking for that key on the root level of the card configuration, not recursive.
As an idea to make this enhancement to this card, instead of creating code from scratch to make use of wildcards. Just changing the way the card configuration keys are structured, so it would be compatible with auto-entities card, which is already tested and true on the wildcard populating job, and very powerfull with many filters.

I have a working prototype with YAMl wildcard support.
Example:
graphs:
  - type: line
    entities:
      - entity: sensor.*temperature*
  - type: timeline
    entities:
      - entity: person.*

This will add all temperature sensors in a first graph and then all persons in another timeline graph. This syntax gives full control over what goes into what graph and in what order. Entities with types that are incompatible with the their parent type will be skipped. For example, should the *temperature* pattern include something that is not a temperature sensor, for example something like sensor.temperature_control_switch_state, then it will simply be ignored. It always entity and graph customization in the usual way.
There's another potential way of doing things with an entities key at the root level:
entities:
  - entity: sensor.*
  - entity: binary_sensor.*stuff*

This syntax comes with problems as it will mix up entities of different (incompatible) types in pretty much random order. For that to work, this syntax would have to mimic the way entities are added dynamically through the UI and would behave in that way too (combineSame Units, customization over entityOptions etc). It would allow other custom components like auto-entities to work with this card (although I'm a little surprised that auto-entities doesn't allow the customization of where the entity keys are placed, that would seem like such a basic feature).
To be perfectly honest, I don't really like the second option. It feels like a step backwards and doesn't really fit into the logic of the card (dynamic entities being pretty much added statically). But it would be possible to add if that's the way people want to use this card.

As an idea to make this enhancement to this card, instead of creating code from scratch to make use of wildcards. Just changing the way the card configuration keys are structured, so it would be compatible with auto-entities card, which is already tested and true on the wildcard populating job, and very powerfull with many filters.

Adding compatibility is one thing (and possible, see above) but I do not want to get into a situation where this card would depend on another custom card/component.

Glad to hear there is a solution in the making, specially one that is self contained which is even better.😀👍

I have a working prototype with YAMl wildcard support.
Example:
graphs:
  - type: line
    entities:
      - entity: sensor.*temperature*
  - type: timeline
    entities:
      - entity: person.*

This will add all temperature sensors in a first graph and then all persons in another timeline graph. This syntax gives full control over what goes into what graph and in what order. Entities with types that are incompatible with the their parent type will be skipped. For example, should the *temperature* pattern include something that is not a temperature sensor, for example something like sensor.temperature_control_switch_state, then it will simply be ignored. It allows entity and graph customization in the usual way.
There's another potential way of doing things with an entities key at the root level:
entities:
  - entity: sensor.*
  - entity: binary_sensor.*stuff*

This syntax comes with problems as it will mix up entities of different (incompatible) types in pretty much random order. For that to work, this syntax would have to mimic the way entities are added dynamically through the UI and would behave in that way too (combineSame Units, customization over entityOptions etc). It would allow other custom components like auto-entities to work with this card (although I'm a little surprised that auto-entities doesn't allow the customization of where the entity keys are placed, that would seem like such a basic feature).
To be perfectly honest, I don't really like the second option. It feels like a step backwards and doesn't really fit into the logic of the card (dynamic entities being pretty much added statically). But it would be possible to add if that's the way people want to use this card.

As an idea to make this enhancement to this card, instead of creating code from scratch to make use of wildcards. Just changing the way the card configuration keys are structured, so it would be compatible with auto-entities card, which is already tested and true on the wildcard populating job, and very powerfull with many filters.

Adding compatibility is one thing (and possible, see above) but I do not want to get into a situation where this card would depend on another custom card/component.

How is the development going? Could you use a beta tester? I'm just asking, because I am very curious. :-)

Not much to say, it's working as expected. It's mostly a function of how much of my free time I can put into finalizing this. Right now, preparing my sailboat for the season is getting some priority over this ;) But I guess a release next weekend could be possible.
One thing didn't go as planned: the wildcards will resolve against all entities registered with HA, not only against the ones that are actually in the database. So if you do sensor.*temperature* it will add all matching entities, regardless of whether they're in the DB or not (entities that aren't recorded won't appear in the graph, but they will appear as a bubble in the legend).
Sadly there is no way around that. The HA frontend API does not expose a list of recorded entities. The way I build this list is by directly querying the database, but those results come in with a delay. They're not available at the time the graphs are built. You will have to craft your wildcard strings accordingly, to avoid this.

It's truly sad that this functionality currently exists in the core, but was deemed "undesirable" by one or more people in charge, leaving many to search or develop alternate solutions - where more thought and consideration would have led to an simple OPTION to provide the old, existing functionality along with the new, making the entire user base happy. But it seems those at Nabu Casa have their focus set on making HA the iPhone of home automation where "no instructions needed" and therefore more appealing to the most uninitiated of users who can barely turn on their TV.
We do very much appreciate your efforts in recreating a functional (and actually USEFUL) history utility in HA to replace what was so carelessly (and crassly) eliminated. Thank you.

It's truly sad that this functionality currently exists in the core, but was deemed "undesirable" by one or more people in charge, leaving many to search or develop alternate solutions - where more thought and consideration would have led to a simple OPTION to provide the old, existing functionality along with the new, making the entire user base happy. But it seems those at Nabu Casa have their focus set on making HA the iPhone of home automation where "no instructions needed" and therefore more appealing to the most uninitiated of users who can barely turn on their TV.
We do very much appreciate your efforts in recreating a functional (and actually USEFUL) history utility in HA to replace what was so carelessly (and crassly) eliminated. Thank you.

I couldn't have written this better myself!

Note that bdraco wrote a draft patch to HA 2023.5, linked above, that would solve all the issues discussed here by providing a direct access to the list of recorded entities, without the workaround of a database query.
This patch is work in progress (although it works perfectly on my tests), and there is no guarantee it will be accepted in Core. I hope it will.

That's awesome. I hope Core does accept it, as it would be really disappointing if they didn't. It would be great to have a decent History capability again. Thanks to you both for your work on this.

You can already get the full history capability (and always could), even without the patch, you just have to keep your browser local storage and build your entity list using the UI.
But I know what you mean. It would be a good feature to have in all cases.

Welp, looks like that patch above won't make it into Core. At least there has been pretty much zero traction on this draft. Too bad, it would have been really useful and it works very well.
Anyway, I implemented wildcard support in the card on the upcoming V1.0.47. It comes with a number of limitations though, as discussed above.

I added an optional exclude clause to wildcard'ed entities. This will (in part) alleviate the limitations by not having a list of entities actually being recorded by HA:
graphs:
  - type: line
    entities:
      - entity: sensor.*temperature*
        exclude:
          - entity: sensor.cpu_temperature
          - entity: '*fridge*'
        fill: rgba(0,0,0,0)

This will auto-add all sensors with temperature in the name, except for a specific sensor named `sensor.cpu_temperature' and all entities that have 'fridge' in their names.

Wildcard support was added to V1.0.47. See the readme under YAML configuration for preconfigured graphs, middle example.

Closing this for now. If problems come up with the new feature, feel free to open a new issue.

Thank you!


Can not import name top_k_top_p_filtering

Hello everyone, I just came across this kind of error, I cannot import trl because of this kind of error:
ImportError: cannot import name 'top_k_top_p_filtering' from 'transformers' (/usr/local/lib/python3.10/dist-packages/transformers/__init__.py)
although I upgrade transformers library, it remained not working
https://github.com/huggingface/trl/blob/22b4f548f4954319ece6f17cab226a26e2db65be/trl/core.py#L25

Same here I encountered the same error this week. Last week can imported SFTTrainer without this error. Other Developer also bumped into this error see this closed issue

Make sure that you have transformers version 4.38.2. Then, importing 'top_k_top_p_filtering' from"transformers.generation.utils" should work.

I use
pip install --upgrade trl
AND it worked for me

i also used
pip install --upgrade trl
and it worked for me

Upgrading it worked for me as well.

Upgrading it didn't work for me.555


Add support to "edit this page" link

That would automatically link to the file on Github.

@pragmaticivan I dont think this would even really be accurate as a function per what it says, though.
You are not actually editing the page, at most you are proposing a change.
This also would bypass CONTRIBUTING.md etc and other resources as a means to start working on the project, possibly creating unneeded issues from things stemming from not reading the basics of how changes are desired to be made.
I am 1,000,000% and 14/2 for new contributors and fostering this community, but I think this functionality would not offer anything per the mission of the project.

Having this feature may not cause any problem, but instead lead people to try to submit changes as Pull Request even for small typos. As you know, contributing markdown is used on Github to show an Alert about reading the CONTRIBUTING file (https://github.com/blog/1184-contributing-guidelines). There's no bypass.
The same way issues for new files doesn't have any explanation about how to contribute with that. The user may or may not read the README.md before submiting something.

I did not know about the CONTRIBUTING feature, but IMO it still would hurt the signals:noise ratio that we have worked quite hard to maintain to be at a reasonable level while still making the project accessible (which I would say is a success, considering we are touching nearly 30 languages that we are translated to with over 150 contributors, <3 to everyone whose given to this awesome thing).
I would question submissions from someone who has not read a document quite literally titled "READ ME", even if they're shown contribution guidelines if they want to really do something for the project.
That said, its just my two cents and the ultimate authority obviously is with @doomspork.

I'd like to mull this over a bit more.  I certainly like the idea of lowering the barrier to contribute but at the same time I also agree with @ybur-yug's concerns.  I can see with a "Edit This Page" feature folks making single changes at a time, not rolling many up into a pull request, this could create a great deal of work for all contributors.
CC @nscyclone, @brain-geek, @devleoper, @joneslee85, or anyone else — any thoughts on this feature?

There is a Fork me on GitHub ribbon at the top right of every page. It leads to the repository index making the visitors read both README and CONTRIBUTING unless they purposely aren't going to read those.
I suppose this is sufficient for someone who would want to contribute.

"Suggest Changes" link can also promote visitors to contribute the project. Github helps the user who wants to edit forking and shows "please read guidelines before going further" when someone tries to make a pull request.
For users who might not read README, We can make a page that covers "starting translation of Elixir School from scratch" (which README mainly covers), and then we can add an "add your language if your language is missing" button to that at the language list of Elixir School.
As a translator, It may make translators and contributors busier to keep up-to-date with upcoming many small PRs and changes that "edit" or "suggest changes" may promote. :smile:

I've looked through comments and, apparently, one of the main concerns when adding this feature is low quality of such contributions.
If it's not hard to have - I'd suggest adding this feature (should be just Github link of correct format) and see how it goes. Worst case scenario - we'll remove this feature. Best case - we'll improve quality.
Other option to get feedback about typos could be a system like https://orphus.ru/en/ , though this will raise other concerns - like where to send those notifications.

I think we can incorporate this into #944.  When a version is out-of-date we can have a call-to-action to encourage people to edit the page and make changes.

@pragmaticivan / @eksperimental are either of you interested in implementing this?  If not, let's close the issue for now 👍

We have something similar in the Elixir website. I can try to copy that here, so if in a month's time this feature is not submitted, please close this issue (if nobody else took implemented this before)

Thank you @eksperimental ❤

it will probably take way less cuz it looks easy

Since there's been no movement on this in some time, I'm going to close this issue for now.  A PR is always welcomed 👍


codeunit 1560 "Workflow Imp. / Exp. Mgt"

Can you please make following procedures global
Before
local procedure GetWorkflowCodeListFromXml(TempBlob: Codeunit "Temp Blob") WorkflowCodes: Text

After
procedure GetWorkflowCodeListFromXml(TempBlob: Codeunit "Temp Blob") WorkflowCodes: Text

Before
    [TryFunction]
    local procedure TrySelectStr(Index: Integer; InputString: Text; var SelectedString: Text[20])

After
    [TryFunction]
    procedure TrySelectStr(Index: Integer; InputString: Text; var SelectedString: Text[20])

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 46680.


ATAC-Seq update new version of pgt

I will follow Bjorn advice. Wait a minute.

ok, sure

Thanks!


TimeEditor ReadOnly only works for Hours.

Use editor's property
DateTimeEditor(IntervalMinutes =1)

Will be in next version


SILGen: Fix bug with NSString import-as-member globals

This is not really the right fix if we want to have physically
addressed lvalues support bridging in general, but doing so
requires adding a new LValue component type and doing a bunch
more refactoring, so just hack in a narrow fix for now since
it only seems to occur in one case.
Fixes rdar://problem/34913892.

@rjmccall Tsk, tsk. ;-)

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test Linux

@swift-ci Please smoke test Linux

Can you add a test with a nullable NSString as well?

@jrose-apple a _Nullable NSString still imports as NSString and not Optional<NSString>.
"I have a horrible, horrible feeling that this is “by design”" -- @DougGregor
I'll add a test for the broken behavior so that we'll know if it ever changes.

@swift-ci Please smoke test

@swift-ci Please smoke test


Edit README.md

@sallamander
Minor edits... I'm fine if you want to decline them, in which case just close this PR
Separately, were you thinking of adding the error graphs?

I think these are good changes 👍 .
I had originally put them in there, and then shot it to Jesse, who immediately asked for a best fit line. Is this as simple as adding a parameter into the plotting, or something like that? If so, I can add it in and shoot it over.


Unable to login - strange 'npm start' output

I haven't pulled in a few days, and now that I have, I'm unable to login with Google (I do not use a 2-step activation). Running Ubuntu 16.0.4, node v4.2.6. I notice a strange output with 'npm start'. Any ideas what might be causing it?
jswells@joe-ubuntu:~/Downloads/PokemonGoReader-master$ npm start

<EMAIL_ADDRESS>start /home/jswells/Downloads/PokemonGoReader-master
 npm run tsc && concurrently "npm run server" "npm run webapp"

<EMAIL_ADDRESS>tsc /home/jswells/Downloads/PokemonGoReader-master
 tsc --outDir ./webapp/js

 ><EMAIL_ADDRESS>server /home/jswells/Downloads/PokemonGoReader-master
 > node server/index.js | node node_modules/bunyan/bin/bunyan

><EMAIL_ADDRESS>webapp /home/jswells/Downloads/PokemonGoReader-master
> npm run clean && tsc --outDir ./webapp/js && node ./node_modules/http-server/bin/http-server

><EMAIL_ADDRESS>clean /home/jswells/Downloads/PokemonGoReader-master
> node ./node_modules/rimraf/bin.js ./webapp/js/*

/home/jswells/Downloads/PokemonGoReader-master/server/utils/pokemonUtils.js:15
		let cp = pokemon.cp_multiplier;
		^^^

  SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
      at exports.runInThisContext (vm.js:53:16)
      at Module._compile (module.js:374:25)
      at Object.Module._extensions..js (module.js:417:10)
      at Module.load (module.js:344:32)
      at Function.Module._load (module.js:301:12)
      at Module.require (module.js:354:17)
      at require (internal/module.js:12:17)
      at Object.<anonymous> (/home/jswells/Downloads/PokemonGoReader-master/server/routes/pokemonRoutes.js:9:22)
      at Module._compile (module.js:410:26)
      at Object.Module._extensions..js (module.js:417:10)
      at Module.load (module.js:344:32)
      at Function.Module._load (module.js:301:12)
      at Module.require (module.js:354:17)
     at require (internal/module.js:12:17)
      at Object.<anonymous> (/home/jswells/Downloads/PokemonGoReader-master/server/index.js:8:23)
      at Module._compile (module.js:410:26)
  npm run server exited with code 0
  Starting up http-server, serving ./
  Available on:
    http://<IP_ADDRESS>:8080
    http://<IP_ADDRESS>:8080
  Hit CTRL-C to stop the server`

Fixed by upgrading Node to v6.3.1

Sorry, forgot the "use strict" declaration in pokemonUtils.js
Just pushed a commit to fix that.


Regroup convinient functions for tests into utils package

Solve https://github.com/pachyderm/pfs/issues/72.
So far, only 1 function was identified as a duplicate accross tests.

Looks like a good direction.
How do we feel about a utils package? We already had one so this pr isn't to blame but does
anyone know where other projects normally put code like this?
Also we might want to look at moving the other functions in lib/shard/test_helpers.go somewhere.
It might make sense to move them over to a bindings library which would serve as go bindings to our api.

I usually try to not have a package where I put random convenient functions like this because it can get messy pretty quickly (we may put very unrelated functions in there). A better solution might be to specialize the package so it has a specific purpose (compared to a "good-for-everything" package).
I'll take a look to lib/shard/test_helpers.go.

I don't know if we need this at all:

standard is just to use built-in, no helpers, or if you really need a t.Fatal helper, use testify https://github.com/stretchr/testify
I don't know the answer to this, but I think that if a file does not end in _test.go, then dependences will be compiled into a main binary, which would mean a main binary would rely on the testing package

TL;DR: get rid of test utils or make a test utils package.
testify looks cool, but wouldn't it just more test helpers instead of just the one we have here? If we separate test utils and regular utils, I think it'll be identical to have our own check function. We shouldn't use any helper then.
Concerning the 2nd bullet point, in this state, you're right, testing will be compiled in the binary. If we separate into our own testing package, this package would only be included by files ending by _test.go and this wouldn't be a problem.

Ya so I would just get rid of check
In general, I may be in the minority but I actually prefer:
if err != nil {
  t.Fatal(...)
}

to using wrapper functions. It encourages more fine-grained control over tests (ie Error vs Fatal), and I use Errorf/Fatalf a lot for better messages (you can have check and checkf too, but again ya).
If we still wanted this, then using testify is pretty standard and gets rid of needing a special testing package in pfs.
I don't think this one function deserves making a special package in pfs for

Hey man,
Super appreciate all this. So right now, we're changing around a bunch of stuff with how we're branching, and the merge will be super painful, plus there's a couple little things here - we feel bad but we're going to close this for now, and let's discuss it more in https://github.com/pachyderm/pfs/issues/72? I feel super bad about closing this but I think you'll like what we're doing and agree it'll be easier for you and for us :)


CLUSTER before CREATE INDEX improves import time

When write+optimize are done during import, it is better to CLUSTER the tables before CREATE INDEX.
This avoid:

double index creation
additional storage the index during CLUSTER

A quick test shows a clustering time divided by 2 on my setup on Paris region extract, and indexing time is identical.
Total extract import is done in 2'40" instead of 3'45".

Hi @cquest,
We use imposm3 for our service, and we're pulling this in to our local fork since it looks very promising. We normally use the upstream, so this is only intended to be temporary until your upstream MR is merged.
Thanks!


Enrich event metadata with correlation data

Find a way to enrich the events metadata with some useful correlation data like the command that was triggered.

Resolved by https://github.com/RayRutjes/domain-foundation/pull/14.


extra 1.5

extra-1.5 (Neil Mitchell) is out of bounds for:

[ ] cabal-helper-<IP_ADDRESS> (>=1.4.10 && < 1.5). Daniel Gröber<EMAIL_ADDRESS>@DanielG. @DanielG
[ ] ghc-mod-<IP_ADDRESS> (==1.4.*). Daniel Gröber<EMAIL_ADDRESS>@DanielG. @kazu-yamamoto
[ ] stack-1.1.2 (>=1.4.6 && < 1.5). Emanuel Borsboom<EMAIL_ADDRESS>@borsboom. @commercialhaskell
[ ] werewolf-<IP_ADDRESS> (==1.4.*). Henry J. Wylde<EMAIL_ADDRESS>@hjwylde. @hjwylde
[ ] werewolf-slack-<IP_ADDRESS> (==1.4.*). Henry J. Wylde<EMAIL_ADDRESS>@hjwylde. @hjwylde

This is also blocked by an extra < 1.5 constraint for #1691

stack is fixed.

extra 1.5 is in the nightlies. cabal-helper (ping @DanielG) was blocked for this. The rest were already blocked for other reasons.

I'm somewhat confused, cabal-helper neither directly depends on extra nor does it seem to conflict with any of extra's dependencies. Why exactly is it being blocked?

@DanielG It does, check the test suite


feat: create more-info component

Summary
This label allows the user to see more info about the same movie on the Wiki portal.
Acceptance Criteria

[ ] Label ‘More info’
[ ] Sent object of the movie that is showing to API Wiki

Integrated to #15 issue.

According with the project documentation this was not a component. Therefore, we will have on DB the link of wiki and this issue is only an element anchor to redirect the user.


Add tests dependencies for qdrant

Why are these changes needed?
Add test dependencies for qdrant, a fix to #303 . Will trigger the tests for qdrant in the build and openai workflow.
Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Codecov Report

Merging #435 (6c3beae) into main (50ac547) will decrease coverage by 25.98%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main     #435       +/-   ##
===========================================
- Coverage   41.29%   15.32%   -25.98%
===========================================
  Files          20       19        -1
  Lines        2448     2441        -7
  Branches      548      548
===========================================
- Hits         1011      374      -637
- Misses       1359     2066      +707
+ Partials       78        1       -77

Flag
Coverage Δ

unittests
15.32% <ø> (-25.90%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 12 files with indirect coverage changes

https://github.com/microsoft/autogen/actions/runs/6648408017/job/18068423391?pr=435#step:9:245
@sonichi @qingyun-wu could you help check this test_math error? Thanks.


Basic Tests C Linux [dbg] fails

See pull request where it failed: https://github.com/grpc/grpc/pull/15226

Closed as duplicate of https://github.com/grpc/grpc/issues/13650


Roadmap for 0.9

How about we begin putting together a wishlist of Features and Issues that ought to be done for the next release? :smile:

Sounds good to me.  I've created a milestone and added this issue to it.  We can discuss here and also create and assign new issues as needed, no?

Sounds good to me.
I'm going to elevate a few issues. :smiley:


bump istio, contour and gateway api version

/retest
I updated the prow image to use 1.19 - curious if that's the cause of the diff

GH action is up to date now
/retest

/lgtm

/retest


Update data-collection-analyzer.md

Added extra tip for script that checks for net session but provides an unhelpful error.

Learn Build status updates of commit 5bdf1a8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/data-collection-analyzer.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 6fb941a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/data-collection-analyzer.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 6757761:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/data-collection-analyzer.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@mjcaparas Please merge this PR. Thanks

Learn Build status updates of commit 232cc04:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/data-collection-analyzer.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 9d2227f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/data-collection-analyzer.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 5d3c3f5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/data-collection-analyzer.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 63a9884:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/data-collection-analyzer.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Should inputs, outputs be allowed to contain raw strings and other objects? or only Files?

Sometimes (for example in parts of the tutorial) inputs is given a list of str typed filenames. Sometimes it is given a list of File objects.
What is the meaning of passing in str typed filenames? For example, does that mean no staging should happen and every component involved should assume that the file is accessible at this path without further action? If so, is that the route we want to introduce files to people in the tutorial?
The immediate reason this issue comes up is because since #880, File objects are no longer str objects and so some code which was able to assume inputs were always str is now invalid -
for example, code fragments like " ".join(inputs) to generate a space separated list of filenames (as long as those filenames don't contain spaces) would work for str inputs and for File inputs.
cc @danielskatz

given that the tutorial doesn't do any staging, I think we just did things with strings to demonstrate parsl features that were not really related to files at all, but used files as a convenient (local) tool.  I don't know that it would make sense to think of these as Parsl Files.

If we want to make good on the 'write once, run anywhere' dream, I think that we would need to move towards always passing File objects. Making a simplifying assumption (strings means everything is local) adds mental load for users trying to understand what's going on-- they need to learn both the special (local execution) and the general (anywhere execution) case.

The phrasing in #987 suggests that it is OK to pass in other non-File objects through inputs and outputs. My preference is that this also should be prohibited: python already has a non-parsl specific way to pass arbitrary objects to and from function calls.

crossref #1125 which is about behaviour when an input is a DataFuture, not a File.

As an example of this, the test parsl/tests/test_python_apps/test_mapred.py passes AppFutures in the inputs= parameter - see https://github.com/Parsl/parsl/blob/fd1992fb569d68bcfd05dd0055c73843c087f0ae/parsl/tests/test_python_apps/test_mapred.py#L36
This does not fit the style of usage I am expecting for inputs - instead those futures should somehow be passed in as regular function parameters... although the presence of those future in a list rather than as individual values makes things awkward.

although the presence of those future in a list rather than as individual values makes things awkward.

My understanding was that an important motivation for the status quo is that the inputs parameter allows for passing arbitrary-sized groups of futures and without trying to do any more sophisticated introspection on function arguments than isinstance(future). I agree with you that it would be good to only use inputs for Files, but if we do that, we should consider adding more introspection of input objects in order to preserve the mapreduce-type functionality the test demonstrates. Obviously we have to draw the line somewhere-- do we just check lists, or do we unroll dictionaries as well to search for futures? We'd have to measure the performance hit of the various options. It's also not-very-satisfying because no matter what it will be somewhat arbitrary unless we say 'only futures get resolved, if you want to pass a list of futures, write an app that returns a future whose result is a list'.

Must what comes in AppFuture.outputs be a DataFuture? And if so, does that mean a DataFuture might contain a value of an arbitrary type, not just a File, because it contains a DataFuture-wrapped version of whatever was passed in as a non-File output parameter? (see the str-valued output at https://github.com/Parsl/parsl/blob/fd1992fb569d68bcfd05dd0055c73843c087f0ae/parsl/tests/test_data/test_file_ipp.py#L23)

Must what comes in AppFuture.outputs be a DataFuture?

I vote yes.

And if so, does that mean a DataFuture might contain a value of an arbitrary type, not just a File

What do you have in mind, other than str? My preference was to force explicitly using File for everything to make things more consistent (and hopefully less confusing), but I think I was outvoted that str should be special. So I guess either a File or str, but nothing else?


Fix misspell of type of Pod condition at init container explanation (id)

In explanation of init container, doc says 'Initializing' pod condition. However according to doc of  pod condition, it should be 'Initialized'.
This commit fixes this misspell of Indonesian doc.
This misspell is verified by PR #17329 which fixes English doc.

thank you for your contribution to kubernetes docs! 🎉
/lgtm
/approve


Add comparison with xxHASH on Readme.md

My goal with that chart is to cover commonly used cryptographic hash functions. As xxHASH is a non-cryptographic hash, it doesn't really fit.


object Info is not a member of package spinal.core

I try to generate verilog by using the intelliJ IDEA, sbt 1.10.0 (Oracle Corporation Java 1.8.0_301) but now it reports
C:\Users\pzhao\Downloads\VexiiRiscv-dev\ext\SpinalHDL\core\src\main\scala\spinal\core\Spinal.scala:404:51
object Info is not a member of package spinal.core
val version = (if(Character.isDigit(spinal.core.Info.version(0))) "v" else "") + spinal.core.Info.version
when run generate.scala

Hi ^^
This is a intellij bug, it doesn't process the SBT project properly.
The workaround it  to that once you downloaded the project, just  run a "cd VexiiRiscv && sbt compile" in the terminal :)


Add license info to repo_metrics

Describe the feature you'd like to request
We need to extract current license information for all repos linked to projects in staging and expose them in our int_repo_metrics_by_project model.
Specifically, we need the field spdxId. See here for an ad hoc fetcher I've used in the past.
Describe the solution you'd like
Option 1: we grab the current license info alongside other current repo stats like stars, forks, etc
Option 2: we create a timestamped history of license changes for all repos we care about (ie, we write the status daily or monthly)
Describe alternatives you've considered
Continue to do this ad hoc using a script, just for repos we care about

Also tagging the dbt model implementations #1433


Incompatible shapes: [100,4] vs [10000, 4]

Hi @hughsalimbeni,
I'm replicating your notebook with a Spectral Mixture Kernel [2] (only addition is you need to run sm_init [1] before calling the SM kernel function).  I'm getting this error when I run the optimizer AdamOptimizer(0.01).minimize(m, maxiter=5000).
InvalidArgumentError (see above for traceback): Incompatible shapes: [100,4] vs. [10000,4]
[[Node: gradients/DGP-ca7720f0-47/add_grad/BroadcastGradientArgs = BroadcastGradientArgs[T=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](gradients/DGP-ca7720f0-47/conditional/ExpandDims_7_grad/Shape, DGP-ca7720f0-47/conditional/Shape_5)]]

Full error is given in [3]. On doing some research I found out that the error is due to minibatch_size (which is right). But I'm still not able to figure the changes to overcome this error. Can you please suggest something. Thank you.
[1] Initializing the SM hyperparameters:
weights, means, scales = sm_init(train_x=X, train_y=Y, num_mixtures=Q)
[2] Spectral Mixture Kernel:
import tensorflow as tf
import numpy as np
from gpflow.decors import params_as_tensors
from gpflow.params import Parameter
from gpflow.kernels import Kernel
from gpflow import transforms

class SpectralMixture(Kernel):
    def __init__(self, num_mixtures=1, mixture_weights=None,\
                 mixture_scales=None,mixture_means=None,\
                 input_dim=1,active_dims=None,name=None):
        """
        - num_mixtures is the number of mixtures; denoted as Q in
        Wilson 2013.
        - mixture_weights
        - mixture_variance is
        - mixture_means is the list (or array) of means of the
        mixtures.
        - input_dim is the dimension of the input to the kernel.
        - active_dims is the dimension of the X which needs to be used.

        References:
        http://hips.seas.harvard.edu/files/wilson-extrapolation-icml-2013_0.pdf
        http://www.cs.cmu.edu/~andrewgw/typo.pdf
        """
        super().__init__(input_dim,active_dims,name=name)
        # Q(num_of_mixtures)=1 then SM kernel is SE Kernel.
        if num_mixtures == 1:
            print("Using default mixture = 1")

        # number of mixtures is non trainable.
        self.num_mixtures = Parameter(num_mixtures,trainable=False)
        self.mixture_weights = Parameter(mixture_weights)
        self.mixture_scales = Parameter(mixture_scales,transform=transforms.positive)
        self.mixture_means = Parameter(mixture_means)

    @params_as_tensors
    def K(self, X1, X2=None):
        if self.mixture_weights == None or self.mixture_means == None \
                                      or self.mixture_scales == None:
                raise RuntimeError('Parameters of spectral mixture kernel not initialized.\
                                    Run `sm_kern_object.initialize_(train_x,train_y)`.')
                # initialization can only be done by user as it needs target data as well.
        if X2 is None:
            X2 = X1

        # get absolute distances
        X1 = tf.transpose(tf.expand_dims(X1, -1), perm=[1, 0, 2])  # D x N1 x 1
        X2 = tf.expand_dims(tf.transpose(X2, perm=[1, 0]), -2)  # D x N2 x 1

        r = tf.transpose(tf.abs(tf.subtract(X1, X2)), perm=[0, 2, 1])  # D x N1 x N2

        cos_term = tf.multiply(tf.tensordot(self.mixture_means, r, axes=((1),(0))), 2. * np.pi)
        # num_mixtures x N1 x N2

        scales_expand = tf.expand_dims(tf.expand_dims(self.mixture_scales, -2), -2)
                                                                # D x 1 x 1 x num_mixtures
        r_tile = tf.tile(tf.expand_dims(r,-1),(1,1,1,self.num_mixtures))
                                                               # D x N x N x num_mixtures
        exp_term = tf.multiply(tf.transpose(tf.reduce_sum(tf.square(tf.add(r_tile, scales_expand)), 0)\
                                            ,perm=[2, 0, 1]), -2. * np.pi ** 2)

        # num_mixtures x N1 x N2
        weights = tf.expand_dims(tf.expand_dims(self.mixture_weights,-1),-1)
        weights = tf.tile(weights,(1,tf.shape(X1)[1],tf.shape(X2)[1]))
        return tf.reduce_sum(tf.multiply(weights,tf.multiply(tf.exp(exp_term),tf.cos(cos_term))),0)

    @params_as_tensors
    def Kdiag(self, X):

        # just the sum of weights. Weights represent the signal
        # variance.
        return tf.fill(tf.stack([tf.shape(X)[0]]),tf.reduce_sum(self.mixture_weights))

        # tf.tile(tf.reduce_sum(self.mixture_weights,0), tf.shape(X)[0])
        # tf.fill(tf.stack([tf.shape(X)[0]]),tf.reduce_sum(self.mixture_weights),0)

def sm_init(train_x, train_y, num_mixtures):
    """
    For initialization of the parameters for the Spectral Mixture
    Kernel.

    :param train_x: input data
    :param train_y: target data
    :param num_mixtures: number of mixtures
    :return: param_name       dimensions
             ----------       ----------
             mixture weights| num_mixtures x 1
             mixture means  | num_mixtures x input_dim
             mixture scales | input_dim x num_mixtures
    """
    assert isinstance(num_mixtures, int)
    assert train_x.shape[0] == train_y.shape[0]

    input_dim = np.shape(train_x)[1]  # type: int

    if np.size(train_x.shape) == 1:
        train_x = np.expand_dims(train_x ,-1)

    if np.size(train_x.shape) == 2:
        train_x = np.expand_dims(train_x ,0)

    train_x_sort = np.copy(train_x)
    train_x_sort.sort(axis=1)

    max_dist = np.squeeze(train_x_sort[: ,-1, :] - train_x_sort[: ,0, :])

    min_dist_sort = np.squeeze(np.abs(train_x_sort[: ,1:, :] - train_x_sort[: ,:-1, :]))
    min_dist = np.zeros([input_dim] ,dtype=float)

    # min of each data column could be zero. Hence, picking minimum which is not zero
    for ind in np.arange(input_dim):
        try:
            min_dist[ind] = min_dist_sort[np.amin(np.where(min_dist_sort[:,ind] > 0), axis=1), ind]
        except:
            min_dist[ind] = min_dist_sort[np.amin(np.where(min_dist_sort > 0), axis=1)]

    # for random restarts during batch processing. We need to initialize at every
    # batch. Lock the seed here.
    seed= np.random.randint(low=1 ,high=2**31)
    np.random.seed(seed)

    # Inverse of lengthscales should be drawn from truncated Gaussian |N(0, max_dist^2)|
    # dim: Q x D
    # mixture_scales = tf.multiply(,tf.cast(max_dist,dtype=tf.float32)**(-1)

    mixture_scales = (np.multiply(np.abs(np.random.randn(num_mixtures,input_dim)),
                                         np.expand_dims(max_dist ,axis=0)))**(-1)

    # Draw means from Unif(0, 0.5 / minimum distance between two points), dim: Q x D
    # the nyquist is half of maximum frequency. TODO
    nyquist = np.divide(0.5 ,min_dist)
    mixture_means = np.multiply(np.random.rand(num_mixtures,input_dim),\
                                                       np.expand_dims(nyquist,0))
    mixture_means[0,:] = 0

    # Mixture weights should be roughly the std  of the y values divided by
    # the number of mixtures
    # dim: 1 x Q
    mixture_weights= np.divide(np.std(train_y,axis=0),num_mixtures)*np.ones(num_mixtures)

    return mixture_weights, mixture_means, mixture_scales.T

[3] Full stack of the error:
Traceback (most recent call last):
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1323, in _do_call
    return fn(*args)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1302, in _run_fn
    status, run_metadata)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 473, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [100,4] vs. [10000,4]
	 [[Node: gradients/DGP-ca7720f0-47/add_grad/BroadcastGradientArgs = BroadcastGradientArgs[T=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](gradients/DGP-ca7720f0-47/conditional/ExpandDims_7_grad/Shape, DGP-ca7720f0-47/conditional/Shape_5)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/demo/run_code.py", line 107, in <module>
    AdamOptimizer(0.01).minimize(m, maxiter=5000)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/training/tensorflow_optimizer.py", line 115, in minimize
    opt()
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/actions.py", line 143, in __call__
    self.run(context)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/actions.py", line 365, in run
    context.session.run(self.optimizer_tensor, **self.run_kwargs)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 889, in run
    run_metadata_ptr)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1120, in _run
    feed_dict_tensor, options, run_metadata)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1317, in _do_run
    options, run_metadata)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1336, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [100,4] vs. [10000,4]
	 [[Node: gradients/DGP-ca7720f0-47/add_grad/BroadcastGradientArgs = BroadcastGradientArgs[T=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](gradients/DGP-ca7720f0-47/conditional/ExpandDims_7_grad/Shape, DGP-ca7720f0-47/conditional/Shape_5)]]

Caused by op 'gradients/DGP-ca7720f0-47/add_grad/BroadcastGradientArgs', defined at:
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/demo/run_code.py", line 107, in <module>
    AdamOptimizer(0.01).minimize(m, maxiter=5000)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/training/tensorflow_optimizer.py", line 107, in minimize
    feed_dict=feed_dict, **kwargs)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/training/tensorflow_optimizer.py", line 76, in make_optimize_action
    optimizer_tensor = self.make_optimize_tensor(model, session, var_list=var_list, **kwargs)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/training/tensorflow_optimizer.py", line 54, in make_optimize_tensor
    minimize = self.optimizer.minimize(objective, var_list=full_var_list, **kwargs)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/training/optimizer.py", line 343, in minimize
    grad_loss=grad_loss)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/training/optimizer.py", line 414, in compute_gradients
    colocate_gradients_with_ops=colocate_gradients_with_ops)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/ops/gradients_impl.py", line 581, in gradients
    grad_scope, op, func_call, lambda: grad_fn(op, *out_grads))
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/ops/gradients_impl.py", line 353, in _MaybeCompile
    return grad_fn()  # Exit early
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/ops/gradients_impl.py", line 581, in <lambda>
    grad_scope, op, func_call, lambda: grad_fn(op, *out_grads))
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/ops/math_grad.py", line 714, in _AddGrad
    rx, ry = gen_array_ops._broadcast_gradient_args(sx, sy)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/ops/gen_array_ops.py", line 532, in _broadcast_gradient_args
    "BroadcastGradientArgs", s0=s0, s1=s1, name=name)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2956, in create_op
    op_def=op_def)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1470, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

...which was originally created as op 'DGP-ca7720f0-47/add', defined at:
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/demo/run_code.py", line 100, in <module>
    m_dgp1 = make_dgp(X, Y, Z_100, 3, 3)
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/demo/run_code.py", line 57, in make_dgp
    minibatch_size=mb)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/core/compilable.py", line 90, in __init__
    self.build()
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/core/node.py", line 156, in build
    self._build()
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/models/model.py", line 81, in _build
    likelihood = self._build_likelihood()
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/decors.py", line 67, in tensor_mode_wrapper
    result = method(obj, *args, **kwargs)
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/deep_spectral_kernel/dgp.py", line 88, in _build_likelihood
    L = tf.reduce_sum(self.E_log_p_Y(self.X, self.Y))
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/deep_spectral_kernel/dgp.py", line 82, in E_log_p_Y
    Fmean, Fvar = self._build_predict(X, full_cov=False, S=self.num_samples)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/decors.py", line 67, in tensor_mode_wrapper
    result = method(obj, *args, **kwargs)
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/deep_spectral_kernel/dgp.py", line 74, in _build_predict
    Fs, Fmeans, Fvars = self.propagate(X, full_cov=full_cov, S=S)
  File "/l/gadichs1/conda_envs/deepgps_2_3/lib/python3.5/site-packages/gpflow/decors.py", line 67, in tensor_mode_wrapper
    result = method(obj, *args, **kwargs)
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/deep_spectral_kernel/dgp.py", line 64, in propagate
    F, Fmean, Fvar = layer.sample_from_conditional(F, z=z, full_cov=full_cov)
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/deep_spectral_kernel/layers.py", line 106, in sample_from_conditional
    mean, var = self.conditional(X, full_cov=full_cov)
  File "/l/gadichs1/gitrepos/aalto/Deep_Spectral_Kernels/deep_spectral_kernel/layers.py", line 91, in conditional
    mean, var = single_sample_conditional(X_flat)

InvalidArgumentError (see above for traceback): Incompatible shapes: [100,4] vs. [10000,4]
	 [[Node: gradients/DGP-ca7720f0-47/add_grad/BroadcastGradientArgs = BroadcastGradientArgs[T=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](gradients/DGP-ca7720f0-47/conditional/ExpandDims_7_grad/Shape, DGP-ca7720f0-47/conditional/Shape_5)]]

Can you include the code where you build the model? If you're using the MultiClass kernel you need to pass num_outputs or things won't work properly

here it is, i'm not using a Multiclass kernel.
def make_dgp(X, Y, Z, L, Q):
    """
    X - input data locations
    Y - target data
    Z - inducing points
    L - Number of layers
    Q - Number of Spectral components
    """
    D = X.shape[1]

    # the layer shapes are defined by the kernel dims, so here all
    # hidden layers are D dimensional
    kernels = []
    for l in range(L):
        weights, means, scales = sm_init(train_x=X, train_y=Y, num_mixtures=Q)

        kern = SpectralMixture(num_mixtures=Q, mixture_weights=weights,
                               mixture_scales=scales, mixture_means=means,
                               input_dim=D)
        kernels.append(kern)

    # between layer noise (doesn't actually make much difference
    # but we include it anyway)
    for kernel in kernels[:-1]:
        kernel += White(D, variance=1e-5)

    mb = 1000 if X.shape[0] > 1000 else None
    model = DGP(X, Y, Z, kernels, Gaussian(), num_samples=10, \
                minibatch_size=mb)

    # start the inner layers almost deterministically
    for layer in model.layers[:-1]:
        layer.q_sqrt = layer.q_sqrt.value * 1e-5

    return model

I haven't investigated the kernel code above, but the below fails for me:
N, Ns, D, Q = 5, 4, 3, 2

X = np.random.randn(N, D)
Y = np.random.randn(N, 1)
Xs = np.random.randn(Ns, D)

weights, means, scales = sm_init(train_x=X, train_y=Y, num_mixtures=Q)

kern = SpectralMixture(num_mixtures=Q,
                       mixture_weights=weights,
                       mixture_means=means,
                       mixture_scales=scales,
                       input_dim=D)

print(kern.compute_K(X, Xs))  # should be shape (N, Ns)

This is causing the error when I try using it in the DGP

yeah that was the error. thanks!


How to add the firebase configuration?

Hi, your work sound great! congratulations, but I am just starting and I can't find where can I put the firebase configuration, how I do that?, thanks again.
{
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: ""
}

Hi @MarcusGV, you can use the default firebase.initializeApp

Thanks, almost works :) Im using the polymer starter kit with polymer 3, but now I have another problem and I dont know why :( , could you help me? when I click on the google button for example to login, I got this errors :(, but I cant find where is the problem :(, sorry Im just starting :(

Hi @MarcusGV, that has nothing to do with the component, you only need to import firebase on your index file and start firebase app there, you are probably setting up something wrong on your end on your firebase.json, or looks like there is something wrong with your build


On moblie nav menu  is truncated

I do not know how to fix it in css. Would you be able to say what I should change to collapase menu on mobile?

Ok, It slides from right to left, sorry :P


Improve ALPACA interface scaling and projection options

Rename Skip Scaling to Scaling with a checkbox enabled by default.
Rename Skip Projection to Projection with a checkbox enabled by default

Addressed in https://github.com/SlicerMorph/SlicerMorph/pull/316


Async functions returns any

TypeScript Version:   nightly (2.1.0-dev.20160907)
Code
class test {
  async run<T>() {
    let res = await query();
    return res as T;
  }
}

let t = await new test().run<FILE>();

Expected behavior:
t is of type FILE
Actual behavior:
t is of type ANY
If I set return type of run to Promise<T> all works fine.

Can you submit a self-contained repro? The above code does not compile. When I stubbed in the missing parts (see code below) I got the expected result (i.e. t is of type FILE):
interface FILE {f}
function query(): any {}

class test {
  async run<T>() {
    let res = await query();
    return res as T;
  }
}

async function foo() {
    let t = await new test().run<FILE>(); // t is FILE here
}

I'm seeing similar thing - except that I'm getting an error 'An async function or method must have a valid awaitable return type`
Code:
import * as $Promise from 'bluebird'

class Test {
    async test() {
        const result = await $Promise.resolve(5)
        return result
    }
}

const a = new Test().test() //type: any

tsconfig:
{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "moduleResolution": "node",
        "isolatedModules": false,
        "jsx": "react",
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "declaration": false,
        "noImplicitAny": false,
        "removeComments": true,
        "noLib": false,
        "outDir": "lib",
        "rootDir": ".",
        "preserveConstEnums": true,
        "suppressImplicitAnyIndexErrors": true
    },
    "compileOnSave": false,
    "buildOnSave": false
}

for my side you can close it - my mistake I was doing:
if (n === 0) return null;
return n;

That's why TS cast it to any.
Thanks!


[Event Request] Codeunit 23 Item Jnl.-Post Batch - InsertTempSKU

In function InsertTempSKU
"Variant Code" := ItemJnlLine."Variant Code";
// ==> NEW
OnBeforeInsertTempSKU(TempSKU,ItemJnlLine);
// <== NEW
INSERT;
END;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Add replit example

Other than manually handling the captcha, this test logs into replit, opens a project, updates it, and runs it.
https://replay.io/view?id=dcacea63-e100-42b6-8b97-a034d78c8cbe

Going to land this with the caveat that we might not be able to run these headless if the captcha continues to be a problem. Will still be good to have a version that can be run manually, I think.


Travis CI + pyusb

I know that this isn't really an issue/bug, but I was wondering if I could get some help.
I'm looking to override pyusb for Travis CI/any other CI environment. When i call pyusb in travis there's (obviously) a problem:
Traceback (most recent call last):
  File "/home/travis/build/stephengroat/PyPowerUSB/test/test.py", line 7, in test_constructor
    handle = pwrusb.PyPwrUSB()
  File "pwrusb/pwrusb.py", line 20, in __init__
    busses = usb.busses()
  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/usb/legacy.py", line 353, in busses
    sorted(core.find(find_all=True), key=lambda d: d.bus),
  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/usb/core.py", line 1246, in device_iter
    for dev in backend.enumerate_devices():
  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/usb/backend/libusb0.py", line 440, in enumerate_devices
    _check(_lib.usb_find_busses())
  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/usb/backend/libusb0.py", line 431, in _check
    raise USBError(errmsg, ret)
USBError: [Errno None] couldn't opendir(): No such file or directory

I was wondering if there's any single point that's easy to override for actions like these (to write action to a file for checking or comparing to known good values).
Thanks and sorry to bother (close if too off topic)

It feels like travis server/container doesn't enable usbfs drivers. You can write your own backend that would fake a real device.

Are you talking about putting some in /dev/usb and having that device pipe something out to the file system?

I mean, implementing a mock IBackend interface.

perfect info. i'll try that this week

Closing as there isn't much we can do on our side.
Users running into this problem – on systems without USB drivers or, more likely, in containers – should mock the necessary backends (see: ap--/python-seabreeze@f7e7d642f423).
And this is generally not a problem anymore: I routinely have tests run find in CI servers without issues (admittedly not on Travis, but that should work as well as long as containers are not used).


Upgrade to DotNet 8

Feature Type
[ ] Clarity Port
[x] Enhancement
Description
Please check the possibility of updating the project to .NET 8. I tested Blazority in a Blazor Web App project, and the icons stop being displayed when navigating between pages. I suspect there may be other inconsistencies.
This library has become really, really good, and it would be a shame not to update it.

Resolved via v2.0.0 release, please check the getting started guide as the theme usage/switching between light and dark theme has changed, for more information see Changelog: https://github.com/blazority/support/blob/2.0.0/CHANGELOG.md


Enable networkd by default

Description of changes
Enables networkd by default and adjusts docs and tests accordingly.
Things done

[ ] Make sure all the tests still work

[ ] fix eval on containers-restart-networking
[ ] Fix tests known to be broken by this PR

[ ] all container tests
[x] quorum
[ ] initrd-network-ssh
[ ] mutableUsers
[ ] systemd-networkd-dhcpserver-static-leases
[ ] switchTest
[ ] openssh
[ ] nsd
[ ] xandikos
[x] knot

[ ] Work out which other tests break (the following are still unknown)

[ ] blocky
[ ] cage
[ ] cassandra_3_0
[ ] cassandra_3_11
[ ] containers-nested
[ ] engelsystem
[ ] enlightenment
[ ] geth
[ ] installed-tests.flatpak
[ ] kea
[ ] libvirtd
[ ] musescore
[ ] ndppd
[ ] plotinus
[ ] prosody
[ ] prosody-mysql
[ ] samba-wsdd
[ ] sourcehut
[ ] systemd-networkd-dhcpserver
[ ] systemd-networkd-ipv6-prefix-delegation
[ ] trafficserver

[ ] Check for any networking.* options that are ignored when using networkd
[ ] Talk about useDHCP and anyInterface some more -- do the defaults make sense?
[ ] Check whether things make sense when networkmanager is also enabled
[ ] Determine whether DNS server modules should warn when resolved is enabled, or even disable it themselves
[x] Fits CONTRIBUTING.md.

super stoked for this!
I have been using the networkd backend for a while now and it is rock solid. Might be worth adding some docs about how networking.<interface> and systemd.network.networks.<interface> are related. I found this confusing at first. I could write something, but I am sure there are people with better knowledge out there

@danielbarter yes, that would be great! If you want to pair at some point to get this moving again let me know, I'm @linus:schreibt.jetzt (you can find me in most of the big Nix-related channels) on Matrix :)

👍. Should have some time next weekend.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/california-bay-area-meetup-nix-20th/26553/3

Really looking forward to have this in 23.11. Had much better experience with networking.useNetworkd = true; regarding IPv6 support

The tests for kea and networkd-prefix-delegation rely on networkd only, so I expect them to be fine.

I'm also excited for networkd, but to temper the enthusiasm above: I have been trying to switch my systems to networkd for about a week now and haven't yet succeeded. I will keep opening PRs and issues as I discover details, but to briefly list what I've been running into:

If I switch or test from a scripted configuration to one with useNetworkd, I lose all interface connectivity on the target host (for some hosts with non-trivial network configs). This can happen even when a clean boot into the new config works. I haven't yet pinned down the root cause, but I found that some permutation of enabling resolved or systemd.network.enable (without useNetworkd) triggered the issue. It might also have something to do with dhcpcd. Why is this an issue? Because it makes switching more difficult to pull off on systems where lots of rebooting creates too much downtime (like a router or server).

I found some of my networks were configured nonsensically with useNetworkd. See https://github.com/NixOS/nixpkgs/pull/258677 and https://github.com/NixOS/nixpkgs/pull/258695 for fixes.

I ran into (still undiagnosed) issues with NixOS container connectivity when enabling useNetworkd.

The default services enabled with useNetworkd can clash with an existing configuration in unexpected ways. For example, enabling useNetworkd on my router broke DNS on my network because the router runs dnsmasq, which conflicted with the ports bound by the now-enabled-by-default resolved.

Some of these are issues we can fix in nixpkgs, while others are footguns that users should be made aware of prominently in the release notes.
Since there could be myriad problems for existing users, would it make sense to start by enabling useNetworkd for new installations (through a stateVersion check and/or default config) and see what happens with a broader audience? I suspect most current useNetworkd users are competent early adopters.

switching doesn't work: this is a known issue and I don't think it's something we should invest much effort into improving (though it might be worth detecting this and cancelling a switch). Systems should be rebooted on a regular basis to ensure they're running recent kernels anyway, and upgrading to a new release is generally expected to require a reboot.
silly configuration: some good catches there, thanks!
containers: maybe @ma27 knows something relevant?
services on port 53: these problems are exposed by many of the tests, which is why I put a big checklist in the description and some discussion on here about what the best way to deal with that is.

switching doesn't work: this is a known issue and I don't think it's something we should invest much effort into improving (though it might be worth detecting this and cancelling a switch).

Yes, detecting and cancelling would help if there aren't plans to support it. It's not only an issue for release (where as you say, a reboot is expected) but also in case users want to make the switch sometime before or after the release. The issue with a required reboot isn't one reboot, but the potentially many reboots and loss-of-connectivity events that come with troubleshooting the switch to networkd.

services on port 53: these problems are exposed by many of the tests, which is why I put a big checklist in the description and some discussion on here about what the best way to deal with that is.

:+1: I don't see a dnsmasq test there but I can find or make one. It seems adding --bind-interfaces to dnsmasq options is the generally accepted way to make it play nicely with resolved (and I found this to work).

Another config generation fix: https://github.com/NixOS/nixpkgs/pull/259619

Failing test for dnsmasq+resolved: https://github.com/NixOS/nixpkgs/pull/259644

Ohh, here's a fun one! I switched a machine to networkd and its DHCP-assigned IPv4 address changed even though this machine's MAC address has a static address reservation configured on the DHCP server (Kea). This happened because the DHCP Client ID changed when switching to networkd. I don't think we can do anything to fix this, but we should mention it in the upgrade instructions when networkd becomes the default.

re containers: if it's about DNS, you'll most likely need sth. like networking.useHostResolvConf = !hostConfig.networking.useNetworkd;.
"issues with NixOS container connectivity" is rather vague, so that's just a wild guess.
Even the existing container subsystem works surprisingly well with networkd I discovered over the last months.

Ah I thought I had sent this comment last week, but apparently I didn't. Anyways, here we go:

Fix tests known to be broken by this PR

Haven't looked through all, but e.g. openssh is only broken because of the underscores in the hostnames. I totally forgot about this, but given that resolved prohibits this, we should drop it entirely from the testing framework.

Superseded by #264967


Detect not_called() and similar mistakes with Python mocks before Python 3.12

Python 3.12 started to report errors when mock assertion is done with a "common" mistake:
mock.not_called()

This does not do what you think it does, and when you run it with Python 3.12 you will get error:
'not_called' is not a valid assertion. Use a spec for the mock if 'not_called' is meant to be an attribute.

The correct way of calling it is:
mock.assert_not_called()

Similar for other methods. It's very easy to miss it during review and for Python < 3.12 that call gets silently ignored (obviously it looks like you are calling not_called method on mock and it will just record the call in the mock.
For projects like Apache Airflow where we optimize most PRs and run most tests with "lowest" supported Python (Python 3.8) this leads sometimes to false-positives where the tests start to fail in Python 3.12 "canary" build where it performs full suite of tests (not mentioning that this test passing on Python 3.8 does not test anything anyway because it does not make any assertion).
Example case where it caused our "canary" builds to fail https://github.com/apache/airflow/pull/42027
It would be great to detect such "mistakes" via static checks with ruff as a new rule.

This might be a good addition to PGH005, assuming that that rule doesn't flag this already

Indeed PGH005 does not currently flag this: https://play.ruff.rs/5f47abd1-efa4-4fd9-8077-616ae57edbad.
There's a possibility of false positives here as we don't yet have type inference in Ruff. If the object is not a mock, just a regular class that has a not_called() method, then we'd emit a spurious error on the not_called() call, because we currently only have limited capability to detect the type of an object. However, this seems relatively unlikely, given that not many classes have methods with names like not_called(). So I think this should be fine to implement now.

So I think this should be fine to implement now.

Would be fantastic :)


[Feature Request] keep original request headers when making new ES requests

Hi,
We are migrating the usage of kopf to Cerebro. One use case Cerebro does not fit for us is its abaondom all the request headers from the original http request. Kopf did not and used to keep all the headers. We need some info from the original request header because we are monitoring where and who are making ES requests for each clusters by using the header info.
Is it possible to add a feature to optionally keep all or some of the original request headers?

Any update on this topic?
This feature would be great. I'd also be open to contribute this feature with some guidance from a maintainer.

See #349


Date facets have mm/dd/yyyy format

Filter facets (does not apply to data-entry inputs, see re-opened issue) should be yyyy/mm/dd

The displayed date is formatted based on the locale of the user's browser, but the result will be yyyy/mm/dd. I don't think we can change this in the native input. So we going to need to replace the input and use a date picker

What does it look like for your browser? @jlpereira

dd/mm/yyyy

Let's leave it native.


docs(all): integrated documentation using canonical MkDocs template

Moved old docs folder containing source files for legacy Cactus documentation to docs-cactus.
Created new docs  folder using the MkDocs template specified in https://github.com/tkuhrt/documentation-template as the base.

Created overview files with useful links, diagrams, and references, for new and existing users
Migrated older Cactus and Weaver documentation for getting hands-on with code and samples to the new website, available through separate tabs
Fixed formatting, image references and other URLs, and organization
Created several stub files with temporary links, to be filled and expanded upon in due course, drawing on content already present in the above legacy documents

Added a GitHub action to automatically push the documentation build (generated using mkdocs) to the gh-pages branch, and then publish those the hyperledger organization's GitHub page for Cacti.

To get an idea of how this looks and feels, see https://vramakrishna.github.io/cacti/, where these docs are currently being served from.

Updated Discord handles for maintainers in the MAINTAINERS.md file.
Fixed formatting typos in old doc files.

Please comment here if you would like to add or remove pages from the current website (sample: https://vramakrishna.github.io/cacti/).
There's a lot more we need to do to enhance this website, including filling in content wherever needed, removing redundant content, reorganizing the Cactus and Weaver pages into a common set of pages where we show how the different Cacti packages and transaction pipelines can be instantiated and tested, and providing more detailed info on releases and roadmap.
For these, I think we can open issues and divide tasks among ourselves. For now, let us publish the documentation, just making sure there is no incorrect or misleading info there.


OWNERS: Add 0xFelix and lyarwood to the list of approvers

What this PR does / why we need it:
Add 0xFelix and lyarwood to the list of approvers
Release note:

None

Can you also add @lyarwood ?

@akrejcir Updated

/lgtm
Thanks :)

/lgtm
/approve