chore: enforce and add trailing commas

Description
Enforces trailing commas to improve our git blame moving forward.

A .git-blame-ignore-revs file has been implemented, with commit https://github.com/shapeshift/web/pull/1435/commits/2bafb400aedadca3391565dd5c84e19400d67467 ignored - this ensures the lint commit is automatically ignored when using git blame on GitHub.
A .gitconfig file is added which allows IDEs (tested on WebStorm and VSCode) to respect all skipped commits
postinstall.sh has been updated to automatically use the .gitconfig locally once yarn / yarn install is run

It also works locally by using git blame --ignore-revs-file .git-blame-ignore-revs.
For more information on this feature, please see here: https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[x] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
N/A
Risk
N/A
Testing
N/A
Screenshots (if applicable)
Example showing https://github.com/shapeshift/web/commit/adbb2be35220928ffc2236bc0e577f64b43999e5 is successfully ignored.

One thing I noticed is that while git blame seems to be working as expected on github, the VSCode git plugin (and I suspect this may also be the case with other editors) doesn't seem to care about the ignore revs file.
If we care enough about that, there are a couple of ways we can address this.
We could tell everyone to run git config blame.ignoreRevsFile .git-blame-ignore-revs to update their local git config, but... no.
A nicer alternative would be to add a .gitconfig file in the root with the following
[blame]
  ignoreRevsFile = .git-blame-ignore-revs

This still wouldn't work unless we add an 'include' for that path locally.
git config --local include.path '../.gitconfig' should take care of this.
So we could add this command as a script, or tack it on to postinstall.sh, and it should "just work"
A change like this could also reasonably be made in a follow-up PR.
@0xdef1cafe Keen for your thoughts on this.

@0xf11nix that's a brilliant suggestion - confirmed working in both VSCode and WebStorm, and added in https://github.com/shapeshift/web/pull/1435/commits/0c9571246e265cd57cb46673305df7f3a02d0eb8.

TIL, great one guys @0xApotheosis @0xf11nix
Note, a .git-blame-ignore-revs file has been implemented, with commit https://github.com/shapeshift/web/commit/adbb2be35220928ffc2236bc0e577f64b43999e5 ignored - this ensures the lint commit is automatically ignored when using git blame on GitHub.

Closing - we'll split this PR into 2.


Escaping special character

I am trying to query vespa with special chars like "+". I am referring to this page and if my understanding is correct we dont need to escape chars for ascii between 32 and 126. Since ascii of + falls between this we should be able to search without escaping special charater
yql - select * from sources * where defaultField_s contains "+".
The document contains field - defaultField : [ "+" , "another field"]
. https://docs.vespa.ai/en/reference/document-select-language.html under "Locale / Character sets"
Can someone help me with this issue

Please see https://docs.vespa.ai/en/query-rewriting.html#special-tokens - "+" is not a text character

Yes, only characters classified as text are indexed if you use default linguistics processing and default word/text matching.
 Document selection is only relevant for the latter.
