First try at configurable country for the endpoints

As we've been discussing in #50, it could be useful to not always hit the shazam "GB" endpoint, but use another country. That discussion shows that the data returned is different depending on which one you use. This patch makes that configurable when you create a shazam instance. Like this:
shazam = Shazam(endpoint_country="US")

And then you use it like normal. The default for the new parameter is "GB", leaving the old behavior intact.

Also worth saying I haven't extensively tested this, just enough to make sure it works for my case of calling shazam.track_about and getting back ID numbers that I can lookup in the iTunes store API.

@rajb245, hello!
https://github.com/dotX12/ShazamIO/commit/2715d435df83e936d978ddec4ef2711dfe29deb1
Done...


3.0 - Final Phase, stage continued #4

WIP - DO NOT MERGE

@LuckyCyborg Be gentle with the engines :pray:

@tomvlk Unlucky push from one of my colleagues...
Fixed fast the things, like you see! :smirk:

@LuckyCyborg The selectone and selectall are great to have. We need good documentation on this btw.

@tomvlk Yeah, those two simplify the code and make it more, let's say... readable. :smirk:

@tomvlk There, in \Nova\Database\Service,  I have a question for you:
You use a similar to selectAll or selectOne ?
    public function read($sql, $bindParams = array())
    {
        return $this->engine->select($sql, $bindParams, $this->fetchMethod, $this->fetchClass);
    }

@LuckyCyborg So you really changed connectionName to linkName ha. I saw it!

@tomvlk Ooops! I did it? :100:
Come one, my friend, you know well that Database Connection <--> Database Link :smirk:
Hey, but I tried to be as Spanish I can there!
You like the variable name $multipleInserts ,  right?

Now I should prepare to go to Conference Room for the Briefing/Presentation...
See you later, my friend! :+1:

@tomvlk and @daveismyname Okay, lets merge all pull-requests now, to initiate the moving of Database Demos into Demo Module!

@LuckyCyborg Please remove last commit. I'm fully rewriting the demo's and make it better with menu for different demos.
Will be sweat!

I just positioned the Controller. Or you work right there?

@LuckyCyborg Ye, and it will be removed too. I'm working on a demo index page with links to different demo's, categorised etc

@tomvlk Okay, then...

perfect, merge ready :trophy: :+1:

@daveismyname Please, then, merge this pull request!


How to keep the color scheme in CLI?

Hi,
By default all my hexas will become "hsl" whereas I want to keep my old behavior (coming from json-sass ;) ). I did not succeed in using something like:
json2scss-map --colorConversion false -i ./src/styles/xxxxx.json -o ./src/styles/xxxxxx.scss

or
json2scss-map --convertTo 'hex' false -i ./src/styles/xxxxx.json -o ./src/styles/xxxxxx.scss

(I tried --convertTo 'hex' --convertTo hex --convertTo HEX)
Do you know if that's possible?
Thank you,

Okay. I don't think I have updated the CLI commands, however , there might be easy fix. I will let you know .

Or I would update the package to support CLI properly

I really wanted to use this for my project as a CLI tool — very open to feedback on my linked MR.

Its awesome that you went through this to fix it. I will definitely check on your PR. If, everything is working perfectly, i would be happy to merge your PR, will create a new release. Give 3 to 4 days.

do you know when you might tag a new release version that includes this update?

Hi @ThatGuyCND sorry for the delay. By tomorrow I will release a new version on NPM.


Make app / assembly version match releases

Why do version numbers mismatch? The most recent version of coverlet is v5.0.0, but the app reports version <IP_ADDRESS>.  This seems confusing to new-comers, particularly since semantic versioning has been the norm for years.

@jburnett coverlet is made up of three separate components; the core library coverlet.core, the msbuild library coverlet.msbuild and the global tool coverlet.console. Each of these are versioned separately and follow the rules of semver. The releases in this repo represent the core library, the other components are represented through their respective NuGet packages


chore: miscellaneous code cleanup

All changes have been reviewed as part of these PRs
#139
#140
#141
#143
#144
This branch performs a large amount of cleanup to make the codebase easier to maintain:

Removed index files and imports to prevent confusion and circular dependency issues
Cleaned up all existing TODOs, added issues for those that were not fixed or removed.
Re-enabled prettier and fixed all formatting issues
Removed a lot of unused code

:tada: This PR is included in version 0.19.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 0.19.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Remove titles from labels.

Here is a suggestion to remove the automatic "[BUG]" and "[Feature]" from the title of issues when created by the template. Because we add the label, this information in the title is redundant. Because we only have two templates and the majority are usually feature requests, this results in a lot of redundant / repetitive [Feature] tags in the issue titles (e.g. datashuttle).
However, maybe there are things I did not consider and also it is not very had to remove these manually if you don't like them.
Have requested review from team as will effect everyones repos.

Merging by democratic vote (7 NIU members, at least 4 agree :joy: )


📖  update releasing.md again

Something went sideways merging the previous update in #916 . It got replaced by the IPAM release documentation. Merge proper documentation back with updates. Remove some parts that will go to metal3-io/metal3-docs#321

/cc @furkatgofurov7 @kashifest


IMPROVE - OdometerView Preview with Mock Data

What it Does

Closes #347

Exposed the viewModel to the file via a fileprivate init.
In the Preview section injected the example data into the viewModel.

How I Tested
The preview panel is showing the example as laid out in the issue.
Notes
Screenshot

