recursive alias of union type not working as expected

the issue
union type created using recursive alias doesn't work as intended (this code is copied directly from the alias page with 2 lines added at the bottom. with this configuration, i expected to be able to create an empty hash and then add another hash to it later, as long as the key was a string.
i have tried  transforming Json to a class and instantiating it where x is an instance variable instead (in case there was some namespace weirdness that i haven't learned about yet)
i have also tried explicitly naming Hash(String, Hash(String, String)).new and adding a String => String hash to the higher level hash, and that worked fine, which seems to rule out everything except the recursive alias. i am also wondering if this is an os specific thing, because i was only able to find one similar issue, which was already closed. the solution was provided by the user, and it didn't work for me either, but since there are so few instances of this complaint, it makes me think it is specific to my environment.
code
# copied from https://crystal-lang.org/docs/syntax_and_semantics/alias.html
module Json
  alias Type = Nil |
               Bool |
               Int64 |
               Float64 |
               String |
               Array(Type) |
               Hash(String, Type)
end

x = Hash(String, Json::Type).new
x["key"] = {"value" => "z"}

error
$ crystal build doc-test.cr
Error in doc-test.cr:13: instantiating 'Hash(String, Json::Type)#[]=(String, Hash(String, String))'

x["key"] = {"value" => "z"}
 ^

in /usr/local/Cellar/crystal-lang/0.21.0/src/hash.cr:43: instantiating 'insert_in_bucket(Int32, String, Hash(String, String))'

    entry = insert_in_bucket index, key, value
            ^~~~~~~~~~~~~~~~

in /usr/local/Cellar/crystal-lang/0.21.0/src/hash.cr:842: instantiating 'Hash::Entry(String, Json::Type)#value=(Hash(String, String))'

          entry.value = value
                ^~~~~

in /usr/local/Cellar/crystal-lang/0.21.0/src/hash.cr:881: expanding macro

    property value : V
    ^

in macro 'property' expanded macro: macro_4468492592:567, line 10:

   1.
   2.
   3.
   4.             @value : V
   5.
   6.             def value : V
   7.               @value
   8.             end
   9.
> 10.             def value=(@value : V)
  11.             end
  12.
  13.
  14.
  15.

instance variable '@value' of Hash::Entry(String, Json::Type) must be Json::Type, not Hash(String, String)

os info
$ system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: macOS 10.12.2 (16C67)
      Kernel Version: Darwin 16.3.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Computer Name: ****
      User Name: ****
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 38 days 5:18

version
$ crystal -v
Crystal 0.21.0 (2017-02-21)

question
i am a little confused as to the purpose of enforcing type restriction on hashes to begin with.
why should a hash not accept any type for keys/values, and then optionally restrict types?
e.g.
# no type restriction, can accept any type as a key or value
Hash.new

# Symbol => String style hash as it is currently
Hash(Symbol, String).new

# blank hash with no type restriction
{}

# Symbol => String style hash as it is currently
{} of Symbol => String

i'm not asking this as a feature request, just trying to understand the philosophy. i am finding the Hash class prohibitively restrictive and difficult to use, so i think i'm not using it correctly, and maybe you guys could lend me some insight?
Thanks,
gvtz

Maybe, the First reason is that the Type must be declared before you nest it into another type.
Even if it can worked, there would be endless recursion.
alias Type = Nil | Bool | Int64 | Float64 | String
alias OtherType = Array(Type) | Hash(String, Type)
But here we have another problem:
=> error:  ... ... ... must be (Bool | Nil | Hash(String, Bool | Nil)), not Hash(String, Bool)
(here alias Type = Nil | Bool)
For another example, Array(String | Int32) MUST have both of types:
["foo", 666, 0] # => works, we have Array(String | Int32)
["foo", "bar"] # => error, we have Array(Int32), not Array(String | Int32)
sorry for my english =|

Duplicate of #2587 and probably many others.
Read this

but #2587  doesn't deal with recursion at all.
the problem i have is with recursion in aliases. Hash is just how i discovered it, and not the actual problem itself.
recursive alias also fails with Array or any other collection type i've tried.
the code from this page doesn't work in my environment.
so is it a bug, or is the documentation out of date?

@galvertez What code doesn't work? I'll copy the snippets from the page you link:
Works:
alias PInt32 = Pointer(Int32)

ptr = PInt32.malloc(1) # : Pointer(Int32)

Works:
alias RecArray = Array(Int32) | Array(RecArray)

ary = [] of RecArray
ary.push [1, 2, 3]
ary.push ary
ary #=> [[1, 2, 3], [...]]

Works:
module Json
  alias Type = Nil |
               Bool |
               Int64 |
               Float64 |
               String |
               Array(Type) |
               Hash(String, Type)
end

The snippet that doesn't work is the one you submitted here, which isn't what the docs are saying. I'll copy it:
module Json
  alias Type = Nil |
               Bool |
               Int64 |
               Float64 |
               String |
               Array(Type) |
               Hash(String, Type)
end

x = Hash(String, Json::Type).new

# This line is wrong
x["key"] = {"value" => "z"}

# Use this
x["key"] = {"value" => "z"} of String => Json::Type

This is not a bug, that's how the language works.

@galvertez Checkout any_hash.cr. I've created it out of my frustrations with recursive hashes and type casting - maybe you'll find some inspiration ;)

@asterite my mistake... not totally sure how that got by me.
@CaptainPhilipp i see now, that makes sense. and your english is fine :)
@Sija thanks, i will check it out. i was going to start working on something like that for myself because of general confusion surrounding the stdlib offering.

@galvertez I'd suggest you learn how crystal hashes work and why they don't accept any type before trying any_hash.cr. Crystal is a strongly-typed language, which means the compiler has to know the type of every variable in the program. If you could put any type into a Hash object, the compiler wouldn't be able to tell the type of the variable when you retrieved an object from it. The huge advantage of the compiler knowing the type of every variable is that it can enforce that there will be no runtime errors from using the variable. When you use any_hash.cr you're converting a compile-time error into a runtime error, which has obvious downsides.
Hashes in Ruby are used as a general data storage container, in Crystal you'd either use a class, or use a named tuple if you want something quick and ugly. If you want some tips on how to solve problems "the crystal way" ask in gitter or IRC, you'll get much further than trying to think "in ruby".

@RX14 sometimes you'd just want exactly that - flexible container for the types you know you're going to handle - JSON::Any came out such frustration, any_hash.cr is another example.

@Sija JSON::Any exists to minimise the impedance mismatch between JSON, which is dynamically typed, and Crystal which is statically typed. If you're using any_hash to wrap "dynamically typed" data which perhaps was emitted by a dynamically typed language then that's a good usecase. However - just as with JSON::Any - you should convert that data into a structure which the crystal compiler can more easilly understand as soon as possible to get the best from Crystal.
If you're storing some data in a container, that's only useful if you're going to retrieve the data from the container and do some processing with it. To process the data, you have to use it, and to use it you have to call methods on it, and to do that you have to know what type(s) it is. There's very little you can do with just Object. If you take that knowledge of what the types are and encode that in the type system you're going to be better off.
There are three possible scenarios I can think of:

Every key in the hash is the same type, or could contain one of several types but you can't tell which from the key. Solution: use Hash(KeyType, ValueType).
You know some keys contain type(s) a, and some keys contain type(s) b. Solution: use 2 hashes, choose which one to use depending on which type of key you're querying.
You know exactly which keys contain which types. This means you know exactly how many keys there are beforehand, and can enumerate them. Solution: use a class/struct/Tuple/NamedTuple. Regarding NamedTuple being immutable, why not just use a class?

That's a very sound theory regarding IMO almost any other use case than storing arbitrary user data where the only thing you know is type of the key and union of value types - like a typical JSON-related scenario :)

@Sija If you store arbitrary data then how can you process it? I pretty much agree 100% with @RX14 here.

@asterite It's mostly for keeping around (for sending later), not much of a processing although that's not an issue - see raven.cr data sanitization processor for example.
I'd love to do it with just stdlib but there's no flexible way I've found to achieve that.
So I wrote a shard, yikes...

@Sija Wow, nice! We are currently using Sentry at Manas for some projects.
If the data is mostly for keeping it around, can't it be kept as a opaque String?

@asterite as you can see there are cases when the data needs to be transformed in between (storing and sending) so serializing and de-serializing them would be a killer...
Sentry was my choice yrs ago and I still use it with success as well, long live opensource! :)

@Sija That sounds like a very good use case for the library you wrote, but that's quite a specific usecase which I wouldn't advertise to newcomers. It's probably just going to mislead them. (lead them off the typed path :P)

the more i am thinking about it (and reading this thread) the more i agree with rx14 and asterite. it is actually easier/safer/generally better to just build from the inside out, rather than outside in, making modifications as the hash tumbles through the program. this would be the same as the second scenario from this comment.
i'm only kind of new! i've been following this repo for over a year now, but i haven't had an excuse to actually use it and i got tired of waiting so i am rewriting something i made with ruby a while ago. clearly this is going to take more work than i originally thought to reach feature parity.
i changed my syntax to every permutation i could think of, and when none of them did what i thought they would, i thought there must be something wrong w/ my environment,
i still think it would be nice to have something a bit more flexible in stdlib, but i might change my tune soon.
i'll be less trigger happy with the issue button from here on, and thanks for carrying on the discussion after closing. it has been hugely enlightening.

@RX14 yes, it's important to follow the right cough typed path! ;)
It's important to handle (semi-)arbitrary typed collections too, I admit tho' it is a specific use-case so forgive me for being so jumpy with it (Json::Type in code example gave me a hint).


docs: add mgmt extension

What type of PR is this?
documentation
This PR is derived from dev-submitted PR #100
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

In the list of functionality currently supported by the mgmt extension, added ability of users to upload certificate and public key files.
Also, fixed broken links in Configuring zot and in the Using Kind article.


Using yarn producess 'tsc-alias' is not recognized as an internal or external command, operable program or batch file.

Hi,
I have this script "yarn lint && yarn tsc && yarn Build 'src/**/*.ts'" to build my package astro-rename and when I use yarn instead of npm doesn't find tsc-alias packages.
$ yarn run build

  Target\src\index.js    2.9kb
  Target\src\utils.js    951b
  Target\src\options.js  159b
  Target\src\types.js      0b

