error while loading shared libraries

Hello. I have built armnn for quantized mobilenet image classification. But running ./UnitTests raises the following error:

error while loading shared libraries: /usr/local/lib/libarmnnTfLiteParser.so.19: unexpected reloc type 0x03

What should I do to resolve the issue?

Hi @zanazakaryaie ,
What board are you trying to run the Unittest on? Just want bit details about the architecture of the board basically. Also have you tried to use the cross compiling guide that we have here:https://github.com/ARM-software/armnn/blob/branches/armnn_20_02/BuildGuideCrossCompilation.md?
Thanks,
Nikhil.

Hi @nikraj01
I'm using Odroid-XU4 with Ubuntu Mate 18.04
I have not yet tried cross-compilation. I used the tutorial here:
https://developer.arm.com/solutions/machine-learning-on-arm/developer-material/how-to-guides/configuring-the-arm-nn-sdk-build-environment-for-tensorflow-lite/single-page

Hi @zanazakaryaie ,
Can you try the following:
While building flatbuffer:
cd $BASEDIR/flatbuffers
mkdir build_arm
cd build_arm
apt-get install cmake
CC=/usr/bin/arm-linux-gnueabihf-gcc
CXX=/usr/bin/arm-linux-gnueabihf-g++
cmake ..
-G "Unix Makefiles"
-DCMAKE_BUILD_TYPE=Release
-DFLATBUFFERS_BUILD_TESTS=0
-DCMAKE_INSTALL_PREFIX:PATH=$BASEDIR/flatbuffer_install_arm
make install
Then try to generate tflite schema manually using flatbuffer:
cd $<your_base_directory>
mkdir tflite_generated
cd tflite_generated
cp <your_directory>/tensorflow/tensorflow/lite/schema/schema.fbs .
../flatbuffers/build_x86_64/flatc -c --gen-object-api --reflect-types --reflect-names schema.fbs
and while building ArmNN use the following flags :
-DFLATBUFFERS_ROOT=$BASEDIR/flatbuffer_install_arm
-DTF_LITE_GENERATED_PATH=$BASEDIR/tflite_generated
instead of:
-DTF_LITE_GENERATED_PATH=$BASEDIR/tensorflow/tensorflow/lite/schema
Also can you please let me know what versions of flatbuffer and protobuf are you using?
And just making sure are you using ArmNN 20.02?
Thanks,
Nikhil.

Hi @nikraj01
Thanks for the reply
How can I see the versions of flatbuffer, protobuf and ArmNN? I'm using the latest versions cloned from their github repo.
Let me do the instructions you mentioned and see if it resolves the issue or not.

@nikraj01
You mentioned this to generate tflite schema manually using flatbuffer:
cp <your_directory>/tensorflow/tensorflow/lite/schema/schema.fbs .
../flatbuffers/build_x86_64/flatc -c --gen-object-api --reflect-types --reflect-names schema.fbs

BUT, there is no lite directory in my tensorflow directory!

Hi @zanazakaryaie ,
We are using TF version 1.15, so if you go to the section "Setup and download libraries" in the guide it says to checkout a particular revision of TF. We are on 3.5.0 for protobuf - this is mentioned in the "Build the Google protobuf Library" section. Could you please try with those versions and let me know.
Latest version of ArmNN is 20.02 :)
Thanks,
Nikhil.

Hi @zanazakaryaie ,
Were you able to build things properly? Wondering if this ticket can be closed then?
Thanks,
Nikhil.

@zanazakaryaie were you able to fix this issue with @nikraj01  solution. Seems like you have built successfully, I am facing same issue. Can you please let us know the steps you used to solve this issue

@nikraj01 @ome61952
Yes, I resolved the issue by moving to Raspberry Pi. Odroid XU4 has 32bit CPU and is not good for testing armnn. So I moved to a Raspberry Pi and installed a 64bit OS (Ubuntu Mate). Then followed the armnn tutorials. After building the library, there were some warnings when running ./UnitTests, but I could run the Mobilenet SSD Lite on an image with 6 FPS approximately.

@zanazakaryaie  That's great news.
I also managed to solve this issue on 32-bit ARMv7 Processor on Tinkerboard S using the recommendation from https://github.com/ARM-software/armnn/issues/158.
I am trying to build a Resnet50 based face recognizer and it is extremely slow on GPU and NEON around ~700-900ms per frame.  Do you think moving to 64bit processor will help?

@ome61952 Yes I think. Check #362
Tensorflow itself is also optimized for 64bit OS.

Hi @ome61952 ,
Do you have any other questions regarding this issue? Otherwise, could you close it please?
Cheers,
James

Hi @zanazakaryaie , @ome61952 ,
I'm going to close this issue now as it looks like it is resolved.
Please feel free to comment here if the issue persists.
Cheers,
James


[I/O Site] handle cache settings at site level

currently have site cache settings defined on fastly to 1hr, we'll want to control that at the site level, so it's not at the CDN Level.
Acceptance Criteria

[ ] update the site wiki with documentation the use of Fastly, caching and other useful info

@aswanson-nr is this something we are still concerned with? If so it may be a good idea to sort this out before handing off to CXP-UI

@jpvajda The fastly cache settings have worked fine for us so far. I'm okay with leaving them in.


Make CI update itself

If we update the CI project we need the CI framework to detect this and then update itself on the next run.

Will work on once <IP_ADDRESS> goes out


Added a Machine Learning Course in English

What does this PR do?
Added a course: Complete Machine Learning Bootcamp in English by Code for Cause
For resources
Youtube Playlist: https://youtube.com/playlist?list=PLyzHIYrZBplo3K0dNUqppd2ynnoZPD6N1
Why is this valuable (or not)?
It covers:

Explanation of tools used in ML
⁃ Mathematics behind ML algorithms
⁃ Making ML models using inbuilt libraries
⁃ Making your own custom ML algorithms for models from scratch!
⁃ Deploying ML models on the website!

How do we know it's really free?
It's available on Youtube for free
For book lists, is it a book? For course lists, is it a course? etc.
It is a course
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).
[x] Used an informative name for this pull request.

Follow-up

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

Thanks, and welcome to free-programming-books!


chore(main): release 0.5.15

:robot: I have created a release beep boop
0.5.15 (2022-12-08)
Features

add allowDynamicBackends function to fastly:experimental module (83a003e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/fastly/js-compute-runtime/releases/tag/v0.5.15 :sunflower:


how do i remove the check

This is mainly inspired by a similar thing added upstream: https://github.com/SthephanShinkufag/bytebeat-composer/issues/77 . The world need not be flooded by several unmodified clones of the website that are constantly promoted within the community. If you know what you're doing, and understand what you're trying to add, and it's actually substantial, look to the main script for answers. I'm not going to say exactly where the check is, because i don't want to make it completely useless, but this is the file. You should have a reason to fork this.

i am on a diff account, i have removed the check's if statement and it did nothing

i fixed it, it was also in menus.js


[JENKINS-55813] Ensure account status exceptions prevent successful SSH authentication

This validates that a user logging in through SSH is not bypassing their SecurityRealm user validity attributes. This also updates user impersonation checks to use the core API.
It's an open question on how we'd like to expose a configuration option to admins to enable or disable this attribute check. I think it might make most sense to put the feature flags or config options in the SecurityRealm plugins themselves which can avoid setting dynamic values to those attributes.
https://issues.jenkins.io/browse/JENKINS-55813
This PR was originally part of https://github.com/jenkinsci/jenkins/pull/4925 which has been put aside in favor of directly patching the affected plugins. As such, I've added all the people who left comments on that PR as reviewers if any of you would like to take a look.

See https://github.com/jenkinsci/ldap-plugin/pull/60 for a counterproposal.

Test failures in newly added tests on Windows. This might be due to general infra or test flakiness on Windows these days, but this requires clarification.

At this point the title of the PR is misleading I think.

https://github.com/jenkinsci/sshd-module/releases/tag/sshd-3.0


[Question] Is there a way to call and result from a different plugin?

Insomnia Version: 6.6.2
Operating System: Ubuntu

Details
I am trying to compose a plugin for moment.js support and I was wondering If there was a way I could call functions & implementation of a different plugin and get some data back which I can use in my implementation of moment.js.

There is no standard way to do this, no. Can you provide an example of what you are trying to do? Perhaps there is another way of achieving it.

@gschier I wanted to get the values from insomnia-plugin-faker plugin and pass the output to another plugin to process the value e.g. formatting the data.


Feature hud updates

Updated the HUD so it’s styled properly (gray tab fixed to the bottom of the page), and so it disappears after 5 seconds.
Also, cleaned up some unused HUD code in vimimum-scripts.js.

Merged in #93. Looks great @ChrisLTD!


Docs: Referenece material for gradle plugin

Newly updated for rewrite 7: https://docs.openrewrite.org/rewrite-7/reference-1/gradle-plugin-configuration
Substantially similar to the old document, I mostly just double checked for accuracy and updated version numbers


how to catch a drop event ?

Hi,
I'm trying to catch the event when an object is already dragged in another container.
So, when I drag an objet, the function is called hundreds of times.
But how can I catch this event once the object is dragged successfully ?
Thank you :)

`
your html :

in your controller will be:
$scope.$on('first-bag.drop', function (e, el) {
console.log("DROP EVENT !");
});`

Example if your dragula bag name is "first-bag":
        $scope.$on('first-bag.drop', function (e, el) {             console.log("DROP EVENT !");         });

if you use drag event across all dragging time your function will be called.so if you need to call your function once ( eg. when item dropped to target) you must use drop event.
drake.on('drop',function(el,target,source,sibling){
    //call your function here
})


A complex formula with two ‘_’ cannot be successfully converted into HTML source code

A complex formula with two ‘_’ cannot be successfully converted into HTML source code.
Issue Summary
when I use jekyll to build my blog, I would like to incorporate the functionality to render LaTeX formulas into HTML source code. After adding the corresponding script, it still fails to render this formula：$\hat{y}=\mathrm{argmax}_{y}P_{\theta}({y}|x)$

Steps to Reproduce:

Use default jekyll to gender markdown to html source
add mathjax script
render this  formula $\hat{y}=\mathrm{argmax}_{y}P_{\theta}({y}|x)$

I guess it is because jekyll will process the part caught by _ first . When it turns to mathjax to play its role, it can't  recognize it.  I wonder is it a bug for mathjax, because I can't render any formula with two more _
Technical details:

MathJax Version: 3.2
Client OS: windows11
Browser: none