@mike011 can you please go back and check a checkbox that says the maintainer can edit the PR, because otherwise I can't make the commit that I just did. (Click the 3 dots on the PR description, I think, and there somewhere should be a checkbox)
(I could ask you do to the changes that I noted, but for something small like this it's easier for me to edit myself, and immediately merge your code, rather than waiting for you to make the changes, and me having to re-review it


Force RTC in multiview

Hi, is it possible to force RTC in multiview, so that I don't have to manually select it every  time I open  the page?
Tnx!

Sure! But I would recommend you develop your own interface as web in project is just an example!
Anyway, in multiview.tmp -> /web/template/multiview.tmpl, you should look for play function, to understand why, just see the function:
function play(uuid, index, chan, typePlayer) { //a lot of code ...       }
The typePlayer var keeps exactly what you want, to minimize changes and save some time, you just need to overwrite the variable with one you want to use, like 'mse', 'webRTC', or 'hls', note there's no hlsll in multiview.
This is not the best solution, but will work for you without a lot of codding.
  function play(uuid, index, chan, typePlayer) { typePlayer = 'webRTC'; //rest of code ...       }
Keep in mind, in this case, it will not hidden the defaultPlayer selection and it will not allow changing protocol in this select anyway, ok?
To hidden button, just comment or delete lines 43 to 47 in same file (multiview.tmpl).
Always keep a backup copy in case of some mistake!


More customisable user/registration serializers

I found it slightly complicated to allow additional fields for the user (e.g. first_name, last_name and fields in objects related by one-to-one keys). As far as I understood, this required adding REQUIRED_FIELDS to the User model which involves creating a custom user model. A simpler solution was just to allow user-defined serializers, which I implemented here (the defaults are UserSerializer and UserRegistrationSerializer). At the same time I allowed alternative locations for the activation email templates which saves overriding the registration view.
There are also a couple of fixes in the commits:

When SEND_ACTIVATION_EMAIL is true a newly created account should be inactive
When the UID in activation is invalid, a simple error message is given (as opposed to the full detailed exception).

Charanpal
P.S. Thanks for the great library!

Hi @charanpald, thank you for your PR - good job!
It looks like many people have similar problem and they found extending djoser not so easy - your pull request is related to issue #93 and (partially) to issue #91. I have to say, that now I'm convinced - we should definitely introduce something like this.
However, I see a few things which we have to improve in your PR before merge:

We should support overriding of all serializers - I know that probably user and registration serializers are the most useful here, but just for consistency we should allow to configure them all.
Your PR failed with Python 2.6, we should handle this somehow (drop support or fix your code).
It will be awesome if you can add some tests.
Configuration of email templates and invalid UID error should not be part of this PR - feel free to open a new one.

Let me know if you are planing to improve your PR or should I handle it on my own.

Hi @konradhalas,
I will try to find some time to write test cases for the serializers in the next few days. As for overriding all serializers (apart from user and registration), I am not sure what the use cases for doing that are - can you give some examples of those please?
I will remove the stuff about email templates and invalid UID errors and put it in another PR. My personal thoughts on supporting Python 2.6 is that it is not required (it's relatively easy to upgrade to 2.7 which has been around for a while).
Charanpal

We introduce custom serializers in #128 (Inspirated by Your pull request). Human readable invalid UID is introduced in #127. And SEND_ACTIVATION_EMAIL behavior is fixed in #126.


picking up unwanted flags

  -log string
        Process log file
  -log_backtrace_at value
        when logging hits line file:N, emit a stack trace
  -log_dir string
        If non-empty, write log files in this directory
  -logtostderr
        log to standard error instead of files
  -stderrthreshold value
        logs at or above this threshold go to stderr
  -v value
        log level for V logs
  -version
        Show version
  -vmodule value
        comma-separated list of pattern=N settings for file-filtered logging

We pick up a bunch of logging flags - they look glog-ish, but we shouldn't pick them up in the first place.

Disabling the kubernetes middleware removes these (as expected)


cranelift: always spill i32 with i64 stores

Fixes #2839. See also the issue description and comments in this commits for
details of what the fix is about here.
cc @cfallin @alexcrichton

Oh dear sorry for the breakage, but thanks for the fix!


Not returning images when is an album

When fetching frontpage gallery images, if 'isAlbum' is true it returns null in 'images'. Still, it can return the count of images inside the album.

Could you give an Imgur id or something so we can reproduce the bug?

I've made a gist reproducing the problem.
https://gist.github.com/ricardofiorani/30a2ea848a44581a212a
I may check this out and try to fix it later and then make a pull request if it's easy to fix...

Could you please give a try using the 2.x branch instead?

This issue is fairly old and there hasn't been much activity on it. Closing, but please re-open if it still occurs.


Update installation.md

Edit version module path
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] I have read the CONTRIBUTING.md document.
[ ] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

 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.

@omrylcn Thanks for the PR, and please do sign the CLA for us to merge the request

ok, i will do


kinetics database

Hi,first ,you did a  very nice work，and I am very interested in it.
But now ,I can't download kinetics database from the official crawler because I can't access YouTube（No vpn）.
So,could you please offer the database in somewhere？such as：Google Drive？
Best wishes for you.
sincerely ckjiao（LakyTT）

I'm sorry but I cannot upload the database because it requires several hundred gigabytes.
In addition, I'm not sure about the copyright problem.


fix: Tweak how testimonials are laid out to fix a rendering issue in Firefox

So I noticed a weird rendering bug on the homepage in Firefox - looks like this

I'm not sure exactly what causes it, but this tweak (moving from space-y-8 to mt-8 top on the elements) seems to fix it?

🚀 Thank you for your contribution! 🚀


tab heading text badly rendered in ffox

chrome is clear:

firefox is too bold:

both are too small, text should be at least as large as the body text.

in this repo: https://github.com/twosigma/beaker-notebook-www

body text is size 18px if I set it as big, "getting started" tab will be on two lines.
how it is in chrome and firefox:

Chrome is on top.

https://github.com/twosigma/beaker-notebook-www/commit/fee4a018125dad6aa369672dc88dfa53c8192e06


Any Heimdall Suite builds for OSX?

The heimdall binary builds on the website are 1.4.0 (from last year).
I know that there's an experimental heimdall build for 1.4.1 which works, but has not heimdall frontend included.
The heimdall CLI tool overall works with the 1.4.1 build, but it's close to impossible to flash my S7 without the correct partition setup. There are only working instructions for Odin and/or the Heimdall frontend, so I have no clue which of the 4 hidden partitions to flash and which is actually the "PDA" partition as this is not a named partition in the generated PIT file.
Ubuntu builds are still broken (since I last reported the bug last year), so they still don't work on my Intel NUC machine and libusb throws so many errors in strace that it's impossible to get further there.
Are there any OSX El Capitan builds available that include the heimdall frontend?

I guess the answer is no. So I'm just gonna close this issue due to inactivity.


Update generated Go code for protobuf definitions. [phab:D1357]

Created by fromberger at 2017-02-21 23:13:57:
Invoke: ./kythe/proto/generate_go_protobufs.py

zarko accepted this revision at 2017-02-21 23:15:24

fromberger closed via commit 1a7d505c043cd5b85de2655268523b8466eab413 at 2017-02-21 23:19:01


Proposal: User supplied scripts to add abstractions missing-from/impossible-in the input SVD.

Problem:
Types generated by svd2rust are too specific to write reasonable HAL implementations.
  Moreover, some reasonable types of abstraction can't be expressed within the SVD schema.
Motivating Example:
STM32F439x.svd has two peripherals within the <groupName> CAN; CAN1 and CAN2.  As a consequence of this, the generated RegisterBlock for CAN2 is of type can1::RegisterBlock... which is wrong, because on this chip the two CAN peripherals have different sets of registers (see page 1120 of the reference manual ).
As if that's not bad enough, each CAN peripheral has 28 filter banks, each of which composed of two registers, each of which is rendered to its own type.  So to implement a function add_filter that populates the next unused filterbank you have to hardcode the checking and manipulation of 56 registers (not counting the metadata registers that track things like whether a filter is in use)... and it'd be double that if the SVD wasn't incorrectly causing the two CAN peripherals to share a RegisterBlock.
What I would expect from a reasonable API, in this case, is a type hierarchy, a trait can::RegisterBlock, as well as the structs can1::RegisterBlock (which adds registers unique to can1) and can2::RegisterBlock (which adds nothing, only on account of it being a subset of can1).  Within can::RegisterBlock I would expect an ordered collection of can::RegisterBlock::FilterBanks (which are themselves composed of the two registers).
So the question is, how can we get there from here?
Naive Proposal 1
Fix the SVD.  SVD supports register cluster arrays, use them to group the 28 filterbanks.  Sure, you'd still need a HAL implementation for each CAN Peripheral, but that's what macros are for!

It can't express "the intersection of the specified perpherals" that could generate a trait.  Macros can mitigate much of this problem, but at the cost of going from one code generator (svd2rust) to many (svd2rust plus the hand written macros for each generated crate).
It tends to burn people out.  Talking to people on # rust-embedded who have gone down this road, they seem to prefer manually adding layers over the generated crate over fixing the input xml.

My (Naive?) Proposal

Split svd2rust's compilation process into two phases; the first phase populates a map of SVD elements to their respective Tokens, and the second phase is to traverse the map, sending Tokens to the output.  After this step there should be no change in svd2rust's behavior.
Create a query engine for parsed svd (ie the results of the svd_parser crate) that resembles jQuery in function and form.
Add a parameter to svd2rust that takes the name of a script, and run each query in the script against the map before it is serialized to the various output vectors.
Use this to generate more flexible MCU crates.

I definitely agree with the problems, and some kind of scripted / mapping could be really useful.
Not sure that I like the macros for multiple HAL implementations concept so much.
You might be interested in #96 which is around automating common feature extraction etc. from svd files to solve both the duplicated peripherals per device and duplicated peripherals within device family problems.
I think the latest suggestion is a pipeline to pre-process batches of SVDs into more useful form (ie. with clusters and derives), then svd2rust into sensible packages.
Some kind of scripted approach like you propose would be really interesting in the pre-processing stage.

That sounds remarkably similar to what I was proposing above, just with more modularity.  It also looks like there hasn't been much activity in 6 months.  Is there a way I can help?  Perhaps defining a format to serve as your "more useful form"?


[meta] update breaking changes file after 7.9.3/6.8.13 releases

Related to #865, #861 and #803

lgtm.


renderer: introduce an interface to retrieve a specific paint from a canvas.

Currently, the lifecycle of ThorVG's paint is managed based on reference counting. Therefore, it is possible to consider introducing the Canvas::pop() function as the opposite of Canvas::push(). push()/pop() functions controls the reference counting of the given paints. pop() function can be used to remove some or all of the paints added to the canvas.
//Remove the given paint or all (when nullptr) from the canvas management.
+ Result Canvas::pop(Paint* paint = nullptr)
+ Result Scene::pop(Paint* paint = nullptr)
...
- Result clear(bool paints = true, bool buffer = true)
+ Result Canvas::clear(bool paints = true, uint8_t r = 0, uint8_t g = 0, uint8_t b = 0, uint8_t a = 0)   //clear buffer with the given value.

Additionally, the user might want to control the paint more safely with reference control. This reference counting has been used internally and stabilized.
+ uint32_t Paint::ref()          //increase a reference count, and return the value.
+ uint32_t Paint::unref()        //decrease a reference count, and return the value.

https://github.com/thorvg/thorvg/issues/1372


[SW-183116][PyTorch][Optimum-Habana] - add mistral and mixtral transformers test …

…to Optimum-habana
What does this PR do?
updating optimum-habana-fork model test as per the transformers test suite.
adding has done for mistral and mixtral test suite as this were not included earlier to optimum-habana-fork branch.

The test files selected are from the latest version of transformers which is not supported yet in optimum-habana-fork
Should not merge this.

updated the test files from transformers version 4.38.2, locally checked it and test are working fine.

Looks good to me. Approved.

Looks good to me. Approved

https://github.com/huggingface/optimum-habana/pull/1186


license clarification

What's the license for source code in this repo?

It's MIT.
Thanks for pointing it out, here you go: https://github.com/contactless/wb-rules/blob/master/LICENSE
By the way, we are always happy to hear what are you're using our Open Source software for! So please don't hesitate to share your experience with us, either positive or negative.

Thanks for clarification. I'm not using this software yet - I'll look for GPLv3+ alternatives first.


QR Code  missing alt text

In the code, the text is dynamically generated in the div and not the image, see the printscreen

Hope this helps.


Cannot generate C# assets for build and debug

The following error is reported
"Unable to generate assets to build and debug. OmniSharp server is not running."
I have tried uninstalling/installing the C# extension, also uninstalling/installing VS Code

@garym247 Can you please share the OmniSharp Log from the VS Code Output pane? As well as, the output from running dotnet --info from a terminal.

Hi Joe,
Installing .Net6 and then restarting the Omnisharp sevice in VS Code managed to fix it.

I'm having this issue too. Installing the latest .NET 6 SDK and restarting OmniSharp did not fix it.

I'm having this issue too. any suggestions to fix this ?

Hey guys! What's up? I'm learning C# too and I had solve this problem with these staps:
The Steps

Switch your C# extension for the most actual version(Release Version)  in the extension page.
Restart all extensions at the same page.
Open the Run&Debug menu.
Open the Command Pallette and write: ">.NET:", when the option for Generate Assets apear press Enter.
Before you execute the Run & Debug, make sure to select the option: ".NET Core Launch (console)" and go ahead!

How I program with C# language using Visual Studio Code?

If .NET, you can download the most actual version using this link: https://dotnet.microsoft.com/
If C# Dev Kit, you can install that Microsoft's Extension searching at the Extensions Menu.

If C#, you can install that Microsoft's Extension searching at the Extensions Menu.

If vscode-solution-explorer, you can install that Fernando's Extension searching at the Extensions Menu.

My Problems Persists
If your problem persists, try to install all necessary extensions/tools for code in C# language. And try to search the anwer in forums and Youtube videos.
Thank you for your attention!

Closing as resolved.


Add license version

Appears the license is BSD 3-Clause. Would be nice to note this in the license field.

done in https://github.com/conda-forge/dateutil-feedstock/commit/8083ebf02f7d4181be269c45bd56b73fe100b4d0


feat: lazy loading DataTable

The current implementation of the DataTable component requires that you have all of the data up front and is problematic when display large lists of data in a table. The LazyDataTable allows you to display the first set of rows in the table and then update the rows when the user interacts with the header (sorting) or pagination options.
Changelog
New

LazyDataTable component with onHeaderChange and onPaginationChange properties to update the table row data.

Changed

Update require React version to 16.8 as the component uses hooks.

Hi 👋 thank you for considering the contribution! First, please be advised that this repo has been merged to https://github.com/carbon-design-system/carbon repository.
Given <DataTable> is involves non-trivial amount of code, I personally would be more comfortable the code is maintained outside core Carbon repo, especially considering our maintenance effort. I think we can definitely advise the lazy version if you are an IBMer, have a GH repo and gives us a link!

This component is essentially the existing DataTable component with two extra props, I could see it being a replacement.
The -addons libraries which I use and contribute to are not public, and this component should be shared with others. They also share the same base in carbon-components-react, so it makes sense to contribute back so there is no code duplication and I do not think it makes sense to have a single repository for a single component.

@areddon can you re-open this PR on our /carbon repo here so we can continue the conversation?
https://github.com/carbon-design-system/carbon

I would like to put this into version 6 of carbon-components-react which is not available in in the Carbon monorepo.

@areddon please see @asudoh comment above about maintaining this outside the core Carbon repo 👍


Question : How to set "Data" property when returning paths

Hey,  I have 2 questions.
1)I have a query where I search relationships like that :
var Links = graphClient.Cypher.Match("p= (n{reportId:{reportId}})-[r]->(b)")
.WithParam("reportId", reportId)
.Return(p=>Neo4jClient.Cypher.Return.As <IEnumerable<RelationshipInstance>>
("rels(p)"));
var tmp = Links.Results;
The data gets the object but not filled with the data (I know I should manually serialize it but dont know how )

I have 2 queries, 1 of them I get nodes and on the other one the relationships,
Is there a way to retrieve both on same cypher? like having a object of 2 lists
one is Nodes the other Links.. ?
If yes what is the cypher because I couldnt manage to do it .
Thanks alot from advanced if needed more pictures will be added.

For 1) The relationships are a normal class - so if you've added data to them with a type MyRel you do things like:
Cypher.Match("(n1)-[r]->(n2)").Return(r => r.As<MyRel>())
For 2) if you just want Nodes and Relationships:
Cypher
     .Match("(n1)-[r]->(n2)")
     .Return((r,n1,n2) => new {
        N1 = n1.As<MyNode>(),
        R = r.As<MyRel>(),
        N2 = n2.As<MyNode>()
    });

