jpg, png export types now available

Issue Title: Additional export options
resolve issue: #58
Type of change ☑
What sort of change have you made:

[x] Bug fix (non-breaking change which fixes an issue)
[x] Code style update (formatting, local variables)

How Has This Been Tested? ⚙
https://github.com/singodiyashubham87/Draw-it-out/assets/69074180/baff63e9-42c8-44e2-8725-a504c911fe7e

@thatsyogeshjjr Kindly resolve the conflicts.

made some changes, how does it look now @singodiyashubham87 ?

@thatsyogeshjjr Looks Good!
Thanks for contributing, Keep up the spirit :)


Refactor components to be chain-agnostic

it's starting to get messy with the components path: /rmrk/Gallery/History.vue while it's being used on other chains

Originally posted by @roiLeo in https://github.com/kodadot/nft-gallery/pull/3297#pullrequestreview-1021792389
Edit:
We know about this issue, but this is another instance of it: app needs serious refactor and take a look at some of the existing logic / file structure. For starters, it would be nice to have chain-agnostic components and file paths to them.

related with #3068 discussion


Fix broken macOS smoke test on CI

Fixes #11193

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[x] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for feature-requests.
[x] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[x] package-lock.json has been regenerated by running npm install (if dependencies have changed).

Codecov Report

Merging #11194 (48df354) into main (1dcfca7) will decrease coverage by 0%.
The diff coverage is n/a.

:exclamation: Current head 48df354 differs from pull request most recent head 08818ec. Consider uploading reports for the commit 08818ec to get more accurate results

@@          Coverage Diff           @@
##            main   #11194   +/-   ##
======================================
- Coverage     63%      63%   -1%
======================================
  Files        485      485
  Lines      34121    34121
  Branches    5564     5564
======================================
- Hits       21663    21656    -7
- Misses     10399    10403    +4
- Partials    2059     2062    +3

Impacted Files
Coverage Δ

.../standalone/survey/dataScienceSurveyBanner.node.ts
66% <0%> (-6%)
:arrow_down:

src/kernels/kernelDependencyService.node.ts
83% <0%> (-2%)
:arrow_down:

src/kernels/jupyter/finder/remoteKernelFinder.ts
87% <0%> (-2%)
:arrow_down:

src/kernels/raw/session/rawSocket.node.ts
74% <0%> (-2%)
:arrow_down:

.../notebooks/controllers/vscodeNotebookController.ts
80% <0%> (-2%)
:arrow_down:

src/kernels/common/baseJupyterSession.ts
80% <0%> (+<1%)
:arrow_up:

src/kernels/installer/productInstaller.node.ts
80% <0%> (+1%)
:arrow_up:

src/kernels/jupyter/baseKernelConnectionWrapper.ts
37% <0%> (+2%)
:arrow_up:

src/platform/common/cancellation.ts
72% <0%> (+5%)
:arrow_up:

@github-actions
Build and Test / Smoke tests (macos-latest, 3.9) (pull_request)
Was failing continually with a failure to download the darwin build on CI. Updated electron-test to check and I've seen two clean runs now for this test.


Parameters Missing

You missed the following two parameters in the documentation:
AllowOrgWideTeamCreation
AllowPrivateChannelCreation

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

ID: 42d2faa6-ad06-2982-bb5c-2e9c2c03dc2b
Version Independent ID: d6fd2904-158d-7831-cab4-277c99d4d23a
Content: Set-CsTeamsChannelsPolicy (skype)
Content Source: skype/skype-ps/skype/Set-CsTeamsChannelsPolicy.md
Service: skypeforbusiness-powershell
GitHub Login: @kenwith
Microsoft Alias: kenwith

@officedocsbot assign @yogkumgit

@kenwith Please merge PR #3496

merged

@dariomws306  Thank you very much for the contribution and updating the documentation with PR. @Danyolo Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

@officedocsbot close


fix(cactus-cmd-socketio-server): aggregates signature schemes for fabric

Describe the bug
The Signature in fabric takes place in two steps: "Endorse" and "Commit".
(https://hyperledger.github.io/fabric-sdk-node/release-1.4/tutorial-sign-transaction-offline.html)
However, the signature of fabric executed by the current cactus is done by verifier in the first stage and validator in the second stage.
(https://github.com/hyperledger/cactus/blob/62824be127521cf839f434a55a7ba5cd7cee686c/packages/cactus-cmd-socketio-server/src/main/typescript/util/TransactionSigner.ts)
We change the current method so that both steps are done in validator. To do so, we move both of the code for the two-stage signature to verifier.

Signing logic moved to connector


Docs: Guide: Get your Tequila API key

close #545

I don't feel like I'm the best one for proofreading, feel free to find better english skilled colleague :-)

@michalsanger thanks 👍


[CI] Remove all CircleCI jobs except the integration_tests and the docker_tests jobs

What does this PR do?
This PR removes all the former CircleCI jobs except the integration_tests and the docker_tests jobs.
Motivation
We're migrating jobs to Gitlab (or Github if the job is related to PR health).
Moved
go_linting: already present here.
licenses_linting: added in #29331.
copyrights_linting: added in #29331.
filename_linting: added in #29331.
shell_linting: added in #29331.
component_linting: added in #29331.
codeowner_linting: added in #29331.
build_binaries: already present here for rtloader, here for the base Agent.
build_iot_agent: already present here.
unit_tests: already present here.
Kept
integration_tests: Kept. It was added in #29489 but it's still unstable so we're choosing to keep it.
docker_tests: Kept. It was added in #29489 but it's still unstable so we're choosing to keep it.
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


conflict with http package

There is a version conflict between the signalr_netcore and http packages, which prevents successful dependency resolution. Consequently, attempting to install or update packages results in a version-solving failure with the following error message:
Because signalr_netcore >=1.2.0 depends on http ^0.13.3 and PROJECT depends on http 1.1.0, signalr_netcore >=1.2.0 is forbidden. So, because PROJECT depends on signalr_netcore 1.3.4, version solving failed.

Yes, that would be amazing to update this dependency.

Hi, any update about this issue? thanks

+1

+1

+1. I can't update other packages

+1

same problem

+1

+1

+1

+1

@sefidgaran If the fork from @geekz-reno could be merged. that'd be awesome. Thanks a lot for your great work!


Fix #1: Count vote twice on reply

Replies seem to include mentions of the author replied to.
Removing the reply code will still count replies as a mention but will no longer count them as two votes.
Deleting the message will still result in a 'downvote' so no issue here.

Maybe the wrong place to comment on but should we ever be counting "downvotes". Not sure downvoting via delete is adding anything vs just greater complexity and disincentivizing the often right action of removing a comment that's either no longer needed or turns out to be unhelpful.

Maybe the wrong place to comment on but should we ever be counting "downvotes"? Not sure downvoting via delete is adding anything vs just greater complexity and disincentivizing the often right action of removing a comment that's either no longer needed or turns out to be unhelpful.

This is true, especially as deleting ones reply is almost never out of 'downvote'-reasons. After all we aren't count the replies a user is writing in order to help, but rather the replies a user is accumulating.

One concern i have with Message deletion is a user using an alternate account to increase their votes by mentioning or replying to themselves and deleting the same message. With the current approach we're deleting the record. Instead of Deletion, perhaps we can add a new column deleted and maybe the message.content that we can use for processing later.
There's also with reacts the case where a user accidentally might give the reaction to the wrong person or simply misclick.
This are currently my concerns and if anyone has some ideas and suggestions feel free to leave them here: #4


Add Docker build option

This allows to build the ISO without the need to install the dependencies on your host system. It also works on Docker for Mac.
Personally, I'm not a fan of pulling an arbitrary binary from a GitHub repo to build my OS installation images, although I compared it with sha256sum with the original provided by isolinux. 😉 So this Docker build could replace the macOS instructions as well.

@fhemberger
Did you but some more time to get satisfied with your solution?
What was the reason you were not satisfied?
I'm currently thinking about building a pipeline in jenkins for regular rebuilds of the iso image and would like to use your/a docker image for the build environment.
Br
FK

@FleischKarussel you can use this branch https://github.com/core-process/linux-unattended-installation/pull/14
I want to merge PR 14, but I want to keep the native MacOS build option. Therefore I would like to add a fallback feature to the branch, which fetches the isolinux binaries from an official source in case they are missing.

Thanks, didn't recognized this as a branch!


Inject collection array?

interface IExample {
  name: string
}

@Injectable()
class A implements IExample {
  public name = 'A'
}

@Injectable()
class B implements IExample {
  public name = 'B'
}

@Bootstrapped()
class Main {
  constructor(private readonly services: IExample[]) {}
}

I need to be able to register and get all services exported as a certain type. Most other DI frameworks have a feature where you put the extra info onto the Injectable attribute.
For example typedi looks like this:
import { Token } from "typedi";

export interface IExample {
  name: string
}

export const ExampleToken = new Token<IExample>("example")

import { Service } from "typedi";
import { IExample, ExampleToken } from "./example.js";

@Service({ id: ExampleToken, multiple: true })
class A implements IExample {
  public name = "A"
}

Thank you for the suggstion, @justinmchase!
As far as I can tell, this feature wouldn't be trivial to implement. At the very least it would require adding injection tokens, as I cannot get the generic array's item types out of TypeScript's reflection system.
If I'm already adding tokens, I should probably also add a way to inject non-class types (i.e. arbitrary values) using these tokens.
I'll need to give this some thought to find an API I'm happy with.
I haven't used typedi myself, but from looking at the documentation I don't understand why the multiple: true is defined on the @Service decorator instead of the token itself. What would happen when I decorate two classes with @Service, one with multiple: true and the other with multiple: false and then try to inject those?
Without having spent too much time thinking about this, the following approach might work:

Introduce multiple InjectionToken variants, depending on how the classes/values should be injected

InjectionToken: for injecting a single class (i.e. what @Injectable() does now)
MultiInjectionToken: covers your use-case of injecting multiple classes implementing the same interface/extending the same parent class (@Injectable({ token: MultiInjectionToken }))
ValueInjectionToken: allows you to inject a single value (paired with functions to register them with the injector)
MultiValueInjectionToken: allows you to inject multiple values at once
These token variants all extend the IInjectionToken interface

Add a new @Inject({ token: IInjectionToken }) (or @Inject(token: IInjectionToken)) decorator that you can apply to constructor parameters that aren't simply an @Injectable class

So for your use-case it might look something like this:
interface IExample {
  name: string;
}

const IExampleToken = new MultiInjectionToken<IExample>("IExample");

@Injectable({ token: IExampleToken })
class A implements IExample {
  public name = "A";
}

@Injectable({ token: IExampleToken })
class B implements IExample {
  public name = "B";
}

@Bootstrapped()
class Main {
  constructor(@Inject({ token: IExampleToken }) private readonly services: IExample[]) {
    console.log(services.map(s => s.name)); // [ "A", "B" ]
  }
}

What do you think?

Those all seem perfectly reasonable, I can't think of a reason why isMulti is on the service either. I can't remember what it does if you don't specify multi, it either throws on the second addition or overwrites... both of which really don't make sense. Also its unclear what happens when you call Container.get(token) for a multi service (the first one? the last one? throw?) or if you have some with multi and some without...
So yeah I think I agree with you that it would make more sense to attach it to the token so that its always multi or not multi and have the one single resolve function return either a single instance or multiple based on the token... yeah seems way better that way.


Add E2E tests that exercise Close()

We should assert that calling Close() works.

It should be called in all the normal places users would call it.

Inside OnICEConnectionStateChange
At anytime outside a pion-WebRTC callback
At random times during signaling (before/between SetRemoteDescription and CreateAnswer)

I have managed to update to current head and get stable results, but the missing close operation was causing some issues. I tracked down what was going on during tear down that I believe should be done as part of the close operation.

Right now, as it's not fully implemented attempting to close the PC causes a lockup, it should block for those who need that, but should not block any other peer connections.
It should dereference all On* callbacks, I have found in my own code it's pretty easy to reuse the same endpoint for the same returning user, this means dying or dead peer connections will still be calling these endpoints with conflicting state.
Clean up datachannels, this might already be done as I've had no issues to date, but again having OnMessage triggered for a non-existent thing can lead to fun bugs.

The E2E test have meanwhile been added for the basic flow of closing the peer connection after use. The test assures that all goroutines are ended. It should therefore not be possible for callbacks to fire afterwards.
Do we want to keep this open for the other tests (different timings) as mentioned in the original issue? Maybe that's better tracked in on of the API concurrency issues?

Hey @thetooth I am closing this for now. Me and @backkem added lots of tests around close, so this shouldn't regress again in the future.
I always love getting feedback about how we can be doing stuff better, so if you are still seeing issues/have anything we can do better please let me now!


[Hackathon 7th] updating the paths to utility scripts and modifying method parameters

PR types

Others
PR changes

Others
Describe

This pull request includes updates to several test scripts and a few model files. The primary changes involve updating the paths to utility scripts and modifying method parameters.
Updates to test scripts:

examples/aishell/asr0/local/test.sh, examples/aishell/asr1/local/test.sh, examples/aishell/asr3/local/test.sh, examples/librispeech/asr0/local/test.sh, examples/librispeech/asr1/local/test.sh, examples/librispeech/asr3/local/test.sh, examples/librispeech/asr4/local/test.sh: Updated paths for format_rsl.py and compute-wer.py to use ${MAIN_ROOT}. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]