I am using the following MathJax configuration:
and loading MathJax via
<script>
MathJax = {
  tex: {
    inlineMath: [['$', '$']]
  }
};
</script>
<script id="MathJax-script" async
<EMAIL_ADDRESS></script>

Thank you for your answer, I admire your memory from the bottom of my heart!


Bootstrax fails in the pipeline for empty He data.

I've saved run 9282 as an example under /live_data/009282.
It simply says it's stuck.

9282 was utterly scrambled. I'm going to ignore this issue for now as we didn't way for the timeout or other fallbacks before opening this issue.


Added configuration option for MQTT Protocol version

Paho defaults to MQTTv311.
The mosquitto i got when installing via apt-get on wheezy is still MQTT v3.1 only, so i thought this might be usefull.

Hi @schmidsven thank you very much for your PR.
I'd like to implement this in a slightly different way to enable support for any further versions, and I'm currently working on a refactor of the whole project so I'll likely incorporate it into that work. For that reason I won't be merging this in its current implementation. I appreciate your work, and I hope this doesn't come across otherwise.
Cheers

@schmidsven this is now configurable as of version 0.0.6 onwards.


🐞 [Bug]: add stats update api to workflow and docs

Is there an existing issue for this?

[X] I have searched the existing issues

which package/s did you face the problem with?
Stats
What happened?
Add https://stats.dev.grid.tf/api/stats-update to any workflow to trigger the update to the stats.
And also the endpoints https://stats.dev.grid.tf/api/stats-summary and https://stats.dev.grid.tf/api/stats-update aren't mentioned in the stats packages or anywhere.
Steps To Reproduce
No response
which network/s did you face the problem on?
Dev
version
2.3.3
Twin ID/s
No response
Node ID/s
No response
Farm ID/s
No response
Contract ID/s
No response
Relevant screenshots/screen records
.
Relevant log output
.

issue update
Investigation
will add cron job to fetch the update endpoint, we will need to monitor cron with zinit also

Verified, Cron jobs have been added to run every 6 hours daily.
https://github.com/threefoldtech/tfgrid-sdk-ts/blob/ca2ed41dba4cb69e8b11f8101c2f6f817f077398/packages/stats/Dockerfile#L19


added Zeta Uploader and removed gluPaste

@narendra36 Thanks, though it is possible to make these changed to the same PR that you have already opened.
Make your changes and add them, then use git commit --amend to push into the previous commit, then use 'git push origin +HEAD' to forcefully push to the origin remote.

ok @Akarshit  I will keep this in mind next time . Thanks


"Mark/Unmark" as junk non-functional

The update has broken the "Mark/Unmark" as junk feature

I see this was closed. Was it fixed? Maybe I am doing something wrong then because I cant seem to get it to work.

Fixed (for sure now) in V2.25


[Request] Gamepad Force Feedback / Rumble