Does that help?

Sorry for the late response, and thank you for the quick response,
I did manage to handle myself with the problem,
I have a problem now regarding the ID of the node ,
I am migrating to neo4j from previous db (relational - mssql) , and I have problem with connecting the Links to Nodes,I mean I did manage to insert all the data to neo4j ..
But since I need the ID of the node and its not somthing that I get along side with the properties althou I did put a Id property on the node before inserting it to neo4j,
my link data was : Source: node id, Target : Node id ,
and I cant connect them now,
Any advices how to include the id of the node ?

If your MySQL db had Id's - did you not migrate those?
If you're wanting to use the ID property of a Node, the actual Neo4j Id - you can use: id(n) which will get you the ID, BUT you should never rely on that ID, i.e. don't query by Id, it's ok to use it for a query like this when you're putting it all together, but you should always use an ID number generated by your own code.

I need the Id of the node to know which node to connect to who on the client side ( because the link source and target refers to the inner id of the node)..
and if I use id(n) it gives me only the Id, I need it along side with the whole node properties..
I know I should generate my own Id and I did so, but its not realy helpful when the link target and source refer to the inner Id ..

If it will help this is how I generated the Relationships :

The Id is my id , but when the relationship created it relating the start and end id to the inner id..

The way a relationship is represented in Neo4j will always use the internal ID, it has no idea what your ID is, or if it even exists!
Maybe we need to step back a bit and have a think about what you're trying to get.
So given you have (Node1)-[:FRIEND_OF]->(Node2)
What are you hoping to get back?
From the query picture, it looks like the ID on a given Node isn't unique? and that a unique ID is Node.Id and Node.ReportId together?
Are you trying to recreate the graph structure in your .NET code?

Yea, Every node has Report ID which is unique and each one has Node.id which is uniq to this report,
When I am getting back the data I want to know which two nodes to connect by relationship,
I tought about adding a Relationship a property of Source and Target which represent my ID ..
Is it good practice?

If you return profile1 and profile2 you know they are joined by a relationship because of your query, if you have nothing on your relationship, there's no need to get it, for example:
    var results = graphClient.Cypher
        .Match("(profile1:Node)-[:FRIEND_OF]->(profile2:Node)")
        .Where((Node profile1) => profile1.Id == link.Source && profile1.ReportId == report.Id)
        .AndWhere((Node profile2) => profile2.Id == link.Target && profile2.ReportId == report.Id)
        .Return((profile1, profile2) => new {
            Source = profile1.As<Node>(),
            Target = profile2.As<Node>()
        }).Results;