Updates to model files:

paddlespeech/s2t/exps/deepspeech2/model.py: Removed the call to self.predictor.clear_intermediate_tensor().
paddlespeech/s2t/models/ds2/deepspeech2.py: Added full_graph=True parameter to paddle.jit.to_static in the export method. [1] [2]

miss delete some utils folders

Those that are not broken links can be temporarily left unchanged.


Shouldn't there be versions?

Currently there are only development and master branches.
I think it would make sense to use tags for grid versions that can be published as a release and branches for versions being worked on but not released yet so the docs can be worked on already and can be checked before a release.

I've been thinking a bit more on this and git tags are probably not a good solution. It would mean a new tag has to be published for every addition to the docs so they can't be kept in sync with grid versions anyway.
Branches can work though, with a main branch for the currently deployed version on mainnet and version branches for the rest.

I think for consistency, we should indeed use versions

Hmm, I think maybe we can use master/main for the current release and development for the upcoming?

why not a 3.9 and 3.10 branch instead of 1 development one? It would be clear and info can already be created on the 3.10 for example and we're not constantly running behind on the docs.
It's also easier to merge

https://github.com/threefoldtech/info_grid/blob/master/versioning.md


Fix dropdown menu display in top navbar

Fixes #1714.

I opened https://github.com/rust-lang/docs.rs/pull/1717, sorry for the noise.


Sending to BTC Address does not work

I have tried to send to a BTC Address but after confirming the priority of the transactions nothing happens
l-breez.logs (29).zip

Hello @Nackoo2000 A support ticket has been opened for you. Kindly Talk to Support on the Live support page so that your issue can be looked into. CLICK HERE

Hello,
Visit our dedicated 24/7 support page to initiate a chat with an agent to rectify this error via Breez Help center.
Regards

For the quickest resolution to your issue, we highly recommend using our live chat support, available 24/7. Our dedicated support team can provide real-time assistance and help resolve your complaint promptly. You can access the live chat here: Breez SUPPORT.
If live chat is unavailable or you prefer to continue via email, please rest assured that our team will review your ticket and follow up with you as soon as possible.


[version] bump version to 0.8.44

i'll see what the command is to make this not break later, but in the meantime i manually published 0.8.44


VsLight tweak

Little tweaks I did to VsLight to match a bit better VS:
VS2005DockPaneStrip.TabSize=Large
VS2005DockPaneStrip.TabSeparatorColor=#007ACC

Also missing the QuickFind background color:
QuickFind.BackColor=#EEEEF2


Micro causes Windows Terminal to lose mouse functionality

Description of the problem or steps to reproduce
When using a tab of Windows Terminal configured for bash (via Git Bash - my command line is "%PROGRAMFILES%\Git\usr\bin\bash.exe" -i -l), after I use micro one time, the cursor no longer works in the Windows Terminal. For example, I cannot highlight things by holding down the mouse button, or scroll using the scroll wheel.
https://user-images.githubusercontent.com/241628/145907539-b4d454bc-0d22-4dcb-9b31-49880519fee4.mp4
Specifications

Commit hash: b9763856
OS: Windows 10
Terminal: Windows Terminal

Try it with Kitty terminal, don't trust windows :D


Update the twitter logo

Is your proposal related to a problem?

There is old twitter logo on the site. As the twitter logo changed , site should be updated with the new logo.
Describe the solution you'd like

Change the logo of Twitter to the next Logo.
(Describe your proposed solution here.)

Update Progress:
I've made the necessary changes to update the Twitter logo on the website:

Inspected the website's HTML source code to locate logo usage.
Used grep to find logo class in relevant files.
Opened and edited index.html and _default/baseof.html in VS Code.
Updated logo code to new FontAwesome class.
Tested changes locally using web browser and Live Server.
Verified new logo display and class application.

I've submitted a pull request (#6624) with detailed description. Please review and provide feedback. Thank you!
If you have any further questions or need more information, please let me know!


Consider documenting the admission webhook

What is missing?
Currently the operator has an awesome admission webhook to validate PrometheusRules and making sure they won't break Prometheus' configuration reload. However, there are very few mentions of that webhook in the project (the most obvious clue being a mention in the changelog, an existing issue and some tests).
Why do we need it?
If not specifically looking for it, as an end-user it's quite difficult to figure out this feature exists. It's also not fully trivial to setup (needs TLS, hence a sidecar such as Ghostunnel is also required).
I'd be willing to just write some doc about it, though I am unsure where would be the best fit (maybe a user-guide and a small mention in the README?)

I'd be willing to just write some doc about it, though I am unsure where would be the best fit (maybe a user-guide and a small mention in the README?)

That would be awesome! A user-guide and mentioning it in the readme sounds perfect. I'd be happy to give this a review.

+1
Thank you for raising this issue.
Documentation around admission hook would be immensely helpful, especially that  it's a extremely useful feature.

@mickael-carl Did you do any progress on this one?
It would be really helpful if there is documentation for the webhooks.

It would be worthwhile to wait with the documentation for a release that includes https://github.com/coreos/prometheus-operator/pull/3134 (or write the documentation with the PR in mind) as it makes it unnecessary to deploy a sidecar (such as ghostunnel) for the TLS handling required from Kubernetes Admission Webhooks.


clarify setup instructions

Clarifies doc to as for what needs to be changed in membersrvc.yaml
Description
Doc change to allow new users to see what has be to added to membersrvc.yaml for a working secure network
Motivation and Context
This clarifies the setup instructions so that new users can see what
exactly must be changed to add a secure node.
Signed-off-by: Joseph C Wang<EMAIL_ADDRESS>

IMO this can be merged.

@joequant LGTM, thanks. @gabre Thanks for the review


Fixed styling bugs in search-components and added link to homepage in NavBar

Fixed styling issues in search component in Homepage and Components page and a link to homepage was added in NavBar for mobiles.
Fixes #58 and #69.

Could you open separate PRs for the issues?
Some work on the UI and the basic design ideology has to be done for the search bar.


Add MaterializedView relation type, update Snowflake adapter

Fix for issue https://github.com/fishtown-analytics/dbt/issues/1430, re-doing https://github.com/fishtown-analytics/dbt/pull/1431 on the dev/0.13.1 branch
-- Adds MaterializedView to the list of RelationTypes in the BaseRelation class
-- Updates the snowflake__list_relations_without_caching macro to handle 'MATERIALIZED VIEW' table_type
I didn't find any unit tests for the BaseRelation parsing, so I just tested manually. Let me know if there's a good way to add a test for this.
Prior to the fix running a model in this project returned:
* Deprecation Warning: The adapter function `adapter.already_exists` is deprecated and will be removed in
 a future release of dbt. Please use `adapter.get_relation` instead.
 Documentation for get_relation can be found here:
 https://docs.getdbt.com/reference#adapter

Encountered an error:
Runtime Error
  Invalid arguments passed to "SnowflakeRelation" instance: type.'MATERIALIZED VIEW' is not one of ['table', 'view', 'cte', None]

After the fix the model runs successfully:
Running with dbt=0.13.0
* Deprecation Warning: The adapter function `adapter.already_exists` is deprecated and will be removed in
 a future release of dbt. Please use `adapter.get_relation` instead.
 Documentation for get_relation can be found here:
 https://docs.getdbt.com/reference#adapter

Found 140 models, 364 tests, 0 archives, 0 analyses, 103 macros, 0 operations, 0 seed files, 0 sources

09:31:09 | Concurrency: 3 threads (target='production_bi')
09:31:09 |
09:31:09 | 1 of 1 START table model bi.the_model................... [RUN]
09:31:17 | 1 of 1 OK created table model bi.the_model.............. [SUCCESS 1 in 8.01s]
09:31:17 |
09:31:17 | Finished running 1 table models in 14.96s.

Completed successfully

Done. PASS=1 ERROR=0 SKIP=0 TOTAL=1

Thanks @adriank-convoy! I just kicked off the tests here - we'll be good to merge this for 0.13.1 when they pass :)

I can't get github to display it, but this passed CI here: https://dev.azure.com/fishtown-analytics/dbt/_build/results?buildId=5

