Transition interpolator class

Add ViewportTransitionInterpolator ViewportLinearInterpolator ViewportFlyToInterpolator
Change transitionInterpolator prop from function to ViewportTransitionInterpolator instance
Remove transitionProps prop

Another idea, the global viewportFlyToInterpolator function, if properly generalized, might be a candidate for viewport-mercator-project.
Kind of fits there and would be shared by deck and react-map-gl.


Enhance CLI Test command to accept a JSON-formatted dictionary of par…

…ams that can be added to a task's params dict.
The CLI-provided params will overwrite params of the same name defined in the task definition if a key conflict occurs. This change will allow us to provide parameters to a DAG at runtime that are specific to a 'test' command run.

This addresses https://github.com/airbnb/airflow/issues/1148


Downloading data from before 2016

Hi!
I'm attempting to load FARS data from 2014-2021. I seem to have no issue loading 2016-2021, but cannot download 2014-2015. This is the process and error I am seeing:
myFARS1 <- get_fars(years = 2014)
trying URL 'https://static.nhtsa.gov/nhtsa/downloads/FARS/2014/National/FARS2014NationalSAS.zip'
Content type 'application/x-zip-compressed' length 40663155 bytes (38.8 MB)
downloaded 38.8 MB
Error: 'C:/Users/User/AppData/Local/Temp/RtmpQphKHx/FARS data/raw/2014/' does not exist.
This might be something I am experiencing only on my end. Any feedback/assistance would be appreciated!

Hi, @aarewalt, it's not just you, NHTSA changed the file structure of their 2011-2016 files (just added another folder layer). I've uploaded a patch to Github and submitted an updated package to CRAN.

Thanks for your help @s87jackson! I'm still getting an error when downloading data from before 2016. Here is the error message:
"Error in file(con, "rb") : cannot open the connection
In addition: Warning message:
In file(con, "rb") :
cannot open file 'C:/Users/allyr/AppData/Local/Temp/RtmpEXbQcP/FARS data/raw/2014': Permission denied"
Do you have any insight on this?


AdaptiveSet passThrough optimization on Remove does not work

in Remove:
                | None ->
                    r.RemoveOutput ri
                    readers.Remove ri |> ignore

                    if readerCount = 2 then
                        let r = readers |> Seq.exactlyOne
                        r.SetPassThru(true, false)
                        onlyReader <- Some r

            readerCount <- readerCount - 1

Seq.exactlyOne fails because of concurrent modification on readers if remove is called concurrently by the GC. For the moment i disabled the check and stay in non-pass-through

nothing helps here, it is very common that GC destroys all kinds of mutable state. Either more locking or less finalizers

tried to fix via locking (lock mutable vars onlyReader et al). Although those vars only occur privately in aset i still have appearently concurrent modifications. totally crazy

6845501343a16ab1503ab50da77d59644843e88e at elast symptomatically solves some issues.
firstly, remove shall only decrement readers count if the reader is a valid reader (and can thus be counted).
Secondly, via finalizers, remove calls can be unsynchronized, therefore the additional (possibly nested) lock in local remove.
Thirdly, MutableVolatileDirtySet now performs eval on a copy. This is not totally threadsafe but at least does not produce lost updates (eventually).

Should be working right now...

Test in aardvark.base.incremental.tests


Log[Severity] Extension Methods Make Unit Testing Logging Behavior Difficult

Using extension methods rather than interface methods on ILogger makes it difficult to mock an ILogger effectively, which in turn makes unit testing logging behavior in classes that perform logging difficult.
Consider this controller code:
    public IActionResult GetImage(int id)
    {
        byte[] imageBytes;
        try
        {
            imageBytes = _imageService.GetImageBytesById(id);
        }
        catch (CatalogImageMissingException ex)
        {
            _logger.LogWarning($"No image found for id: {id}");
            return NotFound();
        }
        return File(imageBytes, "image/png");
    }

I want to write a unit test that confirms a warning message is logged when the exception is thrown. I can easily mock the service to throw the exception. But I can't mock the _logger.LogWarning call because it's an extension method:
    [Fact]
    public void LogsWarningGivenImageMissingException()
    {
        SetupMissingImage();
        _mockLogger.Setup(l => l.LogWarning(It.IsAny<string>()))
            .Verifiable();

        _controller.GetImage(_testImageId);

        _mockLogger.Verify();
    }

This code fails at runtime:

Message: System.NotSupportedException : Expression references a method that does not belong to the mocked object: l => l.LogWarning(It.IsAny(), new[] {  })

@pranavkm Question: why are these extension methods instead methods on the main interface ILogger?

@ardalis you can check ILogger.Log(It.Is<LogLevel>(LogLevel.Warning), ...)
@PureKrome Right now the ILogger interface is very small and neat, if you want to make a logger you only need to implement 3 methods, why would we want to force someone to implement the 24 extra extension methods everytime they inherit from ILogger?

@PureKrome Right now the ILogger interface is very small and neat, if you want to make a logger you only need to implement 3 methods, why would we want to force someone to implement the 24 extra extension methods everytime they inherit from ILogger?

I was going to echo this.