Each result in there will be a type with a Source and Target property - they are linked by the fact we queried for the [FRIEND_OF] relationship.
Does that make sense?
Unless you have something in the Relationship object, there's really no need to return it at all

I need to draw the graph with his relationships , not only the nodes..
Will I be able to draw a full graph with this cypher?(will I get nodes and relationships?)

You can infer the relationship - for example, if you get back:
Node 1 and Node 2 you know they are joined together, as they are in a pairing.
If you really want to go down the route of using Ids, then you can change what you return to:
Node<Node>> which will bring you back a Neo4jClient node, which has an Id property which is the Id the relationship instances use.

On the cypher you gave there is no link generating soo Link is undefined ,
I want to try the cypher you gave , is it best practice ?
or is it good to add meta data to a relationship with my nodes id which saying from --> to id's..

Thank you for the assist, I added 2 properties to the relationships saying target and source with the Node Id I used (I generated ) solved the problem .
Thanks alot for the help and responsiveness 👍


chore(tox): drop --no-build-isolation from Cython tests

Closes #2184

I don't remember if we mentioned something also in the docs / readme regarding the build isolation

@CaselIT you'd be right, installation docs are very outdated... I'll create a separate issue tracking this.


GREAT program

I have been using this for 2 years. Its nice, easy, and convenient. Just a Kudos to say that I find this program indespensible.
Thomas

Thanks! I am glad you like enjoy it and thanks for kind words 🙂


Dead player voice channel [DRAFT]

Draft PR to enable support for moving players who are dead into a separate voice channel.
I opened this as a draft because I still need to get a solid testing environment setup before battle testing this.
There are a decent amount of linting and warning fixes in here as well, happy to put them into a separate PR. I figured it would just be easier to do it all at once :)
Some of the linting rules are sorta dumb IMO, but it is what ships stock with the vs-code extension so I said f'it hah.
Feel free to leave any feedback, ask any questions, etc!

the formatting stuff didn't take long at all so it's all gucci. once i test these updates out i'll make this a real PR for merge


Separate alarms are getting generated while count based window analytics

I am not sure if this is the issue or I have done mistake in tick script. This is my tick script,
stream
    |from()
        .measurement('cpu')
        .groupBy('id')
    |window()
        .everyCount(3)
        .periodCount(3)
    |where(lambda: "value" > 80)
    |alert()
        .id('CPU_USED--{{ index .Tags "id" }}  {{ index .Tags "customer-name" }} ')
        .message('CPU_USED - {{ index .Tags "id" }} {{ index .Tags "customer-name" }} - {{ index .Fields "value" }}% ')
        .details('''

{{ .ID }}

                {{ .Message }}
                Value: {{ index .Fields "value" }}
        ''')
        .crit(lambda: "value" > 80)
        .slack()
    |influxDBOut()
        .database('fm_alerts')
        .retentionPolicy('90d_retention_policy')
        .measurement('alerts')
        .tag('alert_type', 'CPU')

The window is getting emitted after each 3 data points, but it is adding 3 different records in influxDBOut operation.
In my case, I need to generate alarm if 3 data points have value more than threshold. I mean a single alarm for whole window.

It looks like you may have a problem in your TICK script. Can you take this to https://community.influxdata.com we try use github for bugs and feature requests.


Update github4s to 0.31.1

Updates com.47deg:github4s from 0.29.1 to 0.31.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.47deg", artifactId = "github4s" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.47deg", artifactId = "github4s" }
}]

labels: test-library-update, early-semver-major, semver-spec-minor, commit-count:1

Superseded by #281.


Dpl269 duplicate pacbio runs

Closes DPL269
Changes proposed in this pull request:

Re-forward redundant Pacbio messages

This will immediately revert the problem if the runs ever get touched. If this wasn't intentional this is okay, as the message would get rejected once the constraints are in place, but it will be impossible to update the batches intentionally.
Is there a reason you didn't update the actual message template?


FFT symmetry

Here is a lab-frame spectrum for an optimal signal calculated via Juqbox. Does negative side of the spectrum contain any new information or can those be ignored since the spectrum is symmetric with respect to the y axis?

I assume you compute the discrete Fourier transform (DFT) with Julia's fft function from the FFTW package. This function calculates the complex-valued DFT, which is defined for frequencies of both signs. If the signal is real-valued in the time domain, the DFT will satisfy certain symmetry properties in the frequency domain. The DFT is explained in detail on Wikipedia.


Does this work with Token or just gobal API key?

I tried using the Token but it did not work.

Hi
Currently, the only way of authenticating with Cloudflare is using the global API key. Tokens are a move favorable way of authenticating since they can be scoped.
Is it possible to implement using a token on top of only using the global API key?

I met this problem.
Global API key is legacy, I couldn't use this plugin.
I hope to be able to use API token.


Expose Datastore LazyUtil

Expose spring datastore LazyUtil or an explaination why this shouldn't be exposed for use? Some utility methods like LazyUtil.isLazyAndNotLoaded would be very useful for me to process data for transactions, etc.
Basic example use case:
User user = userRepository.findByName("John Doe");
Set<Group> groupProxy = user.getGroups();
if(LazyUtil.isLazyAndNotLoaded(groupProxy)) {
	LazyUtil.SimpleLazyDynamicInvocationHandler ih = LazyUtil.getProxy(groupProxy);
	Class type = ih.getType();
	// override proxy set before serialization (avoid lazy loading all data upon serialization)
	user.setGroups((Set<Group>) type.newInstance());
}

This would mean exposing the invocation handler and making use the SimpleDynamicIncovationHandler stored the proxies type. From my testing I was unable to get the proxies underlying type any other way.
LazyUtil.java
/**
 * Utilities used to support lazy loaded properties.
 *
 * @author Dmitry Solomakha
 *
 * @since 1.2.2
 */
public final class LazyUtil {

	static private final ObjenesisStd objenesis = new ObjenesisStd();

	private LazyUtil() {
	}

	/**
	 * Returns a proxy that lazily loads the value provided by a supplier. The proxy also
	 * stores the key(s) that can be used in case the value was not loaded. If the type of the
	 * value is interface, {@link java.lang.reflect.Proxy} is used, otherwise cglib proxy is
	 * used (creates a sub-class of the original type; the original class can't be final and
	 * can't have final methods).
	 * @param supplierFunc a function that provides the value
	 * @param type the type of the value
	 * @param keys Datastore key(s) that can be used when the parent entity is saved
	 * @return true if the object is a proxy that was not evaluated
	 */
	static <T> T wrapSimpleLazyProxy(Supplier<T> supplierFunc, Class<T> type, Value keys) {
		if (type.isInterface()) {
			return (T) Proxy.newProxyInstance(type.getClassLoader(), new Class[] {type},
				new SimpleLazyDynamicInvocationHandler<>(type, supplierFunc, keys));
		}
		Factory factory = (Factory) objenesis.newInstance(getEnhancedTypeFor(type));
		factory.setCallbacks(new Callback[] { new SimpleLazyDynamicInvocationHandler<>(type, supplierFunc, keys) });

		return (T) factory;
	}

	private static Class<?> getEnhancedTypeFor(Class<?> type) {
		Enhancer enhancer = new Enhancer();
		enhancer.setSuperclass(type);
		enhancer.setCallbackType(org.springframework.cglib.proxy.MethodInterceptor.class);

		return enhancer.createClass();
	}

	/**
	 * Check if the object is a lazy loaded proxy that hasn't been evaluated.
	 * @param object an object
	 * @return true if the object is a proxy that was not evaluated
	 */
	public static boolean isLazyAndNotLoaded(Object object) {
		SimpleLazyDynamicInvocationHandler handler = getProxy(object);
		if (handler != null) {
			return !handler.isEvaluated() && handler.getKeys() != null;
		}
		return false;
	}

	/**
	 * Extract keys from a proxy object.
	 * @param object a proxy object
	 * @return list of keys if the object is a proxy, null otherwise
	 */
	public static Value getKeys(Object object) {
		SimpleLazyDynamicInvocationHandler handler = getProxy(object);
		if (handler != null) {
			if (!handler.isEvaluated()) {
				return handler.getKeys();
			}
		}
		return null;
	}