If you want to query for "+", you can either switch to exact matching (suitable for short fields you'll match completely/by prefix and probably store as attributes), or otherwise plug in your own linguistics component to do tokenization the way you want.

The default tokenization (for full text indexes) will match those, since they will become the token lists ["2", "2"] and ["harry", "ron"] on both the document and query side. They will also match these documents when queried for just "2", or "ron" etc., but ranking will be able to sort more complete matches higher.

Thanks a lot Jon!
If we enable match "exact" on the text fields would that have any effect on the ingestion or search latency?

Are these short field string values, not full text fields? If so you can enable exact match. It will not have any impact on latency.

These are short field string values. I converted the field type to exact match but I am still having issue forming the query
select * from sources * where table contains "harry&ron". I also tried to escape the charater

So, what query do you see it produce? Set tracelevel=1.

I am getting the following error message
"message": "Could not create query from YQL: query:L1:54 no viable alternative at input 'defaultField_s contains "'",
"stackTrace": "com.yahoo.processing.IllegalInputException: com.yahoo.search.yql.ProgramCompileException: query:L1:54 no viable alternative at input 'defaultField_s contains "'\n\tat com.yahoo.search.yql.YqlParser.parseYqlProgram(YqlParser.java:809)

A query parse error. Could you share a full YQL query which produces this?

http:///search/?yql=select * from sources * where (defaultField_s matches "harry&ron")

Do u mean url-escape the char "&"

Yes, and the quotes. Just run all strings through an url-encoder.
Special tokens are for full-text search, so not relevant here I think.

By full-text search did u mean using "exact" match mode.

No I mean what you need for fields that contain arbitrarily long general text data, and therefore need token-based (partial) matching and full-text relevance, what you get by writing "indexing: index" on a string field.

We have added an example at the end of https://docs.vespa.ai/en/query-rewriting.html for using the vespa cli to create an escaped YQL string as well as an exact match example

Thanks a lot Kristain and John!
This was very helpful

Hi, I  was trying to create a query by  escaping wildcards.
Example - I want to do a wildcard search on attribute fields but we will need to escape some of the "." in the query string.
Yql - select * from sources *  where attr_field matches "^wild.card.File.". I want to escape the 1st and second "." in the string and only the last ">" should be treated as a regular expression.
I have tried escaping the character by using "" and also url encoding the string.

Using Query tracing, you will see what the query is parsed to: https://docs.vespa.ai/en/query-api.html#query-tracing. I will add an escaping example to the documentation:
#
# The artist field is:
#   "artist": "Meta..ica"
#
$ vespa query -v 'select * from music where artist matches "M.ta\\.\\.ica"'

The above query matches, as the first . matches any character, and the two latter are literal matches using an escape before each .
Hope this helps

There's already https://docs.vespa.ai/en/faq.html#how-does-backslash-escapes-work


Replace horrible delslice wrapper with more horrible delslice wrapper

Python implements del a[i:j] differently for old-style and new-style classes, and sometimes translates negative indices using __len__.
The present solution is to give up on trying to emulate all this nonsense and instead write an object that proxies __getitem__ to __delitem__ and __getslice__ to __delslice__, which we can then invoke using the a[i:j] expression syntax.

O_O and/or ++


"tm" always added at the end of device name

Hi,
Not a huge deal, but by default my fan came on as "Dyson Pure Link™", which I then renamed to Bedroom fan. Now my entity is named "fan.bedroom_fantm" and I can't seem to be able to do anything about that tm at the end.
Apart from this minor naming issue everything is working like a charm and it's cloudless, many thanks !

Version 0.4.0 fixes this. If your entity name is not changed, try remove and re-add your devices.


"Directed" properties on edges not being serialised

I'm seeing an issue where Gaffer does not appear to be serialising the "directed" properties on edges.
Here's an example of data entered into the graph:
{       "class": "gaffer.data.element.Edge",       "properties": {         "first_seen": {           "java.lang.Long": 100000         },         "count": 1       },       "group": "myEdge",       "source": "srcId",       "destination": "destId",       "directed": false }
When the same edge is retrieved by running an operation (GetAllElements), the output is:
{"class":"gaffer.data.element.Edge","properties":{"first_seen":{"java.lang.Long":100000},"count":1},"group":"myEdge","source":"srcId","destination":"destId"}
My schema looks like:
{   "edges": {     "myEdge": {       "source": "string",       "destination": "string",       "directed": "true",       "properties": {         "first_seen": "timestamp_min,         "count": "count.int"       }     }   },   "entities":{     "myEntity":{     "vertex": "string"}   } }
Seen on version 0.3.8.

This can be resolved by making the following change to the AbstractJacksonJsonProvider class in the rest-api module:
protected ObjectMapper createMapper() {
    final ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
  //mapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT);
    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    return mapper;
}

This currently breaks the python shell if the target graph contains undirected edges since the to_elements method in the ResultConverter (line 53 of gaffer.py) attempts to read the 'directed' property of the edge (which is never serialised if false).

We have also come across a few issues with the NON_DEFAULT flag. Initially we thought it would be useful as it would reduce the amount of data sent via the REST API, but it has led to complications.
I agree we should just remove the NON_DEFAULT option.
On a side note, looking at your schema, your 'myEdge' group states the edge should be directed but you are adding undirected edges into your graph. Either you have skipped validation or you may want to ensure you have the following in your dataTypes.json file:
"true": {
  "class": "java.lang.Boolean",
  "validateFunctions": [
    {
      "function": {
        "class": "gaffer.function.simple.filter.IsTrue"
      }
    }
  ]
}

The amount of data transferred could be reduced by turning off pretty printing (and leaving the formatting to the calling application) or forcing GZip compression - I'm not sure either of these are enforced at the moment?

Pretty print isn't enabled on the JSON serialisation of the results coming back from the rest service, but it is on the provided JSONSerialiser class that is often used on the client end.

Merged into develop.


Update liberty-12.1 SHA to HEAD of liberty.

Update master SHA to HEAD of liberty as of 04-04-2016.  Includes
typo fix and MySQL retry logic.

Shouldn't this be titled "Update liberty-12.1 SHA to HEAD of liberty"?

Doh, good catch

this is very yes :+1:

@prometheanfire another good catch, thanks!

re :+1: with reservations (getting this out more important than perfect commit message apparently :P)

recheck_upgrade

gating: http://i1.kym-cdn.com/photos/images/facebook/000/289/958/515.gif
change :+1:

that's two


Pager: to request communication from the client

Codecov Report

Merging #122 into master will decrease coverage by 0.29%.
The diff coverage is 57.14%.

@@            Coverage Diff            @@
##           master     #122     +/-   ##
=========================================
- Coverage   68.55%   68.25%   -0.3%
=========================================
  Files          14       15      +1
  Lines         795      816     +21
=========================================
+ Hits          545      557     +12
- Misses        250      259      +9

Impacted Files
Coverage Δ

bowtie/__init__.py
100% <100%> (ø)
:arrow_up:

bowtie/pager.py
52.94% <52.94%> (ø)

bowtie/_layout.py
79.45% <66.66%> (-0.18%)
:arrow_down:

Continue to review full report at Codecov.

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


Select where we want to host the technical documentation

Currently we have a batch of makrdown files listed at the root of this project, we need to decide how to distribute them.
We can either let them here, use a tool like backstage (can we?) or use github pages for starter.
I was also thinking if we want to use github pages to host our kdoc 🤔

IMO, the technical documentation would be more helpful in GitHub pages than the Dokka pages since we can already see them in the javadoc (as a consumer of the library).
Also, it might be possible to host the Dokka pages inside a mkdocs site.

Yop!
Are we agreeing on this ?

We'll use Github fro the technical documentation like we did previously for now.
We'll use Github pages to host the Dokka doc
All of those docs will be linked in the Zeroheight when it'll be available

We'll use Github fro the technical documentation like we did previously for now.

Do you mean having documentation on how to use a Spark button and all their variants in spark/docs/Button.md?
If so, I agree 💯 %


Ensure clients work after upgrade

Clients may be in an odd state, so reset some of them to make sure we
install good sets of them on upgrade.

:+1:


Reverse string

This is my first time in hacktoberfest 2022, please approve my pull request.
Code is perfectly working i submitted on leetcode solution
link - https://github.com/s4shantanu

I would like to contribute to this issue. Please assign this to me @sanyamjain036

Hey, I commit 78 files with top leetcode problems with a java solution.
Please approve my PR and merge them.

Hey, I commit 78 files with top leetcode problems with a java solution. Please approve my PR and merge them.

@sanyamjain036


rm docs/cri/installation.md

The file was replaced with the "Please update your bookmark" page on Apr 1, 2022 (PR #6758).

CI failure is irrelevant

https://github.com/kubernetes/test-infra/issues/31773


v0.9.0 release draft

[Bug Fix] close file before error check &remove redundant judgments （#137） @xujiajun
[Bug Fix] update golang.org/x/sys to support go1.18 build （#139）@ag9920
[Bug Fix] when use merge, error: The process cannot access the file because it is being used by another process (#166) @xujiajun
[Bug Fix] fix code example. (#143) @gphper
[Bug Fix] merge error after delete bucket (#153) @xujiajun
[Perf] add fd cache(#164) @elliotchenzichang
[Perf] optimize sadd function inserting duplicate data leads to datafile growth (#146) @gphper
[Refactor] rewrite managed to support panic rollback （#136）@ag9920
[Refactor] errors: optimize error management (#163) @xpzouying
[Test] Update testcase: use testify test tools (#138) @xpzouying
[Test] change list and set test with table driven test and testify (#145） @bigdaronlee163
[Test] refactor db_test for string use testify (#147) @Rand01ph
[Test] add [bucket_meat/entry] unit test (#148) @gphper
[Test] update bptree unittest (#149) @xpzouying
[Test] Update tx bptree testcase (#155) @xpzouying
[Test] complete zset tests with testify (#151) @bigdaronlee163
[Test] optimization tx_bucket_test and bucket_meta_test  (#156) @gphper
[Test] test:complete tx_zset tests with testify (#162) @bigdaronlee163
[Chore] remove unused member (#157) @xpzouying
[Style]  format code comments etc. (#140) @moyrne

Many thanks to contributors for participating


Certificate error when using wget to download freemarker from apache

Visible in JDK8 builds tonight - replicated on my local system - Firefox and Chrome seem happy with the cert they are provided with (which isn't the Manchester University one...)
URL:  https://www.apache.org/dist/freemarker/engine/2.3.30/binaries/apache-freemarker-2.3.30-bin.tar.gz

Apparnetly a common intermediate cert expired today, which would explain this. On that basis I shall hold off doing anything for now and assume the certificates will start working again ...

Seems ok on my laptop this morning so I'm going to close this on the asusmption that the pipelines will be ok tonight in relation to this.

JDK15 (which is later to kick off) ran through ok with this issue


Example only shows the model's hair

Hi,
Thank you for a nice example on integrating the text to audio.
I can receive the audio and Viseme, but the model is not loading correctly.
Would you be so kind to show me how to display the entire model?

Hi @JeroenDerks
I had your same problem. I solved it like this:

delete the project from your pc
check node, npm and yarn installation (my setup is node v20.2.0, npm 9.6.6 and yarn 1.22.19)
download the project again
run
$yarn install
$yarn start

Hi @dmicheletto,
I tried your suggested solution but the problem is still there. Any idea what may be the issue here? I am using Next.JS

Hi @JeroenDerks
I had your same problem. I solved it like this:

delete the project from your pc
check node, npm and yarn installation (my setup is node v20.2.0, npm 9.6.6 and yarn 1.22.19)
download the project again
run
$yarn install
$yarn start

Same issue for me also. tried updating everything but nothing worked

I didnt manage to fix this example either. Decided to move on.
Here you'll find a demo of where I got. You can type in the text box and the model will mimic the text with their face (voice control doesnt work)
Here is the corresponding repo if you're interested in the code.

This is a really great sample code to start with. But the question is, can
we replace the 3D model with something else? If yes, please elaborate on
what type or kind of model I can use and where I can get it. Any
suggestions or guidance are highly appreciated.
and I'm trying to fix the same code if it starts working, I'll share the
repo with you soon
Thanks,
Sumit
On Wed, Jul 26, 2023 at 4:44 PM JeroenDerks @.***>
wrote:

I didnt manage to fix this example either. Decided to move on.
Here https://dungeon-master-five.vercel.app/ you'll find a demo of
where I got. You can type in the text box and the model will mimic the text
with their face (voice control doesnt work)
Here https://github.com/JeroenDerks/dungeon_master/tree/main/public is
the corresponding repo if you're interested in the code.
—
Reply to this email directly, view it on GitHub
https://github.com/bornfree/talking_avatar/issues/5#issuecomment-1651576275,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AII44TOXWEZB5H2UYQ7H5ZTXSD32BANCNFSM6AAAAAAXVNUWGE
.
You are receiving this because you commented.Message ID:
@.***>

I fixed it by updating the latest library, also removing the .
 yarn add @react-three/drei @react-three/fiber @types/three three

This is a really great sample code to start with. But the question is, can we replace the 3D model with something else? If yes, please elaborate on what type or kind of model I can use and where I can get it. Any suggestions or guidance are highly appreciated. and I'm trying to fix the same code if it starts working, I'll share the repo with you soon Thanks, Sumit
…

Hey did you get anything on this?

Hey anyone solved this ? @JeroenDerks @sumitsarraf @dmicheletto @Sun-Deep @mquenumsiax @PatrickkZhao
I tried updating to latest versions, which just crashes the app instead

I had the same problem. Here's how I fixed it:

Clone repo
yarn install
yarn add three
Edit App.js change <planeBufferGeometry /> to <planeGeometry />
yarn start

Three is the only package I updated.
Prior:  "three": "^0.142.0",
Updated to:  "three": "^0.158.0",

I had the same problem. Here's how I fixed it:

Clone repo
yarn install
yarn add three
Edit App.js change <planeBufferGeometry /> to <planeGeometry />
yarn start

Three is the only package I updated.
Prior: "three": "^0.142.0",
Updated to: "three": "^0.158.0",
@JeroenDerks @sumitsarraf @dmicheletto @Sun-Deep @mquenumsiax @PatrickkZhao @Affan-Khan-13 @bornfree

Yeah the problem is with the use of package manager, npm dosent work, you have got to use yarn


fix(modp2p): fix libp2p metrics

Introduces unit tests for p2p module builds to avoid such issues in future
Reworks and cleans up resource manager registering with an actual fix
Removes libp2p metrics config

There is no need for users to configure Prometheus port because of future #2007

Moves WithP2PMetrics nodebuilder -> modp2p, because it needs access to private funcs

Codecov Report

Merging #2078 (e34ab89) into main (d375373) will increase coverage by 0.37%.
The diff coverage is 72.72%.

@@            Coverage Diff             @@
##             main    #2078      +/-   ##
==========================================
+ Coverage   55.39%   55.76%   +0.37%
==========================================
  Files         207      208       +1
  Lines       13176    13153      -23
==========================================
+ Hits         7299     7335      +36
+ Misses       5130     5076      -54
+ Partials      747      742       -5

Impacted Files
Coverage Δ

cmd/flags_misc.go
46.79% <0.00%> (ø)

nodebuilder/init.go
46.79% <ø> (ø)

nodebuilder/settings.go
58.33% <ø> (+3.78%)
:arrow_up:

nodebuilder/store.go
66.35% <0.00%> (-0.63%)
:arrow_down:

nodebuilder/p2p/resources.go
61.53% <61.53%> (ø)

nodebuilder/p2p/config.go
80.55% <100.00%> (-0.53%)
:arrow_down:

nodebuilder/p2p/host.go
91.42% <100.00%> (+0.51%)
:arrow_up:

nodebuilder/p2p/metrics.go
100.00% <100.00%> (+91.17%)
:arrow_up:

nodebuilder/p2p/module.go
95.45% <100.00%> (+16.58%)
:arrow_up:

... and 4 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Do not show item if adapter size is equal to 1

-if the Adapter has size = 1, the item is not displayed
-from 2 items or more, the display is normal
  Hope you reconsider and fix it
Sorry for my bad english

You can set another layout manager if adapter size is , this block of code may help you
if (brands.models.size()<=1) {
recyclerView.setLayoutManager(new LinearLayoutManager(this));
}else {
recyclerView.setLayoutManager(new SpannedGridLayoutManager(
new SpannedGridLayoutManager.GridSpanLookup() {
@Override
public SpannedGridLayoutManager.SpanInfo getSpanInfo(int position) {
if (position == 0) {
return new SpannedGridLayoutManager.SpanInfo(2, 1);
} else {
return new SpannedGridLayoutManager.SpanInfo(1, 1);
}
}
},
2/* Three columns /,
1f / We want our items to be 1:1 ratio */));
}

Could not verify with the current state of master.


jpeek CI server

We should have an CI server which would run jpeek analysis. It would behave like most CI tools (travis, circleci, appveyor, etc)
Proposed features:

github / gitlab webhook integration: jpeek CI should work with webhooks to trigger cohesion analysis on github / gitlab events
jpeek configuration file (jpeek.yml) for setting CI configfuration
web interface for setting up repository configuration and report viewing

@yegor256/z please, pay attention to this issue

@paulodamaso/z this project will fix the problem faster if you donate a few dollars to it; just click here and pay via Stripe, it's very fast, convenient and appreciated; thanks a lot!

@paulodamaso good idea


Added robots.txt and added sponsorship page

Added sponsorship page with tiers as well as a robots.txt to prevent google from crawling the sponsorship page.

@arnoldlam @jordanschalm @arabelle

There are some typos in the sponsorship PDF i.e. "UBC Launchpad is a Engineering Design Team at UBC that focuses on build web and mobile apps using proper Software Engineering techniques"

Title should have space between "Launch" and "Pad"


build: Add an automated steps that can help less code users to run th…

for fresh front-end that may wanna use our API, this is a simple script that automating the installation process, if something did not work, the use should finish that part on his/her own, the script console the important messages in different colors

if you can and when you merge, please add a reference or mention  to it in the readme so user be aware of it


self-supervised training architecture

Hi,
I have been looking into the nn architecture for pre-train in detail. However, I find it a bit puzzling due to the difference between the figure in the paper and the code in file models.py.
class Transformer(nn.Module):
    """ Transformer with Self-Attentive Blocks"""
    def __init__(self, cfg):
        super().__init__()
        self.embed = Embeddings(cfg)
        # Original BERT not used parameter-sharing strategies
        # self.blocks = nn.ModuleList([Block(cfg) for _ in range(cfg.n_layers)])

        # To used parameter-sharing strategies
        self.n_layers = cfg.n_layers
        self.attn = MultiHeadedSelfAttention(cfg)
        self.proj = nn.Linear(cfg.hidden, cfg.hidden)
        self.norm1 = LayerNorm(cfg)
        self.pwff = PositionWiseFeedForward(cfg)
        self.norm2 = LayerNorm(cfg)
        # self.drop = nn.Dropout(cfg.p_drop_hidden)

    def forward(self, x):
        h = self.embed(x)

        for _ in range(self.n_layers):
            # h = block(h, mask)
            h = self.attn(h)
            h = self.norm1(h + self.proj(h))
            h = self.norm2(h + self.pwff(h))
        return h

The code above does not match the figure shown in the paper. Could you please tell me which one should I follow to obtain the ideal result?

Hi,
Thanks for pointing out our oversight. There should be an Add&Norm after the attention layer, which should be h = self.norm(self.attn(h) + h). The experiments in our paper were done with the old codes. You can update it accordingly. But based on my experience, this update would not introduce a huge difference to the end performance. Many thanks again for your interest!


SyntaxError leads to exited docker container

What happened?
every syntaxerror leads to an exited docker container. It has to be restarted again.
django_1    |     if form.is_valid(): django_1    |                       ^ django_1    | SyntaxError: invalid syntax test_django_1 exited with code 1
What should've happened instead?
Steps to reproduce

I don't think it's a bug or a problem related to cookiecutter-django or Docker... It's just how Django works. If you have a syntax error that prevents the Python code to be parsed, Django's auto-reloader will crash and will need to be restarted, docker or not docker. It will happen if you start a project with Django's create project.

Feel free to provide more details if you feel like it's an actual problem, but for now, I'm going to close this.


extension publish PAT rights?

What rights are needed in the PAT for "tfx extension publish"? This page is only mentioning "You'll need a personal access token, too." Please add a description or link with more info.

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

ID: 44581f4a-93df-7507-3844-eadedf9a6cc4
Version Independent ID: 33c7bcf0-1512-975f-5ef8-9f2a192a84ad
Content: Add a Build or Release Task - Azure DevOps
Content Source: docs/extend/develop/add-build-task.md
Product: devops
Technology: devops-ecosystem
GitHub Login: @chcomley
Microsoft Alias: chcomley

@A-AontwSR Thank you for the feedback, assigning this to the author for review.

Hi @A-AontwSR,
Here's a link to more information about PATs. I've added a link to more info within the article as well.
Thanks for your feedback! Please @mention me if you have any further questions.

Hi @chcomley ,
Thanks for the link with more information, that is excactly what i needed 👍.
But I can not find a link to this info in the article on https://docs.microsoft.com/en-us/azure/devops/extend/develop/add-build-task?view=azure-devops#upload-your-extension

Hi @A-AontwSR, I'm so glad you got what you needed. I hadn't signed off on my PR, so it didn't get completed until just now, which is why you couldn't see the new link within the article. :) Thank you!


Add send-init-event input to allow suppressing setup event

Which problem is this PR solving?

Closes #148

Short description of the changes
Adds send-init-event input to disable sending an event representing the action setup.
How to verify that this has the expected result
Look at a smoke test trace and confirm the smoke-test-without-init-event job does not have an init event.
Note to maintainers
You may wish to add the new smoke test job to the required checks for the repository.

@tay-bird thank you for this! This feature was just released as part of v2.2.0


Use husky to run lint and unit tests before pushing

Reference

#56: Add prepush hooks to run linting and tests

Changes

Add husky dependency
Hook gulp lint and gulp test to the pre-push event

Examples
On failure (temporarily using precommit instad of prepush):
🍕  git commit -m "Use husky to run lint and unit tests before commit"
[09:52:34] Using gulpfile ~/Projects/virgilio/gulpfile.js
[09:52:34] Starting 'lint'...
[09:52:34] 'lint' errored after 142 ms
[09:52:34] ESLintError in plugin 'gulp-eslint'
Message:
    Expected { after 'if' condition.
Details:
    fileName: /Users/aminguez/Projects/virgilio/lib/virgilio.js
    lineNumber: 17
[09:52:34]
/Users/aminguez/Projects/virgilio/lib/virgilio.js
  17:4  error  Expected { after 'if' condition  curly

✖ 1 problem

husky - pre-commit hook failed (add --no-verify to bypass)

On success:
🍕  git push
[09:53:58] Using gulpfile ~/Projects/virgilio/gulpfile.js
[09:53:58] Starting 'lint'...
[09:53:59] Finished 'lint' after 221 ms
[09:54:00] Using gulpfile ~/Projects/virgilio/gulpfile.js
[09:54:00] Starting 'test'...
[09:54:00] Starting 'lint'...
[09:54:00] Finished 'lint' after 202 ms
[09:54:00] Starting 'unit-tests'...

  Virgilio.prototype.namespace$()
    ✓ can be called without `new`
    Throws an error when called with wrong arguments
      ✓ Called with foo
      ✓ Called with function () {}

  Virgilio.prototype.extend$()
    ✓ Can call extend$ with a named function
    ✓ Can call extend$ with a seperate name and function
    ✓ Cannot override everything
    ✓ Cannot override non-prototype functions
    Throws an error when called with wrong arguments
      ✓ Called with
      ✓ Called with function () {}
      ✓ Called with

  Virgilio.prototype.loadModule$()
    ✓ loads a named module only once
    ✓ gets access to the options object
    it throws an error when loading an invalid module
      ✓ throws an error when loading: [object Object]
      ✓ throws an error when loading: 1,2
      ✓ throws an error when loading: null
      ✓ throws an error when loading: undefined
      ✓ throws an error when loading: test
      ✓ throws an error when loading: /test/

  Virgilio.prototype.namespace$()
    ✓ can reuse names in a namespace-chain
    ✓ can give an action the name of a namespce
    ✓ will not overwrite with a namespace an existing property
    Test namespace validator
      ✓ can use simple words as a namespace
      ✓ can use valid namespace
      ✓ cannot be empty namespace
      ✓ cannot use invalid namespaces
    Throws an error when called with wrong arguments
      ✓ Called with
      ✓ Called with [object Object]
      ✓ Called with function () {}

  Virgilio.prototype.registerError$()
    ✓ Can create an error with just a name
    ✓ Can create an error with a named function
    ✓ Can create an error with a name and init function
    ✓ Cannot register an error with the same name twice
    Throws an error when called with wrong arguments
      ✓ Called with
      ✓ Called with function () {}
      ✓ Called with

  35 passing (21ms)

[09:54:00] Finished 'unit-tests' after 84 ms
[09:54:00] Starting 'example-tests'...
[09:54:00] Starting 'clean-example-tests'...
[09:54:00] Finished 'clean-example-tests' after 10 ms
[09:54:00] Starting 'generate-example-tests'...
[09:54:00] Finished 'generate-example-tests' after 50 ms
[09:54:00] Starting 'run-example-tests'...

  actions calling-actions
    ✓ Defining actions through chaining.
    ✓ Calling an action that calls another action.

  actions
    ✓ Defining an action.
    ✓ Calling an action.
    ✓ Calling an action that throws an error results in a rejected promise.

  errors
    ✓ Defining a simple error.
    ✓ Defining an error with a custom constructor.

  extending virgilio
    ✓ Extending a virgilio method.
    ✓ Calling an extended virgilio method.

  logging
    ✓ Log a message from an action on a namespace.

  modules and-configuration
    ✓ Getting the configuration in a module.

  modules and-namespaces
    ✓ Loading a module on a namespace.
    ✓ Calling an action loaded in a module on a namespace.

  modules
    ✓ Loading a module.
    ✓ Calling an action loaded in a module.

  namespaces
    ✓ Defining actions on namespaces.
    ✓ Calling an action on a namespace.
    ✓ Calling an action on a lower namespace.
    ✓ Calling an action on a sibling namespace fails.

  recursion
    ✓ Defining and calling a recursive action.

  requires
    ✓ Testing the require with explicit name
    ✓ Testing the require with implicit name
    ✓ testing the require override

  23 passing (33ms)

[09:54:00] Finished 'run-example-tests' after 70 ms
[09:54:00] Finished 'example-tests' after 132 ms
[09:54:00] Finished 'test' after 419 ms
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 378 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
To https://github.com/Dunkelheit/virgilio.git
   e706388..1645d00  master -> master

Good one, thanks!


Feat: Added check for email verified before letting user write post or comment

Changelog:
Pages:

disabled Write a post button
fixed text field is editable issue
fixed user passed as prop to comment compose in post view

Models:

Added isEmailVerified method

Components:

Disabled submit and write post view buttons accordingly

Thanks for PR'ing straight to dev!


[Close as Dup] assessor is not able to know a trial job is retried or not in PAI mode

Short summary about the issue/question: In PAI mode, a job might be preempted if the job is using bonus quota. In this case, assessor is not able to distinguish this status change, the intermediate results (e.g., learning curve) would become strange.
Brief what process you are following: normal process.

How to reproduce it: always

nni Environment:

nni version: 0.5.2
nni mode(local|pai|remote): pai
OS: ubuntu 16.04
python version: 3.6
is conda or virtualenv used?: no
is running in docker?: no

Anything else we need to know: no

Close as dup of correctly deal with job retries on openpai #919


[WIP] [ZEPPELIN-1339] [ZEPPELIN-1000] Note and services per user

What is this PR for?
This implements "notes per user" and "Multiple-users on a single WEB server" - For implementation reasons (the static fields present on the zeppelin server, and the need for each users to bind/configure their own note to the interpereters managed by the InterpreterFactory), this PR implements both - In other words, it would have been too difficult to decouple both).
What type of PR is it?
[Feature]
Todos

[ ] - More test
[ ] - Documentation
[ ] - Migration (notebook folder structure changes)
[ ] - Discuss the S3, Azure... repo cases
[ ] - Check unit tests
[ ] - Forsee a "shared" notebook workspace to mimick current behavior

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-1339
https://issues.apache.org/jira/browse/ZEPPELIN-1000

How should this be tested?
Logon / Logout with different users and check that the notes are different.
Screenshots (if appropriate)
Questions:

Does the licenses files need update? N
Is there breaking changes for older versions? Y
Does this needs documentation? Y

AFAIK, this issue is already assigned @khalidhuseynov, and he is in progress. @khalidhuseynov Can you share your status?

this approach is a bit more breaking in terms of changes as well as compatibility with older versions (at least on notebook and storage level). i was working more on a filtering approach on a notes based on permissions which is backward compatible and currently WIP under #1392 . possibly we could discuss each approach's pros and cons and come up with something better.

@echarles also would you mind rebasing from master?

@khalidhuseynov Good to discuss with you about what a multiuser note management would be.
For the file system repo, this PR will give you:
├── anonynmous
│   ├── 2A94M5J1Z
│   │   └── note.json
│   ├── 2BQA35CJZ
│   │   └── note.json
│   ├── r
│   │   └── note.json
│   └── interpreter-setting.json
├── user1
│   ├── 2BWADFP17
│   │   └── note.json
│   └── interpreter-setting.json
└── user2
    ├── 2BU5DAHBJ
    │   └── note.json
    └── interpreter-setting.json

The note folders are moved one level-down, each user having its workspace.
Each user also has its own interpreter-setting.json (was before in the conf folder) - Just like before, each interpreter contribute to the settings via classpath or file system.
Interpreter settings and bindings assignment is made possible by keeping separate interpreterfactory, searchservice... per web user session.
To ensure backwards compatibility, I propose (not yet implemented) a zeppelin.notes.per-user configuration being false by default.
The other repository implements (azure, github...) need more love with the credential service (each user can have their own credentials).
PS: I had a quick look at #1392 - Let's continue this discussion - Depending on the outcomes, we can decide what, who and where - About the when, the soone the better.

@echarles
Could you elaborate little bit about what will happen on the file system when notebook has multiple owners?
Concept of per user interpreter-setting.json seems conflict with "Run interpreter per user" https://github.com/apache/zeppelin/pull/1265. Could you explain little bit about this, too?

@echarles Did you also implement interpreter setting per user in this PR as described in ZEPPELIN-1338 ?

so build failed at least because of checkstyle violations. here are some to fix:
[ERROR] ZeppelinConfiguration.java[327] (sizes) LineLength: Line is longer than 100 characters (found 106).
[ERROR] ZeppelinConfiguration.java[363] (sizes) LineLength: Line is longer than 100 characters (found 110).
[ERROR] ZeppelinConfiguration.java[375] (sizes) LineLength: Line is longer than 100 characters (found 111).
[ERROR] Notebook.java[152] (sizes) LineLength: Line is longer than 100 characters (found 105).
[ERROR] Notebook.java[638] (sizes) LineLength: Line is longer than 100 characters (found 104).
[ERROR] GitNotebookRepo.java[60] (sizes) LineLength: Line is longer than 100 characters (found 112).
[ERROR] S3NotebookRepo.java[85] (sizes) LineLength: Line is longer than 100 characters (found 111).
[ERROR] VFSNotebookRepo.java[63] (sizes) LineLength: Line is longer than 100 characters (found 112).

Another question is related to what @Leemoonsoo mentioned regarding multiple owners. Actually that's broader question, say user1 added user2 as the reader, or writer for his noteA. then we still need to control each user's view based on note permissions.

since this also related to #1265 as well as ZEPPELIN-1338 for interpreter multi user environment, maybe @jongyoul could take more detailed look here as well to see possible design, performance, resource utilisation issues

@zjffdu Correct, this PR also implements ZEPPELIN-1338 User level interpreter setting (I have updated the title and description on this PR).
@Leemoonsoo Will check and adapt if needed the behavior for multiple owners and will further digg into #1265 to assess any conflit/divergence. I'd like to second the comment made by @zjffdu in #1265 on the interpreter options complexity. Btw, at the time of the introduction of the current interpreter modes, I already raised my worries on the complexity of those and honestly I am not convinced that I understand them fully (at least at first sight without digging into the code) and I fear that #1265 will make the situation still more complex. Taking back @zjffdu statement: Besides, I think we should think more deeply on the relationship between note, user and interpreter., and I would add also the relation with the SearchService, Helium... and any other services that Zeppelin uses (cc/ @jongyoul) - All these questions also binds to ZEPPELIN-1236 "Multi-user notebook with user controls support" created by @frosiere talking about shared dashboard... Having this discussion on the mailing list independently of any PR would better define the efforst to be taken in each PR.
@khalidhuseynov I have the bad habit to build with -Dcheckstyle.skip=true - I commit a fix in the next hour.

I have introduced a parameter in the URL ?runAs=... that allows to impersonate from an authenticated user another user. The needed R/W authorization are respected.
An alternative would be to intercalate the user in the URL: http://localhost/#/userName/noteId
Regarding multiple owners, I would simply drop this feature (just like a file, a note belongs to a unique user).
Apart minor navigation glitches, it works pretty well here.
I continue to follow #1265 and try to keep this PR orthogonal to what is discussed/implemented in there.
I will add a note regarding ZEPPELIN-1144 Zeppelin home page should only list notebooks with read or write permission #1330 - If listing all notes with read access is mandatory, I would have to fallback to the single notebook-authorization.json, or making the NotebookAuthorization service independent from the Notebook object.

@echarles can you explain more about the ?runAs=? I don't really see what this is used for.

@echarles I also believe having global/single NotebookAuthorization module would be more relevant

@khalidhuseynov

have fixed the format issues
I didn't change Notebook#getNotebookAuthorization, it was already present. However, a single global NotebookAuthorization as you like will change this. Will push something that moves the NotebookAuthorization out of the Notebook.
The ZEPPELIN_AUTH_USER_KEY is used to remove the object from the user WEB session when user session expires... (to free memory and avoid OOM) however it is not yet used to put the objects... Will also push something.

@corneadoug I will write asap a small document explaining the logic behing this PR (interpreter factory by user, runAs...).

@echarles I've looked around your PR. I think your PR makes Zeppelin support separate users within a same instance. I have two questions regarding current behaviour. The first is about collaborative mode. If some users want to share their notebook to others which are able to login in same Zeppelin instance, and enable them to run it, how can user do that? The second one is about running interpreter instance. For now, Zeppelin supports three mode for different notes to run an interpreter, 'shared', 'scoped', 'isolated'. But in your PR, because you make interpreterFactory divided by users, all interpreters run a 'isolated' mode for all users. This means that if hundred users run simple markdown interpreter, Zeppelin launches same number of JVM on a same host. My PR considers that situation but your PR divide interpreterFactory by user, then will break my consideration. What do you think of it?
And complexity of configuration, @corneadoug will help to make intuitive menu.

I didn't look through the PR, but according @jongyoul 's last comments. If only isolated mode is supported, then I don't think is a good idea.  We should not only consider isolatation of each user, but also need to take considerion of collobration. The most important thing is about how to share data between users. I think that is why we introduce scoped mode.

I have a prototype that supports the 3 modes. Give me a few days to polish and commit.

@echarles you can also push gradually to facilitate review process


Bug 2211057: Display only Default templates in Catalog

📝 Description
Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=2211057
Jira:
https://issues.redhat.com/browse/CNV-29281
In Templates catalog, some more than just default templates were shown when clicking on "Default templates". Now only default templates will be displayed with this change, consistently with the templates list that is filtered by "Default templates".
In addition, change "Default Templates" to "Default templates" - sentence case, for consistency reasons. Same for "All Items".
Note that there was a lot of discussion about the expected result of this bug I opened some time ago, various approaches, opinions, but it was decided to simply fix the filter at the end.
🎥 Screenshots
Default templates in the Templates list (before; correct number of default templates):

Before:
Incorrect number and cards displayed for "Default templates":

After:

@avivtur @metalice @pcbailey @upalatucci @vojtechszocs please review

/retest


[incubator][VC] support service account for tenant

notes: CA in tenant scope must be same with super master, because tokens controller always reset the CA field to super master ca.
fixes: #248

/ok-to-test

/lgtm
/approve


docker lock generate - produced an empty file

Dockerfile -
FROM ubuntu AS base
# ...
FROM mperel/log:v1
# ...
FROM python:3.6
# ...

docker-lock.json
{
	"dockerfiles": {},
	"composefiles": {}
}

I have added the --dockerfiles argument and it worked like a charm.


unable to search recursively

The plugin works good for non recursive search of files but encountering an error  while using the search like  ./src/**/*.js
Error : "asset optimizationTypeError: Cannot read property 'length' of undefined
at Object.size (C:\Users\kkasula\Documents\Workspace-2.0\2.0\node_modules\webpack-merge-and-include-globally\index.js"

I couldn't reproduce it and the example already includes recursion (jquery/**/*.min.js), do you use any transform option? the error can happen if transform returns null.

Yes, You are right. The issue with transform code snippet. It works good when I comment out the transform code snippet. Below is the code snippet,
transform: {
'js/2.0.js': code => require("uglify-js").minify(code).code
}
Could you please let me know where it went wrong in this snippet.

it happened to me with invalid js code such as "{{" "#"


LLM may generate annotations inside [CONTENT][/CONTENT]  , which causes parsing the JSON to fail.

Bug description
parse json from content inside [CONTENT][/CONTENT] failed at retry 1, exp: Expecting ',' delimiter: line 6 column 27 (char 135)

Bug solved method

Perhaps we could consider adding a constraint to the prompt, indicating not to generate annotations inside [CONTENT][/CONTENT], or alternatively, we could trim the annotations from the LLM's output.
Environment information

LLM type and model name:  OPENAI gpt-4-1106-preview
System version: macos 12.5.1
Python version: python 3.9

packages version: metagpt commit 82a5eec72707dee44174eae8f8ff1490a6819ecd
installation method:  pip install from source

Screenshots or logs

[CONTENT]
{
    "Required Python packages": [
        "numpy==1.21.2",
        "Kivy==2.0.0",
        "pygame==2.0.1",
        "sqlite3==2.6.0"  # sqlite3 is included in Python's standard library, but versioning is for consistency
    ],
    "Required Other language third-party packages": [
        "No third-party dependencies required"
    ],
    "Logic Analysis": [
        [
            "game.py",
            "Contains Game class with core game logic, uses numpy for array manipulation, and interacts with UI and Storage classes"
        ],
        [
            "main.py",
            "Contains main function, initializes the game by calling start_new_game() from Game class"
        ],
        [
            "ui.py",
            "Contains UI class for user interface, uses Kivy for rendering, and interacts with Game class"
        ],
        [
            "storage.py",
            "Contains Storage class for saving and loading high scores using SQLite"
        ]
    ],
    "Task list": [
        "storage.py",
        "game.py",
        "ui.py",
        "main.py"
    ],
    "Full API spec": "",
    "Shared Knowledge": "'game.py' contains the Game class which is central to the game logic and is used by both 'ui.py' for rendering the game state and 'storage.py' for saving the high score.",
    "Anything UNCLEAR": "The monetization strategy for the game is not specified. Will the game include ads, in-app purchases, or be a paid app? This will affect the design of the user interface and potentially the choice of libraries or frameworks."
}
[/CONTENT]
2024-01-10 14:58:53.419 | INFO     | metagpt.utils.cost_manager:update_cost:48 - Total running cost: $0.199 | Max budget: $10.000 | Current cost: $0.021, prompt_tokens: 1021, completion_tokens: 352
2024-01-10 14:58:53.423 | WARNING  | metagpt.utils.repair_llm_raw_output:run_and_passon:235 - parse json from content inside [CONTENT][/CONTENT] failed at retry 1, exp: Expecting ',' delimiter: line 6 column 27 (char 135)
2024-01-10 14:58:53.424 | INFO     | metagpt.utils.repair_llm_raw_output:repair_invalid_json:204 - repair_invalid_json, raw error: Expecting ',' delimiter: line 6 column 27 (char 135)
2024-01-10 14:58:53.424 | ERROR    | metagpt.utils.common:log_it:438 - Finished call to 'metagpt.actions.action_node.ActionNode._aask_v1' after 222.144(s), this was the 6th time calling it. exp: RetryError[<Future at 0x7fb828c8d340 state=finished raised JSONDecodeError>]
2024-01-10 14:58:53.424 | WARNING  | metagpt.utils.common:wrapper:510 - There is a exception in role's execution, in order to resume, we delete the newest role communication message in the role's memory.
2024-01-10 14:58:53.430 | ERROR    | metagpt.utils.common:wrapper:492 - Exception occurs, start to serialize the project, exp:

It seem because of # sqlite3 is included in Python's standard library, but versioning is for consistency.  It can not parse the comments.

You can set REPAIR_LLM_OUTPUT: true in key.yaml to fix the problem.

You can set REPAIR_LLM_OUTPUT: true in key.yaml to fix the problem.

It seems that there are no test cases to confirm that the current repair utils can fix the comments in json. Should I add some test cases to confirm this and then push a merge request? @voidking

A pr is welcome, this is a useful addition.

@kkdev163 If you have additional PR, feel free to reopen this issue


FYI: Archiving Rkt in CNCF

The CNCF TOC is discussing archiving the rkt project and is discussing the proposal here:
https://github.com/cncf/toc/pull/262
The proposal will open for at least 2 weeks of discussion after the maintainers are informed.
Please reach out to the PR above if you have any questions for the CNCF TOC.

:+1: for going through the archiving process.
For reference, the previous development team at CoreOS got dismantled, and post Red Hat acquisition there are no plan to push the development forward.
However @kinvolk still has some development plans for it, and we acknowledge the fact that there are plenty of stable deployments out there where rkt fits well.
For clarity the github.com/rkt/rkt project will keep existing as a standalone free-software project, but it won't be anymore under CNCF umbrella.

I think the README should be updated to reflect the current project status


Fix flaky test

Checklist

[ ] If you're adding a listing for your app, be sure your app is in the /_apps/ folder before opening this Pull Request.
[ ] All comments in frontmatter need to be removed.
[ ] Performs a useful action through the GitHub API that solves an existing problem for developers
[ ] Is original: for example, it does something not already done by an existing probot app
[ ] Has tests
[ ] Has documentation
[ ] Is open source
[ ] Has a license
[ ] Has a code of conduct
[ ] Has someone willing to at least minimally maintain them for the near future

Fixes #211
Curious if there's a better way to do this that uses << instead of + 🤔

It must since https://github.com/probot/probot.github.io/blob/master/_apps/auto-assign.md syncs.


Fix some code quality and bug-risk issues

Remove unnecessary comprehension
Remove assert statement from non-test files

Find the other issues found here - https://deepsource.io/gh/pnijhara/bottle/issues/?category=all
This PR also adds .deepsource.toml configuration file to run DeepSource analysis on the repo with. Upon enabling DeepSource, the analysis will run on every PR and commit to detect 560+ types of issues in the changes — including bug risks, anti-patterns, security vulnerabilities, etc.
To enable DeepSource analysis after merging this PR, please follow these steps:

Signup on DeepSource with your GitHub account and grant access to this repo.
Activate analysis on this repo here.

You can also look at the docs for more details. Do let me know if I can be of any help!

Why the change from assert to if and raise AssertionError? That doesn't make sense to me.

Why the change from assert to if and raise AssertionError? That doesn't make sense to me.

Because while running python with -O (optimize) flag, it will remove the assert statements

Yes I know. This is expected from assert statements. assert is for testing things you know are are true. As a safety net for really surprising edge cases or bugs, which can be turned off when you need/want the speed. This is by design, so I still don't understand the change.
If you think that shouldn't be an assertion but regular, proper, explicit error checking, then AssertionError is wrong. That would be a TypeError instead. IMHO.

@Marrin I agree with your suggestions. I am replacing AssertionError with TypeError.

@Marrin Please review this again!

The current CI stack does not test with deepsource, so there is no real benefit in adding a configuration file or even bundling it with the distribution. Does this file really need to be part of the source distribution?
The changes are also mostly cosmetic. There is no real bug-risk there. The list -> generator change may also impact performance. There was a time where str.join() was significantly faster with a list for short lists. I am unsure if that is still the case.
I never used deepsource. Does it really only detect these two issues?

The current CI stack does not test with deepsource, so there is no real benefit in adding a configuration file or even bundling it with the distribution. Does this file really need to be part of the source distribution?

The analysis configuration for a repository on DeepSource is defined in a .deepsource.toml file in the repository's root. This file must be present at the said location for analysis to be run. Moreover, this file does not require any tests and will not hinder the distribution.

The changes are also mostly cosmetic. There is no real bug-risk there. The list -> generator change may also impact performance. There was a time where str.join() was significantly faster with a list for shortlists. I am unsure if that is still the case.
I never used deepsource. Does it really only detect these two issues?

@defnull, DeepSource config ensures issues like these don't make it to master, primarily from external contributors. The Python analyzer detects over 520 types of issues categorized as bug-risks, anti-patterns, performance and security. The tool is free to use for open-source and is used by projects like https://github.com/uber/ludwig and https://github.com/slackapi/python-slackclient/
You can look at the other issues found here - https://deepsource.io/gh/pnijhara/bottle/issues/?category=all

DeepSource config ensures issues like these don't make it to master

No, it does nothing if the repo owner doesn't go through the trouble of creating an account and granting access.
I looked over the issues that DeepSource found in the Bottle repository. They're all minor, and almost every single one of them would be caught by a tool like pylint, which, unlike DeepSource, is an industry standard and requires no new accounts to be created or permissions to be granted.
If you want to address the minor issues that DeepSource found, that would be great (and thank you!). But there's no need to clutter Bottle's streamlined codebase with config files for obscure services that will never be used.

DeepSource config ensures issues like these don't make it to master

No, it does nothing if the repo owner doesn't go through the trouble of creating an account and granting access.
I looked over the issues that DeepSource found in the Bottle repository. They're all minor, and almost every single one of them would be caught by a tool like pylint, which, unlike DeepSource, is an industry standard and requires no new accounts to be created or permissions to be granted.
If you want to address the minor issues that DeepSource found, that would be great (and thank you!). But there's no need to clutter Bottle's streamlined codebase with config files for obscure services that will never be used.

Agreed with your statement. But DeepSource is completely different from pylint. Moreover, DeepSource is working in the config-free working of the tool.

DeepSource wants to "Act on my behalf" when I try to log-in with my github account. No. Just no.


fix: remove binary file

remove binary file

Hi @httpcheck , Thanks for the PR, would you mind also adding manager to .gitignore? I can merge this PR then, Thanks :+1:


Create a new release

Hi there
Can you please create an updated release of this Helm chart, supporting a newer release of Cortex?
Thank you

We have yesterday.

Good news, thank you! We where looking for this.


add: mean of data cpp :rocket:

Star the repo , please ;) thanks

i had done give star to this repo :)


Animation inconstencies

Is there a reason that our animation classes include 10px and 20px slides for up and down, but only 40px for left and right?

We'll add new classes for .ms-u-slideRightIn20 and .ms-u-slideLeftIn20 to be more consistent.


Use an array instead of a string for the FQDN parameter

We want to allow setting multiple FQDNs for the nextcloud service, so that the end user can specify multiple endpoints.
Summary

Short summary of what's included in the PR
Give special note to breaking changes

Checklist

[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] Update tests.
[ ] Link this PR to related issues.

please fix Summary section before merging


Incorrect uid responses from Commit FLAT JSON

Configuration information

{
"ehrbase_version": "0.16.1",
"openehr_sdk_version": "6f242df",
"archie_version": "5a4a9442e5e2516aed5f25636ac236682aace7b9",
"jvm_version": "Oracle Corporation 11.0.10+9",
"os_version": "Linux amd64 5.4.0-1031-azure",
"postgres_version": "PostgreSQL 11.6, compiled by Visual C++ build 1800, 64-bit"
}
Steps to reproduce

POST ecis FLAT composition
Actual result
    "meta": {
        "href": {
            "url": "http://343de15de87a:8080/ehrbase/rest/ecis/v1/composition8823ab0a-9b34-4bf8-a86a-314b6df8d43f::1"
        }
    },
    "action": "CREATE",
    "compositionUid": "8823ab0a-9b34-4bf8-a86a-314b6df8d43f::1"
}

Missing /after composition in the url
SystemID missing from both the url and the compositionUid
Expected result (Acceptance Criteria)

    "meta": {
        "href": {
            "url": "http://343de15de87a:8080/ehrbase/rest/ecis/v1/composition/8823ab0a-9b34-4bf8-a86a-314b6df8d43f::local.ehrbase.org::1"
        }
    },
    "action": "CREATE",
    "compositionUid": "8823ab0a-9b34-4bf8-a86a-314b6df8d43f::local.ehrbase.org::1"
}

Definition of Done

[ ] The defect is checked by an unit or an integration test (Robot)
[ ] Merge Request approved
[ ] Unit tests passed
[ ] Build without errors
[ ] Release notes prepared
[ ] No additional runtime warnings

Also, why is the host 343de15de87a:8080? Any way to tell ehrbase what the URL of the server should be?

This UID is wrong. It is missing the system identifier, like .. ::ehrbase.org:: .. (unless the EhrScape API actually handles this different, historically). This identifier can be set via:
https://github.com/ehrbase/ehrbase/blob/develop/application/src/main/resources/application.yml#L115

@jakesmolka - I think I do have the SYSTEM_NAME set correctly via the .env file (I just changed the SYSTEM_NAME from the provided example) although I can't see how this marries up with the .yml, and I'm not sure what does need to be changed in the config.
original - SYSTEM_NAME=local.ehrbase.org
mine - SYSTEM_NAME=freshehr.ehrbase.org
Maybe the .env is wrong? should it be SERVER_NODENAME?
Also there is a missing / in the response meta
"meta": {
        "href": {
            "url": "http://343de15de87a:8080/ehrbase/rest/ecis/v1/composition8823ab0a-9b34-4bf8-a86a-314b6df8d43f::1"
        }

Should be
    "url": "http://343de15de87a:8080/ehrbase/rest/ecis/v1/composition/8823ab0a-9b34-4bf8-a86a-314b6df8d43f::1"

@freshehr The shown part in the application.yml is just the root place for the configuration. With Spring Boot the following mechanism and its possibilities to overwrite configs kicks in too: https://docs.spring.io/spring-boot/docs/2.5.0/reference/html/features.html#features.external-config (i.e. env vars are overwriting default values, but maybe your setup has something set that overwrites env vars.)
And yes, your env var should be SERVER_NODENAME.
See the complete list of rules for the binding: https://docs.spring.io/spring-boot/docs/2.5.0/reference/html/features.html#features.external-config.typesafe-configuration-properties.relaxed-binding.environment-variables

Yes - the env vars are overwriting quite nicely (except I had the wrong env var which came from the ehrbase example .env -so that needs fixed. I'll submit a CR

Yes - the env vars are overwriting quite nicely (except I had the wrong env var which came from the ehrbase example .env -so that needs fixed. I'll submit a CR

See #537

@sidharthramesh The composition UID schema will change now. This will probably affect your MedBlocks code.

Thanks for the mention @jakesmolka! We'll make the changes on our end.


OnSize doesn't work for Animated Canvas

Description
I am using an animated canvas, because in my usecase the canvas can have a dynamic size (which changes during runtime).
In a previous version of react-native-skia I was able to transfer the (changing) size of my animated canvas to a skia value object.
Somehow it is not assigning the canvas size to the variable anymore.
For a non animated canvas everything works fine!
Reanimated version: 3.6.0
Expo: 50.0.0-preview.4
React Native: 0.73.0
Version
0.1.221
Steps to reproduce
Run the provided code snippet. You can see in the console, that the correct size gets assigned to the size-variable with the normal canvas component. For the animated canvas component the dimensions stay at {width:0, height:0}
Snack, code example, screenshot, or link to a repository
import React from 'react';
import { Canvas, Rect, rect, useComputedValue, useValue } from '@shopify/react-native-skia';
import Reanimated, { useDerivedValue, useSharedValue } from 'react-native-reanimated';

const AnimatedCanvas = Reanimated.createAnimatedComponent(Canvas);

const index = () => {
  // Doesn't work
  const size = useSharedValue({ width: 0, height: 0 });
  useDerivedValue(() => {
    const { width, height } = size.value;
    console.log('CANVAS SIZE', width, height);
  }, [size]);

  return (
    <View style={{ flex: 1 }}>
      {/* Works */}
      {/* <Canvas onSize={size} style={{ flex: 1, backgroundColor: 'red' }}>
        <Rect rect={rect(0, 0, 0, 0)} color='red' />
      </Canvas> */}
      {/* Doesnt work */}
      <AnimatedCanvas onSize={size} style={{ flex: 1, backgroundColor: 'red' }}>
        <Rect rect={rect(0, 0, 0, 0)} color='red' />
      </AnimatedCanvas>
    </View>
  );
};

export default index;

const styles = StyleSheet.create({});

I'm closing this for now as there doesn't seem to be an issue but please let me know if we should reopen this.


[Feature] Add the ability to secure the GraphQL Endpoint in ASP.net Core

Currently, due to the use of mapping endpoints, there is not an easy way to secure the entire graphql endpoint.  The object level security works but in cases where only authenticated users should have access to any data, even the schema, there is no easy way to accomplish this.
Adding the ability to apply an Authorization Policy to the endpoint itself would be very helpful for the security needs of several applications.

merged coming shortly in the 5.0 release


[Feature] More detail should be updated for hover popup panels.

Description
After the great feature in #395 , we got several new panels on GitHub. But I think we need more details refined for the feature, the problems I encounter are:

The new panels do not support i18n, they are always in English, so we should make them support i18n and follow the config.
The new panels do not support light mode and dark mode change, so we should make two different appearances for different themes.
The panels are usually used as screenshots to share. But right now the panels have a transparent backgrounds, so the screenshots may contain other elements on the page. So maybe we should remove the transparent layer.
Using line chart and bar chart in a same panel looks a little bit strange to me. I think maybe make the line chart more smooth may make it better.

Hi, @frank-zsy, thanks for your valuable suggestions!

The new panels do not support i18n, they are always in English, so we should make them support i18n and follow the config.

Agree.

The new panels do not support light mode and dark mode change, so we should make two different appearances for different themes.

Actually, the new charts do support the two themes and there are minor differences. You may find them identical because I set background color to black for both groups of charts. Do you think we should change the backgroud color to white in light theme?

The panels are usually used as screenshots to share. But right now the panels have a transparent backgrounds, so the screenshots may contain other elements on the page. So maybe we should remove the transparent layer.

Ok~

Using line chart and bar chart in a same panel looks a little bit strange to me. I think maybe make the line chart more smooth may make it better.

How about this:

Thanks for the reply @tyn1998 , actually I get help from a designer friend of mine and you can look into the new design here, you can take a look and evaluate if all the changes can be implemented?

Professional and impressive!
I will implement the look as much as I can.

/self-assign

Thanks for the reply @tyn1998 , actually I get help from a designer friend of mine and you can look into the new design here, you can take a look and evaluate if all the changes can be implemented?

So cool~


when passing data to a route, why do you have to call dispatch twice?

the title is pretty much it.
when passing route specific data to a route, you appear to have to call dispatch twice. why is this so?

This functionality is a plain port from ReSwift, I agree this can be improved. Maybe someone can open a PR, more than happy to have this in one call


HoloLens RS4 Preview Update

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/directx-development-overview.md
:white_check_mark:Succeeded
View

mixed-reality-docs/hololens-rs4-preview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


restore isEarlyExit() asserts specified build group to be None, else …

…partial restores count as up to date for all groups.

@matthid can you please add this to the release that you wanted to do today?

it is red?

@aszabo314 Thanks for this the error is probably unrelated and I added a fixup to this - in case you are interested: https://github.com/fsprojects/Paket/commit/4d817a1b9f4c76b7042957e939dd8d7c667c8c74


Unused variable in "Training a Simple Neural Network Advanced Jax Tutorial Notebooks"

On both https://github.com/google/jax/blob/main/docs/notebooks/Neural_Network_and_Data_Loading.ipynb and https://github.com/google/jax/blob/main/docs/notebooks/neural_network_with_tfds_data.ipynb notebooks, which are part of the Advanced JAX Tutorials, there is the usage of impure functions.
The step size value which is used on the jitted update function is a global value.
Also, the network initial parameters scale is being as hyperparameters but is not being used, and the actual value used is different.

This is really a question of how you define a "pure function".
Yes, in both notebooks, step_size is a global variable that is referred to by update. So you could argue that by any structural definition of purity it is not pure. It is technically true that if step_size were to change, then the behavior of update (in the absence of jit, etc.) would change, i.e., update is not in the strictest sense only a mathematical function of its arguments. But step_size does not change in this program, so we can consider it in a practical sense "pure": in this program, in the way it is used, it acts like a pure function.
Recall also that purity is not something that JAX enforces. Purity is a promise that programmers make to JAX. JAX doesn't really care whether a function uses state internally. All we require is that the programmer must promise that functions transformed by JAX transformations like jit act like pure functions, that is, if the function is supplied identical inputs, it will return identical outputs. So long as, during the execution of any given program, that property is maintained, that is all we need.
Hope that helps!
You're correct that param_scale is not used. Do you want to send a PR fixing that?

Got it! Thank you for the explanation.
Sure, I'll create a PR right away.


sqlite function in insert break other values

Apparently the following parsed statement is not good enough to pass:
insert into timestamps (fid, date) values(:fid, julianday('now'))"

it does insert the date, but sadly ignore fid.
:thinking: not sure how this would be solved :sob:
function DB:insert(tbl_name, rows)
  --- ...
  clib.wrap_stmts(self.conn, function()
    for _, v in ipairs(items) do
      local s = stmt:parse(self.conn, P.insert(tbl_name, { values = v }))
      --> P.insert(....) => "insert into timestamps (fid, date) values(:fid, julianday('now'))"
      --> stmt:parse(..) => "insert into timestamps (fid, date) values(NULL, julianday('now'))"
      s:bind(v)
      s:step()
      s:bind_clear()
      table.insert(ret_vals, s:finalize())
    end
  end)
end

On the parser side, instead of binding to :date it uses the value in place.
local pvalues = function(defs, kv)
  --- ....
  local keys = {}
  for k, v in u.opairs(defs) do
    if type(v) == "string" and v:match "%a+%(.+%)" then
      tinsert(keys, v)
    else
      tinsert(keys, ":" .. k)
    end
  end

  return ("values(%s)"):format(tconcat(keys, ", "))
end

Options:

At parser level by having all the key values set in place, when one of the keys is a sql function.
At db.insert level remove keys that match type(v) == "string" and v:match "%a+%(.+%)"
Research more ....

😆 😆 😆 f####
https://github.com/tami5/sql.nvim/blob/2feef57bef147cf502b4491e3fc6c58a05f3096e/lua/sql/stmt.lua#L307-L315 . We should've errored out, here's 3 hours I will never get back
pushing fix soon ..


Date picker #16

closes issue #16 and also closes issue #5

So sorry y'all - didn't do a sep branch for all dream view.


Fixed closing div in Image Slider example

Thanks! There's an html.html inside of this section which should build this part out--Can you update that file and build it so it won't get overwritten?

replacing with #4


bug with cache regeneration

Seems it will only regenerate if files are the same?

Looks that way. Thanks!


Imagepicker.pickimage restarting the camera when accessing camera or storage for first time.

Below are the steps to reproduce.
Include library

image_picker: 0.6.5

Launching for very first time.
Checking for runtime permission using Permission handler
Implementation to open camera
await ImagePicker.pickImage(source: ImageSource.camera);

Try to capture image -> Image is captured but file is not returned and execution is still in the camera screen. Now capture again, this time proper file is returned.
This is happening for the very first time when user is allowing permission. Once the permission is granted it is not happening and is working as expected.

Android version - 9.0
Flutter and dart version
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 10.0.18362.720], locale en-IN)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Android Studio (version 3.5)
[√] Connected device (1 available)
• No issues found!
NOTE : This is not breaking UI or logic. Just experiencing an issue from user point of view.
Any help would be appreciated.

Hi @ragu-swaminathan
Is it every time like this after uninstalling app and running for the first time?
Can you check with different devices?
I tried with Redmi Note 7 (Android 9) and stable, v1.12.13+hotfix.9, can't reproduce

Hi @VladyslavBondarenko  ,
Yes, every time whenever the permission is allowed for the first time (Even uninstall, clear data and toggling camera permission ). This is appearing with multiple devices.

Maybe the same with the issue
https://github.com/flutter/flutter/issues/41598
I got a lot of issues :
FileSystemException: Cannot open file, path = '/storage/emulated/0/DCIM/Camera/20200105_162456.jpg' (OS Error: No such file or directory, errno = 2)

Step to reproduce:
1.Create fresh simulator
2.run app
3.try to take photo or browser from gallery.
It nothing happen until  re-open app. (Image is captured but file is not returned and execution is still in the camera screen)
Flutter doctor -v:
[✓] Flutter (Channel unknown, v1.12.13+hotfix.5, on Mac OS X 10.14.6 18G84, locale en-VN)
    • Flutter version 1.12.13+hotfix.5 at /Users/bg/Developer/flutter
    • Framework revision 27321ebbad (4 months ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/bg/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 41.1.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.44.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.9.1

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)

• No issues found!

@VladyslavBondarenko please take a look.

I have tested on 1.12.13+hotfix.9, sill occur.

@uzumaki258  & @VladyslavBondarenko . This issue still persist. Similar to #41598

I hope this issue will be fixed soon,  I see a lot of warning in firebase crashlytics.
Then I have to email to the user that re-open app to get rid them.

Any update for this, I have 1k+ users are affected now,

I think it's a serious issue. @VladyslavBondarenko

@uzumaki258 are you experiencing this with current stable 1.17.1 or any other current channels?
with the last image_picker 0.6.6+4?

@uzumaki258 are you experiencing this with current stable 1.17.1 or any other current channels?
with the last image_picker 0.6.6+4?

I am on 1.12.13+hotfix.9, 0.6.6+4, let me try with 1.17.1

@uzumaki258 are you experiencing this with current stable 1.17.1 or any other current channels?
with the last image_picker 0.6.6+4?

@VladyslavBondarenko I have upgraded to 1.17.2 but still occur. You can reproduce it by create a new fresh simulator and run with image_picker example.
Thank you.

I think the issue is when asking for permission and try to show the camera/storage at the same time. One solution can be if you ask this permission before calling the imagePicker.getImage(...) method. I fix this issue by asking READ_EXTERNAL_STORAGE permission when the app launch.

imagePicker.getImage(...) method. I fix this issue by asking READ_EXTERNAL_STORAGE permission when the app launch

I have used it. But this issue only occur some phone devices like Motorola, Galaxy S7.

imagePicker.getImage(...) method. I fix this issue by asking READ_EXTERNAL_STORAGE permission when the app launch

I have used it. But this issue only occurs some phone devices like Motorola, Galaxy S7.

I still facing with some phone galaxy S7 and S10

Verified this issue on Samsung S10 device using latest master version and image_pickers latest example repo (^0.6.7+22). The picture is returned properly from live camera as well as from gallery properly without any issues.
https://user-images.githubusercontent.com/67046386/107637188-bc4bab00-6c93-11eb-91d8-fa1fdd12da2b.mp4
This plugin has gone through many updates (bug fixes and new features) since the original issue was logged and hence this issue isn't reproducible anymore.  Closing this as probably fixed. If anybody disagrees or still facing same issue, write in comments and I'll reopen it.

flutter doctor -v
[✓] Flutter (Channel master, 1.27.0-2.0.pre.65, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-IN)
    • Flutter version 1.27.0-2.0.pre.65 at
      /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision a8075deea3 (9 hours ago), 2021-02-10 22:46:02 -0500
    • Engine revision cdc49c575b
    • Dart version 2.13.0 (build 2.13.0-25.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.53.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.18.1

[✓] Connected device (4 available)
    • SM G975F (mobile)           • RZ8M802WY0X   • android-arm64  • Android 10
      (API 29)
    • sdk gphone x86 arm (mobile) • emulator-5554 • android-x86    • Android 11
      (API 30) (emulator)
    • macOS (desktop)             • macos         • darwin-x64     • Mac OS X
      10.15.4 19E2269 darwin-x64
    • Chrome (web)                • chrome        • web-javascript • Google
      Chrome 88.0.4324.150

! Doctor found issues in 1 category.

Hi,
works only in Debug, could you please try it as release?
Fails on Samsung S-T595 Android 10 Release Build with 0.7.0 image_picker as highest tested repo.
Thanks Martin


Plan

Current status: the C API doesn't yet support gradients for eager tensors, so work is on-hold until it's added. Two alternatives approaches are 1. use the graph (TensorFlow 1.0) API or 2. use the C++ API instead.
Plan

[x] Auto-generate ops - use either TF_GetAllOpList or tensorflow/core/ops/ops.pbtxt

[x] Generate Tf::RawOps
[x] Generate Tf::Math that uses Tf::RawOps
[x] Generate Tf methods that uses Tf::Math

[x] Numo integration
[x] Data::Dataset module
[ ] Keras Beginner - keras_beginner branch

[x] MNIST load data
[ ] Compile model
[ ] Fit model

[ ] Keras Advanced (subclassing) - keras_advanced branch

[ ] Model module

[ ] Save and load models - saved_model branch
[ ] Switch to the unified C API once released

Resources

Guide for language bindings

Maybe (later)

[ ] Flatten classes

Tf::Keras::Models::Sequential -> Tf::Sequential or Tf::SequentialModel
Tf::Data::Dataset -> Tf::Dataset
etc

In future You planing using tensorflow lite? Meybe with compiling tensorflow lite directly in gem?

doesn't the TF python API use swig? Maybe that'd be a better way to do the ruby port?

@sp00ck (sorry for the long delay) There aren't any plans to support TensorFlow Lite.
@eggie5 From what I can tell, it uses the C++ API (but not SWIG). This is probably the quickest path forward, but requires a complete rewrite. Someone is welcome to try this.
@Ashvith Let me know if you find the updated link.

@ankane I believe it must be this.

Great, updated.

@ankane meybe, I can't check. Not working on my hardware x86 with Fedora

Any plans to support the Tensorboard utils ?


Rewrite to support searching with a search box

The current site has a big search box and faceted searching; the stakeholders say this is a must-have.

First brute-force approach: Use Fuse.js to index the Getty records


Sagemaker Asynchronous TEI Endpoints Fail On Requests Greater Than 2mb

System Info
TEI Image v1.4.0
AWS Sagemaker Deployment
1 x ml.g5.xlarge instance Asynchronous Deployment
Link to prior discussion: https://discuss.huggingface.co/t/async-tei-deployment-cannot-handle-requests-greater-than-2mb/107529/1
On deployment, we see two relevant logs:
in logs on inital deployment:
{
   "timestamp": "2024-11-04T19:32:25.770556Z",
   "level": "INFO",
   "message": "Args { model_id: \"BAA*/**e-m3\", revision: None, tokenization_workers: None, dtype: Some(Float16), pooling: None, max_concurrent_requests: 512, max_batch_tokens: 163840000, max_batch_requests: Some(30), max_client_batch_size: 320000, auto_truncate: false, default_prompt_name: None, default_prompt: None, hf_api_token: None, hostname: \"container-0.local\", port: 8080, uds_path: \"/tmp/text-embeddings-inference-server\", huggingface_hub_cache: Some(\"/data\"), payload_limit: 200000000, api_key: None, json_output: true, otlp_endpoint: None, otlp_service_name: \"text-embeddings-inference.server\", cors_allow_origin: None }",
   "target": "text_embeddings_router",
   "filename": "router/src/main.rs",
   "line_number": 175
}

in cloud watch data logs (on failure):
Received client error (413) from primary with message "Failed to buffer the request body: length limit exceeded
The request in particular for the above log was 2.4 mb in size. Our payload limit env var is set such that it should be able to support 200 mb.
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
import boto3
sagemaker_client = boto3.client('sagemaker', region_name=AWS_REGION)
from sagemaker.huggingface import get_huggingface_llm_image_uri
get_huggingface_llm_image_uri("huggingface-tei") # ...tei:2.0.1-tei1.4.0-gpu-py310-cu122-ubuntu22.04

import json
import sagemaker
import boto3
from sagemaker.huggingface import HuggingFaceModel, get_huggingface_llm_image_uri
from sagemaker.async_inference.async_inference_config import AsyncInferenceConfig

try:
    role = sagemaker.get_execution_role()
except ValueError:
    iam = boto3.client('iam')
    role = iam.get_role(RoleName='sagemaker_execution_role')['Role']['Arn']

# Hub Model configuration. https://huggingface.co/models
hub = {
    'HF_MODEL_ID':'BAAI/bge-m3',
    "DTYPE": "float16",
    "MAX_BATCH_TOKENS": "163840000",
    "MAX_CLIENT_BATCH_SIZE": "320000",
    "PAYLOAD_LIMIT": "200000000",
    "MAX_BATCH_REQUESTS": "30",
    'MMS_MAX_REQUEST_SIZE': '2000000000',
    'MMS_MAX_RESPONSE_SIZE': '2000000000',
    'MMS_DEFAULT_RESPONSE_TIMEOUT': '900',
    "TS_MAX_REQUEST_SIZE": "1000000000",  # true max is 1gb
    "TS_MAX_RESPONSE_SIZE": "1000000000",  # true max is 1gb
    "SAGEMAKER_TS_RESPONSE_TIMEOUT": "3600",
    "SAGEMAKER_MODEL_SERVER_TIMEOUT": "3600",
}

# create Hugging Face Model Class
huggingface_model = HuggingFaceModel(
    image_uri=get_huggingface_llm_image_uri("huggingface-tei"),
    env=hub,
    role=role,
)

async_config = AsyncInferenceConfig( output_path='s3://<BUCKET>/TEI_embedding/output', max_concurrent_invocations_per_instance=1)

# deploy model to SageMaker Inference
predictor = huggingface_model.deploy(
    initial_instance_count=1,
    instance_type="ml.g5.xlarge",
    tags=tags,
    endpoint_name="experimental-tei-endpoint",
    async_inference_config=async_config,
  )

import json
import boto3

def upload_to_s3(data, bucket, key):
  s3 = boto3.resource('s3')
  s3_object = s3.Object(bucket, key)
  s3_object.put(Body=json.dumps(data))
  return f"s3://{bucket}/{key}"

def invoke_async_endpoint(endpoint_name, payload):
  sagemaker_runtime = boto3.client('sagemaker-runtime')
  response = sagemaker_runtime.invoke_endpoint_async(
      EndpointName=endpoint_name,
      InputLocation=payload,
      ContentType='application/json'
  )
  return response['OutputLocation']

data = ["My name is Clara and I am" * 1000, "My name is Clara and I am", "I"] * 100
inputs = {
    "inputs": data,
}

bucket = '<S3_BUCKET>
key = 'TEI_embedding/input/data.json'

payload_s3_path = upload_to_s3(inputs, bucket, key)
print(f"Uploaded payload to: {payload_s3_path}")

# Invoke the asynchronous endpoint
endpoint_name = 'experimental-tei-endpoint'
output_location = invoke_async_endpoint(endpoint_name, payload_s3_path)
print(f"Asynchronous inference initiated. Output location: {output_location}")

Expected behavior
Payloads up to 200mb in size to be supported in line with PAYLOAD_LIMIT and existing async endpoints (which should support up to 1 gb as per sagemaker documentation)

cc: @philschmid follow up from our email conversation. Thanks again!

I am also having the same issue with my deployment. Setting PAYLOAD_LIMIT as an environment variable seems to have no impact on the behavior of my endpoint. The other variables I am setting (such as MAX_CLIENT_BATCH_SIZE) are working as expected.
It appears this was identified as an issue before, resolved (https://github.com/huggingface/text-embeddings-inference/pull/298), and released with version v1.3.0. Perhaps there was a regression?


Nodes on database

Python scripts to manage the information of a node in the database. The scripts will take a json file with the necessary information and will return a json with the information if consults are run.

Create node
Read node info
Delete node
Edit node

Each has the folowing data:

Pin number
Node
Direction

Input
Output

Pull resistor

Pull up
Pull down
None

PWM

ON
OFF

Edge mode

Raising
Falling
None

Each has the folowing data:

Node number
Node IP
Master
Node name
Node description


maintainers: add MichaelPachec0.

Description of changes
Adding myself so that @natsukagami can add me as a maintainer for the shikane package (PR #229224)

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

I believe you wanted to mention @natsukium

I believe you wanted to mention @natsukium

thanks for the correction and apologies for the ping.

Thank you!


feat: expose builder stages

Exposes builder stages so we can write functions that return a builder type at a specific stage, for example:
    /// Returns new EVM builder
    fn evm(&self) -> EvmBuilder<'static, SetGenericStage, (), EmptyDB> {
        Default::default()
    }

the original idea was to have the processor configure the evm, instead of having args in the trait methods, but now we're going to just return the Evm directly. closing since we don't need it any more


Update understand-this-guide.md

Added a brief introduction of what OpenAPS is doing with all these commands ; )  Feel free to correct/adjust/add to it, just felt that knowing what's going on as early as possible was helpful.

Nice. Thanks!


Add tag on resource and resource pool for filtering

https://github.com/jazzband/django-taggit

Done and merged in dev


Cs 6369/encode card payloads for matrix

Matrix events are JSON, but are a limited subset called "Canonical JSON" (https://spec.matrix.org/v1.9/appendices/#canonical-json)
Since the data sent and received is not typed at the matrix level, this manifests as runtime errors whenever we send things in events (like cards) that contain floats.
To try and limit the number of places we need to remember this, this PR adds support for automatically encoding and decoding values put inside "data" in a matrix event. Encoding is done in the matrix service. Decoding is done in addRoomEvent
There's an end to end test in the matrix package, this logs into a second user account, as the matrix client immediately returns sending messages even if they later fail so in order to check it's really sent we log into a second account and check we can see the shared card.
I've updated the ai-bot and the promptfoo config, sometimes one of the tests fails on the prompt testing where the structure generated has an additional layer - this is an annoying false positive, the code handles that. This part will change regardless with the function calling rewrite.

The tests in this should be enough, but the easiest manual test is to take one of the pets cards and set the cuteness rating to 0.1 or some other float. Then share that card in an AI chat and ask for some change. If the bot is able to generate anything then both sides have worked, previously the message would fail to send. Here's what I get:


Migrate from Jira to GitHub Issues

Discussion & Planning Thread https://lists.apache.org/thread/q5nbwxqvfkzlz664c4kchzkbj26c3r89
Migration thread: https://lists.apache.org/thread/p623g3k8hx5dc9jzmso2n9mk2cdk15v9
Imported from Jira BEAM-14441. Original Jira may contain additional context.
Reported by: damccorm.

The following subtask(s) are associated with this issue: #21685, #21686


Move ssl passwords into variables

Why is the password hardcoded in configs and scripts? This should be changeable between environments...

As mentioned in the docs, this repository has SSL and SASL plaintext mechanisms intended for proof of concept purposes. This is not meant to replace your need to generate your own secure certificates or SASL credentials.


Add GodotCPP-generated documentation

It looks like we don't build any debug binaries, so the documentation never gets pulled in

wrong press? oh no

it's fine. the documentation is there now, but it won't be pulled into the build artifacts, since they're all release


Progressing with reduce and map.update

Hello @BrooklinJazz
A few questions on WeighterVoting
This syntax seems to work

And this raises a compile error

Maybe I am missing something in the use of -> vs do?
I do not understand why the solution proposed uses {} instead of [], since the result is supposed to be accumulated into a list, not a map? I assume map is chosen because of the way we can manipulate data within a map?
If the final keyword list needs to be delivered in alphabetical order, I thought "List.keysort(final_list, 0, :asc)" would work, but since I place it ouside of Enum it raises the error of being out of scope.
I've been hitting some roadbloacks. Checking the solution suggested is useful, though it leaves a few doubts:

Am I correct in understanding that map is chosen over lists because we can reference a value by key?
The function Map.update already does the "finding", instead of having to apply a filter on enum or a comprehension?
Is the solution accounting for the ordering alphabetically? If so, is that something that maps do automatically, order themselves alphabetically?

Thank you!

Maybe I am missing something in the use of -> vs do?
Anonymous functions must use -> and not do.


Please provide a demo

The code does not appear to work and the included demos are all broken. thanks

@Mtillmann there was a very old broken version published to npm. Apologies for the confusion. We've updated the README and published a fixed version, see: https://github.com/skilitics/two-fingers#installation

We're also removing the tools directory, which was a holdover from the old okzoomer package this was a fork of (though not explicitly so in github, unfortunately).

Thanks guys, I'll check the new code when I have the time


When using timestamp to verify the code, it isn't converted to UTC

Hi,
Maybe I'm missing something, but is there a reason when using the timestamp parameter it isn't converted to UTC as when we do not use it?
Regards

You can convert it to UTC yourself when passing it in.


gir: Regenerate with fixed properties generation

Depends on https://github.com/gtk-rs/gir/pull/1371

This one is not ready yet, we need to update the examples/book to accommodate the ListItem -> Object change. See the latest commit.
cc @Hofer-Julian

This one is not ready yet, we need to update the examples/book to accommodate the ListItem -> Object change. See the latest commit.
cc @Hofer-Julian

Good to know.
The book nowadays depends on stable so this at least is not a blocker.


Syslog and nxstyle fixes

Summary
Extracted from https://github.com/apache/incubator-nuttx/pull/2347
Impact
Testing

The following nxstyle errors are known. I'm not going to fix them in this PR.

Constants definitions like TPM_CnSC_MSB.

arch/arm/src/kl/kl_pwm.c:438:44: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:438:59: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:445:44: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:445:59: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:452:44: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:452:59: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:459:44: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:459:59: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:466:44: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:466:59: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:473:44: error: Mixed case identifier found
arch/arm/src/kl/kl_pwm.c:473:59: error: Mixed case identifier found

A table, not trivial to fix:

boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:142:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:143:95: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:144:88: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:145:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:146:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:147:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:148:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:149:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:150:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:151:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:152:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:153:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:154:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:155:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:156:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:157:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:158:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:159:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:160:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:161:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:162:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:163:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:164:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:165:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:166:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:167:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:168:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:169:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:170:119: error: Long line found

Identifiers like ASCII_a:

boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:397:35: error: Mixed case identifier found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:651:16: error: Mixed case identifier found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:660:38: error: Mixed case identifier found