ibazel don't watch for changes in external repository

We have two workspaces. One uses targets from another to build an application. If we use local_repository, ibazel works as expected when we make changes in the main workspace and don't track anything in the external workspace.
Here is a small repo with similar workspace configuration that we have.
If we check the dependency graph, we'll find source files from external repo, so I guess ibazel just don't watch for changes.
bazel query "kind('source file', deps(set(//app:ts_lib)))" | grep "@bazel_demo_external"
@bazel_demo_external//module:hello.ts

It's quite uncomfortable when you need to restart dev-server for any changes made in external deps during local development.

@a-ignatov-parc, That indeeds sounds uncomfortable. From the last time I looked at this, the big problem is that there is no way to get a list of all the repositories that exist, let alone get information about which ones are local vs remote.
Additionally we will need a mapping from, in your example, @bazel_demo_external to `path = "../external". Do you know how to get those pieces of data?
If you can find the data, the next step would be creating a testcase. You can create //e2e/local_repository by cloning //e2e/simple and creating some sample data that is similar to your repo. I would recommend using sh_binarys instead of ts_librarys since it will mean you don't have to thread a package.json and rules_nodejs into the test suite.

@achew22 thank you for the info! Can we use bazel info to get information about repositories?
As far as I know, list of all external repositories can be found in $(bazel info output_base)/external directory and local repositories are symlinks.
For example:
~/Sites/bazel-demo/main(ibazel-demo) » ll $(bazel info output_base)/external
total 88
-rw-r--r--   1 antonignatov  wheel    43B Jul 16 20:17 @bazel_demo_external.marker
-rw-r--r--   1 antonignatov  wheel    43B Jul 16 20:17 @bazel_tools.marker
-rw-r--r--   1 antonignatov  wheel    43B Jul 16 13:31 @build_bazel_rules_nodejs.marker
-rw-r--r--   1 antonignatov  wheel   2.0K Jul 16 13:31 @local_config_cc.marker
-rw-r--r--   1 antonignatov  wheel   584B Jul 16 13:31 @local_config_cc_toolchains.marker
-rw-r--r--   1 antonignatov  wheel   246B Jul 16 13:41 @local_config_sh.marker
-rw-r--r--   1 antonignatov  wheel   153B Jul 16 13:41 @local_config_xcode.marker
-rw-r--r--   1 antonignatov  wheel   177B Jul 16 13:01 @nodejs.marker
-rw-r--r--   1 antonignatov  wheel   689B Jul 16 13:01 @npm.marker
-rw-r--r--   1 antonignatov  wheel   307B Jul 16 13:01 @npm_bazel_typescript.marker
-rw-r--r--   1 antonignatov  wheel    43B Jul 16 13:18 @platforms.marker
lrwxr-xr-x   1 antonignatov  wheel    45B Jul 16 20:17 bazel_demo_external -> /Users/antonignatov/Sites/bazel-demo/external
lrwxr-xr-x   1 antonignatov  wheel   103B Jul 16 20:17 bazel_tools -> /var/tmp/_bazel_antonignatov/install/cfd28aee65ccfaf160d1b21b376cdce7/_embedded_binaries/embedded_tools
drwxr-xr-x   9 antonignatov  wheel   288B Jul 16 13:31 build_bazel_rules_nodejs
drwxr-xr-x  13 antonignatov  wheel   416B Jul 16 13:31 local_config_cc
drwxr-xr-x   6 antonignatov  wheel   192B Jul 16 13:31 local_config_cc_toolchains
drwxr-xr-x   4 antonignatov  wheel   128B Jul 16 13:41 local_config_sh
drwxr-xr-x   5 antonignatov  wheel   160B Jul 16 13:41 local_config_xcode
drwxr-xr-x   7 antonignatov  wheel   224B Jul 16 13:01 nodejs
drwxr-xr-x  29 antonignatov  wheel   928B Jul 16 13:01 npm
drwxr-xr-x  17 antonignatov  wheel   544B Jul 16 13:01 npm_bazel_typescript
lrwxr-xr-x   1 antonignatov  wheel    98B Jul 16 13:18 platforms -> /var/tmp/_bazel_antonignatov/install/ce6f4f2448eb9c8cbd7a3124ff3ed8a3/_embedded_binaries/platforms

In this case, it sounds reasonable to combine information from bazel query and bazel info to add watchers to files from the query that are in symlinked external repositories and symlinks are not resolved in $(bazel info install_base) directory.

+1
I need it

@a-ignatov-parc, good find! Seems like that's all the information we would need to do this.

Do you know if that also works for Windows? We can validate the functionality by writing an e2e test since that'll run on all supported OSes. If it doesn't work we might still merge it just for Linux/Mac and leave a TODO.
I know a lot of people use the --override_repository when they are doing testing, which temporarily replaces a remote repo with a local one. Can you also test that works?

Do you need any more information from me on this, or do you think you can attempt a PR? Hopefully things are pretty sane in the repo, but if you would like me to point to a few candidate places to get started in happy to help.
Good luck, and I'm here if you need help.

up

@excavador would you be interested in picking up the PR? It seems pretty close to me

Sorry for keeping silence on this issue. My team is still interested in fixing this issue. I'll make another attempt, and if there will be no progress in two weeks, I'll try to cooperate with someone to make it happen.

@a-ignatov-parc, have you had any luck with this?

I need it

@excavador perfect! We have a mostly working patch that needs a little bit of love to be brought up to speed.
https://github.com/bazelbuild/bazel-watcher/pull/277
Would you be willing to fork that PR and finish up the remaining todo items?

I'm currently taking a look at forking the above PR and finishing it off, we also are in need of it!
@achew22 are you on bazelbuild.slack ?

@achew22 Can we cut a release with this in please?

Actually, hold that thought, I think we may want to fix this first - https://github.com/bazelbuild/bazel-watcher/issues/383


Introduce safety time-margins between launches of multiple android emu's

[x] This is a small change
[ ] This change has been discussed in issue #<?> and the solution has been agreed upon with maintainers.

Description:
Add sleep()s in between Android emulator launches so as to heuristically prevent absolute simultaneous launches of emulators of the same AVD.
This aims at improving 2 things:

The Android emulator binary doesn't seem to handle many launches taking place at the same time very well. In particular, seems launches touch some of the configuration, and - if race conditions are met, that evidently causes some emulators either boot from scratch (overlook snapshots) due to an alleged config change or possibly boot with the wrong specs.
The well-known adb jam problem (see #1857): making tests run timeline vary can help avoid launching multiple adb install commands simultaneously, which seems to be the soft spot of adb with respect to that specific bug.

@d4vidi, great idea! I've been hit by this issue more than a few times, btw.

Seems that adb commands other than adb install get jammed when this is applied (though not always):
❌ https://jenkins-oss.wixpress.com/job/multi-detox-pr/2096/
✅ https://jenkins-oss.wixpress.com/job/multi-detox-pr/2101/
❌ https://jenkins-oss.wixpress.com/job/multi-detox-pr/2102/
I think we should upgrade our agents' Android SDK component and try again (as explained by the google team, some related scenarios were addressed):
Available Updates:
  ID             | Installed    | Available
  -------        | -------      | -------
  emulator       | 29.3.0       | 30.0.5
  ndk-bundle     | 20.1.5948944 | 21.1.6352462
  platform-tools | 29.0.5       | 30.0.0

or better yet - alpha channel (gives emulator version > 30.0.9):
Available Updates:
  ID             | Installed    | Available
  -------        | -------      | -------
  emulator       | 29.3.0       | 30.0.10
  ndk-bundle     | 20.1.5948944 | 21.1.6363665 rc3
  platform-tools | 29.0.5       | 30.0.0

Need to see however how RNN builds react to this. @guyca
Also, even if everything goes clear, we need to consider limiting Detox' parallel run on Android to emulators version > 30.0.x (x = TBD)

Completed an upgrade on CI:
Available Updates:
  ID             | Installed    | Available
  -------        | -------      | -------
  emulator       | 29.3.0       | 30.0.11
  platform-tools | 29.0.5       | 30.0.0

Now retrying to see whether these newer versions happen to solve this.

Pull Request Test Coverage Report for Build 2110

25 of 25 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 76.975%

Totals

Change from base Build 1171:
0.06%

Covered Lines:
3206

Relevant Lines:
3876

💛  - Coveralls

Closed as this appears to actually increase the frequency of the adb-jam bug on Detox CI.


Add a header row for BIN_Android sheet

Description
Add a header row for BIN_Android sheet
Type of change
Please insert 'x' one of the type of change.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[x] Refactoring, Maintenance
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

@bjk7119 , Please review this.
I want to merge & release today for using this in another FOSSLight Scanner.


Update userId.md

modifying references to pubcommonId to sharedId

Hey @jdwieland8282 - are these just doc changes? This PR has been sitting around for a bit.

Yes, these were docs changes missing from the pubcommon-to-sharedid renaming


Table of Contents not showing properly on Docs and Blog

Links under the "Search" on the Documentation and Blog pages should show all the content directories. The frustrating thing is that it works under development (using the local `hugo server1), but when we publish it on render.com, it doesn't.
Here is what the local version looks like.

The published version just shows "Blog"
The only difference I can see is that we use hugo --gc --minify on render. But when we try that with the local server, it works fine.
This will need some more research.

Updating to latest Docsy version fixed this problem.


Packwiz cannot properly pick required APIs based on the modloader of the modpack

A few mods that offer compatibility with both Quilt and Fabric, have both APIs as required dependencies.
In my case, when creating a Fabric modpack, if I add one of these mods it will fail to add it, as it won't be able to install the Quilt API.
It would be beneficial if packwiz could tell when a required dependency, should actually be required.
This use case is probably only focused on modloader dependent APIs on Modrinth as it allows for a single release to be compatible with multiple modloaders, but nonetheless it would be helpful so that mod authors which state both APIs as required would not need to edit their release in order to conform with packwiz.
Thanks in advance! :smile:

It would be beneficial if packwiz could tell when a required dependency, should actually be required.