	public static SimpleLazyDynamicInvocationHandler getProxy(Object object) {
		if (Proxy.isProxyClass(object.getClass())
				&& (Proxy.getInvocationHandler(object) instanceof SimpleLazyDynamicInvocationHandler)) {
			return (SimpleLazyDynamicInvocationHandler) Proxy
					.getInvocationHandler(object);
		}
		else if (object instanceof Factory) {
			Callback[] callbacks = ((Factory) object).getCallbacks();
			if (callbacks != null && callbacks.length == 1
					&& callbacks[0] instanceof SimpleLazyDynamicInvocationHandler) {
				return (SimpleLazyDynamicInvocationHandler) callbacks[0];
			}
		}
		return null;
	}

	/**
	 * Proxy class used for lazy loading.
	 */
	public static final class SimpleLazyDynamicInvocationHandler<T> implements InvocationHandler, MethodInterceptor {

		private final Supplier<T> supplierFunc;

		private final Value keys;

		private boolean isEvaluated = false;

		private Class<T> type;
		private T value;

		private SimpleLazyDynamicInvocationHandler(Class<T> type, Supplier<T> supplierFunc, Value keys) {
			Assert.notNull(supplierFunc, "A non-null supplier function is required for a lazy proxy.");
			Assert.notNull(supplierFunc, "A non-null class type is required for a lazy proxy.");
			this.type = type;
			this.supplierFunc = supplierFunc;
			this.keys = keys;
		}

		private boolean isEvaluated() {
			return this.isEvaluated;
		}

		public Value getKeys() {
			return this.keys;
		}

		@Override
		public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
			if (!this.isEvaluated) {
				T value = this.supplierFunc.get();
				if (value == null) {
					throw new DatastoreDataException("Can't load referenced entity");
				}
				this.value = value;

				this.isEvaluated = true;
			}
			return method.invoke(this.value, args);
		}

		@Override
		public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
			return invoke(o, method, objects);
		}

		public Class<T> getType() {
			return type;
		}
	}
}

@BenDol could you clarify your use case? I think we will be able to help you better if we have more info.
Thanks

@dmitry-s sure, so the main use case I have at the moment is being able to determine a beans loaded state on its properties for serializing the object. When the @LazyReference is used the serializer invokes a chain load of all the properties while it's serializing. So I want to be able to run a check on the lazy properties before serializing the bean to make sure that doesn't happen. For example (as I show above):
User user = userRepository.findByName("John Doe");
Set<Group> groupProxy = user.getGroups();
if(LazyUtil.isLazyAndNotLoaded(groupProxy)) {
	LazyUtil.SimpleLazyDynamicInvocationHandler ih = LazyUtil.getProxy(groupProxy);
	Class type = ih.getType();
	// override proxy set before serialization (avoid lazy loading all data upon serialization)
	user.setGroups((Set<Group>) type.newInstance());
}

Here I am replacing the user groups with a new placeholder instance to void invoking the lazy load when its serialized.
Does that help? Let me know if there is anything else I can clarify. Most appreciated!

@BenDol  we think we can add a method to DatastoreOperations to support this.
Just to clarify, what do you think should happen when you deserialize such object?

 This is simply to avoid that, we check if the field was already lazy loaded and if so we can include it in the serialization otherwise we ignore it. It would be helpful to just open up the LazyUtil since it solves my issue. No need to add something to the DatastoreOperations for my usecase.

Just going through some old unresponded issues....
Maybe something like DatastoreOperations.getLazyLoadedFields(entity) would work better?


[Bash completion] wrong argument type --indent-size

Description
version: beautysh==3.1
Beautysh is returning this for atom-beautify:
usage: beautysh [-h] [--indent-size INDENT_SIZE] [--files [FILES [FILES ...]]] [--backup]
beautysh: error: argument --indent-size/-i: invalid int value: 'tab'

stack trace:
beautysh: error: argument --indent-size/-i: invalid int value: 'tab'
    at /home/snotr/.atom/packages/atom-beautify/src/beautifiers/beautifier.coffee:295:27
    at tryCatcher (/usr/lib/atom/node_modules/editorconfig/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/usr/lib/atom/node_modules/editorconfig/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/usr/lib/atom/node_modules/editorconfig/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/usr/lib/atom/node_modules/editorconfig/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/usr/lib/atom/node_modules/editorconfig/node_modules/bluebird/js/release/promise.js:693:18)
    at Async._drainQueue (/usr/lib/atom/node_modules/editorconfig/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/usr/lib/atom/node_modules/editorconfig/node_modules/bluebird/js/release/async.js:143:10)
    at Async.drainQueues (/usr/lib/atom/node_modules/editorconfig/node_modules/bluebird/js/release/async.js:17:14)
    at process._tickCallback (internal/process/next_tick.js:103:7)

Input Before Beautification
This is what the code looked like before:
#!/bin/sh

env=local
cmd=$1

while [ "$1" != "" ]; do
	case $1 in
             --env )           shift
	                       env=$1
		               ;;
    esac
    shift
done

Expected Output
The beautified code should have looked like this:
#!/bin/sh

env=local
cmd=$1

while [ "$1" != "" ]; do
  case $1 in
    --env )           shift
      env=$1
    ;;
  esac
  shift
done

It was generated by command: beautysh --indent-size 2 --files docker_build.sh on console
Actual Output
The beautified code actually looked like this:

Steps to Reproduce

Add code to Atom editor
Run command Atom Beautify: Beautify Editor
This beautified code does not look right!

Debug
Here is a link to the debug.md Gist: https://gist.github.com/StefanYohansson/03a196a452bb1473934327c3a221b627
Checklist
I have:

[x] Tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[x] Reloaded (or restarted) Atom to ensure it is not a caching issue
[x] Searched through existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[x] Filled out the Input, Expected, and Actual sections above or have edited/removed them in a way that fully describes the issue.
[x] Generated debugging information by executing Atom Beautify: Help Debug Editor command in Atom and added link for debug.md Gist to this issue

@StefanYohansson I've had success resolving this issue by adding the default .editorconfig from the editorconfig plugin to the root of my project. I haven't been able to resolve this globally.


spiffs bug (IDFGH-1042)

Have register file system, Used fseek(file, 0, SEEK_SET), but the file pointer not move file head. It does not work. The frewind function not surpport.

@Andy001847 Thanks for reporting the issue. Would you please help provide more details as suggested in the issue template? Thanks.

@Andy001847 Hi, will close this issue for the time being, feel free to reopen and please help provide more details suggested in the issue template. Thanks.


Reswift

Codecov Report

Merging #9 into master will decrease coverage by 3.52%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master      #9      +/-   ##
=========================================
- Coverage   46.23%   42.7%   -3.53%
=========================================
  Files          12      13       +1
  Lines          93      96       +3
=========================================
- Hits           43      41       -2
- Misses         50      55       +5

Impacted Files
Coverage Δ

Foursquare Clone/AppDelegate.swift
100% <ø> (+54.54%)
:arrow_up:

Foursquare Clone/Reducers/AppReducer.swift
0% <0%> (ø)

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 54bed63...240af0c. Read the comment docs.


releaseWizard.py DeprecationWarning: datetime.datetime.utcnow() is deprecated

I get many verbose warnings when running the release wizard, which obfuscate the output. E.g.
/Users/chegar/git/tmp/lucene/./dev-tools/scripts/releaseWizard.py:102: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
  'epoch': unix_time_millis(datetime.utcnow()),
/Users/chegar/git/tmp/lucene/./dev-tools/scripts/releaseWizard.py:1852: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
  return datetime.utcnow() + timedelta(hours=73)

change to datetime.now(tz=UTC)


Retain Cycle in registerThen

Found this in Promise+then.swift:
 @discardableResult  public func registerThen<X>(_ block: @escaping (T) -> Promise<X>)
        -> Promise<X> {
            let p = Promise<X>()
            switch state {
            case let .fulfilled(value):
                registerNextPromise(block, result: value,
                                    resolve: p.resolvePromise, reject: p.rejectPromise)
            case let .rejected(error):
                p.rejectPromise(error)
            case .pending:
                blocks.success.append({ t in
                   // RETAIN CYCLE HERE
                    self.registerNextPromise(block, result: t, resolve: p.resolvePromise,
                                             reject: p.rejectPromise)
                })
                blocks.fail.append(p.rejectPromise)
            }
            p.start()
            passAlongFirstPromiseStartFunctionAndStateTo(p)
            return p
    }