@beckjake can you merge this and then work with @cmcarthur to cut an alpha of 0.13.1?


dApp - update to new version broken

With the release of v2.0.0 also a new version of the dApp got build and published. The dApp its update strategy should now detect the new version number on the server and inform the user that he can update his local client. This feature is currently broken as there is an error in the code that fetches the version from the server. It validates if the received version number is in a valid format to ensure it can compare the version to the local one.
We have verified that if we reset the public dApp version to v1.0.0, "install" this version and then go back to v2.0.0 on the web-server, the dApp correctly detects the update and the user can update. With the now "installed" version v2.0.0 there is the warning message in the console about the version validation. Also the experiment to artificially increase the version number on the server to v2.0.1 proofs that the dApp does not inform the user about a possible update.
This is a very serious issue. Because this means every user which updates to v2.0.0 can never update again to any new release we do. Only if he gets support to use the developer tools of his web-browser. Therefore we have reset the official hosted version to v1.1.0 where updates still work properly. We now fix this issue and then release a patched version. The users will then update directly from v1.1.0 to v2.0.1.
This issue is a bit awkward. The related code has not been touched since 1 year. The error message points us to a an issue with a call to a 3rd party library which is doing the version validation. Though the error message is not very helpful despite that. Combining those two information, it seems like a library update has caused this issue. Which one is unclear. A first quick test with a NodeJS REPL was not helpful. Deeper investigations are necessary.
It is worth to mention that this is the probably only feature that has no end-to-end tests. We have unit tests for it, but they are still successful. The end-to-end test case has been validated as too complicated and expensive with no clear solution approach. Practical tests where always positive so far when the feature was touched (which was not the case here). With this experience and because the risk is very high, we should strongly consider to add such a test now.
The problem is also that this update functionality is only working in a production build.

The broken version v2.0.0 was only live for ~2h. As our user-base is very small it is very unlikely that anyone did already update to the new version.
In case someone still did, we will use the old strategy to handle this issue and host the v1.1.0 where the update is still working under a sub-path. This will allows users which updated "too early" to still access their channels of the old contract version.


Does not build on FreeBSD

[ ] on Freebsd make is not GNU make, need to use gmake in its place
[x] FreeBSD does not have bash by default, and when it does it's installed in /usr/local/bin not /bin
[x] FreeBSD, like Apple/Darwin does not have statfs, but instead expects the use of the underlying headers
sys/types.h
sys/sysctl.h
sys/param.h
sys/mount.h

Let me just stage this here as a quiick refrence prior to creating a PR.
@@ -0,0 +1,11 @@
+--- Makefile.orig      2022-10-01 05:32:53.792152000 -0700
++++ Makefile   2022-10-01 05:12:27.694746000 -0700
+@@ -1,7 +1,7 @@
+ PREFIX ?= /usr/local
+ MANDIR ?= $(PREFIX)/share/man/man1/
+ BUILDTYPE ?= Release
+-SHELL = /bin/bash
++SHELL = /bin/sh
+
+ # inherit from env if set
+ CC := $(CC)
diff --git a/graphics/tippecanoe/files/patch--main.cpp b/graphics/tippecanoe/files/patch--main.cpp
new file mode 100644
index<PHONE_NUMBER>00..c368d938feb5
--- /dev/null
+++ b/graphics/tippecanoe/files/patch--main.cpp
@@ -0,0 +1,11 @@
+--- main.cpp.orig      2022-10-01 05:33:25.984494000 -0700
++++ main.cpp   2022-10-01 05:14:45.679349000 -0700
+@@ -34,7 +34,7 @@
+ #include <map>
+ #include <cmath>
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(__FreeBSD__)
+ #include <sys/types.h>
+ #include <sys/sysctl.h>
+ #include <sys/param.h>

Thanks! I'd be happy to merge a PR with these changes.

Thanks! The thing that keeps me from switching to /bin/sh on other platforms is that make parallel-test uses the <(…) syntax to treat a pipeline as a named file. Is this supported in your /bin/sh?

Apparently, it does not.
.  The quick fix in my mind is to set the SHELL to bash for only the parallel-test target though something like
+-parallel-test:
++parallel-test: (eval SHELL:=/bin/bash)

That would keep the Linux shell happy, and make the target on FreeBSD invalid.  I suspect the vast majority of people would just be trying to get a built binary, vs Dev QA.

PR #72  submitted


Mongo connector stops working if primary mongo replica goes down

I have setup mongo replica structure with 1 primary and 2 secondary.
I am using mongo connector to sync data from mongo to solr using below cmd
mongo-connector -m <IP_ADDRESS>:27017 -t http://<IP_ADDRESS>:8983/solr/user -d solr_doc_manager.py
-n mydb.user_cl --auto-commit-interval=0
Its working fine when mongo on host <IP_ADDRESS> is on.
But when server with host <IP_ADDRESS> is down mongo connector stop working.
Can it automatically switch to current primary mongo replica or else is there any option to manage it?

Can you please provide:

Any output from stdout/stderr from mongo-connector
The contents of mongo-connector.log
The versions of mongo-connector and MongoDB

Thanks!

I also have these problem. My mongodb cluster is sharded cluster an each shard has an replica set. When a shard master and slave switch, the mongo-connector will down.
There not much log when this happened, here is the log:
2017-08-14 15:01:14,595 [ERROR] mongo_connector.connector:324 - MongoConnector: OplogThread <OplogThread(Thread-4, stopped<PHONE_NUMBER>44256)> unexpectedly stopped! Shutting down
I think when mongodb cluster working in my situation, mongo-connector is working on sharded mode. And when switch between master and slave, mongo-connector cannnot find the new master to connect.


Replace references to 'charge' with 'cost'

Replace last remaining references to 'charge' with 'cost'.
Fixes https://github.com/project-koku/koku-ui/issues/572

Codecov Report

Merging #573 into master will increase coverage by 0.02%.
The diff coverage is 88.23%.

@@            Coverage Diff             @@
##           master     #573      +/-   ##
==========================================
+ Coverage   83.06%   83.08%   +0.02%
==========================================
  Files         162      162
  Lines        2480     2483       +3
  Branches      409      409
==========================================
+ Hits         2060     2063       +3
  Misses        373      373
  Partials       47       47

Impacted Files
Coverage Δ

src/store/ocpDashboard/ocpDashboardReducer.ts
100% <ø> (ø)
:arrow_up:

src/routes.tsx
84.61% <0%> (ø)
:arrow_up:

src/store/ocpDashboard/ocpDashboardWidgets.ts
100% <100%> (ø)
:arrow_up:

src/api/ocpReports.ts
80% <100%> (ø)
:arrow_up:

src/pages/ocpDashboard/ocpDashboardWidget.tsx
80% <100%> (+0.51%)
:arrow_up:

...ports/ocpReportSummary/ocpReportSummaryDetails.tsx
60.86% <66.66%> (ø)
: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 f868043...0ab1f99. Read the comment docs.


Question about kMinValue array

Hello, I have been modified yicies_solver for my term project.
I found that kMinValue[0](Minimum value of U_CHAR) does not give me correct value(0)

for(size_t i = 0 ; i < 1 ; ++i)
{
    fprintf(stdout, "\tkMinValue[%u, %s]: %lld\n", i, type_names[i], kMinValue[i]);
    fprintf(stdout, "\tkMaxValue[%u, %s]: %lld\n", i, type_names[i], kMaxValue[i]);
}

from above codes,
I saw the result live below
I know that kMaxValue is initialized at basic_types.cc as numeric_limits::min()
but I wonder why I got the wrong result.
kMinValue[0, U_CHAR]: 154468404
kMaxValue[0, U_CHAR]: 255

Thanks.

If you are printing the value make sure you use it converted to an integer. This is because by default, the C++ i/o streams convert 8 bit integer values to their ASCII counterpart so, the numeric_limits::min() call can originate problems, that can be seen with this:
#include <iostream>
#include <limits>
#include <cassert>

using namespace std;
using std::numeric_limits;

int main(){
	cout << numeric_limits<unsigned char>::min() << endl;

	cout << (int)numeric_limits<unsigned char>::min() << endl;
    return 0;
}

In this case the first print returns \00 and the second print returns the correct value: 0.


style: Rename control node to central node

A bunch of renames for control node -> central node, to keep everything consistent. I might have missed a few as I did this fairly quickly

Just check my comment :) then I'll merge


[Feature request] Will the llava project support deepspeed for training?

feature
No response

Hi, we have plan for supporting Deepspeed and it is planned for release by the end of May.  Stay tuned!


Can not find the view memory and CPU usage menu

Please answer these questions before submitting your issue.

Why do you submit this issue?
[x] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?
I can't find a menu to view memory and CPU usage in Web ui. Where can I see it?

I can't find a menu to view memory and CPU usage in Web ui. Where can I see it?

I assume you are a Chinese, right? Read this. http://skywalking.apache.org/zh/blog/2018-12-18-Apache-SkyWalking-5-0-UserGuide.html

是的是的，我是Chinese哈哈哈，终于找到了，谢谢你，原来在右下角小小的点击 more details ... 6.0的文档里面找不到，原来在5.0的手册里面。谢谢！


Is this repo abandoned?

Documentation Is:

[ ] Missing
[x] Needed
[ ] Confusing
[ ] Not Sure?

Please Explain in Detail...
Users of this library need to know if this repository is going to be maintained or not going forward.
If it is, great -- we can wait till you have some free time.
If not, we need to know so one of us can create a fork (or be added as a maintainer of this repo), to keep the project maintained. (there are several issues that affect its functionality currently, with solutions posted in the issue comments and merge requests, but they have so far not been added)
Your Proposal for Changes

Okay, I'll take that as a no. ^_^
Anyone willing to take up the project's maintenance?
If someone comes along who's willing to do so, we'd then need to get in contact with @richtr to ask him to add that person as a maintainer of the repo.
If we're unable to contact him... well that would be unfortunate since this is the largest library/repo for this functionality. I suppose someone would need to fork it, and we'd redirect people to that fork in the answers/comments mentioning this library. (on StackOverflow and such)

For what it's worth, there is a webcomponent WakeLock repo here. Disclaimer: I am the author.

Chrome 79 adds the Wake Lock API  as Origin Trials  🎉
read more:
https://developers.google.com/web/updates/2019/12/nic79#wake-lock

Also interested in this, @richtr do you need help? Would love to have the performance PR and the nullcheck PR merged in so I can use this via npm


media controls not working

Too little information, but possible duplicate of [#229]

Media controls do not work when used as a media source for "Music Assistant",
There also seems to be no way to pause/stop when playing a media file directly


option to watch all files in folder

Hi, great module. I just wanted to watch all files in the folder and didn't found how to do it with the current settings. I added an option that if I set res: '*' it will watch all files in folder for a given window.
If there was already a way of doing it, please let me know.
Hope it helps! best, :)

