Partial Matching / Wildcard queries.

Thanks for all the awesome support.
Our CRM has an emails table (of course) and I need my matches to be wildcard / partial. I am currently using Nova to build our dashboard. It supports Scout out of the box, so if a model is Searchable it just automatically uses Scout instead of its internal search. But my current setup needs to be able to match on partials.
Here is an example query (logged with slowlog)
[2019-04-28T16:16:08,077][INFO ][index.search.slowlog.query] [node-1] [email][2] took[487.2micros], took_millis[0], total_hits[0], types[emails], stats[], search_type[QUERY_THEN_FETCH], total_shards[5], source[{"size":200,"query":{"bool":{"must":[{"match":{"email":{"query":"test","operator":"OR","prefix_length":0,"max_expansions":50,"fuzzy_transpositions":true,"lenient":false,"zero_terms_query":"NONE","auto_generate_synonyms_phrase_query":true,"boost":1.0}}},{"match":{"first_name":{"query":"test","operator":"OR","prefix_length":0,"max_expansions":50,"fuzzy_transpositions":true,"lenient":false,"zero_terms_query":"NONE","auto_generate_synonyms_phrase_query":true,"boost":1.0}}},{"match":{"last_name":{"query":"test","operator":"OR","prefix_length":0,"max_expansions":50,"fuzzy_transpositions":true,"lenient":false,"zero_terms_query":"NONE","auto_generate_synonyms_phrase_query":true,"boost":1.0}}},{"match":{"user":{"query":"test","operator":"OR","prefix_length":0,"max_expansions":50,"fuzzy_transpositions":true,"lenient":false,"zero_terms_query":"NONE","auto_generate_synonyms_phrase_query":true,"boost":1.0}}},{"match":{"did_you_mean":{"query":"test","operator":"OR","prefix_length":0,"max_expansions":50,"fuzzy_transpositions":true,"lenient":false,"zero_terms_query":"NONE","auto_generate_synonyms_phrase_query":true,"boost":1.0}}},{"match":{"original_email":{"query":"test","operator":"OR","prefix_length":0,"max_expansions":50,"fuzzy_transpositions":true,"lenient":false,"zero_terms_query":"NONE","auto_generate_synonyms_phrase_query":true,"boost":1.0}}},{"match":{"original_user":{"query":"test","operator":"OR","prefix_length":0,"max_expansions":50,"fuzzy_transpositions":true,"lenient":false,"zero_terms_query":"NONE","auto_generate_synonyms_phrase_query":true,"boost":1.0}}}],"adjust_pure_negative":true,"boost":1.0}}}], id[],

I was searching for the word test. There are actually a few emails that should show up there, and I got zero results. So I found this:
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html
Sending that through with curl works great, I get my wildcard matches when I use *'s.
How do I set up my Search Rules (or whatever else) to actually do wildcard matches instead of full matches?
My Email.php model file has this in it:
protected $indexConfigurator = \App\SearchIndexes\EmailIndexConfigurator::class;

    protected $searchRules = [
        \App\SearchRules\EmailSearchRule::class
    ];

    protected $mapping = [
        'properties' => [
            'email' => [
                'type' => 'keyword',
            ],
            'first_name' => [
                'type' => 'keyword',
            ],
            'last_name' => [
                'type' => 'keyword',
            ],
            'user' => [
                'type' => 'keyword',
            ],
            'did_you_mean' => [
                'type' => 'keyword',
            ],
            'original_email' => [
                'type' => 'keyword',
            ],
            'original_user' => [
                'type' => 'keyword',
            ],
        ]
    ];

And my EmailSearchRule.php has this in it:
    public function buildQueryPayload()
    {
        $query = $this->builder->query;
        return [
            'must' => [
                [
                    'match' => [
                        'email' => $query
                    ]
                ],
                [
                    'match' => [
                        'first_name' => $query
                    ]
                ],
                [
                    'match' => [
                        'last_name' => $query
                    ]
                ],
                [
                    'match' => [
                        'user' => $query
                    ]
                ],
                [
                    'match' => [
                        'did_you_mean' => $query
                    ]
                ],
                [
                    'match' => [
                        'original_email' => $query
                    ]
                ],
                [
                    'match' => [
                        'original_user' => $query
                    ]
                ]
            ]
        ];
    }

Just for reference, I tried changing 'match' to 'wildcard' in my EmailSearchRule.php and it generated a broken search:
[2019-04-28T17:58:52,079][INFO ][index.search.slowlog.query] [node-1] [email][0] took[3.7ms], took_millis[3], total_hits[0], types[emails], stats[], search_type[QUERY_THEN_FETCH], total_shards[5], source[{"size":200,"query":{"bool":{"must":[{"wildcard":{"email":{"wildcard":"greg*","boost":1.0}}},{"wildcard":{"first_name":{"wildcard":"greg*","boost":1.0}}},{"wildcard":{"last_name":{"wildcard":"greg*","boost":1.0}}},{"wildcard":{"user":{"wildcard":"greg*","boost":1.0}}},{"wildcard":{"did_you_mean":{"wildcard":"greg*","boost":1.0}}},{"wildcard":{"original_email":{"wildcard":"greg*","boost":1.0}}},{"wildcard":{"original_user":{"wildcard":"greg*","boost":1.0}}}],"adjust_pure_negative":true,"boost":1.0}}}], id[],