Notice the retain cycle in the append block.  Was this intentional?  Looking back in the code history it seems a [weak self] was used at one point but was then removed later.

@s4cha were you able to run some Instruments for this issue?

@cartermike your fix is now up in the latest version https://github.com/freshOS/then/releases/tag/2.2.3
Once again thank you for your time and patience :)


Modin doesn't work with PyHDK with submodule updated to the latest jit-engine branch

If I update omniscidb submodule to the latest jit-engine branch then I get this error trying to parse RelAlg JSON queries in Calcite:
java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonIncludeProperties
        at com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector.findPropertyInclusionByName(JacksonAnnotationIntrospector.java:321) ~[calcite-1.0-SNAPSHOT-jar-with-dependencies.jar:?]

Looks like it is related to the latest change in the jackson-databind version used by Calcite. The problem can be reproduced using ienkovich/config of HDK and ienkovich/pyhdk-config branch of Modin.

@vlad-penkin can we fix this separately from the other conda work we want to land? Additional changes to hdk are required to make the HEAD of jit-engine work, and it will only get more complicated as we get further behind.

@vlad-penkin intel-ai/omniscidb#445 should fix the problem


[Request]: Add feature to change the image on the share dialog without sharing an image.

Plugin
share_plus
Use case
I want to change the share dialog image to a particular image without me adding the image as a shared file. Because I only want to share text and not image.
Proposal
Add a something like photo/banner as a parameter for share classes

Could you elaborate more which image you mean?

Hi, if possible can we update image on the share dialog. Thanks


docs(github): update github templates

Types of changes

[ ] Bugfix
[ ] New feature
[ ] Refactoring
[ ] Breaking change (any change that would cause existing functionality to not work as expected)
[x] Documentation Update
[ ] Other (please describe)

Description
Update github templates.

Thanks!

Thanks!


Dependency issues when installing via npm

The commonjs build requires some dependencies that are only listed as dev dependencies in package.json and don't get installed with npm install mobiledoc-kit -
ERROR in ./~/mobiledoc-kit/dist/commonjs/mobiledoc-kit/editor/editor.js
Module not found: Error: Cannot resolve module 'content-kit-utils' in /Users/samson/Desktop/dev/wysiwyg/react-content-kit-editor/node_modules/mobiledoc-kit/dist/commonjs/mobiledoc-kit/editor
 @ ./~/mobiledoc-kit/dist/commonjs/mobiledoc-kit/editor/editor.js 29:23-51

ERROR in ./~/mobiledoc-kit/dist/commonjs/mobiledoc-kit/utils/paste-utils.js
Module not found: Error: Cannot resolve module 'mobiledoc-html-renderer' in /Users/samson/Desktop/dev/wysiwyg/react-content-kit-editor/node_modules/mobiledoc-kit/dist/commonjs/mobiledoc-kit/utils
 @ ./~/mobiledoc-kit/dist/commonjs/mobiledoc-kit/utils/paste-utils.js 13:29-63

ERROR in ./~/mobiledoc-kit/dist/commonjs/mobiledoc-kit/utils/paste-utils.js
Module not found: Error: Cannot resolve module 'mobiledoc-text-renderer' in /Users/samson/Desktop/dev/wysiwyg/react-content-kit-editor/node_modules/mobiledoc-kit/dist/commonjs/mobiledoc-kit/utils
 @ ./~/mobiledoc-kit/dist/commonjs/mobiledoc-kit/utils/paste-utils.js 15:29-63

I just manually npm installed the missing deps. Adding them to dependencies should resolve the issue.

This was for webpack but the issue should present itself in either environment as the dependencies just weren't getting installed.

The build options in https://github.com/bustlelabs/mobiledoc-kit/blob/master/Brocfile.js#L16-L20 apply to all builds- so I would expect that the dependencies are compiled in as they are for the globals build (for instance).
/cc @bantic

The problem seems to be that the commonjs build requires those dependencies. For example, dist/commonjs/mobiledoc-kit/editor/editor.js contains var _contentKitUtils = require('content-kit-utils');, dist/commonjs/mobiledoc-kit/utils/paste-utils contains var _mobiledocHtmlRenderer = require('mobiledoc-html-renderer'); and var _mobiledocTextRenderer = require('mobiledoc-text-renderer');

@vitosamson I've released version 0.8.0-beta.1 of mobiledoc-kit. It should fix those dependency issues for you. Please reopen this if not!

Looks good now, thanks!


https://stackoverflow.com/questions/tagged/flutter?sort=frequent

Steps to Reproduce

...
...
...

Target Platform:
Target OS version/browser:
Devices:
Logs

Hi @SALMONEMMANUEL
can you please describe the issue?
Also, to better address the issue, would be helpful
if you could provide your flutter doctor -vpost
and self contained app on github
or the steps to reproduce it.
Thank you

Closing since this appears to have been opened by mistake.


