Add custom glyph support

I wanted to add some custom non-unicode legends to my keys, so I threw this together. It allows users to define custom svg blocks as legends.
I choose to use nested SVG tags in an attempt to make it easier for people to use. I hope this will let them just copy/paste svg blocks and be able to test them outside keymap-drawer.
Furthermore, I am not super experienced with how SVGs work so if there is a better way to do this let me know, I'd happily update it. Some work could be done to clean up having two strategies of rendering legends. If we are interested in that I can go back through and try to clean it up and maybe add a stdlib of baked in glyphs?

Some work could be done to clean up having two strategies of rendering legends.

What do you mean by the two strategies exactly?

maybe add a stdlib of baked in glyphs?

I have looked into using Tabler icons before and it seemed like it could be a good fit since they provide SVG source that can be embedded and referenced. Adding them all or even a subset might be a bit much but we could dynamically fetch them when we encounter a reference to them. That being said, it could be left to a future PR and this one could focus on user-provided SVGs only.

Hi there, thanks a lot for the contribution! This looks like a very nice addition and I can see you've very well thought out the edge cases etc. as well. I will experiment with this and check in again but I left some questions and small style fixes etc. in the comments.

Oops formatting. I'll have to debug why black wasn't working.

One high level question: Do you think it would be better to embed all glyphs at the start of the SVG then reference them using the use element? It might be a good optimization in case one glyph will be used more than once. I think x, y, height, width properties is possible to add to the use element but I haven't tried.

Already working on it ;)

It would also be nice to tie the glyph sizes to the font sizes specified in the CSS somehow but it doesn't look trivial, especially since size needs to be calculated dynamically.

I thought about trying to derive h/w from the font but it's pretty complex. I couldn't find an easy way to make CSS and SVG scaling to play along nicely so we would have to parse the CSS, find the text size for the given element we are trying to write, and calculate it on the fly. Also, I feel implicit configuration like that is just a user nightmare waiting to happen.  (Once SVG2 is more supported this will be easier as SVG objects become properly controlled by CSS)
I had also briefly entertained the thought of letting users change height as part of placing a glyph {glyph: x, height:  10}, instead of the magic string, which could provide height per glyph support.

Some work could be done to clean up having two strategies of rendering legends.

What do you mean by the two strategies exactly?
Right now glyphs are kinda hacked together and shoved into _draw_text. It would be a bit cleaner if introduced a _draw_legend method which would be responsible for determining the method of render. This could also clean up the legend_type comment above.

maybe add a stdlib of baked in glyphs?

I have looked into using Tabler icons before and it seemed like it could be a good fit since they provide SVG source that can be embedded and referenced. Adding them all or even a subset might be a bit much but we could dynamically fetch them when we encounter a reference to them. That being said, it could be left to a future PR and this one could focus on user-provided SVGs only.

Oohh Tabler sounds nice. Adding support to load files would be a nice enhancement and make using Tabler even easier.

use is now implemented. It requires a bit of magic with css since it has to push the styles through the shadow dom but I think it should be good.

I thought about trying to derive h/w from the font but it's pretty complex. I couldn't find an easy way to make CSS and SVG scaling to play along nicely so we would have to parse the CSS, find the text size for the given element we are trying to write, and calculate it on the fly. Also, I feel implicit configuration like that is just a user nightmare waiting to happen. (Once SVG2 is more supported this will be easier as SVG objects become properly controlled by CSS)

I agree that it seems too cumbersome right now, so I'd continue with the current approach.

I had also briefly entertained the thought of letting users change height as part of placing a glyph {glyph: x, height:  10}, instead of the magic string, which could provide height per glyph support.

I also agree that magic strings with a shared config are the way to go rather than adding other types under LayoutKey fields. Differing dimensions per key/legend doesn't sound too useful to me.

Right now glyphs are kinda hacked together and shoved into _draw_text. It would be a bit cleaner if introduced a _draw_legend method which would be responsible for determining the method of render. This could also clean up the legend_type comment above.

I see, it doesn't look too bad to me right now but feel free to refactor if you feel it would be better.
Re: legend_type, what do you think about the suggestion? That's about the only comment I have left right now. I feel like we are duplicating info by making legend type affect both cls and legend_type.