Thanks @jaime-ez. You are right. Originally, there was no way to watch all files in a dir. I like the idea of providing such an option. However, I like to know your idea about this,  if we set the option as '*', then res would have 2 types, {Array<String>} and {String}. Don't you think it can be a little confusing then?
Alternatively, what do you think about providing this option by saying if you want this bw to be reloaded for any changes, that is watching all files in a dir for this bw, pass an empty [] for res of this bw? In that case, the res type would be kept consistent as well.
In the code, we could achieve this by something like
if (win.bw && win.res && Array.isArray(win.res) &&
  (win.res.indexOf(path.basename(f)) !== -1) || win.res.length === 0) {
  win.bw.reload();
}

Your thoughts?

Hi @manidlou you're right, consistency is essential. I'll make a new commit with those modifications in place. And I just realized that I forced the code style I use (standardjs - I like because of it's simplicity) on the main file... do you rather use another style?
Let me know what you think, best

That's perfectly fine. standardjs is cool. I like it too.

Great, pull request updated :)

Thanks @jaime-ez. I really appreciate your help.


Inspector: Clone only the mesh, not the children when using render wireframe over mesh (+fix baseColorFactor linear space in gltf)

See https://forum.babylonjs.com/t/render-wireframe-over-mesh-broken-with-parenting/17650
Also fixes a problem with baseColorFactor not being converted to linear space when reading a gltf/glb file. I mistakenly committed this change in this PR! See https://forum.babylonjs.com/t/rgb-values-are-broken-in-new-babylonversion/17657/3 and spec (https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#user-content-metallic-roughness-material)