[BUGFIX] (Bug #2714) For _.uniq which acted incorrectly on sorted lists using a non injective iteratee

When using an iteratee that is not a one-to-one function, and isSorted=true, then _.uniq would attempt to use the fast algorithm which fails for non one-to-one (injective) functions, because they map to resultant values which are not sorted.

This is my first pull request ever, so please, kindly point out if I am doing something wrong, or if I have made any mistakes. Thank you so much.

Thanks! I updated the lines that the bot flagged, and now I will update the code with the comments that you added. In a minute I will make another commit.

Coverage remained the same at 96.763% when pulling 78a507a236c8baef7b7e5f0bf0b19011b607f767 on jojois74:master into 65e18d477caacaff9826dbe6c0247478577567fe on jashkenas:master.

I fixed the comments in the code as per your request. Let me know if you would like me to change anything else.

Coverage remained the same at 96.763% when pulling 644cd3c4bf64c04966b3bb5a59277bebfe01f4b3 on jojois74:master into 65e18d477caacaff9826dbe6c0247478577567fe on jashkenas:master.

Coverage remained the same at 96.763% when pulling 644cd3c4bf64c04966b3bb5a59277bebfe01f4b3 on jojois74:master into 65e18d477caacaff9826dbe6c0247478577567fe on jashkenas:master.

Coverage remained the same at 96.763% when pulling 644cd3c4bf64c04966b3bb5a59277bebfe01f4b3 on jojois74:master into 65e18d477caacaff9826dbe6c0247478577567fe on jashkenas:master.

Coverage remained the same at 96.763% when pulling 644cd3c4bf64c04966b3bb5a59277bebfe01f4b3 on jojois74:master into 65e18d477caacaff9826dbe6c0247478577567fe on jashkenas:master.

Nice work!

Thank you, I really appreciate it!


refactor(compat_aliases.fish): use 'vf workon' in 'workon' alias

The workon env_name alias calls vf activate env_name which does not change the working directory to the project directory. With this change, workon env_name changes the directory if there is a project associated with such environment.

While working on a future pull request I had a closer look and saw that vf workon is only available when project plugin is activated. Hold on, I'll work a bit more on this.

Reading the code and the docs I now see this pull request is invalid. Closing it

What is the behaviour of virtualenvwrapper in this case?
On Mon, 4 May 2015 at 12:41, Pablo Aguiar<EMAIL_ADDRESS>wrote:

Reading the code and the docs I now see this pull request is invalid.
Closing it
—
Reply to this email directly or view it on GitHub
https://github.com/adambrenecki/virtualfish/pull/56#issuecomment-98578929
.

Reading the code and the docs I now see this pull request is invalid.

I was going to point that out, but it seems you've already come to that conclusion. (I am the author of the project plugin.)

@adambrenecki I can't recall correctly. I'll have it setup with Bash and update this PR.
@justinmayer That plugin is great, thank you so much!


Couldn't run with ganache-cli

i get this issue when trying running with ganache-cli
registry saga err TypeError: Cannot read property 'address' of undefined
    at registrySaga$ (contracts.js:47)

It seems that it couldn't select the address cause there is no network_id of ganache in abis.registry.networks[networkID]

hello, glad you were able to get it running at least.
have you deployed the contracts to local rpc (ganache-cli)? if you want to develop with ganache-cli, during the deployment, there's a few config stuff that you should modify for this project. specifically, the tokenHolders in the distribution of this file: https://github.com/skmgoldin/tcr/blob/master/conf/config.json
lemme know if you need help setting that up. it's just an edit of addresses and cli flags when starting up the rpc.

otherwise, point your metamask to rinkeby or mainnet, and you should be able to see two registries that are deployed right now on those networks

My account has tokens, but it keeps send the failed transaction. You can see the following screenshots:

should be fixed with the latest push. sorry about that, there was a bug in the conditional statement in the Apply component: https://github.com/kangarang/tcr-ui/blob/master/src/views/containers/Transactions/Apply.js#L54

with that, you'll be able to specify the token amount for approval

Don't know why, still couldn't do the registry approval

is redux-logger printing any other errors before? e.g. on the setup part of the app?

it's interesting that it says the minDeposit is 0 TEST, when it should be higher

it gets the minDeposit from here, where it queries the parameterizer contract and converts it based on the decimals of the token. not sure why it would return 0. to me, that seems like an issue that occurred during deployment pipeline. what was your config for token distribution?

interesting. not thinking too deeply into it, try changing minDeposit to this: "minDeposit":<PHONE_NUMBER>0000000000 (add 18 zeros to account for the token's decimals) and see if that makes a difference

of course, you'll need to restart ganache and redeploy

The min deposit is changed, however the transaction is still failed :(

Did it work on your ganache? Could you share me your configuration ?

it's weird it get error when trying to run with ganache-cli, however it works with truffle develop (on port 9545)

my config is similar, and i don't believe it's the real cause of the problem. here it is for reference:
{
  "paramDefaults": {
    "minDeposit":<PHONE_NUMBER>00000000000,
    "pMinDeposit":<PHONE_NUMBER>000000000000,
    "applyStageLength": 300,
    "pApplyStageLength": 86400,
    "commitStageLength": 600,
    "pCommitStageLength": 86400,
    "revealStageLength": 600,
    "pRevealStageLength": 86400,
    "dispensationPct": 50,
    "pDispensationPct": 50,
    "voteQuorum": 50,
    "pVoteQuorum": 50
	},
  "name": "TCR Factory",
  "token": {
    "address": "0x337cDDa6D41A327c5ad456166CCB781a9722AFf9",
    "deployToken": true,
    "decimals": "18",
    "name": "TrueToken",
    "symbol": "FACT",
    "supply": "1000000000000000000000000000",
    "tokenHolders": [
      { "address": "0xD09cc3Bc67E4294c4A446d8e4a2934a921410eD7",
        "amount": "1000000000000000000000000000" }
    ]
  }
}

any luck since 5 days ago??

Don't know why but it didn't seem to work with my ganache-cli. I had to deploy it to testnet. By the way, you also should print out the address of the deployed token to the console for using it later

hm, that is curious. yes, you're right, for a better dev experience, i'll implement that (printing some top-level addresses). currently it's implemented in redux-logger; however it takes a few extra clicks. thank you for the suggestion.

It seems no hope of running with ganache gui . It failed all the time :( . Is there any way to debug it. I even can't approve the tokens for registry.

try adding the mnemonic flag to ganache-cli: --mnemonic "your mnemonic phrase here"

what does your truffle.js look like?

Here is my truffle.js:
const HDWalletProvider = require('truffle-hdwallet-provider')
const fs = require('fs')

let secrets
let mnemonic = ''

if (fs.existsSync('secrets.json')) {
  secrets = JSON.parse(fs.readFileSync('secrets.json', 'utf8'));
  ({mnemonic} = secrets)
}

module.exports = {
  networks: {
    mainnet: {
      provider: new HDWalletProvider(mnemonic, 'https://mainnet.infura.io'),
      network_id: '1',
      gas: 4500000,
      gasPrice:<PHONE_NUMBER>0,
    },
    rinkeby: {
      provider: new HDWalletProvider(mnemonic, 'https://rinkeby.infura.io'),
      network_id: '*',
      gas: 4500000,
      gasPrice:<PHONE_NUMBER>0,
    },
    ropsten: {
      provider: new HDWalletProvider(mnemonic, 'https://ropsten.infura.io'),
      network_id: '*',
      gas: 4500000,
      gasPrice:<PHONE_NUMBER>0,
    },
    ganache: {
      host: '<IP_ADDRESS>',
      port: 7545,
      network_id: '*',
      gas: 4500000,
      gasPrice:<PHONE_NUMBER>0,
    },
    dev: {
      host: '<IP_ADDRESS>',
      port: 8545,
      network_id: '*',
      gas: 4500000,
      gasPrice:<PHONE_NUMBER>0,
    },
    // config for solidity-coverage
    coverage: {
      host: 'localhost',
      network_id: '*',
      port: 7545, // <-- If you change this, also set the port option in .solcover.js.
      gas: 0xfffffffffff, // <-- Use this high gas value
      gasPrice: 0x01, // <-- Use this low gas price
    },
  },
}

i run the following commands: npm run compile -> truffle migrate --network ganache then add the registry address directly to contract.js file

a ha! there's your problem. ganache-cli runs on port 8545
here's the truffle.js i use: https://github.com/kangarang/tcr/blob/master/truffle.js
make a mnemonic environment variable and use that same mnemonic to run ganache-cli with the flag --mnemonic

Actually i tried with the ganache gui which runs on port 7545: http://truffleframework.com/ganache/ . Could you try with that one ? It seems to be successful in migrating the contracts, however when it failed right from the "approve tokens for registry" step :(

ah, it must be due to this line then: https://github.com/kangarang/tcr-ui/blob/master/src/redux/libs/provider.js#L40. change that to 7545

I though if i use metamask, it won't go to that line of code ?

oh actually sorry, you are correct. is your metamask pointed at 7545?

yes, the website can show my balance (eth + my tokens) so it seems to be connected correctly.

got anything else that can help me debug your error?

don't know why but it even fail when i trying running console to ganache gui
truffle(ganache)> registryInstance.apply(listHash, 10, "leuleu", {from: web3.eth.accounts[0], gas:450000})
Error: VM Exception while processing transaction: revert
    at SolidityFunction.execute (/usr/local/lib/node_modules/truffle/build/webpack:/~/web3/lib/web3/function.js:256:1)
    at SolidityFunction.sendTransaction (/usr/local/lib/node_modules/truffle/build/webpack:/~/web3/lib/web3/function.js:170:1)
    at Eth.send [as sendTransaction] (/usr/local/lib/node_modules/truffle/build/webpack:/~/web3/lib/web3/method.js:145:1)
    at RequestManager.send (/usr/local/lib/node_modules/truffle/build/webpack:/~/web3/lib/web3/requestmanager.js:61:1)
    at Object.InvalidResponse (/usr/local/lib/node_modules/truffle/build/webpack:/~/web3/lib/web3/errors.js:38:1)

so actually if you are directly invoking instance.apply, you need to convert the 2nd argument to account for the number of decimals your tokens specifies (likely 18, so add 18 zeros). and of course, token.approve(registry_address, num_tokens) beforehand.
could you post some expanded error logs you see in the browser please?

hey @hailq, any luck? i just updated the docs, hope it's helpful. also left some clues for the workaround which you helped discover -- thanks for the feedback

👍


"Guest-specific operations were attempted on a machine that..."

I ran through the quickstart guide but received this error:
vagrant plugin install vagrant-xhyve --plugin-version 0.1.0.pre
vagrant box add oldpatricka/tinycorelinux
sudo vagrant up --provider=xhyve

Bringing machine 'default' up with 'xhyve' provider...
==> default: Checking if box 'oldpatricka/tinycorelinux' is up to date...
==> default: Importing box...
==> default: Done importing box.
==> default:  About to launch vm
==> default:  -- CPUs: 1
==> default:  -- Memory: 1G
==> default: {"pid":54884,"kernel":"/Users/alex/Code/scratch/xhyve/vagrant/.vagrant/machines/default/xhyve/image/vmlinuz","initrd":"/Users/alex/Code/scratch/xhyve/vagrant/.vagrant/machines/default/xhyve/image/initrd.gz","cmdline":"\"earlyprintk=serial console=ttyS0 \"","blockdevs":[],"memory":"1G","processors":1,"uuid":"1a7bdb4b-6de3-4952-b8e2-f3e87e4ec7c2","serial":"com1","acpi":true,"networking":true,"foreground":false,"command":"/Users/alex/.vagrant.d/gems/gems/xhyve-ruby-0.0.6/lib/xhyve/vendor/xhyve -A -U 1a7bdb4b-6de3-4952-b8e2-f3e87e4ec7c2 -m 1G -c 1 -s 0:0,hostbridge -s 2:0,virtio-net  -s 31,lpc -l com1,stdio -fkexec,/Users/alex/Code/scratch/xhyve/vagrant/.vagrant/machines/default/xhyve/image/vmlinuz,/Users/alex/Code/scratch/xhyve/vagrant/.vagrant/machines/default/xhyve/image/initrd.gz,'\"earlyprintk=serial console=ttyS0 \"'","mac":"82:fe:20:2a:cf:32","ip":"<IP_ADDRESS>"}
Guest-specific operations were attempted on a machine that is not
ready for guest communication. This should not happen and a bug
should be reported.

Hmm, are you able to ssh to the ip that was logged?

Looks like this was fixed in https://github.com/oldpatricka/vagrant-xhyve/commit/c0c17f6a37a05b99a804bf642abfe0608cb11fff


⚠ API - Lens has degraded performance

In 671bbb8, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 503
Response time: 367 ms

Resolved: API - Lens performance has improved in 21caa53 after 9 minutes.


Give minimum price to sell at

Just found this tool, and quickly learned that sometimes other people use it or otherwise analyse the market as well. When I've accidentally overproduced, I want to know how low I can still sell for and break even on my costs. This adds that feature.

Could it be a rounding error? You could try keeping it as a Rational32 until you need to print it.

Okay, this one should work now. I was not computing it right (x * .85 * 1.15 != x). When fixed, the price was still lower than the stopping criteria as the initial crafting was more profitable than the latter. What I really wanted anyway was to know the last price to sell at. Since I had debug statements in the loop and know where it is now, I just used that instead.

Once more w/o the rune of air commit.

I'll put some more time into this later - I'm realizing there are several other prices I'd like to see: min list price, min recommended sell price, and max recommended buy price for the various resources.

I'll put resource prices on another PR if I get to them, looks non-trivial.

@Iiridayn do you have the option to merge now that I've approved the PR?

Also, feel free to request reviews on the other PRs if they're ready.

This branch has no conflicts with the base branch
Only those with write access to this repository can merge pull requests.


Laggy when unlocking the screen during IBD

One tester thought his PC had frozen and considered restarting it which would have likely corrupted his IBD progress.
The formula used for setting dbcache is picking values that cause 1300+MiB of swapping on 4 and 8 GB Memory.
The core developers do not recommend increasing beyond the default -dbcache=450 on a 4GB system, but my formula is setting 550-850 when Bitcoin-Qt is started.
As a first step, lets decrease dbcache by 100-400MiB so the system response is a bit quicker.

This may reduce memory usage to add to my bitcoin-qt-wrapper
#!/usr/bin/env bash
export MALLOC_ARENA_MAX=1
bitcoind

"Systems with 1GB (or less) should consider reducing this default"

Pushed initial fix to use 100MiB less dbcache:
https://github.com/BenWestgate/Bails/commit/7e022b54e7b93ac9ec5564cfd0811d657e17cf84

@epiccurious can confirm if the issue is resolved on his USB stick. I do not have a problem (8-9 seconds max latency) in my virtual machines.
The target response time is under 10 seconds without the system making visual progress towards doing what you asked of it.
If we can count to 10, before things move along, we have a problem that may lead users to restart their Bails and corrupt the download.
It is fine if unlocking the screen takes longer than 10 seconds, as long as it's not stuck on any given part without making progress for more than 10 seconds. And it's also not time if it takes 5 minutes to lock the screen, because then the screen would relock if they weren't swirling the cursor while they waited.
This is an IBD progress issue mostly, users usually only check once a day that their node is still syncing. So it's okay for that check to take a minute instead of 2 seconds. Especially once they're expecting it to be laggy.

I would highly recommend that you do not set a dbcache at all as 4 GB is really not enough RAM to handle a larger dbcache, Bitcoin Core's other RAM usage, operating system RAM usage, and whatever else may be running on your machine.

https://bitcoin.stackexchange.com/questions/89100/bitcoind-node-crashes-after-using-dbcache-option
Note: Free memory will always reach <5% on a system with 8GB or less RAM because the chainstate folder is cached into memory. So we set it as a constant subtracted from available ram when Core is started and accept that the whole chainstate may not always be able to fit into memory and hit the USB harder with random reads for chainstate data rather than use a smaller -dbcache and make more random writes due to flushing.
This isn't guaranteed to be faster because chainstate can be random read faster from RAM than disk but it is guaranteed to be on the safe side regarding USB wear due to excessive writes.

Pushed initial fix to use 100MiB less dbcache: 7e022b5

Tester results:

The change you made to lower dbcache by 100mb is working well for me, almost too well. I’m wondering if it makes sense to bump it back up by 50mb

My systems are closer to 2-3 seconds to turn on now, which is possibly too responsive

Making a note for issue #58 to back off by 50MiB for the max value to strike a better balance between responsiveness and sync speed and USB wear.


Add Prometheus contrib for monitoring purpose

Description
Prometheus is a tool that scrapes exposed metrics endpoints and allows for you to visualize and alert on the metrics. Adding this contrib will allow for users to monitor Luigi tasks via Prometheus.
Motivation and Context
Based on the status change of a task, Prometheus metrics are updated with the parameters that were used to run that specific task.
The implementation idea was strongly based on the merged PR for Datadog #2434.
Have you tested this? If so, how?
I have included unit tests.

@victoriaalee  Has this integration still be stable for your uses?

Hi all!
I've discovered some discrepancies between the exported Prometheus metric and the task history runtimes displayed in the /tasklist/:name endpoint.
I noticed that the _update_task_history method is called at different places than set_status (which also handles calling the functions to update metrics). Is there any documentation or could I receive some guidance on why this is the case? Intuitively, it seems that updating task history and setting status of a task should go hand-in-hand.
Thanks in advance.

or could I receive some guidance on why this is the case?

Unfortunately that's one part of the code bases I don't know well and frankly I think it could use some love. Also I think it's written before it was an obvious thing to submit your code with rigorous unit tests.
Were you to refactor/rewrite any part of it (doesn't need to be perfect, just better) I'm happy to merge.

Gotcha. I'll be on vacation for the next two weeks, but I'll take some time afterward to delve into the logic behind task status transitions and see if I can resolve the discrepancies and get this PR merged!

Thank you all for your patience. I did some investigation with the jobs being run at my company and their expected runtimes and found that this Prometheus contrib produces accurate results whereas the /tasklist endpoint does not.
Please let me know what else needs to be done to get this merged. Thanks!

Can you find anyone to review this (just for style, as it seems to work already)? Maybe even at your own company?
Otherwise I'm happy to merge.

@Tarrasch The code has been reviewed by a colleage at my company.

We have an internal “thing” that puts our Luigi task history into Prometheus, mind if I take a look at this next week before merge? @jessicaaustin

We are looking forward it as well.

Looks good, :+1: for a merge.
What do you see as the best path to support a run-time defined MetricCollector?  I was thinking about allowing the path of a MetricCollector subclass as input to the config parameter (like my.own.MetricsCollector) and in the else of the MetricsCollectors.get we could try to load the passed in config option as a class using importlib. That would open up the option for custom metrics classes external from the luigi codebase.

@victoriaalee, @kwilcox Hello, which plans do you have related to the PR?
Can I help you somehow?
I believe it would be awesome to get prometheus support in next release!
Thank you for your contributions and make life easier.

@kwilcox I love your idea to allow the use of custom metrics classes external to the Luigi codebase. I know at my company we've been running off of a fork with this contrib for a while, and this would've would've been a more elegant solution.
@dbolshak As far as I'm aware this PR is good to merge. @Tarrasch?

Thanks for everyone's input and this contribution @victoriaalee! Perhaps we (I) should finally make a new release of luigi after Easter.