use is now implemented. It requires a bit of magic with css since it has to push the styles through the shadow dom. I've tried to use currentColor but failed to get it to work. Copying things out of Tabler doesn't seem to work out of the box. :(

Thanks, it looks pretty good! The workaround looks reasonable to me. I will test things out tomorrow and I'll let you know if I can figure out why Tabler icons don't work, but I feel like you might be ahead of me there 😄
For the future, I could envision a Tabler integration to look like the following: When you encounter $$volume$$ check first if volume is in draw_config.glyphs and if so use that. If not, fetch https://tabler-icons.io/static/tabler-icons/icons/volume.svg and embed that instead. Kind of analogous to how QMK physical layouts are fetched from the QMK API if they aren't in resources/qmk_layouts.

I see, it doesn't look too bad to me right now but feel free to refactor if you feel it would be better.
Alright I'll take a stab at that tonight and I'll address the legend_type as well

@caksoylar I've added a new commit which refactors _draw_text, let me know what you think.

I like the way you refactored it, with legend_type separated from cls and the separate methods. Thanks again!
I might do some code style or docs tweaks later on, but I won't bother you with them. I'll give this a test ASAP and if it looks good we can merge.

@caksoylar I've pushed a few more changes

removed compiled regex, they aren't needed and it's cleaner without them
forcefully purge height/width from imported glyphs. They cause issues and it's easier for the user to not have to worry about it
custom tabler-icon styling which cleans up their svgs so they look better

Thanks, improvements look good! Yes, I'd appreciate if you could move the glyph loader to another PR 😄
A few comments on implementation things:

* removed compiled regex, they aren't needed and it's cleaner without them

I'd actually prefer them to be compiled in the constructor, since some of them are used multiple times (e.g. is_glyph one is at least once per key) and pre-compiling should make some performance difference. I am fine not compiling if they are used a constant amount of times.

* forcefully purge height/width from imported glyphs. They cause issues and it's easier for the user to not have to worry about it

Thanks!

* custom tabler-icon styling which cleans up their svgs so they look better

Thanks for spending time tweaking this too, but note my comment in the review on the location of the settings inside the CSS string.
Thoughts on glyph downloading for the new PR: I'd prefer you use the approach in https://github.com/caksoylar/keymap-drawer/blob/main/keymap_drawer/physical_layout.py#L296, namely:

Use urllib.urlopen since that's from the stdlib and we shouldn't need anything fancier than that to fetch the icons (or do we?)
Use lru_cache rather than the filesystem cache -- I'd prefer not to be saving files to the filesystem internally, at least it doesn't seem necessary at this stage of the project.

Thanks again for the contribution! I merged your changes in https://github.com/caksoylar/keymap-drawer/commit/36a83d5463ad4a1a21bf413fb59fe1fd4846a1f8, with a few changes noted in the commit message. I'll hopefully get to incorporating #17 soon with some tweaks as well.


Add support for returning RefreshToken

Not sure why this wasn't returned in the response -- doesn't hurt if its empty.  I am using this lib to create a golang version of az login.  The Azure CLI creates ~/.azure/msal_token_cache.json which may contain a refresh token.

I happen to need this refresh token as well. Any reason the library can't return the entire oauth response?
The previous ADAL go library did, so currently migrating to MSAL is hard without the same results from the client,
https://github.com/Azure/go-autorest/blob/71d02b67e17a3d80abf8db171f1ca80c39eb2e90/autorest/adal/token.go#L100

MSAL does not expose the refresh token to the end user by design. It is stored and used internally under the hood when you need a new access token. You should call acquireTokenSilent each time you need an access token and MSAL will manage the tokens by either returning a cached token to you or using the refresh token to acquire a new access token.

MSAL does not expose the refresh token to the end user by design. It is stored and used internally under the hood when you need a new access token. You should call acquireTokenSilent each time you need an access token and MSAL will manage the tokens by either returning a cached token to you or using the refresh token to acquire a new access token.

This functionality is broken if you don't already have a token with a matching scope.  #287 fixes that.

We do provide you the interface to cache tokens in a persistent storage using a cache accessor on your app object.
We have a sample cache accessor using a file here
And an example of how to pass it to the application object here

It is stored and used internally under the hood when you need a new access token.

What if we want a refresh token and not an access token? There are situations where you want to pass a refresh token to an opaque service which will manage token acquisition on its own from that point on. In this case the downstream service doesn't need to understand know anything about MSAL, it just needs to understand OAuth.
Also, providing the refresh token in the response doesn't limit MSAL from working as originally designed, but not providing it causes friction with existing oauth libraries in the ecosystem.
@abhidnya13 is it possible to rethink this design choice? Currently, the workaround would be to pass a cache interface so that the cache gets serialized, then deserializing the cache immediately to reclaim the refresh token. However, this feels a bit over-kill?

The token cache should be used as the storage of the RT. You can and should be serializing the cache. MSAL takes care of refreshing the AT as needed.


Steps to Make the project running needed

Can you please mention the steps to make the project running and also the versions of node and npm.

The dependency issue is now fixed, you can run it by executing the command npm i on the server side and client side. Make sure that the mongoDB server is running on localhost:27017. Do reach out to me if you run into any issues.

Thank you


Add more relationships to Kubernetes resources returned by the Steve API

Internal ref: SURE-4367
Steve adds metadata.relationships to resources which the UI presents in the 'Related Resources' section of the UI for a given k8s resource.
See - https://github.com/rancher/dashboard/issues/5653 - currently there is a limited set of relationships that are reported - we should review these and add additional relationships.
Specifically:

Pod <-> PVCs
PVC <-> PV

.. but someone should look at what relationships are currently generated and which others would make sense to be more complete.

@samjustus - Can you triage this with your team and take a look at maybe slotting this into either 2.6.6 or 2.7?

Bumping to 2.6.7

Moving to 2.7.0 milestone as old 2.6.6 becomes 2.6.7.

moving this to the backlog as well with other UI team priorities considered for 2.7

This should have scale testing done afterwards to ensure there isn't a negative impact.

we need a comprehensive list of the desired relationships for us to consider @nwmac

@samjustus The specific ask is for:
Pod <-> PVCs
PVC <-> PV
Please scope this to just those relationships.


generate registry and add fup-repl to env

fixes #17
The command is just repl, I don't know if it needs to be flk repl since its a really generic command.

I don't know if it needs to be flk repl since its a really generic command.

I think it would be better to implement this as a flk subcommmand. flk is our entrypoint and should list corresponding help text, too.

I think it would be better to implement this as a flk subcommmand. flk is our "entrypoint" and should list corresponding help text, too.

added to flk too, but this only works for user's devshell but not diggas. So #40 should clear that up.

bors r+

bors r-

ahh sorry, this is somewhat dependent on #40

ok now this is ready to go

bors r+

bors r+


Allow to_json on ActiveStatus:Status:Status

I was trying to do this in a controller:
def status
  status = ActiveJob::Status.get(params[:job])
  render json: status.to_json
end

But it was not working, I've discovered I had to do status.read.to_json. I could also fix it by adding to_json to line 3 of status.rb. I think that should be added, or maybe add some documentation for ActiveStatus::Status::Status.read.

Hi @DamianPereira
The method to_json has been added to Status.
Thanks for the feedback.


Add IndexAPI

Summary of Changes
This PR adds an API for manipulating elasticsearch indices. Right now it only supports DELETE, which is useful for wiping out an index, as necessary (most often in local development or a staging environment)
Tests
I added tests for the new method in elasticsearch proxy and the new API
Documentation
I added Swagger documentation for the endpoint
CheckList
Make sure you have checked all steps below to ensure a timely review.

[x] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[x] PR includes a summary of changes.
[x] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[x] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

[x] PR passes make test

Codecov Report

Merging #73 into master will increase coverage by 0.09%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master      #73      +/-   ##
==========================================
+ Coverage   80.57%   80.66%   +0.09%
==========================================
  Files          14       15       +1
  Lines         520      538      +18
  Branches       47       49       +2
==========================================
+ Hits          419      434      +15
- Misses         84       86       +2
- Partials       17       18       +1

Impacted Files
Coverage Δ

search_service/api/index.py
100% <100%> (ø)

search_service/proxy/atlas.py
85.84% <50%> (-0.69%)
:arrow_down:

search_service/proxy/base.py
68.18% <66.66%> (-0.24%)
:arrow_down:

search_service/proxy/elasticsearch.py
73.61% <87.5%> (+0.71%)
:arrow_up:

Continue to review full report at Codecov.

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

@friendtocephalopods


No error reporting

There is no real error reporting in this app yet, so that needs to be added. At the current time, the send() function simple works or fails.
The api responses are at: https://www.zoho.com/transmail/help/api/email-sending.html#alink2
Also need to throw configuration errors if possible (i.e. missing or malformed params).

Completed and closed with commit c18c433


Eraser often erases somewhere else then where the cursor is

When I try to use the eraser it often erases things that are not at the location of my cursor. At the same time the things at my cursor do not get erased.
I have the same behaviour on Firefox 92.0 (64-bit) and Edge Version 92.0.902.78 (Official build) (64-bit).

Thank you for this report.  Another user has reported the same, but so far I have been unable to reproduce it.  I will have another go.

It seems to be more prevalent when you try to erase larger area’s after each other. Almost as if moving the cursor during erasing somehow gives it an offset.
From: Nigel Gilbert @.>
Sent: Saturday, 2 October 2021 14:55
To: micrology/prsm @.>
Cc: Melchior, A.T. (Alexander) @.>; Author @.>
Subject: Re: [micrology/prsm] Eraser often erases somewhere else then where the cursor is (#97)
Thank you for this report. Another user has reported the same, but so far I have been unable to reproduce it. I will have another go.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/micrology/prsm/issues/97#issuecomment-932747614, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOE5G4PDPA7Z6KLNHFZYR73UE36LDANCNFSM5FET7I7A.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I have had another attempt to reproduce this bug, but without success.  The eraser works just as expected for me.  Would you be able to help by sending me an example that I can follow to reproduce the bug?

I found one additional “feature” of the bug.
It appears to be an offset between the cursor x,y and where the eraser starts to erase (a different x,y). I do notice that in the top left the offset is 0 and getting larger horizontally if I go the right and larger vertically if I go down. Thus I assume that in the used (x,y) coordinate system the top left is (0,0) and bottom right is (max, max). So there might be some multiplication going on that explains the increasing offset.

Tried to recreate the issue by starting fresh “session”. Tried this on Firefox 92.0.1 64-bit on windows 10.
Start session, name board, enable eshow drawing layer to enable drawing gui.
Try to draw anything (line, brush, pencil) and I experience the same offset. But: the drawn line appears, when releasing the mouse button, where my mouse was originally. The “example line” while drawing is somewhere else though. So the “preview” of your drawing has the offset, but the resulting line doesn’t.

Thanks for the instructions.  I have now been able to reproduce this - by using Windows 10 and Firefox (it behaves the same on Edge).  Drawing works properly and as expected on Mac OS (which I use for development) but incorrectly on Windows.  Now I know how to reproduce the problem, I can work out a solution.


add .editorconfig config

This pull request adds an .editorconfig file to the repository to standardize code formatting across most editors and IDEs.
Including this file will ensure a consistent formatting style regardless of the editor or IDE used. This will minimize unnecessary whitespace code diffs in pull requests (made by different editor configurations).
Also, having a final newline in files is a good practice for git, as adding new code at the end of the current code will produce a reduced diff.

Sounds reasonable :)
Is there a way to apply the code style to the whole codebase automatically or will we have to go though every file at least once?

I'm afraid there isn't a tool for that, but I can do that job manually, as most files already follow this style guide (cargo fmt enforces trailing newlines and whitespace trimming already).


Bug: Wildcard transition catching done event before onDone handler

Description
In order to catch unexpected events and make sure I handle them, I use a top-level wildcard transition at the root level of my machine. This enables me to transition to an "unexpected event" state and log what happened, etc.
I noticed that when using a compound state with a final child state and an onDone transition, the wildcard transition is taken instead of the onDone transition.
Expected result
The onDone transition is taken.
Actual result
The wildcard transition is taken.
Reproduction
https://stately.ai/viz/6363d58b-2950-4a3a-bee1-f1cbbb73bd02
Additional context
No response

This isn't the most ideal workaround, but you can add a guard to the wildcard transition:
  on: {
    "*": {
      target: "unexpected_event",
      cond: (_, e) => !e.type.startsWith("done.state")
    }
  },

https://codesandbox.io/s/mystifying-darwin-ofvt46?file=/src/index.js:340-458
This is more than likely already fixed in v5 (still in alpha).

Thanks @davidkpiano. I considered a workaround like that. The one downside is that it would make the wildcard transition less useful for catching missing onDone transitions elsewhere.
I ended up working around this by not using a final child state and instead just using the transition I wanted to make directly:
ts```
states: {
task: {
initial: 'starting',
states: {
starting: { on: { TASK_FINISHED: 'finished' }},
finished: '#done'
},
},
done: { id: 'done' },
},

I'm happy to try to do some debugging and put up a PR if you think it would be useful to fix in v4, but if not, no worries.

I'm happy to try to do some debugging and put up a PR if you think it would be useful to fix in v4, but if not, no worries.

Unless @Andarist has any quick ideas, this is probably not a trivial fix; might be better to wait for v5 and use the workaround for now.

The bug is caused by the "incorrect" behavior that was implemented in XState long time ago (IIRC it should already be fixed in v5).
When entering a final state we raise 2 events, in this case, those are:
done.state.done-bug.task.finished
done.state.done-bug.task

The SCXML spec only defines the latter (the done event for the parent state of a final state and not a done event for the final state itself). The given onDone only defined a transition for the latter but all events are matched in the same way. So the first event goes through the internals, it's ignored by onDone but matched by the * that we might find higher in the machine.

Ah that makes sense. Thanks for explaining! Sounds like changing those events would be a breaking change.
I could imagine having a special case to have an onDone transition catch all done events from children, but it would probably need to be smart enough to "merge" those two events and only trigger the transition once. I do think that would better match how I would expect onDone to work.

This works as expected in xstate@alpha (same code)


Release 0.22.2

I made a change for how pcre is installed when doing a release. I need to do a small release to test.
We have a commit to fix an issue in ProcessManager that can be that release.

Appveyor and TravisCI are green.
Blessing<PHONE_NUMBER>a8e7fc50e7c9da124645f8dbf60008

release underway.

homebrew pr opened https://github.com/Homebrew/homebrew-core/pull/28295

@stefantalpalaru @kamilchm release underway

release note PR opened: https://github.com/ponylang/ponylang.github.io/pull/288

RPM and Debian packages are available in bintray.

waiting on homebrew, windows and docker image builds.

docker images done. only waiting on appveyor which is taking a really long time. job is still queued.

playground has been updated to 0.22.2

windows build is running. i am getting "itchy". just merged the release notes. going to start spreading the word because i know windows will be done soon.

windows release is done. thanks for playing!

Gentoo ebuild updated.


Report potential bugs with "Right" and "B"

After I texted the actions onto the corresponding frames, made them into a video, and watched a few cases, I found that "right" actually records for the "B" button event, and "B" records the "Right" button event.

That's probably a problem in the getAction function. In my tests, the order was always the same (or I hope so), so I didn't notice any issue, but Lua tables, as most hashtable implementations, don't guarantee order. The solution would be to loop through a fixed list of button names (in the same order as stated in the readme) instead of looping through 'buttons' directly. I can't work on it right now, but I'll leave the possible solutions here in case you want to fix it yourself, or for my future self to fix it when I have the time: https://stackoverflow.com/questions/19260423/how-to-keep-the-order-of-a-lua-table-with-string-keys
Thanks for pointing that out.

BTW, did you test on your own recordings or in the repo dataset? I assumed it was the first case, but if it was the second, then my second question is: was this button swap consistent among all frames? If yes, than I can just change the readme and swap those 2 buttons. If it wasn't consistent, then I really messed up!

Thanks for your reply. I tested on the repo dataset, and I found this consistent among all the frames, The examples below (already swapped) look good to me.
https://github.com/user-attachments/assets/8e92b704-ed1d-4bff-974f-d1c4734f1349
https://github.com/user-attachments/assets/97f83ba1-af50-435c-9c10-dbe0822f907a

There is still something weird there: when you show 'up' it is actually 'A'. When you show 'down', it is actually 'up'. When you show 'start', it is actually 'down'.
For debugging, the single buttons in decimal are: select = 1, start = 2, B = 4, A = 8, right = 16, left = 32, down = 64, up = 128. Just add'em up to get combinations. Does it match the numbers in the filenames?

I just checked the filenames and they're all swapped indeed! It shows 64 while climbing the beanstalk in 2-1, which should be up, but is documented as down.

The correct encoding is:
start, select = 1 or 8, dunno
down = 2
right = 4
B = 16
left = 32
up = 64
A = 128
Does it make more sense to you?

Opus! Thanks for letting me know, otherwise I will feed my model with the wrong actions labeled. 🙏
To be honest, I'm not familiar with the Mario game, so I only find the "right" "b" is swapped. Let me update my code according to your comment and see.

@rafaelcp Yes I think everything is good now, thanks!


Invalid interpolation of the variables with the 'no' value

Description
When we try to use no as the value of a variable, the docker app interpolates the value as the false. When we cover the value of the variable with single or double quotes - the problem disappears (with the v0.7.3 binary / with the v0.8.0 binary, the workaround does not work).
I also attached the working examples - see the Annex №5,6,7,8 below (for v0.7.3).
Steps to reproduce the issue:  - v0.7.3

Have the docker-compose file with the following content - see the Annex №1 below.
Have the parameters.yml file with the following content - see the Annex №2 below.
Have the parameters.yml file with the following content - see the Annex №3 below.
Execute the following render command - docker-app-standalone-linux render.
Receive the invalid render output - see the Annex №4 below.

Steps to reproduce the issue:  - v0.8.0

Have the docker-compose file with the following content - see the Annex №9 below.
Have the parameters.yml file with the following content - see the Annex №10 below.
Have the parameters.yml file with the following content - see the Annex №11 below.
Execute the following render command - docker-app-standalone-linux render.
Receive the invalid render output - see the Annex №12 below.

Describe the results you received:
Unfortunately, we've got the invalid output. It took some time to figure out why we have got the wrong value in the rendered compose file. As a temporary crutch, we have covered this value with single or double quotes, and we have switched to the older version.
Describe the results you expected:
We expect correct interpolation of the values of the variables from the docker-app binary.
Output of docker version:
Client:
 Version:           18.09.7
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        2d0083d
 Built:             Thu Jun 27 17:56:06 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.7
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       2d0083d
  Built:            Thu Jun 27 17:26:28 2019
  OS/Arch:          linux/amd64
  Experimental:     true

Output of docker-app version: - latest binary
Version:               v0.8.0
Git commit:            7eea32b7
Built:                 Tue Jun 11 20:53:26 2019
OS/Arch:               linux/amd64
Experimental:          off
Renderers:             none
Invocation Base Image: docker/cnab-app-base:v0.8.0

Output of docker-app version: - binary in use
Version:      v0.7.3
Git commit:   332efaa
Built:        Fri Nov 30 15:17:53 2018
OS/Arch:      linux/amd64
Experimental: off
Renderers:    none

Output of docker info:
Containers: X
 Running: X
 Paused: X
 Stopped: X
Images: X
Server Version: 18.09.7
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: local
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: active
 NodeID: ID
 Is Manager: true
 ClusterID: ID
 Managers: X
 Nodes: X
 Default Address Pool: <IP_ADDRESS>/8
 SubnetSize: 24
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 10
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
  Force Rotate: 0
 Autolock Managers: false
 Root Rotation In Progress: false
 Node Address:  IPADDR
 Manager Addresses:
 IPADDR
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-957.21.3.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 55.86GiB
Name: hostname
ID: ID
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8
Registry Mirrors:
 http://localhost:6000/
Live Restore Enabled: false
Product License: Community Engine

Annex №1 (docker-compose.yml) - invalid interpolation - group №1 - v0.7.3
version: '3.7'
services:
  application:
    x-enabled: "${enable-application}"
    image: "image"
    labels:
     proxy: ${proxy}

Annex №2 (parameters.yml) - invalid interpolation - group №1 - v0.7.3
enable-application: true
proxy: no

Annex №3 (metadata.yml) - invalid interpolation - group №1 - v0.7.3
version: 1.0.0
name: application
description: "application bundle"
namespace: "namespace"
maintainers:
  - name: Maintainer
    email<EMAIL_ADDRESS>
Annex №4 (stdout output) - invalid interpolation - group №1 - v0.7.3
version: "3.7"
services:
  application:
    image: image
    labels:
      proxy: "false"
    x-enabled: "true"

Annex №5 (docker-compose.yml) - valid interpolation - group №2 - v0.7.3
version: '3.7'
services:
  application:
    x-enabled: "${enable-application}"
    image: "image"
    labels:
     proxy: ${proxy}

Annex №6 (parameters.yml) - valid interpolation - group №2 - v0.7.3
enable-application: true
proxy: 'no'

Annex №7 (metadata.yml) - valid interpolation - group №2 - v0.7.3
version: 1.0.0
name: application
description: "application bundle"
namespace: "namespace"
maintainers:
  - name: Maintainer
    email<EMAIL_ADDRESS>
Annex №8 (stdout output) - valid interpolation - group №2 - v0.7.3
version: "3.7"
services:
  application:
    image: image
    labels:
      proxy: "no"
    x-enabled: "true"

Annex №9 (docker-compose.yml) - invalid interpolation - group №3 - v0.8.0
version: '3.7'
services:
  application:
    x-enabled: "${enable-application}"
    image: "image"
    labels:
     var1: ${var1}
     var2: ${var2}
     var3: ${var3}

Annex №10 (parameters.yml) - invalid interpolation - group №3 - v0.8.0
enable-application: true
var1: no
var2: 'no'
var3: "no"

Annex №11 (metadata.yml) - invalid interpolation - group №3 - v0.8.0
version: 1.0.0
name: application
description: "application bundle"
namespace: "namespace"
maintainers:
  - name: Maintainer
    email<EMAIL_ADDRESS>
Annex №12 (stdout output) - invalid interpolation - group №3 - v0.8.0
version: "3.7"
services:
  application:
    image: image
    labels:
      var1: "false"
      var2: "false"
      var3: "false"
    x-enabled: "true"

Hi @johnbizokk, thank you for filling the issue.

Hi @johnbizokk we tracked that bug and found it is related to the yaml parser which parses strings like "no" or "off" as boolean and render them with their canonical values "true" and "false".
Actually this issue has a deeper impact than we initially thought. We are now working on fix but it would take some time. Unfortunately so far I do not have any workaround for the 0.8.0 version 😭


no testing program

Why is there no testing program for Sphereformer on the test set so that the test results can be uploaded to the Semantickitti website

I noticed that you have closed the issue without any response. I actually have a similar problem and was wondering if you managed to resolve it. Could you please share any insights or updates regarding the issue?


Fixed #15779 -- Fixed UserChangeForm regression introduced by 1791a7e75

Thanks Tim Graham for reporting the regression.

LGTM. When I fix a follow-up regression, I usually use "Refs" instead of "Fixed" in the commit message to avoid confusing the commit with the main "fix" for the ticket.


Request support for [support for Tuya_Web_Stats queries for energy monitor devices]

Hello.
Is it possible to do something so that this integration can issue WEB Tuya requests?
($stats = Tuya_Web_Stats('478803312cf43204ab22', 17);
sg('object.property', $stats["years"][(int) date('Y')][date('m')]);)

This is seen in the MAJORDOMO system, in the TUYA integration.
Using this query, you can get the total consumption, daily consumption and monthly consumption values from the cloud.

Currently cloud features are out of scope

Also, I think this is a duplication of features already available in the Energy dashboard in Home Assistant, so I do not think it is useful to add this feature.

Also, I think this is a duplication of features already available in the Energy dashboard in Home Assistant, so I do not think it is useful to add this feature.

The fact of the matter is that I personally would like to use this function to take data for the Energy dashboard. Because I can’t seem to collect data without error. On some days there is no error at all, while on other days the error reaches 40 kWh.

Use the power sensor with an integration helper.  The energy sensor on most Tuya smartplugs is useless.


Add support for semaphore file descriptor export

Thanks to the EXT_external_objects OpenGL extension, there now exists a possibility to interoperate between OpenGL and Vulkan. Specifically, this extension allows OpenGL to use Vulkan textures and semaphores.
This PR takes a first step towards this, by allowing Vulkano to export its semaphores to Linux file descriptors, in the same way already possible with memory. Next, I will be working on allowing Vulkano to export its texture memory.
An example of semaphores being shared with Glium can be found here: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=7a9fa8702ca3f3b22813101daf861416
The related PR to add import functionality to Glium can be found here: https://github.com/glium/glium/pull/1939
* Entries for Vulkano changelog:
    - Add creation of semaphores with exportable Linux file descriptor on
    - Add method to export file descriptor corresponding to semaphore

Why not use a builder?  Checkout the DeviceMemoryBuilder.
I think Vulkano should adopt a more standardized interface, so coding it up would be a non-brainer to anybody.

Why not use a builder?

@gurchetansingh I believe we could as long as it resolves the issues mentioned above.
Also, please notice that Linux test is failing. It requires an additional check in the test that the extension is available on particular device during the test running.

@gurchetansingh I've added a SemaphoreBuilder and modeled it as close as possible to DeviceMemoryBuilder.
As part of this, I added some specific errors for Semaphores, but I had to convert them to the error type used in the Swapchain type and I'm not sure if I handled this the right way. I wrap SemaphoreError in AcquisitionError but they are both already wrapping OomError.

@Eliah-Lakhin
There was a missing file, but I also broke one of the semaphore tests. I did not bother to check anything other than the semaphore export test, which was my mistake. With the latest commit, all tests should pass now.

@fayalalebrun ok, all tests passed, I didn't detect any issues in my local tests too and the code looks fine. PR is merged :+1: Thank you very much for this improvement and for all the fixes!


[elevation_mapping-5] process has died

My environment:
NVIDIA Jetson AGX Orin Developer Kit
Jetpack: 5.1.3
CUDA: 11.4.315
cuDNN: <IP_ADDRESS>
ROS: noetic
When I run turtlesim_simple_exam.launch, the error below is occurred.
process[gazebo-1]: started with pid [11376]
process[spawn_urdf-2]: started with pid [11381]
process[waffle_state_publisher-3]: started with pid [11382]
process[rviz-4]: started with pid [11383]
process[elevation_mapping-5]: started with pid [11384]
[ INFO] [1711430243.712568343]: Subscribed to Image topic: /camera/rgb/image_raw, Camera info topic: /camera/depth/camera_info. Channel info topic: Not found. Using channels: rgb
[ INFO] [1711430243.719868421]: Subscribed to PointCloud2 topic: /camera/depth/points
[ INFO] [1711430243.735310699]: Subscribed to Image topic: /front_cam/semantic_image, Camera info topic: /front_cam/camera/depth/camera_info_resized, Channel info topic: /front_cam/channel_info
[ INFO] [1711430244.432520981]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1711430244.440608876]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1711430245.075349009]: pointcloud_channel_fusion_dict: {'default': 'average', 'rgb': 'color'}
[ INFO] [1711430245.077350087]: image_channel_fusion_dict: {'default': 'exponential', 'feat_.*': 'exponential', 'rgb': 'color'}
[ INFO] [1711430246.066638018]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1711430246.138029376, 0.009000000]: Physics dynamic reconfigure ready.
[ INFO] [1711430247.324919858, 0.229000000]: Camera Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1711430247.348644304, 0.229000000]: Camera Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1711430247.749303315, 0.229000000]: Laser Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1711430247.753000538, 0.229000000]: Starting Laser Plugin (ns = /)
[ INFO] [1711430247.757280360, 0.229000000]: Laser Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1711430247.861724103, 0.229000000]: Starting plugin DiffDrive(ns = //)
[ INFO] [1711430247.861909097, 0.229000000]: DiffDrive(ns = //): <rosDebugLevel> = na
[ INFO] [1711430247.863501018, 0.229000000]: DiffDrive(ns = //): <tf_prefix> =
[ INFO] [1711430247.865162380, 0.229000000]: DiffDrive(ns = //): Advertise joint_states
[ INFO] [1711430247.866073365, 0.229000000]: DiffDrive(ns = //): Try to subscribe to cmd_vel
[ INFO] [1711430247.868995893, 0.229000000]: DiffDrive(ns = //): Subscribe to cmd_vel
[ INFO] [1711430247.869721020, 0.229000000]: DiffDrive(ns = //): Advertise odom on odom
[spawn_urdf-2] process has finished cleanly
log file: /home/youngjoo/.ros/log/f89d5fc0-eb22-11ee-8f5d-48b02decd57a/spawn_urdf-2*.log
Start loading plugins...
Loaded plugins are  min_filter smooth_filter inpainting erosion
[ INFO] [1711430256.196444461, 7.547000000]: [ElevationMappingCupy] finish initialization
Layer rgb not found, adding it to the semantic map
[ INFO] [1711430261.128394719, 12.210000000]: Clearing map with initializer.
[ INFO] [1711430261.149272603, 12.232000000]: Initializing map with points using linear
[ WARN] [1711430261.307094297, 12.349000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_footprint (parent odom) at time 12.292000 according to authority unknown_publisher
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_footprint (parent odom) at time 12.292000 according to authority unknown_publisher
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.7/src/buffer_core.cpp
[elevation_mapping-5] process has died [pid 11384, exit code -11, cmd /home/youngjoo/Documents/2levation_ws/devel/lib/elevation_mapping_cupy/elevation_mapping_node __name:=elevation_mapping __log:=/home/youngjoo/.ros/log/f89d5fc0-eb22-11ee-8f5d-48b02decd57a/elevation_mapping-5.log].
log file: /home/youngjoo/.ros/log/f89d5fc0-eb22-11ee-8f5d-48b02decd57a/elevation_mapping-5*.log
^C[rviz-4] killing on exit
[waffle_state_publisher-3] killing on exit
[gazebo-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

If I run elevation_mapping_cupy.launch without setting up the setup.yaml file, I got frame not found error.
process[elevation_mapping-1]: started with pid [31699]
[ INFO] [1711433224.315775825]: Subscribed to Image topic: /camera/rgb/image_raw, Camera info topic: /camera/depth/camera_info. Channel info topic: Not found. Using channels: rgb
[ INFO] [1711433224.322221552]: Subscribed to PointCloud2 topic: /camera/depth/points
[ INFO] [1711433224.336588405]: Subscribed to Image topic: /front_cam/semantic_image, Camera info topic: /front_cam/camera/depth/camera_info_resized, Channel info topic: /front_cam/channel_info
[ INFO] [1711433225.350960292]: pointcloud_channel_fusion_dict: {'default': 'average', 'rgb': 'color'}
[ INFO] [1711433225.351957065]: image_channel_fusion_dict: {'default': 'exponential', 'feat_.*': 'exponential', 'rgb': 'color'}
Start loading plugins...
Loaded plugins are  min_filter smooth_filter inpainting erosion
[ INFO] [1711433231.011774639]: [ElevationMappingCupy] finish initialization
[ERROR] [1711433232.121536898]: "base_footprint" passed to lookupTransform argument source_frame does not exist.
[ERROR] [1711433233.695018184]: "base_footprint" passed to lookupTransform argument source_frame does not exist.
[ERROR] [1711433234.778879677]: "base_footprint" passed to lookupTransform argument source_frame does not exist.
^C[elevation_mapping-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

If I run elevation_mapping_cupy.launch with setting up the setup.yaml file, [elevation_mapping-5] process has died.
process[elevation_mapping-1]: started with pid [32559]
[ INFO] [1711433321.883426655]: Subscribed to Image topic: /camera/rgb/image_raw, Camera info topic: /camera/depth/camera_info. Channel info topic: Not found. Using channels: rgb
[ INFO] [1711433321.892804459]: Subscribed to PointCloud2 topic: /points_concat
[ INFO] [1711433321.902103223]: Subscribed to Image topic: /front_cam/semantic_image, Camera info topic: /front_cam/camera/depth/camera_info_resized, Channel info topic: /front_cam/channel_info
[ INFO] [1711433322.930466625]: pointcloud_channel_fusion_dict: {'default': 'average', 'rgb': 'color'}
[ INFO] [1711433322.931459494]: image_channel_fusion_dict: {'default': 'exponential', 'feat_.*': 'exponential', 'rgb': 'color'}
Start loading plugins...
Loaded plugins are  min_filter smooth_filter inpainting erosion
[ INFO] [1711433327.929947527]: [ElevationMappingCupy] finish initialization
[ INFO] [1711433328.383578604]: Clearing map with initializer.
[ INFO] [1711433328.384056206]: Initializing map with points using linear
[elevation_mapping-1] process has died [pid 32559, exit code -11, cmd /home/youngjoo/Documents/Elevation_ws/devel/lib/elevation_mapping_cupy/elevation_mapping_node __name:=elevation_mapping __log:=/home/youngjoo/.ros/log/de72a092-eb36-11ee-a38f-48b02decd57a/elevation_mapping-1.log].
log file: /home/youngjoo/.ros/log/de72a092-eb36-11ee-a38f-48b02decd57a/elevation_mapping-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

The requirements are like below.
numpy==1.22.4
ruamel.yaml==0.18.6
ruamel.yaml.clib==0.2.8
opencv-python==<IP_ADDRESS>
scikit-image==0.19.0
scipy==1.7.0
Shapely==1.7.1
simple-parsing==0.1.5
matplotlib==3.7.5
catkin-tools==0.9.4
cupy-cuda11x==12.3.0
catkin build elevation_mapping_cupy had no error.
It works 2 weeks ago. But suddenly it doesn't work.
Can you give me some advice?

umm, did you pull the recent changes?
The only difference I added is the parameter called always_clear_with_initializer which uses clear_with_initializer for initializing the map. But the default param is set to false. Can you try checking out the old commit and see if it persist?

After I flashed my Orin and reinstalled the code, it worked. It was probably a dependency issue with other programs I had installed. Thank you!


Code to bump version in deploy.sh and removing access and secret access key parameters

Looks good 👍


Not working in Windows

Thanks for the great theme, the screenshot looks amazing!
I'm having problems using it on Windows, below are the details.
Please let me know if there's anything I can help with to get this fixed, I don't know if this could be related to my machine only or something general for Windows users.
System Details

Windows 10
Tested on Firefox 61 and Firefox Developer Edition 63.0b1

Current visual behavior

Looks like you may have missed one of the installation steps. Go to about:config (in address bar), search for: svg.context-properties.content.enabled and set it to true. By default, Firefox doesn't allow SVG graphics (the icons, tabs, etc.) to have their colour set through CSS. This setting fixes that.

You are absolutely right. Thanks for the awesome theme!

No problem, thanks for using it and the informative issue post, good form!

Your theme have a little problem
1: in a drop down menu list url
You using a trick make background is transparent:
#urlbar-results { background: 0 !important; }
But background still there, so if you click mouse in area of background, url result list menu not hide.
How to make background is "real hidden"?
2: how to make url result menu list width = url bar (search bar)  width dynamically.
When you customize more item, the calc(var(--item-padding-first) - var(--item-padding-end)) not working
I can fix size by manual, but i hope have a nice way to fix this.
3: In firefox quantum 67, when swith: tím
to tìm by switch: s key and f key, url bar not effect (border hidden) and just using default state (default state: border color blue).
And url result menu is reload when switch.
But in firefox 68 developer, it is normal
I just spend 2 days to make MaterialFox to Flat UI like Edge, i like it, but have any problem i can't fix with my knowledge, please help me if you can, tkanks
Link Flat Theme Guide: repl.it/@ifree/firefox


How to set GPSLatitude and GPSLongitude?

What GPS coordinates format does it accept?
Don't see anything in docs, tried to guess but no success.

i found an answer here: https://github.com/hMatoba/piexifjs/issues/1

Thank you for informing here. I feel that there is a need to add sample.

Resolved.
https://github.com/hMatoba/piexifjs/commit/eb3c91e0ad2ecb103ffbda789f827382bb816007


rabbitmq plugin did not passed traceId for arg validation failure

I tested lastest Rabbitmq Plugin on my app from https://github.com/jiaqifeng/quickdemo, and found the traceId did passed from sender to receiver. The root casuse is ChannelBasicPublishInterceptor.validate() will return false when args[n] is null whatever it's class is.
I fixed it and PR will be submitted.

PR is 3996

@jiaqifeng Thanks!
To clarify, this is an issue where trace id is currently not passed (and publisher not traced) due to validation failure when exchange, or props, etc are null, right? And that it should still trace and pass trace id even if some of the parameters are null?

@Xylus This bug will cause sender did not put the txId into rabbitmq message and receiver will create a new txId. So in topology map the sender and receiver will not be linked together, sender is linked to virtual queue node only. So does receiver node.


Version solving issue

Hi , i'm having the following error:
Because animated_icon 0.0.4 depends on lottie ^1.4.0 and no versions of animated_icon match >0.0.4 <0.1.0, animated_icon ^0.0.4 requires lottie ^1.4.0.
So, because scanos depends on both animated_icon ^0.0.4 and lottie ^2.1.0, version solving failed.
pub get failed (1; So, because scanos depends on both animated_icon ^0.0.4 and lottie ^2.1.0, version solving failed.)
Please look into this. Thank You so much.

@SpirikleOfficial Fixed this, please check it with the latest version. Thanks.


修复windows版编译不通过的问题

直接使用Qt Creator打开pro文件编译项目时编译不过，通过修改pro和pri文件使得项目编译链接成功。

Thanks for your suggestion first.For now, we recommend VS IDE and Qt vsaddin tool to build the project.In this way,you can manage projects more easily.We will also change the configuration to support QtCreater in the future。
You can download the tool at the following website.(https://download.qt.io/archive/vsaddin)


is there a way for developer to add custom plugin to authorize topic access control?

currently, verneMQ do the access contol through a ACL file. but what i want is that i can control a client to write or read a topic dynamicly.  generally, i want to put the ACL in Redis instead of a file. Is verneMQ has a interface that i can use my own acl plugin?

Hi there!
Sure, you've to implement a custom Redis plugin. Please have a look at this sample plugin
https://github.com/dergraf/vernemq_demo_plugin

Is there any way around to allow the client to send a Http request with clients id and a message that passes through the authorization plugin  then make the broker handle sending the message to those clients?

Hi there.
this is something we've on our roadmap.

@Assem-Hafez are you able to get any solution to the problem you described above ? Any pointers will be helpfull.

@tosheer unfortunately i didn't

@tosheer what is it you would like to do? Maybe there's another way to achieve your goal. We still would like to do an HTTP api for publishing/injecting messages it just doesn't have high prio at the moment.


Switch from hugo to gutenberg

gutenberg is a Hugo-inspired static site generator written in Rust. It has lots of great features, including built-in syntax highlighting using syntect,  a nice section system, markdown syntax for internal links, and automatic anchor generation for headings. It also has an awesome maintainer. Thanks so much for all your help, @Keats!
Preview of the site rendered with gutenberg
Fixes #298

Todo:

[x] Consistent URLs. At the moment, some posts are directly under the root and others are under a e.g. /posts/ section.
[x] Redirects for changed URLs. This should be easily possible using netlifys redirect feature.
[x] Update netlify config for building using gutenberg

[x] including “recent updates” section

[ ] Use some (any) ordering for extra content. At the moment it's random on each build, which would lead to many uneccessary deploys.
[ ] Check if RSS feed is correct
[ ] Display published/updated dates for posts
[ ] Separate template for not-post pages (e.g. talks or contact)
[ ] Generate tables of content
[ ] https://github.com/Keats/gutenberg/issues/84
[ ] https://github.com/Keats/gutenberg/issues/85
[ ] Analytics (Google or Piwik)
[ ] Comments (Disqus or Isso)

For Redirects for changed URLs. it's something I think would be worth adding in Gutenberg itself too (see Hugo aliases: https://hugodocs.info/content-management/urls/#aliases)

Yeah, that would definitely be useful. The advantage of server supported redirects is that the correct http code can be sent (moved permanently).

:tada:


Nepali support

I am planning to open PR for Nepali language. Is it ok?

Go ahead! I don't speak that language so that would be very much welcomed.


test code could be formatted as default run option

something like that
if __name__ == "__main__":
    t = Test()
    pass

Sure.
I thought about making good tests with big data showing performance.


I wonder if DTLS 1.3 is supported this year，I think it's already necessary

Now the QUIC protocol has begun to grow rapidly

There is currently no time frame for the core team to add DTLS 1.3 to OpenSSL.  It is on the list of future things we want but not at a sufficiently high priority to mandate the team doing it as a matter of urgency.
Now, if a third party came along with most of an implementation, we would be very interested in getting it in.

Do you know of any programs that support dtls1.3, which I really need

wolfSSL is supposed to have at least a beta version of DTLS 1.3 as of november 22.
+1 for the feature request though.

thank you

When this project comes out, I will use it as soon as possible

截至 1 月 3 日，wolfSSL 应该至少有一个 DTLS 22.<> 的测试版。
不过功能请求为 +1。

Can't this linked file be implemented（ https://github.com/wolfSSL/wolfssl-examples/blob/master/dtls/server-dtls13.c ）

截至 1 月 3 日，wolfSSL 应该至少有一个 DTLS 22.<> 的测试版。
不过功能请求为 +1。

I don't know if this linked file is useful（ https://github.com/wolfSSL/wolfssl-examples/blob/master/dtls/server-dtls13.c ）


API design notes

@bhelx asked me to take a quick look at the API to see how it maps to JS idioms. This is the result of a quick look – so there's probably stuff I've misunderstood about the implementation, apologies! I'd be happy to talk about any of these items more (or pitch in myself!)

[ ] add async createPlugin(plugin, options): Plugin as the default export

I found the static await ExtismPlugin.new() construction workable, but a little surprising! Usually there's a free-standing top-level export for asynchronous object creation alongside a constructor that can be used when you have all of the required info available synchronously. (Compare fs.Stats to fs.stat(file, cb) in Node.)
Also, IIUC, we're duck-typing inputs based on {path: string} | {url: string}.

We might wish to check if the input is a string, then pass it to new URL (which accepts file:///-style URLs), then pass the resulting URL to fetch – unifying the path/url case
That might even give us content-type info we can use to decide whether the response is a manifest or a core module.

We probably want to stream incoming wasm plugin data if possible, especially if we're in the browser

[ ] Add example & basic API reference to README so it displays on npm website

this follows the rough NPM package convention -- useful since a lot of folks use npm.im/<package name> to quickly get an idea of how to use a package

[ ] We should also publish to npm.im/extism, since that name is available

speaking of -- extism is available, so we should grab that package name as well
at the very least it prevents a malicious typosquat
I grabbed the package for now, we can share it with an extism bot user for publishing purposes.

[ ] that synchronous httpRequest is a killer for prod use; we should think about running the plugin in a Worker so we avoid gumming up the main thread

this is probably a bigger refactor: I'd have to spend a bit more time with the sdk to think about how best to accomplish it!
Essentially, the sync httpRequest is a good argument for running the plugin inside a worker and adding faux "blocking" to extism_http_request. We could make extism_http_request look "blocking" by sending a SharedArrayBuffer from the worker to the main thread and using that to communicate response data back to the worker.

@chrisdickinson thank you very much for the thorough review

that synchronous httpRequest is a killer for prod use; we should think about running the plugin in a Worker so we avoid gumming up the main thread

Yup, I agree. Unfortunately, I wasn't able to find any non-blocking ways. Your help would be greatly appreciated.


Fixing missing args in dag function executor.

Bug was from user library work.

@xyclin, is this still relevant? Doesn't seem like it, but want to make sure before I close it.

This branch was part of a line of work (fluent user library, redis shim, retwis code) that was moved entirely off of the main branch and into my own branch because of difficulty merging it with @cw75's causal branch.

Yes, we should think about what we want to merge back in and then figure out how to do that. This PR is probably not it though. :-)


Update component.toml, Dockerfile and cloudbuild.yaml for store-productcatalogservice

Use ortelius/store-recommendationservice as reference

removed hipster store sample


Jest 12.0.2.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.


Migrate tests to pytest away from unittest

Context
In our delphi-epidata tests we’ve been using a mix of pytest and unittest. This has mostly worked seamlessly, because most of the features we use from unittest, like setUp and tearDown methods and unittest.skip are supported by pytest. I want to make a case for moving away from using unittest:

you can’t use pytest.mark.parametrize to parametrize a method from a test class that subclasses from unittest.TestCase (I got errors I wasn’t able to untangle)

an example use case for parametrize: you have a test that takes a CSV file as input and checks that it's processed correctly; the test can be kept the same, parametrized over multiple CSV files, and pytest will naturally separate any failing CSV files into their own test (no need to hunt in a for-loop for the failing CSV)

likely there’s other features of pytest that aren’t fully supported when you mix the two

I got a yes from @melange396 and a yes from @krivard (minus preferring unittest's typed assert statements [see migration below]; maybe we can see how to mitigate this).
Migration
Migrating over to pure pytest has a simple part and a hard part:

the simple part is renaming setUp to setup_method and tearDown to teardown_method and @unittest.skip to @pytest.mark.skip
the hard part is converting unittest.assertEqual type checks to regular assert statements. The pytest philosophy is to always use assert and report error context depending on the types and the operand. Searching for self.assert in the delphi-epidata codebase yields 1582 results, so this would take a bit of time

Help
I'll do the easy part in a PR soon. For the hard part, any and all help is welcome! Feel free to add partial PRs and link them to this issue! Also feel free to edit this post to organize the work, so we know which parts of the codebase still need to be migrated.

Another unanticipated part:

unittest.subtest is used 328 times in our tests, so these would need to be migrated
on the plus side (or maybe this is a minus), pytest already doesn't support them, so we're not really getting any use out of these subtests anyway; it may be better to use pytest-check, which allows multiple failures per test

another benefit of pytest-check is unittest-style validation functions

part of this will involve:

#1129

whoops, just kidding!  for some reason, i thought this was about moving away from py3test (which it is not).


Adds ethAddress type

Adds ethAddress type
closes #1392

Would EvmAddress be preferred to EthAddress?

Agreed. Although actually I wanted to just use Address since it's already namespaced to vm::evm but it seemed to be colliding with the base Address from the std-lib.

Would EvmAddress be preferred to EthAddress?

Agreed. Although actually I wanted to just use Address since it's already namespaced to vm::evm but it seemed to be colliding with the base Address from the std-lib.

The collision should only happen if both are imported in the same scope. Otherwise, this is probably a bug.

hmm they're not both imported, but I couldnt work out how to get the one I was after unambiguously. Possibly my Rust not being up to scratch. If anyone can see a way to it that would be awesome.

hmm they're not both imported, but I couldnt work out how to get the one I was after unambiguously. Possibly my Rust/Sway not being up to scratch. If anyone can see a way to it that would be awesome.

Writing the full path directly (without importing either Addresss) should work... as in: path::to::evm::Address and path::to::Address.

Since there is a distinction being made between an address for Fuel / Ethereum I think there should also be an addendum to the recovery function.
Currently there is ec_recover_address(...) however the aforementioned distinction is now ambiguous / misleading and thus should there should be an additional function ec_recover_evm_address(...).
There may be an issue here since the caller may not know which function to call and thus they may need to call both and perform checks on the result.
Alternatively, having only 1 function which returns a super type of Address and EVMAdress (or an error) allows for easy match statements (when implemented).
If I'm ignorant and you can easily determine which of the 2 functions would be called then I'd prefer to have two separate functions.
If you cannot determine ahead of the call then I prefer the single function with a super type since matching will make control flow easy.

In favor of different function names, against a sum type for both Fuel and EVM addresses in the stdlib. Enshrining EVM addresses across the stdlib rather than self-contained within the evm namespace isn't a good idea.

There currently are two separate address types, and two separate corresponding ecrecover functions. The EVM stuff is all under the vm::evm namespace. That would allow std::address and std::vm::evm::Address to both exist. In my mind calling the latter std::vm::evm::EVMAddress was a bit redundant.

@simonr0204 please also update the relevant sections in the Sway book for this PR. I.e. anything it effects on the Crypto side.

In my mind calling the latter std::vm::evm::EVMAddress was a bit redundant.

Kind of... although when scanning code which instantiates an address, you would just be seeing ~Address::from(... and it won't be obvious which type of address this is without also looking at all the use statements.

I would also vote for two different names. There's lots of times where both addresses and EVM addresses will be used in the same code.


Update _Layout.cshtml

updated the reference to the production .css file. Webpack is creating Style.css not Site.css. This broke the styles in production

I wasn't aware of that, thanks for catching this one!! 🙏


Using deprecated address after prefix removal from netdata

This is related to  SPEC-1222 and the following PRs:

https://github.com/openthread/openthread/pull/9585
https://github.com/openthread/openthread/pull/9599

Background:
Investigation failure of test_zero_len_external_route.py with https://github.com/openthread/openthread/pull/9585 (see https://github.com/openthread/openthread/pull/9585#discussion_r1400279570) noticed the following situation:

Suppose we have ::/0 or fc00::/7 off-mesh route added in netdata, indicating that we have a BR routing to AIL.
Suppose we have an OMR prefix A in netdata
The BR that added OMR prefix A removes it from netdata (being turned off or reset, or ...)
From SPEC-1222, we would like the SLAAC address derived from the removed OMR prefix A to be marked as deprecated rather than immediately removed.
This allows devices on the AIL to maintain communication with devices on the mesh using the address based on prefix A for a temporary period before a new OMR prefix is added and SRP services are registered and advertised on AIL.
With the changes introduced in the above PRs, we allow messages sent from devices on the AIL to be delivered to Thread devices using the old prefix A address.
However, if the Thread device attempts to send a response using its deprecated prefix A address as the source address, the message will be dropped and not routed to the BRs publishing ::/0 or fc00::/7 off-mesh routes.
The reason for this is how the RouteLookup() works:
https://github.com/openthread/openthread/blob/dc6bf363ddf692ff4e2661ee1a5e46d5373a5c35/src/core/thread/network_data_leader.cpp#L259-L284

RouteLookup() will go through netdata prefix entries matching the source address first.
If a match is found, (off-mesh) external routes associated with the matching prefix's Domain ID are checked.

In this scenario, the address based on prefix A does not match any prefix in netdata since prefix A has been removed. Even if a new OMR prefix B is added, it won't be matched, resulting in external routes being disregarded.

Some ideas on how we may address the situation from the last comment (related to Domain ID use):

We can relax the check for domain ID in case the  source address is not preferred (but the question become how to select if there happens to be multiple Domain IDs each with their own set of off-mesh routes published in netdata)?

We can check netdata entries and only if all entries belong to the same  domain ID (which is the common/main case today), then allow the off-mesh route prefixes to be applied/used to determine next hop for the non-preferred source address (that does not match any prefixes)

We can add new mechanism to remember the domain ID the deprecating prefix/address belonged to and use the routes in netdata associated with the same ID (this seems like the best option to me).

Change the model and have the deprecating prefix still published in netdata (with its original domain ID). The downside is prefixes may end up piling up in the netdata (I am not personally in in favor of this approach).

From SPEC-1222 disucssion, we are leaning toward option 3.

Resolved by #9585


Forkless Upgrade tutorial. Error in code snippets

The code to be added to construct_runtime! in the "Forkless Upgrade" tutorial is incorrect. Causes an error inthe cargo build.
page https://substrate.dev/docs/en/tutorials/forkless-upgrade/sudo-upgrade
Line
Scheduler: pallet_scheduler::{Module, Call, Storage, Event},
should be
Scheduler: pallet_scheduler::{Call, Storage, Event},
removing "Module" compiles correctly.

In fact Line
Scheduler: pallet_scheduler::{Module, Call, Storage, Event},
should be
Scheduler: pallet_scheduler::{Pallet, Call, Storage, Event},
"Module" should be replaced with "Pallet"

This depends on your substrate version. v3.0.0 is used here, where Module is correct.
What version are you using?

You are right. Looking at cargo tree most of the dependencies are 4.0.0.

Made a PR which also clarifies that the browser UI needs (at least for me) a refresh, before I can access the Scheduler pallet extrinsics, and another one to see the updated existentialDeposit.


Can't change the colour of the hat beneath character for style warnings

Googled around and couldn't solve it. For style warnings it places a hat ^ beneath the character and is currently dark blue, which is difficult to see. I can't find the setting under my highlights with a colour that matches and have tried overriding all highlight groups in the docs. What is the highlight for this?

From :h syntastic-error-window:

By default the SpellBad syntax highlight group is used to color errors,
and the SpellCap group is used for warnings. If you wish to customize the
colors for highlighting you can use the following groups:
SyntasticError - Links to "SpellBad" by default (see hl-SpellBad)
SyntasticWarning - Links to "SpellCap" by default (see hl-SpellCap)
SyntasticStyleError - Links to "SyntasticError" by default
SyntasticStyleWarning - Links to "SyntasticWarning" by default

Changing SpellCap fixed it thank you!


fix bug in docs/user_guide

Ⅰ. Describe what this PR did
fix bug in docs
Ⅱ. Does this pull request fix one issue?

fixes #875
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

@Starnop

Codecov Report

Merging #919 into master will decrease coverage by 6.91%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #919      +/-   ##
==========================================
- Coverage   46.58%   39.67%   -6.92%
==========================================
  Files         111      109       -2
  Lines        6611     6410     -201
==========================================
- Hits         3080     2543     -537
- Misses       3287     3657     +370
+ Partials      244      210      -34

Impacted Files
Coverage Δ

pkg/stringutils/stringutils.go
0% <0%> (-100%)
:arrow_down:

pkg/queue/queue.go
0% <0%> (-100%)
:arrow_down:

pkg/ratelimiter/ratelimiter.go
0% <0%> (-89.86%)
:arrow_down:

pkg/fileutils/fileutils.go
0% <0%> (-80.74%)
:arrow_down:

pkg/httputils/http_util.go
6.28% <0%> (-62.14%)
:arrow_down:

pkg/netutils/netutils.go
0% <0%> (-58.58%)
:arrow_down:

pkg/syncmap/syncmap.go
0% <0%> (-21.65%)
:arrow_down:

supernode/daemon/mgr/cdn/manager.go
19.78% <0%> (-6.44%)
:arrow_down:

supernode/server/server.go
40.74% <0%> (-2.12%)
:arrow_down:

client/request.go
35.78% <0%> (-1.45%)
:arrow_down:

... and 25 more

Continue to review full report at Codecov.

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

@lowzj
Thanks for your suggestion.
I changed it.
Is it the correct format?

I mean to format the commit message, refer to commit message.
You can use the following command to amend your previous commit:
git commit --amend

@lowzj
Sorry, I misunderstood what you mean.
I changed it,please check.


P2p fix

Description
Small bugfix that prevented the user to subscribe-unsubscribe-resubscribe to the same video in p2p.
Also deleted the "end" candidate in chrome stable stack. seems that chrome doesn't like this candidate anymore causing an error.
The commits should be self explaining btw.
[] It needs and includes Unit Tests
[] It includes documentation for these changes in /doc.

Hi @kekkokk, thanks for the contribution!
Ok to the p2p thing. However, I don't understand the second point. When this candidate is failing? In p2p mode?

yeah, just make a p2p call chrome to chrome and see the console output. also check the chrome://webrtc-internals

Ok, I see the error. However, the end candidate has to be sent in case we use a centralized room. Erizo needs it in some cases.
I propose to fix the issue by ignoring the received end candidates in Chrome (in processSignalingMessage function of the stack).
What do you think?

Sorry, I missed the part where erizo needs that. I just tried doing some tests and everythings worked fine.
However you are totally right, I'll PR this change in the afternoon.

Thanks!


Icon does not change itself to clear

Hello
I found this plugin very useful, but here is one problem. If input contains value on page load, the icon remains as "search", but it should be "clear". Only when you change something inside input it changes itself to "clear".

Hi,
sorry it takes me almost a year to come back to you (and this repo) — my new job has been quite seizing my time. Thanks for your interest of using this plugin. Recently I have revamped the plugin, and I believe I have resolved this issue. Please give it a shot! =)
/gd


Incorrect color in tile generation

Context

Hi, I'm a problem of the generation of Mapproxy tiles on a WMS service.
The WMS service https://www.sigua.ua.es/cgi-bin/siguawms2?
If you access the WMS image is good, but with seeding, the image has not generated the image correctly, it is in different of gray escales.
The problem is showed here https://www.sigua.ua.es/index.html?id=0018PB057
In these captures you can see the difference of colors, where there must be white, appears gray.

If I make TMS with QGIS with extension QMetaTiles the result is

Could you help me?

Version used: Mapproxy 1.10
Environment name and version: Python 2.7.43
Server type and version:
Operating System and version: Debian 7.11

See https://mapproxy.org/docs/nightly/configuration.html#encoding-options, especially fastoctree and mediancut

Thank you very much. I solved this issue with options to enable 24 bit PNG images and quantizer: fastoctree.


Integrate canvas usage data from Analytics API

https://umich.instructure.com/api/v1/courses/course_id/analytics/activity

I was able to pull the data out of canvas Analytics API, with the parallel process it took about <10 minutes. The data I pulled has 500K records. That's too many records to insert into DB. The approach for this API will daily fetch records, delete what have in DB and add the new data. It will be interesting to see how this huge insertion/deletion is going to work.


Sound sourced placed in maps don't work anymore

As title says. Apparently doesn't work any sound source.
TenTest_NoSoundSources.zip

fixed here https://github.com/MontyTRC89/Tomb-Editor/commit/5205fa1500648216752cb2e5af618c91e20f0761


ServiceDiscovery registerDiscoveryBridge does not have a completionHandler

right now, when a bridge is registered onto a ServiceDiscovery there is no way to know when all the records have been registered by the bridge in the ServiceDiscovery

I agree, some for the unregistration.
this completion handler can be null.


chore(release): v1.1.0 🎉

:robot: I have created a release beep boop
1.1.0 (2023-08-07)
Features

wrap: add withDomainDrivenGets cache wrapper (d5e09ea)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ehmpathy/with-domain-driven-caching/releases/tag/v1.1.0 :sunflower:


Allow Typescript Typing for GraphQL calls.

With the shopify-api-js you can type the return value of a GraphQL query like so:
// If using TypeScript, you can type the response body
interface MyResponseBodyType {
  data: {
    //...
  };
}

const response = await client.query<MyResponseBodyType>({
  /* ... */
});

// response.body will be of type MyResponseBodyType
console.log(response.body.data);

Using the proxy in the remix app doesn't allow the ability to do that.
At the moment I'm having to use a very janky (and I'm sure awfully done) method to proxy everything through to allow for this:
export async function makeGraphQLRequest<T, V extends Record<string, unknown>> (
  graphql: GraphqlQueryFunction,
  document: string | DocumentNode | TypedDocumentNode<T, V>,
  variables: V,
): Promise<{ data: T }> {
  const response = await graphql(
    typeof document === 'string' ? document : print(document),
    {
      variables,
    }
  )

  return await response.json() as {
    data: T;
  }
}

Would it be possible to allow for the type to be passed to the admin.graphql call?

Hi, thanks for pointing this out, this is a great callout. We'll look into adding back a way to type the response in that call!

I'd love to help out with this if I can.  I'd love to add this to my app as well.

Hey everyone 👋
We looked into this and wondered if there is an easier way:
const {admin} = authenticate.admin(request)

const response = admin.graphql(MY_QUERY)
const responseJson: {data: {productCreate: {product: string}}} = await response.json();

We think this might be viable since response.json() returns any.
How does that work for you two?

@paulomarg
Thanks for the update!
Can we follow this package somewhere and see when it will be deployed? @shopify/api-codegen-preset

Any news? I'd also like to know how to achieve this. New to the Shopify ecosystem, not sure where to look or keep an eye out for said new clients.

Hey! That endpoint is POST-only - it's set up in a way that will respond to schema introspection requests, like the ones made by codegen / graphqlrc. It should be responding to POST requests now.


Pr 40

Follow up of PR #40

@mhindery are there any plans to merge this?

Yes, this is a followup branch of your pull request, since it's branch was deleted and it couldn't be merged anymore from that PR. I did some cleanup of the changes from that PR, and tried to go through the changes in every commit as it's a lot. As there's a lot changing at once, I'm a bit wary of merging, but I guess there's no avoiding it. So yes, there are plans to merge this :)

@askvortsov1 I've cleanup up some more, and I've updated the changelog with the relevant end-user changes. Would you mind having a look if I missed anything in there? If not, I can release a new version tomorrow.


Added xSPVisioServiceApp

Initial commit for xSPVisioServiceApp

Hi @NikCharlebois, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

@NikCharlebois Hey dude - looks like we might have an issue with SP2016 on this one. I know the mocks I have in there are old (they came from IT Pro Preview, not Beta 2) but it looks like Set-SPVisioGraphicsServiceApplication isn't in the cmdlets for 2016. This would be news to me, so let me go away and check on a beta 2 server and get back to you on this one.

Nah, just let me get the pester tests go through. I'm still struggling with something here. It's my bad really. I'm struggling with this one, but whatever my next contribution is, it should go smoothly :). Give me 5 minutes to fix everything
Nik Charlebois
Microsoft MVP
From: Brian Farnhill
Sent: mercredi 2 décembre 2015 8:55 PM
To: PowerShell/xSharePoint
Reply To: PowerShell/xSharePoint
Cc: Nik Charlebois
Subject: Re: [xSharePoint] Added xSPVisioServiceApp (#111)
@NikCharlebois Hey dude - looks like we might have an issue with SP2016 on this one. I know the mocks I have in there are old (they came from IT Pro Preview, not Beta 2) but it looks like Set-SPVisioGraphicsServiceApplication isn't in the cmdlets for 2016. This would be news to me, so let me go away and check on a beta 2 server and get back to you on this one.

Reply to this email directly or view it on GitHub:
https://github.com/PowerShell/xSharePoint/pull/111#issuecomment-161492429

...Got it through. Will do tests locally instead of using AppVeyor next time for sure :)

@NikCharlebois  Can you drop the changes from https://github.com/NikCharlebois/xSharePoint/pull/1 in and this should be good to go after that, thanks bud

Thanks @NikCharlebois - merging in now


Maximum call stack size exceeded

Running in a bookworm-tls node container, and this is what I got after adding "all the folders" I want to check. Installed the npm package from npmjs.
Output

Performing Check
    Error:
     - Maximum call stack size exceeded

And this is the folder/file struct I have drafted and does exist. Somehow the last folder here has a larger set of files and sub-folders. Any recommendation?
{
    "ignoreFiles": [],
    "ignoreDirs": [],
    "commonRules": {},
    "rules": [
        {
            "type": "file",
            "name": "CHANGELOG.md"
        },
        {
            "type": "file",
            "name": "README.html"
        },
        {
            "type": "directory",
            "name": "Binaries",
            "rules": [
                {
                    "type": "file",
                    "name": "Prod.bin"
                },
                {
                    "type": "file",
                    "name": "Prod.elf"
                },
                {
                    "type": "file",
                    "name": "Prod.hex"
                },
                {
                    "type": "file",
                    "name": "Prod.list"
                },
                {
                    "type": "file",
                    "name": "Prod.map"
                }
            ]
        },
        {
            "type": "directory",
            "name": "3rdParty",
            "rules": [
                {
                    "type": "file",
                    "name": "*.md",
                    "isOptional": true
                },
                {
                    "type": "file",
                    "name": "/Thing_v(.*)/",
                    "extension": "bin"
                }
            ]
        },
        {
            "type": "directory",
            "name": "Doc",
            "rules": [
                {
                    "type": "file",
                    "name": "Documentation.html"
                },
                {
                    "type": "directory",
                    "name": "html",
                    "isRecursive": true
                }
            ]
        },
        {
            "type": "directory",
            "name": "Tool2"
        },
        {
            "type": "directory",
            "name": "APIDoc"
        },
        {
            "type": "directory",
            "name": "Metrics"
        },
        {
            "type": "directory",
            "name": "Scripts"
        },
        {
            "type": "directory",
            "name": "TestReports"
        }
    ]
}

@lxnagel can you provide the folders/files structure you are checking against? or the minimum folder setup where you can reproduce this bug?

Working on it without providing the real data.
While doing this I found something where I'm not sure if bug or feature:
{
            "type": "directory",
            "name": "TestReports",
            "rules": [
                {
                    "type": "directory",
                    "name": "NUnit",
                    "rules": []
                },
                {
                    "type": "directory",
                    "name": "StaticCode",
                    "rules": []
                },
                {
                    "type": "directory",
                    "name": "UnitTests",
                    "rules": []
                }
            ]
        }

empty_folder.zip
this leads to no successfukl validation if the test.log file in TestReports/NUnit is created. Is an emtpy folder tree not allowed? Somehow at least one file seems to be needed.

In my real-world thing, there are 600 files in deeper folders (TestReports is 3 layers deep), yet it also crashes with dummy files:
max_stack_folder.zip
Parallel I would now to try debugging it as well.

While debugging I found something: the code does build the ascii-tree regardless required or not. Yet in the helper file module, the string is not being built successfully.
I was able to get the rules to be verified when I limit the file-list to e.g. size 1. Then the script was executing. Proceeding to find a solution about building the ascii-string.


Security vulnerability

How do I ask a question regarding some security concerns if the lead maintainer does not share his email but in the security guidelines it is said I need to email him?

Hello, you can find my email in many places. Here is a quick link to one:
https://github.com/expressjs/express/blob/2c47827053233e707536019a15499ccf5496dc9d/package.json#L9


Arbitrary User Password Reset Vulnerability

/forgotpassword.php DOES NOT limits the frequency users submit the password resetting form,
If an attacker sends the request consecutively in a specific time, the target user will be unable to log into his account as his password is changed frequently.
POST  http://localhost/forgotpassword.php
username=admin&token=y3iNFlsz1Ly1wykHWG4N8PKk3MvPet9HAo0a8wycbw7Z4Y1zNNohVCoyy0hr0FehgJVhbXpBh8GkzI0e&forgotpass=

Please use CVE-2017-8827 for this issue. Why did you close this issue from the issue tracker? Has this been fixed by some commit in the Git?

i think this issue should be opened again.


Add test to check package hash on signing protocol constant

Proposed changes
This PR adds test to check if the signing protocol constant contains the latest hash or not
Types of changes
What types of changes does your code introduce to agents-aea?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply.

[x] I have read the CONTRIBUTING doc
[x] I am making a pull request against the develop branch (left side). Also you should start your branch off our develop.
[x] Lint and unit tests pass locally with my changes and CI passes too
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have checked that code coverage does not decrease.
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

LGTM


Shogun: use Python 3 and fix CMake targets

Motivation for this change
Use Python 3 (#148779) and fix #156098.
Things done

Use Python 3 as build dependency.
The Python interface has been disabled for a while now because the wrong CMake flag was used, but now disable it explicitly because the generation of the Python interface is broken with Python 3.
This should fix the Darwin build, that it looks it's gone from Hydra (https://hydra.nixos.org/job/nixpkgs/trunk/shogun.x86_64-darwin), and it didn't work for me on macOS with Python 2 neither.

Fix the path to the shared library in the installed CMake targets file.

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[X] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

@foolnotion could you try building on Linux to confirm that it works?

@smancill I just tried, it works. Thanks for the fixes.


Iterative merge sort algorithm

I would like to add Iterative version of merge sort algorithm (which was missing in "S-SortingAlgorithm" folder) will all the necessary description like time and space complexity or any comments for more clarity.
Hope you will assign this task to me.

please have look at this @miraj0507

Greetings sir!
I hold a strong grip on DSA specially on sorting algorithms  and I think I can provide optimal solution of iterative merge sort algorithm with proper comments with mentioning time complexity of every step .I am a GSSOC'22 contributor and I want to contribute in your project so please assign me this issue.
Thankyou!

Greetings sir!
I hold a strong grip on DSA specially on sorting algorithms  and I think I can provide optimal solution of iterative merge sort algorithm with proper comments with mentioning time complexity of every step .I am a GSSOC'22 contributor and I want to contribute in your project so please assign me this issue.
Thankyou!

Hey,kindly create a new issue and give the best shot algorithm that you can get you an approval, according to the GSSoc guidelines we can only give it to the FIRST COME FIRST SERVE, kindly create your own issue. we are more than happy to review


Testing sphinx build with -W flag to fail on warnings.

Will not merge yet. Just testing travis build.

I've discovered that using the -W flag exits as soon as the first error is thrown, so you don't get the full list. When you run the sphinx-build without the -W, you get the following:
/Users/putrino/openstack/f5-openstack-heat-plugins/docs/apidoc/f5_heat.resources.rst:17: WARNING: autodoc: failed to import module u'f5_heat.resources.f5_bigip_device'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/venv/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 385, in import_object
    __import__(self.modname)
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/f5_heat/resources/f5_bigip_device.py", line 19, in <module>
    from heat.common.i18n import _
ImportError: No module named heat.common.i18n
/Users/putrino/openstack/f5-openstack-heat-plugins/docs/apidoc/f5_heat.resources.rst:25: WARNING: autodoc: failed to import module u'f5_heat.resources.f5_ltm_pool'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/venv/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 385, in import_object
    __import__(self.modname)
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/f5_heat/resources/f5_ltm_pool.py", line 18, in <module>
    from heat.common import exception
ImportError: No module named heat.common
/Users/putrino/openstack/f5-openstack-heat-plugins/docs/apidoc/f5_heat.resources.rst:33: WARNING: autodoc: failed to import module u'f5_heat.resources.f5_ltm_virtualserver'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/venv/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 385, in import_object
    __import__(self.modname)
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/f5_heat/resources/f5_ltm_virtualserver.py", line 18, in <module>
    from heat.common import exception
ImportError: No module named heat.common
/Users/putrino/openstack/f5-openstack-heat-plugins/docs/apidoc/f5_heat.resources.rst:41: WARNING: autodoc: failed to import module u'f5_heat.resources.f5_sys_iappservice'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/venv/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 385, in import_object
    __import__(self.modname)
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/f5_heat/resources/f5_sys_iappservice.py", line 19, in <module>
    from heat.common import exception
ImportError: No module named heat.common
/Users/putrino/openstack/f5-openstack-heat-plugins/docs/apidoc/f5_heat.resources.rst:49: WARNING: autodoc: failed to import module u'f5_heat.resources.f5_sys_iapptemplate'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/venv/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 385, in import_object
    __import__(self.modname)
ImportError: No module named f5_sys_iapptemplate
/Users/putrino/openstack/f5-openstack-heat-plugins/docs/apidoc/f5_heat.resources.common.rst:10: WARNING: autodoc: failed to import module u'f5_heat.resources.common.f5_bigip_connection'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/putrino/openstack/f5-openstack-heat-plugins/venv/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 385, in import_object
    __import__(self.modname)
ImportError: No module named f5_bigip_connection


improvement to distance filter

Hi Anton,
I'm seeing devices that are stationary but traccar shows them having motion = yes. I believe whats causing that is the distance filter configuration which filters out the data when the device actually comes to a stop (ie speed~0) since the coordinates are within the distance filter.
To explain more...when a device reports position right before a stop it'll have a speed not equal to 0 (sometimes I see speeds as high as 5 mph). When the device reports its next position which could be several second later ( no less than 10s in my case) it'll have a speed ~0 but the coordinates will be the same as before or within the distance filter.  This position and any other subsequent position gets filtered out by the distance filter so traccar never gets a position data where speed ~0 even though the device has stopped. This will affect any functions that uses the device motion state for calculations.
Two solutions come to mind..one is to increase the speed threshold. In my case I'll probably have to put it close to 10mph which is not ideal. Another solution is to allow the distance filter to only come into effect after certain number of reported positions are within the range of filtering. Lets say we can let the first two or three positions within the distance filter to not get filtered out.
what are your thought on this?

You should probably explain what the problem is. What functions does it affect in your case?

As an example I have implemented a function that only requests for geocoding when the device is stationary(ie when motion = no ). I can imagine any future functions that uses motion will have similar issues if motion is reported as yes when the device is actually stationary.

I would need an example from official version of Traccar.

I cannot think of an official traccar function besides that the fact that if you use the distance filter the "motion" state of the device will be incorrect sometimes. I hope atleast you follow why that is the case. Maybe it might not need resolution but but keep in mind for the future if the motion attribute gets more use.
Do you mind pointing me to where the distance filter is implemented? I'll like to do a simple modification to my version of code where it looks at the previous position data to make sure there was no motion before it implements the distance filter.

It's in FilterHandler.

Thanks! I made this modification below. It basically makes sure the device has come to a stop before it starts filtering the position. I don't know if its of any value to be included in the official traccar code.
private boolean filterDistance(Position position, Position last) {
    if (filterDistance != 0 && last != null && !last.getBoolean(last.KEY_MOTION) ) {
        return position.getDouble(Position.KEY_DISTANCE) < filterDistance;
    }
    return false;
}

Thanks for sharing the code. We will consider including something like that into official version.

Regarding the distance filter I have a real scenario that I am having trouble with.
Scenario: let's say the vehicle stops when the driver gets home at 10 pm. With the distance filter set to any value lets say "50m", no record will be considered since the vehicule is parked. In the morning I check the system but it says that the vehicle haven't been reporting for the last 7 or 8 hours.
Is there a way to update the last connection or maybe accept one record after 1 hour, so it doesn't seem that there is something wrong with the device?

Yes, the is a configuration parameter specifically for that purpose. Read official documentation.

Thanks for the reply Anton. Knowing that I found it in the documentation. I am assuming filter.skipLimit is the property.

Yes, that's the parameter.

Thanks! I made this modification below. It basically makes sure the device has come to a stop before it starts filtering the position. I don't know if its of any value to be included in the official traccar code.
    private boolean filterDistance(Position position, Position last) {
        if (filterDistance != 0 && last != null && !last.getBoolean(last.KEY_MOTION) ) {
            return position.getDouble(Position.KEY_DISTANCE) < filterDistance;
        }
        return false;
    }

Hi there,  I have had the same problem like socstur,  and I have used the code that he shared here,  and thanks,  it woked fine,  but is there a way to get this code work with ignition status ?
like this:
if (filterDistance != 0 && last != null && !last.getBoolean(last.KEY_MOTION) && **ignition == false** )

is that possible ?    if yes,  how to do it the correct way ?
thanks


Cannot deploy on Quorum network

Hello everyone, now i have tried to deploy universal token to quorum network. But when i migrate smart contract code to network, i met error:

Deploying 'ERC1400'
transaction hash:    0x9246571b007675f90644869b1654d78898d0f32398676e15ad2809712a61b054
Error:  *** Deployment Failed ***
"ERC1400" received a generic error from Geth that
can be caused by hitting revert in a contract constructor or running out of gas.

Returned error: gas required exceeds allowance (90000000) or always failing transaction.
Try: + using the '--dry-run' option to reproduce this failure with clearer errors.
+ verifying that your gas is adequate for this deployment."

Do anyone have met this error ? And how i can fix to deploy Universal token in quorum network ? Thanks in advance !
Environment

Version used: Truffle v5.1.49 (core: 5.1.49)
Environment: Quorum, Node v10.15.3, Solidity - 0.5.10 (solc-js), Web3.js v1.2.1
Server type and version:
Operating System and version: Mac OS 11

Hello @sadekyo1712 ,
Did you run the yarn truffle migrate command?
It is important to run it if you use your own network because it deploys ERC1820 registry in the migration #2.
Having ERC1820 registry deployed is a prerequisite before deploying the Universal Token.

Thanks you @gauthierpetetin for your reply.
I have tried trufffle migrate and stuck at that step. After 1 day to troubleshoot, i have to change code in erc1820, it cannot to deploy on quorum network because of the gas price in quorum is 0. So the spec in ERC1820 is not valid when use in private network like quorum. Thanks u so much !