This is... easier said than done. What if the user tries to install a mod that is marked (possibly erroneously) as supporting both Quilt and Fabric, but has a dependency that only supports one? (or recently changed to only support one)
One partial solution I would like to implement is to use loader metadata (i.e. fabric.mod.json/quilt.mod.json/mods.toml) to determine when "provided" mods are already installed (e.g. QSL/QFAPI provides implementations of Fabric API), but this wouldn't help if you're using Fabric (since QFAPI has extra modules that FAPI doesn't).

Is there any way Modrinth could introduce something on their side to facilitate this?

I guess they could create a warning shown to authors if they add a Quilt-only dependency to a Fabric mod?  Still requires loader metadata to prevent Fabric API from being installed when you already have QFAPI installed though (but it would be great if this can be retrieved from the Modrinth API).

See also: https://github.com/packwiz/packwiz/issues/29


Apache beam

I think this one has some potential applications , as sdk is just in java, python and go...
https://beam.apache.org/documentation/sdks/python/
so a Python / F# example of some apache beam transformation would be pretty cool :D

Apache spark and beam are the world most used SDK for big data processing in many different cloud environments..
https://beam.apache.org/get-started/from-spark/
for example in google cloud, dataflow: https://cloud.google.com/dataflow/docs/concepts/beam-programming-model


Update code owners file

Closing this one in favor of https://github.com/ipdk-io/stratum-dev/pull/88


Add full-file formatting in the language server.

For this formatting option, the regular FormatVerilog() is
used that does a validation step over the whole file to make
sure the file is not messed-up accidentally.
For that, factor out the internal part of FormatVerilog() that
takes a text structure (which is what we have available in the
language server) and writes to a string; this is then used in
the original FormatVerilog() that does additional checks.
Signed-off-by: Henner Zeller<EMAIL_ADDRESS>

Codecov Report

Merging #1143 (691f8d0) into master (d9803b3) will decrease coverage by 0.00%.
The diff coverage is 93.10%.

@@            Coverage Diff             @@
##           master    #1143      +/-   ##
==========================================
- Coverage   92.86%   92.85%   -0.01%
==========================================
  Files         337      337
  Lines       22552    22565      +13
==========================================
+ Hits        20942    20953      +11
- Misses       1610     1612       +2

Impacted Files
Coverage Δ

verilog/formatting/formatter.h
100.00% <ø> (ø)

verilog/tools/ls/lsp-parse-buffer.cc
95.12% <ø> (ø)

verilog/tools/ls/verible-lsp-adapter.cc
98.40% <84.61%> (-0.78%)
:arrow_down:

verilog/formatting/formatter.cc
93.98% <100.00%> (-0.18%)
:arrow_down:

verilog/tools/ls/lsp-parse-buffer.h
100.00% <100.00%> (ø)

verilog/tools/ls/verilog_ls.cc
98.59% <100.00%> (+0.06%)
: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 d9803b3...691f8d0. Read the comment docs.


fix: checkEventExists method

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.008%) to 96.396%

Totals

Change from base Build<PHONE_NUMBER>:
0.008%

Covered Lines:
934

Relevant Lines:
981

💛  - Coveralls


Damage dice not working when dragged to macro bar

Hi, all the other dice seem to work, but when I drag the damage dice down it keeps saying the same message
Fel|repeating_meleeweapon_-M37QY5J-Td73h9D2ieDT_damage
No ability was found for %{Fel|repeating_meleeweapon_damage}
does it will all character sheets.
any clues as to why?
cheers,
skarza

Hi,
I haven't noticed that before but I'll take a look when I have a chance to
see if there is anything I can fix.  The output given here seems a bit odd,
the macro itself contains the weapons unique ID (-M37QY5J-Td73h9D2ieDT) but
the error output is missing it.  I would expect it to say something like:
%{Fel|repeating_meleeweapon_-M37QY5J-Td73h9D2ieDT_damage} instead of
%{Fel|repeating_meleeweapon_damage}.  Since the macro itself was clearly
aware of the unique ID in the labeling it might be something we have to
take up with Roll20 support.
I'll let you know if I find anything on my end.  Thanks,
On Mon, Mar 23, 2020 at 6:50 PM skarza<EMAIL_ADDRESS>wrote:

Hi, all the other dice seem to work, but when I drag the damage dice down
it keeps saying the same message
Fel|repeating_meleeweapon_-M37QY5J-Td73h9D2ieDT_damage
No ability was found for %{Fel|repeating_meleeweapon_damage}
does it will all character sheets.
any clues as to why?
cheers,
skarza
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DigitalPagan/Mythras-Roll20-Sheet/issues/62, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZBQQGLHYJZ2BA3ASVJLRDRI7RR7ANCNFSM4LSHFSVQ
.

--
Matthew Carpenter

Hi, Any joy on fixing this? Still doing it my end...

Hi sorry things have been crazy busy lately.  I was able to reproduce the issue and I think it might be because I include the damage roll in the core tab but not in the equipment tab.  Tonight is a v2 bug fix night for me and I'll try adding it to both places and see if that works.  Thanks.

Hi,
They just merged my fix 5 hours ago;
https://github.com/Roll20/roll20-character-sheets/pull/6382.  Think it may
require some more time before it is actually live on Roll20 but normally
doesn't take long after that.
Thanks,
On Mon, Apr 13, 2020 at 8:50 AM skarza<EMAIL_ADDRESS>wrote:

Hi, Any joy on fixing this? Still doing it my end...
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/DigitalPagan/Mythras-Roll20-Sheet/issues/62#issuecomment-612884722,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZBQQDAEIXZL5RI2JX3NKLRMMC7PANCNFSM4LSHFSVQ
.

--
Matthew Carpenter


Implement serverStatus and dataSize commands for SQLite

Description
Closes #2775.

Readiness checklist

[ ] I added/updated unit tests (and they pass).
[ ] I added/updated integration/compatibility tests (and they pass).
[ ] I added/updated comments and checked rendering.
[ ] I made spot refactorings.
[ ] I updated user documentation.
[ ] I ran task all, and it passed.
[x] I ensured that PR title is good enough for the changelog.
[ ] (for maintainers only) I set Reviewers (@FerretDB/core), Milestone (Next), Labels, Project and project's Sprint fields.
[ ] I marked all done items in this checklist.

The response seems sensible
test> db.serverStatus().catalogStats
{
  collections: Long("3"),
  capped: 0,
  clustered: 0,
  timeseries: 0,
  views: 0,
  internalCollections: 0,
  internalViews: 0
}

test> db.runCommand({dataSize: "test.foo"})
{
  estimate: false,
  size: Long("4096"),
  numObjects: Long("1"),
  millis: 14,
  ok: 1
}


Added full support for Vendor Defined Requests and Responses

Hello,
I have created a new pull request that implements support for Vendor Defined Requests and Responses.
The changes allow responder integrator to register a callback that will process any SPDM Vendor Defined Requests and issue Vendor Defined Responses. It also implements a dedicated method for a Requester to issue a Vendor Defined Request. I added a few tests as well to validate the code.
New public API methods:
Responder:
libspdm_vendor_response_callback_func response_callback;
libspdm_register_vendor_callback_func( ... response_callback);
Requester:
libspdm_vendor_request(... request ... response ...);
Please take a look and let me know any feedback. Thank you.

From a high level this is reasonable. For the pull request itself you will need to rebase to the main branch, as we don't allow merge histories into main. Once that's done, either in this pull request or a new one, I'll start the in-depth review.

@uvinrg , we don't use direct merge commit, we always use rebase and merge.
As such, the commit Merge branch 'DMTF:main' into main  should be eliminated.

@uvinrg , since this is a minor version change, we need to keep the compatibility.
That means, we can add new API, but we cannot change the existing API.

Thank you @jyao1 and @steven-bellock for the quick initial feedback and comments. I didn't rebase before creating the pull request and also some tests are failing, probably due to the libspdm_send_receive_data changes. I will most likely abandon this pull request and start a new one that passes all tests and move there all your comments in the initial message and try to resolve them.

Hi guys, sorry for the long time for the update.
If I understand correctly, currently LibSPDM has a vendor defined commands mechanism as follows:

integrator has to manually package a Vendor Defined Request and encode it as per SPDM spec, including the 0xFE VENDOR_DEFINED_REQUEST code, and then provide the raw spdm message including the header to libspdm_send_receive_data(), a generic libspdm method, setting app_message to False.
on the responder side, integrator has to intercept this message by registering a callback with libspdm_register_get_response_func(), also a generic callback for any non-handled message, as there is currently no built-in function to handle VENDOR_DEFINED_REQUEST type of message, and this callback method will check the app_message value to manually decide if it is an spdm message and check for the 0xFE message code and then, looking at the payload, build a response message again encoded according to the spec, and sending it back in the response buffer in a raw format.

What we are proposing is a more integrated API path specifically for VENDOR_DEFINED_REQUEST, as follows:

libspdm_vendor_request(...request...response...) that has dedicated parameters for standard_id, vendor id and request payload. Libspdm will take care of encoding these parameters according to the spec, before sending out the message
libspdm_register_vendor_callback_func(...vendor_response_callback...) that specifically registers a callback only for VENDOR_DEFINED_REQUESTS (message code 0xFE) and allows integrator to check the requester vendor id and to just specify the response payload in reply, and libspdm takes care of encoding it and sending it back to the requester.

We can rename them to better reflect the naming style of course.
Let me know your thoughts.
Thank you.

Let me know your thoughts.

Yes, that is my expectation, with whatever checking of the message libspdm can perform. Mainly, is StandardID legal. Note that the SPDM specification does not require that the StandardID and VendorID returned by the Responder match the same fields sent by the Requester. Ie, Requester can send a TCG VDM and Responder can replay with a USB VDM.

Let me know your thoughts.

Yes, that is my expectation, with whatever checking of the message libspdm can perform. Mainly, is StandardID legal. Note that the SPDM specification does not require that the StandardID and VendorID returned by the Responder match the same fields sent by the Requester. Ie, Requester can send a TCG VDM and Responder can replay with a USB VDM.

You are right, I will make the change for the responder to be able to supply a different Standard ID and Vendor ID in its reply. Thank you.