Tests are failing :(

Tests are failing :(

I am really not sure that the gltf loader should be touched as it currently works like other gltf viewers I am more thinking this could be an export issue.
@bghgary  ???

I am really not sure that the gltf loader should be touched as it currently works like other gltf viewers I am more thinking this could be an export issue.
@bghgary  ???

Rollbacked my bug for the baseColorFactor!

Rollbacked my bug for the baseColorFactor!

I am really not sure that the gltf loader should be touched as it currently works like other gltf viewers I am more thinking this could be an export issue.

Rollbacked my bug for the baseColorFactor!

Right. baseColorFactor in glTF is already in linear space.
https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#pbrmetallicroughnessbasecolorfactor

These values are linear.

I am really not sure that the gltf loader should be touched as it currently works like other gltf viewers I am more thinking this could be an export issue.

Rollbacked my bug for the baseColorFactor!

Right. baseColorFactor in glTF is already in linear space.
https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#pbrmetallicroughnessbasecolorfactor

These values are linear.


Implement reset method in WebsocketDataCollector

Since Symfony 3.4 classes implementing DataCollectorInterface should implement reset() method.

Thanks @raplider


Adding any dependency to any package with cmd fails

For example: yarn add express
error An unexpected error occurred: "expected workspace package to exist for \"cypress\"".
info If you think this is a bug, please open a bug report with the information provided in "/sandbox/code/github/threefoldtech/tfgrid-sdk-ts/packages/playground/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

as a workaround, we can add the package in the package.json and then do yarn install


SaripaarViolationException

I have a code inside androidx.fragment.app.Fragment
@Password(min = 3)
EditText etPassword;

After init validation
validator = new Validator(this);
validator.setValidationMode(Validator.Mode.IMMEDIATE);
validator.setValidationListener(this);

And on validator.validate(); I receive:

SaripaarViolationException: 'com.mobsandgeeks.saripaar.rule.PasswordRule' should have a single-argument constructor that accepts a 'com.mobsandgeeks.saripaar.annotation.Password' instance.

Pls help to fix

@Savrov
I'm getting this error as well.
IMO It is most probably because of the instantiateRule() method in Reflector.java class, which throws this violation error when trying to create the validation rule with any available public constructors through reflection.
I tried debugging this and found that no constructors are returned, even after adding a public constructor to my Annotation Rule class.
This only happens when I'm using proguard, but I've added these lines to my proguard.pro file:
-keep class com.mobsandgeeks.saripaar.** {*;} -dontwarn com.mobsandgeeks.saripaar.**
Still this is happening.
Can some help here?

@Asad-Khan-Aasanjobs I have created new project with AndroidX support (again) and it works. In old project its not still working.


"mavenBom file: 'pom.xml'" causes error "Module may not be null"

Steps to reproduce:
create build.gradle:
buildscript {
  repositories {
    maven {
      url 'https://plugins.gradle.org/m2/'
    }
  }
  dependencies {
    classpath 'com.netflix.nebula:nebula-dependency-recommender:4.0.2'
  }
}

repositories {
  mavenCentral()
}

apply plugin: 'java'
apply plugin: 'nebula.dependency-recommender'
dependencyRecommendations {
  mavenBom file: 'pom.xml'
}

create pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <groupId>org.example</groupId>
  <artifactId>example</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>

  <dependencyManagement>
  </dependencyManagement>

</project>

execute gradle build:
FAILURE: Build failed with an exception.

* Where:
Build file '/tmp/example/build.gradle' line: 19

* What went wrong:
A problem occurred evaluating root project 'example'.
> Module may not be null

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 0.719 secs

using gradle --version:
------------------------------------------------------------
Gradle 3.4
------------------------------------------------------------

Build time:   2017-02-20 14:49:26 UTC
Revision:     73f32d68824582945f5ac1810600e8d87794c3d4

Groovy:       2.4.7
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_121 (Oracle Corporation 25.121-b13)
OS:           Linux 4.1.15-gentoo-r1 amd64

still active in 4.2.0

Any chance this will be fixed, or is there any workaround?
We have to stay on version 3.6.3 (latest without a bug) which prevents us from upgrading to Gradle 4.x
Thanks

I am getting the same problem, in version 4.3.0 and 5.0.0.  I want to reference a local bom file, but when I run it errors with the message, "Module may not be null."

I notice that mavenBom file: file("${rootProject.projectDir}/pom.xml") successfully works in version 3.6.2.  Therefor, this error was introduced after that.

Would be nice to get at least some response from the maintainers whenever that's a bug or desired regression
/cc @sghill @chali

The regression happened here:
https://github.com/nebula-plugins/nebula-dependency-recommender-plugin/pull/30

@bsideup have you tried the BOM Import in Gradle 4.6? If possible it should be preferred to use the core gradle feature rather than this plugin.
For legacy projects already using this plugin, it was recently updated to delegate to the core feature by adding:

systemProp.nebula.features.coreBomSupport=true to gradle.properties
enableFeaturePreview('IMPROVED_POM_SUPPORT') to settings.gradle. This step will not be necessary after Gradle 5.0 is released.

cc @minmay @eprst @Godin

@sghill yep, AFAIK it doesn't work with files :)

@bsideup it works with a file repo defined. Here's a working example using the original posted empty-bom and a second bom that includes a junit dependency
settings.gradle:
enableFeaturePreview('IMPROVED_POM_SUPPORT')

build.gradle:
plugins { id 'java' }

repositories {
    maven { url 'bom-repo' }         // repo in the project
    mavenCentral()
}

dependencies {
    implementation 'org.example:empty-bom:1.0'
    implementation 'org.example:testing-bom:1.0'
    testImplementation 'junit:junit' // comes from testing-bom
}

dependencies task output:
$ ./gradlew dependencies --configuration testRuntimeClasspath --console=plain

> Task :dependencies

------------------------------------------------------------
Root project
------------------------------------------------------------

testRuntimeClasspath - Runtime classpath of source set 'test'.
+--- org.example:empty-bom:1.0
+--- org.example:testing-bom:1.0
|    \--- junit:junit:4.10
|         \--- org.hamcrest:hamcrest-core:1.1
\--- junit:junit -> 4.10 (*)

(*) - dependencies omitted (listed previously)

repo structure:
$ tree .
.
├── bom-repo
│   └── org
│       └── example
│           ├── empty-bom
│           │   └── 1.0
│           │       └── empty-bom-1.0.pom
│           └── testing-bom
│               └── 1.0
│                   └── testing-bom-1.0.pom
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
    └── main
        └── java


New Code for Pushing Deployments

Continuation of #1215
Fixes #1255
Now, to trigger a deploy, a person with write permissions must add a "safe to deploy" label to the PR.
More Info
https://securitylab.github.com/research/github-actions-preventing-pwn-requests

I'll merge for now, I want to set something up that is more automated


Cannot deserialize values due to bincode constraints

Hi there.
According to https://github.com/bincode-org/bincode/issues/548 and https://docs.rs/bincode/2.0.0-rc.3/bincode/serde/index.html#known-issues, bincode doesn't support several of serde's derive macros, some of them have pretty common use. Unfortunately, this makes me unable to use fuzzy_rocks with my data.
Is there a way to use a different serde data format that does support serde metadata (and hence all of serde's functionality?)

Hello fellow Tokyo resident.  One option is to use some indirection - ie. use a ValueT in the table that can be deserialized with Bincode (like a guid), which is then the key to access the data you want.  Admittedly that's not ideal.
Do you have a preference on an alternative format?  I found this: https://github.com/djkoloski/rust_serialization_benchmark And it looks like postcard turns in respectable performance & size, and has good support.  I didn't look closely enough to see if it support the metadata you need.
I don't think I'll have time to look into this for a couple weeks, but if you raise a PR, I will merge it. (Just make it a Cargo feature, so people have the option of keeping compatibility with their bincode-formatted tables)
BTW: do you ever go to the Tokyo Rust meetups?  https://www.meetup.com/tokyo-rust-meetup/

Would you prefer if I make a complete replacement of all uses of bincode for messagepack or is it enough if I just swap the de/ser parts for where the ValueT is involved?
I think the letter is what I'll do for testing for now, and if it works well, we can port the rest too (but that's just for cleanness and removing one dependency's sake)

Porting to a different format shouldn't be all that hard anyway, right?

There are a few places where I actually peek into the raw bytes, rather than doing a full deserialization.  Basically everywhere I call anything in https://github.com/luketpeterson/fuzzy_rocks/blob/main/src/bincode_helpers.rs  That being said, I don't remember how much of a difference it actually makes to the bottom line, so you might just run the deserializer for simplicity.  When I wrote this 2 years ago my use case was incredibly performance-sensitive, but if you just need something reasonable then I don't think it's totally necessary to go to these lengths.

A friend recommended me messagepack

That sounds like a reasonable choice to me if you think it satisfies the other needs.
According to the benchmarks, both msgpacker and rmp-serde are within a factor of 1.5 of Bincode, and a factor of 2 (except at serialization) of the best formats in the benchmark.  And the format seems to be well supported and documented.
As to which MessagePack crate to use, the benchmarks say the performance is in the same league, with msgpacker winning by a tiny bit on deserialization.  But the difference isn't huge on any benchmark.  So I think it comes down to the fact that rmp-serde is integrated with serde (and thus depends on it) and msgpacker isn't (and therefore doesn't).  I don't have an opinion myself.  People complain serde is slow to compile, but it's tiny compared to the time taken to compile RocksDB.

Would you prefer if I make a complete replacement of all uses of bincode for messagepack or is it enough if I just swap the de/ser parts for where the ValueT is involved?

My feeling is that it probably makes sense to use one format or the other.  Like you said keeping the dependencies minimal.  But it's not a strong opinion on my part, just a feeling.
Thanks.

Looking a little closer, a lot of people just use the rmp crate directly, without depending on serde at all.  So perhaps this is the best-supported option with 12M+ downloads.

@jannisbecker With https://crates.io/crates/fuzzy_rocks/0.3.0 I added the ability to provide a custom coder object, and I implemented a coder for MessagePack.
In practice, BinCode is still 80% faster, so I left it as the default, but you can use the msgpack feature to enable MessagePack encoding.  Just be careful not to build a table with one encoding and search it with another.
Let me know if this works or if you have any other ideas to improve it.


Failed to initialize video producer. Error code: 4099

Hi Guys,
I have followed the readme, however when tried to roslaunch the kinesis_video_streamer.launch I am getting the following error:
[FATAL] [1544446273.975483790]: [Initialize] Failed to initialize video producer. Error code: 4099
I have updated the yaml files to have to correct topic (sensor_msgs::Image), correct topic type(2) and correct region (eu-central-1)
What else am I missing?
Thanks

Hi,
Thanks for taking a look to our kinesis video streamer node.
That error usually happens when the AWS credentials are not configured, and the node is not able to initialize the kinesis video client. Can you please check that the credentials and resource permissions have are set up according to these instructions. Please let me know how it went!

Hi @juanrh
thanks for assisting with this. However it appears that everything is set as required (IAM permissions and credentials in ~/.aws/credentials and ~/.aws/config)

Hi Gil,
Thanks for your patience. Error code 4099 / 0x1003 corresponds to KINESIS_MANAGER_STATUS_INVALID_INPUT and it is thrown during the video producer initialization when there is some configuration problem. I think in this case there might be a bug in our code because even though the sample configuration includes the region parameter it is not always read correctly.
A possible workaround would be setting a system wide default AWS region. For that you should create or edit the file ~/.aws/config to add the following lines:
[default]
region=us-west-2

Could you please also provide the PARAMETERS section printed by the roslaunch command, so we are sure the region is passed? There should be an entry /kinesis_video_streamer/kinesis_video/stream0/aws_client_configuration/region.
I'll also work on a permanent code fix, but I also would like to try to unblock you as soon as possible.
Thanks

Hi Gil,
What I was asking is that you added the output printed by the roslaunch command to this email thread, in particular the PARAMETERS section.
Thanks

SUMMARY
========

PARAMETERS
 * /kinesis_video_streamer/kinesis_video/log4cplus_config: /my_workspace/v...
 * /kinesis_video_streamer/kinesis_video/stream_count: 1
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /
    kinesis_video_streamer (kinesis_video_streamer/kinesis_video_streamer)

Hi Gil,
I was expecting more configuration parameters, and also
NODES
  /
    h264_video_encoder (h264_video_encoder/h264_video_encoder)
    kinesis_video_streamer (kinesis_video_streamer/kinesis_video_streamer)

How are you launching the node? Are you using roslaunch kinesis_video_streamer sample_application.launch?

Here with roslaunch kinesis_video_streamer sample_application.launch
SUMMARY
PARAMETERS

/h264_video_encoder/bitrate: 2048000
/h264_video_encoder/fps_denominator: 1
/h264_video_encoder/fps_numerator: 30
/h264_video_encoder/image_transport: compressed
/h264_video_encoder/publication_topic: /video/encoded
/h264_video_encoder/subscription_topic: /camera/raw
/kinesis_video_streamer/kinesis_video/log4cplus_config: /my_workspace/v...
/kinesis_video_streamer/kinesis_video/stream0/aws_client_configuration/connect_timeout_ms: 9000
/kinesis_video_streamer/kinesis_video/stream0/aws_client_configuration/max_retries: 10
/kinesis_video_streamer/kinesis_video/stream0/aws_client_configuration/region: eu-central-1
/kinesis_video_streamer/kinesis_video/stream0/aws_client_configuration/request_timeout_ms: 9000
/kinesis_video_streamer/kinesis_video/stream0/frame_rate: 10
/kinesis_video_streamer/kinesis_video/stream0/frame_timecodes: False
/kinesis_video_streamer/kinesis_video/stream0/stream_name: my_stream1
/kinesis_video_streamer/kinesis_video/stream0/subscription_topic: /camera/36...
/kinesis_video_streamer/kinesis_video/stream0/topic_type: 2
/kinesis_video_streamer/kinesis_video/stream_count: 1
/rosdistro: kinetic
/rosversion: 1.12.14

NODES
/
h264_video_encoder (h264_video_encoder/h264_video_encoder)
kinesis_video_streamer (kinesis_video_streamer/kinesis_video_streamer)

Hi Gil,
I sent a new PR to fix a configuration issue that resulted in the AWS configuration being ignored. You could try the change using the branch node-stream-launch-files of my fork of kinesisvideo-ros1. However, it might be the case that this bug wasn't affecting you, because you already had the region configured on ~/.aws/config. Can you please add the full output printed by the roslaunch kinesis_video_streamer sample_application.launch command to this thread? That way we could get more context about was is failing.
Thanks again for your patience

Hi @juanrh thank you for the assistance, however, even with your version I am still getting the same error
here is the output of $ roslaunch kinesis_video_streamer sample_application.launch
started roslaunch server http://<IP_ADDRESS>:38939/

SUMMARY
========

PARAMETERS
 * /h264_video_encoder/bitrate: 2048000
 * /h264_video_encodכer/fps_denominator: 1
 * /h264_video_encoder/fps_numerator: 30
 * /h264_video_encoder/image_transport: compressed
 * /h264_video_encoder/publication_topic: /video/encoded
 * /h264_video_encoder/subscription_topic: /camera/36...
 * /kinesis_video_streamer/kinesis_video/log4cplus_config: /my_workspace/v...
 * /kinesis_video_streamer/kinesis_video/stream0/aws_client_configuration/connect_timeout_ms: 9000
 * /kinesis_video_streamer/kinesis_video/stream0/aws_client_configuration/max_retries: 10
 * /kinesis_video_streamer/kinesis_video/stream0/aws_client_configuration/region: eu-central-1
 * /kinesis_video_streamer/kinesis_video/stream0/aws_client_configuration/request_timeout_ms: 9000
 * /kinesis_video_streamer/kinesis_video/stream0/frame_rate: 10
 * /kinesis_video_streamer/kinesis_video/stream0/frame_timecodes: False
 * /kinesis_video_streamer/kinesis_video/stream0/stream_name: my_stream1
 * /kinesis_video_streamer/kinesis_video/stream0/subscription_topic: /camera/36...
 * /kinesis_video_streamer/kinesis_video/stream0/topic_type: 2
 * /kinesis_video_streamer/kinesis_video/stream_count: 1
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /
    h264_video_encoder (h264_video_encoder/h264_video_encoder)
    kinesis_video_streamer (kinesis_video_streamer/kinesis_video_streamer)

ROS_MASTER_URI=http://localhost:11311

process[kinesis_video_streamer-1]: started with pid [22544]
process[h264_video_encoder-2]: started with pid [22550]
[FATAL] [1544594903.235860450]: [Initialize] Failed to initialize video producer. Error code: 4099
[kinesis_video_streamer-1] process has died [pid 22544, exit code 3, cmd /my_workspace/videoStream/kvs_ws/install/kinesis_video_streamer/lib/kinesis_video_streamer/kinesis_video_streamer __name:=kinesis_video_streamer __log:=/home/user/.ros/log/fe706f1c-fd4f-11e8-a92e-e04f4393db72/kinesis_video_streamer-1.log].
log file: /home/user/.ros/log/fe706f1c-fd4f-11e8-a92e-e04f4393db72/kinesis_video_streamer-1*.log
^C[h264_video_encoder-2] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete

Hi Gil,
It would help us a lot if we could see some additional log files. It would be nice if you could edit  $ROS_ROOT/config/rosconsole.config (usually this points to /opt/ros/kinetic/share/ros/config/rosconsole.config) to set the log level to debug, e.g. as follows
#log4j.logger.ros=INFO
log4j.logger.ros=DEBUG

and then run roslaunch kinesis_video_streamer sample_application.launch again, and attach to this issue a compressed file for the log path shown in the standard output (it should be something like ~/.ros/log/e97c3c54-fe66-11e8-9f31-7c76355c5e9f)
Thanks

error.txt

Hi,
Thanks a lot for the information. Usually more than 1 log file is produced, for example I get
h264_video_encoder-3-stdout.log
kinesis_video_streamer-2-stdout.log
master.log
roslaunch-ub80c134adc2254.log
rosout-1-stdout.log
rosout.log

are you only getting a single log file?, did you make any additional change the log configuration in ROS? If you have more log files it would be nice if you could attach them here.
Thanks again for your patience

Yey!! It is working!!!! Your branch fixed it!
Thanks a lot for the assistance!!
Highly appreciated!!

I was my pleasure! Thanks again for taking a look to our kinesis video streamer node, and helping us find that bug. I'll take care of ensuring the fix is merged to master as soon as possible.

Hi @Gil401, just a heads up that this fix was already merged to the master branch.
Thanks,
Juan

Hi @juanrh
Long time :)
I have used sudo apt-get install ros-kinetic-kinesis-video-streamer  and trying to run the node again, however the same error msg pops up.
This time it looks like it is unable to pull the aws config since this is what I am getting in the logs:

[DEBUG] [1550416833.665917198]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/region] in an upwards search]
[DEBUG] [1550416833.666718549]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/user_agent] in an upwards search]
[DEBUG] [1550416833.667196506]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/endpoint_override] in an upwards search]
[DEBUG] [1550416833.667942589]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/proxy_host] in an upwards search]
[DEBUG] [1550416833.668966060]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/proxy_user_name] in an upwards search]
[DEBUG] [1550416833.669568456]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/proxy_password] in an upwards search]
[DEBUG] [1550416833.670347282]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/ca_path] in an upwards search]
[DEBUG] [1550416833.671793340]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/ca_file] in an upwards search]
[DEBUG] [1550416833.673628852]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/request_timeout_ms] in an upwards search]
[DEBUG] [1550416833.674503187]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/connect_timeout_ms] in an upwards search]
[DEBUG] [1550416833.675344114]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/max_connections] in an upwards search]
[DEBUG] [1550416833.676414532]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/proxy_port] in an upwards search]
[DEBUG] [1550416833.677388551]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/use_dual_stack] in an upwards search]
[DEBUG] [1550416833.678286534]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/enable_clock_skew_adjustment] in an upwards search]
[DEBUG] [1550416833.679101957]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/follow_redirects] in an upwards search]
[DEBUG] [1550416833.679574468]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/verify_SSL] in an upwards search]
[DEBUG] [1550416833.680008093]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/max_retries] in an upwards search]