What is the recommended way to verify a particular Log method was hit?
logger.Verify(x => x.Log(It.Is<LogLevel>(LogLevel.Warning), ...) (as sorta suggested above by @BrennanConroy ?

That's the only way to do it. Don't get me wrong, it's a PITA but converting those extension methods to interface methods would be a disaster.

Cheers!

I can see the reasoning to keep ILogger simple; thanks!

For anybody else who stumbles onto this:
https://ardalis.com/testing-logging-in-aspnet-core

That's an interesting compromise @ardalis  :) Nice!

@ardalis thanks for the blog post!! extension methods aren't quite convincing, especially as it makes unit testing painful. At least Debug(string msg), Warn(string msg), Info(string msg), Error(string msg) and Error(Exception ex) could have been part of ILogger, as those are common methods that everybody expects to be part of any logging framework.


[ASCII-2079] Add more real log tests for password scrubbing

What does this PR do?
Saw an example of a command line argument that was quoted so we need to modify the regex slightly to match

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Request validation allways passes

Controller:
public function register(RegisterUserRequest $request)
{
	dd('a');
}

And for example the email field is required:
public function rules()
{
	return [
		'email' => 'required'
	];
}

So I send a request without the email, and still getting the "a" response.
I also tried to extend Dingo\Api\Http\Request instead of App\Http\Request, but still the same.

Your form request class should extend Dingo\Api\Http\FormRequest.

`class OrderRequest extends \Dingo\Api\Http\FormRequest
{
public function rules()
{
return [
'items' => 'required',
'email_address' => 'required|email'
];
}
public function authorize()
{
    return false;
}

}`
However it doesn't seem to be getting executed.
    public function store(OrderRequest $request)     {}
Any ideas as to why it wouldn't be executed?

Working fine here on both Laravel 5.1 and 5.2.
Anything else you can provide?


WIP CamelSource e2e test (2nd attempt)

Fixes #271
Replaces #812 (if it works, cc: @maschmid)
Proposed Changes

Add e2e tests for CamelSource

Release Note

/ok-to-test

@googlebot I consent.

test/base has been moved to test/lib in eventing master https://github.com/knative/eventing/commit/300c8881ae86e11335404eaca8e98f82295db4d0

It's passing now!

/lgtm
/approve


Response prettyPrint() escape UTF-8

From<EMAIL_ADDRESS>on May 15, 2015 10:45:28
What steps will reproduce the problem? 1. Send request, which returns some UTF-8 characters like "ŘÍŠŽŤČÝŮŇÚĚĎÁÉÓ", which contains all special Czech characters
2. Print response using com.jayway.restassured.response.ResponseBody#print
3. Print response using com.jayway.restassured.response.ResponseBody#prettyPrint
4. Compare responses What is the expected output? What do you see instead? Expected output is "ŘÍŠŽŤČÝŮŇÚĚĎÁÉÓ", but I got in prettyPrint() "\u0158\u00cd\u0160\u017d\u0164\u010c\u00dd\u016e\u0147\u00da\u011a\u010e\u00c1\u00c9\u00d3"
Content-Type=application/json; charset=UTF-8 What version of the product are you using? On what operating system? rest-assured 2.4.0 Please provide any additional information below.
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=401

Fixed in master


Remove specialist topics from edition summary page

What
Remove the option within the UI to add a specialist topic from the edition summary page.
Why
Specialist topics have been retired on GOV.UK, by removing this code we prevent tech debt and having unused code to maintain.
Trello card: https://trello.com/c/9C6tLJBL

Retested on integration and think it's good to go!


I have a lot of things I want you to improve

Is your feature request related to a problem? Please describe.
1.[pc] The minimized icon in the lower right corner should be changed to: left click to open directly, right click to pop up options
2.[pc] Add shortcut send in the right-click menu
3.[pc, android] When there is one device connected, it will be sent directly without confirming the device. When the device is larger than one or there is no device, a pop-up window will appear to select the device
4.[pc, android] After sending "A" file and then sending "B" file, you need to delete the previously added a, I think you need a switch that does not keep the history added
5.[pc, android] show real-time transfer speed
6.[android] Android client save location can be set
Describe the solution you'd like
The software looks good overall, but many functions are still unsatisfactory
Describe alternatives you've considered
No response
Additional context
No response

Real time speed is always shown as soon as 5 MB has been sent, the speed is too volatile for small transfers.

Added in v1.8.0
Duplicate of #115
I don't know if this is confusing / unexpected behaviour
Added in v1.8.0
See previous comment
This is technically difficult because of the new scoped storage permissions.

@zillydev You are right. Created #293


Remove lol-monitor

I don't think lol-monitor is useful in production. Actually, even in development our team have never used this.
Health-checking should be done by gRPC health-check and the ecosystem around it, not by a hand-made tool.
A downside of this decision is that it will be hard to check the sync progress at glance.

I decided to maintain this app for a while


chores: lock rustc version by using toolchain file

@anqurvanillapy just to show how to lock toolchain using toolchain file. You may still want to change CI as this does not affect CI yet.


Automatically add/remove labels when github review (requests) are used

@bors r+

:pushpin: Commit 0227a33ac7c7109a9ae5d7d2cb2209d7c4f5eb55 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 0227a33ac7c7109a9ae5d7d2cb2209d7c4f5eb55 with merge 07fa00853c2f35f59431478ed4df784656061d18...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 07fa00853c2f35f59431478ed4df784656061d18 to master...


Support "Loaded Scripts" view in the debugger

Microsoft/ptvsd#783

What would we like to display here?
If a package is being used, do we display all files (related to that pacckage) that have been loaded?

Whatever ptvsd provides us. 😉 I assume it would be all files that have been loaded.

This would be useful even if it's just the contents of sys.modules. Theoretically this should let one set breakpoints without having a local checkout of the code, right?

breakpoints without having a local checkout of the code, right?

If you're referring to remote debugging, then yes

Closing as it is old.


[blog] Update Pigment CSS post

[x] I have followed (at least) the PR section of the contributing guide.

Follow up to https://github.com/mui/material-ui/pull/42198

@danilo-leal Make to add the cherry-pick label to the PR just before merging so that same PR is created on master branch as well.


Help in changing font to Monaco!

Hello there,
I really loved this theme and the support you're providing.
While I was watching the section "Show Off Your Config" on wiki page I came across Miguelcarax's config, I loved the Monaco font and went to the gist that he has provided. I have downloaded file-monaco_linux-powerline-ttf, put it to ~/.fonts folder and run fc-cache -vf, I don't  know what to do next in order to change the fonts of the terminal.
Sorry for asking a very basic question.
Thanks.

Changing fonts in the terminal depends on the emulator you use, but most have a section where you can edit the profile and set the fonts there.

@svaderia - Your terminal application's preferences should let you select a font to use in the emulator. What terminal emulator are you using?

I'm using default gnome-terminal-server emulator for Ubuntu 16.04.
When I change my font in preference, Look the efects below:

It will be very helpful if you can tell me how to fix this Or suggest some other good emulator since I'm a new learner of *nix systems.
Thanks :smile:

@svaderia - And, just to be sure, if you right-click in your terminal and select that new profile, you don't see a font change take effect?
Those settings look correct (I use the same emulator), so if it's not working I'm honestly not sure what to say :-/

@bhilburn Thanks for the reply. It chaged the font but as shown in the second screen shot of my previous comment the triangular shape is not showing correctly.

@svaderia - I'm really not sure what to say, unfortunately. This seems to be something specific with the font. I followed the threads on Github discussing that Gist, and people's success with it seems to be pretty hit-or-miss: https://gist.github.com/baopham/1838072
I know you're on Linux, but you could give this one a go?
https://gist.github.com/kevinis/c788f85a654b2d7581d8
Otherwise not really sure what to tell you, I'm afraid.

Thank you so much @bhilburn. The second link worked.
Appreciate the support you are providing!
Keep up the good work! :smile:

Glad you're all set, and I'm happy you're a P9k user! =)


mesh hash resolution with peers

design discussion
https://github.com/spacemeshos/SMIPS/issues/51
https://github.com/spacemeshos/SMIPS/issues/60
implementation plan
fetch
add the following to fetch interface
type MeshHashRequest struct {
    From, To     types.LayerID
    Delta, Steps uint32
}

type MeshHashes struct {
    Layers []types.LayerID
    Hashes []types.Hash32
}

type EpochData struct {
    Beacon types.Beacon
    Weight uint64
    AtxIDs []types.ATXID
}

type layerFetcher interface {
    Peers() []p2p.Peer
    PeerEpochInfo(context.Context, p2p.Peer, types.EpochID) (*fetch.EpochData, error)
    PeerMeshHashes(context.Context, p2p.Peer, *fetch.MeshHashRequest) (*fetch.MeshHashes, error)
}

syncer
syncer periodically check peers’ agreement on the mesh hash (aka aggregated hash) along with its layer opinions.
given a list of opinions for layer N from peers, syncer first finds those that differ from the node’s mesh hash at layer N-1. for those peers. pseudo code below:
getMeshAgreement(lid types.LayerID, opinions []*fetch.LayerOpinion) (*fetch.LayerOpinion, error) {
    maxIgnoredWeight uint64
    candidate LayerOpinion
    for opn in opinions {
        if opn.meshHash == nodeMeshHash {
            // update last agreement with peer
            forkFinder.UpdateAgreement(opn.Peer(), lid.Sub(1))
        else {
            epochData = fetch.PeerEpochInfo()
            missing = set_diff(peerAtxIDs, nodeAtxIDs)  // in peerAtxIDs but not in nodeAtxIDs
            err = fetchATX(missing)
            if err {
                // if the node cannot download the ATXs claimed by this peer,
                // it does not trust this peer's mesh
                continue
            }
            ignoredWeight = total_weight(missing)
            if ignoredWeight > maxIgnoredWeight {
                maxIgnoredWeight = ignoredWeight
                candidate = opn
            }
        }
    }

    threshold := (nodeEpochWeight + maxIgnoredWeight).Fraction(s.conf.TortoiseGlobalThreshold)
    if nodeEpochWeight > threshold {
        // the node should still be confident of its mesh
        return nil, nil
    }

    // find the divergent layer and adopt the peer's mesh from there
    fork = forkFinder.FindFork(candidate.Peer(), to, candidate.PrevAggHash)
    adoptPeerMesh(ctx, candidate.Peer(), fork.Add(1), lid.Sub(1))
    // clear the agreement cache after importing new opinions
    s.forkFinder.Purge(true)
    return candidate, nil
}

fork finder
add the following to facilitate finding divergent layer with peers.
type layerHash struct {
    lid     types.LayerID
    hash    types.Hash32
    created time.Time
}

type ForkFinder struct {
    logger           log.Log
    db               *sql.Database
    fetcher          layerFetcher
    // max number of hashes requested from peer in a request
    maxHashesInReq   uint32
    // any cached peer hash will be purged after this duration if the peer is no longer the node's peer list
    maxStaleDuration time.Duration

    mu          sync.Mutex
    // caches the last agreed hash with peer
    agreedPeers map[p2p.Peer]*layerHash
}

// FindFork finds the divergent layer with peer between the last agreed layer and the layer where
// difference is detected.
FindFork(peer p2p.Peer, diffLid types.LayerID, diffHash types.Hash32) (types.LayerID, error) {
}

// UpdateAgreement updates the last layer that node and peer agreed on the mesh hash.
UpdateAgreement(peer p2p.Peer, lid types.LayerID, hash types.Hash32) {
}

basic algorithm

LA: latest agreement layer, fall back to genesis layer if not available
OD:  oldest disagreement layer
for each request to peer, make sure the boundary hashes are not changed, as the peer can be going through reorg during the requests
the number of hashes requested each time is bounded by maxHashesInReq. based on that, calculate the delta layers in each step, and the number of steps between LA and OD to get maxHashesInReq of hashes in requests.

example
assuming

3 layers per epoch
maxHashesInReq is 5
node and peer X forked at layer 35:
LA: N/A
OD: 50

the resulting requests with peer X are

req 0: [5, 19, 33, 47, 50]    -> LA: 33, OD: 47
req 1: [33, 37, 41, 45, 47]  -> LA: 33, OD: 37
req 2: [33, 34, 35, 36, 37]  -> LA: 35, OD: 36 -> fork: 35

tortoise
add the following to tortoise package
func (t *Tortoise) Rerun(ctx context.Context, lid types.LayerID) {
    t.mu.Lock()

    if lid.Before(t.minprocessed) && t.mode.isVerifying() {
        defer t.mu.Unlock()
        t.verifying.resetWeights()
        t.verifying.resetIgnored()  // clear the ignored ATXs
        t.verified = minLayer(t.verified, lid)
        for target := t.verified; !target.After(t.processed); target = target.Add(1) {
            if target.GetEpoch().IsGenesis() {
                continue
            }
            t.verifying.countVotes(t.logger, target, t.layer(target).ballots)
        }
        return
    }
    t.mu.Unlock()
    // trigger rerun from genesis
    t.rerun(ctx)
}

func (t *Tortoise) OnAtx(atx *types.ActivationTxHeader, ignore bool) {
    t.mu.Lock()
    defer t.mu.Unlock()
    t.trtl.onAtx(atx, ignore)
}

type epochInfo struct {
    atxs, ignored map[types.ATXID]uint64
}

type state struct {
    ...
    epochs map[types.EpochID]*epochInfo
    ...
}

func (t *turtle) onAtx(atx *types.ActivationTxHeader, ignore bool) {
    epoch := atx.TargetEpoch()
    if _, ok := t.epochs[epoch]; !ok {
        t.epochs[epoch] = newEpochInfo()
    }
    if ignore {
        t.epochs[epoch].ignored[atx.ID] = atx.GetWeight()
    } else {
        t.epochs[epoch].atxs[atx.ID] = atx.GetWeight()
    }
}

adopting a peer's mesh
assuming syncer decides to adopt the mesh from a confident peer from layer F+1 to N-1, it will first fetch the missing ATXs, and ballots/blocks layer by layer from F+1.
data

for every new ATX received after its publish epoch

call OnAtx(atx, true)

for every ballot that reference an ignored ATX

call OnBallot(ballot)
set the ballot weight to 0 (similar to an malicious ballot)

all blocks are fetched and saved as usual (call OnBlock(block))

opinions

block certificate [F+1, N-1]

save to db, overwriting previous value

block validity [F+1, N-1]

saved to db, with previous validity all cleared

adopt
after the data and opinions are imported, call Tortoise.Rerun(F+1) to rerun from the divergent layer F+1.
the assumption here is that mesh.ProcessLayer()/ProcessLayerPerHareOutput() will be blocked by the Rerun() so that mesh will not make any decision to revert layers based on block validity changed in database.
reduce tortoise rerun frequency
Tortoise's rerunLoop should be updated to
func (t *Tortoise) rerunLoop(ctx context.Context, period time.Duration) {
    timer := time.NewTimer(period)
    defer timer.Stop()
    for {
        select {
            case <-ctx.Done():
                return
            case <-timer.C:
                t.mu.Lock()
                var from types.LayerID
                for epoch := t.trtl.evicted.Add(1).GetEpoch(); ; epoch++ {
                    if _, ok := t.trtl.epochs[epoch]; !ok {
                        break
                    }
                    counted := sumWeights(t.trtl.epochs[epoch].atxs)
                    ignored := sumWeights(t.trtl.epochs[epoch].ignored)
                    threshold := counted
                    threshold = threshold.Add(ignored)
                    threshold = threshold.Fraction(t.cfg.GlobalThreshold)
                    if counted.Cmp(threshold) < 0 {
                        from = epoch.FirstLayer()
                    }
                }
                t.mu.Unlock()
                if from != (types.LatyerID{}) {
                    _ = t.Rerun(ctx, from) // err is already logged with additional context
                }
                timer.Reset(period)
        }
    }
}

this issue is broken down to the following smaller issues:
https://github.com/spacemeshos/go-spacemesh/issues/2523 separate fetching of layer hash and block IDs
https://github.com/spacemeshos/go-spacemesh/issues/2524 add aggregated hashes in layer response
https://github.com/spacemeshos/go-spacemesh/issues/2347 Message server should support error streams
https://github.com/spacemeshos/go-spacemesh/issues/2526 implement hash resolution in message server
https://github.com/spacemeshos/go-spacemesh/issues/2525 implement hash resolution in layerfetch
https://github.com/spacemeshos/go-spacemesh/issues/2527 implement syncer code that drives hash resolution

@dshulyak please review the implementation plan described in the issue. thank you.

i will take a look, but just a note that tortoise.Rerun is completely removed in the upcoming changes.
as long as tortoise is fed with new data it will changes opinion on the previous layers

couple of other more general notes:

there is no need to make any of the tortoise changes described here
mesh hash resolution should download missing ballots and atxs and fed them to OnAtx (without ignore boolean) and OnBallot handler

there is no need to make any of the tortoise changes described here

yay.

mesh hash resolution should download missing ballots and atxs and fed them to OnAtx (without ignore boolean) and OnBallot handler

ok.

adopting opinion is also not very relevant, i suggest we don't do it for genesis. full tortoise using 10 000 layers as a sliding window is completely viable to run.

so essentially, in a 30/70 split, all nodes in 30-split will enter self-healing. correct?

so essentially, in a 30/70 split, all nodes in 30-split will enter self-healing. correct?

30-split will count votes in full mode (e.g from both sides) at some point and after that vote consistently with 70-split. but there should be no voting according using coin


gui.textbox should support for text selection

Marking of text should be possible using mouse.

Wondering if @vrondakis wants to merge his work with the master branch.

Closing this for now.

Closing this for now.


Ability to override default 'Name' tag

Provides the user the ability to override the default Name tag specified in the module.
Description
According to the Terraform documentation, a merge occurs in the following manner:

merge(map1, map2, ...) - Returns the union of 2 or more maps. The maps are consumed in the order provided, and duplicate keys overwrite previous entries.

Therefore, a user using this module should be able to override the default Name attribute by switching the order that the module performs a merge.
Motivation and Context
For the VPCs I manage, I would prefer not to have the default string of...
VPN Connection between VPC ${var.vpc_id} and Customer Gateway ${var.customer_gateway_id}

...override my values for the names of my VPN connections. The default string should only be a fallback if the user doesn't specify anything.
Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.

Hey @antonbabenko , thanks for the quick merge! The pull request template I used was from here: https://github.com/stevemao/github-issue-templates/blob/master/questions-answers/PULL_REQUEST_TEMPLATE.md. If you add a .github folder to the root of this repo, you can populate the file PULL_REQUEST_TEMPLATE.md with that link above, and PRs in the future will automatically use that template.
Cheers!


Edit does not work after find in property mode

When in property mode, edit 2 n/a says invalid when there are 2 properties. This only happens after using find or view.

Resolved.


add badges

This PR adds some badges to the README.md

@pp-mo Did you ever register ugrid-checks with the pre-commit.ci service?

Did you ever register ugrid-checks with the pre-commit.ci service?

I didn't realise that we needed to 'register'.
Is this not just to add a workflow, as in https://github.com/pre-commit/action ?


Gears of war compatible ?

Hi lucasassilar
Great work so far and i'm glad to see you back in the development. I'll continue to contribute as much as i can.
I was wondering if your tool is usable for the first Gears of War or even Vermintide ? (if you dont have the game i'll be glad to offer it)
Thanks again for your work
Livoirien

I don't own any (actually never even heard of Vermintide XD).
I know that the new Gears of War (the remaster) is totally of the table because of UWP, but I could take a look at the old one. I think there's no way to obtain it honestly (it was released on Games for Windows Live) but I'll download it here and take a look. I'm a huge fan of the series, a game that i just forgot.
Now Vermintide I just googled, is that the Warhammer game?

Glad to see you, your working on the old Gear of War game.It is awesome
Vermintide game is like left 4 dead but in the warhammer univers (but i'm not sure it is compatible because there is no Lan option)
Anyway i'll try to get you a key to check it later when you'll got time and a reduced to-do-game list !
i'll make a contribution in few days to help you
Hang in there


Ignore computed columns

Previously datanymizer would fail on computed columns.
closes #189
This is a one line fix.
Note that this change requires users to use Postgres version >= 12. It is possible to maintain backwards compatibility to older versions with a few more lines of code, but I don't know if that is desirable or if there is code in the repo to assist with that.
✓ Checklist:

[x] This PR has been added to CHANGELOG.md (at the top of the list);
[ ] Tests for the changes have been added (for bug fixes / features);

This was tested locally against tables with computed columns but I didn't see how I could test this in an automated way. I was looking around at unit tests (made a small unrelated change there on a separate commit). I didn't see in the repo how to create an integration test. The way to test this is just to add a computed column to a table - previously this failed to produce a dump, but now it will.

The Clippy failure seems unrelated- would be nice to remove that linter or get it working with a tool like revgrep which would help it only output for changes.

@evgeniy-r
@akirill0v

Hello!
Thank you for your contribution.
I will fix Clippy warnings in the separate PR then merge your PR and then make the new release.
Sorry for the late reply.

@evgeniy-r you can take a look at all the commits that we are using. All of these changes have been tested to fix or help with specific issues we had:
If you want me to submit specific PRs with changelog entries, etc, let me know.


Updated recipe/meta.yaml to version <IP_ADDRESS>

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


⚠ Bofrost.fr has degraded performance

In 808a06c, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1475 ms

Resolved: Bofrost.fr performance has improved in c249be2 after 6 minutes.


A typo in the code.

Hi @coltonstearns. It looks like there's a mistake in the code because the segmentation is in the third channel of properties (i.e., properties[:, 3]). Could you please check it?
        # reorder points by segmentation
        segmentation_reordering = torch.argsort(properties[:, 7])
        properties = properties[segmentation_reordering]

https://github.com/coltonstearns/dynamic-gaussian-marbles/blob/b06684920779cb3bc2841ede4745c067c814e000/src/models/sequence.py#L85C1-L87C57

Yes that's a bug, thank you for finding it! Fortunately, I don't think the ordering of the properties has any effect in the current version of the code (this was only used in a previous implementation) - however, I'll update this to avoid confusion :)

Thanks for your efforts!


added "label" instruction

Added support for the LABEL docker instruction:
https://docs.docker.com/reference/builder/#label

Any information regarding this PR? Will it be merged?

LABEL support has been added by https://github.com/Transmode/gradle-docker/commit/456fd2d9275b4bd76dd67f7bbf3866cdaf98acc6
If any of the other features of this PR is needed, please other PRs for these


On success of tabular bulk creation through CSV file upload send new IDs in E-Mail

The E-Mail sent to the user who uploaded the CSV file should contain information about the newly assigned record IDs. Ideally return a modified version of the uploaded CSV now including the newly assigned persistent IDs. Compress the modified CSV with ZIP. Please ensure, that this is not depend on Sequelize, but at least potentially can be used with future storage technologies as well.
Expected work time: 6h

Already done but an issue was forgotten to de closed.
You can check e-mails that arrive to the user during batch-upload.


Update Wiki please

https://github.com/cmu-db/peloton/wiki/Query-Plan needs to be updated. For one, is there an ExecInitNode() or ExecProcNode() methods anymore? I tried grepping thru the code in src/
and came up with no hits.

We are working on a new query optimizer right now, so the wiki pages are out-of-date.
Is there something specific that you are trying to accomplish?

Hi Professor Pavlo. First I would like to say thank you for making the 15-721 lectures available on YouTube, I have really enjoyed them and I they have helped plug a hole in my knowledge base. I am not a DB guy myself, in fact, I an MSCF grad from Tepper so in a past life, a lot of my work involved Monte-carlo scenario generation. In my limited off time, I have been trying to "bake" analytics  into open-source databases, the idea being certain classes of applications care more about the analysis and not so much about the data itself, so it's best to do the analysis in situ in the database, thus utilizing any free cores the DBMS hardware might have. So, in the case of Peloton seems like a good candidate because of its tiled architecture, I can grab the data (which is frequently on hot data and not cold data), do the analysis, and send back only the post-analysis results. So at this point, having joins working is a bare-minimum requirement because in this case, I am looking at a portfolio of financial securities to determine the portfolio risk.

@pbhowmic Email me. We should try to talk this week<EMAIL_ADDRESS>

Hi Professor Pavlo,
Sure we can talk. Let me know a few dates/times and I will see which ones are workable.
Email me at p.s.bhowmick at gmail


Showing recent posts on Home page

Hi, am trying to find a way to show my recent posts , maybe with a limit to my Homepage, is it doable!

Hi @KrishnanN27. Yes, Hugo supports doing this. There are no specific considerations for this theme, and you should be able to find plenty of how-tos online.

Thanks @joeroe , thats great news!


#3 create categories

Value Proposition
As a user, I also want to create categories so that i can sort my list-items inside of them.
Description

Category-List Example for localStorage & useState:
[
  {
    id: 'A1259d6j6s',
    name: 'Haushalt'
  },
  {
    id: 'B6ghu86j6s',
    name: 'Haustiere'
  }
]

Acceptance Criteria

[ ] (create-entry page) display input-field to insert a new category
[ ] save the data, so i can reload and get all inserted data

Tasks

[ ] add new Input component (insert new category) inside the create-entry page
[ ] save the list-items & categories localStorage and useState

Do you save the new Category in an extra category useState to be re-usable?
Is the localStorage updated according to the useState?
Please specify..

Do you save the new Category in an extra category useState to be re-usable? Is the localStorage updated according to the useState? Please specify..

I edited a example-list how i store my localStorage & useState


New messages overlapped with type your message

this happens in Android, where new messages button gets hidden below the type your message editable field

Please update your post by following our bug template that provides the format to questions for us to be able to assist with your bug.

@maggi1129 we need more information about the bug, could you answer those questions in the bug template?


Updated minikube cluster deployment documentation

Modify the content of existing documentation that differs from the current yorkie version Changed examples for testing yorkie cluster from CodePair to Quill in the yorkie-js-sdk

What this PR does / why we need it?
The docs for building a yorkie cluster with minikube are expired or missing.
This PR starts by fixing those, and then moves to the Quill example in the yorkie-js-sdk instead of the Code Pair example, which is too heavy for testing clusters.
Any background context you want to provide?
The dependencies for minikube, helm, and istio are specified, but I'm wondering if it's right to not specify the dependencies for npm, pnpm, etc. to run the yorkie-js-sdk.

Pros of specifying: smoother testing
Cons of specification: this documentation is more focused on the core topic of Yorkie Cluster

What are the relevant tickets?

Fixes #156
Checklist

[ ] Added relevant tests or not required
[ ] Didn't break anything

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


[Request] Add Okular Nightly

URL to application: https://binary-factory.kde.org/job/Okular_Nightly_win64/
Latest version:  okular-master-591
Graphical interface: Yes
Portable version: No

@helohe Just added, you can install with scoop update && scoop install okular-nightly


Newer MH-Z19B CO2 Sensor does not work with MH-Z19 Component - CO2 value never changes, remains at 5000 ppm

Home Assistant release with the issue:
Issue observed with 0.69
Last working Home Assistant release (if known):
not known
Operating environment (Hass.io/Docker/Windows/etc.):
Hassbian
Component/platform:
MH-Z19 CO2 Sensor
Description of problem:
Newer Model the MH-Z19B isn't completely compatible - while the temperature is recorded correctly and responds quickly, the CO2 reading stays at 5000 ppm all the time.
There is no difference in the value when brought indoors or outdoors.
The value returns to 5000 within a few seconds when an arbitrary figure is forced.
One post on a different board I noticed stated that:

... the "B" version of the sensor, which gives a "0" as S-value.

if that helps ?
https://www.letscontrolit.com/forum/viewtopic.php?t=3857&start=20
The sensor yaml I used, standard as per component:
  - platform: mhz19
    serial_device: /dev/serial0
    monitored_conditions:
      - co2
      - temperature

same


OBSIDs from October 2021 - present don't resolve

NICER OBSIDs from at least October 2021-present do not resolve in the code. Giving a KeyError:0.

This appears to be an issue with astroquery. Observations from October 2021-present aren't querying when calling nicermastr with astroquery.
This could be a problem with not being up to date with astropy v5.1.

At present this appears to be an issue of astroquery.heasarc not resolving alias'.
Example: "Crab Pulsar" will only pull some OBSIDs where "PSR_B0531+21" will pull more recent observations,
Still working to confirm this for other sources through.

This is no longer an issue. HEASARC in astroquery isn't resolving pulling all the same OBSIDs as the web interface. Use the more specific source name when querying EX. Crab Pulsar -> PSR_B0531+21


scipy.ndimage.zoom: mode "nearest" with pad different from "constant"

My issue is about the function scipy.ndimage.zoom and its mode-parameter.
Before scipy 1.6.0, the result of mode="nearest"and mode="constant" was identical when the input data was zero-padded already. Starting from version 1.6.0, the two boundary modes produce different results. The most relevant change for this issue seems to be #13095.

Is this intended?
Is there a reason for that?
Is it somehow possible to see that from the docs? (See also the plots: https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#ndimage-interpolation-modes)

Reproducing code example:
>>> from scipy.ndimage import zoom
>>> import numpy as np
>>> np.set_printoptions(suppress=True, precision=2)
>>> zoom([0, 1.0, 0], 2, order=3, mode="nearest")
array([-0.  ,  0.47,  0.92,  0.92,  0.47,  0.  ])
>>> zoom([0, 1.0, 0], 2, order=3, mode="constant")
array([-0.  ,  0.35,  0.9 ,  0.9 ,  0.35, -0.  ])

For comparison, some more test cases:
>>> zoom([0, 1.0, 0], 2, order=2, mode="constant")
array([0.  , 0.32, 0.92, 0.92, 0.32, 0.  ])
>>> zoom([0, 1.0, 0], 2, order=2, mode="nearest")
array([0.  , 0.43, 0.93, 0.93, 0.43, 0.  ])
>>> zoom([0, 1.0, 0], 2, order=1, mode="nearest")
array([0. , 0.4, 0.8, 0.8, 0.4, 0. ])
>>> zoom([0, 1.0, 0], 2, order=1, mode="constant")
array([0. , 0.4, 0.8, 0.8, 0.4, 0. ])
>>> zoom([0, 0, 0, 1.0, 0, 0, 0], 2, order=3, mode="nearest")
array([-0.  ,  0.03,  0.01, -0.1 , -0.09,  0.34,  0.9 ,  0.9 ,  0.34, -0.09, -0.1 ,  0.01,  0.03,  0.  ])
>>> zoom([0, 0, 0, 1.0, 0, 0, 0], 2, order=3, mode="constant")
array([-0.  ,  0.02,  0.01, -0.1 , -0.09,  0.34,  0.9 ,  0.9 ,  0.34, -0.09, -0.1 ,  0.01,  0.02, -0.  ])

Plots with zoom factor 10 (seems like mode="constant" enforces vanishing derivatives, while mode="nearest" doesn't):

Plot code:
import matplotlib.pyplot as plt
import numpy as np
from scipy.ndimage import zoom
arr = np.array([0, 1.0, 0])
z = 10
plt.scatter(np.arange(0.5, arr.size), arr, label="input")
for mode in ['constant', 'nearest']:
    plt.plot(np.arange(0.5 / z, arr.size, 1 / z), zoom(arr, z, mode=mode), label=mode)

plt.legend()
plt.show()

Scipy/Numpy/Python version information:
>>> import sys, scipy, numpy; print(scipy.__version__, numpy.__version__, sys.version_info)
1.6.1 1.20.1 sys.version_info(major=3, minor=9, micro=2, releaselevel='final', serial=0)

For spline order >=2, there are only three spline boundary conditions with analytical solutions in the C code. I forget why "nearest" was initially using the mirror boundary condition (e.g. in v.1.2.3), but was later changed to "reflect" instead
The three analytical boundaries correspond to mode = 'mirror', mode='reflect' and mode='grid-wrap'. The other modes are not exactly correct in terms of boundary handling since an analytical solution has not been implemented. For modes nearest and "grid-constant", to get around error due to lack of an analytical solution, these instead use preprocessing to pad the input array using the specified boundary mode prior to filtering (and then removing the padded regions before returning the result).
If you plot "nearest" vs. "grid-constant" in your example above, the lines will exactly overlap. For mode "constant" the spline boundary condition being used is actually "mirror" and no pre-padding is being used in that case.


Upgrade pflag

What this PR does / why we need it: Remove the log ERROR message in each line
ubuntu@k8s-master:~$ kubectl logs k8s-keystone-auth-k8s-master -n kube-system
ERROR: logging before flag.Parse: I0612 09:06:00.524068       1 keystone.go:451] Creating kubernetes API client.
ERROR: logging before flag.Parse: W0612 09:06:00.524182       1 client_config.go:533] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
ERROR: logging before flag.Parse: W0612 09:06:00.524262       1 client_config.go:538] error creating inClusterConfig, falling back to default config: open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory
ERROR: logging before flag.Parse: E0612 09:06:00.524410       1 main.go:43] failed to get kubernetes client: invalid configuration: no configuration has been provided

The change is generated by running dep ensure -update github.com/spf13/pflag

/approve

/test cloud-provider-openstack-acceptance-test-standalone-cinder

/test cloud-provider-openstack-acceptance-test-lb-octavia


*: fix crictl vendor

Close https://github.com/kubernetes-incubator/cri-o/pull/793
Fixes CI found in https://github.com/kubernetes-incubator/cri-o/pull/789
@mrunalp PTAL
Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

alright this fixes the issue :) @mrunalp PTAL

These LGTM  Need ASAP to get tests passing again.

LGTM


Added pom.xml file for build support.

The pom.xml uses the appassembler plugin to generate shell scripts to run classes with main() methods.
This required moving the source code directories around a little bit.
I did this rearrangement because I was asked to run the GetYAnswersPropertiesFromQid class, and this was the easiest way to get it all to build and run easily.

Hi @isoboroff
Thanks for mavenizing the project. At this point I fear that merging will break links sent by mail over the last months, which we do not wish to happen. You may share the existence of your branch with the mailing list, of course.


Hide import path of type info

This path showing is hindrance to look type info. Can you provide a way to hide this path?

For example, show this path only while ctrl key is pressed.

Can you take a look?

@mhegazy @DanielRosenwasser @andy-ms Why you give this unreadable info by default? Generally such complete info is too long to use it in usual usage. Should show it only while ctrl key is pressed.


Update LlamaIndex for tool schema validation

LlamaIndex requires the pydantic model definition to be passed for parameter signature validation, rather than an instance. This PR updates the logic to pass the correct type.

An alternative implementation that addresses the same breaking change issue in LlamaIndex is here: https://github.com/serena-ruan/unitycatalog-ai/pull/30

I agree https://github.com/serena-ruan/unitycatalog-ai/pull/30 is a better solution :)


Sidemenu background imageview layout gap

I face an issue when I tried to change the sidemenu background image.
The background image for sidebar menu seems to leave a gap at the top.
I created the background image following the UI guide and it has a dimension of 1042*2208px.
I tested on an iPhone 6plus  and an iPhone 5s simulators and the results are the same.

I tried to debug but cannot fix it. Please let me know if you have the same issue.

Hi @zhiranchen, I was facing this issue too but I have an alternative option.
Please go to Storyboards > Main.storyboard > Side Menu View Controller
Check on the "background" top constraint. Please remove the top constraint and set a new top constraint pointing to "View" with 0 instead of "Top Layout Guide".
I think previously they were concerning on the status bar so they left the spacing by setting top constraint to "Top Layout Guide" (It is a good standard to point to "Top Layout Guide"). Just in case if you want to colour your status bar with other colour instead of merging with the side menu background.
Pictures Guidance
Step 1 :

Step 2 :

Step 3 :

Step 4 :

Thank you! @ivancwh


Intermittent CI failures with VideoPlayer

The CI intermittently fails with this error "Cell 10: Timeout of 2000 seconds exceeded while executing cell. Failed to interrupt kernel in 5 seconds, so failing without traceback."

See https://github.com/openvinotoolkit/openvino_notebooks/runs/4954487391?check_suite_focus=true

Probably fixed in #393

Is that addressed? Let's make sure we don't fail the CI and also know why it fails?


DataFrame#plot and Vector#plot not working

require 'daru'
Daru.plotting_library = :gruff
dv = Daru::Vector.new [1, 2, 3]
dv.plot do |p|
  p.title = 'lol'
end

result in following error:
SystemStackError: stack level too deep
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru.rb:54:in `block in create_has_library'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:209:in `plotting_library='
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:1498:in `init_plotting_library'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:222:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
/var/lib/gems/2.5.0/gems/daru-0.2.1/lib/daru/vector.rb:224:in `plot'
...

If looks to me the support for plotting in Daru has been removed or long been broken because Daru latest release gives the error that DataFrame#plot is not found. If the support for plotting has been removed (because its shifted to daru-view) we need to remove the appropriate notebooks from README and sciruby-notebooks.

Hi,
I'm having the same error, I'm using Daru-0.2.2.  Is this something fixed in the master branch? And if so, are you planning to do a release at some point? I prefer to use a fixed release for consistency.
Best,
Ricardo.

Hi @lokeshh  and @v0dro,
I'm using daru (0.3) and I'm getting the same error
SystemStackError: stack level too deep
Do you have the same issue on your end ?

@NicolasNeiman You need to install gruff gem first. You can do that by running gem install gruff.

@homonecloco I'm using daru 0.3 and plotting with gruff is working for me. I just had to add that gem using gem install gruff. If you see an let me know.


update to java melody 1.91

Just update the core version of java melody

Would it be possible to update the version of melody?
Thank you very much.


Adding required reviewers check

null
Microsoft Reviewers: Open in CodeFlow

This doesn't do want we need.

The action won't work on PRs from forks, because the fork's GH token doesn't have permission to look up team members of microsoft teams


Feature proximity filter

@jorishjanssen @RonaldOlsthoorn I tested this version and this doesn't fix the proximity issue since there is not a single noisy point but multiple. see image https://drive.google.com/open?id=1s7Ouerydb-FVPy6XNu8hl1nZJo0iUjxpFfQniXFg1Ew


My document has disappeared

Preflight Checklist

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug
I followed the usual link to where I had always worked, but now it shows that my document doesn't exist or I have no access to it. I can't find it on my Google Disk also. Can I get my document back or has it disappeared for some reason? This is the link: https://app.diagrams.net/?src=about#G1eAHzL8Yy7ohngXJMAhg-fnoDjR2pXC4Y
To Reproduce
Steps to reproduce the behavior:

Go to the link
Click on "authorize"
See error

Expected behavior
I needed my document to work as usual. The tab with it was always open in my browser, but I didn't open for a week and now it doesn't work.
Screenshots

draw.io version (In the Help->About menu of the draw.io editor):

draw.io version [e.g. 12.6.7]

Desktop (please complete the following information):

OS: [Windows 10]
Browser [Yandex Browser] but it doesn't work in Chrome as well
Version [<IP_ADDRESS>3 (64-bit)]

Smartphone (please complete the following information):

Device: [Samsung Galaxy A50]
OS: [Android]
Browser [Chrome]
Version [Android 11]

Is the file in your Google Drive? Can you open it from drive.google.com?

Is the file in your Google Drive? Can you open it from drive.google.com?

it was, but i think i deleted it from there. now i understand that probably when it disappeared from my trash bin, i lost access to it everywhere... sorry, now i understand :( and thanks for your answer


Video Conference Mute - Youtube turn on mic automatically

Microsoft PowerToys version
0.62.0
Running as admin

[X] Yes

Area(s) with issue?
Video Conference Mute
Steps to reproduce
When I turn off microphone on my Windows 11 and then I open youtube.com web page on any browser (Edge or Chrome), microphone is turned on automatically. I found this wrong behavior in previous versions as well.
Steps.

Mute microphone using shortcut (Windows+Shift+A)
open EDGE browser
go to youtube.com page or open video on youtube.com
microphone is unmuted automatically

✔ Expected Behavior
Not turn on microphone automatically.
❌ Actual Behavior
Mic is turn on automatically
Other Software
No response

Answers for you questions below.
•            How are you verifying the mic was muted before?
Checking with for example Teams call. Below screen before open chrome, and go to youtube.com

Then open new Chrome or Edge instance (if is already open, problem does not exist), go to youtube.com and automatically mic is unmuted:

And people on the call can hear me.
•            Did you allow YouTube access to your microphone?
No, I didn’t
•            Does this behavior happen if VCM is fully off?
No, it doesn’t. The problem exist only when mic is muted/unmuted. When I use also camera during the meeting and “disable” mic and camera this behavior not happened. So when status is like below from VCM, when I open Chrom or Edge and go to youtube.com mic is muted – expected behavior 😊

Thanks for the additional repro steps
@yuyoyuppe interesting, did you happen to manage to repro it?

I wasn't able to repro it on Win10.

Hi,
Answers for you questions below.
•            How are you verifying the mic was muted before?
Checking with for example Teams call. Below screen before open chrome, and go to youtube.com
[Graphical user interface, application  Description automatically generated] [A picture containing text, sign  Description automatically generated]  [A screenshot of a computer screen  Description automatically generated with medium confidence]
Then open new Chrome or Edge instance (if is already open, problem does not exist), go to youtube.com and automatically mic is unmuted:
[Graphical user interface  Description automatically generated] [Graphical user interface, application, Teams  Description automatically generated]
And people on the call can hear me.
•            Did you allow YouTube access to your microphone?
No, I didn’t
[Graphical user interface, text, application, email  Description automatically generated]
•            Does this behavior happen if VCM is fully off?
No, it doesn’t. The problem exist only when mic is muted/unmuted. When I use also camera during the meeting and “disable” mic and camera this behavior not happened. So when status is like below from VCM, when I open Chrom or Edge and go to youtube.com mic is muted – expected behavior 😊
[Graphical user interface, application  Description automatically generated]
Best Regards
Damian
From: Clint Rutkas @.>
Sent: poniedziałek, 19 września 2022 20:22
To: microsoft/PowerToys @.>
Cc: Damian Cecotka @.>; Mention @.>
Subject: Re: [microsoft/PowerToys] Video Conference Mute - Youtube turn on mic automatically (Issue #20692)
Nie otrzymujesz często wiadomości e-mail z adresu<EMAIL_ADDRESS>Dowiedz się, dlaczego jest to ważnehttps://aka.ms/LearnAboutSenderIdentification
@Damian-C22https://github.com/Damian-C22 I am trying to repro this and cannot.

How are you verifying the mic was muted before?
Did you allow youtube access to your microphone?
Does this behavior happen if VCM is fully off?

/needinfo
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/PowerToys/issues/20692#issuecomment-1251382743, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AS4T5QGEQ5PKZUNACFJMGC3V7CVNLANCNFSM6AAAAAAQP6FIYU.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Thanks for the feedback but VCM is moving to maintenance only in the 0.67 timeframe. Our team will only directly address critical bugs, security and accessibility issues.
We'll accept community PRs for enhancements.


added audioop-lts in requirements for compatibility with python 3.13

discord.py uses the package "audioop" which was deprecated and afterwards deleted in python 3.13 which causes discord.py to stop functioning. this pull request adds the package "audioop-lts" to continue using discord.py

Sounds good I tested it a few times.


✨ Ability to toggle sorting files and folders at the top and alphabetically

Description
Users should be able to toggle between sorting files and folders at the top and alphabetically (files and folders interspersed).
Additional Context
We might also consider a setting for this.
Screenshots

IMO there should be two items in this menu, with a check-mark on the selected one. Having only one menu item that changes title makes it harder to understand what it is supposed to do when you click it.

@wjk I would tend to agree with you.


Fix red dot shown on LHN avatar after updating a workspace avatar

Details

Every time we update the workspace avatar, we set the error fields of avatar to null, but the logic to show the red dot will show it even when the value is null.
Fixed Issues

$ https://github.com/Expensify/App/issues/32513
PROPOSAL: https://github.com/Expensify/App/issues/32513#issuecomment-1841496760
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open any of your workspace settings page
Update the workspace avatar
(go back to LHN) Verify there is no red dot on the sidebar settings avatar

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/b5002974-73e2-492d-a5a4-5706fa785c6a

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/4756430a-0935-4b17-b671-a6cd0c53d5ae

iOS: Native

https://github.com/Expensify/App/assets/50919443/828fc0e9-11a7-4260-b0c9-3afe8e536e41

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/56efc496-460e-4d97-bf18-377d6c07b4cc

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/b8175a10-ae19-4eca-bc0e-feedde62252b

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/b07407bc-2865-46d1-88ae-0de0bf7dcb3b

🚀 Deployed to staging by https://github.com/stitesExpensify in version: 1.4.14-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/stitesExpensify in version: 1.4.14-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.4.14-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Add labels to form examples. Add password example.

Follow up to #1215 to add a password field example.
I also noticed that "Demo" view looked broken for amp-form examples, since there were no labels providing context for the individual examples

before
after

And it doesn't feel too redundant on the main page:

No problem! And thank you for fixing the invalid > character


Use huggingface implementation

This repository should switch from OpeanAI's to Huggingface's implementation of the model. This has several benefits
The transformers library is professionally developed and maintained - meaning us and the users can rely on it more. OpenAI's implementation is just research paper demonstration, with little resources allocated to continued development and maintenance.
Transformers library integrates with huggingface model hub, where custom versions of the model can be published - several already exist for CLIP. Users would appreciate the option to use custom model more suitable for their use case
Users training custom models will do so using the transformers library, which has a well developed training interface (OpeanAI's has none). Meaning that if we want to enable users to use their own custom models, we must use huggingface's implementation.
Since the default weights (ViT 32) are present in both implementations, there should be zero switching downside for existing users.

Hi @tadejsv
I would like to work on this issue

Hi @makram93, thank you for your interest in contributing.
I would recommend you start with CLIPTextEncoder, as working with text data should be easier to start. You can take a look at the TransformerTorchEncoder, as in fact the setup there should be quite similar (they both use huggingface transformers).
If you need any help, please let me know

Thanks for the tip. I looked through the TransformerTorchEncoder and it returns embedding too. So if it already uses huggingface transformers and returns the text encoding then why do we need CLIPTextEncoder?

If you look at the source code of the CLIP model, you will see that to obtain text embeddings, a projection of the embeddings is also used: https://huggingface.co/transformers/_modules/transformers/models/clip/modeling_clip.html#CLIPModel.get_text_features
Therefore, our usual TransformerTorchEncoder can not be used in this case, so we still need CLIPTextEncoder

Thanks for the input. I have implemented the code for CLIPTextEncoder, taking reference from TransformerTorchEncoder. For testing, I am using the same unit_tests file as was used for OpenAI CLIP implementation. Please let me know the next steps.

Hey @makram93, I can not see the code that you have implemented. You should make a pull request to this repository.

Hi,
Following the guidelines for submission, I ran pre-commit install. However, on committing my code, I get the following error: "No .pre-commit-config.yaml file was found". Can you suggest which yaml file to use for this repo?

Here is the pre commit config that jina uses: https://github.com/jina-ai/jina/blob/master/.pre-commit-config.yaml

Hi @tadejsv, I have raised the PR.

Hi @tadejsv, I have committed the code with changes :)

Thanks, will get back to you soon

Thank you for the contribution on the CLIP Text Encoder, @makram93 !
Do you feel like tackling the image encoder as well? If so, let me know and I'll give you some initial guidelines. But if you don want to no worries, I can take over this one :)

Hi @tadejsv,
I am happy to contribute and would like to work on the image encoder as well.

Great, that's the spirit! :)
So, some tips for that:

about the executor itself, maybe look a bit a AudioCLIPImageEncoder that I added recently. But your executor will be different, as we don't use the transformers package in that encoder.
for documentation you can also look at AudioCLIPImageEncoder, but you can take out everything regarding downloading the model and volumes, as they won't be necessary here
for tests, adapt them from AudioCLIPImageEncoder. The one that is really important is the one that compares embeddings from different images - feel free to just copy that. Also, just like in the text encoder, we need a test here to make sure the embeddings are the same as with the OpenAI version of the model

And as always, if you get stuck anywhere, just let me know.

Hi @tadejsv
I have one question regarding preprocessing that you implemented in AudioCLIPImageEncoder. If use_default_preprocessing is set to False then how do we enforce resize and normalization? Who or where it is being handled? After all, the model can only accept images of size 224.

The assumption is that if use_default_preprocessing=False, the user has already preprocessed the images before. But actually, I really don't think this is a desirable option (I kept it in initially to mirror the CLIP Image encoder) - so let's drop it here.


How do I use Knex with AWS Lambda?

I'm running into issues with connection pooling while testing some code. I'm expecting my lambda function to be called maybe several thousand times over a couple of seconds, and having trouble figuring out the best way to connect to my db. Here's a very similar issue for node/postgres: essentially the problem is that I need to be able to get a connection from the pool if one is available, however I can't depend on the pool existing because of how AWS (unreliably) reuses lambda containers.
Basically what I'm looking for is a way to reliably get or create a connection to my db. I have not been able to find any examples (like while(!availableConnections) { tryToGetConnection() }. Do I need to interact with node-pool? How can I do this with Knex?

Sorry I committed in a middle of sentence, my kid just threw like 3 liters of water to floor :1st_place_medal:  I'll update the comment above in a moment...

Thanks for the reply. It sounds like estimating the maximum pool size will be my best bet, even though the number of connections will vary drastically over time.
To be clear, there is no way to close a connection in Knex, correct? Only the ability to destroy a connection pool? The fact that Lambda will sometimes reuse containers kind of throws everything off.

Destroying connection pool destroys also all the connections (gracefully waiting that they complete first) and I suppose that when lambda destroys container, all its open TCP sockets will close implicitly when process dies.
I don't see why one should try to close connections explicitly after each request since it would destroy the benefit of pooling. You would get the same effect by creating pool with size 1 and destroying it afterwards.
You can also configure idle timeout for pool which will automatically close connection if it is not used and is just waiting for action in pool.

Can I use Knex to send a COPY query to the RedShift cluster, and not wait for the results?
Doing this with pg Pool terminates the query as soon as the end of the Lambda function is reached.

@BardiaAfshin If lambda container is destroyed and all its sockets are freed when lambda function end is reached, in that case also db query will die and might not be finished.
I'm not sure either how postgresql react to client-side connection ending if COPY query will be rolled back due to not finished implicit transaction before reading the result values...
Anyways if the query can be sent or not that way is not up to knex, but it depends on how aws lambda and postgresql work.

My observation is that the query is killed on RedShift and it is rolled back.

Anyways there is no need to do manual connection requesting from pool, knex waits for connection automatically and if everything is over in couple of seconds, none of the timeouts will not trigger in that time.

I'm running a db load testing script and this doesn't seem to be true. Anything higher than like 30 simultaneous connections immediately times out, rather than waiting for an open connection.

Is there a way to manually release the currently used connection once a query is done?

Does anyone have example code they could share for those of us just getting into AWS Lambda? I am hoping that someone could share patterns and/or anti-patterns of knex/postgres/lambda.
Here is what I am using now - I am certain it can be improved...
'use strict';
var pg = require('pg');

function initKnex(){
  return require('knex')({
      client: 'pg',
      connection: { ...details... }
  });
}

module.exports.hello = (event, context) =>
{
  var knex = initKnex();

  // Should I be returning knex here or in the final catch?
  knex
  .select('*')
  .from('my_table')
  .then(function (rows) {
    context.succeed('Succeeded: ' + JSON.stringify(rows || []));
  })
  .catch(function (error) {
    context.fail(error);
  })
  .then(function(){
    // is destroy overkill? - is there an option for knex.client.release, etc?
    knex.destroy();
  })
}

I'm in the same boat--still have not figured out what the best way is despite lots of googling around and testing. What I'm doing right now is:
const dbConfig = require('./db');
const knex = require('knex')(dbConfig);

exports.handler = function (event, context, callback) {
...
connection = {..., pool: { min: 1, max: 1 },

This way the connection (max 1 per container) will stay alive so the container can be reused easily. I don't destroy my connection at the end.
http://blog.rowanudell.com/database-connections-in-lambda/
Not sure if this is the best way but it's worked for me so far.
/shrug

@austingayler
I am not exactly sure what happens when const knex is declared - is this where the initial connection is setup? Can someone clarify? (I am assuming you have connection info in your dbConfig)
In your code, isn't the connection itself being overwritten and re-created everytime the handler is called?

Just chiming in a someone who's in the same boat, I've not had much luck trying to figure out containers vs pool size (as per @elhigu's suggestion). My solution has been to destroy the pool after every connection (I know it's not optimal 😒 ):
const knex = require('knex');

const client = knex(dbConfig);

client(tableName).select('*')
  .then((result) => {

    return Promise.all([
      result,
      client.destroy(),
    ])
  })
  .then(([ result ]) => {

    return result;
  });

TL;DR: Simply set context.callbackWaitsForEmptyEventLoop = false before calling callback.

AWS Lambda waits for empty event loop (by default). so function could throw Timeout error even callback executed.
Please see below links for details:
https://github.com/apex/apex/commit/1fe6e91a46e76c2d5c77877be9ce0c206e9ef9fb
To @elhigu @tgriesser : This is not an knex issue. This is Definitely issue of Lambda environment. I think tag this issue to question and should be good to close :)

@mooyoul yep, definately not knex issue, but maybe documentation issue... though I think I dont want any aws lambda specific stuff to knex docs, so closing.

Please look at this link
https://stackoverflow.com/questions/49347210/why-aws-lambda-keeps-timing-out-when-using-knex-js
You need to close the db connection otherwise Lambda runs until it times out.

Has anyone found a pattern that works flawlessly for using Knex with Lambda?

Do you have any other issues when you close connection properly?

The thing I'm trying to avoid is closing the connection and making it available across Lambda calls.

Are you sure Lambda allows maintaining state between calls?

Check out the node.js part of https://scalegrid.io/blog/how-to-use-mongodb-connection-pooling-on-aws-lambda/ it suggests a solution to hanging up on non-empty event loop.

I don't like bumping the thread like this, but since I think it's getting lost in the comments, @mooyoul's answer above worked great for us.
If you don't turn that flag to false, Lambda waits for the event loop to be empty. If you do, then the function finishes execution as soon as you call the callback.

For me, it worked on my local machine but not after deploying. I was kind of be mislead. It turns out the RDS inbound source is not open to my Lambda function. Found solution at https://stackoverflow.com/questions/37555670/aws-lambda-cant-connect-to-rds-instance-but-i-can-locally
After updating RDS inbound source, I can Lambda with Knex successfully.
The Lambda runtime I am using is Node.js 8.10 with packages:
knex: 0.17.0
pg: 7.11.0

The code below using async also just works
const Knex = require('knex');

const pg = Knex({ ... });

module.exports.sendForm = async (event) => {
  const {
    fields,
  } = event['body-json'] || {};

  return pg('surveys')
    .insert(fields)
    .then(() => {
      return {
        status: 200
      };
    })
    .catch(err => {
      return {
        status: 500
      };
    });
};

Hopefully it will help people who might meet same issue in future.

Something I'd like to draw people's attention to is the serverless-mysql package, which wraps the standard mysql driver but handles a lot of the lambda-specific pain points around connection pool management that are described in this thread.
However I don't think Knex will work with serverless-mysql at this time (according to this issue) since there's no way to swap in a different driver. There could also be incompatibilities since serverless-mysql uses promises instead of callbacks.
The best approach is probably to add a new client implementation in Knex. I'd be happy to give this a shot, but would love someone more familiar with Knex to tell me if they think it's reasonable/doable?

Also, was thinking in the meantime, I could use Knex to build but not execute MySQL queries. So just call toSQL() and pass the output to serverless-mysql to execute.
What I'm wondering though is if Knex can be configured without any db connections? There's no sense opening a connection that's never used.
Would the following work?
connection = {..., pool: { min: 0, max: ) },

@disbelief You can initialize knex without connection. There is an example how to do it in the end of this secion in docs https://knexjs.org/#Installation-client
const knex = require('knex')({client: 'mysql'});

const generatedQuery = knex('table').where('id',1).toSQL().toNative();

@elhigu ah cool, thanks. Will give that a shot in the interim.

Update: the above doesn't appear to work. Knex throws an error if it can't establish a db connection, even if there's never any call to execute a query.

@disbelief did you find a solution for that ?

@fdecampredon nope. At the moment I'm simply building queries with squel, calling toString() on them, and passing them to the serverless-mysql client.

@disbelief It's surprising to me that building the queries failed without a db connection.
Would you mind posting the code & config you're using to build the knex client? Also the knex version.
The following works fine for me with
Node v8.11.1
mysql: 2.13.0
knex: 0.18.3
const k = require('knex')

const client = k({ client: 'mysql' })

console.log('Knex version:', require('knex/package.json').version)
// => 0.18.3
console.log('sql:', client('table').where('id',1).toSQL().toNative())
// => { sql: 'select * from `table` where `id` = ?', bindings: [ 1 ] }

As per how Lambda's resources recycling works, Knex instance should always be kept outside any function or class. Also, it's important to have max 1 in connection in the pool.
Something like:
const Knex = require('knex');
let instance = null;

module.exports = class DatabaseManager {
  constructor({ host, user, password, database, port = 3306, client = 'mysql', pool = { min: 1, max: 1 }}) {
    this._client = client;
    this._poolOptions = pool;
    this._connectionOptions = {
      host: DB_HOST || host,
      port: DB_PORT || port,
      user: DB_USER || user,
      password: DB_PASSWORD || password,
      database: DB_NAME || database,
    };
  }

  init() {
    if (instance !== null) {
      return true;
    }

    instance = Knex({
      client: this._client,
      pool: this._poolOptions,
      connection: this._connectionOptions,
      debug: process.env.DEBUG_DB == true,
      asyncStackTraces: process.env.DEBUG_DB == true,
    });
  }

  get instance() {
    return instance;
  }
}

In this way, you'll take the most out of Lambda's recycling, i.e. each activated (freezed) container will hold only the same connection.
As a side note, keep in mind that Lambda scales out by default if you don't limit the number of concurrent containers.

I've had Knex running in Lambda for almost a year now with no problems. I'm declaring my Knex instance outside of my Lambda function and utilizing context.callbackWaitsForEmptyEventLoop = false as mentioned in other posts.
That said, over the past day, something seems to have changed on the Lambda side as I'm now seeing a huge connection spike in Postgres; connections don't seem to be closed.
Has anyone else using the aforementioned approach seen any chances over the past day or so?

@jamesdixon just reading this now while refactoring some of our knex implementations on lambda. Any updates on this? Has context.callbackWaitsForEmptyEventLoop = false stopped working?

@jamesdixon just reading this now while refactoring some of our knex implementations on lambda. Any updates on this? Has context.callbackWaitsForEmptyEventLoop = false stopped working?

serverless-mysql is a great package for managing MySQL connections in the AWS Lambda context. However, it was not playing nicely together with knex, hence I built a simple dialect to solve the problem: https://github.com/MatissJanis/knex-serverless-mysql
This is another way to solve the same problem.
const Knex = require('knex');
const knexServerlessMysql = require('knex-serverless-mysql');

const mysql = require('serverless-mysql')({
  config: {
    host     : process.env.DB_HOST,
    database : process.env.DB_DATABASE,
    user     : process.env.DB_USERNAME,
    password : process.env.DB_PASSWORD,
  },
});

const knex = Knex({
  client: knexServerlessMysql,
  mysql,
});

exports.run = function () {
  return knex('table_name').where('id', 1);
}

@MatissJanis Would you be open to submitting a PR adding your dialect to https://github.com/knex/knex/blob/master/ECOSYSTEM.md?

@kibertoad sure, here you go: https://github.com/knex/knex/pull/4454

does anyone know how to run knex migration on serverless setup? In my case I am using aurora postgres but the database tables don't exsist because I am not sure how to run knex migrate. Can the script be called from the lambda handler?

@awm086 yes


please expose intent classification results for all all intent classifiers in pipeline

Rasa NLU version:0.12.2
Operating system (windows, osx, ...):all
Content of model configuration file:

Issue:
There is a strange discrepancy between entity recognition and intent classification:  message object   hold all entities recognized by different extractors , but it only hold one result by current intent classifier. So there is no way for a custom component to (model) assemble results from different classifiers. Please add intent list to message class and have each classifier to add their classification result to the list.

I mean the reason is a kind of that the idea is that a message can only have one intent and multiple entities. But of course that is debatable, especially the intent one. What is your use case for using multiple intent classifiers?

I think you missed my question. A message has one intent doesn't mean different classifiers will give the same intent classification. So this request is more about what you do when different classifiers give different intent classification. A standard practice is to use model assemble. Different classifiers may give different intent classifications, but I would like to use a custom component to decide which one is the best. Another good use case would be: say I have a  binary classifier for "unknown" and "known" intent (using only in-domain training data), then I would need to write a custom component to combine the regular classifier with this binary classifier. Then the custom component need to access classification results by previous two classifiers.
I understand that there is a stronger reason for multiple entity recognizers because different recognizer can recognizer different entities. But supporting model assemble is a good reason as well.
In summary, this request is to allow developers to do model assemble. And the change is small, just add to message object a container to store  the intents and intent rankings from different classifiers.

Hmm, but using multiple intent classifiers would be a bit confusing now? Say one gave you the most probable intent to be affirm with probability 0.8 and the other classifier gave you the intent deny with probability 0.95. You can't really directly compare those probabilities because they're different classifiers and therefore will predict these probabilities differently.

good examples! if you can only use one classifier,  you are forced to  believe one or the other. But in many cases, it would be more prudent to take both into account, for example, take average of them (with the help of a custom component). More concrete, say one classifier gives intent_ranking:{intent1:0.6, intent2:0.4}, another classifier gives intent_ranking:{intent1:0.2, intent2:0.8}, then the average would be as intent_ranking:{intent1:0.4, intent2:0.6}. This approach is called model assemble which gives better accuracy in most of the cases.

Not sure how easy it is to plug into Rasa NLU, but for the described case, there are solutions from sklearn (e.g. BaggingClassifier, VotingClassifier) that can wrap multiple classifiers and aggregate the results. The ensemble just behaves like a normal classifier would, so that the user doesn't need to adjust the call.

I think on balance it does not make sense to do this in Rasa NLU. I can certainly see the case for using a model ensemble, but that should be a custom component (e.g. a EnsembleModelIntentClassifier) which can be added to your pipeline without modifying NLU at all.

@amn41
If you take a closer look about how built-in intent classifier set its classification result,  you will find that currently, the message object only stores intent classifications for one intent classifier. An example will make it clear: say we configure the model with intent_classifier_sklearn, intent_classifier_tensorflow_embedding and a custom_intent_classifier, in that order. The problem is that the later custom_intent_classifier can not get the classification result from intent_classifier_sklearn, because the way built-in classifiers were implemented is to overwrite previous classification.
My Request of enhancement is to each classifier add classification result to message instead of overwriting it. As I noted in my original request, the built-in entity recognizers just add their entities to message, not overwriting. I was surprised why classifier and entity recognizer behave differently in this regard.

@disimone
please see my comments above. You may take a look the code to verify it.

Any updates on this issue ? I just started exploring rasa and this feature is something that would help me.

Its strange that when training Rasa Core's Policy it allows for an ensemble of classifiers to be used.   It would make sense to do the same for Rasa NLU's Intent classifiers.

@Ghostvv @tabergma @dakshvar22 @JEM-Mosig What are your thoughts on this one?

@wochinge we discussed it several times, it is not clear how to compare outputs from different classifiers

Ok, then I close this issue for now.


Missing status update to Tracker.track

I included some minor API changes; to_zarr had duplicated tracks_df arguments with functools.wraps.
cc @ilan-theodoro, a minor bug I let through our PR review.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (main@6f55b26). Click here to learn what that means.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #94   +/-   ##
=======================================
  Coverage        ?   85.46%
=======================================
  Files           ?       71
  Lines           ?     3916
  Branches        ?        0
=======================================
  Hits            ?     3347
  Misses          ?      569
  Partials        ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fix error raising in msgpack and json decoders

That's said. When upgrading from 0.7.0 to 0.7.1 my strategy/db workers went insane about not handled unknown message types coming from spiders.

Codecov Report

Merging #272 into master will increase coverage by 0.02%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master     #272      +/-   ##
==========================================
+ Coverage   70.09%   70.11%   +0.02%
==========================================
  Files          68       68
  Lines        4721     4721
  Branches      633      633
==========================================
+ Hits         3309     3310       +1
- Misses       1272     1274       +2
+ Partials      140      137       -3

Impacted Files
Coverage Δ

frontera/contrib/backends/remote/codecs/json.py
95.09% <0%> (ø)
:arrow_up:

frontera/contrib/backends/remote/codecs/msgpack.py
88% <100%> (+2.66%)
:arrow_up:

frontera/_version.py
30.88% <0%> (-0.74%)
:arrow_down:

frontera/utils/misc.py
68.18% <0%> (ø)
:arrow_up:

frontera/contrib/messagebus/kafka/async.py
15.28% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Христос воскресе. Все посмотрю через неделю, отпуск.
A.

15 апр. 2017 г., в 10:16, ZipFile<EMAIL_ADDRESS>написал(а):
That's said. When upgrading from 0.7.0 to 0.7.1 my strategy/db workers went insane about not handled unknown message types coming from spiders.
You can view, comment on, or merge this pull request online at:
https://github.com/scrapinghub/frontera/pull/272
Commit Summary
Fix error raising in msgpack and json decoders
File Changes
M frontera/contrib/backends/remote/codecs/json.py (2)
M frontera/contrib/backends/remote/codecs/msgpack.py (2)
M tests/test_codecs.py (14)
Patch Links:
https://github.com/scrapinghub/frontera/pull/272.patch
https://github.com/scrapinghub/frontera/pull/272.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you! 🍺


[ClangImporter] don't add swift_attr files to a module's auxiliary files

Resolves rdar://107624995
The source-file location map used to determine which source files correspond to which locations assumes that all the source files used in the comparison have backing buffers. This holds for regular library files and macro expansions, but when Objective-C code with __attribute__((swift_attr)) attributes is imported, the attributes get a fake source file with no backing buffer added to the module's auxiliary files.
When SourceEntityWalker tries to determine whether a source location corresponds to a macro expansion, it uses this file map to look up a corresponding source file. When a module contains imported Objective-C code with swift_attr attributes as well as a Swift extension of that type, an empty optional containing the file's buffer ID is unwrapped, causing a crash. This is consistently triggered by SymbolGraphGen, as it is one of the major users of SourceEntityWalker.
This PR updates the source-file location map to skip auxiliary files that don't have a backing buffer, the same as the module's regular files.

@swift-ci Please test

@swift-ci Please test

@swift-ci Please clean test macOS

@swift-ci Please smoke test

@swift-ci Please smoke test Linux


Gist: Graphhopper weekly update script for Windows Task-Scheduler

https://gist.github.com/rbraband/cb81602dec33774daea6

Hmmh, I think this is too use case specific. E.g. there is a huge downtime when you download the pbf. But for some usecases the parallel import (to the running instance) might be also wrong.
Also I would like to handle these many cases directly in Java, if at all.


misspelled github shortcut crashes

trying github shortcuts with a typo produced a traceback.   For example,
$ cookiecutter gh:audreyr/cookiecutter-pypackage.git
$ # or:
$ cookiecutter gh:aureyr/cookiecutter-pypackage

generates this:
$ cookiecutter gh:aureyr/cookiecutter-pypackage.git
Cloning into 'cookiecutter-pypackage.git'...
Username for 'https://github.com': yarko
Password for<EMAIL_ADDRESS>
remote: Repository not found.
fatal: repository 'https://github.com/aureyr/cookiecutter-pypackage.git.git/' not found
Traceback (most recent call last):
  File "/Users/yak007/workspace/cookiecutter/env/cookiecutter/bin/cookiecutter", line 9, in <module>
    load_entry_point('cookiecutter==0.8.0', 'console_scripts', 'cookiecutter')()
  File "/Users/yak007/workspace/cookiecutter/env/cookiecutter/lib/python2.7/site-packages/cookiecutter/main.py", line 169, in main
    cookiecutter(args.input_dir, args.checkout, args.no_input)
  File "/Users/yak007/workspace/cookiecutter/env/cookiecutter/lib/python2.7/site-packages/cookiecutter/main.py", line 82, in cookiecutter
    no_input=no_input
  File "/Users/yak007/workspace/cookiecutter/env/cookiecutter/lib/python2.7/site-packages/cookiecutter/vcs.py", line 108, in clone
    subprocess.check_call([repo_type, 'clone', repo_url], cwd=clone_to_dir)
  File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '[u'git', u'clone', u'https://github.com/autreyr/cookiecutter-pypackage.git.git']' returned non-zero exit status 128

... which seems a bit much just for a simple typo.
I played around with a first-draft fix, which no doubt people would do differently - but it illustrates the issue. PR #349

Maybe a more sensible approach is to check if the repo exists before cloning so we can extract a better error handling scenario?

I'm willing to work on this if its ok


add flag for creating data without rendering images

also implement logic for when paths already exist, so it does not override the .ly/.txt files

We can still merge this, but I probably wont touch the data gen in this stage anymore so idk I don't want to break it.

We can still merge this, but I probably wont touch the data gen in this stage anymore so idk I don't want to break it.

Let us close it then.


Some refactoring, option to clean domains.

I've also added the option to store the output in a JSON file -o.
I've refactored it to use a Domain class to store the results, in the following format:
``{
"domains": [
{
"apex_domain": "ssl-images-amazon.com",
"available": null,
"domain": "images-na.ssl-images-amazon.com",
"ip": "<IP_ADDRESS>",
"raw_csp_url": "https://images-na.ssl-images-amazon.com"
},
{
"apex_domain": "media-amazon.com",
"available": null,
"domain": "m.media-amazon.com",
"ip": "<IP_ADDRESS>",
"raw_csp_url": "https://m.media-amazon.com"
}
]
}```

Thank you for the PR. Merged.


(Proposal) Use union for cell value

Hi,
Let me know if I should move this to the other "clean-up" issue, but I thought that since it also could help performance and is a pretty big change, I should put it here.
In memory.h, you have the Cell struct, which as of now, includes the following properties:
int ival;
    double fval;
    string sval;
    vector<Cell> array;

The way that this is done could cause problems, i.e if you change the type that a cell contains, then you might end up forgetting to erase the old value, and you have to remember and manage that manually. Additionally, I think it's a little unorganized.
To make the code more organized and improve memory usage, you could use a union for this, this is an example:
union CellValue {
    int ival;
    double fval;
   string sval;
   vector<Cell> array;
}

And then in the Cell struct, you could simply use one property, i.e. CellValue value, and then use value.ival to access the int value.

Well your idea is correct it would be memory efficient, but a problem with C++ is there, that a union couldn't hold a non trivial constructor of a class which is in this case std::string due to which it will not compile.


Update README.md

The build is failing. Can you please check your build before merging the pull request.

It is related to this PR -
https://github.com/tpanati/DollarBot/pull/20
The tests for this underway - once that is fixed it will be good


Avoid duplicate application of options by pdftopdf and IPP driverless printers

The pdftopdf does a wide range of page management options (multiple copies, N-up, page-ranges, page-set, ...) but modern IPP printers do many of the page management, too. This often leads to cases where an option supplied to the job is applied twice, for example instead of the requested n copies one gets n*n copies.
What is needed is that pdftopdf gets somehow informed about which options the printer already supports and therefore should not get applied by pdftopdf. As pdftopdf cannot IPP-query the printer to check by itself (it even does not know whether the printer is an IPP printer) and as the printer's capabilities do not change, the probably best way is to use the PPD file.
So the PPD generator for auto generation of the PPDs for driverless printing should put hints into the PPD about which options the printer already takes care of internally, so that pdftopdf can skip these options.
The options handles by pdftopdf are the following:

copies
print-scaling/fitplot/fit-to-page
orientation-requested/landscape
number-up
number-up-layout
page-border
page-delivery/output-order/OutputOrder
page-label
page-set (even/odd)
page-ranges
mirror/MirrorPrint
booklet
booklet-signature
position
collate/Collate
scaling
natural-scaling

AFAIK Copies and OutputOrder are already handled. Am I correct that I should let pdftopdf only generate copies if the PPD has the entry *cupsManualCopies: True?
So for the other options we would need entries in the generated PPD, telling which options pdftopdf should skip.
In addition, there should be an entry added to the PPD, telling that the printer is an IPP driverless printer, so that options which are done by all IPP printers do not need to get mentioned individually.
Once we have this facility in the PPD generator I can add appropriate support to pdftopdf.

Some of these options might be handled most efficiently on the host even if the printer supports them.  In particular, applying page-ranges on the host will reduce the amount of network traffic.
(Remember also that we're getting away from PPD files.  Finally.)

@tillkamppeter PDF-capable printers are always capable of collated/uncollated copies, so your filter should NEVER generate the copies itself unless you see cupsManualCopies: True (which indicates a non-PDF printer that needs copies to be generated).

PDF = copies supported
JPEG = copies supported
Others = assume no copies supported
cupsManualCopies is true if the printer can’t do both collated and uncollated copies. It is all you need.

The PPD generator of CUPS never sets "*cupsManualCopies: True". Does it mean that ALL IPP driverless printers, including Apple-Raster-only ones do support copies and collate in the printer?

Renaming this bug and re-opening - this keyword should be set for raster printers.

Another remark: You recommend all page management operations except copies, collate, and output-order be done by the client. Does the IPP backend filter the appropriate options (in the 5th command line argument) to not being passed on to the IPP printer to avoid duplicate application?

@tillkamppeter Yes, the backend omits attributes when sending raster data streamed to the backend.


Forward Kinematics of n-th Joint

Allow for specification of desired frame for FK. For instance, get the FK of the 3rd joint frame.

Fixed in ee3642379772abd7677b4c263cab2cabd1820403