Currently, force feedback / rumble does not appear to be functional. Is this something that could be added in a future release?
There does appear to be a GamepadHapticActuator interface in the webkit Gamepad API (https://developer.mozilla.org/en-US/docs/Web/API/GamepadHapticActuator)
Tested:
Windows with an Xbox One controller over Bluetooth
Windows with an Xbox One controller over Xbox Wireless USB.
SteamOS (Steam Deck) native controller
SteamOS (Steam Deck) Xbox One Controller over Bluetooth

Could be tricky as I believe the only instances of rumble working is official clients where the Windows.Gaming.Input (or WGI) API is available, e.g. Xbox app on Windows. Here we see Impulse Triggers working which signals more going on than just Xinput, which is what webkit Gamepad API was originally built on. However, I see that some extensions were very recently added to webkit which may be a useful API on Win10+ machines. It would be interesting to know if it's possible to recognize basic Xinput instructions for rumble, or if pure WGI stuff is the only thing in the stream.
Currently the client is behaving the same way the official Android/iOS/Edge/Chrome clients do, which is not to rumble.

The newest v2.0.0-beta1 has rumble support for xCloud games. Home-Streaming is currently not working with rumble as it does not send the rumble packets yet.

Closed due inactivity


Use "Skip" even if no "Limit" is specified

Without this patch, query like this:
GET http://<IP_ADDRESS>:3001/api/clients?skip=1&filter={"isBlacklisted":false}

skip parameter will be unused, because there is no limit parameter specified. I view this as non-consistent behavior, so this patch fixes that.

@smyrman Please review, and maybe merge.


fix errors in contractCalls, add needed methods in Augur.ts

part of UI integration with SDK.
Basic type fixes in UI.
Fixed calls to contract methods (added "_")
Exposed a few methods on ethers provider in Augur.ts that the UI uses.

👍


datastore: retrieving an entity's key as a struct field

I want to be able to query a my datastore and retrieve all of an entity's properties including it's key.
What I want to be able to have a struct like this
type User struct {
	Key          *datastore.Key `datastore:"__key__"`
	Username     string         `datastore:"username"`
	PasswordHash string         `datastore:"password_hash"`
	CreatedAt    time.Time      `datastore:"created_at"`
}

and be able to use a query like this
q := datastore.NewQuery("User").Filter("username =", "gopher").Limit(1)

and be able to get what ever user that is return and store it in a User struct. Like how it's done when using datastore.Get but instead of getting the entity with they key i want to be able to do so with other properties such as username or even email if I had a property like that.
at the moment I'm using the datastore.GetAll function and ranging over they keys that is return from that function and with []User and storing the key with it's user
example:
        var user []User
	q := datastore.NewQuery("User").Filter("username =", "gopher").Limit(1)
	keys, err := datastore.GetAll(ctx, q, &user)
	if err != nil {
		// Handle error
	}
	for k,v := range keys {
		user[k].Key = v
	}

is there a better way of doing this or is this the correct way?

You can use a PropertyLoadSaver

Your problem is not in how you are querying the data, but in how you are storing it.
The datastore:"__key__" struct field tag should only be used for embedded structs, to mark the field as a Key for an Entity Value. When it is found at the top level, the entire field is ignored.
Eg. You should use the tag for something like:
type User struct {
    Name string
    Pets []struct{
        Breed string
        Key *datastore.Key `datastore:"__key__"`
    }
}

In your case, your struct should just look like:
type User struct {
	Key          *datastore.Key
	Username     string         `datastore:"username"`
	PasswordHash string         `datastore:"password_hash"`
	CreatedAt    time.Time      `datastore:"created_at"`
}

Where the Key field is treated like a normal property on the entity, an equal to Username, etc.
Let me know if you have further questions!

@adams-sarah
I'm using this struct now
type User struct {
	Key          *datastore.Key
	Username     string         `datastore:"username"`
	PasswordHash string         `datastore:"password_hash"`
	CreatedAt    time.Time      `datastore:"created_at"`
}

I'm querying like this but when I fill my struct with the fields they all get filled with the correct data except Key. Should this be working or is it not done this way?
func (app *Application) GetUser(w http.ResponseWriter, r *http.Request) {
	username := r.FormValue("username")

	var users []User
	q := datastore.NewQuery("User").Filter("username =", username).Limit(1)
	_, err := app.dsc.GetAll(app.ctx, q, &users)
	if err != nil {
		log.Println(err)
		return
	}
	log.Println(users)
}

Hm ok, so again the problem is in how you are storing the data, and not in how you are querying it.
So your initial Put would need to look something like:
user := User{/* blah */}
// create a complete key
key := datastore.IDKey("User", 12345, nil)
// add key to the user struct value
user.Key = key
// Put User
_, err = client.Put(ctx, key, &user)
if err != nil {
    // do something
}

// and now you can do your query

Remember that the Key field on User is exactly like all the other fields. Nothing special. You have to populate the field yourself before you save the User.
I suspect that the reason you are not getting Keys back in your query is because they are empty in the entity in datastore.
I'm sorry this is not more intuitive. I'm thinking about ways we can make the datastore:"__key__" field tag work more magically for the top level struct (as you initially thought it would).
Happy to answer any more questions you might have.

@adams-sarah
Oh my bad I completely miss read that part where you said Your problem is not in how you are querying the data, but in how you are storing it. in your first response I understand now thank you. Is there any to do this but with a incomplete key so that the Cloud Datastore will automatically generate a numeric ID for the entity's key and that I still will be able to query out?

The only thing you can do is put the returned Key from Put into your struct and Put it again, eg:
key := datastore.IncompleteKey("User", nil)
key, err = client.Put(ctx, key, &user)
if err != nil {
    // do something
}
user.Key = key
_, err = client.Put(ctx, key, &user)
if err != nil {
    // do something
}

but this is really awful.
On the other hand, maybe it's not too terribly difficult for you to come up with your own unique ids? Could you use the 'username' as a string key? Are your usernames unique? Eg:
key := datastore.NameKey("User", user.Username)

Else, there are some pretty simple algorithms for coming up with a unique numeric ID. Just let me know if you'd like some help with this :)

@adams-sarah
I would prefer using unique numeric IDs and I would most definitely appreciate some help on how I should go about this
Btw I also really appreciate taking your time to help! :D

@adams-sarah
Could some thing like a UUID v4 work well maybe with the dashes removed as well.
https://github.com/google/uuid
Or are there other solid ways of generating unique ID's which are numeric?

Sorry for my delay. Yea a UUID would work great.

@adams-sarah
no worries thank you for the help I appreciate it! I was looking at https://github.com/rs/xid or even https://github.com/oklog/ulid but in the end I decided to go with UUID's :D

@adams-sarah
I still don't quite get it.
I'm seeing the opposite:

top level __key__ fields will get populated properly using GetAll or Iterator
nested structs (Entity Values) will not automatically get a valid key assigned, even not when a Incomplete keys has been put in there
manually assigning a NameKey does work, but has no effect

so the manual NameKey will get stored, but what's the usecase here ? I tried to query for Inner Entities using the supplied Inner-Entity-Kind, but no results. What advantages do I get from using datastore:"__key__" ?

@suau See the godoc here: https://godoc.org/cloud.google.com/go/datastore#hdr-Key_Field
and the section below, "Structured properties"
I'm not sure what you mean by the second two bullet points.
There are few advantages to using datastore:"key" on a nested struct field. You cannot really query using them, except as any other field (key would be "key" in the query). The main advantage is struct re-usability, and package interoperability with datastore clients written in other languages.
Again, on a nested struct, a *Key field tagged with datastore:"key" is just treated as another field with the name, "key".

@adams-sarah

a *Key field tagged with datastore:"key" is just treated as another field with the name, "key"

that makes a lot more sense now. Reading the docs:

If the Inner struct contains a *Key field with the name "key", like so:
type Inner struct {
	W int32
	X string
	K *datastore.Key `datastore:"__key__"`
}

type Outer struct {
	I Inner
}

then the value of K will be used as the Key for Inner, represented as an Entity value in datastore.

I was under impression the tagged field would get some special treatment when used in a inner struct.
(With my two other bullet points, I assumed the embedded entities would automatically get an IDKey assigned like top-level entities do)
The struct re-usability comes in really handy when storing entities and denormalized groups of those entities, I totally overlooked that, although I have lots of those almost-identical-structs.
Thanks for pointing that out !
So it's just a package level trick to ignore __key__ on top level entities, but not on embedded entities. Thanks for clearing that up.

Yea. Sorry this is so confusing. We went through a lot of iterations to try to make it better, but still it's not super intuitive.
That is all correct, except the last bit you said.
The __key__ struct field tag is ignored on PUT requests (any writes). But on GET (any reads), the key of the entitiy is magically loaded into the struct for you. This is helpful especially if you query for many entities. Then you can tell which one is which.
If you can think of ways to make this more clear in the docs, we'd love a contribution!!

The key struct field tag on a top-level struct is ignored on PUT requests

Is this still true? I'm seeing this error when I try this with datastore.Put():
"
API error 1 (datastore_v3: BAD_REQUEST): cannot store entity with reserved property name 'key'
"

@murraycu yep, should be. we've got a few tests which exercise this behavior. one here (actually hits the datastore server too): https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/datastore/integration_test.go#L103-L111
Can you paste your code?
Perhaps you are tagging it datastore:"key" and not (what it should be) datastore:"__key__" ?

Thanks for checking. Here is my code that uses that datastore tag: https://github.com/murraycu/go-bigoquiz-server/blob/stats_key/src/user/stats.go#L10 and here is where I use datastore.Put(): https://github.com/murraycu/go-bigoquiz-server/blob/stats_key/src/db/db.go#L210
And this is the error message that I then see when calling Put() with one of those entities:
API error 1 (datastore_v3: BAD_REQUEST): cannot store entity with reserved property name '__key__'

Ah, so you are importing the appengine datastore library (google.golang.org/appengine/datastore).
This issue tracker is for the cloud datastore libraray (cloud.google.com/go/datastore).
The two packages have diverged since the original fork :(. Sorry for the confusion.
However, you should be able to use cloud.google.com/go/datastore on appengine, and the migration should be fairly painless. Maybe that's a good option for you?
cc @zombiezen (as an fyi) re: documentation / the 'which library do i use' issue

As an FYI, the appengine datastore issue tracker lives at github.com/golang/appengine

Oh, thanks, and sorry. That is very confusing. Google's AppEngine document talks about the "Google Cloud Datastore API", with example code that imports google.golang.org/appengine/datastore:
https://cloud.google.com/appengine/docs/standard/go/datastore/creating-entities
None of the obvious documentation for each API seems to mention that there is another API that is similar but different.
(Sorry for polluting this issue. I'll gladly remove this comment and put it wherever else it really belongs.)

No no, please keep it.
Thanks for reporting the issue. Yea I agree about documentation being confusing re: all the go cloud client libs. This is actually a common complaint we get.
Currently trying to collect comments like yours so as to convince leadership that this is a big issue that needs attention.
So yea, please don't delete!

Hi everyone,
i am writing a service for search functionality .
when i pass the USERNAME  in the body to get the data based on that USERNAME  .
but i am unable to get the values.
please i  need a help .

Hey @kasireddy002, your question is a different one from this issue.  I see you opened #831; let's continue the conversation there.

Hi @adams-sarah , just making a comment:

However, you should be able to use cloud.google.com/go/datastore on appengine, and the migration should be fairly painless. Maybe that's a good option for you?

To me, the migration was simple and it worked in GAE standard. I was even able to do what @luisfernrg tried to do at the first place in this issue - it worked!
However, after I done that, I was not able anymore to run it locally (with dev_appserver.py).
Maybe it works locally with GAE flex compatible code, but apparently it does NOT with GAE standard compatible code (which means using appengine.NewContext instead of context.Background).
So, back to .../appengine/datastore ...


Correct spelling of Payload

The code uses the word payload in some places misspelled as PayLoad (as if it were two different words, pay and load):
https://github.com/Avanade/Liquid-Application-Framework/blob/1f805007f58b73ae09067bc56f863ae0fa702224/src/Liquid.Domain/Base/Domain/LightEventMessage.cs#L12
https://github.com/Avanade/Liquid-Application-Framework/blob/1f805007f58b73ae09067bc56f863ae0fa702224/src/Liquid.Domain/Base/Domain/DomainResponse.cs#L28
This is a spelling error that should be fixed.

This kind of issue (all issues marked as spelling) should be solved in the same manner: mark the current property as Obsolete and create an alias property that has the same backing field.
We will remove Obsolete at a later date.


Main

xx

There is no context given to this PR but commenting out the PDB and EM Express install parameters is not something that is encouraged nor recommended.


Merge defaults from parent

How can I merge the defaults from the first parent object instead of having to repeat them each time going down the tree?
const validate = ajv.compile({
  "type": "object",
  "default": {
    "url": "abc",
    "decimal": 5,
    "values": {
      "test1": {
        "a": 8,
        "b": 6
      },
      "test2": {
        "c": 3,
        "d": 4
      }
    }
  },
  "properties": {
    "url": { "type": "string" , "default":  "abc"  },
    "decimals": { "type": "number", "default": 5 }
  },
  "values": {
    "type": "object",
    "properties": {
      "test1": {
        "type": "object",
        "default": { "a": 8, "b": 6 },
        "properties": {
          "a": { "type": "number", "default": 8 },
          "b": { "type": "number", "default": 6 }
        }
      },
      "test2": {
        "type": "object",
        "default": { "c": 3, "d": 4 },
        "properties": {
          "c": { "type": "number", "default": 3 },
          "d": { "type": "number", "default": 4 }
        }
      }
    }
  }
});

So that it simplifies to this:
const validate = ajv.compile({
  "type": "object",
  "default": {
    "url": "abc",
    "decimal": 5,
    "values": {
      "test1": {
        "a": 8,
        "b": 6
      },
      "test2": {
        "c": 3,
        "d": 4
      }
    }
  },
  "properties": {
    "url": { "type": "string"  },
    "decimals": { "type": "number" }
  },
  "values": {
    "type": "object",
    "properties": {
      "test1": {
        "type": "object",
        "properties": {
          "a": { "type": "number" },
          "b": { "type": "number" }
        }
      },
      "test2": {
        "type": "object",
        "properties": {
          "c": { "type": "number" },
          "d": { "type": "number" }
        }
      }
    }
  }
});

Good idea, thanks
The spec is not explicit about what should happen with defaults (they are noop) and it would be ok to add this behaviour with some extra option, e.g. useDefaults: "deep" (instead of true).
There are 3 ways it could be implemented:

pre-process the schema (and automatically populate defaults in the required schema branches). Cons: schema mutation; pros: the easiest to implement and also it would cover all missing schema branches
look up the tree from each schema: cons: it will miss defaults in missing schema branches (although it may be ok) and it would also not work through refs, also more complex to implement; pros: no schema mutation
possibly, create a separate data structure for defaults alongside the schema that would be checked during the schema compilation. pros: combines advantages of approaches above, cons: the most complex to implement

I prefer the first approach to be honest, with the disclaimer in docs that this option mutates the schema.

I have an alternative approach to this problem that I think might solve a lot of problems.
Consider instead of applying the default in a top down approach, we use a recursive defaulting algorithm.
As validation is happening, apply the following rules:
All Schemas: If value equals undefined, use default as value instead
Object Schemas:

For each property of value object, validate against the property schema and use resulting value.
For each property of value that is undefined and required, validate undefined against the schema of that property and use the resulting value.
Optionally perform step 2 for properties that are undefined and not required. (new ajv option)

Array Schemas:

For each item in value array, validate item against items schema. use the result as new item.

Code explains better than words, so here are some examples.
ajv.compile({
    type: "object",
    default: {},
    additionalProperties: false,
    required: ["name", "abcFruits"],
    properties: {
        name: { type: "string" , default: "foo" },
        number: { type: "number", default: 0 },
        abcFruits: {
            type: "object",
            default: { a: "apricot", d: "durian" },
            required: ["a", "b", "c"],
            properties: {
                a: { type: "string", default: "apple" },
                b: { type: "string", default: "banana" },
                c: { type: "string", default: "cantaloupe" }
            }
        }
    }
})

Validating undefined will result in an object that looks like:
{
    name: "foo",
    abcFruits: {
        a: "apricot",
        b: "banana",
        c: "cantaloupe",
        d: "durian"
    }
}

Explanation:

initial undefined value was defaulted to {}
property "name" was required and undefined, so its value was set to the default of that schema
property "abcFruits" was undefined, so its value is set to the default of that schema

abcFruits resolution

initial undefined value was defaulted to { a: "apricot", d: "durian" }
property "b" was required and undefined, so its value was set to the default of that schema
property "c" was required and undefined, so its value was set to the default of that schema

Notice how default values were filled in where properties were missing and required, but properties that were defined are not touched. If a required property is missing with no default value for its schema, then a validation error still occurs.
An example with more than just undefined:
Validating { name: "bar", number: 1, abcFruits: {} } results in an object that looks like:
{
    name: "bar",
    number: 1,
    abcFuits: {
        a: "apple",
        b: "banana",
        c: "cantaloupe"
    }
}

Notice how abcFruits when resolving did not use the default of { a: "apricot", d: "durian" } because the value being tested was {} not undefined.

Lets try an array:
ajv.compile({
    type: "array",
    default: [{ name: "flag1" }, { name: "flag2", value: false }],
    items: {
        type: "object",
        required: ["name", "value"],
        properties: {
            name: { type: "string" },
            value: { type: "boolean", default: true }
        }
    }
})

Validating undefined results in an array like:
[
    { name: "flag1", value: true},
    { name: "flag2", value: false }
]

Bonus
allOf/anyOf/oneOf defaults:

When using "allOf" you can test the value against each schema, and then merge the defaults at the end (with later values overriding earlier ones).
When using "anyOf" you can take the default of the first matching schema.
When using "oneOf" you take the default of the matching schema.

This way of doing things avoids modifying the original schema, supports remote refs, and plays nicely with the recursive nature of validation.

@epoberezkin If this is an ok solution, I would be happy to try implementing it in a pull request. This feature is valuable to me.

This seems quite a complex approach, and it requires deep-cloning that in general case is not possible for JS objects, unfortunately, it’s only possible for parsed JSON, but ajv is used for other data structures…
Simply putting defaults in all schema branches to make sure they are populated on the way down seems simpler than this process, even though it puts some burden on the user…
Absolutely do try to implement it in the fork - if this approach can be generalised to all JS objects, and not only to subset of JSON, and it’s reliable in common edge cases, it can be a valuable feature under some option.

I apologize.. I completely misunderstood the current functionality. AJV basically already defaults deep like this besides the cloning, which was not really that important anyways.
I am going to try and get allOf, anyOf, and oneOf working though.


Parsing error (',' expected) in

Before You File a Bug Report Please Confirm You Have Done The Following...

[X] I have tried restarting my IDE and the issue persists.
[X] I have updated to the latest version of the packages.

What version of ESLint are you using?
8.55.0
What version of eslint-plugin-astro are you using?
0.30.0
What did you do?

Configuration
.eslintrc.json contents:
{
    "env": {
        "browser": true,
        "es2021": true,
        "node": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:astro/recommended"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaVersion": "latest",
        "sourceType": "module"
    },
    "plugins": [
        "@typescript-eslint"
    ],
    "rules": {
    },
    "overrides": [
        {
            "files": ["*.astro"],
            "parser": "astro-eslint-parser",
            "parserOptions": {
                "parser": "@typescript-eslint/parser",
                "extraFileExtensions": [".astro"]
            },
            "rules": {
            }
        }
    ]
}

package.json contents:
{
  "name": "radiant-raspberry",
  "type": "module",
  "version": "0.0.1",
  "scripts": {
    "dev": "astro dev",
    "start": "astro dev",
    "build": "astro check && astro build",
    "preview": "astro preview",
    "astro": "astro"
  },
  "dependencies": {
    "@astrojs/check": "^0.3.2",
    "astro": "^4.0.4",
    "typescript": "^5.3.3"
  },
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^6.14.0",
    "@typescript-eslint/parser": "^6.14.0",
    "eslint": "^8.55.0",
    "eslint-plugin-astro": "^0.30.0"
  }
}

When running npx eslint . on an astro project using typescript and containing a script block like below, eslint reports Parsing error: ',' expected. This does not happen if the code is instead placed in the component script.
<script>
	const x = new Map<string, string>();
</script>

What did you expect to happen?
There should be no parsing error, only errors caused by lints.
What actually happened?
❯ npx eslint .

/home/garmelon/tmp/radiant-raspberry/src/pages/index.astro
  19:33  error  Parsing error: ',' expected

✖ 1 problem (1 error, 0 warnings)

Link to Minimal Reproducible Example
https://github.com/Garmelon/astro-eslint-bug-repro
Additional comments
No response

Thank you for posting this issue.
That's a bug. I would like to find a way to fix it.

I added the astro/client-side-ts processor to work around the problem. Use it like this:
  overrides: [
    {
      files: ["*.astro"],
      // ...
      processor: "astro/client-side-ts", // <- Uses the "client-side-ts" processor.
      rules: {
        // ...
      },
    },
    // ...
  ],

Thanks! Can confirm that this fixes the error.

Hi @ota-meshi / @Garmelon, when I attempt to add the processor I'm getting the following issue when i attempt to run eslint
Error: ESLint configuration of processor in '.eslintrc.cjs#overrides[0]' is invalid: 'astro/client-side-ts' was not found.

These are my package.json dependencies (stripped to what is relevant)
  "dependencies": {
    "astro": "^4.0.6",
  },
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^6.14.0",
    "@typescript-eslint/parser": "^6.14.0",
    "eslint": "^8.56.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-astro": "^0.29.1",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-jsx-a11y": "^6.8.0",
    "eslint-plugin-prettier": "^5.0.1",
    "prettier": "^3.1.1",
    "prettier-plugin-astro": "^0.12.2",
    "typescript": "^5.3.3"

This fix requires version 0.31.0 of eslint-plugin-astro.

thanks, i forced the update. I thought I had done it properly last night.

Just following up from this @Garmelon, in VSCode it is working fine... however when i run eslint . --ext .js,.ts,.astro it is still failing on the typescript parsing issues

If you're running eslint globally instead of via npx or similar, maybe you have an outdated version of eslint-plugin-astro installed globally as well

checked both my npm and yarn globals and there is no eslint-plugin-astro installed. Also i set up this inside the scripts section of package.json file as lint and did a npm run lint and it has the issue.

Maybe open another issue with a minimal reproducible example then.


"GST_ARGUS: Available Sensor modes : Segmentation fault (core dumped)" on both python and C examples

Hi i tried the imagenet-camera according to all the instructions .
I am using a Logitech C310 webcam with a jetson NANO.
I already looked at the similar issue which was solved by changing DEFAULT_CAMERA parameter. But file structure and the code was updated so all the parameters are accepted as cmd args.
(my camera index is 0)
I tried cloning and building the old version and changed theDEFAULT_CAMERA index and  it worked. But the new version throws errors.
I tried running the following commands:
"./imagenet-camera"
"./imagenet-camera --camera 0"
Also with python:
"python3 imagenet-camera.py"
"python3 imagenet-camera.py -- camera 0"
"./imagenet-camera" output:

[gstreamer] initialized gstreamer, version <IP_ADDRESS>
[gstreamer] gstCamera attempting to initialize with GST_SOURCE_NVARGUS, camera 0
[gstreamer] gstCamera pipeline string:
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 initialized with GST_SOURCE_NVARGUS, camera 0

imagenet-camera:  successfully initialized camera device
    width:  1280
   height:  720
    depth:  12 (bpp)

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

[TRT]   TensorRT version 5.0.6
[TRT]   loading NVIDIA plugins...
[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]   native precisions detected for GPU:  FP32, FP16
[TRT]   selecting fastest native precision for GPU:  FP16
[TRT]   attempting to open engine cache file networks/bvlc_googlenet.caffemodel.1.1.GPU.FP16.engine
[TRT]   cache file not found, profiling network model on device GPU
[TRT]   device GPU, loading networks/googlenet.prototxt networks/bvlc_googlenet.caffemodel
[TRT]   retrieved Output tensor "prob":  1000x1x1
[TRT]   retrieved Input tensor "data":  3x224x224
[TRT]   device GPU, configuring CUDA engine
[TRT]   device GPU, building FP16:  ON
[TRT]   device GPU, building INT8:  OFF
[TRT]   device GPU, building CUDA engine (this may take a few minutes the first time a network is loaded)
[TRT]   device GPU, completed building CUDA engine
[TRT]   network profiling complete, writing engine cache to networks/bvlc_googlenet.caffemodel.1.1.GPU.FP16.engine
[TRT]   device GPU, completed writing engine cache to networks/bvlc_googlenet.caffemodel.1.1.GPU.FP16.engine
[TRT]   device GPU, networks/bvlc_googlenet.caffemodel loaded
[TRT]   device GPU, CUDA engine context initialized with 2 bindings
[TRT]   binding -- index   0
               -- name    'data'
               -- type    FP32
               -- in/out  INPUT
               -- # dims  3
               -- dim #0  3 (CHANNEL)
               -- dim #1  224 (SPATIAL)
               -- dim #2  224 (SPATIAL)
[TRT]   binding -- index   1
               -- name    'prob'
               -- type    FP32
               -- in/out  OUTPUT
               -- # dims  3
               -- dim #0  1000 (CHANNEL)
               -- dim #1  1 (SPATIAL)
               -- dim #2  1 (SPATIAL)
[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
device GPU, networks/bvlc_googlenet.caffemodel initialized.
[TRT]   networks/bvlc_googlenet.caffemodel loaded
imageNet -- loaded 1000 class info entries
networks/bvlc_googlenet.caffemodel initialized.
[OpenGL] glDisplay -- X screen 0 resolution:  1920x1080
[OpenGL] glDisplay -- display device initialized
[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 msg new-clock ==> pipeline0
[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 stream status ENTER ==> src
[gstreamer] gstreamer msg stream-start ==> pipeline0

imagenet-camera:  camera open for streaming
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
Segmentation fault (core dumped)

Here is the python output:
jetson.inference.__init__.py
jetson.inference -- initializing Python 3.6 bindings...
jetson.inference -- registering module types...
jetson.inference -- done registering module types
jetson.inference -- done Python 3.6 binding initialization
jetson.utils.__init__.py
jetson.utils -- initializing Python 3.6 bindings...
jetson.utils -- registering module functions...
jetson.utils -- done registering module functions
jetson.utils -- registering module types...
jetson.utils -- done registering module types
jetson.utils -- done Python 3.6 binding initialization
jetson.inference -- PyTensorNet_New()
jetson.inference -- PyImageNet_Init()
jetson.inference -- imageNet loading build-in network 'googlenet'

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

[TRT]   TensorRT version 5.0.6
[TRT]   loading NVIDIA plugins...
[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]   native precisions detected for GPU:  FP32, FP16
[TRT]   selecting fastest native precision for GPU:  FP16
[TRT]   attempting to open engine cache file networks/bvlc_googlenet.caffemodel.1.1.GPU.FP16.engine
[TRT]   loading network profile from engine cache... networks/bvlc_googlenet.caffemodel.1.1.GPU.FP16.engine
[TRT]   device GPU, networks/bvlc_googlenet.caffemodel loaded
[TRT]   device GPU, CUDA engine context initialized with 2 bindings
[TRT]   binding -- index   0
               -- name    'data'
               -- type    FP32
               -- in/out  INPUT
               -- # dims  3
               -- dim #0  3 (CHANNEL)
               -- dim #1  224 (SPATIAL)
               -- dim #2  224 (SPATIAL)
[TRT]   binding -- index   1
               -- name    'prob'
               -- type    FP32
               -- in/out  OUTPUT
               -- # dims  3
               -- dim #0  1000 (CHANNEL)
               -- dim #1  1 (SPATIAL)
               -- dim #2  1 (SPATIAL)
[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
device GPU, networks/bvlc_googlenet.caffemodel initialized.
[TRT]   networks/bvlc_googlenet.caffemodel loaded
imageNet -- loaded 1000 class info entries
networks/bvlc_googlenet.caffemodel initialized.
jetson.utils -- PyFont_New()
jetson.utils -- PyFont_Init()
jetson.utils -- PyCamera_New()
jetson.utils -- PyCamera_Init()
[gstreamer] initialized gstreamer, version <IP_ADDRESS>
[gstreamer] gstCamera attempting to initialize with GST_SOURCE_NVARGUS, camera 0
[gstreamer] gstCamera pipeline string:
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 initialized with GST_SOURCE_NVARGUS, camera 0
jetson.utils -- PyDisplay_New()
jetson.utils -- PyDisplay_Init()
[OpenGL] glDisplay -- X screen 0 resolution:  1920x1080
[OpenGL] glDisplay -- display device initialized
[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 stream status ENTER ==> src
[gstreamer] gstreamer msg new-clock ==> pipeline0
[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 msg stream-start ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvarguscamerasrc0
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
Segmentation fault (core dumped)

Solved it,
--camera argument has to be the full video path (./imagenet-camera --camera /dev/video0) instead of just './imagenet --camera 0'.
Just integer argument index csi inputs appereantly. Could be documented better.


Provide (or document) a mechanism to specify a deployment variable value

I want to be able to specify a variable value when deploying kubecf, e.g.
bosh deploy ... -v cf-admin-password=cant-guess-this

I assumed that there is a mechanism already, as the main point of using variables is to make it easier for users to configure settings without having to write ops-files. Indeed often ops-files are provided upstream, that add additional variables to make their operations configurable by the user.
I'm aware that variables also provide a mechanism to generate default values for password/keys/certs at deployment time, but those are meant as defaults when the user doesn't explicitly specify a value.
I haven't thought about the best way to implement this, but assume it would be something like a var-file section that can be added to a deployment request.

@jandubois you can already provide a non-generated value by creating the variable's secret yourself.
https://github.com/cloudfoundry-incubator/cf-operator/blob/master/README.md#variables
https://github.com/cloudfoundry-incubator/cf-operator/blob/master/docs/from_bosh_to_kube.md#manual-implicit-variables

please reopen if there's something still missing

I think there are several issues with the current mechanism:
All variables have to be pre-defined in the helm chart
Assume you want to explicitly specify ((pxc_tls.ca)). There is currently no way to do this via overriding something in values.yaml; you have to add a file to the chart template directory to do so, which feels very wrong to do for an end user.
The only way to avoid this would be to explicitly templatize the deployment manifest where the variable is used. And we would have to do this for all variables, introduced by any ops file. This is a lot of extra effort, and still does not allow for custom ops-files to add variables on the fly.
It would be so much simpler to have a mechanism in values.yaml to set
variables:
  pxc_tls.ca: "..."

This requires no custom work in the kubecf chart and makes all variables overridable by default. It is just a one-time modification to pass this block somehow to the operator.
The logic in the operator should be rather simple: any time an explicit value is provided, it overwrites the generated one. Or maybe it doesn't change the generation at all, and this block is just passed on to the template expanders, which will prefer the user values and only query the generated secrets when the user didn't provide a value.
Replacing a generated value with a user provided one
Assuming the user has already deployed kubecf with default (generated) values, but wants to upgrade to provide the CA value explicitly. Helm cannot create the secret now because it already exists, and is not owned by this release. So it needs some active mechanism to delete the secret first, but only if it exists. This does not fit the helm deployment model.
Exposing the variable implementation to the end user
The internal field name for variables depends on the type of the variable. Implicit variables are stored in data.value, passwords in data.password etc. So unless the kubecf chart maintains a list of all variables and their type, the user will have to specify in which field to store them. This is exposing an operator implementation detail to the end user.
Example
When I look at the implementation of support for an external blobstore (cloudfoundry-incubator/kubecf#608), I see a ton of changes made to kubecf. I would expect to be able to configure this as an end-user without requiring explicit support from kubecf at all (beyond bundling the upstream ops files):
Conceptually (and simplified) all that should be needed in values.yaml is:
operations:
  use-external-blobstore.yml
  use-s3-blobstore.yml

variables:
  blobstore_access_key_id: ...
  blobstore_secret_access_key: ...
  aws_region: ...

The variables are already the templating mechanism for ops-files; there should be no need to wrap yet another helm templating mechanism around it. Adding it to helm adds a big maintenance burden to keep it up-to-date, and doesn't allow the flexibility to provide custom ops files with new variables after the chart has already been released.

The support for external databases in cloudfoundry-incubator/kubecf#162 is another example that should be much simpler by using the https://github.com/cloudfoundry/cf-deployment/blob/master/operations/use-external-dbs.yml ops file plus a block of variable settings.
I'm kind of dismayed to see us introduce a one-to-one mapping between our own "structured" variable names to bosh "flat" variable names; that layer just adds maintenance and documentation burden, and I can see very little advantage in doing this, neither for us nor for the end user.

Another usage example that came up in discussion today: When importing a database dump from SCF into kubecf, where SCF has never done an encryption key rotation, we currently need something like this in values.yaml:
properties:
  api:
    cloud_controller_ng:
      cc:
        db_encryption_key: "secret_value"
  cc-worker:
    cloud_controller_worker:
      cc:
        db_encryption_key: "secret_value"
  scheduler:
    cc_deployment_updater:
      cc:
        db_encryption_key: "secret_value"
    cloud_controller_clock:
      cc:
        db_encryption_key: "secret_value"

@f0rmiga optimized this to:
properties:
  api:
    cloud_controller_ng: &cc_encryption
      cc:
        db_encryption_key: "secret_value"
  cc-worker:
    cloud_controller_worker: *cc_encryption
  scheduler:
    cc_deployment_updater: *cc_encryption
    cloud_controller_clock: *cc_encryption

But if we could set variable values from values.yaml, then all you would need would be:
variables:
  cc_db_encryption_key: "secret_value"

because db_encryption_key is implemented in the cf-deployment manifest in all 4 places as:
...
  properties:
    cc:
      db_encryption_key: "((cc_db_encryption_key))"


Create pg.txt

Created pg.txt  for the domain<EMAIL_ADDRESS>

@gitese Pull request merged. Thank you!


Visual Studio 2022 support

AnkhSVN should support Visual Studio 2022.

Does it support Visual Studio 2022?

There are test packages available below 'Actions'. It is not published to the Microsoft store yet.

Noticed that under action, there is a build called "Ankh-VSIX-2019-only" but it also finds vs2015 when run.

Waiting for the VS 2022

Also waiting for the extension VS 2022

I'm trying this on VS 2022 built locally from source - seems to work mostly fine 👍 , though I noticed the Select/Deselect All functionality on the Pending Commits view appears to be broken. Maybe you could look into it? (Should I open a separate issue for this? Not sure I did everything correctly when building locally 🤔)

I have installed the latest pakage for Visual Studio 2022 (Ankh.Package.vsix
https://github.com/AmpScm/AnkhSVN/releases/tag/v2.9.87 )
But there are no Plugin that i can choose in Visual Studio Settings->SourceControl.
What i do wrong?

@sslfto I used the latest Ankh-VSIX-2022 from https://github.com/AmpScm/AnkhSVN/actions/runs/1454586206 and for me AnkhSVN is shown in Current source control plug-in in Visual Studio 2022:

Hi team, Any updates on this? I'm  waiting for the extension VS 2022

@sslfto I used the latest Ankh-VSIX-2022 from https://github.com/AmpScm/AnkhSVN/actions/runs/1454586206 and for me AnkhSVN is shown in "Current source control plug-in" in Visual Studio 2022:

Hi @alexandruchirita4192 , Thanks for the link. I have testet this vsix extension. My Visual Studio is a German Professionell Edition. After install the package i can see nothing in the source-control section.

Any ideas? Is there a log-file during loading the extension's?

Hi Bert,
why isn't the release 2.9.87 in the Visual Studio Marketplace?
That is where most user's are going to look.
Phil

@sslfto I used the latest Ankh-VSIX-2022 from https://github.com/AmpScm/AnkhSVN/actions/runs/1454586206 and for me AnkhSVN is shown in "Current source control plug-in" in Visual Studio 2022:

I have used the newest Build, now it work's. Thanks!

Hi Team,
Any news on the official availability for VS2022 in the marketplace?

Hello,
Since VS 2022 17.2.3 I get following exception

Already sent an erro report. Anyone else discoverng this issue?

Hi Bjoern
I get exactly the same thing. Have you found any solution yet?
Charles

Hi,
I didn’t investigated it further, no idea. I’m sorry
Kind regards
Björn Engelke

Am 16.06.2022 um 11:53 schrieb cklaw @.***>:

Hi Bjoern
I get exactly the same thing. Have you found any solution yet?
Charles
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

I get exactly the same thing. Have you found any solution yet?

I think a fix for this was already checked in a while ago, but for some reason they're reluctant to actually push these to marketplace.
You can either try to build the package from source yourself (which is what I do), or apparently extract the .vsix file from the automated build artifacts available under the "Actions" menu on top. Here's a link to one of the latest ones: https://github.com/AmpScm/AnkhSVN/suites/6340673262/artifacts/228431261. Just run the .vsix file directly - it will launch the VS extension installer.

not work for 17.3.3

Hello, Since VS 2022 17.2.3 I get following exception

Already sent an erro report. Anyone else discoverng this issue?

A little late for this, but in my case I got the same error because I have previously installed then uninstalled VisualSVN plugin. It leaves information both in the solution and in the project files that makes visual studio throw this error.
Delete this section from the .sln file:
	GlobalSection(SubversionScc) = preSolution
		Svn-Managed = True
	EndGlobalSection

And delete these tags from .prj files:
    <SccProjectName>Svn</SccProjectName>
    <SccLocalPath>Svn</SccLocalPath>
    <SccAuxPath>Svn</SccAuxPath>
    <SccProvider>SubversionScc</SccProvider>

@seayxu @fdelvalle7 Can you try out the installer from https://github.com/ARMoir/AnkhSVN/actions/runs/4586690041 and confirm if this resolves your issue? Just make sure that your Visual Studio is fully updated before proceeding.

Maybe I'm being a bit blind, but I can't find a link to download an installer (probably .vsix) on that page.
Can you provide a download link?

It would be wonderful if you could promote a recent build from an action to the Releases in this project.  Currently the last build from main (https://github.com/AmpScm/AnkhSVN/actions/runs/6112708622) was ~3 months ago and the artifacts have expired from it. I'm sure the build from a recent dependabot branch is fine, but it's not obvious from the actions page what the best build to use is. (Sorry for resurrecting such an old issue)


Bash completions don't appear to work when using with nix shell

Thanks for putting this together!

When I use a shell to access the foundry applications like so:
nix shell github:shazow/foundry.nix

The completions do not appear to work, despite other completions for programs like nix and git working nicely.
Running nix build github:shazow/foundry.nix and then tree result I can see that we do appear to install them:
$ tree result
result
├── bin
│   ├── anvil
│   ├── cast
│   ├── chisel
│   └── forge
└── share
    ├── bash-completion
    │   └── completions
    │       ├── anvil.bash
    │       ├── cast.bash
    │       └── forge.bash
    ├── fish
    │   └── vendor_completions.d
    │       ├── anvil.fish
    │       ├── cast.fish
    │       └── forge.fish
    └── zsh
        └── site-functions
            ├── _anvil
            ├── _cast
            └── _forge

So I'm not sure exactly why this isn't working for me :thinking: The only difference I can see when looking at nix completions is that the nix completions file does not use the .bash suffix:
└── share
    ├── bash-completion
    │   └── completions
    │       └── nix

But I doubt this is relevant, as I assume the existing completions must be working for someone, and many other pkgs in nixpkgs use installShellCompletion.
Any ideas appreciated :pray:

HMM, good question, I'm not sure. Seems like nix develop is not any better, either.
I appreciate you looking into this, I don't have time today to dive deeper here but would appreciate any fixes here. :)
cc @xiongchenyu6 who did the original PR to add these, in case you have ideas.


No way to distinguish between view panels that can be moved and those that can't

VSCode Version:
OS Version:

Some viewlet panels can be dragged out and placed in other panels. Some panels cannot. However, there is no way to distinguish between these other than trying to drag and drop and seeing if the action completes.

This experienced seemed to be everybody's preference as opposed to having feedback that shows up far away from the dragged object. We don't show feedback if the action will not complete.

There is feedback showing that the editor area is not a valid drop target (see the 'no entry' icon that appears when dragging over the editor). Can't we do the same when dragging over other UI that is also not a valid target?

fair. we can add that feedback for non-macOS. the editor feedback does not exist on macOS either. this still does not indicate to the user until they drag the item all the way from the activity bar to the panel however, so not sure if it addresses all your concerns or if it is sufficient

Thanks, I think this would be a good improvement.

To Verify (On Windows/Linux):

Try to drag the extensions viewlet icon to the panel
Ensure that the forbidden cursor icon appears

Looks good!


Not published to NPM registry?

When trying to install using NPM it seems to fail:
npm install typeahead.js-bootstrap-css --save-dev
npm ERR! 404 Registry returned 404 for GET on https://registry.npmjs.org/typeahead.js-bootstrap-css
npm ERR! 404
npm ERR! 404 'typeahead.js-bootstrap-css' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)

You seem to have plenty of other packages registered: https://www.npmjs.com/~bassjobsen. Did you not publish on purpose?

published!

Great, just tested it and can confirm it works:
npm install typeahead.js-bootstrap-css --save-dev
<EMAIL_ADDRESS>/Users/username/workspace/project
└──<EMAIL_ADDRESS>(git+https://github.com/bassjobsen/typeahead.js-bootstrap-css.git#e27e1be268995917b78df6a4864cde71288ef194)

Thanks for the swift response :+1:


fix: authprovider error message when a user is not found in the auth.…

…Manager

When a users wants to login and this fails and the log holds unknown client id the last thing you assume is that the user is unknown. This is the intent of this change.
unknown client id or user might be better? And leaving the parameter unchanged in the logger ...


Tag 1.1.1 release

Hello,
Could you please create a new tag 1.1.1 for the new changes so I can download it via composer?
Thanks

@ip2location Thank you for the new tag release


Csv to json script

Description
A script to convert a csv file into json using ptrhon.
Fixed #301
Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have created a helpful and easy to understand README.md
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added screenshots(if any) that prove my fix is effective or that my feature works

Hello Sir,
Myself Moiz, currently a 2nd year undergrad from Mumbai. I am a python developer, seeking for opportunities. Talking about my projects, they all are hosted on GitHub. I am also attaching my resume for you to look, please let me know if you have any opportunities for me.
Thank you for your time.
Moiz-Resume.pdf

Hey @TechBoyy6 i am not any recruiter or something.
I suggest u to create LinkedIn profile and get in touch with people from there. There are jobs listed in LinkedIn as well. You can check those out and apply for the suitable one..


Add feature to solidserver_dns_rr module - class parameters?

I'm trying to automate our provisioning of DNS records in EIP and so far the module works well in creating those records using terraform-provider-solidserver v1.1.17 (Thank you!). The challenge I have now is in terms of operation of existing DNS records created using EIP's WEBUI and new resource records provisioned using terraform.
Basically, I need to distinguish which DNS record is managed from terraform and which one is not to avoid any potential conflict in configuration where someone modified a record in WEBUI that is provisioned in terraform. In solidserver_ip_address module, I can easily do this using class parameters. However in solidserver_dns_rr module, there is no available attribute for this. I'm not sure if it is a limitation in DNS part, but is it possible to add a similar feature into this?

Hello @nobiac0922,
Actually SOLIDserver 8.0 introduce class_parameters on DNS RR(s).
However, I did not yet implemented support in the provider.
I will try to have a look as soon as possible, this is not a lot of work.
However, beware that DNS RR(s) can be dynamic, and that in some cases,
they can be deleted a then recreated without their class parameters (mostly
when using DNS Update requests, for instance when MS clients connect to a domain).
Let me know if that would be an applicable option in your case so I can prioritize accordingly.
Kind regards

Thank you @alexissavin for your prompt response. This is a definitely an applicable case for us to have class parameters option in solidserver_dns_rr. And yes we are already running version 8.0.
In terms of dynamic DNS RR(s), we will probably won't managed them through Terraform and let the AD DNS to update those records automatically to avoid any potential conflict with Terraform state and changes outside terraform.
Just curious though, do you have an estimated timeline on when this feature will be available? and this not in any way to rush your team :) but it is more of project planning on my end. Thank you.

Hello,
Latest commit 3fec376720901def70d0f2cd0ec3f55037970b25 embeds update for SDKv2 and as well as support for RR class parameters. You can give it a try from the master branch.
Kind regards

Hi Alexis,
I tested the latest commit and it works as expected. I initially tried to use "Select" class object in Class Studio for the class parameter that I added and I couldn't make it work, not sure if I'm doing it right though.. But using "Input" in class studio, works fine and meets our requirement. Do you know by any chance when the new terraform provider will be available in terraform registry?
Once again, thanks for your quick update on this and I really appreciate your help!

Hello,
Glad to read it provide you a suitable option.
I'm still working on the migration the SDKv2.
Will most likely publish a new version in the coming month.
Possibly a major release, some changes might not be compatible (To be further investigated/tested).
Kind regards

Hi there, just want to check if there any update on this?

Released in version v1.1.18


clion and pycharm debuggers can't find libtorch_cpu.so

I would like to be able to debug a crate using tch-rs in pycharm or clion, but I'm hitting:
"error while loading shared libraries: libtorch_cpu.so"
More details at:
https://youtrack.jetbrains.com/issue/CPP-26265
I'm not sure if this is purely an IDE issue, or if tch-rs's doing something ~really non-standard in its build, but as the crate author you might have some insight.
The build binary ~does run fine with "cargo run".
Thanks!

Sorry I wouldn't really know on this as I'm not using clion, the libraries are found via some rpath set up, maybe just setting your LD_LIBRARY_PATH (if on linux) to include the directory that contains libtorch_cpu.so would help.

I ran into the same issue with CLion, but was able to fix it by adding LIBTORCH and LD_LIBRARY_PATH as environment variables  in my run/debug configurations. See the following image.

Closing this as it has been a while, feel free to re-open if there are still some issues.


Git-control GUI from Atom GUI

I dont know how can load the git-control GUI from Atom GUI, help me please


EXAMPLE Lora training and EXAMPLE lora

HI!

Please put EXAMPLE Lora training with dataset and EXAMPLE lora using it. Thanx a lot.
Will it train only lora with train.py?
Whats the size of lora and how much epochs to train?
How much GPU VRAM it needs?

Also can we get two .wav previews with the same seed, one without the lora and one with the lora.

Hi there,

Please put EXAMPLE Lora training with dataset and EXAMPLE lora using it. Thanx a lot.

 As for the dataset preparation, I would defer to the examples in stable-audio-tools for the time being. I'll add some links to those.

Will it train only lora with train.py?

train.py has all the same functionality as train.py in stable-audio-tools. Adding the --use-lora argument will instruct it to freeze the base model and train lora weights only.

What's the size of lora and how much epochs to train?

I'm still figuring out the best hyperparameters to use. With Stable Audio Open, a rank 16 lora is ~59 MB and a rank 128 lora is ~472 MB. With a batch size of 32 and sample length of 10s, I am getting good results in several-thousand steps range (a few hours on my setup)

How much GPU VRAM it needs?

I am fine-tuning Stable Audio Open with a batch size of 32 and a sample length of 10 seconds. On a 4070 ti super in Windows 11, it is taking a bit less that 10GB for rank 16 and 13GB for rank 128. It may be more efficient on linux -- I was getting less than 8GB while experimenting with rank 16 on Colab.

Seems to be working, first is before training, second is with lora applied to the same seed and prompt, interesting results, on an Nvidia 3080 10GB (2 batch but will do single batch going forward as I can't tell if it's helping)
https://github.com/NeuralNotW0rk/LoRAW/assets/8894763/e03f6d88-cba9-4752-8183-14daf0031d22
https://github.com/NeuralNotW0rk/LoRAW/assets/8894763/26a3818d-aefc-4718-815c-52075d238648

Any new about examples?

Any new about examples?

I think I can share some audio examples in my next commit. In your original question are you asking for an actual dataset and a lora checkpoint?

Any new about examples?

I think I can share some audio examples in my next commit. In your original question are you asking for an actual dataset and a lora checkpoint?

The sticking point in the README is this line:
https://github.com/NeuralNotW0rk/LoRAW/blob/main/README.md?plain=1#L21
I have tried the configs here with the Stable Audio Open 1.0 checkpoint as the starting point with the command:
python ./train.py  --dataset-config ./datasets.json --model-config ./lorawfinetune-config.json --pretrained-ckpt-path ./stable-audio-open-1.0/model.ckpt --use-lora true

But it fails to run entirely in this repo. In the main repo the finetuned model returns noise when using laion_clap checkpoint.

The config in https://github.com/NeuralNotW0rk/LoRAW/blob/main/examples/model_config.json is what I use with Stable Audio Open. You should be able to add a "lora" section to the end of any model config. // ... args, model, training, etc. ... was meant as a placeholder to represent the rest of the model_config, but if it is confusing, I could just point the reader to the full example config instead.

Ah yes, it wasn't originally clear which config was used to me to train stable audio open but I actually found the model_config.json file on hugging face independently just now!

What is the maximum length recommended for each wav in the data?


Add support for retrieving enriched activities by ID

Allow users to specify whether activities retrieved by ID should be enriched:
STREAM_CLIENT.get_activities(ids: [...], enrich: true)

Is there any way to make that call using the client?

That's alternative solution I've got
signature = Stream::Signer.create_jwt_token('activities', '*', '`your secret`', '*')

curl -i --request GET \
-H "Content-Type: application/json" \
-H "Stream-Auth-Type: jwt" \
-H "Authorization: `signature`" \
"https://us-east-api.stream-io-api.com/api/v1.0/enrich/activities/?api_key=`your_api_key`&withReactionCounts=true"


Error downloading PDB mmCIF

When I run the scripts/download_all_data.sh to download the databases I get the error:

Downloading PDB mmCIF files...
Running rsync to fetch all mmCIF files (note that the rsync progress estimate might be inaccurate)...
rsync: failed to connect to rsync.rcsb.org (<IP_ADDRESS>): Connection timed out (110)
rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2]

Same issue here ! Maybe servers are overloaded ?

You are probably in a network where FTP is blocked. Check with your IT dep.

I believe the URL has changed.  I see http and ftp but the rsync option doesn't seem to be available.

I ran the same script (ran from a GPFS ) which worked fine but mmCIF took about 5.5 days. Going from 98-100% tool nearly 4 days

got the same problem. any available mirrors?

alright i think this may work:
use ftp client to the link:
ftp://rsync.rcsb.org/pub/pdb/data/structures/divided/
clone the subfolder mmCIF to the exactly same dir used by the download script.
just remember comment the rsync line

I believe the URL has changed. I see http and ftp but the rsync option doesn't seem to be available.

Solved - It was Firewall problem. port opened and I was able to download the database

Any updates on speeding up this download.  Currently downloading at 300kB/s.  Taking a very long time?

Any updates on speeding up this download. Currently downloading at 300kB/s. Taking a very long time?

Use PDBj archive instead.
rsync --recursive --links --perms --times --compress --info=progress2 --delete data.pdbj.org::ftp_data/structures/divided/mmCIF/ "${RAW_DIR}"

Use PDBj archive instead. rsync --recursive --links --perms --times --compress --info=progress2 --delete data.pdbj.org::ftp_data/structures/divided/mmCIF/ "${RAW_DIR}"

This gives me
> rsync --recursive --links --perms --times --compress --info=progress2 --delete \
  data.pdbj.org::ftp_data ./download
@ERROR: Unknown module 'ftp_data'
rsync error: error starting client-server protocol (code 5) at main.c(1666) [Receiver=3.1.2]

But the pdbjsnap.protein.osaka-u.ac.jp snapshots server was much faster for me than the snapshotrsync.rcsb.org server (for downloading snapshots obviously)

Well i believe the downloading speed depends on multiple factors like where server locates, the bandwidth and the maximum number of occurrences. Also some anonymous mirrors may work better then the officials.
for self-hosted PDB mmcif weekly mirror against the official, you may check out this scriptthis link. Although it has not been seriously tested from top to bottom, the workflow works very well and may help.


Add esm module entry point to package

Issue #15
Change main to module in package.json to provide an esm module entry point into the package.
There's only one format (esm) for the output generated by rollup so I didn't keep both main and module properties.

Thinking about this some more and we could generate a cjs output as well and set that to main? Depends how you want to approach this. Do you see anyone wanting to use this with node and using require to import it?

This looks great! Thank you so much! Yeah, I definitely agree we should allow importing it via require(). I know its rather old-school, but I think there may be a lot of consumers who may still need to consume the library in such a way. Do you mind updating rollup to produce a commonjs output as well and adding it to main?

Agree. I'll get that sorted.

This has been released in latest version 0.8.0!

Nice one, thanks @mkay581 !
Thanks for this component, it's great.


New Print Feature

I added a print function in the Save menu. In addition, I improved the design for the tabs a bit.

I made three different PRs for the new functions so that they can be seen better in the automatic summary when a new release is made. But so that there are no overlaps, I can merge it myself after your review.
The latest version with ALL the news is here: #22

Actually, the print-to-PDF function already worked for me...


Update .travis.yml

Removed unused versions of php

Merged. Thanks!

Does it mean that support for PHP 5.6 would be dropped in v3.0?

Yes.


Don't use -isystem for non-system include folders (by default)

I found that include-what-you-use (and who knows what else, since IWYU itself relies on clang's built-in judgement) relies on -isystem to indicate which include directives are for system includes, so using -isystem for every include directory results in it spamming angled brackets all-over the place.
By default, we will use -isystem for platform include directories and -I for project-specific additional include directories. While the effect angle brackets and double quotes have on include paths is essentially implementation defined, this default should mimic the overwhelming convention and corresponding behavior in MSVC/clang/gcc.
Because there are some projects that mandate exclusive use of angle brackets for everything, a checkbox is available to enable the old behavior.

Made sure to add a test and tooltip/help as well.

Thank you for your work on this. Did you test this approach in combination with IWYU on some real world project?

@mlangkabel Yes. A real-world (very large) test case is what prompted this.

That sounds great! Unfortunately we cannot release a new version of the extension that includes this pull request right now, because Sourcetrail requires the compilation database to use -isystem flags. So including this pull request in a release would break the Sourcetrail compatibility of the extension.
And here comes the good news: We have scheduled a new release of Sourcetrail for week after the next! So we can update the compilation database compatibility of Sourcetrail for that release and merge this pull request afterwards.
I'll review your changes as soon as possible!

As long as it gets there eventually!
It might be neat (or necessary, depending on how far you want to go to support weird configurations out-of-the-box) to find a way to run files through clang's preprocessor so you can make sure includes get resolved. Maybe even resolve them with the most restrictive rules you can (e.g. using -iquote sometimes instead of -I).
-isystem should probably find something 100% of the time, but it might find the wrong thing if you have a project header with the same filename as a system header.

I thought about this, too, but unning clang's preprocessor would take time and would slow down generating the compilation database a lot. So I don't think that this would be a feasible solution ;)
Visual Studio doesn't care if you use quotes or angle brackets for your include directives or if you specify your header search paths as includes or as aditional includes, So I think that most Visual Studio users won't know/care, too.
Therefore I think that it would be better if we'd make it the default behavior of the extension to use -isystem for all include paths while providing the option to opt out of this for more experienced users. So, what do you think about turning this checkbox on by default?
Furthermore I think we should change the checkbox' label to "Non-system Includes May Use Angle Brackets". This tells the user that they don't have to use angle brackets for all the non-system includes.

Visual Studio doesn't care if you use quotes or angle brackets for your include directives or if you specify your header search paths as includes or as additional includes, So I think that most Visual Studio users won't know/care, too.

Actually, there is a difference in behavior for quotes and angle brackets.
I'd probably be OK changing the default. The real problem is using clang tools that care about the difference between them, so as long as there's an option I think it's fine.

Thanks for providing that link! So the actual difference between including with quotes and including with angle brackets is that the compiler would search parent (and grandparent, etc.) directories of the file using the include directive if the directive uses quotes.
I'll merge your pull request now and change the default value for the added option in an additional commit.


SAK-32584 Entity broker configurable so props updateable by non-admin…

… users.

could somebody review this?

I have made most of the changes you suggested.  I didn't change the default as I thought other Sakai users wouldn't want this feature turned on automatically.

Personally I thik the default should be changed.
From: Rebecca Miller<EMAIL_ADDRESS>Sent: 26 June 2017 12:56
To: sakaiproject/sakai<EMAIL_ADDRESS>Cc: Adam Marshall<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [sakaiproject/sakai] SAK-32584 Entity broker configurable so props updateable by non-admin… (#4464)
I have made most of the changes you suggested. I didn't change the default as I thought other Sakai users wouldn't want this feature turned on automatically.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/sakaiproject/sakai/pull/4464#issuecomment-311038400, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACXZIAyjVnJ8-Zi9jl1ItS1fseBO9CYdks5sH5xNgaJpZM4NsqvW.

Defaults set as requested.


[Bug]: SyntaxError with file in node_module Unexpected token, expected "," (4:7), ...

Mapbox Implementation
Mapbox
Mapbox Version
default
Platform
iOS
@rnmapbox/maps version
10.0.0-beta.57 and older
Standalone component to reproduce
import React from 'react';
import {
  MapView,
  ShapeSource,
  LineLayer,
  Camera,
} from '@rnmapbox/maps';

const aLine = {
  type: 'LineString',
  coordinates: [
    [-74.00597, 40.71427],
    [-74.00697, 40.71527],
  ],
};

class BugReportExample extends React.Component {
  render() {
    return (
      <MapView style={{flex: 1}}>
        <Camera centerCoordinate={[-74.00597, 40.71427]} zoomLevel={14} />
        <ShapeSource id="idStreetLayer" shape={aLine}>
          <LineLayer id="idStreetLayer" />
        </ShapeSource>
      </MapView>
    );
  }
}

Observed behavior and steps to reproduce
No response
Expected behavior
No response
Notes / preliminary analysis
No response
Additional links and references

OS: Macbook pro M1 2021
React native: 0.68.2
NOTE: Our app still use JS code and function component.
Please help here and feel free to request anything help reslove this issues.

Do I understand right, your own Code is Vanilla JS, no TypeScript?
If this occurs with TypeScrip try updating to the newest version.

Hi @KiwiKilian ,
My ower app was react-native with javascript and upgrade to version 0.68.2. Not implement TypeScript. So when i integrate and run react-native run-ios and show that error. Even install typescript, it still error.
 That would help with testing and finding the problems in the new setup...

I do this step same as docs:

Set up the account and get key pk.xxx and sk.xxx to prepare install lib.
I upadte podfile same as mention in this link.
run yarn add @rnmapbox/maps#main && cd ios && pod install --repo-update && cd .. or  yarn add @rnmapbox/maps#main && cd ios && pod install && cd .. then react-native run-ios --simulator iPhone\ 14\ Pro\ Max and success but when run in simulator it return error as i send screenshot above.

Can I help anything such as  pod file or something like that can help your guys test and debug this?
Thanks

As mentioned before, optimal would be a minimal reproducable example (complete RN setup, just without your secrets...) in a repository, which can be cloned and the error is reproducable.

I have a few problems with typescript as well.
1. Using const enum
In my tsconfig is "isolatedModules": true which is not compatible with const enums. See: https://www.typescriptlang.org/tsconfig#references-to-const-enum-members. I don't know what is a reason of using const enum in the codebase, but we should maybe consider removing that. https://github.com/rnmapbox/maps/blob/e7121889255463f4dfeb01dc1cd43b8d0f622a6f/javascript/components/Camera.tsx#L17
2. Using inline types
These inline types (such as import { type Something } from ‘somewhere’) seem to be not supported by RN metro yet.
You can see babel add support in this version - 7.16.0 Released: ESLint 8 and TypeScript 4.5 · Babel. But the latest metro is on 7.14 (metro/package.json at v0.73.4 · facebook/metro · GitHub)
At least I am not getting babel version higher than 7.16.
If I change imports to import type { Something } from ‘.... it works fine. I also managed to solve it by adding @babel/core: ^7.x.x to resolutions in pacakge.json.
3. This one React.PureComponent,
I am getting this one as well. But not sure why yet.

I have a few problems with typescript as well.
1. Using const enum
In my tsconfig is "isolatedModules": true which is not compatible with const enums. See: https://www.typescriptlang.org/tsconfig#references-to-const-enum-members. I don't know what is a reason of using const enum in the codebase, but we should maybe consider removing that.
https://github.com/rnmapbox/maps/blob/e7121889255463f4dfeb01dc1cd43b8d0f622a6f/javascript/components/Camera.tsx#L17

Thanks for looking into it. I don't think that const enum is a must have for us. Pls submit a PR.

Here you have it 👍 Thanks for maintaining this repo 🙏 https://github.com/rnmapbox/maps/pull/2438

Hi @xotahal ,
Thanks for your support here, but when i change package babel/core without ^ and it show new error @@. I think it related to version RN i have upgrade. From 0.64.2 to 0.68.2.

Try to change it to ^7.x.x. And make sure you getting all versions higher than 7.16. You can check this by running yarn why @babel/core. Many packages fetches the @babel/core. Also run yarn dedupe to get rid of versions you don't need. Hope it helps ;)

Hi @xotahal ,
Thanks for support me. I have downgrade to version ^8.5.0 and it working now @@.

Chiming in, as we were facing similar SyntaxErrors when bundling for iOS and Android with the following babel > 7x-x.x dependencies and babel.config:
package.json
    "@rnmapbox/maps": "10.0.0-beta.59",
    ...
    "react-native": "0.68.5",
    ...
    "@babel/core": "7.12.9",
    "@babel/plugin-transform-react-jsx": "^7.19.0",
    "@babel/runtime": "7.12.5",
    ...
  "metro-react-native-babel-preset": "0.67.0",
   ...

presets in babel.config:
module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
  ...
};

Error examples:

What was evidently missing was to add @babel/preset-typescript to the dependencies and to the presets in babel.config as done in the rn-mapbox/example with this commit:
Our presets in babel.config now:
module.exports = {
  presets: [
    '@babel/preset-typescript',
    'module:metro-react-native-babel-preset',
  ],
  ...
};

And the relevant package.json (other versions also as in rn-mapbox/example):
    "@rnmapbox/maps": "10.0.0-beta.59",
    ...
    "react-native": "0.68.5",
    ...
    "@babel/core": "7.19.1",
    "@babel/plugin-transform-react-jsx": "^7.19.0",
    "@babel/preset-typescript": "^7.12.17",
    "@babel/runtime": "7.12.5",
    ...
    "metro-react-native-babel-preset": "0.71.1",
   ...

✅  no more SyntaxErrors, the app now compiles on iOS and Android


Process hangs on the call to PowerRegisterSuspendResumeNotification on Windows

Version: 1.20.3
Platform: Windows 10 (x64) virtual machine
Environment: cmake launched from Jenkins, which runs as a system service

I'm using cmake and the process is hanging inside some code belonging to libuv: the uv__register_system_resume_callback function on the call to PowerRegisterSuspendResumeNotification.
The call stack is shown in the following screenshot from process explorer (note that the process had been stuck overnight for more than 10 hours at this point):

As shown in the following disassembly, the offset inside the cmake process corresponds to the uv__register_system_resume_callback function inside libuv:

The strange thing is that none of the documentation suggests that the PowerRegisterSuspendResumeNotification function should block, so I can't see why it's hanging. It seems to be stuck waiting on a mutex deep in the Kernel.

@bzoz Ideas? Looks like an OS bug at first glance.

Definitely looks like a bug in the OS.
@chris-t-w What is the exact windows version? What virtualization software are you running?

@bzoz

OS Version: 64-bit Microsoft Windows 10 Professional, version 10.0.17134
Installed Software:

Trend anti-virus (IT provided)
ManageEngine (IT provided)
Jenkins Slave Agent + Java
Visual Studio
CMake

Virtualization: Running on VMWare vSphere 6 Enterprise (ESXi 6.0.0 build-5224934)

I'm seeing this too, on 64-bit Windows 7 Professional, virtualized on KVM, with no power management features exposed in ACPI.

This could be an issue with the VM software. You can try to report there.

@bzoz unlikely — the only thing special about this being a VM is that it reports that there is neither S1 nor S4 support in ACPI, which would probably affect Windows power policies (so I've included this information), but wouldn't necessarily change anything about the notification setup.
There is another discussion over on the CMake bug tracker. To me it seems that a power management notification received from the OS attempts to acquire a lock in an unsafe way, causing a deadlock. As this appears on both Win7 and Win10, which have vastly different notification mechanisms, it is likely not an OS problem.

This issue is real, we see it in about 1 in 6 builds on Win10. Please fix libuv!

@kaloth are you 100% sure this is the real issue you are having? Can you get exact stack trace for the hangs? That would be the first instance, where it happened without any virtualization.
@GyrosGeier as in the linked thread - this syscall is not available on Windows 7, it cant hang there. If the syscall is not available, libuv does not try any other method of detecting system wakeup.

Since this only happend once on a VM I'm going to close this issue. Feel free to reopen the issue, if this manifests itself again.

We switched to using laptops instead of desktop machine at we started to experience this issue. I don't have very detailed stacktrace, only from the debug build of cmake:
 	ntdll.dll!00007ffe1fb70634()	Unknown
 	powrprof.dll!00007ffe1bb027c6()	Unknown
 	powrprof.dll!00007ffe1bb0255b()	Unknown
>	cmake.exe!uv__register_system_resume_callback() Line 35	C
 	cmake.exe!uv__once_inner(uv_once_s * guard, void(*)() callback) Line 53	C
 	cmake.exe!uv_loop_init(uv_loop_s * loop) Line 232	C
 	cmake.exe!uv_default_loop() Line 769	C
 	cmake.exe!cmSystemTools::InitializeLibUV() Line 826	C++
 	cmake.exe!main(int ac, const char * const * av) Line 703	C++
 	[Inline Frame] cmake.exe!invoke_main() Line 78	C++
 	cmake.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!00007ffe1db07974()	Unknown
 	ntdll.dll!00007ffe1fb3a271()	Unknown

We are using Windows Version 1909 (OS Build 17763.1518). I tried to get detailed stacktrace with Process Explorer, but it failed to show it unfortunately. If you can help me how to get detailed stacktrace, I am happy to do that.
If you need any more information, please let me know.

Is this in a VM? Is there any AV software running?

It is on physical machines without any virtualization. I hope AV means AntiVirus, in that case the default windows protection and TrendMicro OfficeScan .

Antivirus software has a tendency to do weird stuff with the OS. Could you try running CMake with the AV disabled?

I don't have permission to do that myself (company wide policies), but I will try to contact IT about it.
However my assumption is it is not connect to AV. I have worked with the same tools/workflow/AV/windows policies/etc on a desktop for months and it worked fine. Since I (and a few coworkers) switched to laptops, we experience this randomly hanging CMakes that boils down to this call.

It could be AV, eliminating it as a possibility will be helpful.
Anyway, the exact same code is used in Node, you can try running it and testing if this also happens there.
Oh, and you should be able to comment out that call that hangs in libuv. It is there to fix the timing of timers after the system is woken from sleep. You can probably safely remove it from CMake.

I just got answer from IT: it is possible to disable it, but it requires approval. I don't know how fast will it go, but I will definitely try it out without AV and get back, hopefully soon.
And thanks for the quickfix.

The common denominator seems to be Trend anti virus, but curiously we haven't seen this problem in over a year now. It isn't clear what changed.

I am still trying to figure out if it is possible and how, unfortunately it is not the easiest thing. I will get back to you in either way.

It is not possible to turn of the antivirus....
Is there anything else I can try to do?

You can remove the offending line from CMake and recompile it.
You can also push CMake to float a patch that will remove this from their libuv copy. It was discussed before https://gitlab.kitware.com/cmake/cmake/-/issues/18383, but it looks like they never removed it.


Centos7

Remove installation instructions for centOS 7

Related PR https://github.com/ome/omero-install/pull/288

Thanks for pointing that out.
If we treat as historical, we minimally need a warning
I will read it and see if adjusting makes more sense


Give Setup webview a single section

2/2 main <- #3440 <- this
Related to #3434.
This PR uses the shared component created in #3440 to give the Setup webview a single section.
Demo
https://user-images.githubusercontent.com/37993418/224225566-19dbce88-97f0-4286-b564-b044848e6a42.mov
Note: This looks odd now but there will be a section above for the walkthrough and one below for Studio. I will also condense the EmptyStates to EmptySections (isFullScreen=false)

Great work!

Note: This looks odd now but there will be a section above for the walkthrough and one below for Studio. I will also condense the EmptyStates to EmptySections (isFullScreen=false)

Why not we hold off adding the collapsible section until there is more than one?

That's the next PR. I was going to hold off merging this until it is ready.

Merged this because I thought it was a different branch. Will replace the PR 💢 😠!


heap: FibHeap test and benchmark

Codecov Report

Merging #61 into master will decrease coverage by 0.16%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##           master      #61      +/-   ##
==========================================
- Coverage   74.42%   74.26%   -0.17%
==========================================
  Files          20       20
  Lines         876      882       +6
==========================================
+ Hits          652      655       +3
- Misses        200      203       +3
  Partials       24       24

Impacted Files
Coverage Δ

heap/fibheap.go
96.7% <57.14%> (-3.3%)
:arrow_down:

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 8429115...4ba853a. Read the comment docs.