Done in 9ms

  Target/src/index.js ─── 2.9kb ─ 100.0%
   └ src/index.ts ─────── 2.9kb ── 99.3%

  Target/src/utils.js ─── 951b ── 100.0%
   └ src/utils.ts ─────── 801b ─── 84.2%

  Target/src/options.js ─ 159b ── 100.0%
   └ src/options.ts ───── 130b ─── 81.8%

  Target/src/types.js ───── 0b ── 100.0%

'tsc-alias' is not recognized as an internal or external command,
operable program or batch file.

Is it possible to solve it? Thanks!

Yeah, I already tried it but it also throw the error

Damn, Ok. I will test it out with yarn and give you feedback.

So, I'm trying it out on https://github.com/Nikolarhristov/DeveloperYarn with
package.json in https://github.com/PlayForm/Compress/blob/1bf7e08f7eab607a7931a6eba37199299ec10af8/package.json#L39
and it runs successfully.
Also it runs when I do it from the parent turborepo task in package.json https://github.com/NikolaRHristov/DeveloperYarn/blob/Current/package.json
I see that you're now using npx in https://github.com/RodrigoTomeES/astro-rename/blob/feature/v2/package.json
Are you still having this issue with yarn or just chose to switch to npm?

@NikolaRHristov I think you didn't have the issue because you used the v1 version instead of v4 (that I am using).
I changed to npm to avoid the error

I was able to run it with yarn v4.3.1 as well but glad you got it resolved.


Add DDS.mil website to inventory

Feature
I would like to add the DDS.mil website/repo to the code.json inventory file for DoD/Code.mil.
Page(s) Affected
https://code.mil/code.json

Am I correct that this one can be closed now?

Yep! Thanks.


service fabric deploy should using async for register/un-register

This fix should roll out in next few days for all the customers


Is there a way to add a point to line dynamicly

I'm quite in swift and ios.  Is there a way to add a point dynamicly.

Nope. You can rebuild the chart with the updated points though.
It's planned to add this functionality in the future, after finishing some work for SwiftCharts that's being done in a separate repo.

Thanks


MM-27241 Private channel prompt for sysadmin

Summary
Error message or prompt to continue before force-joining private channel. The permission to join is not the same as the intent to join.
Ticket Link
https://mattermost.atlassian.net/browse/MM-27241
Checklist

[x] Prompt on clicking the channel url or permalink
[x] Prompt on directly accessing the channel url or permalink from address bar
[x] Should leave the team If user joins the team automatically while trying to open permalink from address bar

Screenshots

/update-branch

/update-branch