Good morning, it's been a while, but I have updated the Vendor Defined Requests and Responses API with:

session_id support
independent requester and responder vendor ids
Responder now has two callbacks, one to get vendor id followed by a second one to get actual vendor response, due to the variable nature of the vendor id length followed by the response data.
I could not make a single callback function with both the vendor_id pointer and data pointer correctly assigned, since I don't know where to place the data pointer in the receive buffer before I get the vendor_id length.

New public API methods:
Responder:
libspdm_register_vendor_get_id_callback_func( ... get_vendor_id_callback);
libspdm_register_vendor_callback_func( ... get_vendor_response_callback);
Requester:
libspdm_vendor_send_request_receive_response(... request ... response ...);
Please let me know any comments or suggestions.

@uvinrg , I am OK with the new API. Minor comment on the doc.

Hi all. Thank you for your review and the feedback. I made the necessary changes to the code. Please let me know if anything else is needed. Have a nice day!

Happy new year! I appreciate all your help and reviews in adding this feature to libspdm, thank you.


[DS-32] CharacterCount

Extract CharacterCount from TextField and TextArea and make it work for both.
Added some test

No bueno


Realtucker

Deals with issue of only displaying certain checklists based on aircrafts.

I am the real Tucker but nice job!


Upgrade to new staging Docker image

Closes https://github.com/Qiskit/documentation/issues/74.
We were finally able to get a Docker image working with Code Engine. Turns out the problem was upgrading from Next.js 13.4 to 13.5 because Code Engine does not play nicely with 13.4.13 or newer.
The Docker image was so slow because we were under-allocating resources. We double the resources. It's still somewhat slow, but less laggy than before. The next step would be to double again, which costs more money, so I was thinking to start with this for now?

Is there a way to monitor how much things cost? I'd be interested to see whether this doubles the cost or whether the initial upload or spin up costs contribute significantly.

Yeah, we can see it in Cloud. I'm going to work on https://github.com/Qiskit/documentation/issues/1034 this week as a way to cut costs.


remove Filters.cpp from source control

Removes an irritating situation where git constantly believes that Filters.cpp has been modified.

This was caused by the google code cleanup.  I'm fixing this in another pull request as well as ensuring the file isn't updated if not changed.


Discussion / Group description markdown has too much spacing in lists

Sample content:
This is my comment with a list:

1. Ok there's this
2. then this

How is that specing?

Appearance discrepancy between discussion profile and comment:

I feel like the comment spacing is desired.
My browser is Google Chrome 50.0.2661.102 (64-bit). Looking at the inspector, I can't actually figure out where the extra spacing is coming from. It appears just blank white space unaccounted for by any margin or padding.

Yes, the comments spacing is desired. Assigning to @sallakarppinen for fix

I've included the fix for this in the pull request #4110.


Break on first route

Implements #175 (option 2).

Note, we are going to test whether or not this solves our problem in our organization first (👋  from Bloomberg).

I don't think this change is necessary, and have hesitations about it being a good direction to take the project. I think your use case can be solved with single-spa-layout as-is, as I've described in https://github.com/single-spa/single-spa-layout/issues/175#issuecomment-1205790442

We will give it a try, although I'm fairly certain we've tried all of these options.


Documentation: need documetation in how to use how to generate Verilog from CIRCT generated Calyx

It's here: https://docs.calyxir.org/fud/circt.html
Once you have a native Calyx program, you can install the `calyx` compiler` and use that to generate Verilog code.
Feel free to reopen the issue if you need more help with it

Ah, can you change the —from futil to —from calyx instead?

root@ab83ec2abc5a:/home/calyx# fud exec examples/futil/simple.expect --from calyx --to verilog
[fud] ERROR: `/home/calyx/target/debug/calyx -l /home/calyx -b verilog' failed:
=====STDERR=====
thread 'main' panicked at 'static component main does not have static control. This should have been checked in ast_to_ir', calyx-opt/src/passes/well_formed.rs:304:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

=====STDOUT=====

I'm still getting errors

Looking into it now

Ah, it's because you're running it on a test output file. The correct command to run:
fud exec examples/futil/simple.futil --from calyx --to verilog

Where did you get that command from? If it's in the docs, we can fix it.

Thanks, its workings, I will continuing to try to generate Verilog from upstream MLIR using Calyx and CIRCT

Awesome! Feel free to open more issues if you run into any problems. We’re happy to help

I did it, if you add this to this line to the documentation of using CIRCT as a Calyx front-end is could be very useful for beginners!
Feel free to close the issue!
Thanks!

Thanks! It's already been fixed!


Add license file to repository

Would you be able to release this with a license file included?  I would like to build off of it but am unsure how permissively you are willing to let people use the code here, if you require sharing derivative works, etc.
Thanks for considering.

I have added the license to the repository and npm (MIT)


AttributeError In  godag/gp_taks.py file

In godag/gp_taks.py file when I am using this code
def get_id_to_parents(objs):
id_to_parents = {}
for obj in objs:
_get_id2parents(id_to_parents,obj.item_id,obj)
return {i:j for i,j in id_to_parents.items() if j}
get_id_to_parents(['GO:0048869'])
it providing me this error
AttributeError                            Traceback (most recent call last)
Input In [87], in <cell line: 1>()
----> 1 get_id_to_parents(['GO:0048869'])
Input In [86], in get_id_to_parents(objs)
2 id_to_parents = {}
3 for obj in objs:
----> 4     _get_id2parents(id_to_parents,obj.item_id,obj)
5 return {i:j for i,j in id_to_parents.items() if j}
AttributeError: 'str' object has no attribute 'item_id'
But when I am making the change instead of using this obj.item_id I am using go[obj].item_id ..It's working
Is this is correct????

I had found  all the go parents for the one go id ..these are the parents
{'GO:0008150': set(),
'GO:0065007': {'GO:0008150'},
'GO:0050789': {'GO:0008150', 'GO:0065007'},
'GO:0050794': {'GO:0008150', 'GO:0050789', 'GO:0065007'},
'GO:0051128': {'GO:0008150', 'GO:0050789', 'GO:0050794', 'GO:0065007'},
'GO:0050807': {'GO:0008150',
'GO:0050789',
'GO:0050794',
'GO:0051128',
'GO:0065007'}}
is there is any way to draw DAG graph for this in hierarchical structure..

@dinavod12
The second usage seems correct.
 Also, check a similar function in the same module get_id2parents - that's also expecting GO object.

oky ....


added text to list converter at runtime

Added file handling function. Calls into main at runtime.

Resolved conflicts in data.h.
Merge approved.


Add Nuxt.js Cheatsheet

What does this PR do?
Add resource
For resources
Nuxt.js Cheatsheet
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

maybe we should make a "javascript frameworks" category.
Thanks, and welcome to free-programming-books!


[BUGFIX] SW-12716 Fixed wrong snippet namespace when installing plugins on windows platform (SW-12716)

For more information about the issue, take a look on https://issues.shopware.com/#/issues/SW-12716

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/#/issues/SW-17353.
Please use this issue to track the state of your pull request.

Hi @mmergenthaler,
thanks for your contribution! :+1:
As described in ticket SW-12716, we don't officially support developing on windows platforms.
best regards


Python 2 runtime no longer supported on AWS

This looks like python 2 code and needs updating to support python 3 because Python 2 runtime is no longer an options on AWS Lambda. On python 3 runtime get the following error,
AttributeError: module 'urllib' has no attribute 'unquote_plus'

For a quick fix, import like this:
from urllib.parse import unquote_plus


Official way to generate Vue components .d.ts as a Vite plugin

You can currently get .d.ts files by either:

Manually invoking vue-tsc
Using vite-plugin-dts, which unfortunately doesn't use the same transformation/way to extract types the Vue language services does, and as such has compatibility issues (Many remain unresolved ATM as the other is unresponsive).
Using vite-dts which requires shipping sources and is also unmaintained and doesn't work with newer Vite versions.

This is not ideal, it would be nice to have an official way to generate .d.ts files for Vite built libraries. It's kind of an essential part for any TypeScript built component library.
It would be cool to have an official plugin to generate types during build time based on the Vue language tools. The standard way in Rollup is using rollup-plugin-typescript2 but that doesn't know about Vue. So one way would be to extend it to support Vue. Otherwise any approach which works as a plugin to Vite and works well in build --watch mode will be very very helpful.
Due to not having a proper solution for this we are currently stuck on Vue 3.2 and cannot upgrade to Vue 3.3. https://github.com/qmhc/vite-plugin-dts/issues/220

I have mixed feelings about complaining about the slowness of a library, vite-plugin-dts's progress has been slow recently. But since their progress has been rather slow, it would be interesting to see if vite-plugin-dts transitioned to use vue-tsc under the hood. In a perfect world, I would still prefer vite-plugin-dts as an external library, as the plugin wrapper makes it a bit easy and organized into vite.config.ts file. The only real thing that I need to get vue-tsc declaration to work is https://github.com/vuejs/language-tools/issues/3321 . But overall, I think a proper official solution would be nice. If the resources from vite-plugin-dts were combined with vue-tsc and moved into an official repository, that would be very nice to see.

Manually invoking vue-tsc

You can definitely choose this approach, and it's also the way vue repl uses.
https://github.com/vuejs/repl/blob/main/package.json#L35

Problem is, I wanted it triggered with vite build --watch in library project.

Problem is, I wanted it triggered with vite build --watch in library project.

You can run vue-tsc watch in separate progress.
{
	"scripts": {
		"watch": "npm run watch:vite & npm run watch:tsc",
		"watch:vite": "vite build --watch",
		"watch:tsc": "vue-tsc -p -w"
	}
}

@segevfiner You can run vue-tsc watch in separate progress.
{
	"scripts": {
		"watch": "npm run watch:vite & npm run watch:tsc",
		"watch:vite": "vite build --watch",
		"watch:tsc": "vue-tsc -p -w"
	}
}