It's searching for:
"bool":{"must":[{"wildcard":{"email":{"wildcard":"greg*","boost":1.0}}}

I think it should be doing:
"bool":{"must":[{"wildcard":{"email":"greg*","boost":1.0}}

Figuring out why wildcard is in there twice might solve it?

Is it not doing an OR on those matches? So my search for "greg*" has to exist in every field?

SOLVED!
For anyone in the future who wants to do this. Here is my new EmailSearchRule.php:
<?php

namespace App\SearchRules;

use ScoutElastic\SearchRule;

class EmailSearchRule extends SearchRule
{
    public function buildQueryPayload()
    {
        $query = $this->builder->query;
        return [
            'should' => [
                [
                    'wildcard' => [
                        'email' => $query
                    ]
                ],
                [
                    'wildcard' => [
                        'first_name' => $query
                    ]
                ],
                [
                    'wildcard' => [
                        'last_name' => $query
                    ]
                ],
                [
                    'wildcard' => [
                        'user' => $query
                    ]
                ],
                [
                    'wildcard' => [
                        'did_you_mean' => $query
                    ]
                ],
                [
                    'wildcard' => [
                        'original_email' => $query
                    ]
                ],
                [
                    'wildcard' => [
                        'original_user' => $query
                    ]
                ]
            ]
        ];
    }
}

Just changing the 'match' to 'wildcard' and the 'must' to 'should' fixed it. I now have wildcard matching in my Nova app.

amazing

@greggh I tried your solution but it works the same as witch match i have to type complete word.


Improve test coverage for TransformFunctionType

Description
This is meant to be a small contribution towards improving code coverage for pinot-common as I begin to familiarize myself with the code. I've just added some small test cases to hit the lines that aren't covered in TransformFunctionType.java.
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Thanks for your contribution!


iOS: Image zooming is losing resolution

It looks like we aren't handing full resolution images from the WKWebView to our ImageViewer code.  Rolling back to the version where we load the image from the source for display resolves this issue.

I’m experiencing an issue with iOS NetNewsWire 5.0 (Build 39) on iOS 13.4.1 with both an iPad Pro (2018, 11-inch) and an iPhone X. When tapping an image to expand it, some expanded images appear to be a crop of the upper left of the full image (happens reliably for certain images in feeds across devices).
Is this the same issue, or should I open a new bug report?

That is a different issue that was resolved in the latest 5.0.1 test build versions.  Join our TestFlight to see it resolved.

Thanks! Appreciate the pointer, and apologies for the duplicate report.

The fix is contained in the snippet below.  We will implement when preparing the 5.0.2 release.
var canvas = document.createElement("canvas");
canvas.width = this.img.naturalWidth * window.devicePixelRatio;
canvas.height = this.img.naturalHeight * window.devicePixelRatio;
canvas.getContext("2d").drawImage(this.img, 0, 0, canvas.width, canvas.height);


Create new repository and link to this project for the backend spring boot code

Created new repo for spring boot and linked to the project

Completed


File extension validation

Is there a way to validate the file format of an input file as a request? If the fastapi app will only accept incoming requests with files that have extensions .pdf,.docx or .txt, how will I implement this using fastapi? Something similar is used in the laravel framework https://stackoverflow.com/questions/32179164/how-to-validate-a-file-type-in-laravel
Example
from fastapi import FastAPI

app = FastAPI()

@app.post("/upload")
def read_file(input_file: UploadFile = File(..., format=[".txt",".pdf",".docx"])):
    return {"filename": "input_file.filename"}

You can check the MIME type, which should be more accurate than the file extension (https://fastapi.tiangolo.com/tutorial/request-files/#uploadfile). Example:
@app.post("/upload")
def read_file(input_file: UploadFile = File(...)):
    if input_file.content_type not in ["application/pdf", "text/plain", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"]:
        raise HTTPException(400, detail="Invalid document type")
    return {"filename": "input_file.filename"}

Of course, you can wrap this logic in a dependency to reuse it in several endpoints.

@frankie567 Thank you

@frankie567 What is the correct way to set the file content type in a test using TestClient? The following gives me a blank "" string...:
from io import BytesIO

from fastapi.testclient import TestClient

client = TestClient(app)

response = client.post(
            self.route.format(survey_external_id=faker.uuid4()),
            files={
                "floorplan": (
                    "myimage.png",
                    BytesIO(faker.image()),
                )
            },
        )

Thanks for the help @frankie567 ! 🍰
And thanks for reporting back and closing the issue @samjoy ! ☕
@aalvrz the current test client is underneath just the Requests library, so whatever works there would work here.
In a future version (soon) the test client will be based on HTTPX, but the API is almost identical.

@tiangolo Thanks for the response. It is still not very clear, passing explicit content type header seems to fail (422). Perhaps because passing files in the request automatically sets it to be multipart content? Not sure:
@app.post("/upload", status_code=201)
def upload_file(floorplan: UploadFile):
    pass

def test_upload():
    response = test_client.post(
           "/upload",
            headers={"Content-Type": "image/jpeg"},
            files={
                "floorplan": (
                    "myimage.png",
                    BytesIO(faker.image()),
                )
            },
        )

Response content:
{'detail': [{'loc': ['body', 'floorplan'], 'msg': 'field required', 'type': 'value_error.missing'}]}

Actually, you need to set the content type of the file, not the whole request.
The file tuple parameter can accept a third value which is the content type of the file: https://requests.readthedocs.io/en/latest/user/advanced/#post-multiple-multipart-encoded-files


test -updated

ignore please, just test

@esoliatakumi shall I close this PR then?

@esoliatakumi going ahead and closing


Initial passive testing is happy but not next ones started with 10m succession

Critical question: Why is it that the first test in the morning always seem to work nice, and successive tests seem to run not as good?
Looking at the pubsub settings we forked over from Lotus, there are... a lot of questionable decisions that seem to be rooted in pre-F3 filecoin network behaviour (e.g. this).
I wonder if change in passive testing network causes some loss of mesh or unfair peer scoring such that gossip sub mesh becomes ineffective to the point where messages simply do not propagate fast enough. Take invalid message scoring for example, when networks change it is inevitable that some messages arrive rom previous network that would be considered invalid. We also observe spike in invalid message error in validation flow documented here at initial instance.
So...

Could it be that the ineffective gossipsub at least to some extent is the result of change in network during passive testing?
Are there parameters set in pubsub that unfairly reduce ranking or negatively impact the mesh by deeming what passive testing does (change in topic, resubscrption, dropping messages between networks) ?
Could it be that the current pubsub settings even within a single passive testing network impact peer ranking when instances progress e.g. due to high rate of validation ignores?

Anecdotally I see a lot of PeerIDs with the exact same really high negative score:
lotus net scores
12D3KooWBPyrDyrTRchikR56W21cW3dQ5YRDeAgCZvPjw7jopfuU, -1795600.000000
12D3KooWBNh4V7JeEvYLKvSbGeMMMFJyB3vavEyEipqNYaZh9cNS, -1795600.000000
12D3KooWBNMVxsBq4T5T8qX8E1FWhfyVULDJ56a3mE1m6r3bEJ8f, -1795600.000000
12D3KooWAy4R5DgHcAuP7Z6CJyesQXkNPfoBFShMtdMtg1z3dhWS, -1795600.000000
12D3KooWAmPdJJcrNQ9qL4Dtj229kJ2VngPtrEmz6fd7duc6N8Q4, -1795600.000000
12D3KooWAewsJcXcVoEhCwfvD7zWwCPae8WtVvcL8nvy84HdNivL, -1795600.000000
12D3KooWAY9Vq9wzqRjzaoKheXPDVf9YCf1GpQ32V4mtjtxAaHPW, -1795600.000000
12D3KooWAPsAXsxBpuRJbjiX7cFzNsA8A1UZe8ikWsbgxZ7DDu5Y, -1795600.000000
12D3KooWAEZaEAwxco3Coho2c4KESS5Q868NYhXzSHAXdvwomYAt, -1795600.000000

A total of 139 on my node with the exact same negative score, out of a total of:
lotus net scores | wc -l
2045

Total number of PeerIDs that have negative scores is:
622

For clarity I also grepped for the ones that subscribe to F3, and most have 0 scores - with some occasional negative ones, but not the high negative score as ^^
{"ID":"12D3KooW9sCwBYPVGr9T7A5DMzk8qF4wdGtTGSREK7kMLdJDBLR6","Score":{"Score":0,"Topics":{"/f3/granite/0.0.2/filecoin/21":{"TimeInMesh":0,"FirstMessageDeliveries":0,"MeshMessageDeliveries":0,"InvalidMessageDeliveries":0}},"AppSpecificScore":0,"IPColocationFactor":0,"BehaviourPenalty":0}}
{"ID":"12D3KooW9rUCW2eEmbZsGarEBzdh7RwqZXzVhm5yW4GHpM4PxGLV","Score":{"Score":0,"Topics":{"/f3/granite/0.0.2/filecoin/21":{"TimeInMesh":0,"FirstMessageDeliveries":0,"MeshMessageDeliveries":0,"InvalidMessageDeliveries":0}},"AppSpecificScore":0,"IPColocationFactor":0,"BehaviourPenalty":0}}
{"ID":"12D3KooW9qsRsJmXkgYuyJnZNDwpB75Lhs1dw6myiNFDTLgwgbQA","Score":{"Score":0,"Topics":{"/f3/granite/0.0.2/filecoin/21":{"TimeInMesh":0,"FirstMessageDeliveries":0,"MeshMessageDeliveries":0,"InvalidMessageDeli
[14:16](https://filecoinproject.slack.com/archives/C077HAHSP8U/p1732886203372249?thread_ts=1732883402.397439&cid=C077HAHSP8U)

And the ones with extremly high negative scores are IPColocationFactor
{"ID":"12D3KooWBNMVxsBq4T5T8qX8E1FWhfyVULDJ56a3mE1m6r3bEJ8f","Score":{"Score":-1876900,"Topics":null,"AppSpecificScore":0,"IPColocationFactor":18769,"BehaviourPenalty":0}}
{"ID":"12D3KooWAy4R5DgHcAuP7Z6CJyesQXkNPfoBFShMtdMtg1z3dhWS","Score":{"Score":-1876900,"Topics":null,"AppSpecificScore":0,"IPColocationFactor":18769,"BehaviourPenalty":0}}
{"ID":"12D3KooWAmPdJJcrNQ9qL4Dtj229kJ2VngPtrEmz6fd7duc6N8Q4","Score":{"Score":-1876900,"Topics":null,"AppSpecificScore":0,"IPColocationFactor":18769,"BehaviourPenalty":0}}
{"ID":"12D3KooWAewsJcXcVoEhCwfvD7zWwCPae8WtVvcL8nvy84HdNivL","Score":{"Score":-1876900,"Topics":null,"AppSpecificScore":0,"IPColocationFactor":18769,"BehaviourPenalty":0}}
{"ID":"12D3KooWAY9Vq9wzqRjzaoKheXPDVf9YCf1GpQ32V4mtjtxAaHPW","Score":{"Score":-1876900,"Topics":null,"AppSpecificScore":0,"IPColocationFactor":18769,"BehaviourPenalty":0}}
{"ID":"12D3KooWAPsAXsxBpuRJbjiX7cFzNsA8A1UZe8ikWsbgxZ7DDu5Y","Score":{"Score":-1876900,"Topics":null,"AppSpecificScore":0,"IPColocationFactor":18769,"BehaviourPenalty":0}}
{"ID":"12D3KooWAEZaEAwxco3Coho2c4KESS5Q868NYhXzSHAXdvwomYAt","Score":{"Score":-1876900,"Topics":null,"AppSpecificScore":0,"IPColocationFactor":18769,"BehaviourPenalty":0}}
{"ID":"12D3KooWA4kybwSTq57KfMxJ4unVPbFTXTxRpe1S5HcKALRvu2FY","Score":{"Score":-1876900,"Topics":null,"AppSpecificScore":0,"IPColocationFactor":18769,"BehaviourPenalty":0}

Another test after a prolonged pause should be ran to rule out peer scares, but it does not seem that peerIDs get negatively scored.

I have not found sufficient evidence to believe this is a genuine issue:

Increased time between successive passive testing to 30m.
Retried the day after with no over-night tests.
Evidence is inconclusive: I cannot reproducibly get the network to misbehave in connection with time between successive passive testing.

Closing.


Re-enable vagrant workflow again for all changes (=move to linux runners)

PR https://github.com/michalfita/packer-plugin-cross/pull/26 disabled the vagrant for general code changes as the workflow became unreliable.
With the linux action runners now supporting nested virtualization we can now move the vagrant workflow there, where it should be also more reliable.

yay. it works and will protect the Vagrantfile / workflow from rotting over time :)


[ICE: 8] EXECUTION ERROR - DAI from ARB to Base stuck (unsupported path)

Describe the bug
The user tried to send DAI to Base using an embedded wallet on transfer.xyz (erc-6900). The aggregator chose Connext but that asset is not supported on Base.
https://connextscan.io/tx/0x7fcad6fde48b266752bcdd3de080a00cfaf51c4717472ed1e4e1a35e91f41e2d

The user is already in contact with the team of the aggregator in question, in particular, to give them notice to remove the route.
He has also shared with me the information that DAI appears in Connext's docs as a supported asset in Base:
https://docs.connext.network/resources/deployments#base
Link to ticket in discord
https://discord.com/channels/454734546869551114/1235675982820675715

User refunded.


fix-examples

Pull Request summary:
Fix tenant backup restore examples
Description of changes:
Fix tenant backup restore examples
Checklist:

[X] Make sure to run pre-commit before commiting changes
[X] Make sure all checks have passed
[X] PR description is clear and comprehensive
[X] Mentioned the issue that this PR solves (if applicable)
[X] Make sure you test the changes

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/327


Use HoloViews.plot_index to track bokeh models

In a recent PR I added a HoloViews.plot_index which did little more than keep track of the ids of plots that were displayed. Since then I've found another issue related to the Bokeh.index, which is bokeh's way of keeping track of the root models. The problem with Bokeh.index is that it is reset every time the extension is loaded (nothing we can do about that), which ends up breaking HoloMaps because they require access to the root model. This PR simply uses the HoloViews.plot_index to mirror the Bokeh.index, which means that HoloMaps will continue  working even when the extension is reloaded.

Looks good. Merging.


Feature/enhance dev tools

This PR introduces

poetry package management configurations
github actions steps for linting, testing, mypy, etc.

How to configure on your own

Install poetry locally
Run poetry install
Run poetry run <linter> src or poetry run pytest

Може да има нужда в настройките на хранилището да позволиш github actions да се пуска.


FeedAHelp: Make it run locally

Run FeedAFelp locally: we use pnpm
Clone the following repo: https://github.com/FeedAHelp/FeedAHelpless

Ask question if you cant run it or face issue

his is runing


Getting the error: "ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output."

I have been trying to setup a python server, that uses youtube-dl, the script on my machine (on localhost) is working, but on the server, it doesn't, i made sure that am using the same versions as in my linux machine (youtube-dl 2021.6.6, flask 2.0.1, flask-cors 3.0.10, python 3.8), is there a way to solve this issue?
Thanks to anyone who helps to solve this annoying bug..

Even though you put the instructions in the issue title, we don't see the "complete output" requested.
No doubt the environment in which the server is running yt-dl is different from that on your Linux machine. The verbose log from the server instance will likely make this clear.

So like I said, am using it with python, how can I add the verbose flag there?
Thank you for answering

If you are using EMBEDDING YOUTUBE-DL, add 'verbose': True, to the options.
And please show the whole options, urls and the logs.

For some reason, after adding the 'verbose': True to my options, it work now works...
Thank you so much for helping, i really appreciate it.
This is what i got back from my linux machine (localhost), which works fine:

Serving Flask app 'main' (lazy loading)
Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
Debug mode: off
Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)
<IP_ADDRESS> - - [22/Jul/2021 14:31:32] "GET / HTTP/1.1" 404 -
<IP_ADDRESS> - - [22/Jul/2021 14:31:32] "GET /favicon.ico HTTP/1.1" 404 -
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.8.10 (CPython) - Linux-5.8.0-59-generic-x86_64-with-glibc2.29
[debug] exe versions: ffmpeg 4.2.4, ffprobe 4.2.4
[debug] Proxy map: {}
[youtube] orJSJGHjBLI: Downloading webpage
[youtube] orJSJGHjBLI: Downloading player 3804dce2
<IP_ADDRESS> - - [22/Jul/2021 14:31:59] "GET /audio?link=https://www.youtube.com/watch?v=orJSJGHjBLI HTTP/1.1" 200 -

This is what i got back from my Flask server (python):
2021-07-22 12:35:25,701: [debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
2021-07-22 12:35:25,701: [debug] youtube-dl version 2021.06.06
2021-07-22 12:35:25,761: [debug] Python version 3.8.5 (CPython) - Linux-5.4.0-1038-aws-x86_64-with-glibc2.29
2021-07-22 12:35:26,370: [debug] exe versions: ffmpeg 4.2.4, ffprobe 4.2.4
2021-07-22 12:35:26,371: [debug] Proxy map: {'http': 'http://proxy.server:3128', 'https': 'http://proxy.server:3128', 'no': 'localhost,<IP_ADDRESS>,localaddress,.localdomain.com,/var/run/docker.sock'}

So, apparently it works with some videos while it doesn't with others, is there a way around this?

Show the full verbose output from a successful and a failing video.


feature/65-make-er_server-able-to-have-arbitrarily-many-streams

So instead of just logging/debugging, you could have as many streams as you
wanted, and set their levels all independently. Not urgent by any means, or even
necessary really, but would be a reasonably fun one to address when I need a
break from more instense programming.

OBE. Switched to log4cxx.


Destroyer pulse rifle doesn't work

Description
When activated, it uses power but doesn't actually shoot a laser, nor do any damage.
Additional context
Discovered live in Lizard during an admeme event. The deathsquad died because their guns didn't work.

Description
When activated, it uses power but doesn't actually shoot a laser, nor do any damage.
Additional context Discovered live in Lizard during an admeme event. The deathsquad died because their guns didn't work.

I don't know what happened. It actually worked before the PR was merged, but now that I fetched upstream and tested it, it's not working anymore.

worked when i tested the PR before merge as well so /shrug

This also seems to affect the nightfall laser rifle.

This also seems to affect the nightfall laser rifle.

Is there a limit on how many hitscan weapons the code can support? I was thinking that maybe for my next PR I should make pulse weapons into projectile guns. And I also noticed another thing: BarrelPump (shotguns) does not support automatic firing mode.

Is there a limit on how many hitscan weapons the code can support?

It's a modern game engine, I don't know why there would be a limit. Regardless, I don't think that's the issue at play here at all.

Pancake said this was fixed so

The Deathsquad successfully used the Destroyer Pulse Rifle to eradicate a crew that was glorifying the Syndicate.


missing file in package.json

Codecov Report

Merging #372 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #372   +/-   ##
======================================
  Coverage    64.3%   64.3%
======================================
  Files          13      13
  Lines       29586   29586
  Branches      139     139
======================================
  Hits        19025   19025
  Misses      10486   10486
  Partials       75      75

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 16f3273...a82267e. Read the comment docs.


Wrapped memory cache does not respect TTL

The default memory cache only uses the TTL that is given when it is created, not the TTL that is given when used as part of a wrap call.
This seems like a common scenario in multi-tiered caches.
It seems like this is caused by lru-cache not using the TTL that wrap passes on to the set method.

Sorry I didn't back to you on this.  I just didn't see it somehow.  Yeah, it looks like it's just the way lru-cache works.  You'd have to use a different cache in order for the ttl to be respected.

I've just stumbled on this... So the memory-store caches everything indefinitely? Is there a better in-memory store, which respects ttl?


Install config refactor

With this refactor the install command can be expressed in three simple steps:

Basic checks on flags and config as part of 'cmd/install.go'
Setup install details from a rough RunConfig initiated and run all logic to determine partitions, images, etc. according to the install action specifics.
Run installation after installation setup is done

@Itxaka I am doing this in the scope in of coding the reset command, I realized it shares quite some logic with the install command however some little differences on configuration are needed.
At first started moving from config.DigestSetup to config.InstallSetup but while working on the ResetSetup method I realized that would cause cycling dependencies (they import each other) between v1 package and utils. Then I noted the the InstallSetup is coupled with the install action so I moved it there.
I added the Do not merge label because I expect to rebase on top of the first PR of the upgrade command. Even I believe there is no overlap I don't want to add another rock block in the upgrade command.

Why move all that generic code that setups a lot of important data in the config into an exclusive setup for install?

The problem I found it is that it is not generic. Active image differs and partitions setup differs for the reset command vs install command. Yes I agree that quite some logic of the setup could be reused, but if so I'd suggest to move into a common action method. The problem I found in reset command is that to set the partitions and ActiveImage I needed to run BootedFrom checks, this is part of utils package and this can't be imported in v1, it causes a cyclic dependency.

blergh, I hate circular dependencies...

This doesn't seem good to me. First is, having the install Action directly means that is one unmovable object. You either run the install or not, like it doesn't allow you to have an object that you can modify, play or change, its just install or nothing

Well I did it this way as I saw no gain on having it as an structure since all the details are stored in RunConfig, everything happens there and to avoid having to create a new object just to bypass the RunConfig to the core elemental package. Anyway, I do not have a strong opinion in that detail, I'd treat actions as mere high level scripts that operate on a given config by using the core API. But I am also fine keeping them as objects.

cant we maybe move the bootedFrom to a different place to avoid circular deps? Like it may be good to have it as part of elemental? I have a feeling we will hit this again in the future otherwise :(

cant we maybe move the bootedFrom to a different place to avoid circular deps? Like it may be good to have it as part of elemental? I have a feeling we will hit this again in the future otherwise :(

I don't think this would solve the problem. Elemental also imports v1. IMHO the problem is having runtime logic in v1. So moving BootedFrom kind of logic out of the the pkg/types/v1. I though that ./pkg/action could be a good place for that mostly because this sort of configuration checks and analysis are coupled with the actual executed command.
Another option that comes to my mind is splitting configuration struct in two entities, one Config in v1 mostly to include all flags from files or client UI, and then with this produce a new RunConfig entity that is part of another package. This sounds like a deeper refactor though.
What I'd really like to keep is the approach of 3 steps actions: basic flags checks, define configuration and execute it. If we follow this approach we will be capable to reuse quite a lots of code in install, reset and ugprade run method.


Build an app that uses CSS.Modules because it's been awhile!

https://create-react-app.dev/docs/adding-a-css-modules-stylesheet/

Turns out this is really easy with CRA. Closing with PR https://github.com/1Copenut/react-bytes/commit/7b7225d6f220fa2f7a3af00eee86b0473fac39c3.


Mongo primary election results in stopped delivery

If you are running a multi-node mongo cluster and then the primary node steps down, the raix:push package stops sending notifications.
To resolve you have to restart the meteor app and then it will notice all of the items in the queue and rapidly send them out.
My suspicion...
The sendWorker is in the middle of sending when the election happens and this mongo query fails: https://github.com/raix/push/blob/master/lib/server/push.api.js#L685
Resulting in this: https://github.com/raix/push/blob/master/lib/server/push.api.js#L673 still equaling true.  So it never attempts to send a notification again.

I have published a forked version with the fix https://atmospherejs.com/rocketchat/push repo at https://github.com/RocketChat/push


fix: falsy subtraction type in collection filter

Hello!
This fixes the failing ci tests.
Thanks!

Looks like this was fixed in:

67f248e696754140ee5b6b4a7034c382051069a2
69b34ec3858a608bd0cdc6fddbacc94f29769cb4


Feat doc and scripts

Update install documentation in README
Fix variables names and install path in windows-install.ps1
Add rootfs-host mountpoint and env variable when run container in install.sh

Unsigned commits


Added test_llm_ground_truth_similarity

Description
Added test_llm_ground_truth_similarity and test_llm_ground_truth
Related Issue

Type of Change

[ ] 📚 Examples / docs / tutorials / dependencies update
[ ] 🔧 Bug fix (non-breaking change which fixes an issue)
[ ] 🥂 Improvement (non-breaking change which improves an existing feature)
[x] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

the tests look good to me @kevinmessiaen, could we just reduce code duplication in the unit-tests?

It's done


Normalize secrets mount to /tmp/secret

Description
Normalizes secrets mount and ensures consistency between helper functions. Now normalised to /tmp/secret
Checklist

[ ] Investigated and inspected CI test results
~- [ ] Updated documentation accordingly~

Automated testing
~- [ ] Added unit tests~
~- [ ] Added integration tests~
~ - [ ] Added regression tests~
If any of these don't apply, please comment below.
Testing Performed

/retest


check for areaId

fixes https://github.com/KitmanLabs/kitman-objc/issues/269

merging because - the other guy picked up his new toy :)


Demos section in the README

would you mind moving it up? as a first section?

done

reworded the first commit message and force pushed

@adamralph given that https://github.com/Particular/Workshop.Microservices/pull/59 completely replaces the actual MVC demo I vote to leave the demo README unchanged and instead work on the one in https://github.com/Particular/Workshop.Microservices/pull/59

no, looks fine. Merging.


Allow customizing Java type mapping

Reason/Context
Currently when there is number or double defined in the spec we convert it to java.lang.Double.
This looks correct but frequently it's needed to convert these float types to java.math.BigDecimal (e.g. monetary API). Also, there could be more cases where you want to have a custom type in place of a predefined one.
Description
This mapping is being done here:
https://github.com/asyncapi/modelina/blob/593a6e83740827444d7e72746a8feec8a82f3a78/src/generators/java/JavaRenderer.ts#L100-L102
This could be done by adding support for custom formats aka direct A -> B mapping.
For example by adding some format -> javaType map to renderer options (e.g. mapping in swagger-codegen)
Also not instantiating the renderers in place and having the possibility to inject them could also help customization in the future.
https://github.com/asyncapi/modelina/blob/master/src/generators/java/JavaGenerator.ts#L78-L83
--
If I'm right to work around this currently would require to duplicate JAVA_DEFAULT_CLASS_PRESET.

I really like this, definitely something we should look into. And it is something all languages can benefit from.
I think what makes the most sense is to right before rendering the type, check any provided mapping, whether the rendered type should be mapped to something different. This gives the most power to the user I think 🤔
i.e. for Java, we provide the mapping as:
{"mapping": {"double" : "java.math.BigDecimal"}}

An immediate problem I see us running into, is if a custom type requires a dependency, not all languages have the fortune to define it in the type such as java.math.BigDecimal but would require to actually import it. For example in TS, we would probably have to support something like this:
{"mapping": {"double" : {"type": "MyCustomType", "dependency": "import MyCustomType from '../custom/path/MyCustomType';"}}}

For the Java representation we could do:
{"mapping": {"double" : {"type": "BigDecimal", "dependency": "import java.math.BigDecimal;"}}

Also not instantiating the renderers in place and having the possibility to inject them could also help customization in the future.
https://github.com/asyncapi/modelina/blob/master/src/generators/java/JavaGenerator.ts#L78-L83

@kamko do you think we should do this mapping through custom renders rather then options? 🤔

I'm happy that you like the idea :).
The proposed mapping configuration looks fine as long as the dependency will be optional (for example in Java I would like to have full class names instead of imports).
Currently, the type mapping is part of the parent rendered (at least for java) so I think the options should be passed to the renderer and that should be responsible for all the required steps for getting a type for some schema property:

check if a dependency is needed for this mapping
add dependency if not already present
return the correct type

This way it will be transparent for all the presets. The mapping could be part of the generator options and then forwarded to the renderer.
Regarding the custom renderers, I just meant that having the possibility to override only renderers without changing generator implementation could be useful. For example by providing the factory method as an input parameter to the generator or something like that. As for example to implement this without changes in library my first thought was to extend JavaRenderer and reimplement only the toJavaType method but that wouldn't help me without also changing generator.
My current solution is to duplicate default preset and enhance it with options (btw why isn't it possible to provide som extra options to default preset? :D I had to remove default and add it as first one in the array)

@jonaslagoni what is your opinion here?

Inheritance of a custom rendering would definitely also be an option 🤔
Right now, I am reengineering the new core data model, which means the renderer will not be the one determining the type anymore. The constrained data model will have already constrained to a language, so all you need to do is model.type.
In order to provide the most freedom, I think we should focus on the options. As the user doesn't need to know the underlying implementation (i.e. there exists a renderer that needs to be overwritten), they just need to know the interface.

The proposed mapping configuration looks fine as long as the dependency will be optional (for example in Java I would like to have full class names instead of imports).

For sure 👍

@kamko I wanted to get your perspective on a solution that soon will live in next. With the upcoming change you would be able to define the custom mapping as such:
const generator = new TypeScriptGenerator({
  constraints: {
    typeMapping: {
      Number: ({renderer, model}) => {
        return 'integer';
      }
    }
  }
});

Where Number is one of the core model types. Through this, you can easily add dependencies and conditional type rendering based on the model that is being generated.
For your Java project you can then easily do:
const generator = new JavaGenerator({
  constraints: {
    typeMapping: {
      Number: ({renderer, model}) => {
        return 'java.math.BigDecimal';
      }
    }
  }
});

Would that suit your needs?

That looks good! - it fits the original issue I had.
The Number is a set of fixed types or it will be for formats also (e.g. type: string, format: UUID)?
Would it be possible to also pass the "property/field" (don't know the naming) that is currently being mapped to the method?
My thinking is that I would like to have custom mappings based on some additional data linked to specific property.

The Number is a set of fixed types or it will be also for formats (e.g. type: string, format: UUID)?

Number is one of the core abstracted type, where formats, in the long run, would form something like sub types within them. At least that is the idea, but not a focus at the moment.

Would it be possible to also pass the "property/field" (don't know the naming) that is currently being mapped to the method?

I am looking into that yes, as part of the context parameter, which the renderer is part of.

Solved in the next branch, see https://github.com/asyncapi/modelina/blob/next/examples/change-type-mapping/index.ts

@jonaslagoni
I don't see the renderer param in the TypeMappingFunction interface. I would like to add dependencies as you showed above:
Number: ({renderer}) => {
        renderer.addDependency('import java.math.BigDecimal;'); ...

Is this still planned?

Damn... I removed it last minute from the PR because I could not recall why it was needed, as all I saw in the current generators was the access to options. So the extra functionality for them to access the renderer would be in vain. Forgot about this one!
Should definitely be fixed, adding another issue.


pass namespace to odigos ui command

fixes #662 and includes the changes needed for #703

Thanks! 🥇

No problem, remember to close #703 if you see fit


AWS EBS Snapshot Module

Create a module that kicks off an EBS snapshot on workspace stop and allows workspaces to be optionally created/started  from a snapshot via a parameter. Otherwise, it will use the existing PVC/EBS volume/disk.

I assume this is because EBS snapshots are cheaper than an EBS volume? However the side effect might be slower start up?

Makes sense. Especially when you want to decommission a region, eks cluster or AWS account.


Upgrade to Chromium 86.0.4240.198

Addresses #1240. No changes to the patches were needed. I will let you know once I have a successful build.

Version 86.0.4240.198 (Official Build) (with ungoogled-chromium patches) (64-bit)

Ungoogled-chromium 86.0.4240.198 compiled and is running well. Feel free to merge.


Toolbar change height NavigationBar

I have a navigation bar below, when I move the Toolbar, the navigation bar is also moved, I don't know how to handle it, can you help me?

Thank you for the answer but in my case there is viewpager and in the tab there is Lazycolumn, at the bottom I set padding 48dp but when scrolling the view layout view is pulled up the bottom padding, I want that padding not is dragged on scroll but only appears when dragging to the end of the list.

device-2022-04-14-090926.mp4
video example. you can see the padding bottom had scroll with view, can you help me issues ?

Can you give me the structure of your layout and re-upload the video?

architecture,
in the last position of the lazy list i have set the bottom padding, when scrolling the list to the top, but the list has not scrolled to the last item, the bottom padding position is also dragged

https://user-images.githubusercontent.com/63054294/165070515-9cb2866c-d4c2-4f7b-9919-87051e8613e1.mp4

can you see place padding bottom dragged ? i don't need it

I checked your issue, it seems it is an intended behavior. The reason is that your layout gives bottom padding to the outer layout. You are using EnterAlwaysCollapsed mode, and the mode will measure its child with constraint whose max height is that of the toolbar itself because the child should be pulled up until it reaches the top of the toolbar. Please note that the CollapsingToolbarLayout in Android Jetpack behaves the same.
A quick fix for your case is placing Spacer composable at the end of the list instead of using a padding.
LazyColumn(modifier = Modifier.fillMaxWidth()) {
	items(List(100) { it }) {
		Text(text = "Hello $it", modifier = Modifier.padding(8.dp))
	}

	item {
		Spacer(modifier = Modifier.padding(bottom = 48.dp))
	}
}

Thank's so much your answer , i had fix issues like your way and it working☺

That sound great!


Could the opencivicdata methods on the ScrapedCandidate model be devolved to the processed-data app

Then this app would not require OCD as a dependency at all and could live as a free-standing module within our stack

I believe the answer is "yes".
There are only two modules that import from opencivicdata:

getsamplejson.py was a management command I wrote to spit out some example json for the elections OCDEP. It should probably move back under the processed data app. Though, it may have outlived its utility.
candidates.py (under models) has couple of methods: .get_or_create_post() and . get_or_create_person(). These methods were written and added to the base management command in processed data app. Just checked and there are no calls anywhere to these model methods.


Warn when changing copy specs during copy task is executing

Users sometimes change the copy specs of a copy or archive task (e.g. Jar) in a doFirst() call. These changes are ignored by up-to-date checks and task output caching, but we don't show any warning about them.
We should forbid this behavior in the long run completely. As a first step we should show a warning about the problem and mention that we're going to be more strict in the next major release.
Steps to Reproduce (for bugs)
This also doesn't just affect users, as we had this problem in the Gradle build itself (see https://github.com/gradle/gradle/pull/791).

Seems related to #1131


install target

For this to work with ExternalProject_Add, it really should have an install target.

Fixed by https://github.com/boost-experimental/ut/pull/83


[TabBarIOS] icon scale with wrong format

#1136  support scale, but maybe with wrong format.
{uri: "base64:xxx", scale: 2} is unavailable, and {uri: {uri: "base64:xxx", scale: 2}} is available.

using 0.10.0-rc. see demo here:  https://rnplay.org/apps/QofUjw

OK, I've added a fix for the next release. In the meantime, you can fix it with the following patch. In TabBarItemIOS.ios.js, change line 111-113 from
 var icon = this.props.systemIcon || (
  this.props.icon && this.props.icon.uri
);

To
var icon = this.props.systemIcon || this.props.icon;

And change line 122 from
selectedIcon={this.props.selectedIcon && this.props.selectedIcon.uri}

To just
selectedIcon={this.props.selectedIcon}

thanks,  and the issue will be closed


CSO vs CHD

Test sample: Jeanne d'Arc (Japan).iso 1,245,249,536 Byte
Compressed to Jeanne d'Arc (Japan).zip using 7zip, deflate : 700,926,052 Byte
Compressed to Jeanne d'Arc (Japan).cso using maxcso, default parameters：752,663,981 Byte
Because the address seeking information is added during cso compression,So it's a bit bigger, which is reasonable
Compressed to CHD using parameters：-c cdzl,cdfl : 486,284,966 Byte
Do not use lzma encoding, only deflate is used to create the same conditions as the above two opponents to ensure fair comparison

CHD  can also address seeking, the size is much smaller than the previous two, even far smaller than the direct zip compression of the file. how could it be?
All three are lossless compression, and after decompression, they are all the same as the original file checksum.

Given the quality and accuracy of information about CHD (and what it supports or does), it wouldn't surprise me if it was just using lzma after all regardless of what this info tool says.
I'll also note that it's using larger block sizes than you're using with CSO - at least 10x larger, which will lead to better compression.  You should try --block=16384 or --block=32768.  This will decompress a bit slower than 2048, but not nearly as much slower as CHD would.  On any modern phone/laptop/PC, the difference in memory usage is small.
It might be that there are duplicate blocks in the ISO and that CHD is detecting and reusing these blocks, which CSO as a format doesn't support (but could - of course, clients of it would need to change.)  A zip file might not handle this situation well if the blocks were far apart.
That said, I've heard (and seen from a couple tests of different ISOs; I don't own the Japanese release of that game) that most of the time, a CSO with larger block sizes compresses about as well.
Anyway, this doesn't really sound like an issue about maxcso.
-[Unknown]

For chd, I did not use the default parameter compression, because the default compression would have lzma encoding involved. If lzma is involved, the overall file size will be smaller.and encoding slower.
It can also be seen from chd info that 49.7% of the blocks are compressed with deflate, and 50.3% are copied directly. This tool to view chd info is here https://github.com/umageddon/namDHC
For cso,I used maxcso last stable version with default parameters,it means block setting is already large，if use --block=2048,the final file size will be about 9% larger.
I think the reason why the size of the chd much smaller is that for the image with model1/2048, is removed  the auxiliary data (EDC ECC) during the compression process.
Of course, this is not an issue of maxcso. The reason why I sparked this discussion was whether could learn from the ideas and algorithms of chd compression when compressing cso, so as to greatly improve the efficiency of compression.

No, the default block size is 2048 for files smaller than 2GB, such as this one.  If you got a file smaller by 9% with default settings, it was some other parameter.
Also, your understanding that PSP ISO files contain error correction bits is incorrect.  That's only for PSP CD ISOs, in MODE2, which maxcso does not support anyway.  DVD and UMD ISOs do not contain this.
-[Unknown]

By reading the comments in the code, I finally understood that “Copy from self” does not directly copy the data block without compression, but checks the data blocks during compression, and logically copies the same data block when it has the same hash as it had before, and do not  taking up storage space more. This function has a significant improvement in compression efficiency for multiple identical files or parts of files in an image. This is also the reason why in this sample, the chd compression efficiency can significantly exceed cso, and 7z deflate. When this condition is not met, chd compression efficiency is not much higher than cso.
So, can this simple checking duplicate blocks in compression be also introduced into cso?

By reading the comments in the code, I finally understood that “Copy from self” does not directly copy the data block without compression, but checks the data blocks during compression, and logically copies the same data block when it has the same hash as it had before, and do not  taking up storage space more. This function has a significant improvement in compression efficiency for multiple identical files or parts of files in an image. This is also the reason why in this sample, the chd compression efficiency can significantly exceed cso, and 7z deflate. When this condition is not met, chd compression efficiency is not much higher than cso.
So, can this simple checking duplicate blocks in compression be also introduced into cso?

The CSO that is supported by various tools, as a format, doesn't support that.  A new experimental CSO format (i.e. like CSOv2) could be created to do that though, yes.  Software would need to be updated to support it (much like software would need to be updated if they added new features to CHD, or even PNG, or any other format.)
There are more tricks a new format could use.  Most compression formats have a minimum overhead of at least a few bytes, so zero-sized and 1-byte sized could have special meaning.  A four byte sized block could indicate a reference to another block.  Zstd could be used fairly trivially.  The trickiest thing is to decide if (and how precisely) a dictionary should be used to improve compression.  This could all be done while maintaining decompression speed and keeping blocks and sectors aligned, for efficiency.
PPSSPP already uses zstd, for example, so it wouldn't even add much to support such a format.
Anyway, it hasn't been high on my priority list as I'm usually investigating specific behaviors of the PSP and making PPSSPP's emulation more accurate.  Adding a new variant of CSO (which wouldn't be supported on PSP or PS2 hardware, likely) and the confusion that might cause makes me more likely to just work on PPSSPP instead with the time I have.
-[Unknown]

Can you update the compression libs of maxcso ? The existing libs are too old. Some new version libs increase the efficiency of compression

They were updated in 2021 - DEFLATE is a stable format and lz4 hasn't really changed much (I think ARM64 decode has gotten faster, but that matters for the decoder - maxcso would compress the same files either way.)
As noted, switching to a different compression alogrithm (i.e. zstd) wouldn't "just work" - it'd create a new version of the format that other tools would have to support.
-[Unknown]


Issue 13218 2

I also fixed the two siblings 'G1/S transition of mitotic cell cycle' and 'metaphase/anaphase transition of mitotic cell cycle' to have comparable subclasses and logical definitions.

In the first stanza, doesn't this:
is_a: GO:0044772 ! mitotic cell cycle phase transition
get inferred?


Are those extentions compatible with the new Edge Browser? (Edge Insider?)

Hi,
I am wondering if this is also the documentation to create extentions for the Chrome Base Edge (https://www.microsoftedgeinsider.com/en-us/)
Thanks

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

ID: 1037a28d-7cd5-66dc-9826-1e626fa6e74b
Version Independent ID: f90b56a3-db51-eeea-707c-0c30e81b4749
Content: Extensions - Microsoft Edge Development
Content Source: microsoft-edge/extensions.md
Product: microsoft-edge
Technology: extensions
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

No that's the documentation for the EdgeHTML based browser.
The documentation for the Chromium based browser extensions can be found here:
https://docs.microsoft.com/en-us/microsoft-edge/extensions-chromium/

@jhueppauff I am hoping your concern has been addressed, hence closing the issue. If not, please feel free to either open this issue or create a new one.


VIEWPORT_SIZE doesn’t seem to give the viewport size in pixels

Godot version: 3.0.2
OS/device including version: Ubuntu 17.10
Issue description: The documentation says the VIEWPORT_SIZE uniform contains the size of the viewport in pixels, but its actual value seems to be an aspect ratio. For example, resizing the window in the vertical direction should not affect VIEWPORT_SIZE.x, but it does.
Steps to reproduce: Create any shader material that uses VIEWPORT_SIZE
Minimal reproduction project: viewport.zip

I confirm this is an issue still in 3.2 alpha 3. Supposedly GLES2 works just GLES3 does not.

I have been investigating this issue and it seems the issue is that sizes are never passed but rather some kind of mipmap effect for reflection purposes only
https://github.com/godotengine/godot/blob/d482a1d8e8b4e68f2f386ba618cd091c79c20424/drivers/gles3/rasterizer_scene_gles3.cpp#L3560

Viewport size is defined here:
https://github.com/godotengine/godot/blob/7d710a745e3eecbde482349fff78f0a4e14f6371/drivers/gles3/rasterizer_scene_gles3.cpp#L4177

Unless I'm missing something super obvious, VIEWPORT_SIZE  not working seems to still be a problem in 3.2.2.

@grahamoverby  I don't know if is available in fragment shader. You might have to set it in vertex and use it in fragment.

If this is the case this should be opened as an issue, either the code or the docs might be wrong, as the docs say VIEWPORT_SIZE should be available in fragment shaders.

I don't know if this is indeed the case but there is an issue already opened that talks about certain built in variables not useable in all types of shaders https://github.com/godotengine/godot/issues/14904

This issue was about fixing the behavior of VIEWPORT_SIZE where it is defined, not whether it's defined everywhere.
VIEWPORT_SIZE is defined for vertex, fragment and light spatial shaders, as described in the docs: https://docs.godotengine.org/en/stable/tutorials/shading/shading_reference/spatial_shader.html?highlight=VIEWPORT_SIZE
If you're trying to use it in a canvas_item shader, it's not defined.

Ah good catch! :smile:

Thank you @akien-mga , and sorry about that, my mistake. Read the docs end to end and still missed that!


Error after upgrading to version 0.9.62 (From 09.61)

Before creating an issue...

[X] There is no open issue describing the same problem
[X] I am running latest versions of the integration and of Home Assistant
[X] I have checked the operational status of the Easee API

The problem
I upgraded the new version. After restart I got error in the log.
Removed the installation completely, and downloaded the new version again.
When I try to add integration i get error:
Error
Config flow could not be loaded: {"message":"Invalid handler specified"}
Any advice how to fix the error?
br.
Morten
Version of Easee integration having the issue?
0.9.62
Version of Home Assistant Core having the issue?
2024.10.2
Anything in the logs that might be useful for us?
From my log i find this:
Logger: homeassistant.util.package
Source: util/package.py:78
First occurred: 17:06:17 (1 occurrences)
Last logged: 17:06:17

Installed version for pyeasee resolved to None

and:
Logger: homeassistant.util.loop
Source: util/loop.py:136
First occurred: 17:06:23 (1 occurrences)
Last logged: 17:06:23

Detected blocking call to import_module with args ('custom_components.easee.config_flow',) inside the event loop by integration 'config' at homeassistant/components/config/config_entries.py, line 179: return await super()._post_impl(request, data) (offender: /usr/src/homeassistant/homeassistant/loader.py, line 1296: return importlib.import_module(f"{self.pkg_path}.{platform_name}")), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+config%22 For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#import_module Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 477, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 559, in _handle return await handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 117, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 83, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 85, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware response = await handler(request) File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle result = await handler(request, **request.match_info) File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 81, in with_admin return await func(self, request, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper return await method(view, request, data, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 172, in post return await self._post_impl(request, data) File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 179, in _post_impl return await super()._post_impl(request, data)

and;
Logger: homeassistant.config_entries
Source: config_entries.py:2945
First occurred: 17:06:23 (1 occurrences)
Last logged: 17:06:23

Error occurred loading flow for integration easee: cannot import name 'ChargerStreamData' from 'pyeasee' (/usr/local/lib/python3.12/site-packages/pyeasee/__init__.py)

Additional information
No response

I think the issue is that you have the wrong version of pyeasee.
It should update automatically, but possibly has not done so for you for some reason.
Do you have access to your python environment?
If so, do an ls /usr/local/lib/python3.12/site-packages/pyeasee* and you should see amongst other things something like this:
havenv/lib/python3.12/site-packages/pyeasee-0.8.5.dist-info:
I.e. you should have version 0.8.5.
See also https://github.com/nordicopen/easee_hass/issues/475 for another similar issue.

I noticed almost all of my python was missing for some reason.
I restored a backup, and installed the integrations again, and now everything works fine again.
Strange how this happened.
Incident can be closed.
Thank you.

Similar entry here:

No issues found for search term 'easee'
2024-11-13 18:56:37.236 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration easee which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-11-13 18:56:40.619 ERROR (ImportExecutor_0) [homeassistant.loader] Unexpected exception importing component custom_components.easee
  File "/config/custom_components/easee/__init__.py", line 11, in <module>
  File "/config/custom_components/easee/const.py", line 151, in <module>
2024-11-13 18:56:40.628 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to import_module with args ('custom_components.easee',) in /usr/src/homeassistant/homeassistant/loader.py, line 1071: ComponentProtocol, importlib.import_module(self.pkg_path) inside the event loop; This is causing stability issues. Please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue
2024-11-13 18:56:40.630 ERROR (MainThread) [homeassistant.loader] Unexpected exception importing component custom_components.easee
  File "/config/custom_components/easee/__init__.py", line 11, in <module>
  File "/config/custom_components/easee/const.py", line 151, in <module>
ImportError: Exception importing custom_components.easee
  File "/config/custom_components/easee/__init__.py", line 11, in <module>
  File "/config/custom_components/easee/const.py", line 151, in <module>
2024-11-13 18:56:40.641 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration 'easee': Unable to import component: Exception importing custom_components.easee
  File "/config/custom_components/easee/__init__.py", line 11, in <module>
  File "/config/custom_components/easee/const.py", line 151, in <module>
ImportError: Exception importing custom_components.easee
  File "/config/custom_components/easee/__init__.py", line 11, in <module>
  File "/config/custom_components/easee/const.py", line 151, in <module>
ImportError: Exception importing custom_components.easee

Please do not continue to run v0.9.61. It has bugs that causes issues on the server side. See readme and/or release notes for  more info.
The actual error you see clearly indicates that the wrong version of pyeasee is installed, some version older than v0.8.5.
This is clear because that the error in line 151 in const.py indicates that it tries to use a constant with a new name that was introduced in pyeasee v0.8.5. So what is loaded is an older version of pyeasee where this constant has a different name.
The version of pyeasee must match what is stated in the components manifest.json file, and HA would normally install that version before it tries to load the component. v0.9.64 requires pyeasee v0.8.8. v0.9.61 requires v0.8.4. So you are likely trying to run v0.9.64 with pyeasee v0.8.4.


Support for: GET /statuses

HTTP status should not throw when app is nil.
Implement 'POST /connect-all?wait=...&iface=...'
Added autoconnect option.
Added support for: GET /statuses

For now it's a superset of #196 & #197. But will rebase if the dependent PRs are merged.

Thank you for merging the previous PRs.
Rebased the change.

Thanks! This looks good :)


build: update jupyterhub version to 1.2

After SwissDataScienceCenter/renku-notebooks#253 is merged, it makes sense to update the jupyterhub library to version 1.1 . Since the image 1.1 is not available, it seems that the 1.2 is the closest

I don't think it exists yet?

Oh well, I tried only on the base image where JUPYTERHUB_VERSION is acually used for jupyterhub/singleuser where 1.2 exists but not 1.1 (ref: https://hub.docker.com/r/jupyterhub/singleuser/tags).
I see now that on r based images that values is used as the python jupyterhub package version. In that case, it should be 1.1.0 (ref: https://pypi.org/project/jupyterhub/#history)

Image preview available (only for python 3.7) by using this docker immage
FROM lorenzocavazzitech/singleuser:200304jh1
Or create a new python project from https://lorenzo.dev.renku.ch/

can we maybe unify the jupyterhub version accross dockerfiles and makefile?
we have 1.2 in some cases and 1.1 in some other cases, or is there a reason for this?

JUPYTERHUB_VERSION is used for defining the docker image version in the python image and for pinning the python library in the other images. I agree this should be unified -- I would personally remove the variable at all and leave the numbers. Should we address that in another issue/PR?

Should we address that in another issue/PR?

yes, this is fine by me

why do today what you can do tomorrow! :)

Images for testing purposes
lorenzocavazzitech/renkulab-image-python-20200305
lorenzocavazzitech/renkulab-image-r-20200305
lorenzocavazzitech/renkulab-image-bioc-20200305
lorenzocavazzitech/renkulab-image-cuda10-20200305

tested the cuda image provided by @lorenzo-cavazzi and it seems to work fine, thanks!

I get this again:

@emmjab any clue what fixed it last time?

hmm looks like I can't modify the git config:
error: could not lock config file /home/jovyan/.gitconfig: Permission denied
error: could not lock config file /home/jovyan/.gitconfig: Permission denied

@emmjab any clue what fixed it last time?
yeah... i think it was the version of the jupyterlab-git extension

We can pin that down, but I am unable to reproduce that problem.
Tried on both a new project and an old one where I replaced the Docker image
https://dev.renku.ch/projects/lorenzo.cavazzi.tech/test-python-0-6-again
https://dev.renku.ch/projects/lorenzo.cavazzi.tech/flights-tutorial

I tested the python image - seems to work fine

Should we move on with these? Or is there something to fix/change?

Ah yes sorry, I kind of lost track - one of the issues was that the new rstudio images had a broken terminal. But that's not really a reason to stall this PR.

Ok great!
I guess only R images need to be tested yet, right? Pinging @emmjab about this :slightly_smiling_face:

There is a new version of r-session-proxy - trying it out right now

new version of jupyter-rsession-proxy pinned in this PR (which is failing to build for some unrelated reason): https://github.com/SwissDataScienceCenter/renkulab-docker/pull/88

This is where the new changes are testable: https://rok.dev.renku.ch/projects/rokroskar/is-everything-broken - all devs should have access

The two latest commits use R and python respectively

if you want to quickly add the matrix change I can re-approve

A bit late to the party, but I also tested and everything seems to work fine :tada:


Add tests for networking

mock HTTP client
test different networking scenarios

This is no longer needed as networking was moved to its library.


Ability to run R4ML from within Apache Livy using Apache Zeppelin

I am wondering from my testing R4ML does not seem to work inside of Zeppelin while using Apache Livy as it seems like r4ml.session() attempts to build an entire new SparkR session. Any thoughts?

Hi gss2002, R4ML requires that the SystemML jar file be attached to your Spark session, thats why R4ML attempts to create its own Spark session. Are you able to pass in jar files to Livy when it starts?

@bdwyer2 let me give that a shot. That make sense let me try to pass it in

@gss2002 let me know if it works for you. You might have to set r4ml.env$R4ML_SESSION_EXISTS to TRUE to trick R4ML into running. Keep me posted!

Doesn't work... As if the session exists it cannot execute the init phase..

Can you please share the code you ran and the err message you received?


Some attributes in SpaceInfo returned by list_spaces are incorrect

Describe the bug
It seems that the attribute .author in SpaceInfo returned by HfApi.list_spaces is always None and .private is always False.
FYI, the SpaceInfo returned by HfApi.space_info are correct, and the attributes in DatasetInfo returned by HfApi.list_datasets and ModelInfo returned HfApi.list_models are also correct.
Reproduction
I ran the following code and checked the returned values.
from huggingface_hub import HfApi

api = HfApi()
info = list(api.list_spaces(author='hysts'))

Logs
No response
System info
- huggingface_hub version: 0.15.1
- Platform: Linux-5.19.0-1022-gcp-x86_64-with-glibc2.35
- Python version: 3.10.9
- Running in iPython ?: No
- Running in notebook ?: No
- Running in Google Colab ?: No
- Token path ?: /home/hysts/.huggingface/token
- Has saved token ?: True
- Who am I ?: hysts
- Configured git credential helpers: store
- FastAI: N/A
- Tensorflow: 2.11.0
- Torch: 2.0.0
- Jinja2: 3.1.2
- Graphviz: 0.20.1
- Pydot: N/A
- Pillow: 9.5.0
- hf_transfer: N/A
- gradio: 3.33.1
- numpy: 1.23.5
- ENDPOINT: https://huggingface.co
- HUGGINGFACE_HUB_CACHE: /home/hysts/.huggingface/hub
- HUGGINGFACE_ASSETS_CACHE: /home/hysts/.huggingface/assets
- HF_TOKEN_PATH: /home/hysts/.huggingface/token
- HF_HUB_OFFLINE: False
- HF_HUB_DISABLE_TELEMETRY: False
- HF_HUB_DISABLE_PROGRESS_BARS: None
- HF_HUB_DISABLE_SYMLINKS_WARNING: False
- HF_HUB_DISABLE_EXPERIMENTAL_WARNING: False
- HF_HUB_DISABLE_IMPLICIT_TOKEN: False
- HF_HUB_ENABLE_HF_TRANSFER: False

(Actually, the attribute .author in ModelInfo is also always None. .private seems to be correct, though.)

@hysts this inconsistency with the private field seems to come from the server. I opened a small PR there to fix it (https://github.com/huggingface/moon-landing/pull/6497 - private repo).
In general it is expected to have some fields that are None meaning that they are not returned by the server. The list_models() endpoint returns less data than model_info() endpoint since it's listing data for all repos instead of just 1. If you want the maximum information possible, you can pass full=True in list_models, list_datasets and list_spaces.

@Wauplin Ah, I see. Thanks for the quick reply and the fix.


CodeLens functionality annotates words within comments

And it shouldn't.

Hey @kevinsullivan , can you provide a small example for me to verify? I would like to look into this issue.

Hi @kevinsullivan
I was not able to reproduce the error. If the problem please exist, feel free to reopen this issue. Thanks!
Fabian


Measurables: add owning org unit

Need to account for incomplete mappings, however org units should inherit lower level  measurable relationships via both the UBR tree and the measurable tree.   Measurables without an explicit org unit should inherit the org unit of the nearest parent measurable which does have a mapping.

Probably won't bother with the orphans relationships as I suspect too many L1 measurables will end up in there making it misleading if an org is only choosing to have ownership at L2+

Things to resolve:

[ ] Differentiate measurable selector behaviour, either asking for ownership based selection or transitively getting selection based on app ratings.
[ ] how to visualize the above
[ ] do we allow editing within Waltz ?
[ ] we could defer the rollup / missing mapping behaviour to the loaders which simplifies and makes the use-case more aligned to how apps are related to org units


Errors when spaces are present before/after bool values in the yaml files.

Good day! I most enjoy the works you humans have curated for yaml parsing in Zig! I was glad to stumble upon your package the other day, which, so far, is working great for my needs. :smile:
However, one thing I ran into was the following error when spaces were present after bool values in the yaml:
Error:

Yaml with a space in it:

Now, it may be rare that this actually appears in the wild, but in my case I ran into it quick as my editor was adding spaces! Thus, I am be a fool, but it was fun to track down to discern where the error was coming from in your code.
So I wanted to make a PR to do the following:

Fix the error and trim the spaces from the presented value when a bool or string expression.
Add some tests that included bools
Add another test for displaying the use case of multiple values in a yaml file (since this is what I am using this for in a side project)

Quick screen shot of all tests passing as well:

I bid you a grand day, let me know if anything is off here, always glad to adjust and accept any and all feedback! :bow:

Hey and thanks for using Ymlz and your contribution! It's looking good to me, only thing I'd like is to have a standalone yml file for this specific test, because 98YD.yml is a test case form the yaml-test-suite and I don't want to bloat it. You can just copy over what you've added + 98YD.yml content to a new file with a title for this specific test case and I'll happily approve your PR 😃.

Huzzah! Thank you @pwbh for your time and review! :smile:
I made a few adjustments as per your desires to avoid bloating 98YD (quite nonsensical there, I should have thought of such things initially! :bow: )
I also added in the trim to int's as I noticed that would also cause the same issue as with bools. I added some floats/int's into the tests as well to ensure everything there remained functional. :pray:
Let me know if all looks well there, I appreciate your work and time.

Yep looking great! I am a bit curious now though, if all base functions now trimming their value, I wonder if we could do something like this in getExpressionValue
fn getExpressionValue(self: *Self, expression: Expression) []const u8 {
            _ = self;

            const value = switch (expression.value) {
                .Simple => expression.value.Simple,
                .KV => expression.value.KV.value,
                else => @panic("Not implemeted for " ++ @typeName(@TypeOf(expression.value))),
            };

            return std.mem.trim(u8, value, " ");
        }

and call it a day :), could you test it and see if it works, and if so tweak this PR? If its not working as I am imagining in my head let me know, I'll approve this version and merge, thanks!

@pwbh marvelous thought indeed! In fact, I attempted to implement this precise thing whilst adding the changes (as I noticed the same pattern of use here, adding the trim in multiple places was growing stale)
However, it seems that this will break the multiline parsing:

Since parseSimpleExpression is called in multiple area's, it seems trimming the spaces for all executions causes some issues with parseMultilineString.
To combat this, I made the helper function: getExpressionValueWithTrim to be called in all other cases (simple string, bool, int) as to trim the value and return what we desire. :smiley:
I think this cleans it up a smidge, avoiding the multiple calls to trim all over, which was growing cumbersome! :sweat_smile:
Let me know if these adjustments work for you!


Update release note and changelog

Description
[Describe what this change achieves]

Add the release note from 2.11 branch https://github.com/opensearch-project/OpenSearch/blob/2.11/release-notes/opensearch.release-notes-2.11.0.md
Update CHANGELOG accordingly

Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Gradle Check (Jenkins) Run Completed with:

RESULT:  ❌
URL:
CommitID: 8349a1e
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green.
Is the failure a flaky test unrelated to your change?

https://build.ci.opensearch.org/job/gradle-check/27796/console
Tests with failures:
 - org.opensearch.search.aggregations.metrics.CardinalityWithRequestBreakerIT.testRequestBreaker {p0={"search.concurrent_segment_search.enabled":"true"}}
 - org.opensearch.search.aggregations.metrics.CardinalityWithRequestBreakerIT.classMethod
 - org.opensearch.search.suggest.CompletionSuggestSearchIT.testSkipDuplicates {p0={"search.concurrent_segment_search.enabled":"false"}}
 - org.opensearch.search.suggest.CompletionSuggestSearchIT.testSkipDuplicates {p0={"search.concurrent_segment_search.enabled":"true"}}

Flaky test https://github.com/opensearch-project/OpenSearch/issues/10154

Tests with failures:
 - org.opensearch.search.aggregations.metrics.CardinalityWithRequestBreakerIT.testRequestBreaker {p0={"search.concurrent_segment_search.enabled":"true"}}
 - org.opensearch.search.aggregations.metrics.CardinalityWithRequestBreakerIT.testRequestBreaker {p0={"search.concurrent_segment_search.enabled":"false"}}
 - org.opensearch.search.SearchWeightedRoutingIT.testSearchAggregationWithNetworkDisruption_FailOpenEnabled

4497 tests completed, 3 failed, 42 skipped

> Task :server:internalClusterTest FAILED
build complete, generating: /var/jenkins/workspace/gradle-check/search/build/27829.tar.bz2

FAILURE: Build failed with an exception.

Flaky test


Consistently Pass Parameter Flags

This massive pile of code causes the compiler to retain and consistently track parameter type flags through the various representation changes we make during the compilation process.  The idea is that we can rely on these bits instead of InOutType et al. and use them to propagate more structural invariants into lower phases instead of relying on its presence or absence.
This patch also continues the war against InOutType by reducing the usages of is<InOutType> and getAs<InOutType> where possible.  The blessed phase of compilation that should ultimately be able to utter InOutType::get is Sema - though I remain hopeful that we can eventually remove this entirely and just use the parameter bits.  is<InOutType> and getAs<InOutType> are also allowed in the AST Verifier until we can push the InOutType changes down as a proper structural invariant.  Everyone else should only speak about base types or ask Exprs and Decls for further information about inout-ness.
This patch is supposed to be NFC, but enforcing invariants necessitated changing a hack that altered a diagnostic (see test/expr/expressions.swift).

@swift-ci please test

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 201c9e33b41f25e018602fcbe6039e04d30f5533
Test requested by - @CodaFi

Naturally, the compiler crashers caught a leftover debugging assertion.  Hooray for unit testing.

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 201c9e33b41f25e018602fcbe6039e04d30f5533
Test requested by - @CodaFi

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please test

@swift-ci please test

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 201c9e33b41f25e018602fcbe6039e04d30f5533
Test requested by - @CodaFi

This patch is supposed to be NFC

What is NFC in this context?

NFC means 'No Functional Change'.

Ohhh, I see! Thank you :)

@felix91gr Just an FYI, we have a lexicon file where stuff like that is defined. The location is ./docs/Lexicon.rst.

Just an FYI, we have a lexicon file where stuff like that is defined. The location is ./docs/Lexicon.rst.

Yes, indeed. Thank you! 😊
(I wish Github rendered it properly 🤔. I’m usually browsing repos from iOS, and the rendering of RST isn’t complete in GH yet. I’ll take a full read when I’m back at my notebook ^^)

@felix91gr If you want to convert it to markdown... patches appreciated? = p

Oh. Say no more.
If it’s achievable with MD, I’ll do it!
Right now I’m busy (I’m on holiday ^^), but you can expect me to start on this by next week or so :)

@swift-ci please test

@swift-ci please test

@swift-ci Please smoke test

@swift-ci Please test source compatibility

@swift-ci Please test source compatibility

It would be great if you can rip out all the extraneous whitespace before merging as these tend to interfere with git blame.

Can do.

Also, I'm wondering if each commit builds and passes tests independently in the order they are applied.

Unfortunately, no.  I recommend we squash these changes upon merge.

Two UPasses in the compatibility suite.  // @lplarson

@swift-ci please smoke test

@swift-ci please smoke test

New assertion for the isInOut condition
assert((getKind() == DeclKind::Param) && "querying 'inout' on var decl?");

Is tripping.  Removing it for now.

@swift-ci please smoke test

@swift-ci please smoke test

Whitespace changes only now, then
⛵

@swift-ci please smoke test

@swift-ci please smoke test


UI Suggestions

Drop a layout or a link for any UI Suggestions

https://dribbble.com/shots/5702856-Community-App-Exploration
UI to start with


Support for other crypto algos?

⚠ Heads-up: misconceptions likely follow
I want to use a Web Crypto-compatible algorithm for signing and key agreement (and encryption) so that I could importKey and rely on the platform to store keys safely.
Should I just grab a library like @transmute/did-key-web-crypto and follow along with how it's done in toDidDocForProfile, or is there another way I should be extending @sidetree/wallet's existing interfaces, or should I be contributing support for new options to @sidetree/wallet itself?
(If it's either of the latter I might need some pointers on seeding with secureRandom, though that question might be better asked on did-key.js.)

under the new v1 interfaces, the IonKey module needs to support the signers, today, it only supports secp256k1, see https://github.com/transmute-industries/sidetree.js/issues/276
We would need to update it to support all the other variants of did-key we support eventually.
The interfaces referenced here has drifted, feel free to open a new issue for the new ones.


Emmet: Wrap with Abbreviation not wrapping individual lines

VSCode Version: 1.18.0

OS Version: Windows

Steps to reproduce:

HTML example:

    text1
    text2
    text3

Select whole text between
 and
 and run emmet: wrap with abbreviation
Enter li*

Expected (as seen on the emmet docs):

text1

text2

text3

Actual:

        text1
        text2
        text3

Reproduces without extensions: Yes

I guess you should use a different  command: Emmet: Wrap Individual Lines with Abbreviation

To wrap individual lines in a single selection in separate tags, use the command Emmet: Wrap Individual Lines with Abbreviation instead of Emmet: Wrap with Abbreviation.

https://code.visualstudio.com/blogs/2017/08/07/emmet-2.0#_other-changes

That seems to solve the problem. Thanks!


Uses kCLLocationAccuracyThreeKilometers desiredAccuracy

Uses kCLLocationAccuracyThreeKilometers instead of kCLLocationAccuracyBest for desiredAccuracy.
Removes setting for distanceFilter as having no sense in context.

3km is quite large but it looks like that doesn't change much in terms of accuracy, I still get the same coordinates as before, so let's use that.

3km accuracy is large for calculating sunrise? Having length of equator of 40075km, it gives calculation accuracy 3/40075 ≃ 0.008%. Multiplying this on 24hours we have accuracy about 6 seconds.
Using appropriate accuracy helps save battery.
From LocationManager documentation:

For the services you use, configure any properties associated with that service accurately. Core Location manages power aggressively by turning off hardware when it is not needed. For example, setting the desired accuracy for location events to one kilometer gives the location manager the flexibility to turn off GPS hardware and rely solely on the WiFi or cell radios, which can lead to significant power savings.

Yes for calculation themselves it shouldn't matter, but since there's no GPS on Macs you get the same coordinates in any mode as far as I can tell, as you're always located through WiFi.


Active Corruption Clean Up In Progress.org

Please do not report security vulnerabilities here. The Responsible Disclosure Program details the procedure for disclosing security issues.
Thank you in advance for helping us to improve this library! Your attention to detail here is greatly appreciated and will help us respond as quickly as possible. For general support or usage questions, use the Auth0 Community or Auth0 Support. Finally, to avoid duplicates, please search existing Issues before submitting one here.
By submitting an Issue to this repository, you agree to the terms within the Auth0 Code of Conduct.
Describe the problem you'd like to have solved

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the ideal solution

A clear and concise description of what you want to happen.

Alternatives and current work-arounds

A clear and concise description of any alternatives you've considered or any work-arounds that are currently in place.

Additional context

Add any other context or screenshots about the feature request here.

Thanks for reaching out. As there is literally nothing added to the description of this issue, I am going to close it.
If there was something you wanted to discuss, please open another issue and provide relevant information for us to be able to action accordingly.
Thanks.


Cant' work on pytorch 0.4.0

macOS 10.13.4
Python 3.6.4
pytorch 0.4.0
I encountered an error
~/py-garage/pytorch-a3c(master*) » python3 main.py --env-name "PongDeterministic-v4" --num-processes 1                                                        anya@turing-machine
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
WARN: <class 'envs.AtariRescale42x42'> doesn't implement 'observation' method. Maybe it implements deprecated '_observation' method.
WARN: <class 'envs.AtariRescale42x42'> doesn't implement 'observation' method. Maybe it implements deprecated '_observation' method.
/Users/anya/py-garage/pytorch-a3c/test.py:37: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  cx = Variable(torch.zeros(1, 256), volatile=True)
/Users/anya/py-garage/pytorch-a3c/test.py:38: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  hx = Variable(torch.zeros(1, 256), volatile=True)
/Users/anya/py-garage/pytorch-a3c/test.py:44: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  state.unsqueeze(0), volatile=True), (hx, cx)))
/Users/anya/py-garage/pytorch-a3c/train.py:55: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.
  prob = F.softmax(logit)
/Users/anya/py-garage/pytorch-a3c/test.py:45: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.
  prob = F.softmax(logit)
/Users/anya/py-garage/pytorch-a3c/train.py:56: UserWarning: Implicit dimension choice for log_softmax has been deprecated. Change the call to include dim=X as an argument.
  log_prob = F.log_softmax(logit)
Process Process-2:
Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/anya/py-garage/pytorch-a3c/train.py", line 60, in train
    action = prob.multinomial().data
TypeError: multinomial() missing 1 required positional arguments: "num_samples"
/Users/anya/py-garage/pytorch-a3c/test.py:40: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  cx = Variable(cx.data, volatile=True)
/Users/anya/py-garage/pytorch-a3c/test.py:41: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  hx = Variable(hx.data, volatile=True)
Time 00h 00m 01s, num steps 0, FPS 0, episode reward -21.0, episode length 812

I try to fix it
TypeError: multinomial() missing 1 required positional arguments: "num_samples"
diff --git a/train.py b/train.py
index 1b9c139..e3f0143 100644
--- a/train.py
+++ b/train.py
@@ -57,7 +57,7 @@ def train(rank, args, shared_model, counter, lock, optimizer=None):
             entropy = -(log_prob * prob).sum(1, keepdim=True)
             entropies.append(entropy)

-            action = prob.multinomial().data
+            action = prob.multinomial(num_samples=1).data
             log_prob = log_prob.gather(1, Variable(action))

             state, reward, done, _ = env.step(action.numpy())

I encountered a new error
~/py-garage/pytorch-a3c(master*) » python3 main.py --env-name "PongDeterministic-v4" --num-processes 1                                                        anya@turing-machine
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
WARN: <class 'envs.AtariRescale42x42'> doesn't implement 'observation' method. Maybe it implements deprecated '_observation' method.
WARN: <class 'envs.AtariRescale42x42'> doesn't implement 'observation' method. Maybe it implements deprecated '_observation' method.
/Users/anya/py-garage/pytorch-a3c/test.py:37: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  cx = Variable(torch.zeros(1, 256), volatile=True)
/Users/anya/py-garage/pytorch-a3c/test.py:38: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  hx = Variable(torch.zeros(1, 256), volatile=True)
/Users/anya/py-garage/pytorch-a3c/test.py:44: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  state.unsqueeze(0), volatile=True), (hx, cx)))
/Users/anya/py-garage/pytorch-a3c/train.py:55: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.
  prob = F.softmax(logit)
/Users/anya/py-garage/pytorch-a3c/train.py:56: UserWarning: Implicit dimension choice for log_softmax has been deprecated. Change the call to include dim=X as an argument.
  log_prob = F.log_softmax(logit)
/Users/anya/py-garage/pytorch-a3c/test.py:45: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.
  prob = F.softmax(logit)
/Users/anya/py-garage/pytorch-a3c/test.py:40: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  cx = Variable(cx.data, volatile=True)
/Users/anya/py-garage/pytorch-a3c/test.py:41: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
  hx = Variable(hx.data, volatile=True)
/Users/anya/py-garage/pytorch-a3c/train.py:108: UserWarning: torch.nn.utils.clip_grad_norm is now deprecated in favor of torch.nn.utils.clip_grad_norm_.
  torch.nn.utils.clip_grad_norm(model.parameters(), args.max_grad_norm)
Process Process-2:
Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/anya/py-garage/pytorch-a3c/train.py", line 111, in train
    optimizer.step()
  File "/Users/anya/py-garage/pytorch-a3c/my_optim.py", line 70, in step
    p.data.addcdiv_(-step_size, exp_avg, denom)
TypeError: addcdiv_() takes 2 positional arguments but 3 were given
Time 00h 00m 01s, num steps 20, FPS 13, episode reward -21.0, episode length 812

I am very confused and cannot fix it.
TypeError: addcdiv_() takes 2 positional arguments but 3 were given

Fixed inhttps://github.com/ikostrikov/pytorch-a3c/commit/e898f7514a03de73a2bf01e7b0f17a6f93963389
Also there are some warnings that do not affect performance of the algorithm.
I will fix them closer to the 0.5.0 release.

Your efficient response touched me.

@ikostrikov I think the performance is affected in version 0.4.0
python3 main.py --env-name "PongDeterministic-v4" --num-processes 16
Time 00h 00m 09s, num steps 5031, FPS 519, episode reward -21.0, episode length 812
Time 00h 01m 10s, num steps 35482, FPS 501, episode reward -2.0, episode length 100
Time 00h 02m 11s, num steps 66664, FPS 505, episode reward -2.0, episode length 100
Time 00h 03m 13s, num steps 97058, FPS 503, episode reward -2.0, episode length 100
Time 00h 04m 14s, num steps 128517, FPS 504, episode reward -2.0, episode length 108
Time 00h 05m 24s, num steps 163141, FPS 502, episode reward -21.0, episode length 764
Time 00h 06m 34s, num steps 200426, FPS 508, episode reward -21.0, episode length 764
Time 00h 07m 57s, num steps 245725, FPS 514, episode reward -21.0, episode length 1942
Time 00h 09m 16s, num steps 284730, FPS 511, episode reward -21.0, episode length 1324
Time 00h 10m 41s, num steps 325153, FPS 507, episode reward -21.0, episode length 1324
Time 00h 12m 01s, num steps 361563, FPS 501, episode reward -21.0, episode length 1324
Time 00h 13m 28s, num steps 406910, FPS 503, episode reward -21.0, episode length 1964
Time 00h 14m 53s, num steps 450836, FPS 505, episode reward -21.0, episode length 1964
Time 00h 16m 22s, num steps 493876, FPS 503, episode reward -21.0, episode length 1964

How many cores do you have on your machine?
Is seems to start learning something since the length of the episodes goes up.

  Number of Processors:	1
  Total Number of Cores:	2

I will test that on 64 cores machine.

On 2 core machine it will just take a lot of time. I would expect a decent reward after 1h of training on Pong.

[INFO ] [Logger ] Record log in C:\Users\ArunD.kivy\logs\kivy_18-09-24_3.txt
[INFO ] [Kivy ] v1.10.1.dev0, git-484b2f7, 20170513
[INFO ] [Python ] v3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)]
[INFO ] [Factory ] 194 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [OSC ] using  for socket
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] GLEW initialization succeeded
[INFO ] [GL ] Backend used
[INFO ] [GL ] OpenGL version <b'4.4.0 - Build <IP_ADDRESS>35'>
[INFO ] [GL ] OpenGL vendor <b'Intel'>
[INFO ] [GL ] OpenGL renderer <b'Intel(R) HD Graphics'>
[INFO ] [GL ] OpenGL parsed version: 4, 4
[INFO ] [GL ] Shading version <b'4.40 - Build <IP_ADDRESS>35'>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Shader ] fragment shader: <b"WARNING: 0:7: '' : #version directive missing">
[INFO ] [Shader ] vertex shader: <b"WARNING: 0:7: '' : #version directive missing">
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Base ] Start application main loop
C:\Users\ArunD\Documents\self-driving car\Self_Driving_Car\ai.py:63: UserWarning: volatile was removed and now has no effect. Use with torch.no_grad(): instead.
probs = F.softmax(self.model(Variable(state, volatile = True))*100) # T=100
C:\Users\ArunD\Documents\self-driving car\Self_Driving_Car\ai.py:63: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.
probs = F.softmax(self.model(Variable(state, volatile = True))*100) # T=100
[INFO ] [Base ] Leaving application in progress...
Traceback (most recent call last):
File "map.py", line 235, in
CarApp().run()
File "C:\Users\ArunD\Anaconda3\lib\site-packages\kivy\app.py", line 828, in run
runTouchApp()
File "C:\Users\ArunD\Anaconda3\lib\site-packages\kivy\base.py", line 504, in runTouchApp
EventLoop.window.mainloop()
File "C:\Users\ArunD\Anaconda3\lib\site-packages\kivy\core\window\window_sdl2.py", line 663, in mainloop
self._mainloop()
File "C:\Users\ArunD\Anaconda3\lib\site-packages\kivy\core\window\window_sdl2.py", line 405, in _mainloop
EventLoop.idle()
File "C:\Users\ArunD\Anaconda3\lib\site-packages\kivy\base.py", line 339, in idle
Clock.tick()
File "C:\Users\ArunD\Anaconda3\lib\site-packages\kivy\clock.py", line 581, in tick
self._process_events()
File "kivy_clock.pyx", line 367, in kivy._clock.CyClockBase._process_events (kivy_clock.c:7700)
File "kivy_clock.pyx", line 397, in kivy._clock.CyClockBase._process_events (kivy_clock.c:7577)
File "kivy_clock.pyx", line 395, in kivy._clock.CyClockBase._process_events (kivy_clock.c:7498)
File "kivy_clock.pyx", line 167, in kivy._clock.ClockEvent.tick (kivy_clock.c:3490)
File "map.py", line 131, in update
action = brain.update(last_reward, last_signal)
File "C:\Users\ArunD\Documents\self-driving car\Self_Driving_Car\ai.py", line 79, in update
action = self.select_action(new_state)
File "C:\Users\ArunD\Documents\self-driving car\Self_Driving_Car\ai.py", line 64, in select_action
action = probs.multinomial()
TypeError: multinomial() missing 1 required positional arguments: "num_samples"

I'm using pytorch 0.4.1 and Python3.7.
Still see this error "TypeError: multinomial() missing 1 required positional arguments: "num_samples""

@ph-dev-2016 Try with the most recent version of this repository.


refactor: db testing (will be split in smaller PR, don't merge)

Refactor of structure of tests :

there is now 2 folders, test/unit for unit tests and test/integration for integration test, meaning the tests working with a real Postgres DB
need of 2 environment variables : TEST_DB_URL for storing the URL of a database which will be erase on each test, and TEST_MODE set to true to ensure that the developper is aware of the fact this DB will be erased.

2 new tests for send survey emails and anonymize conferences jobs.

This was an attempt to tackle the problem. But an easier solution, without adding env variables was found. So we are closing this PR.