even though they are set in sample_configuration.yaml
Any idea? :)
Thanks again

Mostly identical to #16 so closing this and will track the apt sync in #16.


Fix #6259: compiler bug: null throwing nothing on the JVM

I have added a new test and small fix in StatementTransformer.java.

Can one of the admins verify this patch? (see README)

Thanks @MichaelNedzelsky!

Thank you Michael!


feat!: prettify typegen api

Closes #2686
Closes #2707

Release notes
In this release, we:

Made typegen API more straightforward and ergonomic

Summary
Parts of our great experience are shipped through the Typegend files, which contain part of the boilerplate necessary to make some things work. This PR revisits and trims these templates nicely to support a more ergonomic and intuitive API.
All main Typegen templates have changed:

Contract
ContractFactory ⁽¹⁾
Script
Predicate

⁽¹⁾ Contract bytecode lives inside the Factory class now, no more .hex.ts files

To follow these changes, we also modified:

launchTestNode utility
Predicate class

Special thanks ❤
Goes to @petertonysmith94, for the rigorous reviews and additional API prettification via:

https://github.com/FuelLabs/fuels-ts/pull/2876.

Thanks also to @nedsalk for all the involvement, not letting this fade out, the original issues, reviews, and also for:

https://github.com/FuelLabs/fuels-ts/pull/2873

Releasing this will undoubtedly pave the way for other good things to happen!
Breaking Changes
Predicate class

Predicate class constructor parameters renamed: inputData > data

// before
import { Predicate } from 'fuels';

const predicate = new Predicate({
  ...unchangedParameters,
  inputData,
});

// after
import { Predicate } from 'fuels';

const predicate = new Predicate({
  ...unchangedParameters,
  data,
});

Typegen extended/generated Predicate now accepts a single parameter for initialization

// before
import { TestPredicateAbi__factory } from './typegend';

TestPredicateAbi__factory.createInstance(provider, data, configurableConstants);

// after
import { TestPredicate } from './typegen';

new TestPredicate({
  provider,
  data,
  configurableConstants
});

launchTestNode utility

Renamed contractsConfigs[].deployer to  contractsConfigs[].factory
Removed contractsConfigs[].bytecode and .hex.ts file

The bytecode is now saved within the factory class, so you don't have to deal with it.
// before
import { TokenAbi__factory } from './typegend';
import TokenAbiHex from './typegend/contracts/TokenAbi.hex';

using launched = await launchTestNode({
  contractsConfigs: [{
    deployer: TokenAbi__factory,
    bytecode: TokenAbiHex
  }],
});

// after
import { TokenFactory } from './typegend';

using launched = await launchTestNode({
  contractsConfigs: [{
    factory: TokenFactory,
  }],
})

Renamed method deployContract to deploy
Removed the redundant suffix on the ContractFactory class method name.
// before
import { ContractFactory } from 'fuels';

const factory = new ContractFactory(wallet);

factory.deployContract();

// after
import { ContractFactory } from 'fuels';

const factory = new ContractFactory(wallet);

factory.deploy();

Typegen Contract template

Removed Abi__factory suffix from class names
The file <name>.hex was removed (access it via <Name>.bytecode)
The files <name>__factory.ts and <name>.d.dts were merged into <name>.ts
The class <Name> and the interface <Name>Abi are now just <Name>
Method <Name>Factory.deployContract() renamed to <Name>Factory.deploy()

// before
import { TestContractAbi, TestContract__factory } from './typegen'
import testContractBytecode from './typegen/contracts/TestContract.hex'

const instance = await TestContract__factory.connect(id, wallet);

const deploy = await TestContract__factory.deployContract(testContractBytecode, wallet);
const { contract } = await deploy.waitForResult();

// after
import { TestContract, TestContractFactory } from './typegen'

const instance = new TestContract(id, wallet);

const deploy = await TestContractFactory.deploy(wallet);
const { contract } = await deploy.waitForResult();

Typegen Predicate template

Removed Abi__factory suffix from class names
Started accepting a single param object in constructor

// before
import { TestPredicateAbi__factory } from './typegen'

const predicate = TestPredicateAbi__factory.createInstance(provider);

// after
import { TestPredicate } from './typegen'

const predicate = new TestPredicate({ provider });

Typegen Script template

Removed Abi__factory suffix from class names

// before
import { TestPredicateAbi__factory } from './typegen'

const script = TestScriptAbi__factory.createInstance(wallet);

// after
import { TestPredicate } from './typegen'

const script = new TestScript(wallet);

Checklist

[x] I added — tests to prove my changes
[x] I updated — all the necessary docs
[x] I reviewed — the entire PR myself, using the GitHub UI
[x] I described — all breaking changes and the Migration Guide

Outlining the foundation and current state of each template.

In the breaking changes section, the typegend Predicate before and after are using wallet whereas they should be using provider:
// before
const predicate = TestPredicateAbi__factory.createInstance(wallet);
// should be
const predicate = TestPredicateAbi__factory.createInstance(provider);

// after
const predicate = new TestPredicate({ wallet });
// should be
const predicate = new TestPredicate({ provider });

In the Script example in the "after" section, the typegend script takes in a wallet argument but it's part of an object { wallet } whereas it should be used directly:
// after
const script = new TestScript({ wallet });
// should be
const script = new TestScript(wallet);