Sometimes, for unknown reasons, even when language is chosen as a search parameter, the API returns results with different language codes. For instance, author-searching for "Andrzej Sapkowski" in English (en) returned one volume in Italian (it). Would be great to have this solved. (Can you please share which volume it returns in italian? I didn't find any italian volumes)
I have iterated over author search to make it more inclusive, but it still needs work. For example, "Emma Mieko Candon" returns appropriate results, as well as "Emma Mieko", but "Emma Candon" returns nothing. (I have resolved this issue. Please review the code)
And I also updated the useFetchBooks hook
#9

Sometimes, for unknown reasons, even when language is chosen as a search parameter, the API returns results with different language codes. For instance, author-searching for "Andrzej Sapkowski" in English (en) returned one volume in Italian (it). Would be great to have this solved. (Can you please share which volume it returns in italian? I didn't find any italian volumes)

Sure! It's this volume, which appears when searching for author "Andrzej Sapkowski" with English as selected language. Second page of search results in the pagination (when sorted by relevance).

I have iterated over author search to make it more inclusive, but it still needs work. For example, "Emma Mieko Candon" returns appropriate results, as well as "Emma Mieko", but "Emma Candon" returns nothing. (I have resolved this issue. Please review the code)
And I also updated the useFetchBooks hook
Search Function/Fetch Improvements #9

Great work! Taking a look at your PRs now. 👍

@Sarveshk76 - there is still an issue with searching for author's whose names include initials. For instance, "J R R Tolkien" returns 0 results; "J.R.R. Tolkien" returns results, but not all that would be expected. "R F Kuang" and "R. F. Kuang" return nothing, but "R.F. Kuang" returns expected results. Is there anything else that can be done with regex to solve that issue when it comes to punctuation and matching, do you think? 🤔
Also, I tried searching for "J.K. Rowling" just to see if the initials problem was true there also, and got some results in Urdu and Spanish. I haven't checked yet, but maybe those results are volumes where no language is found in the response? Just a theory.

Hi @livoszlak, updated the code with issue you mentioned. For the languege filter, google api is not filtering properly using param "langRestrict", so I added a manual filter while rendering the book card.


Add new PHAF columns

Ploidy   -    needs to be mandatory (add to all files
allele variant ( add url for genotype format variant syntax)
Use Condition column

Temperature (degrees C)
Chemical or agent (concentration units)

Chemical or agent dose
Phenotype score / Phenotype score units

use Severity column

currently: FYPO_EXT:0000003 etc.
add:

fitness_log2(0.123)
normalised_difference(-0.4234)
store as properties in Chado (feature_cvtermprop)

FYECO -> Glucose present (CHEBI)
CHEBI,concentration
FYECO (UV) -> FYECO:X(mJ)

Related to https://github.com/pombase/curation/issues/3465

@kimrutherford I am almost done with the file, would just have to figure out those exceptional systematic ids and what the alleles should be called. Going swimming now but will check tomorrow 🏊
https://github.com/manulera/phenomics_paper_HTP/blob/master/results/pombase_dataset.tsv

Thanks Manu.  I've changed the loading code to handle the changes to the severity and condition columns.

I've changed the PHAF loader to store the allele_variant and the phenotype score in Chado.  I'm still trying to think of a good way to store the new condition details.
We need to think about how and where to display the new information on the website.

Ploidy - needs to be mandatory

I've changed my mind on that.  It can continue to be optional in the cases where there is no allele variant.

I guess the assumption is haploid unless otherwise stated, but why does this have to do with the allele variant present or absent?

I was thinking that we would need to put something in the "Ploidy" column only if we have an allele variant column.  If there is no allele variant column, we won't need a "Ploidy" column.

I am looking at the PHAF headers and I think I see what you mean, but I don't think this problem is restricted to the allele variant column. The headers are clearly meant to describe either haploids or homozygous diploids, but it is not clear how you would describe a heterozygous diploid. Separating allele names, expression levels and all with a spacer? Two lines for the same phenotype, but then what would be the unique identifier of the pair?
You can call me on skype if you want to quickly discuss this.

but it is not clear how you would describe a heterozygous diploid.

There isn't a way to store these in the PHAF file.  The "Ploidy" column is a hack to allow loading the commonest diploids ("homozygous diploid").  That format doesn't support anything more complicated.
We have plans for a new PHAF format to handle this problem (see pombase/pombase-chado#496) but we haven't implemented it yet.  Stable allele identifiers will make this problem easier.

Hi @manulera
Sorry to come back to this after 2 weeks.
In the new PHAF file (pombe-embl/external_data/phaf_files/chado_load/htp_phafs/PMID_34984977_phaf.tsv), some of the FYECO conditions have empty brackets, like: FYECO:0000211().  Does that need fixing?
Also should we include the unit ("C") after temperatures in conditions?  Or is the unit obvious in that case?
Here an example line that has examples of both questions:

Gene systematic ID
FYPO ID
Allele description
Expression
Parental strain
Background strain name
Background genotype description
Gene name
Allele name
Allele synonym
Allele type
Evidence
Condition
Penetrance
Severity
Extension
Reference
taxon
Date
Ploidy
Allele variant

SPNCRNA.1130
FYPO:0000725
deletion
null
972 h-

deletion
ECO:0001563
FYECO:0000138,FYECO:0000211(),FYECO:0000334,FYECO:0000005(32)

fitness_log2(0.11)

PMID:34984977
4896
2023-02-23
haploid
III:g.319210_319876del

Thanks!

Hi @kimrutherford, fixed here and updated on revision 8824 of svn

Thanks!  The finished the changes needed to load the conditions with temperatures and quantities into Chado.  The new PHAF file loads perfectly now.
I think this in done now.
We now need to think about how to show this new information:

pombase/website#2029


Support parameters to the SqlTzLoader

We currently populate the Intervals table for 5 years in the future.
The connection string is pulled from the config file.

Both of these should be things that can be passed in on the command line arguments.

One thing I would like is to be able to specify a list of TimeZones that I want to load in from the NodaTime DB - would this be possible? (Sorry, not familiar at all with NodaTime!)
I suppose this could be done by editing the loop in the exe around here to check for a zone is a specified list?

I'd probably do that slightly earlier, around here.  tzdb.Ids contains all identifiers from the loaded tzdb provider.  One would just filter this list, then call WriteZonesAsync on the filtered list instead of the entire list.
I can see a couple of command-line options would be needed to do that effectively.  One to include only a few time zones, another to include all time zones except a few, and another to include time zones provided in an external file, when a large list of zones would be too awkward to put on the command line.

Great! Thanks for the advice - will give this a go myself in the .CS for now.

Sure! Feel free to send a PR on this if you like.

Hi, I'm looking at addressing this issue, for use of SqlTzLoader in one of my projects. I wanted to use: https://commandline.codeplex.com/license
as it is available as a nuget package. Comments or thoughts? I will likely use some library to handle the arguments, rather than rolling my own.
I'm most interested in adding connectionstring as an argument. Thanks!

Sure!  A PR would be welcomed.  Thanks!

Closed with #8


Android Basics: Activities and intents

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-activities-intents#5
In which task and step of the codelab can this issue be found?
"cleaning up" (5) in task 6
Describe the problem
It says "While you're at it, you can also move any other hard coded value into the companion object in DetailActivity. Remember when you performed the implicit intent in the WordAdapter, you passed in part of the URL to perform a Google search? Go ahead and move this to the companion object as a new constant called SEARCH_PREFIX. The companion object should now contain two constants."
The implicit intent in the WordAdapter is in the next step and hasn't been completed before getting to this step.
Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Also in the next step it says "Open up WordAdapter and in the button's onClickListener in onBindViewHolder. Start by creating a URI for the search query." but there isn't an onClickListener.

Also in the next step it says "Open up WordAdapter and in the button's onClickListener in onBindViewHolder. Start by creating a URI for the search query." but there isn't an onClickListener.

@nicholeb
Thank you so much for reporting this issue. This is fixed and will be published soon.

@nicholeb
Thank you so much for reporting this issue. This is fixed and will be published soon.


feat: fall detection using Tensorflow Posenet and pose_engine

Hi,
This is my first contribution to the project so I hope I am on the right track! I have attempted a solution to the fall detection problem using Tensorflow Posenet. Hopefully, it will be somewhere near useable but I would appreciate any feedback/necessary changes.
Will

Hello @will300! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file src/ambianic/pipeline/ai/fall_detect.py:

Line 18:20: W291 trailing whitespace
Line 19:14: W291 trailing whitespace
Line 20:80: E501 line too long (91 > 79 characters)
Line 21:80: E501 line too long (100 > 79 characters)
Line 87:80: E501 line too long (86 > 79 characters)
Line 96:32: E701 multiple statements on one line (colon)
Line 103:80: E501 line too long (81 > 79 characters)
Line 107:80: E501 line too long (82 > 79 characters)
Line 113:80: E501 line too long (86 > 79 characters)
Line 114:13: E722 do not use bare 'except'
Line 120:1: W391 blank line at end of file

In the file src/ambianic/pipeline/ai/pose_engine.py:

Line 24:1: E402 module level import not at top of file
Line 25:1: E402 module level import not at top of file
Line 26:1: E402 module level import not at top of file
Line 48:1: E302 expected 2 blank lines, found 1
Line 93:80: E501 line too long (96 > 79 characters)
Line 105:80: E501 line too long (85 > 79 characters)
Line 106:80: E501 line too long (80 > 79 characters)
Line 115:80: E501 line too long (85 > 79 characters)
Line 125:80: E501 line too long (95 > 79 characters)
Line 141:32: E701 multiple statements on one line (colon)
Line 141:80: E501 line too long (83 > 79 characters)

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

@will300 Thank you for the PR. I apologise for not seeing this until today. Somehow I missed the notification. Reviewing it now.

Related to #182

@will300 Can you please look at the @pep8speaks suggestions above and see if it makes sense to address some of them.

Hello @will300! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file src/ambianic/pipeline/ai/fall_detect.py:

Line 18:20: W291 trailing whitespace
Line 19:14: W291 trailing whitespace
Line 20:80: E501 line too long (91 > 79 characters)
Line 21:80: E501 line too long (100 > 79 characters)
Line 87:80: E501 line too long (86 > 79 characters)
Line 96:32: E701 multiple statements on one line (colon)
Line 103:80: E501 line too long (81 > 79 characters)
Line 107:80: E501 line too long (82 > 79 characters)
Line 113:80: E501 line too long (86 > 79 characters)
Line 114:13: E722 do not use bare 'except'
Line 120:1: W391 blank line at end of file

In the file src/ambianic/pipeline/ai/pose_engine.py:

Line 24:1: E402 module level import not at top of file
Line 25:1: E402 module level import not at top of file
Line 26:1: E402 module level import not at top of file
Line 48:1: E302 expected 2 blank lines, found 1
Line 93:80: E501 line too long (96 > 79 characters)
Line 105:80: E501 line too long (85 > 79 characters)
Line 106:80: E501 line too long (80 > 79 characters)
Line 115:80: E501 line too long (85 > 79 characters)
Line 125:80: E501 line too long (95 > 79 characters)
Line 141:32: E701 multiple statements on one line (colon)
Line 141:80: E501 line too long (83 > 79 characters)

Hi @will300 just checking if you are still interested in seeing this PR through? Please let me know.

Hi @ivelin, so sorry for the delayed response. I have addressed the @pep8speaks suggestions, and will look into writing test cases over this weekend and resubmit as soon as possible.

Fantastic. I will make a request to the community to donate test photos.

Just for reference, here is the issue related to this PR: https://github.com/ambianic/ambianic-edge/issues/182
Google AI released posenet 2.0 with tflite models on resnet50 which in my testing perform at similar speed and better accuracy than the earlier mobilnetv1 model. Detailed attached to issue #182

Hi @will300 . Not sure if you noticed, but we found a ton of public training and test data for fall detection. Links to resources attached in the #182 issue comments section.

@will300 just fyi, Google AI released resnet50 version of the model, which performs noticeably better than the earlier mobilenetv2. Here are the tflite files:
https://github.com/google-coral/project-posenet/tree/master/models/resnet
Attached image with parameters of the the one that worked best in my experiments. You can play with the various models and parameters here.

The new ResNet50 version looks to have better performance so is surely worth incorporating. The fall image data looks great as well. I am having some difficulties at the moment with getting the PR changes to build - would you have any advice for a problem like this @ivelin? I would guess that perhaps there is a problem with a package. There is a thread for a similar issue here: https://github.com/f0cal/google-coral/issues/13

I haven’t seen this error before. Let me try to reproduce and investigate.
On Fri, Aug 14, 2020 at 12:47 PM Will Naylor<EMAIL_ADDRESS>wrote:

The new ResNet50 version looks to have better performance so is surely
worth incorporating. The fall image data looks great as well. I am having
some difficulties at the moment with getting the PR changes to build -
would you have any advice for a problem like this @ivelin
https://github.com/ivelin? I would guess that perhaps there is a
problem with a package. There is a thread for a similar issue here:
f0cal/google-coral#13 https://github.com/f0cal/google-coral/issues/13
[image: image]
https://user-images.githubusercontent.com/30575955/90277792-2064f200-de5e-11ea-9f6b-bd7c7a7725ce.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ambianic/ambianic-edge/pull/200#issuecomment-674189423,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARBUFK3Z22CPNWZVHHAEATSAV2DJANCNFSM4OYJBL3A
.

Chore: Converting this PR to draft status until we work out the details.

The new ResNet50 version looks to have better performance so is surely worth incorporating. The fall image data looks great as well. I am having some difficulties at the moment with getting the PR changes to build - would you have any advice for a problem like this @ivelin? I would guess that perhaps there is a problem with a package. There is a thread for a similar issue here: f0cal/google-coral#13

OK, I think I know what's going on. It looks like on your test machine, you haven't installed the EdgeTPU libraries. They are required for Ambianic to be able to auto-detect presence of an EdgeTPU device. (e.g. USB Coral). Here is what needs to be installed:
https://github.com/ambianic/ambianic-edge/blob/master/build/install_requirements.sh#L92
Let me know if this helps.

@will300 Just to clarify, you don't need an Edge TPU device present for your testing. Just need the libraries that allow us to auto-detect and use one if its present.

Hi @will300 . Just checking in. Do you still need help to wrap up this PR?

Yes, I think I could still use some help @ivelin - just can't seem to get it to build even with those libraries installed on my machine. If you have any free time soon that would be great!

OK, no worries @will300 . Please send me a direct message on our slack channel to setup a time for a screenshare call.
We have the bi-weekly team call this morning. You are welcome to join.

@will300 I dug a little deeper today and figured the root cause of the TPU Engine error.
fall_detect.py currently uses pose_engine.py which has a hardcoded dependency on EdgeTPU.
 However you if unplug the EdgeTPU you should see errors because of the hardcoded dependency.
In order to allow fall detection to run on CPU, we need to use a higher level TFLite wrapper that optionally uses EdgeTPU only if its present.
That is what we are doing in the TFInferenceEngine base class that is then used by ImageDetection, which is in turn used by ObjectDetection, and FaceDetection.
This specific issue is also discussed here.
The solution is to refactor fall_detect.py to use TFInferenceEngine directly or maybe a cleaner way is to fork this implementation of pose_engine.py to use TFInferenceEngine in order to make EdgeTPU an optional dependency instead of a hard one.
Does that make sense?

OK, apparently there is more to it. The EdgeTPU PoseNet example has an embedded CustomOp that TFLite doesn't know what to do with. Tracking this down with the Google Coral team.
There is an alternative PoseNet implementation that doesn't use a Custom Op, but its implemented with full TF APIs.
If we can find a way to run the Custom Op on CPU, that would probably yield higher performance. If we can't figure that out, then we will have to adapt the python PoseNet code from TF to TFLite.
A third alternative is to run full TF with Ambianic, but that would make the Docker image go from 400MG to nearly 2GB.

FYI, I started this fall-detect branch that expands on @will300 's work. So far it implements the TFLite abstraction that detects and uses the EdgeTPU delegate if applicable, otherwise it uses the TFLite CPU runtime.
Currently the fall detection tests fail, because it tries to run the tflite model that uses a customop with an embedded customop, which only EdgeTPU knows how to resolve. We still have to bring in a model that doesn't use a customop and can run on CPU.

@will300  Closing this draft PR due to inactivity. Let me know if you'd like to complete it.


Edit HubConnection constructors

Needed an overload that took just a url and a logger factory. Seems like a primary case.

@mikaelm12,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


Add method dispatching TaskEntity base class

resolves #164
Adds a TaskEntity abstract class which can be used for implementing entities where all public methods are considered operations.
What is supported?
Customers can derive from TaskEntity and add public methods to their type which will be considered operations. These public methods work as follows:

The return value is the response to the operation caller (if available)
input, entity context, and entity operation are supported as parameters.
Default values for the input parameter is supported.
The input parameter does not need to be called input. It is defined as any parameter which does not match TaskEntityContext or TaskEntityOperation.
Bound parameters cannot be duplicate, meaning a max of 3 parameters and only 1 of each can match input, context, and operation.
Methods cannot return Task or ValueTask (until we determine this support is needed).

Added this restriction as I am unsure how an async entity would even behave, given the current implementation in DF is based on orchestrations.

Methods cannot return Task or ValueTask (until we determine this support is needed)

I think we need to support this. It is very common for entity operations to perform I/O and restricting our users to do synchronous I/O is pretty terrible (in fact, synchronous I/O is "forbidden" in some contexts).

I think we need to support this. It is very common for entity operations to perform I/O and restricting our users to do synchronous I/O is pretty terrible (in fact, synchronous I/O is "forbidden" in some contexts).

Ah okay, so we do allow for yielding of the thread in an entity. Good to know. Will add that support.


Moving a published page under a published pending page does not set the page as pending

When a user moves a published page under an unpublished one, the cms marks the published page as pending.
If the user moves a published page under a page marked as pending, the cms should mark the published page as pending.

Closed by https://github.com/divio/django-cms/pull/5644


Add preconditions

Preconditions (for shape-checking, valid value ranges, etc) would be valuable for better source locations in error messages and to avoid uninformative TensorFlow runtime errors.
Example: matmul(_:_:) currently crashes with an uninformative stack trace.
import TensorFlow
let x = Tensor([1, 1])
print(matmul(x, x)) // invalid

$ swift matmul.swift
Fatal error: In[0] is not a matrix. Instead it has shape [2]: file /usr/local/src/swift-build/tensorflow-swift-apis/Sources/TensorFlow/Bindings/EagerExecution.swift, line 300 # unuseful source location
Stack dump: ...

The performance impact of adding preconditions is not a concern, as long as preconditions are written correctly.
-Onone performance regressions from adding preconditions are acceptable. Preconditions can be disabled with the -Ounchecked optimization mode, e.g. swift build -c release -Xswiftc -Ounchecked.
This blog post has more info on which optimization modes disable assertions/preconditions.

Could we start with making a list of what methods need a precondition ?

Could we start with making a list of what methods need a precondition ?

I'd recommend looking through files in Sources/TensorFlow/Operators and Sources/TensorFlow/Layers and look for "precondition" comments on properties/parameters that aren't actually checked.
Examples:

func conv2D, /// - Precondition: `input` must have rank `4`.

Missing a precondition at top of function.

Conv1D.filter, /// The 3-D convolution filter.

Missing precondition in initializer.

Other shape-related functions: matmul, reshape, etc
Probability-related APIs (Tensor.droppingOut, Dropout layer) should have 0..<1 preconditions for probability values.

@dan-zheng I'll try to put up a list in the next few hours

@dan-zheng I can create a runtime performance analysis on some of the functions with preconditions. Do you have any preferred methodology to assess the impact? Any recommendation to make the analysis more reliable?

A list of preconditions :

[ ]
[ ]
[ ]
[ ]

Today I’m going to spend some time looking the missing preconditions.

@Shashi456, is your to do list (#517 (comment)) up to date?

No, it is not updated, preconditions have been added to almost every function mentioned in the list https://github.com/tensorflow/swift-apis/issues/517#issuecomment-537128724

There's no Layers in list. Can you add them @Shashi456?

Unlike functions, there are multiple choice in Layers where we check.

During init
When parameters are assigned (in didSet)
During callAsFunction

The checks depend on input must go into callAsFunction.
The other checks like filter.rank == 4 of Conv2D can be done outside callAsFunction.
I think it's good to have them in init.
But, since many parameters are public, users can assign wrong tensor after init.
Should we consider that?
If we consider, we have to have same checks done in init in callAsFunction redundantly.
We can have them in didSet and I think it is besically better, but it keeps oldValue for now, so memory consumption will be double.
We should wait SE-0268 to be merged.

@t-ae I'll try to add some more functions for this.


Better labeling for (system, user) accounts

All accounts are kind of a big mish mash at the moment, it's difficult to decipher what is what, and could be more illustrative... let's figure out what all these in the changes view are and how we can better label them

As far as I can tell, there isn't really a way to figure out reliably what a wallet is responsible for. If we wanted to make the labeling better, the only thing I can think of is a coloring the balance different colors based on the amount, but other than that there isn't much information to go off of is there?

Sort of. I do notice that in the validator logs it announces which accounts are the validator identity, and faucet account (airdropper) as well as vote account:
$ docker logs e40cccf6dbf5 2>&1 | grep "solana_core::validator" | head -n3
[2022-06-13T20:30:09.213420178Z WARN  solana_core::validator] identity: DdKu9drTsNDpfw6B5jKPtr845xLdNvCiAHUKyBxwhNtZ
[2022-06-13T20:30:09.213435345Z WARN  solana_core::validator] vote account: 4SXXnBCWWAaCpfrZh8DKpCP7x5W9Z58JPLtnihJnUrFr
[2022-06-13T20:30:09.213445053Z WARN  solana_core::validator] authorized voter: 4SXXnBCWWAaCpfrZh8DKpCP7x5W9Z58JPLtnihJnUrFr

$ docker logs solana-test-validator 2>&1 | grep 6kWU
[2022-06-13T20:30:08.928818220Z INFO  solana_faucet::faucet] Faucet account address: 6kWUPEJd8KMtfE96sVUHYs2hatTcWWtKQDBUch1Zqtvv

I'm thinking I'd like to add another 	 to the table for labels -- Validator Vote Account, Validator Identity, Faucet, and then maybe a default User Account label when they use the add button... and we could probably look up from the docker logs to see if there are any matches for the system accounts. @SvenDowideit let me know your thoughts

in discussion about this elsewhere, we agree we don't really like log parsing as a solution ...
@Bluskript is going to investigate if we can access this information via RPC somehow

defer to 0.5


How to upload files with current browsers?

With docker service of browsers, it really eliminate a lot of processes issues. But how to upload files with browser? I don't know where to put my local files. How to map volumes in browser docker service?

Ref to #23 I know I can resolve it with profile. But how to upload files with profile? can you give me one example? Thanks!
I don't know which profile it is.

I have tested the following Java code in Selenoid remote browsers (Firefox and Chrome). It is supposed that the file you want to upload is located on a machine which runs your tests.

Find input element with type='file' attribute.

WebElement input = driver.findElement(By.cssSelector("input[type='file']"))

Make sure element is visible. You can't sendKeys into hidden element.

((JavascriptExecutor) driver).executeScript("arguments[0].style.display = 'block';", input)

Set LocalFileDetector. The file will be base64 encoded and sent transparently through the JSON Wire Protocol.

driver.setFileDetector(new LocalFileDetector())

Perform sendKeys.

input.sendKeys("/path/to/file/on/machine/which/runs/tests")

I found this link, it may be helpful:
http://seleniumguru.teachable.com/courses/selenium-webdriver/lectures/1714839

@pdli did it help?

@pdli closing because of inactivity. Feel free to reopen if having more questions.

@leonsabr ,
I could not repeat success of your code.
I tried the following steps to upload the file being inside "selenoid" container:

docker cp /home/usa/Documents/Upload/ selenoid:/home/selenium/ => copied host's "Upload/" directory and its content to containers "selenium/" one successfully.
I run a test to upload "/home/selenium/Upload/test.txt" file. => No luck - file is not found.
docker cp selenoid:/home/selenium/ /home/usa/Documents/Upload/ => "selenium/Upload/test.txt" was successfully copied from "selenoid" container.
I run the test again in debug-mode using VNC and explored upload window on my own => there was no "/home/selenium/Upload/test.txt" file visible on UI, via VNC, in the container.

I'm in confusion: how to provide upload window with a file being inside a container? Could you suggest me, guys?

@Alek5andr, when you set driver.setFileDetector(new LocalFileDetector()) you don't need to copy (docker cp ...) files from your host machine to container. Selenium WebDriver does everything.

Put your test.txt in /home/usa/Documents/Upload/ directory (I guess it is machine where tests are run).
In test call input.sendKeys("/home/usa/Documents/Upload/test.txt")
Selenoid browser in container should find test.txt in some temporary directory where it was copied by Selenium WebDriver.

@leonsabr, actually, I tried that way. My code snippet is:
((JavascriptExecutor) BrowserFactory.getFactory().getDriver()).executeScript("arguments[0].style.display = 'block';", fileUploadElement);

((RemoteWebDriver) BrowserFactory.getFactory().getDriver()).setFileDetector(new LocalFileDetector());

fileUploadElement.sendKeys(path);

where path = "/home/usa/Documents/Upload/test.txt";
It fails.

@Alek5andr could you provide exception message? What locator was used to find fileUploadElement?

@leonsabr, there is no exception message in runtime. The path is successfully set to input of "fileUploadElement" and "submit" button on UI is clicked. After that opens page with the following messages (Google Chrome):

Your file was not found
It may have been moved or deleted
ERR_FILE_NOT_FOUND

Yes, you can use docker-java client and method copyArchiveToContainerCmd to copy files into container (if you know its id).
You can also try the following check with Firefox:

right after fileUploadElement.sendKeys(path); go to Firefox container
in /tmp/ directory find subdirectory which name is equal to sessionId
your file should be there

I have just tested it:
# ls /tmp/07572a16-ef95-4750-9b49-1f2f599c4156/
test-keystore.p12

driver.setFileDetector(new LocalFileDetector()) works correctly, but it upload file into selenoid container, not browser.
I'v solved this by mounting volume to selenoid container:
-v /some/path/to/tmp:/tmp
and setting arg in browsers.json:
"chrome": {
    "default": "62.0",
    "versions": {
        "62.0": {
            "image": "selenoid/vnc:chrome_62.0",
            "volumes": [ "/some/path/to/tmp:/tmp" ],
            "port": "4444",
            "path": "/"
        },
    }
}

@leonsabr, indeed your solution worked with Firefox! I was amazed and glad. And, browsing through upload window, I managed to navigate to a file inside the container. WoW!
But still no luck with Google Chrome vers. 54 and 62, @slothds. I tried your suggestion:
If I set "volumes" in "browsers.json", my test won't run due to failure to instantiate a class.
Setting only a volume for the container does not succeed either =/
Why leonsabr's solution does not work with Chrome?

I am tried to bind my local machine directory to the selenoid/vnc_chrome:67.0 docker container. But If I try to see this in inside the container, It shows does not any directory inside the container?
(Use case: Try to upload a file from local machine using ( -v path:path ).
@vania-pooh

@KathiresanRamkumar95 some example commands?

@vania-pooh
Using Docker try -v /home/app/uploadFiles:/home/app/uploadFiles
Using Binary sudo sudo ./cm selenoid start --browsers chrome,firefox --browsers-json ./browsers.json --last-versions 3 --vnc --config-dir /etc/selenoid/ -enable-file-upload

@KathiresanRamkumar95 just do the following.

Manually edit browsers.json of working Selenoid and add "volumes": ["/home/app/uploadFiles:/home/app/uploadFiles"] as shown here: https://aerokube.com/selenoid/latest/#_browsers_configuration_file
Restart Selenoid container

Can't edit browsers.json of working Selenoid. It gives 'browsers.json' is read only  error.
How do I config the working selenoid with my browsers.json in my hostmachine?
@vania-pooh

@KathiresanRamkumar95 should edit on host machine and not inside Docker container.

How do I config my browsers.json in my host machine with selenoid?
@vania-pooh

Even edit my host machine /etc/selenoid/browsers.json, Still the directory not mounted.
Please help me to solve this issue.
My browsers.json looks like below

@vania-pooh

I am struck with this from last week please help to solve this quickly.
Thanks in Advance!
:pray:
@vania-pooh

@KathiresanRamkumar95 I would use selenium user inside container, e.g. /home/automation/uploadTesting:/home/selenium/uploadTesting.

How to point my browsers.json with selenoid to run using my browsers.json file?

@vania-pooh

@KathiresanRamkumar95 just follow the docs: https://aerokube.com/selenoid/latest/#_option_2_start_selenoid_container and mount directory with browsers.json as /etc/selenoid.


use html encoding for the forward slash in CIDR blocks

otherwise Hugo renders it as a fraction

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: geeknoid, vadimeisenbergibm
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [geeknoid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

New changes are detected. LGTM label has been removed.


refactor,chore(egen) : refactored code as per template guidelines

This PR includes
1.Adds Colab authentication and kernal restart steps.
2.Adds colab enterprise logo with link.
3.Removes IS_TESTING condition.
4.Replace REGION with LOCATION.
5.Removed UUID code
6.Removed unused modules
REQUIRED: Fill out the below checklists or remove if irrelevant

If you are opening a PR for Official Notebooks under the notebooks/official folder, follow this mandatory checklist:

[x] Use the notebook template as a starting point.
[x] Follow the style and grammar rules outlined in the above notebook template.
[x] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
[x] Passes all the required automated checks. You can locally test for formatting and linting with these instructions.
[] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
[ ] This notebook has been added to the CODEOWNERS file under the Official Notebooks section, pointing to the author or the author's team.
[x] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.

/gcbrun

/gcbrun


Feature/118 redesign actor interface

motivation
I think akka actor design is too complex(?) and not intuitive.

ref #123

job
Design the main actors interface.

DssActor

all the actors parent interface

DssMasterActor

master actor
root actor
manage other actors

DssNetworkActor

server binding actor

DssResolverActor

receive request from network actor and decide which service actor to send

use case

@startuml
:Master: as Master <<Actor>>
Network <<Actor>>
Resolver <<Actor>>
Service <<Actor>>
Exception <<Actor>>
Client <<User>> #blue

Master --|> Network: listen
Network <- Client: req
Network --> Resolver: req
Resolver -> Service: req
Network <-- Service: res
Service -> Exception: exception
Network <-- Exception: res

Master . Network: child
Master . Resolver: child
Master . Service: child
Master . Exception: child
@enduml

@Alencion @RulLu16 @Doyuni
I open new one.

Coverage decreased (-1.8%) to 83.4% when pulling 6af0b7444832edd8e7a16852122ffef7f93e4009 on feature/118_redesign_actor_interface into f689f7d297f598c7be2adeb516c9f277d7610838 on develop-0.5.

@Alencion @RulLu16 @Doyuni
I modify the pr. Could you review one more time?

remove dss-common sub module
add some empty interface (service layer)
add tests


Merge DSIGN and KES classes

This changes things as follows:
DSIGN:

The DSIGNMAlgorithmBase class disappears; its functionality is provided by the existing DSIGNAlgorithm class
The DSIGNMAlgorithm class remains, but becomes a subclass of DSIGNAlgorithm
Any methods and types from DSIGNMAlgorithmBase that do not involve sign keys or seeds will be shared between the pure (DSIGNAlgorithm) and mlocked (DSIGNMAlgorithm) APIs, since we only need to mlock seeds and sign keys. The M flavors of those methods and types have been deleted.
The same phantom types are used for the pure and mlocked (if supported) flavors of DSIGN algorithms
The distinction between pure and mlocked APIs is made by using the pure or mlocked sign key and seed types, and the pure or mlocked flavors of the corresponding methods (genKeyDSIGN(M), deriveVerKeyDSIGN(M), etc.). All DSIGN algorithms must support a pure API (DSIGNAlgorithm); those that also support mlocked DSIGN (currently only ED25519) additionally support DSIGNMAlgorithm.
As a consequence, the signatures and verification keys produced and used by the pure and mlocked flavors of the same DSIGN algorithm are exactly the same.

KES:

KESSignAlgorithm has been merged into KESAlgorithm, which now offers the full range of KES operations. Since the mlocking monad (m) is no longer a typeclass parameter, the split is no longer necessary, and conceptually, it does not make sense to have a KES algorithm that can only verify, but not sign.

Depends on #404.


pep440 0.1.2

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin please rerender

@carreau let me know if you'd like to be added as a co-maintainer

Sure, feel free to add me anytime there is a new release.


filter() does not seem to work when passed through middleware

Hi there, loving your work! I am however running into an issue with the permission.filter() function. It seems ES6's native implementation of filter() is called when a Permission object is passed through the app with res.locals.permission. Which means that if I try to do this: res.json(res.locals.permission.filter(req.user)); it returns an empty object.
My models are defined as .readOwn('user', [ 'name', 'email', 'phone' ]), and according to the documentation I should expect just the name, email and phone as a response.

Found any fix or workaround?
Have the same problem, however I'm just passing the filter function forward by binding the permission object.
req.filterFn = permission.filter.bind(permission);

I've run into a similar issue using Mongoose Documents, where permission.filter(user) returned empty objects. My current workaround is converting the document to an object first via permission.filter(user.toObject()).

Yep, that's because res.locals serializes data, it's not meant to hold instances. You can pass them across middlewares using the req object, like req.permissions = [/* ... */] and there you'd be able to access all its methods.
Though, AccessControl exposes the filter method on its instance as well (ac.filter()), so maybe there's no need to access it from the permission.

Yep, that's because res.locals serializes data, it's not meant to hold instances. You can pass them across middlewares using the req object, like req.permissions = [/* ... */] and there you'd be able to access all its methods.
Though, AccessControl exposes the filter method on its instance as well (ac.filter()), so maybe there's no need to access it from the permission.


avoid a bunch of as_ref/as_mut

@bors r+

:pushpin: Commit 314e7238cf5f5fa6030035814193df455d337ad7 has been approved by RalfJung

:hourglass: Testing commit 314e7238cf5f5fa6030035814193df455d337ad7 with merge c827d1fd9cd1f130c861bee3a39e82971381879f...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing c827d1fd9cd1f130c861bee3a39e82971381879f to master...


Added node! convenience macro

This macro works well for cases where we need access to underlying GenericNode operations, such as .event(), .add_attribute(), .remove_attribute that cannot currently be performed inside of the template! macro, yet retain the ergonomics for setting attributes and children that don't need the extra flexibility. Please see the doc example below for a possible use case.
This is also a good workaround for #264.

Applied suggested changes!

The diff has some commits that are not supposed to be there. If you don't mind, I can fix this and I'll get this merged

I removed all commits that weren't supposed to be there. It was the 0.6.1 release that I pulled in. If there's still something that isn't supposed to be there, go right ahead!

Sorry for the run-around but it seems like my suggested changes got undone.

No worries! Let me know what you would like me to do in this case.


🚀 Feature: better ui/ux  #hackoctoberfest

🔖 Feature description
size of "source code"box is misaligned with others
🎤 Why is this feature needed ?
Correcting this will give better UI/UX to the the page
✌ How do you aim to achieve this?
will change the size
🔄 Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

Are you willing to submit PR?
Yes I am willing to submit a PR!

Please follow our Figma https://www.figma.com/file/OXLtrl1EAy885to6S69554/DocsGPT?node-id=0%3A1&t=hjWVuxRg9yi5YkJ9-1
Thank you for the issue and choosing to contribute!


Issue identified : Abbot apparently changed required Header Information

** Which country are you from **
Germany
Describe the bug
"Error setting up entry<EMAIL_ADDRESS>for librelink"
When trying manually the new required version is 4.12.0.
When setting header version to 4.12.0 I get the following error:
message: "RequiredHeaderMissing"
Log file
2024-11-15 16:16:27.150 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry<EMAIL_ADDRESS>for librelink
Traceback (most recent call last):
File "/config/custom_components/librelink/api.py", line 200, in api_wrapper
response.raise_for_status()
File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1157, in raise_for_status
raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 430, message='', url='https://api.libreview.io/llu/auth/login'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 635, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/librelink/init.py", line 48, in async_setup_entry
sessionToken = await myLibrelinkLogin.async_get_token()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/librelink/api.py", line 148, in async_get_token
reponseLogin = await api_wrapper(
^^^^^^^^^^^^^^^^^^
File "/config/custom_components/librelink/api.py", line 209, in api_wrapper
raise LibreLinkApiCommunicationError(
custom_components.librelink.api.LibreLinkApiCommunicationError: Error fetching information
Additional context
I couldn't figure out what the new required header field might be....

account-id
https://github.com/TA2k/ioBroker.libre/commit/e29c214919ae493d8b2ef92ae395e98435b03179

account-id TA2k/ioBroker.libre@e29c214

Thanks! This helped me fix it!

account-id TA2k/ioBroker.libre@e29c214

Thanks! This helped me fix it!

How did you fix it?

also ich weiss leider auch nicht mehr weiter seit 2 tgen kommt nix mehr es kommt nur noch Einrichtungsfehler, wird erneut versucht: Something really wrong happened!

My protokol
Logger: homeassistant.config_entries
Quelle: config_entries.py:635
Erstmals aufgetreten: 16:44:05 (1 Vorkommnisse)
Zuletzt protokolliert: 16:44:05
Error setting up entry<EMAIL_ADDRESS>for librelink
Traceback (most recent call last):
File "/config/custom_components/librelink/api.py", line 200, in api_wrapper
response.raise_for_status()
File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1158, in raise_for_status
raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 430, message='', url='https://api-de.libreview.io/llu/auth/login'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 635, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/librelink/init.py", line 48, in async_setup_entry
sessionToken = await myLibrelinkLogin.async_get_token()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/librelink/api.py", line 148, in async_get_token
reponseLogin = await api_wrapper(
^^^^^^^^^^^^^^^^^^
File "/config/custom_components/librelink/api.py", line 209, in api_wrapper
raise LibreLinkApiCommunicationError(
custom_components.librelink.api.LibreLinkApiCommunicationError: Error fetching information

Not sure if this is similar to my issue, but having trouble for 2 or three days now too, while it worked flawlessly before.
2024-11-17 10:09:17.344 DEBUG (MainThread) [custom_components.librelink] Appel de async_setup_entry entry: entry_id= 01JCWP3XFY3S2GDEJRV3HDV88G, data= {'username': 'EDITusername', 'password': 'EDITpassword', 'Country': 'Germany', 'unit_of_measurement': 'mmol/L'}, user =<EMAIL_ADDRESS>BaseUrl = https://api-de.libreview.io

2024-11-17 10:09:17.572 DEBUG (MainThread) [custom_components.librelink.api] response.status: 200

2024-11-17 10:09:17.573 DEBUG (MainThread) [custom_components.librelink.api] Login status : 0

2024-11-17 10:09:17.643 DEBUG (MainThread) [custom_components.librelink.api] response.status: 403

2024-11-17 10:09:17.643 DEBUG (MainThread) [custom_components.librelink.coordinator] Exception: general API error during coordinator update

2024-11-17 10:09:17.644 DEBUG (MainThread) [custom_components.librelink] Finished fetching librelink data in 0.070 seconds (success: False)

(I replaced username and password in the protocoll for obvious reasons).
It seems the authentication is not working anymore. I neither changed my username nor password, but the authentication seems to fail.
Hope this helps in a way. If it is a seperate issue, please give me an info and I can create one here.
André

FIY: I can confirm the login problem since afternoon last friday. Also a developer of an alternative App for iOS confirmed that there is a problem because of a change by LibreLinkUp for it's german users.

Hi, would this be why my values aren't showing up anymore within HomeAssistant?
Not sure if this is just German related

<<put the sha256-hash of your user-id here!!>>

Well... What is this User ID? Where is it seen and where did you find it? Is it the defined username or what else?? This makes me go crazy here.

Hello,
Is there anyone who solved the Freestyle new header issue in the librelinkup german login?
Thank you
BR
Gino

Hello, Is there anyone who solved the Freestyle new header issue in the librelinkup german login? Thank you BR Gino

switched to libreview integration, at this moment it`s only possible way to install it is to manually download from git and place in custom_components.

Hello, Is there anyone who solved the Freestyle new header issue in the librelinkup german login? Thank you BR Gino

switched to libreview integration, at this moment it`s only possible way to install it is to manually download from git and place in custom_components.

Unfortunately I am beginer in the home assistant system so I would be thankful if I get a description from Libreview install. Should I only copy the libreview's folders/files in my custom components folder? Sorry I am not an IT professional. I am only simple end user.
Thank you
BR
Gino

Just add this GitHub repository in your HACS as custom repository in the settings menu above right. No need for any manual copying.

Just add this GitHub repository in your HACS as custom repository in the settings menu above right. No need for any manual copying.

I do not see the LibreView repo in HACS. I only find the LibreLink repo.


Problem to compile

Hi, I am trying to use AmgXwrapper for the first time, but I am not being able to compile it:
/usr/bin/ld: CMakeFiles/amgxwrapper.dir/src/setA.cpp.o: in function AmgXSolver::setA(int, int, int, int const*, int const*, double const*, int const*)': setA.cpp:(.text+0x1c38): undefined reference to AMGX_matrix_upload_all_global_32'
/usr/bin/ld: setA.cpp:(.text+0x1d5a): undefined reference to `AMGX_matrix_upload_all_global_32'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/amgxwrapper.dir/build.make:182: libamgxwrapper.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:118: CMakeFiles/amgxwrapper.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
Did anyone have a similar issue?
I appreciate a lot any response!

Seems the linker did not include the AmgX library. Some questions:

Is your AmgX library a static or shared library?
Could you provide the steps of how you build AmgXWrapper?
If you can save the full logs (from both CMake and Make) to a text file and upload them here (GitHub supports uploading files to an issue/comment), it may be clearer what happened.

Hey pihueh, thanks a lot for your fast reply. I followed straightly the documentation. I am using as a static library, but my plain is to used the wrapper for OpenFOAM with petsc4foam.  I use this command:
cmake     -D CMAKE_INSTALL_PREFIX="/home/mateus/AmgXWrapper"     -D PETSC_DIR=${PETSC_DIR}     -D PETSC_ARCH=${PETSC_ARCH}     -D CUDA_DIR="opt/cuda"     -D AMGX_DIR="/home/mateus/AMGX-2.3.0/core" ../
(I created all the locations with enviroment variables in bash).
Then I executed:
$make -j 12
CMakeCache.txt

Seems CMake had no problems finding AmgX (stored as AMGX_INCLUDE_DIRS and AMGX_LIBRARIES in CMakeCache.txt), though it used the shared library (libamgxsh.so) rather than the static one (which is fine and should not cause any problem).
Do you have log files from the stdout of CMake and Make? (If possible, replace $ make -j 12 with $ make VERBSOE=1 so the message will be clearer.) Let me know if you need commands that record stdout into files.
Other files that may be helpful for debugging is CMakeError.log and CMakeOutput.log under the folder build/CMakeFiles.

For some reason , cmake is not creating the error file, only CMakeOutput.log.  That I am sending, also I am including a bash script, containing the exact command I typed for building:
export HOME=$(pwd)
rm --rf build
mkdir ${HOME}/build
cd ${HOME}/build
export PATH_TO_WHERE_YOU_WANT_TO_INSTALL_AmgXWrapper="/home/mateus/AmgXWrapper"
export PATH_TO_PETSC="/home/mateus/petsc-3.16.2"
export THE_BUILD_OF_PETSC_YOU_WANT_TO_USE="arch-linux-c-debug"
export PATH_TO_CUDA="opt/cuda"
export PATH_TO_AMGX="/home/mateus/AMGX-2.3.0/base"
export PATH_TO_AmgXWrapper_SOURCE="/home/mateus/AmgXWrapper"
cmake  -D CMAKE_INSTALL_PREFIX=${PATH_TO_WHERE_YOU_WANT_TO_INSTALL_AmgXWrapper} -D PETSC_DIR=${PATH_TO_PETSC} -D PETSC_ARCH=${THE_BUILD_OF_PETSC_YOU_WANT_TO_USE} -D CUDA_DIR=${PATH_TO_CUDA} -D AMGX_DIR=${PATH_TO_AMGX} ${PATH_TO_AmgXWrapper_SOURCE}
make VERBSOE=1
CMakeOutput.log

I still need the stdout logs from CMake and Make. If you are not sure how to obtain them, put the following content into a file at /home/mateus/run.sh:
#! /bin/sh

rm -rf /home/mateus/AmgXWrapper/build
mkdir /home/mateus/AmgXWrapper/build
cd /home/mateus/AmgXWrapper/build

export PATH_TO_WHERE_YOU_WANT_TO_INSTALL_AmgXWrapper="/home/mateus/AmgXWrapper"
export PATH_TO_PETSC="/home/mateus/petsc-3.16.2"
export THE_BUILD_OF_PETSC_YOU_WANT_TO_USE="arch-linux-c-debug"
export PATH_TO_CUDA="/opt/cuda"
export PATH_TO_AMGX="/home/mateus/AMGX-2.3.0/base"
export PATH_TO_AmgXWrapper_SOURCE="/home/mateus/AmgXWrapper"

cmake \
        -D CMAKE_INSTALL_PREFIX=${PATH_TO_WHERE_YOU_WANT_TO_INSTALL_AmgXWrapper} \
        -D PETSC_DIR=${PATH_TO_PETSC} \
        -D PETSC_ARCH=${THE_BUILD_OF_PETSC_YOU_WANT_TO_USE} \
        -D CUDA_DIR=${PATH_TO_CUDA} \
        -D AMGX_DIR=${PATH_TO_AMGX} \
        ${PATH_TO_AmgXWrapper_SOURCE} \
        2>&1 | tee cmake.log

make VERBOSE=1 2>&1 | tee make.log

Then cd /home/mateus, and then sh run.sh.
I changed your CUDA path to /opt/cuda because opt/cuda seems to be a typo. Also, VERBSOE=1 has a typo, and I changed it to VERBOSE=1. --rf also seems to be a typo, which has an extra dash. Furthermore, when you used export HOME=$(pwd), you were messing up the HOME environment variable, which is not recommended. So I just use the absolute path.
Once the execution of run.sh is done, there should be two files: cmake.log and make.log under /home/mateus/AmgXWrapper/build. Upload them here. They are the stdout from CMake and Make.

Ohh sorry about the typos, hahha
I am sending the files now:
[make.log](https://github.com/barbagroup/Amg
cmake.log
XWrapper/files/10250268/make.log)
Thanks a lot for the help!

cmake.log
make.log

Your CMake system behaved differently. There are two things unusual in cmake.log:

The source files in the example folders are not separated from the source files of libamgxwrapper.so. That's why there are error messages like multiple definition of xxxxx in cmake.log. The examples and libamgxwrapper.so are supposed to be built independently and separately. Not sure why. I've never seen something like this.
The undefined reference error. This may related the first error. So we may need to fix the first error.

Also, if you can find it, upload /home/mateus/AmgXWrapper/build/CMakeFiles/VerifyGlobs.cmake. Thank you

VerifyGlobs.cmake.log
Thanks a lot for all the points. I have a lot of experience on docker. So, I can try out inside a container. Would you mind sending to me all the version of your CMAKE and dependencies?

Can you check the files under the folder /home/mateus/AmgXWrapper/src? There are extra files in that folder, and that's why we saw the error of multiple definition of xxxxx.
Based on the log, I saw you have these files under /home/mateus/AmgXWrapper/src:
"/home/mateus/AmgXWrapper/src/AmgXSolver.cpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/StructArgs.cpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/createKSP.cpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/factories.cpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/fixSingularMat.cpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/io.cpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/main.cpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/petscToCSR.cpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/solve.cpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/StructArgs.cpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/createKSP.cpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/io.cpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/main.cpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/solve.cpp"
"/home/mateus/AmgXWrapper/src/init.cpp"
"/home/mateus/AmgXWrapper/src/misc.cpp"
"/home/mateus/AmgXWrapper/src/setA.cpp"
"/home/mateus/AmgXWrapper/src/solve.cpp"
"/home/mateus/AmgXWrapper/src/AmgXSolver.hpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/StructArgs.hpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/createKSP.hpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/factories.hpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/fixSingularMat.hpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/io.hpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/petscToCSR.hpp"
"/home/mateus/AmgXWrapper/src/example/poisson/src/solve.hpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/StructArgs.hpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/createKSP.hpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/headers.hpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/io.hpp"
"/home/mateus/AmgXWrapper/src/example/solveFromFiles/src/solve.hpp"

These are wrong. There should be no example folder under src. As you can see from here, there should be only 7 files under src. Probably at some point, you copied extra files and folders to src by mistake. It's possible that other files are also corrupt. To make things easier, you can try to remove /home/mateus/AmgXWrapper, re-download AmgXWrapper, and then compile/build AmgXWrapper again. If you're using the git version, make sure the current status is clean.
If you want to use Docker, for your reference, here are the Docker files we used: https://github.com/barbagroup/petibm-recipes/tree/master/docker. The README file describes the versions of the dependencies. (You can ignore PetIBM, which is our another software.) The CMake version in the latest Docker files is v3.23.1
And here are Docker images that were created using those files: https://hub.docker.com/repository/docker/barbagroup/petibm/tags?page=1&ordering=last_updated.


Server down

Your new location is down. Why not simply make this a mirror of your self-hosted repo, a bit like Apache does for its projects?

This is the real repo: https://git.coolaj86.com/coolaj86/ssl-root-cas.js


Rule Editor Crashes when a rule is executed that does not Specify a Core attribute

To Reproduce:

Select a Rule
Remove the Entire Core property and value
Test the rule by providing a test data file

The screen will go white. The rule editor api returns a 400 with the following message: {error: "KeyError", message: "'conditions'"}
AC
Rule Editor should not crash if a Core property is not specified. It should still be able to execute the rule.

The screen doesn't go white but it still return the 400 failure which is fine.


Instrumentation

What was changed
Improved logging. Added some basic metrics.

Why?
Debugging could be difficult without http logs. Production applications need metrics for monitoring.

Checklist

Closes

How was this tested:

Any docs updates needed?

Closing this in favour of separate PRs.


fix TestVITResetPreservingStorage()

https://github.com/voedger/voedger/actions/runs/12499934691/job/34875543626
Data race:

read here
write here

fixed in #3067


train action recognition model

Hi @dusty-nv
I want to train an action recognition model, but I'm not sure how to do it. Could you guide me?
I would really appreciate your help.
Thank you very mush!

Hi @tebie6 these models came from Akash James' repo here - https://github.com/kingardor/Activity-Recognition-TensorRT , which in turn used base models from Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet?    which I believe that upstream repo has the training scripts.  So you would want to look into that process (I haven't trained my own of these)

Thank you for your quick response! It has been very helpful.


Fix typos and other errors in NOTICES.md or remove it

Fix typos and other errors in NOTICES.md or remove it. This file is hard to maintain manually because it aggregates all the notices produced by validator.
Some errors that I have found so far:
| `routeId`        	| The id of the faulty record.            	| Long   	|

routeId must be string, not long.
| `csvRowNumber`   	| The row number of the faulty record.    	| String 	|

csvRowNumber must be long, not string.
| `block_trips_with_overlapping_stopTimes`               	| [`BlockTripsWithOverlappingStopTimesNotice`](#BlockTripsWithOverlappingStopTimesNotice)                         	|
| `decreasing_or_equal_stopTime_distance`                	| [`DecreasingOrEqualStopTimeDistanceNotice`](#DecreasingOrEqualStopTimeDistanceNotice)                           	|

Wrong capitalization.

Thank you for opening this issue, the typos you mentioned + some other similar ones have been fixed in #940
What was the reason for having two files (NOTICES and RULES)? I feel like both files are needed to either:

interpret the validation report
understanding the rules

RULES.md has:

a quick description (in table), a longer description (below) and the provenance of the rule (python validator, spec...)

NOTICES.md has:

the notice code as seen in the validation report
the affected files
the schema of the results

@lionel-nj do you see any potential issues or confusion to having only one file?

What was the reason for having two files (NOTICES and RULES)?

We initially saw RULES.md as a file that would describe the validation rules and NOTICES.md as a way to give more information about a specific notice.

@lionel-nj do you see any potential issues or confusion to having only one file?

Indeed, having information in both files is confusing - I would advocate to only have one: RULES.md because since NOTICES.md is manually edited (as @aababilov mentioned: this leads to merging conflicts, typos, and possible inaccuracy); the file is hard to maintain.  Also in https://github.com/MobilityData/gtfs-validator/pull/925 there is a discussion to get the information from NOTICES.md into the javadocs.


Self-documented Makefile

Describe the change
I think Reth would benefit from having a self-documented Makefile. It gives a great overview of all the different targets which is very convenient, especially for new contributors. On top of that, it saves time, for example, having to dive into the Makefile code when you only want to know what's the command to run the EF tests is a bit tiresome. Finally, it's easy to implement and there's no additional maintenance cost, you just need to add a description to the target you want to display in the help and you're good to go.
I have a PR ready if this is something you want to implement! :)
$ make
Usage:
  make <target>

Help
  help             Display this help.

Build
  install          Build and install the reth binary under `~/.cargo/bin`.
  build-release-tarballs  Create a series of `.tar.gz` files in the BIN_DIR directory, each containing a `reth` binary for a different target.

Test
  ef-tests         Runs Ethereum Foundation tests.

Docker
  docker-build-latest  Build and push a cross-arch Docker image tagged with the latest git tag and `latest`.
  docker-build-nightly  Build and push cross-arch Docker image tagged with the latest git tag with a `-nightly` suffix, and `latest-nightly`.

Other
  clean            Perform a `cargo` clean and remove the binary and test vectors directories.

Changes

Add a new help target.
Move the target's descriptions on the same line as the target.
Add sections to group targets by topic.

+ ##@ Build
+
- # Builds and installs the reth binary.
- #
- # The binary will most likely be in `~/.cargo/bin`
+ .PHONY: install
+ install: ## Build and install the reth binary under `~/.cargo/bin`.
	cargo install --path bin/reth --bin reth --force --locked \
		--features "$(FEATURES)" \
		--profile "$(PROFILE)" \
		$(CARGO_INSTALL_EXTRA_FLAGS)

Additional context
No response

Feel free


fix fgsubtle and Switch component

Why does this PR exist?
Fixes the subtle foreground colors that were changed in a recent UI package upgrade to now use muted instead and not subtle (as subtle would not be used for text, but just icons)

Replaces fgSubtle with fgMuted
Fixes https://github.com/tokens-studio/figma-plugin/issues/2971 along the way (replace switch with switch from ui package)
Upgrades to latest tokens package

There's still fgSubtle usages in:

StyledGrabber
StyledFolderButtonChevronBox

Are these meant to be updated to fgMuted?

fgSubtle is fine for minor actions or decorative icons


[7.x] Component property validation

This PR allows components to validate their property data. Right now, validation is only possible using the component class constructor and is therefore limited to PHP type hints.
If the validation fails, the user will see a ValidationException and the stack trace will contain the blade view that produced the error.
Example:
Let's say you have an Image component that can render in two types: rounded and square.
<x-image type="rounded" />

In you view component class you can specify all your validation rules, similar to how you can already do this in your form request classes:
class Image extends Component
{
    public $type;

    public function rules()
    {
        return [
            'type' => Rule::in(['rounded', 'square']),
        ];
    }

    public function __construct(string $type)
    {
        $this->type = $type;
    }

    public function render()
    {
        return view('components.image');
    }
}

So walk me through how this is different than:
public function __construct(string $type)
{
    $this->type = $type;

    Validator::make(compact('type'), ['type' => 'in:rounded,square'])->validate();
}

The difference, in your particular example, is that the data that gets validated is always $this->data() so it also includes any other data that is passed to the component, for example, from other public methods or properties. It will also be validated before the component gets rendered, not when it gets constructed.
The main reason for this was to maintain a useful error stack trace, as well as using all data.
I’m sure this I can make this work without a framework modification, but to me this feels nicer to have it in the core, as it provides a convenient place to validate component properties.

I think I will just leave it out and roll with my suggestion to just use the Validator in the constructor without additional "structure" around this. You can call $this->data() from the constructor if you want even though I don't like doing that because with this we would call the data() method multiple times for each component rendered. For all practical purposes the component is usually rendered immediately after it is constructed anyways so I don't see a big difference there.


Utils settings

Provides some fixes related to importing settings (see #490) when using Powershell ISE. Formatting issues were corrected beforehand.

Most of the changes are whitespace only, it may be easier to view with whitespace disabled.

@rnelson0 Both of these issues have been remediated in the dev branch since this PR was opened (at least from what I can tell). I'm going to close this PR. Thanks!


When using feature and agent together, need to be sensitive around META-INF/spring.factories

The feature optimization that rewrites the config list, throwing away unused autoconfig works fine in pure feature mode. However, when using with the agent, the agent output for resource-config.json will include META-INF/spring.factories. This means the feature will add the rewritten ones whilst the pattern from the agent resource config will cause the non-rewritten one to be added (as separate resources). This isn't ideal but in fact can break some code that is checking 'how many implementations of an interface are there?' There is some code in R2DBC that does such a thing and switches into multi store mode if there is more than 1. Due to multiple duplicate spring.factories it may find the same thing twice and think there are 2.

There is a now a warning that will come out if unable to throw away unused autoconfig because some other separate resource-config.json is including META-INF/spring.factories. It will show where that config originates. When discovered it won't add the duplicates and so R2DBC shouldn't have trouble. Although there are also coming changes in the next spring release to ensure duplicate factories (discovered via the spring factory loader code) will discard duplicates (which would also address the R2DBC problem).


Adding no-cover pragma to test_file for Py3 compat imports.

The import always succeeds in Python 2.7, which is the only version where coverage reports are generated.
PS @nathanielmanistaatgoogle I misspoke before. NOW the only line coverage missing in tests are self.fail() lines.

Change content looks good but please "pragam" -> "pragma" and "test-file" -> "test_file" in your commit log message.

Oy! My bad.

Done.


adding entry for webpack requires to re run an app

enhancement to consider

adding entry for webpack requires to re run an app

Yup that's right. Do you know how to get around that?

hmmmm....
https://github.com/webpack/webpack/issues/118
https://rackt.github.io/react-router/tags/v1.0.0-beta3.html#Advanced Usage

Closing for now. Feel free to send a PR for review.


chore: update babel/traverse dependency

Update babel/traverse due to a security vulnerabilit

hmm we should probably remove babel altogether as a dependency since we switched to swc


cargo-spellcheck does nothing and outputs no information if a spellchecker is not installed

Describe the bug
When no spellchecker is installed, cargo spellcheck will silently do nothing, with no indication of what went wrong.
To Reproduce
Steps to reproduce the behaviour:

docker run -it rust
apt update && apt install libclang-dev
cargo install cargo-spellcheck
USER=root cargo new example-project && cd example-project
printf '/// typoz\npub fn f() {}' > src/lib.rs
cargo spellcheck

Expected behavior
cargo spellcheck either reports the typo or gives an error that no spellchecker is installed.
If I set -vvvv I can see the issue:
root@45a959e40542:/example-project# cargo spellcheck -vvv
[2020-08-14T14:59:58Z WARN  cargo_spellcheck] Loading configuration from /root/.config/cargo_spellcheck/config.toml, due to: No such file or directory (os error 2)
root@45a959e40542:/example-project# cargo spellcheck -vvvv
[2020-08-14T14:59:59Z WARN  cargo_spellcheck] Loading configuration from /root/.config/cargo_spellcheck/config.toml, due to: No such file or directory (os error 2)
[2020-08-14T14:59:59Z DEBUG cargo_spellcheck::traverse] Running on inputs ["/example-project"] / recursive=true
[2020-08-14T14:59:59Z DEBUG cargo_spellcheck::traverse] Processing /example-project -> /example-project
[2020-08-14T14:59:59Z DEBUG cargo_spellcheck::traverse] Running on absolute dirs ["/example-project"]
[2020-08-14T14:59:59Z DEBUG cargo_spellcheck::traverse] Found a total of 1 files to check
[2020-08-14T14:59:59Z DEBUG cargo_spellcheck::checker] Running Hunspell checks
[2020-08-14T14:59:59Z DEBUG cargo_spellcheck::checker::hunspell] Dictionary search path is not a directory /usr/share/myspell/
[2020-08-14T14:59:59Z DEBUG cargo_spellcheck::checker::hunspell] Dictionary search path is not a directory /usr/share/hunspell/
[2020-08-14T14:59:59Z DEBUG cargo_spellcheck::checker::hunspell] Dictionary search path is not a directory /usr/share/myspell/dicts/

You mean when no dictionary + affixes file exists?

I'm using cargo-spellcheck 0.4.0-alpha.2, maybe there's a change that's only on master?

Found it going to release alpha.3 in a few minutes.


Adding Contributing.md

:)

Go for it! :)

I'm confused what all should I add?

Hey i have created such files before. Please assign me this task. Thank you.

Hey i have created such files before. Please assign me this task. Thank you.

This issue is already resolved!

Hey i have created such files before. Please assign me this task. Thank you.

I have one project if you want you can create such file for that project for hacktoberfest.

Sure, pls assign me.

Go to my profile and raise issue in the imgman repository Click here

@nevo-david This issue is already completed and should be marked as closed.


.config/flake8 not being picked up.

As simple as the title says. I am using a virtualenv and neovim. But my .config/flake8 isn't being picked up.
File content:
[flake8]
max-line-length = 120

It seems like the .config/flake8 isn't available anymore, so you need to put it in the project root you are calling from.

Thx, fixed by #99! 🙏


CI: speed up execution

The last remaining reason for requiring sudo and --privileged was that
the scripts themselve set up a tmpfs for etcd. By moving that step out
into the build host we can remove the need for sudo inside the
container.
The etcd volume gets used repeatedly, therefore "mkfs.ext4" must be
forced to ignore an already existing filesystem.
We can switch back and forth between LVM and direct mode on a cluster merely by applying a different deployment. If we run two tests back-to-back which use the same cluster configuration (for example, Fedora with Kubernetes 1.16), then we reuse the existing cluster, which saves around 5 minutes for the second test.
We have some tests marked as '[Slow]': https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/job/pmem-csi/view/change-requests/job/PR-487/32/testReport/clear-31760-lvm-production/E2E/
For example, the xfs variant (somehow, haven't checked) is marked as slow. It seems okay to skip those tests in pre-merge testing. This cuts down the time down by several minutes (1:13h https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/job/pmem-csi/view/change-requests/job/PR-487/32/testReport/ vs. 0:59h https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/job/pmem-csi/view/change-requests/job/PR-487/33/testReport/).
Finally, some issues found while testing get fixed.

Overall looks good to me.

This caused two regressions in code that only runs after merging a PR:

empty -ginkgo.focus causes all tests to be skipped in https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/job/pmem-csi/job/devel/122/execution/node/106/log/
image pushing failed: https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/job/pmem-csi/job/devel/122/execution/node/228/log/

I'll revert in "devel" and create a new PR which gets tested completely before merging by creating the branch in the main repo.

Correction: it's the || in
-ginkgo.skip='no-such-test||should.access.volume.from.different.nodes'

which caused tests to be skipped.


[INFRASTRUCTURE] Override inherited methods with shim implementations

Dynamically patch all iothub and provisioning clients with overrides to inherited methods, which simply call into the parent method.
New override methods contain the docs of the parent class
This allows us to keep our codebase the same, while providing all the necessary implementation on child classes for automatic doc generation
This does NOT interfere with static code analysis tools (e.g. intellisense) because it results in no static changes to the class definitions

EDIT: This is currently only implemented for Python 3.5+, still need to fix this for compat scenarios

/azp run horton-pythonpreview-gate

/azp run horton-pythonpreview-gate

/azp run horton-pythonpreview-gate


Can't run migration: Invalid migration filename

Hey! I already integrated cycle/orm in my project. Library is great!
Now I'm trying to add cycle/migrations to my application, I just want to create migrations manually like in this example.
I stumbled upon one issue. When I try to run migration it reports an error:
  [Cycle\Migrations\Exception\RepositoryException]
  Invalid migration filename '/var/www/html/app/Framework/CycleOrm/Migrations/MyMigrationMigration.php'

My configuration is following:
use Cycle\Migrations\Config\MigrationConfig;
use Cycle\Migrations\FileRepository;
use Cycle\Migrations\Migrator;

//I get here valid DBAL instance, already used in production code.
 $dbal = $this->DBALFactory->create();

 $config = new MigrationConfig(
     [
         'directory' => ROOT.'/app/Framework/CycleOrm/Migrations',
         'table' => 'migrations',
         'safe' => false,
      ]
 );

$migrator = new Migrator(
  $config,
  $dbal,
  new FileRepository($config)
);

//This part is OK, "migrations" table is created in database.
$migrator->configure();

Then I put to app/Framework/CycleOrm/Migrations directory following file:
use Cycle\Migrations\Migration;

class MyMigrationMigration extends Migration
{

    public function up()
    {
        // TODO: Implement up() method.
    }

    public function down()
    {
        // TODO: Implement down() method.
    }
}

And I invoke following on $migrator instance from first code section:
$migrator->run(new Capsule($dbal->database()));

Migrator throws an exception:
[Cycle\Migrations\Exception\RepositoryException]
Invalid migration filename '/var/www/html/app/CakeFramework/CycleOrm/Migrations/MyMigrationMigration.php'

Could you advise?

Hi
Migration files should follow a certain pattern. The name starts with a timestamp including microseconds. This is necessary for the correct sorting of migrations.
Then, there are some numbers and the name of the database. These values might be optional (I'm not sure)

If you're not using ready-made bridges, you can copy ready-made console commands for creating migrations. For example, like here:
https://github.com/yiisoft/yii-cycle/blob/master/src/Command/Migration/CreateCommand.php

Thank you :rocket:
It did the job. I thought that both: file name + class name must be the same. After I changed MyMigrationMigration to 20231211.144340_1_default_test.php it worked.


Add a user agent for login request to prevent 403

Full credit to @Chew for the original fix

Hi all! I just tried out this plugin and ran into these 403 issues. I hope this makes it through and fixes the API requests. Thanks for your work!

Hi all! I just tried out this plugin and ran into these 403 issues. I hope this makes it through and fixes the API requests. Thanks for your work!

What solved my 403 error was reinstalling Xcode.

Just tried this plugin (v0.5.3) and I'm seeing 403s. If this is the fix, any chance for a merge/update? :(


freebsd.libsysdecode: mark that it only produces a static library

Otherwise, freebsd.mkDerivation will remove it.
[+] ~/proj/nix/nixpkgs% ls ./result/lib
libsysdecode.a

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I think I independently made this same change at some point


fix: refactor resolver issues pending

:tada: This PR is included in version 2.0.1-beta.55 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add supported data types list to the dialect documentation

Blocked until we have an integration test (#7)


Bugfix/fix menu translation

Resolves #115
We need to wait for the pull request #46 of the localization project to be merge first
Screenshots
English

French

I think I made a mistake in the merge 😢 . Sorry... could someone please fix?


[v1.14] contrib/scripts: set 755 permissions for builder.sh

Fixes: 4baf33465d2 (".github: simplify cache usage in docker images")

/test-backport-1.14


NFT Exchange: Populate Home Page Banners

Updates NFT Exchange homepage banner with latest image assets, styles, and interactions.

Task linked: CU-240hmyb UI: Populate Home Page Banners


refactor: Refactor examples

As a preparation for the Fragmentizer support in Python I want to refactor the existing examples.
After this PR there exists the following examples:

fragmentizer.rs

Demonstrates the features of the Fragmentizer
Already exists

client.rs

Demonstrates how a client can be implemented using Fragmentizer, GreetingCodec and ResponseCodec.
Reimplements imap-next
Added by this PR

server.rs

Demonstrates how a server can be implemented using Fragmentizer, CommandCodec, AuthenticateDataCodec and IdleDoneCodec.
Reimplements imap-next
Added by this PR

The following examples will be removed:

fragmentizer_client.rs
fragmentizer_server.rs
parse_greeting.rs
parse_response.rs
parse_command.rs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

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

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
11180

Relevant Lines:
12024

💛  - Coveralls

The fuzz check failed in the CI due to #590.

Any idea how to fix? We could slap a ignore on the lint and create an issue. I can then take a look later so we don't block on this.

Just ignore it and wait for https://github.com/rust-lang/rust/pull/129103 getting merged.


Move cascades up and down

https://user-images.githubusercontent.com/15268625/211076284-79bcd7b4-ae3f-4400-a8f7-6a34ca8e1375.mov

Is a keyboard shortcut for this documented in Gt book or somewhere? Don't see the moving being triggered by UI so assuming it's a keyboard shortcut.

It’s same keystroke as move/select statement. Primary+up/down selects and moves the current cascade or statement. Shift+primary+up/down expands the current selection to the next complete statement/cascade. On Jan 6, 2023, at 5:23 PM, Alberto (Alt-s) @.***> wrote:
Is a keyboard shortcut for this documented in Gt book or somewhere? Don't see the moving being triggered by UI so assuming it's a keyboard shortcut.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you modified the open/close state.Message ID: @.***>


Support the import endpoint?

Have a general question, that I couldn't find an answer to in the source.  Does this plugin support the /import endpoint to handle events that are older than 5 days old while the device was offline?  I couldn't find a reference to /import in the code, or in the java MixPanelAPI file

Hi @brbatwork, no the /import endpoint is not currently supported by the Flutter SDK, nor the underlying native SDKs.


[WIP] Add an HTTP Handler implementation.

This doesn't work yet, it errors out because SetTimeout(...) isn't defined, presumably because of limitations in WASI (no threads!)

With help from @SteveSandersonMS fixed this so it is now working! Merging.