Might result in a bit of garbled output, so might need npm-run-all or `concurrently. Another benefit is that this probably also supports declaration maps?
But it is two processes, as in, two file watchers running at once, so will likely need to split the output directory of the compiled code and types so they won't try to clobber each other.
I need to try this approach.

Seems like @qmhc stepped up to the plate and practically rewrote vite-plugin-dts so it now uses Volar and fixed most of the issues I had. Nice job 👍

Seems like @qmhc stepped up to the plate and practically rewrote vite-plugin-dts so it now uses Volar and fixed most of the issues I had. Nice job 👍

Does it mean vite-plugin-dts now uses vue-tsc to generate *.d.ts files?
I'm confused, because I read old comments saying vite-tsc is the better way to generate this files, rather than vite-plugin-dts... but I want to ensure now it's the same.


Blank page with only FB button

When it gets presented... it only comes with the facebook button... this is with the exact sample code provided in the example project.

Is this in the sample project?
Or in your own project? If so, could I see your code?
Thanks!


Add changing message color!

:clipboard: Description
I've figured out a github repo stars shields icon like this: https://img.shields.io/github/stars/Avnsx/Escape-from-Tarkov-Auto-Examine?style=flat-square&label=⭐ Stars&color=ffc83d&messageColor=ffffff
but as you see the text that displays the amount of stars on the right is still black(wanted to change it to white by hex color code) even though I tried doing &messageColor=ffffff. I'm guessing that it just doesn't exist, as I couldn't find anything about changing the color of the "message" as you guys call it in the docs.

The supported query parameters are enumerated here on the main Shields.io website.
However, it sounds like you're asking if you can customize the color of the text, and if so then this would be a duplicate of various prior issues including dating back to #504.
We do not allow the text colors to be customized. That's very much by design, and not going to change.
If that's no what you're requesting, could you please rephrase and elaborate on your ask?

The supported query parameters are enumerated here on the main Shields.io website.
However, it sounds like you're asking if you can customize the color of the text, and if so then this would be a duplicate of various prior issues including dating back to #504.
We do not allow the text colors to be customized. That's very much by design, and not going to change.
If that's no what you're requesting, could you please rephrase and elaborate on your ask?

That's pretty unfortunate, I was hoping to change the black 8 to a white 8 (the right text)

That's pretty unfortunate, I was hoping to change the black 8 to a white 8 (the right text)

Thank you for clarifying. Being infinitely customizable is an explicit non-goal of the project and as I mentioned previously the decision to automatically select white/black text based on the color of the background is a decision we're sticking with. Using white text on that background would make the text borderline unreadable, which is one of several reasons why we made the decision.
Going to close this as a duplicate accordingly


Need help tracking API usage

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from typing import Callable
from fastapi import Request, Response, Depends
from fastapi.routing import APIRoute
from server.routes.users import fastapi_users
from server.models.users import *

class session_log(APIRoute):
    def get_route_handler(self) -> Callable:
        original_route_handler = super().get_route_handler()

        async def custom_route_handler(request: Request,
        user: User = fastapi_users.get_current_user
        ) -> Response:
            response: Response = await original_route_handler(request)
            # print(f"route response: {response}")
            try:
                print("User", str(user))
            except Exception as e:
                print(f"Error : {e}")
            return response

        return custom_route_handler

Description
Hi, I'm looking for a way to track api usage on user basis. We are using fastapi-users for user management. Can anyone please suggest a way to do this. I tried using a custom API Router but was unable to fetch user details as it done through dependency injection and I kept getting errors like Depends object has no attribute ID/ Depends object is not subscriptable.
Any help would be greatly appreciated.
Thank you!!
Operating System
Linux
Operating System Details
No response
FastAPI Version
fastapi==0.61.1
Python Version
3.8
Additional Context
No response

Hi @ari-jain013, if your logs don't require the response object, you could create a dependency for logging (that depends on user dependency) and inject it on all routes.
For logging, check:  https://github.com/tiangolo/fastapi/issues/778#issuecomment-563284270
For adding the dependency on all logs, check: https://fastapi.tiangolo.com/tutorial/bigger-applications/

And we can add a list of dependencies that will be added to all the path operations in the router and will be executed/solved for each request made to them.

Okay, I think I can start with this but again it would be great analytics if I could also track is the response was successful or not.
Thank you for the quick reply

If you need to wait for the response, I would add a middleware for logging. For user info, starlette allows you attach states to the request object, which you can then access from the middleware. Not sure if there is a downside to using this with FastAPI, but the following example runs correctly.
from fastapi import FastAPI, Depends, Request

async def user_dep() -> int:
    user = 0
    return user

async def add_request_state(request: Request, user: int = Depends(user_dep)):
    request.state.user = user

app = FastAPI(dependencies=[Depends(add_request_state)])

@app.middleware("http")
async def add_logs(request: Request, call_next):
    response = await call_next(request)
    print ("some logging logic for user", request.state.user)
    print ("response status code: ", response.status_code)
    return response

@app.get("/test")
async def logged(user: int=Depends(user_dep)):
    return user

# Test behavior
from fastapi.testclient import TestClient
client = TestClient(app)
client.get('/test').status_code

some logging logic for user 0
response status code:  200

Hi Ahmed, I tried adding a middleware as you suggested
from server.routes.users import fastapi_users
from server.models.users import *
from fastapi import FastAPI, Depends, Request
from fastapi_users import FastAPIUsers

async def add_request_state(request: Request, user: User = Depends(fastapi_users)):
    request.state.user = user

app = FastAPI(
    title="Subtl API",
    description="End to End API interface for SubtlAI",
    version="0.1.0",
    docs_url="/",
    root_path=ROOT_PATH,
    dependencies=[Depends(add_request_state)]
    # root_path_in_servers=False
)

@app.middleware("http")
async def add_logs(request: Request, call_next):
    response = await call_next(request)
    try:
        print ("some logging logic for user", request.state.user.id)
        print ("response status code: ", response.status_code)
    except Exception as e:
        print ("error: ", e)
    return response

And got the following error

api_1      | User <function Authenticator._deprecated_current_user..deprecated_current_user_dependency at 0x7f5f5569ce50>
api_1      | error:  'State' object has no attribute 'user'

Hi Ahmed, I tried the first option as well

def logger_dep(user: User = Depends(fastapi_users.get_current_user)):
    print('CALLED LOGGER', str(user.id))

router = APIRouter(dependencies=[Depends(logger_dep)])

And got the following error

TypeError: init() got an unexpected keyword argument 'dependencies'

Hi @ari-jain013, I just realized shared parameters (e.g. dependencies) support only started at release 0.62 and yours is 0.61.

You can use a middleware like the one below which gives timing, generates a unique request id and prints status code as well.
current_request_id is a context variable
class RequestTimeMiddleware(BaseHTTPMiddleware):

    async def dispatch(self, request, call_next):

        idem = "".join(random.choices(string.ascii_uppercase + string.digits, k=20))
        current_request_id.set(idem)

        logger.info(f"rid={idem} start request path={request.url.path}")
        start_time = time.time()

        response = await call_next(request)
        response.headers["X-Request-Id"] = idem

        process_time = (time.time() - start_time) * 1000
        formatted_process_time = "{0:.2f}".format(process_time)

        logger.info(
            f"rid={idem} client-ip={request.client.host} completed_in={formatted_process_time}ms status_code={response.status_code}"
        )
        return response

Hi @ari-jain013, I just realized shared parameters (e.g. dependencies) support only started at release 0.62 and yours is 0.61.

Yes, I realized the same while looking at the second error.

You can use a middleware like the one below which gives timing, generates a unique request id and prints status code as well.
current_request_id is a context variable
class RequestTimeMiddleware(BaseHTTPMiddleware):

    async def dispatch(self, request, call_next):

        idem = "".join(random.choices(string.ascii_uppercase + string.digits, k=20))
        current_request_id.set(idem)

        logger.info(f"rid={idem} start request path={request.url.path}")
        start_time = time.time()

        response = await call_next(request)
        response.headers["X-Request-Id"] = idem

        process_time = (time.time() - start_time) * 1000
        formatted_process_time = "{0:.2f}".format(process_time)

        logger.info(
            f"rid={idem} client-ip={request.client.host} completed_in={formatted_process_time}ms status_code={response.status_code}"
        )
        return response

Can you please provide an example on how to use the Middleware class?

Just add to the list of middlewares of the app as below:
app.add_middleware(RequestTimeMiddleware)

See documentation here: https://fastapi.tiangolo.com/advanced/middleware/

Hi @ari-jain013, I just realized shared parameters (e.g. dependencies) support only started at release 0.62 and yours is 0.61.

Hey Ahmed, I upgraded my fastapi version and was able to make shared parameter work. Any suggestion on the other option where I can track response along with request?
But either way, thanks a lot for your help with clean, simple and easy to implement examples.

Just add to the list of middlewares of the app as below:
app.add_middleware(RequestTimeMiddleware)

See documentation here: https://fastapi.tiangolo.com/advanced/middleware/

Gonna try this now! Thanks @upeshphable

@ari-jain013 Please close the issue if it worked.

Hi @upeshphable i tried the custom middleware
class RequestTimeMiddleware(BaseHTTPMiddleware):

    async def dispatch(self, request, call_next, user:User = Depends(fastapi_users.get_current_user)):
        try:
            print("User: ",str(user.id))
        except Exception as e:
            print("Could not find user. Error : ",e)
        response = await call_next(request)

        return response

app.add_middleware(RequestTimeMiddleware)

and still got the same response

Error :  'Depends' object has no attribute 'id'

This is not related to the middleware. You need to check what your dependency, fastapi_users.get_current_user yields and then that user needs to have the id field because you are printing it.
How come you have dependency in dispatch arguments? I don't think you can do that.

@router.post("", response_model=TransactionOut, status_code=HTTP_201_CREATED)
async def transaction(
    transaction: TransactionIn,
    background_tasks: BackgroundTasks,
    user: User = Depends(fastapi_users.get_current_user),
):
    print( f"Query transaction initiated by {user.email}")
    transaction = await add_transaction( user, transaction)
    if not transaction:
        raise HTTPException(status_code=404, detail="Target (document/group) not found")
    return transaction

The dependency yields user object which has id, email and other fields. but it only works on endpoints or other dependencies. I'm trying to find a way to get user info and response status for all endpoints so I can maintain records of the number of times an endpoint was accessed and the response status.

Hi Ahmed, I tried the first option as well

def logger_dep(user: User = Depends(fastapi_users.get_current_user)):
    print('CALLED LOGGER', str(user.id))

router = APIRouter(dependencies=[Depends(logger_dep)])

And got the following error

TypeError: init() got an unexpected keyword argument 'dependencies'

This method worked but as it is a dependency, I was unable to get the response status to log

I think you cannot do it in middleware since it's handled in starlette. You might want to set user as a context variable and then use it here in this method to print out.

I think you cannot do it in middleware since it's handled in starlette. You might want to set user as a context variable and then use it here in this method to print out.

@router.post("", response_model=TransactionOut, status_code=HTTP_201_CREATED)
async def transaction(
    transaction: TransactionIn,
    background_tasks: BackgroundTasks,
    user: User = Depends(fastapi_users.get_current_user),
):
    print( f"Query transaction initiated by {user.email}")
    transaction = await add_transaction( user, transaction)
    if not transaction:
        raise HTTPException(status_code=404, detail="Target (document/group) not found")
    return transaction

The dependency yields user object which has id, email and other fields. but it only works on endpoints or other dependencies. I'm trying to find a way to get user info and response status for all endpoints so I can maintain records of the number of times an endpoint was accessed and the response status.

I think you cannot do it in middleware since it's handled in starlette. You might want to set user as a context variable and then use it here in this method to print out.

A similar issue would be
https://github.com/tiangolo/fastapi/issues/991
Apparently the user who asked this solved it but the solution is not provided
Also this stack overflow doubt
https://stackoverflow.com/questions/69913998/how-to-get-current-active-user-in-middleware-fastapi-python


WIP: Enable controlPlaneEndpoint config for kubeadm

controlPlaneEndpoint allows nodes to connect to the control plane using
a resolvable DNS name. This is preferable in cases where an IP cannot be
used.
This is implemented in kubeadm here:
https://github.com/kubernetes/kubernetes/pull/59288
Signed-off-by: Craig Tracey<EMAIL_ADDRESS>

cc: @erictcgs

This is already addressed.


Modifiable Storage Class reclaimPolicy

Greetings,
I was wondering if an enhancement could be made to choose the "sas" StorageClass reclaimPolicy via a variable.  There will be times when Retain will be the desired policy, and it would be convenient to set it here.
Thanks for the help!  -Michael

Closing this.  The work was complete in #338


feat(apply): adds template func to get interface ip

Description
This PR implements the get_intf_ip template filter that will help fetch the IP of a device interface. Here's an example
envArgs:
- name: EDGE_VPN_IP
  value: {{ 'edge01' | get_intf_ip(interface='tailscale0') }}

Note: This will introduce a slight delay in applying the template.
Depends

https://github.com/rapyuta-robotics/rapyuta-io-sdk/pull/84

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


useFetch do not respect timeout when proxied by a routeRule

Environment

Operating System: Darwin
Node Version:     v20.11.1
Nuxt Version:     3.11.0
CLI Version:      3.10.1
Nitro Version:    2.9.4
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools, routeRules, experimental
Runtime Modules:  -
Build Modules:    -

Reproduction
https://github.com/marcelobotega/route-rules-no-timeout
Describe the bug
When using routeRules as a proxy the composable useFetch do not respect the timeout.
I created the following routeRule:
  routeRules: {
    '/delayed-response': {proxy: 'http://localhost:3001/delayed-response'},
  },

And when I call it with useFetch:
 await useFetch('/delayed-response', {
  timeout: 1000,
});

The 1 second timeout do not work.
Additional context
I also tried using the experimental defaults on nuxt.config.ts but that do not work either.
  experimental: {
    defaults: {
      useFetch: {
        timeout: 500,
      }
    }
  }

Logs
No response

This is likely because on the server we are using a 'local call' which does not have a way to cancel requests.
We can track upstream in https://github.com/unjs/unenv/issues/153.

Hi @danielroe, I was checking the issue and looking at the implementations and I noticed something.
The nitro implementation is using the localFetch on the createRouteRulesHandler if $fetch (or $fetch.raw) were utilized instead, the proxyRequest might benefit from the abortSignal from ofetch.
If I'm looking on the right place, maybe this change would fix the issue ? Assuming that Nuxt is not doing a local call.

I think the signal wouldn't travel all the way through right now. But that might be the kind of change to make.


Shortest path between two points

Find shortest path between any two points within a network.
Required for:

Longitudinal profiler
Summary metrics

This one seems to be the shining example of networkX's utility
There are a metric tonne of useful Shortest Path Algorithms we can play with.
https://networkx.github.io/documentation/networkx-1.10/reference/algorithms.shortest_paths.html

See commit above. I cleaned up my shortest path script a bit and applied to shapefiles/FullNetwork.shp


Thinking About Parser Safety

The current iteration of the analyzer's parser is a hand-written, recursive descent parser that "recovers" on errors instead of failing at the very first one that it encounters, which is a different approach from what the mainline compiler as well as the PureScript-based parser is doing. Recovery basically allows the parser to parse as much information as possible such that the semantic analyzer core can have as much surface area from the source file to work with.
One of the challenges we're seeing in the parser currently is loop safety, specifically for nodes that require repeated parsing of elements. For instance, as of a9cb01148f54a39c7980c0e4c606091fedfda25c, the following declaration fails to parse with an infinite loop error (explanation):
b | if 0 else 1 then 2 = 0

For a moment, let's take a step back and think about what the parser does:

It consumes atoms (i.e. tokens)
It can build nodes (i.e. groups of tokens and nodes)
For unexpected tokens, it can yield an Error node which consumes the incorrect token and marks it with an error message saying what was expected. This is effectively recovery at the atom level.
For nodes, we currently don't have a concrete solution. I'll be talking more about possible ones in the next section.

Nodes can be further subdivided into two kinds:

Composite nodes
Container nodes

Container nodes are composite nodes but composite nodes are not container nodes. More specifically, composite nodes are collections of tokens and more nodes, while container nodes have the additional property of having an unbounded (read: bounded by RAM) number of children.
IfThenElse is an example of a composite node: it contains the tokens for the keywords, as well as the accompanying nodes for the expression.
Import/export lists, declaration lists, variable lists, arrays expressions, record expressions, etc. are examples of container nodes. They all involve repeated parsing of nodes until a condition is met, which is usually when a "terminating" token is seen (e.g. ] for arrays, etc.)
One of the problems we currently have with container nodes is how they handle "recovery" for when items fail to parse. The example I mentioned earlier demonstrates this: while parsing the list of guarded expressions, the parser fails to parse the ternary, which puts the parser in a state where it gets stuck on a single token.
An ideal approach to recovery here would involve "attempting" to parse the item. If the attempt succeeds, then no further action is needed; if the attempt fails, then the parser consumes tokens until the next nearest position where it can confidently begin parsing again.
In summary:

The parser has the mechanisms to perform recovery for unexpected tokens and march on with parsing.
Container nodes are currently parsed aggressively without recovery for nodes.
A "safe" parser would involve some degree of backtracking and recovery for items in container nodes.

Great write up! I think the elm parser does something similar - it jumps to the next "start of line" expression and carries on from there. So:
a = [ 1, 2, 3, 4 ] ] ] ] ]
                          ^ - error, we recover by skipping until we find another top-level declaration
           # another function
           >>= and stuff

b = 1
^ - Great! Now we know we're at the start of a definition so we can continue from here.


Issue #188: Adding Startup Probe support and changes to user guide document

What this PR does / why we need it?:

Adding startup probe support in v1beta1 version of operator
Editing user guide doc for startup probe usage and its support on Knative

Does this PR introduce a user-facing change?

[x] User guide
[ ] CHANGELOG.md

Which issue(s) this PR fixes:

@leochr
I've rebased to the current master and opened this new PR using origin fork.
The changes from make commands are in as well!

Fixes #188
Fixes https://github.com/OpenLiberty/open-liberty-operator/issues/215


Add tests for image core component

Same as with video component, is not as easy as other tests because of Rspec + Assetpipeline + Trailblazer

Closed via #157


LE Audio: TMAP BT Tester application

Is your feature request related to a problem? Please describe.
We should have a TMAP BT Tester implementation. The implementation should support the BTP similar to the other profile implementation for the BT tester, and thus be usuable for both PTS testing, as well as other automatic testing that supports the BTP.
Describe the solution you'd like
Implement support for TMAP in the bttester (tests/bluetooth/tester) which support the BTP commands such that the Zephyr application can perform specific operations.
Describe alternatives you've considered
See the other profile implementations for inspiration or contact @sjanc for more information.
Additional context
For TMAP we probably want to support multiple connections, which may not have been done before with BTP, so some new things may need to be designed.

@sp3030 will take this, but I cannot assign them to it.

Covered by PR https://github.com/zephyrproject-rtos/zephyr/pull/68675


Add unit tests for the /metrics endpoint

Add unit tests for the /metrics endpoint

merged via #106


[General] Timing for feature/cellular branch being merged to main|LTS

Briefly summarize the issue being raised
Is there a rough timeline you can share for the branch feature/cellular being merged into the main and/or an LTS branch of this repo?
There's interesting functionality in this, but we're concerned taking a dependency on components/interfaces still under development.
Thank you!
John
Describe the desired outcome
Just to understand timing.
System information
N/A
References
N/A
Code/Steps to reproduce the current status
N/A
Additional context
N/A

Hello,
As far as I can tell, the branch you are looking at feature/cellular is not actively developed. Instead we have the FreeRTOS Cellular Interface as a modular library which can be included in your project directly:
https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface
We have ports for the library and demos for three Cellular Modems. To learn more you can visit the documentation here: https://freertos.org/cellular/index.html


JavaScript Curriculum - Explain regex capture groups with back references

Is your feature request related to a problem? Please describe.
Somewhere in the spam filter project (js beta), the idea of using capture groups is introduced but there is no follow up to explain how to use matched groups later on in the same regex (with numbered or named back references ). I believe this should be covered in the spam filter project as it is an advanced concept that campers may struggle to learn alone.
Describe the solution you'd like
Additional steps should be added to the spam filter project to show use cases of capture groups (numbered or named) with back references.
Describe alternatives you've considered
People can learn these on their own once they become aware of them but they are hard to grasp without guidance.
Additional context
No response

TBH I'm not entirely sure where that'd fit in to the project.

what if we had a kind of check for repeated words like 'CASH CASH CASH' that would be considered spammy (basically using the backreferences to look for three repetitions of a word in caps?)
i recognize that this is tricky to think of some ideas for the spam filter. Hopefully we can think of something.

That's a good idea. Let's go with that. I think we can append a couple of new steps to the end of the project.


[BRD-152] - Setup BE

Setup BE project

Pull Request Test Coverage Report for Build 730318860

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 729950961:
0.0%

Covered Lines:
192

Relevant Lines:
192

💛  - Coveralls


[CARBONDATA-1422] Fixed compaction issue when decimal is present

It seems that decimal related modification is not shown in the changes. Do you mean date?

SDV Build Success with Spark 2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/331/

There is a table with decimal type in test("Compaction_Bug_JIRA_1422"), I think this PR is for that

@xuchuanyin As @jackylk told it is related to datatype conversion in carbon, if the request is from spark then we should do datatype conversion as per spark so that we should use SparkDataTypeConverterImpl

LGTM


Add inheritdoc to generated Json serializers

We're getting build warnings due to the members of this class not having doc strings, this just adds "inheritdoc" to these 4 members (and updates the tests).

Thanks, you can use https://github.com/erri120/TransparentValueObjects/blob/main/src/TransparentValueObjects/Constants.cs#L9

👍 updated

See the description for another added change


Add zoom to orthographic example

Objective
Fixes #2580. Extends the orthogonal example to include zoom as suggested.
Solution

Describe the solution used to achieve the objective above.

Should this zoom maths be added as a method on OrthographicProjection instead?

Should this zoom maths be added as a method on OrthographicProjection instead?

I'm definitely in agreement with this :) Looks solid though!

I'm not sure I understand exactly. In the example, zooming is performed by changing the scale of the projection and moving the camera itself. But we don't have access to the camera translation from within the projection. I can only see how it'd be possible to zoom in and out of the centre of the screen plane.

Hmm yeah, true.
The zoom method could return the relative transform based on the Vec2 as the fraction of the screen, then you'd update the camera's transform based on that.

WDYT of the following signature
pub fn zoom_to(&mut self, screen_center_normalized: Vec2, delta_scale: f32, from_translation: &mut Vec3)

Initial proposal:

pub fn zoom_to(&mut self, screen_center_normalized: Vec2, delta_scale: f32, from_translation: &mut Vec3)

Counter-proposal:

pub fn zoom_to(&mut self, new_screen_center: Vec2, new_scale: f32, camera_transform: &mut Transform)

Changes:

new_screen_center: better communicates intent. Clearly specify that this is in Transform's x, y units in the field docs.
delta_scale -> new_scale: idempotency is nice, and users can easily reconstruct the other API out of this one.
camera_transform: &mut Transform -> Somewhat more type-safe, uses the familiar Transform type and clearly specifies where the values are coming from.

Sorry for the delay, I have been very busy finishing up the quarter with work! Back and able to contribute with a bit more consistency.
After thinking about this a little bit, I'm back to thinking that the original commit was the best solution. Just including a specific example for how to achieve rotation and zoom for a specific example. I'm not sure it is clean enough to define a zoom function within the projection itself just yet, especially if it wouldn't be consistent amongst all other current projections. What do you think?
cc @alice-i-cecile @DJMcNab

I'm not sure it is clean enough to define a zoom function within the projection itself just yet, especially if it wouldn't be consistent amongst all other current projections. What do you think?

Hmm. I think that the smaller, scoped demo has clear value. Then, we can tackle a proper, general solution in another PR and update the example.

@B-Janson I'm going to add the Adopt-Me label, but feel free to pick up this work again yourself :)

I want this but it seems stale. I recommend we close this an open a tracking issue for the example.

Seconding that. Please close once an issue is up.

This would conflict with #11022, we should probably just request an example there.


Dynamic form cause error on validation

I have a form in which I add fields dynamically. The problem is that, when the form is validated, I get Cannot read property 'length' of undefined which happens here :
if (!errors.length) return

What is the proper solution to enable dynamically added fields to be validated? Should the faulty line be changed to if (!errors || !errors.length) return ?

By default, the validator will only validate fields that are present when the plugin is initialized. If your form has a dynamic set of fields, you will need to call $(...).validator('update') to inform the plugin that the set of fields to be validated has changed.


for perspective images

Hi, I am pretty new about the 3D layout estimation and reconstruction research.
is there any way to make HoHoNet work for perspective images?
Thanks:)

Hi @godhj93 you use this repo
https://github.com/isl-org/MiDaS
is intended for this kind of application


Added missing upper-pose-connection set

As already described in #1575 , the upper-pose connections are missing and using the pose model with upper-body only results in an out of range error.
This PR adds a new connection set UPPER_POSE_CONNECTIONS only containing the upper pose connections. In my opinion it makes more sense to add such a connection set, instead of changing the draw_landmarks() method (which already check if landmarks are available).
Would be great if you merge this PR, that you also make a hint on the manual page of the pose estimation.

@googlebot I signed it!

How to pass UPPER_POSE_CONNECTIONS set to draw_landmarks()?
Thanks in advance.

Thanks for reporting this. We added mp_pose.UPPER_BODY_POSE_CONNECTIONS for upper body use case.


DNS lookup performance bottleneck when DiscoveryClient returns nonexistent host

I was experiencing huge performance problems when using spring-cloud-consul-discovery + feign clients with seluth publising to zipkin. After some investigation I've narrowed it to DNS lookup made by org.springframework.cloud.sleuth.zipkin.DiscoveryClientEndpointLocator. In my case consul was running in docker, and my app was running on host. DiscoveryClient in getLocalServiceInstance is returning host as 'consul'. I believe it is hostname of docker container running consul. Then in DiscoveryClientEndpointLocator there is:
private int getIpAddress(ServiceInstance instance) {
		try {
			return InetUtils.getIpAddressAsInt(instance.getHost());
		}
		catch (Exception e) {
			return 0;
		}
	}

(see: https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/DiscoveryClientEndpointLocator.java)
This is called for EVERY span. When DNS is cached it's somewhat ok. If DNS lookup is performed, not so ok. If DNS timeouts/nonexistent host it has terrible impact on performance! In my case name 'consul' was not resolved... Another story is why consul-discovery is returning consul agent name as host, but i think it is irrelevant, this can always happen.

Thanks a lot for the feedback. I guess caching the result would enough to fix it, wouldn't it?

Actually it is cached, just figured it out...i think. In FallbackHavingEndpointLocator there is:
@Override
	public Endpoint local() {
		this.cachedEndpoint.compareAndSet(null, endpoint());
		return this.cachedEndpoint.get();
	}

But if i understand it correctly endpoint() method is called every time anyway?
Answering: I'ts hard for me to talk about it as i just started my adventure with zipkin, but first of all why zipkin needs an Ip address? Would it be possible to just leave hostname?
If hostname will be cached wouldn't it mess with docker containers being migrated? Or what will happen when ip is changed? I would cache based on unconverted host name + port + serviceId - Until it changes I would leave cachedEndpoint alone....But then what if DNS resolution was only temporary unavailable during first resolution...ok i'm overcomplicating it.

It would be nice to make zipkinEndpointLocator bean 'conditional on missing bean', cause its hard to work it around:/ It may be usefull for someone hacking his own discovery...

@s4s0l if you create your bean with the same name you can override it now:
@Bean
public EndpointLocator zipkinEndpointLocator() { /* ... */ }

didn't know that:)

@s4s0l how is it going? :>

Actually great. I'm on vacation. Till 20th November. Sorry but before I left I could not find a moment to finish it, and now all I have is a cell phone;/

Ping? :P


Multiple templates for sharing

Currently we have only one template (shown below) - We should have more templates

Now we have two templates, but we need more.


Article FB share button - TUNE-98

@peterp I've tested those two FB share links on a Nokia as standalone and they work.
I will switch between them for testing on the site again, I need to concatenate the article's link on the FB share in Jinja.

👍


Documentation: Clarification on InsertRelation/Relate/Insert

Description
Hi, please forgive my etiquette if I make a mistake here; I am new to OSS. I've spent the week trying to familiarise myself with the new SDK. I really appreciate the work that has gone into this.
I was wondering if there is an official answer as to how to create relationships using this SDK? There are currently two self-evident ways of doing it (Relate and InsertRelation), and I just saw the new documentation on the SurrealDB website, which suggests using Insert (particularly for my usecase where I need to insert many relations). After poring over the documentation and reading the source code, it looks like they all differ in how they encode the operation for transport, but all have the same result by the time it's applied to the database. Before I saw the new docs on the SurrealDB website I was about to fork the repo and start work on a ...args version of InsertRelation.
My request (and I'm happy to contribute) is that there is be opinionated guidance as to when to use each of the three approaches and the pitfalls. For example, Relate silently ignores a provided ID and InsertRelation crashes if it already exists (which is of course reasonable). I haven't tried Insert yet.
In an ideal world, the SDK would function as an affordance for how to best use the database, but perhaps if the database is so general there might not be a single best approach?
Thanks again, and I'd be keen to contribute with a PR if I better understood the design ethos.
Is there an existing issue for this?

[X] I have searched the existing issues

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Further updates:

for my needs I'm going to use .Query. I've been reading the RPC protocol and I understand that there is no way to do multiple inserts of relations without using a custom query. I don't think I'd design it this way, but the protocol design is outside of the scope of the SDK.

what I said earlier about the documentation on SurrealDB for InsertRelation I think turned out to be a mistake in the documentation, it's not a viable option. When I run the example it says rpc request err There was a problem with the database: Found record: calls_at:⟨CHRX-dhWTaEvW⟩ which is a relation, but expected a  RELATION IN record<services> OUT record<locations>.


Add support for timezones

Aloha!  I wanted to leverage the timezone plugin from dayjs with this library so I've added an optional timezone prop people could use for that. Thoughts on this approach?

Sounds like a great idea. Thanks for taking the time to consider and the feedback 🙏🏻


[pens] A missing component should raise a MissingComponentError(KeyError)

This is to make a missing component unambigiously except-able in higher-up libs and to avoid catching a special pen's KeyError on accessing an internal database.

sounds good. PR welcome

sounds good. PR welcome


[Play] Confidence Meter API Call

Issue:
This PR addresses subtask #709 of the new Confidence Meter feature: passing data between front and backend through API call and subscriptions
Resolution:
In networking:

added parameter confidenceLevel to the function async updateTeamAnswer on lines 330, 335 of ApiClient.ts to be used in play

In play:

GameInProgress.tsx - added support to be able to extract necessary fields to pass into above updateTeamAnswer function which is called on line 223 in the function handleSelectConfidence (lines 213 - 232). In addition to backend updates, this function also updates the fields in the selectConfidence object accordingly to update the frontend. This object is defined on lines 154-156 where helper function checkForSelectedConfidenceOnRejoin (defined in HelperFunctions.tsx) is called to repopulate fields accordingly if the player has rejoined the game. In addition to this, I've added/updated other constants in this file: (1) displaySubmitted on lines 144-146 has been changed to account for existing subscription data in the case of rejoin (so that the confidence meter still appears if the player has submitted an answer when page is refreshed), (2) currentAnswer on lines 147-149 is the player's answer to this question (if the player has submitted already) and is used as an argument to the helper function on line 162 and to define the const teamAnswerId (3) teamAnswerId on lines 150-152 is the id of the answer submitted by the player in this phase and is passed as an argument to updateTeamAnswer on line 223 (4) To isolate frontend response between API errors caused on submit of answer vs confidence, removed const isError and added consts isAnswerError and isConfidenceError on lines 73, 74. These are used in handleRetry on lines 190-203 to update the correct data when the error modal appears and player presses retry button and display the correct error modal on lines 240-251
HelperFunctions.tsx - Added new function checkForSelectedConfidenceOnRejoin on lines 96-131 to repopulate confidence data accordingly in the case that the player has refreshed the page
ErrorModal.tsx - Added support for new confidence error type on line 35
PlayModels.tsx - Added support for new confidence error type on line 108
translation.json (es + en) - Added support for new text fields
ChooseAnswer.tsx - Added props to be passed down from GameInProgress.tsx to ConfidenceMeter.tsx
ConfidenceMeter.tsx - updates parent's components as necessary and displays UI, responding to state changes coming from GameInProgress.tsx

Preview:
Here are some screen recordings of the new feature:
The recording below demonstrates the following behavior: (1) Confidence meter appears in response to answer being submitted in phase 1 of gameplay (2) backend is updated with player's response (3) the player cannot submit more than one response within every 5 second interval (4) the player's selection is saved even after refreshing the page and (5) the 'sending response..' message appears when the API call is first made and becomes 'response sent' once API call is complete:
https://github.com/rightoneducation/righton-app/assets/106450593/8e3a75ee-2a77-4de4-9fdd-d81c2c880a2e
In the recording below I've created a dummy error in the code to illustrate what happens in the case of an API error when selecting confidence:
https://github.com/rightoneducation/righton-app/assets/106450593/fe4b7f9b-26c3-43b4-a3a7-98afa23804b4
In the recording below, we can see that if the player does not submit an answer within the phase, the confidence meter does not appear:
https://github.com/rightoneducation/righton-app/assets/106450593/ac595f9d-e9bf-4e72-844e-07d926311573
@drewjhart @maniramezan

Following the comments above, the code looks good Alex. Nice to see this feature coming together in a very real way. One admin question, how does this PR work with this one: #712. Should we be merging this one into 712 or do we need to close 712 out and replace it with this one?
@drewjhart Thanks for the feedback! and ahh I see what your saying. I can go ahead and close out #712 since I started this branch working off of the changes in #712. Should have just made a separate branch to merge but yes #712 is redundant as of now

Following the comments above, the code looks good Alex. Nice to see this feature coming together in a very real way. One admin question, how does this PR work with this one: #712. Should we be merging this one into 712 or do we need to close 712 out and replace it with this one?
@drewjhart Thanks for the feedback! and ahh I see what your saying. I can go ahead and close out #712 since I started this branch working off of the changes in #712. Should have just made a separate branch to merge but yes #712 is redundant as of now

Nice, sounds good. I think we can then branch of this branch to create the host features and then nest the PRs. Then we'll be able to extend branches and PRs for the entire feature and merge the thing in when it's all done. We can cover this tomorrow as well

Thanks for detailed explanations and updates, nice to see this all coming together ❤

No, thank you! @maniramezan @drewjhart Really appreciate all of this feedback from everyone, it's been super helpful!


[Bug] Request body not cleared in bru file when switching dropdown to 'No Body'

Request body not cleared in bru file when switching dropdown to 'No Body' when there was previously some body defined.
I am not 100% sure it is bug or it was intentionally implemented like this. But it looks to me as useless information in bru file If I decide to choose 'No Body' option.

Hi. I was working on this to find the issue and mean while i found an interesting behaviour.
When we change the body type to new one, in request body of the following items, the previous state was not removed. Refer the below pic.

In the above image, i have changed the items body type to json from text. Should i raise a new issue of this?

Each Body type is saved separately in the .bru file, and I'm 99.9 percent sure it's intentional that the previous body is not cleared.

But why it is there in bru file if it is totally useless for request itself. For example I was duplicating quite a lot POST requests with body to GET requests without body and then I realize that it is not enough to just switch dropdown to No Body If I want to remove body but I have to first remove JSON content and then switch to No Body in case I don't want to have some non relevant body in my GET request.


Keyboard Issue

I'm a bit new but hope this will help others.
In previous versions of React Native I could utilize the keyboard aware scrollview component.  When upgraded to versions beyond 25 that is now causing an error that creates this alert in the debugger.
view <RCTShadowView , RCTTextField is not a descendant of RCTShadowView.  (Obviously there is a longer amount of output).  From researching, it appears there may be a pull request to fix it.
One request I'd like to make is if we could get better documentation and examples of how to implemented the Keyboard.addListener('keyboardWillShow",func) usage.  It would be great to get any assistance as I really do want to use the newer version of React Native for my project.
Thank you.

@facebook-github-bot stack-overflow

Hey @michaeljgilmore and thanks for posting this! @DanielMSchmidt tells me this issue looks like a question that would be best asked on StackOverflow. StackOverflow is amazing for Q&A: it has a reputation system, voting, the ability to mark a question as answered. Because of the reputation system it is likely the community will see and answer your question there. This also helps us use the GitHub bug tracker for bugs only. Will close this as this is really a question that should be asked on SO.


Error Opening my CSI Camera in my Jetson Orin Nano

@dusty-nv I tried running a few examples from jetson inference but I get some errors with streaming my CSI Camera. Please help me solve this issue. My camera was working well when I used Jetpack 5.1.1 but when I wanted to upgrade to jetson 6 as I wanted to use ros-iron, this issue started.  Even my video viewer throws the same error. I tried the camera with rasberry pi and it works so the problem lies somewhere around the drivers.
JetPack version 6.0, Ubuntu 22.04
Please help me solve this!!
https://forums.developer.nvidia.com/t/error-connecting-csi-camera-nvbuf-utils-dmabuf-fd-mapped-entry-not-found-and-a-lot-more-errors/286623 - This is my problem and I think it would be clear.
Error:
ubuntu@ubuntu:~/jetson-inference/python/examples$ ./imagenet.py csi://0

imageNet -- loading classification network model from:
         -- prototxt     networks/Googlenet/googlenet.prototxt
         -- model        networks/Googlenet/bvlc_googlenet.caffemodel
         -- class_labels networks/ilsvrc12_synset_words.txt
         -- input_blob   'data'
         -- output_blob  'prob'
         -- batch_size   1

[TRT]    TensorRT version 8.6.2
[TRT]    loading NVIDIA plugins...
[TRT]    Registered plugin creator - ::BatchedNMSDynamic_TRT version 1
[TRT]    Registered plugin creator - ::BatchedNMS_TRT version 1
[TRT]    Registered plugin creator - ::BatchTilePlugin_TRT version 1
[TRT]    Registered plugin creator - ::Clip_TRT version 1
[TRT]    Registered plugin creator - ::CoordConvAC version 1
[TRT]    Registered plugin creator - ::CropAndResizeDynamic version 1
[TRT]    Registered plugin creator - ::CropAndResize version 1
[TRT]    Registered plugin creator - ::DecodeBbox3DPlugin version 1
[TRT]    Registered plugin creator - ::DetectionLayer_TRT version 1
[TRT]    Registered plugin creator - ::EfficientNMS_Explicit_TF_TRT version 1
[TRT]    Registered plugin creator - ::EfficientNMS_Implicit_TF_TRT version 1
[TRT]    Registered plugin creator - ::EfficientNMS_ONNX_TRT version 1
[TRT]    Registered plugin creator - ::EfficientNMS_TRT version 1
[TRT]    Could not register plugin creator -  ::FlattenConcat_TRT version 1
[TRT]    Registered plugin creator - ::GenerateDetection_TRT version 1
[TRT]    Registered plugin creator - ::GridAnchor_TRT version 1
[TRT]    Registered plugin creator - ::GridAnchorRect_TRT version 1
[TRT]    Registered plugin creator - ::InstanceNormalization_TRT version 1
[TRT]    Registered plugin creator - ::InstanceNormalization_TRT version 2
[TRT]    Registered plugin creator - ::LReLU_TRT version 1
[TRT]    Registered plugin creator - ::ModulatedDeformConv2d version 1
[TRT]    Registered plugin creator - ::MultilevelCropAndResize_TRT version 1
[TRT]    Registered plugin creator - ::MultilevelProposeROI_TRT version 1
[TRT]    Registered plugin creator - ::MultiscaleDeformableAttnPlugin_TRT version 1
[TRT]    Registered plugin creator - ::NMSDynamic_TRT version 1
[TRT]    Registered plugin creator - ::NMS_TRT version 1
[TRT]    Registered plugin creator - ::Normalize_TRT version 1
[TRT]    Registered plugin creator - ::PillarScatterPlugin version 1
[TRT]    Registered plugin creator - ::PriorBox_TRT version 1
[TRT]    Registered plugin creator - ::ProposalDynamic version 1
[TRT]    Registered plugin creator - ::ProposalLayer_TRT version 1
[TRT]    Registered plugin creator - ::Proposal version 1
[TRT]    Registered plugin creator - ::PyramidROIAlign_TRT version 1
[TRT]    Registered plugin creator - ::Region_TRT version 1
[TRT]    Registered plugin creator - ::Reorg_TRT version 1
[TRT]    Registered plugin creator - ::ResizeNearest_TRT version 1
[TRT]    Registered plugin creator - ::ROIAlign_TRT version 1
[TRT]    Registered plugin creator - ::RPROI_TRT version 1
[TRT]    Registered plugin creator - ::ScatterND version 1
[TRT]    Registered plugin creator - ::SpecialSlice_TRT version 1
[TRT]    Registered plugin creator - ::Split version 1
[TRT]    Registered plugin creator - ::VoxelGeneratorPlugin version 1
[TRT]    completed loading NVIDIA plugins.
[TRT]    detected model format - caffe  (extension '.caffemodel')
[TRT]    desired precision specified for GPU: FASTEST
[TRT]    requested fasted precision for device GPU without providing valid calibrator, disabling INT8
[TRT]    [MemUsageChange] Init CUDA: CPU +12, GPU +0, now: CPU 39, GPU 2976 (MiB)
[TRT]    Trying to load shared library libnvinfer_builder_resource.so.8.6.2
[TRT]    Loaded shared library libnvinfer_builder_resource.so.8.6.2
[TRT]    [MemUsageChange] Init builder kernel library: CPU +1154, GPU +1237, now: CPU 1229, GPU 4251 (MiB)
[TRT]    CUDA lazy loading is enabled.
[TRT]    native precisions detected for GPU:  FP32, FP16, INT8
[TRT]    selecting fastest native precision for GPU:  FP16
[TRT]    found engine cache file /usr/local/bin/networks/Googlenet/bvlc_googlenet.caffemodel.1.1.8602.GPU.FP16.engine
[TRT]    found model checksum /usr/local/bin/networks/Googlenet/bvlc_googlenet.caffemodel.sha256sum
[TRT]    echo "$(cat /usr/local/bin/networks/Googlenet/bvlc_googlenet.caffemodel.sha256sum) /usr/local/bin/networks/Googlenet/bvlc_googlenet.caffemodel" | sha256sum --check --status
[TRT]    model matched checksum /usr/local/bin/networks/Googlenet/bvlc_googlenet.caffemodel.sha256sum
[TRT]    loading network plan from engine cache... /usr/local/bin/networks/Googlenet/bvlc_googlenet.caffemodel.1.1.8602.GPU.FP16.engine
[TRT]    device GPU, loaded /usr/local/bin/networks/Googlenet/bvlc_googlenet.caffemodel
[TRT]    Loaded engine size: 14 MiB
[TRT]    Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
[TRT]    Deserialization required 42056 microseconds.
[TRT]    [MemUsageChange] TensorRT-managed allocation in engine deserialization: CPU +0, GPU +13, now: CPU 0, GPU 13 (MiB)
[TRT]    Total per-runner device persistent memory is 8192
[TRT]    Total per-runner host persistent memory is 297152
[TRT]    Allocated activation device memory of size 3612672
[TRT]    [MemUsageChange] TensorRT-managed allocation in IExecutionContext creation: CPU +0, GPU +3, now: CPU 0, GPU 16 (MiB)
[TRT]    CUDA lazy loading is enabled.
[TRT]
[TRT]    CUDA engine context initialized on device GPU:
[TRT]       -- layers       72
[TRT]       -- maxBatchSize 1
[TRT]       -- deviceMemory 3612672
[TRT]       -- bindings     2
[TRT]       binding 0
                -- index   0
                -- name    'data'
                -- type    FP32
                -- in/out  INPUT
                -- # dims  3
                -- dim #0  3
                -- dim #1  224
                -- dim #2  224
[TRT]       binding 1
                -- index   1
                -- name    'prob'
                -- type    FP32
                -- in/out  OUTPUT
                -- # dims  3
                -- dim #0  1000
                -- dim #1  1
                -- dim #2  1
[TRT]
[TRT]    binding to input 0 data  binding index:  0
[TRT]    binding to input 0 data  dims (b=1 c=3 h=224 w=224) size=602112
[TRT]    binding to output 0 prob  binding index:  1
[TRT]    binding to output 0 prob  dims (b=1 c=1000 h=1 w=1) size=4000
[TRT]
[TRT]    device GPU, /usr/local/bin/networks/Googlenet/bvlc_googlenet.caffemodel initialized.
[TRT]    loaded 1000 class labels
[TRT]    imageNet -- networks/Googlenet/bvlc_googlenet.caffemodel initialized.
[gstreamer] initialized gstreamer, version <IP_ADDRESS>
[gstreamer] gstCamera -- attempting to create device csi://0
[gstreamer] gstCamera pipeline string:
[gstreamer] nvarguscamerasrc sensor-id=0 ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, framerate=30/1, format=(string)NV12 ! nvvidconv flip-method=2 ! video/x-raw ! appsink name=mysink
[gstreamer] gstCamera successfully created device csi://0
[video]  created gstCamera from csi://0
------------------------------------------------
gstCamera video options:
------------------------------------------------
  -- URI: csi://0
     - protocol:  csi
     - location:  0
  -- deviceType: csi
  -- ioType:     input
  -- width:      1280
  -- height:     720
  -- frameRate:  30
  -- numBuffers: 4
  -- zeroCopy:   true
  -- flipMethod: rotate-180
------------------------------------------------
[OpenGL] glDisplay -- X screen 0 resolution:  1920x1080
[OpenGL] glDisplay -- X window resolution:    1920x1080
[OpenGL] glDisplay -- display device initialized (1920x1080)
[video]  created glDisplay from display://0
------------------------------------------------
glDisplay video options:
------------------------------------------------
  -- URI: display://0
     - protocol:  display
     - location:  0
  -- deviceType: display
  -- ioType:     output
  -- width:      1920
  -- height:     1080
  -- frameRate:  0
  -- numBuffers: 4
  -- zeroCopy:   true
------------------------------------------------
[gstreamer] opening gstCamera for streaming, transitioning pipeline to GST_STATE_PLAYING
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> nvvconv0
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter0
[gstreamer] gstreamer changed state from NULL to READY ==> nvarguscamerasrc0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvvconv0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvarguscamerasrc0
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer message new-clock ==> pipeline0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvvconv0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvarguscamerasrc0
[gstreamer] gstreamer message stream-start ==> pipeline0
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3840 x 2160 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 22.250000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 22.250000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0
   Camera mode  = 1
   Output Stream W = 1920 H = 1080
   seconds to Run    = 0
   Frame Rate = 59.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
[gstreamer] gstCamera::Capture() -- a timeout occurred waiting for the next image buffer
[gstreamer] gstCamera::Capture() -- a timeout occurred waiting for the next image buffer
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
[gstreamer] gstCamera -- end of stream (EOS)
[gstreamer] gstCamera::Capture() -- a timeout occurred waiting for the next image buffer
[gstreamer] gstCamera::Capture() -- a timeout occurred waiting for the next image buffer
[gstreamer] gstCamera::Capture() -- a timeout occurred waiting for the next image buffer
[gstreamer] gstCamera::Capture() -- a timeout occurred waiting for the next image buffer
[gstreamer] gstCamera::Capture() -- a timeout occurred waiting for the next image buffer
[gstreamer] gstCamera::Capture() -- a timeout occurred waiting for the next image buffer
[gstreamer] gstCamera::Capture() -- a timeout occurred waiting for the next image buffer

Simply reflashing the board worked for me. Please check sensor_id as you connect the camera coz the default is 0. Sometimes it might be one, depending on where you connect.


docs: Wrap samples with future prefix

Standardizing Security Command Center samples to use 'securitycenter' prefixing.

Wrapped existing samples to keep published doclinks unbroken
Replace region tags that aren't published.

Once this PR is through, published sample inclusions will be updated to use the new prefix, then I'll come through again and remove the unused block wraps.

@Strykrol wanted to nudge this PR, it looks like there are a couple little typos potentially.

@Strykrol wanted to nudge this PR, it looks like there are a couple little typos potentially.

@Strykrol
Re: snippet-bot comment
The bot thinks that the correct region tag prefix for the securitycenter API is scc. This data comes from our internal devrel service (I know sometimes we need to violate the regino tag prefix rule).
Do you know which region tag prefix is correct securitycenter or scc?

@Strykrol
Re: snippet-bot comment
The bot thinks that the correct region tag prefix for the securitycenter API is scc. This data comes from our internal devrel service (I know sometimes we need to violate the regino tag prefix rule).
Do you know which region tag prefix is correct securitycenter or scc?

@tmatsuo - the region tag prefix conflict is expected, and the bot WAI. Once I've wrapped all scc-prefixed samples with securitycenter, our internal service prefix will be updated to securitycenter. This change is being done so the prefix is both more explicit and matches the service API short name. Feel free to ping me if you want to see the tracking bug for this work.

@tmatsuo - the region tag prefix conflict is expected, and the bot WAI. Once I've wrapped all scc-prefixed samples with securitycenter, our internal service prefix will be updated to securitycenter. This change is being done so the prefix is both more explicit and matches the service API short name. Feel free to ping me if you want to see the tracking bug for this work.

@Strykrol Thanks! Feel free to merge it.

@Strykrol Thanks! Feel free to merge it.

@bcoe I think this should be ready now!

@bcoe I think this should be ready now!