@arboleya after this change, whenever I rebuild locally, the old factories remain in place:
contracts/factories/TestContractAbi__factory.ts
```

Then I have experienced type errors:

```console
template-nextjs:build: Type error: Property 'deployContract' does not exist on type 'ContractFactory'.
template-nextjs:build:
template-nextjs:build:   102 |     const factory = new ContractFactory(bytecode, _abi, wallet);
template-nextjs:build:   103 |
template-nextjs:build: > 104 |     return factory.deployContract<TestContractAbi>({
template-nextjs:build:       |                    ^
template-nextjs:build:   105 |       storageSlots: _storageSlots,
template-nextjs:build:   106 |       ...options,
template-nextjs:build:   107 |     });
```

May it be worth deleting the typegen folder before a typegen build?

@petertonysmith94 Deleting things is always very dangerous.
However, these old files should not be a problem if they're just there and never imported.
The error you pasted looks valid, no? The deployContract method was renamed to deploy.

@arboleya You're right - deleting does seem dangerous.
The error is valid and will cause issues if consumers have TS checking across their project.
Maybe we could add an advisory in the release notes that this factory folder should be deleted?

Oh, this is a very specific tip.
Would you mind editing the PR description and adding this mention?
It will be re-fetched and used in the changelog before the next release.


Add Docker support

Add Docker build and update README.md on how to use it.

Note:
docker path need to be updated or docker-build need to be run to push images.
test image can be found here: ghcr.io/links2004/homeassistant-satellite-test:latest
build for  amd64, arm64 and armv7l
testing with a pusle audio / a desktop running will not work since the alsa devices are blocked ;)
it is running good on a raspberry pi 2 (server image no desktop)

Would be nice to have change to readme explaining how to use it in a compose file for example.
Like
homeassistant-satellite:
    image: ghcr.io/links2004/homeassistant-satellite-test:latest
    command: --host '<IP>:<port>' --token <token>'

Also, can you elaborate on this?

testing with a pusle audio / a desktop running will not work since the alsa devices are blocked ;)

ALSA audio is exclusive access to the audio Hardware.
A linux desktop is typically running pulseaudio or pipewire which already has the exclusive lock on the audio Hardware
as a result starting a program wants to use ALSA devices will not work since they are in use.
Pulsaaudio suppport is in the works here https://github.com/synesthesiam/homeassistant-satellite/pull/3
which will allow to run a satellite on a system with a linux desktop easily, but current master can not do this.
will take a look at docker compose, but nerver used it.
I am using kubernetes for orchestration ;)

with the test image:
version: "3.8"
services:
  homeassistant-satellite:
    image: "ghcr.io/links2004/homeassistant-satellite-test:latest"
    devices:
      - /dev/snd:/dev/snd
    group_add:
      - audio
    command:
      - --host
      - <HOST>
      - --token
      - <TOCKEN>

Thanks!


SCIM-bulk create user

Hi,
Iam calling bulk users api for creating users, so if a user is already exists, response coming as 409 and next users are not creating and returing the response till that. For example iam sending 10 users in bulk request and 5th user is already exists, then returing response there and request not executing from 6th record onwards. Iam expecting like if 409 is coming also it should create next users. Could you help on me this

this can be accustomed with the "failOnErrors" parameter. If no value is set default is set to 1:
 {
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
    "failOnErrors": 1,
    "Operations"
    ...
}

set the value e.g. to 100 to allow up to 100 errors per request.

I tried to recreate your issue and wasn't able to verify it. My previous post was not correct. The default is not set to 1 but set to Integer.MAX_VALUE meaning that if failOnErrors is not set it should not abort on a failed operation. And my test-scenario was giving me exactly the expected result:
{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:BulkRequest"
  ],
  "Operations": [
    {
      "method": "POST",
      "bulkId": "144b4d09-ed96-45a9-aff4-6f603d23dba9",
      "path": "/Users",
      "data": {
        "schemas": [
          "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "userName": "abagael"
      }
    },
    {
      "method": "POST",
      "bulkId": "a05f499a-c798-49ea-aec6-5e79de77ded4",
      "path": "/Users",
      "data": {
        "schemas": [
          "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "userName": "abbe"
      }
    },
    {
      "method": "POST",
      "bulkId": "722fd20f-7bce-45b1-8e53-def3509ccf02",
      "path": "/Users",
      "data": {
        "schemas": [
          "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "userName": "aaren"
      }
    },
    {
      "method": "POST",
      "bulkId": "1af6e7ee-4ff6-4ac4-b924-dcc1d71c58e2",
      "path": "/Users",
      "data": {
        "schemas": [
          "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "userName": "abagail"
      }
    },
    {
      "method": "POST",
      "bulkId": "6b7f7dc5-1c97-487b-86a6-39a31c155e4c",
      "path": "/Users",
      "data": {
        "schemas": [
          "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "userName": "aarika"
      }
    }
  ]
}

resulted in
{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:BulkResponse"
  ],
  "Operations": [
    {
      "method": "POST",
      "bulkId": "144b4d09-ed96-45a9-aff4-6f603d23dba9",
      "status": 409,
      "response": {
        "detail": "the username 'abagael' is already taken",
        "schemas": [
          "urn:ietf:params:scim:api:messages:2.0:Error"
        ],
        "status": 409
      }
    },
    {
      "method": "POST",
      "bulkId": "a05f499a-c798-49ea-aec6-5e79de77ded4",
      "id": "f67e34c9-2025-4e4c-8ea1-05eb8996de21",
      "location": "http://localhost:8080/auth/realms/scim/scim/v2/Users/f67e34c9-2025-4e4c-8ea1-05eb8996de21",
      "status": 201
    },
    {
      "method": "POST",
      "bulkId": "722fd20f-7bce-45b1-8e53-def3509ccf02",
      "status": 409,
      "response": {
        "detail": "the username 'aaren' is already taken",
        "schemas": [
          "urn:ietf:params:scim:api:messages:2.0:Error"
        ],
        "status": 409
      }
    },
    {
      "method": "POST",
      "bulkId": "1af6e7ee-4ff6-4ac4-b924-dcc1d71c58e2",
      "id": "52c27963-0cd5-4f4a-a3c1-ecacb98eb92a",
      "location": "http://localhost:8080/auth/realms/scim/scim/v2/Users/52c27963-0cd5-4f4a-a3c1-ecacb98eb92a",
      "status": 201
    },
    {
      "method": "POST",
      "bulkId": "6b7f7dc5-1c97-487b-86a6-39a31c155e4c",
      "status": 409,
      "response": {
        "detail": "the username 'aarika' is already taken",
        "schemas": [
          "urn:ietf:params:scim:api:messages:2.0:Error"
        ],
        "status": 409
      }
    }
  ]
}

two of these requests were successful and all others resulted in a conflict. I could confirm that the created users were present within the database afterwards


Authentication problems

I'm using the version 4.0.0 and using PIN-Based authentication  it use working like a moth before but now is not working anymore the code will be in this url: http://pastiebin.com/embed/5ce813b0de0d4 the code works well, but the problem is that when I'm getting access the account with this code http://pastiebin.com/embed/5ce81445de593 I'm receiving this error "System.NullReferenceException: 'Object reference not set to an instance of an object.'" I've also try using the Authentication from a specific set of credentials and the error continue appearing

Duplicate of https://github.com/linvi/tweetinvi/issues/850

Please follow #850


Make GroupPats dropdown to remember user input between sessions

Right now GroupPats dropdown remembers all user input, but does not keep it between sessions. It does remember last used value only.
I realize that when switching between different scenarios/apps this might not be valuable, but I primarily use PerfView for our applications where I would like to have my own groupings remembered.
So, suggestion is to let GroupPats to remember user input between sessions (but of course keep current logic about automatically adjusting "Just My App" option).
If this suggestion is OK, then I can do implementation.

My main concern here is how to handle a case where a user wants to get back to default values. It almost makes me wish I could have multiple saved presets, where each preset sets the grouping/folding/exclusions values.

As @sharwell indicates, persistence of values can be negative (many of the entries are not worth saving and probably add to clutter), but that can undoubtedly be fixed (but please first suggest exactly what the experience is so we can agree we understand its positives and negatives)
Also note that there is already a feature in PerfView that should help you in the mean time.
If you right click in the you will find 'Filter Params' -> 'Copy Filter Params' which basically copies all the filter parameters to the clipboard as XML.  You can also an operation to basically copy them back.   This allows you to remember 'special purpose' sets of parameters.   I realize this is not quite the experience you want, but may relieve some of the pressure.

Idea of presets also came to my mind, but I thought it's too much. But let me describe how I see presets may be implemented.
View preset is a combination of grouping/folding/exclusion fields. PerfView UI is modified to add extra dropdown of preset selection to the left of existing controls:

Logic around this dropdown and old fields is following (I tried to put it into the sequence that users will experience, from basic usage to more advanced).

By default (if there we no saved presets) PerfView offers standard presets (those that are now in GroupPats dropdown).

Existing "Set as Default Grouping/Folding" menu item works as it is now - it just uses current view preset as default in all new views.

If one of predefined view presets is selected and user starts editing grouping/folding pattern manually, then preset selection dropdown is changed to "*" and save button becomes active. "*" symbol in front of preset name means that current state of editboxes will not be preserved when window is closed.

If user wants to save his custom preset, he presses Save button and PerfView asks for new name. The preset is saved, but will not be default one for new views (unless File->Set as Default Grouping/Folding is used). The "*" is removed from name.

If custom named user preset is shown and user starts editing grouping/folding/exclusion, then "*" is added in front of name in the dropdown and Save button becomes enabled. There are no warnings about unsaved patterns upon window closing.

In order to manage all presets, the dropdown has last item called "...Manage" which opens a dialog where user can remove/edit presets. Default presets cannot be removed. Alternatively it can be implemented as main menu item, not as a special drop down item (this is even easier).

The preset editor will be just simple window with list of presets on the left and few edit boxes on the right (GroupPats/Fold/...).
Does this sound in line with your vision? @sharwell @vancem
I'd be happy to implement support for that, if you agree.

Thanks @ilabutin for working with us on the specification before jumping into implementation.    Because presets are an advanced feature, I would prefer them NOT to take up much screen real estate.    Also I don't really like having 'meta level' things like presets look the same 'non-meta-level' things (like  the grouping boxes.    Finally, it is better if there are no magic characters like * that have to be explained.  My inclination is to simply generalize the current ability to remember a preset.    I can be flexible but I was thinking

Add a new 'preset' top level menu item (between 'Regression' and 'help').
This entry will have a 'New Preset' entry, as well as 'Managed Presets' and 'Preset Help' but it will also have menu items for every existing preset (thus varies over time, we do this for Diff and Regression already).  Note that you immediately get shortcuts for them based on their first character (Alt-P Alt-X will fetch the preset for the beginning with X).
The New Preset will prompt for a name
The Manage Preset will bring up a dialog that lets you list/delete presets
The default preset is just some special name (maybe the empty string).

Note that my guess is that you will also want to be able to export and import them (easily, probably by default looking for a file called PerfViewPresets.xml, so you can easily set up a new machine with the presets you have accumulated).
I would figure out what you think is the minimum viable feature and just to that.  we can expand it later.
If you hate this, we can talk more, as I said, I can be flexible.
Vance

@vancem Thanks for the comment. The idea of having dedicated top-level menu for presets didn't come to my mind.
I think I'll implement what you've suggested and we'll see how it behaves.
Question: where do you think PerfView should keep presets saved by user? In the same settings file where all other information is kept between sessions?

Question: where do you think PerfView should keep presets saved by user? In the same settings file where all other information is kept between sessions?

I would save the info in the User.Config.  However I consider this file 'hidden', and opaque to users.   Thus I would also create an 'export' function that writes it to a file, as well as an 'import' operation  I would even always always try to read a file called PerfViewPresets.xml in the current directory at startup (and that could be the default  file to export to)..   That way it gets easy for users to move their presets to a new computer.
There are details to this, but I think it is OK to start with just putting it in User.Config (where everything else goes), and worry about import and export as a separate feature.

@vancem Now I have some time to do real implementation and I have final question.
Preset is just a remembered combination of current values of GroupPat, Folding, FoldPats, IncPats and ExcPats.
Few questions:

Should we include all 5 values as a preset?
How should dropdowns behave?

I mean, should they contain standard 'predefined' values (like 'Just My App') or these values should go to default presets? In the latter case dropdowns will be empty when view is opened.
Also, what if I have something custom entered in e.g. GroupPats and then I go to Preset menu and choose some preset? My idea is that this action should be considered like if I entered these values manually in editboxes - i.e. they appear in the dropdown, but will be forgotten in dropdowns when view is closed.

@ilabutin

Should we include all 5 values as a preset?
seems like a good default answer.  If useful we could have a special value that means 'leave alone'.
How should dropdowns behave?
I think you have the right idea that presents should behave as if I typed the presets.   Thus the dropdowns remember the last X unique entries and presets are are remembered just just my typing.
I am inclined to say that GroupPats and other dropdowns should be filled as they are now
Yes.   We may decide they are redundant later, but it does not hurt to keep them at least for now.
So, my suggestion is that by default PerfView behaves like it does now, but if I want to save some combination, then I can do that via Preset menu. And only those saved combinations are shown in Preset menu.
Yes
Should we distinguish Presets for memory windows and CPU windows and only show relevant ones?
Great question.  I can see the usefulness of context sensitivity (different presets based on the kind of data being shown).   We already do this with the defaults (you get different defaults depending on what you are viewing.

My take is that you should start with what is useful to you (you are probably happy with global (non-contextual) presets).   But your design should naturally generalize to allow users to have context (e.g. the suffix of the file being opened) if you so desire.
Also as mentioned, I think it is useful to remember this in the UserConfig, but to ALSO store it in a user-visiable file (that is probably placed beside the ETL file).   This makes it easy to 'export' your presents and use them on another machine/scenario.   Again you don't need to do this right away, but the design should allow for it.

Once #654 is merged, this one can be closed.

Addressed by #590 and #654


docs: fixed relative paths for a few links

Signed-off-by: Brent Salisbury<EMAIL_ADDRESS>

@nerdalert Thanks for the PR however, you need to run make docs and check your work. Your fixes actually broke the images in the documentation build.  Instructions for building the docs:
http://docs.docker.com/project/test-and-docs/#build-and-test-the-documentation

Arg I didn't realize the MD pages were tied in. Will stay out of your hair. Apologies.


Added 4.2 based LIDAR lite v2 patchs for the IIO subsystem

Signed-off-by: Matt Ranostay<EMAIL_ADDRESS>

Matt, thanks so much! Not having worked with linux and LIDAR-Lite we really appreciate you adding the v2 stuff! At some point I may have to consider how we want to organize this repo as we now have v1 and v2 with some different behavior.

@ak5a  Likely this will be upstreamed into the Linux mainline. So then it won't be needed to be in this repo, but nice to have until gets into 4.3 or 4.4.

Oh very cool! Thanks for the heads up!
—

On Wed, Aug 12, 2015 at 10:53 pm<EMAIL_ADDRESS>Matt Ranostay wrote:

@ak5a Likely this will be upstreamed into the Linux mainline. So then it won't be needed to be in this repo, but nice to have until gets into 4.3 or 4.4.

—

Reply to this email directly or view it on GitHub.


[Snyk-dev] Security upgrade alpine from 3.17 to 3.20

This PR was automatically created by Snyk using the credentials of a real user.![snyk-top-banner](https://github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)
Snyk has created this PR to fix 2 vulnerabilities in the dockerfile dependencies of this project.
Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Snyk changed the following file(s):

Dockerfile

We recommend upgrading to alpine:3.20, as this image has only 3 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Use After Free SNYK-ALPINE317-BUSYBOX-7254940
  586

Use After Free SNYK-ALPINE317-BUSYBOX-7254940
  586

Use After Free SNYK-ALPINE317-BUSYBOX-7254940
  586

Use After Free SNYK-ALPINE317-BUSYBOX-7254942
  586

Use After Free SNYK-ALPINE317-BUSYBOX-7254942
  586

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Use After Free

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


Add basic docs

I would be nice to have a basic documentation to know how to use this plugin.

Duplicated


Zoned supports now_with_time_zone

Currently, Zoned has now funcation to return the current system time in this system's time zone. Could we introduce the now_with_time_zone for Zoned?
It's needed for some reasons:

How to create a now Zoned with specific time zone for current code?
// solution 1
Zoned::new(Timestamp::now(), time_zone)

// Solution 2, logforth[1] is using this solution.
Zoned::now().with_time_zone(tz)

Zoned::now (Solution2) has clearer semantics for developers, but it requires repeated creation of TimeZone objects. (Zoned::now needs to clone a default TimeZone, and with_time_zone also requires a TimeZone).
I have a benchmark for them[2]:
- The avg time solution 1 is 297.61 ns
- The avg time solution 2 is 443.87 ns
- 297.61 ns * 151% = 443.87 ns, so performance of solution 1 is totally better than solution.

The ZonedDateTime[3] of Java has 3 now functions, it includes now(), now(ZoneId) and now(Clock). It's useful for developers.

[1] https://github.com/fast/logforth/blob/b2d5e7e664595f58d35377136b4936fc4ac22c3f/src/layout/text.rs#L89
[2] https://github.com/1996fanrui/fanrui-learning/blob/aacfa73de1a2299745241806f61aa098d0b66a23/rust-learning/benches/jiff_benchmark.rs#L6
[3] https://docs.oracle.com/en%2Fjava%2Fjavase%2F11%2Fdocs%2Fapi%2F%2F/java.base/java/time/ZonedDateTime.html#now(java.time.ZoneId)

OK, so this issue you opened has a basically identical description in the PR, which makes it confusing to me where to talk about this. But I guess I'll discuss API design here.
I think one solution you missed here is Timestamp::now().to_zoned(time_zone). Which I would somewhat prefer here since I do find Zoned::now_with_time_zone to be a somewhat unwieldy name. I tried hard to avoid a bunch of "now with foo" constructors in Jiff's API and instead preferred composition of existing APIs instead.

I will say that it is pretty unfortunate that Zoned::now().with_time_zone(time_zone) is that much slower. So another path here is to get these into micro-benchmarks and see if that can be improved. I suppose it's not possible to solution 2 exactly as fast as solution 1, because solution 2 does need to call TimeZone::system(). Now that should be very quick in the vast majority of cases since it's cached. So I do expect some difference, but the difference you report is pretty big. So it would be good to understand the root cause of that.

I think one solution you missed here is Timestamp::now().to_zoned(time_zone). Which I would somewhat prefer here since I do find Zoned::now_with_time_zone to be a somewhat unwieldy name.

I really think the function name is a little long, do you have any suggestion?
This function is easy to be found for developers. They want to use Zoned directly, they don't know Timestamp have a good function.
That's why I propose introduce a function for Zoned.

I will say that it is pretty unfortunate that Zoned::now().with_time_zone(time_zone) is that much slower. So another path here is to get these into micro-benchmarks and see if that can be improved.

I could file a PR to add it to benchmark tomorrow. And I'm happy to look into it how to improve the performance.

I agree that an alternative constructor can increase discoverability. But I don't know how far I want to go down that road. Adding this routine is also likely to provoke a desire for, e.g., Zoned::new_with_iana as well, to mirror Zoned::now().intz("US/Central") or whatever.
One middle ground here, that would I think address your discoverability concerns, is to add a note to the Zoned::now docs mentioning Timestamp::now().to_zoned(TimeZone::UTC) as an alternative. But the problem I have with that is the docs would specifically need to call out that the only reason to do such a thing would be to avoid the superfluous fetching of the system time zone. It's a bit subtle.
Yes, I think the next step here is to do a perf investigation.

Hey @BurntSushi , I have a question during analyzing the performance. Why does the cache of system default time zone need expiration?
The time zone can be changed, right? For example, the Mac or mobile phone is moved from region A to region B.
[1] https://github.com/BurntSushi/jiff/blob/c659069a2765a5e28ba503ea37e8a2eee4b10a92/src/tz/system/mod.rs#L79


Brought general_page formatting in line with concept and question pages

Added the same white box around the content of general pages as that present on the concept and question pages, making text at the bottom of pages unobsured by the background images.

Looks good to me! I'm not sure how sensible it is to have general pages with classes ru-concept on them going forward, but it does at least make them slightly wider and removes the silly italic font that otherwise plagues general pages now; so let's keep it.


[Task]: Modify form/json migration to include S3 delete many

Is there an existing issue for this?

[X] I have searched the existing issues

SubTasks
Since the S3 plugin has had another command implemented before the form/json changes went in, that command will also have to be added to the migration.

I'll work on this once the other changes are done, since this is creating a redundancy for the migration task.


❓ [Question] Support for CUDA 3.6?

Does latest version support CUDA 3.6❓
Pytorch officially supports CUDA 3.6, however docs say torch_tensort supports CUDA 11.3 at max. But in some issues it is said that CUDA version 3.6 is used. Is CUDA 3.6 officially supported by torch_tensorrt?
Environment

PyTorch Version (e.g., 1.0): any
CPU Architecture:
OS (e.g., Linux): Linux
How you installed PyTorch (conda, pip, libtorch, source): pip
Build command you used (if compiling from source):
Are you using local sources or building from archives:
Python version: 3.8 or 3.9
CUDA version: 11.6
GPU models and configuration:
Any other relevant information:

Do you mean CUDA 11.6?

Sorry, yes. CUDA 11.6

This will come with Torch-TensorRT 1.2.0 which targets PyTorch 1.12.0


[Parse]: Separate do and while blocks diagnostics

SR-11148: Separate do and while blocks generate error from legacy diagnostic
Taking new line into account if there is a while token after stmt.
Updated diagnostic to provide new line separator.
More information in ticket https://bugs.swift.org/browse/SR-11148.
@CodaFi, @rintaro I had to recreate pull request to this ticket https://github.com/apple/swift/pull/28632 because of failed rebase. I addressed previous comments (added tests, and emit two separate diagnostics).

@swift-ci Please smoke test


Unable to subscribe an enpoint to multiple pub-subs

Expected Behavior
Having registered multiple different pubsubs (redis streams & rabbit) to an endpoint, I expected that the endpoint would subscribe to all of them. This was interesting to me because I was testing if I could have HA on the pubsub(s) by having multiple instances of it (for instance 2x separate rabbitmq instances)
Actual Behavior
When using .WithTopic multiple times, it appears that the last registered pubsub wins.
I've tested it by :

commenting out the 2nd pubsub, to verify that the 1st pubsub works as intended
inverting the order in which pubsubs were registered to verify that "last one wins" theory - the test confirmed it.

Why I feel this is not the expected behavior:

The IEndpointConventionBuilder's .WithTopic fluent API seems to be designed to allow such situation(s).
The .WithTopic xml docs does not explicitly state that this is not allowed
Under the hood, .WithTopic adds a TopicAttribute to the underlying builder's metadata - which should conceptually work at 1st glance
I can imagine a scenario where a event can originate from 2 different sources. Therefore I'd like to adhere to the DRY rule and handle the said event at a single location

Steps to Reproduce the Problem
Sample C# code to reproduce the problem:
endpoints
   .MapPost("/orders", async context =>
  {
    var order = await JsonSerializer.DeserializeAsync<Order>(context.Request.Body);
    this.Service.Logger.LogInformation($"Order {order.Id} received");
  })
  .WithTopic(Constants.PubSub.RedisStreams, Constants.OrdersTopicName)
  .WithTopic(Constants.PubSub.RabbitMq, Constants.OrdersTopicName);

Release Note

RELEASE NOTE:
Fixed an issue which prevented registering multiple pubsub subscriptions on to an endpoint.

@halspang - can you look into this?


loadingKey for mutation

is it just me or loadingKey is not woking for mutations?

I'm also having problems with loadingKey

There is no loadingKey feature on mutations at the moment. You can implement it very easily yourself:
this.loading ++

this.$apollo.mutate({
  // Query
  mutation: gql`mutation ($label: String!) {
    addTag(label: $label) {
      id
      label
    }
  }`,
  // Parameters
  variables: {
    label: newTag,
  },
}).then((data) => {
  this.loading --
}).catch((error) => {
  this.loading --
});

+1

+1

+1

+1

Are there plans for this? We have a lot of cases where we do live updated forms, and want to have a "saving..." a la Google Docs. The amount of places we'd need to track variables for the mutation is doable but would be a lot easier if mutation just had a loadingKey instead of having to track variables in many different components.
I checked out the source code for adding this feature in a PR but at first look it seems more complex than I expected. mutate just seems to be a wrapper for apollo-client, and the query is tracked as part of smart-query via an observable in watchQuery and applyLoadingModifier. I didn't go any further because it seems like I'd need to deep-dive into apollo-client to follow it. Am I correct in this complexity or is it a simple matter of adding an observable to mutate the way watchQuery and subscribe have?

Maybe you can use the <ApolloMutation> component?

That looks plausible. In one case, we have a form with 10 fields. If the user changes a field, we send a mutation to the server with the update, and at the top of the form show "saving". When the migration is done, we show "saved" for a few seconds. It looks like if we wrap the whole form with the ApolloMutation component that it would work. I'll give it a shot, thanks!

ApolloMutation works great! We've started using the component operations and it makes the code so nice and easy. Thank you for the PROTIP!

+1

Thank god, I left VueJS!

I expected to at least have $apollo.loading set to true, but that doesn't get updated. :(
So the current way to do this, is just use the ApolloMutation component?

+1

June 2021 and $apollo.loading not work with mutation :disappointed:


Not getting encrypted output while trying to encrypt a number containing 0 in it.

I am not getting output if number contains 0 in it.
Because of which i am unable to encrypt mobile numbers.
use Hashids\Hashids;

$hashids = new Hashids('My Project');
echo $hashids->encode(1233603563); // no output

echo "\n";

$hashids = new Hashids('My Other Project');
echo  $hashids->encode(123363563); // AJ78rq

echo "\n";

Do not use this library as a security tool and do not encode sensitive data. This is not an encryption library.

https://github.com/ivanakimov/hashids.php#readme

But this was a simple example of a string containing 0 within it.
I am not using any sensitive data.
What if my string contains 0?