feat: convenience script to view tables

Executive Summary
Eyeballing or saving html in a Table element (in the metadata.text_as_html field) takes some manual effort. This script provides a quick way to do so given an unstructured .json file that adheres to the usual schema (i.e., that's returned by the Unstructured API).
Testing Instructions
Get some unstructured output that includes a table. E.g.
124_PDFsam_Basel III - Finalising post-crisis reforms.pdf
./unstructured-get-json.sh --tables --hi-res \
  124_PDFsam_Basel\ III\ -\ Finalising\ post-crisis\ reforms.pdf

Then use this the following script to view the structure and content of the tables: (note that output file was copied to the clipboard from prior command):
./u-tables-inspect.sh \
"<snip>/tmp/unst-outputs/124_PDFsam_Basel III - Finalising post-crisis reforms.pdf-hi-res.json"

*CI cancelled after the shellcheck check passed  -- no point in burning CI minutes for an irrelevant change.


Variant classes aren't escaped as expected

Bug report
Describe the bug
When trying to create variants with characters that need escaping (e.g. a file path), the outputted class wasn't escaped.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Go to https://codesandbox.io/s/stitches-issue-escaped-classes-toqfg
Scroll down to the instances of textWithPathVariant and TextWithPathVariant which are used to demonstrate the issue
See how the text isn't displaying as red
When viewing the style in the devtools, the variant's class isn't escaped (i.e. / should be transformed to \/ and . should be transformed to \.

Expected behavior
I would expect the outputted CSS class for the variant to be escaped, with the HTML class unescaped
Screenshots
N/A
System information

OS: macOS
Browser (if applies) Chrome
Version of Stitches: 1.0.0-canary-15 and 0.2.5
Version of Node.js: 14.7.5

Additional context
To get around this in the meantime, I'm sanitising the variant string of the offending characters
const strip = (str: string) => str.replace(/[\/]|[.]/g, "-");

but it would be great to have this working out of the box 🙏
Perhaps Modulz could utilise the CSS.escape() polyfil?

I agree that we should add this, but I’m not sure if now is the right time. We currently rely on some of this looseness for escape hatches.
Now, allow me to play out a hypothetical conversation —
I might suggest you use CSS.escape. You might reply that Node does not support this. Then I might lament that the client should not pay the decompression or computational burden for Node, and you might reply that they already do for CSSOM. Then we might agree to split the code base so that only Node gets the ponyfills for CSSOM and CSS escape. Finally, I might plead with you to let us wait until version one is stable.
Stitches may never be done — but it will keep getting better.

Our current thinking is to put this burden on the developer who wants to use special characters, rather than move it into Stitches, especially since the cost depends on whether the code will execute either within a Browser, within Node, or a combination of either of those.

Sounds sensible, thanks for the update!

Hey, sorry to bump this old issue, but I'd like to request that this be reconsidered.
I have use-cases for variants with slashes and dots in their names such as (inspired by Tailwind):
const Box = styled("div", {
  variants: {
    width: {
      "1/2": { width: "50%" },
      "1/3": { width: "33.333333%" },
      "2/3": { width: "66.666667%" },
      "full": { width: "100%" }
    }
  }
});

In order to make it possible to write something like: <Box width="1/3" />.
I can't find any acceptable solution from my end that doesn't make me think "why am I even trying to use variants for this". Even though I think that this should be a valid use-case for variants.
I feel like Stitches emitting invalid CSS should be seen as a bug rather than a feature.
@jonathantneal, I'd be interested in hearing about how you're relying on this "looseness for escape hatches", if possible. It might be possible to implement some kind of escaping (not relying on CSS.escape) that could escape some common likely-to-be-used characters such as . or / while allowing others to pass through for an escape hatch.


No sound when notify

Are there any related issues?

...
https://github.com/nylas/nylas-mail/issues/3477
What operating system are you using?
...
Windows 10 Pro 1703
What version of Nylas Mail are you using?
...
2.1.0
Bug?
Do you have any third-party plugins installed? If so, which ones?
...
No
Is the issue related to a specific email provider (Gmail, Exchange, etc.)?
...
Gmail and Company's mail server
Is the issue reproducible with a particular attachment, message, signature, etc?

...
There was no problem when using at least 2.0.32.
I tried reinstalling 2.1.0, but the situation did not change.
Feature Request?
Does this feature exist in another mail client or tool you use?
...

Please remember that 2.1.0 is based off of 2.0.15, not 2.0.32 (due to lack of software). 2.2.0 will be based off the latest 2.0.32 changes from Nylas
Otherwise, you need to be a little more descriptive as we're not sure what the issue really is.

I acknowledged it.
When we introduce 2.2.0 which will be released in the future, we will confirm again and report on whether this problem will be solved.
Thanks.

Just released! https://github.com/nylas-mail-lives/nylas-mail/releases/tag/2.2.0

When installing NylasMailSetup-2.2.0-x64.exe, it was confirmed that the sound is heard when it is notify without any problem.
Thanks.


Pinned versions on GHA Runners

Description
Self-explained
Types of changes

[x] House cleaning (change at project level, like tooling revamp, refactors, etc)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (non-breaking change which improves existing functionality)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (something that would cause existing functionality to not work as expected)
[ ] Documentation (self-explained)

Implementation details
N/A

Codecov Report

Merging #38 (3b2930b) into master (b986af7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #38   +/-   ##
=======================================
  Coverage   72.72%   72.72%
=======================================
  Files           3        3
  Lines          22       22
=======================================
  Hits           16       16
  Misses          6        6

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 b986af7...3b2930b. Read the comment docs.


Click the edge of tree can trigger events

What problem does this feature solve?
Clicking the edge of tree to trigger events can display relationship betwennt parent and child. Graph do just that.  Tree and Graph are expected to have similar functionality.
What does the proposed API look like?
Clicking on the edges of the graph should have the same API as clicking on the edges of the tree.

+1 This feature would be very useful! (I've also seen a few unanswered posts on stackoverflow asking how to do this)


[dev-env] Supports extended information table

Description
We show extended information on --extended switch to vip dev-env info command. This helps users to quickly check how the environment is configured.
Steps to Test
$ npm run build && ./dist/bin/vip-dev-env-info.js  --extended --all

><EMAIL_ADDRESS>build /home/pavel/git/automattic/vip
> babel src -d dist

Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
Successfully compiled 107 files with Babel (4543ms).
Found 4 environments:

 SLUG              2891
 LOCATION          /home/pavel/.local/share/vip/dev-environment/2891
 SERVICES          devtools, nginx, php, database, memcached, wordpress, mu-plugins, client-code
 NGINX URLS        http://2891.vipdev.lndo.site/
                   https://2891.vipdev.lndo.site/
 STATUS            DOWN
 LOGIN URL         http://2891.vipdev.lndo.site/wp-admin/
 DEFAULT USERNAME  vipgo
 DEFAULT PASSWORD  password
 DOCUMENTATION     https://docs.wpvip.com/technical-references/vip-local-development-environment/
 TITLE             pschoffer-develop.go-vip.net
 MULTISITE         false
 PHP               8.0
 WORDPRESS         6.0
 MU PLUGINS        [demo-image]
 APP CODE          [demo-image]
 MEDIA REDIRECT    https://pschoffer-develop.go-vip.net

 SLUG              multisite
 LOCATION          /home/pavel/.local/share/vip/dev-environment/multisite
 SERVICES          devtools, nginx, php, database, memcached, phpmyadmin, vip-search, wordpress, mu-plugins
 NGINX URLS        http://multisite.vipdev.lndo.site/
                   https://multisite.vipdev.lndo.site/
                   http://*.multisite.vipdev.lndo.site/
                   https://*.multisite.vipdev.lndo.site/
 PHPMYADMIN URLS   http://multisite-pma.vipdev.lndo.site/
 STATUS            DOWN
 LOGIN URL         http://multisite.vipdev.lndo.site/wp-admin/
 DEFAULT USERNAME  vipgo
 DEFAULT PASSWORD  password
 DOCUMENTATION     https://docs.wpvip.com/technical-references/vip-local-development-environment/
 TITLE             vip-wordpress-com
 MULTISITE         true
 PHP               7.4
 WORDPRESS         6.0
 MU PLUGINS        [demo-image]
 APP CODE          /home/pavel/git/automattic/client-code/vip-wordpress-com

 SLUG              test
 LOCATION          /home/pavel/.local/share/vip/dev-environment/test
 SERVICES          devtools, nginx, php, database, memcached, wordpress, mu-plugins
 NGINX URLS        http://test.vipdev.lndo.site/
                   https://test.vipdev.lndo.site/
 STATUS            DOWN
 LOGIN URL         http://test.vipdev.lndo.site/wp-admin/
 DEFAULT USERNAME  vipgo
 DEFAULT PASSWORD  password
 DOCUMENTATION     https://docs.wpvip.com/technical-references/vip-local-development-environment/
 TITLE             VIP Dev
 MULTISITE         false
 PHP               8.0
 WORDPRESS         6.0
 MU PLUGINS        [demo-image]
 APP CODE          /home/pavel/git/automattic/vip-go-skeleton
 MEDIA REDIRECT    https://example.com

 SLUG               vip-local
 LOCATION           /home/pavel/.local/share/vip/dev-environment/vip-local
 SERVICES           devtools, nginx, php, database, memcached, vip-search, statsd, wordpress
 NGINX URLS         http://vip-local.vipdev.lndo.site/
                    https://vip-local.vipdev.lndo.site/
 DATABASE           <IP_ADDRESS>:49155
 ENTERPRISE SEARCH  http://<IP_ADDRESS>:49154
 STATUS             UP
 LOGIN URL          http://vip-local.vipdev.lndo.site/wp-admin/
 DEFAULT USERNAME   vipgo
 DEFAULT PASSWORD   password
 DOCUMENTATION      https://docs.wpvip.com/technical-references/vip-local-development-environment/
 TITLE              VIP Dev
 MULTISITE          false
 PHP                8.1
 WORDPRESS          6.0
 MU PLUGINS         /home/pavel/git/automattic/vip-go-mu-plugins
 APP CODE           /home/pavel/git/automattic/vip-go-skeleton

The added --extended option and the information that is output as a result looks terrific!
This has my approval for general output structure. I'll leave the code review and approval to a more qualified person. :)


Submodules resolution for buildpacks

Steps to reproduce:

Create a new app that is based on a non-default recursive buildpack, i.e., a buildpack requiring submodules to be resolved (in my case this was the official CF dotnet-core-buildpack buildpack)
Add a .buildpacks file specifying the recursive buildpack
Push the app via git push flynn master
See the build failing once functionality from the submodules is required (in my case the compile-extensions have not been resolved; so download_dependency was missing)

I had to modify the buildpack to include the compile-extensions directly; as the submodule was not auto-included. This was sufficient to make the build run correctly.
Thanks for this awesome piece of software ❤ - truly a wonderful project with a great architecture and mindset!

@FlorianRappl I assume you are creating a .buildpacks file which triggers Flynn to install the buildpacks using the Heroku multi buildpack, which doesn't seem to do a recursive clone (see here).
If you just need to use a single, custom buildpack then you can instead set the BUILDPACK_URL environment variable and then Flynn will clone the buildpack recursively (see here).
To demonstrate using this example app:
Using .buildpacks:
$ cat .buildpacks
https://github.com/cloudfoundry/dotnet-core-buildpack.git

$ git push flynn master
...
-----> Building asp...
-----> Multipack app detected
       =====> Downloading Buildpack: https://github.com/cloudfoundry/dotnet-core-buildpack.git
       =====> Detected Framework: ASP.NET Core (buildpack-1.0.4)
...
       sh: 1: /tmp/buildpackqNdjw/compile-extensions/bin/download_dependency: not found
       FAILED: command failed, exit status 127

Using BUILDPACK_URL:
$ flynn env set BUILDPACK_URL="https://github.com/cloudfoundry/dotnet-core-buildpack.git"
Created release da358714-0b96-48d3-9696-c58c951e66a2.

$ git push flynn master
...
-----> Building asp...
-----> Fetching custom buildpack
-----> ASP.NET Core (buildpack-1.0.4) app detected
       ASP.NET Core buildpack version: 1.0.4
       ASP.NET Core buildpack starting compile
...
       ASP.NET Core buildpack is done creating the droplet
-----> Discovering process types
       Default process types for ASP.NET Core (buildpack-1.0.4) -> web
-----> Compiled slug size is 159M
-----> Creating release...
=====> Scaling initial release to web=1
-----> Waiting for initial web job to start...
=====> Initial web job started
=====> Application deployed
To https://git.1.localflynn.com/asp.git
 * [new branch]      master -> master

We can't open an issue on the Heroku multi buildpack because it is a fork and looks like it is deprecated, but we can try submitting a patch anyway.

Yes indeed I was going with a .buildpacks file (edited the steps to reproduce). From the documentation it sounded like both are the same (sorry for my confusion), so I went with the file as it seemed easier / more transparent to maintain.

@FlorianRappl I too was initially confused, it is unclear why the multi buildpack does not clone the submodules (likely just an oversight).
You can find the docs here if you want to update them and send a pull request?

It looks like we should switch to this version of the multi buildpack: https://bitbucket.org/cf-utilities/cf-buildpack-multi

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


Wrong links on the .NET Core page

I thought I was crazy after downloading, reinstalling .NET Core 5 times and seeing 1.0.0 every time.
The link on https://www.microsoft.com/net/core#macos just under the "install .NET Core 1.1 on macOS" is serving 'dotnet-dev-osx-x<IP_ADDRESS>-preview2-1-003177.pkg' -- 1.0.0 version.
Where can I get .NET Core 1.1? I'm really interested in .csproj (XML) projects and MSBuild.

I believe what you're seeing is the confusion around the version of the SDK (1.0.0) as compared to the .NET runtime version (1.1.0). I have the SDK installed on macOS and this what I see:
$ dotnet --version
1.0.0-preview2-1-003155

$ dotnet

Microsoft .NET Core Shared Framework Host

  Version  : 1.1.0
  Build    : 928f77c4bc3f49d892459992fb6e1d5542cb5e86
<snip>

That's a great news, indeed you're right.
But why my projects are still using project.json while on Windows I created one with .csproj?

As far as I know runtime 1.1.0 still relies on project.json even if you create a csproj. Though I'm not the right person to provide details on that.

Yeah, the versioning is super confusing. As far as I know, only the SDK that comes through the VS installers is updated to use csproj. I assume thats how you got it. I know the team was trying to decide when to flip the standalone SDK's for all the OS's over to the MSBuild based tooling. @piotrpMSFT , where did you guys land on that?

Things should get cleaned up with the next release as the tooling will RTM and then next refresh of the sites and links should remove a lot of the confusion. I'm going to close this but please file an issue pointing to any additional confusion after the VS 2017 Release that will be coming out soon.


chore: release main

:robot: I have created a release *beep* *boop*
@set-app/cli: 2.2.3
Bug Fixes

@set-app/cli: fix Readme main and cli (e82b3ae)

Reverts

@set-app/cli: revert license changes (e82b3ae)

This PR was generated with Release Please. See documentation.

:robot: Release for @set-app/cli is at https://github.com/Frankeo/set-app/releases/tag/cli-v2.2.3 :sunflower:


Fix issue with parsing large quantities in blocks

I was having trouble subscribing to new blocks on Kovan, when I discovered Kovan's difficulty is too large to be parsed into a Number in javascript. It seems the reason it's parsed into a number in the first place is to basically format it back into hex.
This changes all quantity values to use a new utility method that safely converts from Buffer to a quantity-style hex string.

thanks @pixelmatrix


feat(bulkselection): ListView - Created bulk selection component

This is a component that goes along with a toolbar to allow for select all/ select none and partial select of lists of data.

Screen shot of intended functionality.

@serenamarie125 , Here is the bulk selection component that is functioning as discussed.  I don't know what the process for UX review and approval is in this repo but could you help me figure out how to get this reviewed?

For some reason the screenshot video is not truly showing the color right but partially selected and select all states use @color-pf-blue-400 when the states happen.
This component compliments the toolbar and filter components.  It has 3 states (None, All, Partially selected).  This component has two ways to interact with it.  One method is a toggle if you click the square icon it will

Toggle select all/select none
If you select one or more results from the list before clicking toggle, it will deselect all.

@chalettu is it possible to add still screenshots showing that states of the icon in the bulk selector?  Jut want to make sure that it matches - here are the high fidelity mocks
Partial Selection

All Selected

@chalettu thanks, this looks great! I do have two questions but I think they are more design related so may need @mcarrano to chime in.
Curious if the checkbox is too small, because it seems too difficult to click the checkbox without clicking the dropdown. Also thinking we should hide the dropdown for cases where there are no other options available other than select all, so just show the checkbox for these cases. Thoughts?

I'm not sure how tricky it is to do, but I think it's important that the selector be moved further left so that all the checkboxes align. The visual line created by those will make its functionality a lot more clear.

If I apply a fitter (Ex: Name='F'), then 'Select All' from the dropdown, it only selects rows shown by the filter.  The dropdown icon is 'Select All' in this state.
If I clear the filter, the icon does change to 'Partially Selected'.  Just want to verify this is the behavior we want?
Wondering if we want either:
a) The 'Select All' to truly select all records, even ones not shown by the current filter, or..
b) If 'Select All' only selects visible records shown by filter, then the dropdown icon should be 'partially selected' since not all records are actually selected.
c) Perhaps when a filter is applied, the dropdown choice should be something like 'Select All Filtered'
-thanks

This looks good. In answer to your question @beanh66 , while having the dropdown, even when the only choices are Select All and None, is indeed redundant, we felt this was necessary to make it clear what's happening here. I did not feel like just a checkbox inside a button would be very intuitive on it's own. Unlike for tables, the checkbox is a bit removed from the column headers here.
@dtaylor113 raises a good question about how this interacts with filtering. I was assuming that the selection only applied to what's currently loaded into the view, but maybe that's not the right answer. What do we do for tables? It's exactly the same use case. If I select all rows in a table and a filter is applied, does it select items that are filtered from the table? I wouldn't expect it to.

Unfortunately, this doesn't play well with Table View.  Table View already has a 'Select All' checkbox, which when clicked highlights the table rows, whereas the bulk selection dropdown doesn't highlight the rows:

Interestingly enough, the table's 'Select All' checkbox works the same way irt. filtering as the bulk dropdown -namely, it only selects the visible filtered records.
Wondering if we shouldn't show this dropdown in table view, OR..does this bulk selection dropdown replace the table's 'Select All' checkbox?

If I select all rows in a table and a filter is applied, does it select items that are filtered from the table? I wouldn't expect it to.

@mcarrano the table's 'Select All' checkbox does only select the filtered rows.

@dtaylor113 Thanks for the additional clarification. A couple of thoughts...
1- I don't think the Bulk Selector should apply in Table View as it does become redundant with the built in table selection.
2- I had forgotten about this whole business with whether select all applies to items outside the current page. I think we need to remain consistent with what we had decided earlier for Table View. But maybe this is a case where we can use the menu to allow an option to select everything (whether in view or not). @serenamarie125 what do you think?

From patternfly.org Table View design: "Select All Rows: Selecting the checkbox in the header row selects all rows on the page. The total number of rows selected is shown near the table action buttons."
'select all rows on the page' <--- this even applies to Pagination. If I am only showing 5 records per page and click 'Select All' checkbox, it only selects the 5 rows on the current page.

So I believe the bulk selector is correct irt. filtering and pagination, at least it is mirroring what the table's 'Select All' checkbox is doing.  I'm still questioning whether both should be available in the table view.

agreed that we don't show it in our current table view implementation

@chalettu ah, yes the checkbox in the selector should be aligned with the checkbox in the list view.  Good find everyone!

agreed that we don't show it in our current table view implementation

@chalettu, we do this already for the Sort button which we do not show in TableView because we use the table column headers to do sorting.  Pattern should be very similar for the bulk selector:
https://github.com/patternfly/angular-patternfly/blob/master/src/toolbars/examples/toolbar.js#L340
https://github.com/patternfly/angular-patternfly/blob/master/src/toolbars/toolbar.html#L9

Wanted to call attention to a related conversation that is happening in the design repo here: https://github.com/patternfly/patternfly-design/issues/684 regarding the intermediate state of the checkbox. I am recommending that we remove that state from the design as it would require us to create a custom checkbox in Core which we don't want to do. In this case, the bulk selector would show the checked state when all are selected and unchecked if no selection or partial selection. Clicking the checkbox would toggle between all and none selected as it does currently for the Table.  There is currently a design PR in progress that will need to be updated.

Hi @chalettu, this PR is very close to the recently added Bulk Selector component: https://www.patternfly.org/pattern-library/forms-and-controls/bulk-selector/#
I only see a few visual differences:

bulk selector dropdown needs to be vertically aligned with results label on the line below
bulk selector dropdown menu options need to be changed to 'Select All' and 'Select None'
bulk selector tooltip? (can't tell if it's implemented)

The other issue is that this bulk selector component should be hidden when used with the TableView:
"This pattern should NOT be used when information is displayed in a table view. The table view component includes a bulk selector in its toolbar."
Just curious, are you still working on this PR?
Thanks,

Dave


Pointer to int and zero value

type Request struct {
	TestInt        *int        `form:"test_int"`
	TestString  *string   `form:"test_string"`
}

When providing empty value for "test_string" parameter(r.Form["test_string"]=""), Request.TestString will be not nil and set with the zero value "" as wanted.
But when "test_int" is provided with an empty string value(r.Form["test_int"]=""), Request.TestInt is still nil and shloud rather be set to the zero value 0.
It works great with Gorilla Schema

@badoux could you provide a more complete example? I'm not 100% clear on the issue you are describing.

Hi @deankarn
Here is a full example :
package main

import (
	"fmt"
	"net/url"

	"github.com/go-playground/form/v4"
)

type Request struct {
	ID  *int    `form:"id"`
	Str *string `form:"str"`
}

func main() {
	r := &Request{}
	values := url.Values{}
	values.Set("id", "")
	values.Set("str", "")

	decoder := form.NewDecoder()
	err := decoder.Decode(r, values)
	if err != nil {
		panic(err)
	}

	fmt.Println("%v", r)
}

• r.Str is not nil with an empty string as value (zero value of the type string)
• r.ID  is still nil and i expect it to be set to 0 (zero value of the type int)

Gorilla schema has a ZeroEmpty method to deal with this case :
https://godoc.org/github.com/gorilla/schema#Decoder.ZeroEmpty

why you expect the r.ID to be 0?
i expect that default value of *int is nil bcs no way to parse "" to any of int,
and how you differentiate between id "0" and id ""?

Hey @badoux
As @gunawanwijaya eluded to if the key exists with no value, the value IS blank. There is no way to differentiate using URL.Values
But for an int, if it’s not a valid int then we can differentiate.
I’m not sure I want to add an option like that at this time. If you want the int to be 0 even if no value is sent you can change your strict from +int to just int as the default value will be 0.

@gunawanwijaya
Simply because i need to know if a value is given or not.
If no value is given it's nil, otherwise it's the given value or 0 if parsing is not possible.
Like @deankarn said "if the key exists with no value, the value IS blank", and if it's blank... it's not nil.
Seems logical to me but i can understand, i will stick to gorilla/schema for this usecase cause i need it and its the default behaviour.


Text wrapping cuts words when it shouldn't

Tested versions
4.2 stable
System information
Windows 10
Issue description
I am using a 3 RichTextLabel nodes, with text wrapping set to Word(Smart).

Notice how the wrapping differs in these 3 cases. In the first case, it wraps all the text after the slash. In the second case, it wraps the entire word. In the third case, it wraps everything after the image, including the image, but nothing before.
The expected behavior would be that the entire word wraps without breaking in the middle in all 3 cases, at least from a usability standpoint. In the current state, you cannot have any words with slashes in them, or words with images in them, because the wrapping will cut the words in half, making them display awkwardly. I believe this also happens with some other punctuation marks as well, not just slashes.
Steps to reproduce
Create a RichTextLabel node, type some words with slashes or images in the middle of them, and notice how the wrapping cuts words.
Minimal reproduction project (MRP)
N/A

The second case ("AB.CD") is not a bug. Wrapping after the period would mean things like "...", "Etc.." may not be accounted for properly. Try writing "AB.CD" in this very GitHub textbox and you may notice the same behavior.
I believe there are some characters that act as separators but are essentially invisible and occupy no space. Those could be used in the middle for these occasions(?).
Most egregiously though, I believe @AThousandShips considers this to be a documentation issue because of the third case. When you insert an image in a RichTextLabel, it's not a custom character of sorts and the RichTextLabel likely breaks the text this way by design.

For what it's worth, this behavior feels like a bug because it means you can't have a word (e.g., a name of a character or location) with a slash in it, because it will look strange when it wraps. And there isn't really a workaround for it either except just not having slashes, which doesn't feel satisfactory.

And there isn't really a workaround for it either except just not having slashes, which doesn't feel satisfactory.

Yes there is. You can use a word joiner character. I am aware it sounds unorthodox but it does exist.
"AB/CD". It is written here after the slash but you cannot see it. Or here:

Testing with other editors for example it does break with the slash, but not with a period, with a period it strips characters off the end like it would for a complete word
It does it for - as well, but does not do it for backslash (This is Kate editor)
With notepad it splits on backslash and - but not on period or forward slash
So it varies


rewrite the tutorials

Please confirm that this PR has done the following:

[x] Tests Added
[x] Documentation Added
[x] Description in RELEASE_NOTES.md Added

Adding to RELEASE_NOTES.md (remove section after adding to RELEASE_NOTES.md)
Please add a single line in the release notes similar to the following:
- (#XX)[http://link-to-pr.com] Added feature which does something

Description of PR
This PR reworks most of the tutorials, in particular the "first-steps" tutorial. It updates the tutorial data source to the IAMC 1.5°C data for consistency with the IIASA-db tutorial, and improves consistency of the formatting and notation.
closes #298
closes #290

Coverage decreased (-0.4%) to 84.721% when pulling 0142624ec3e800639788ba9e2441ec21846d6c08 on danielhuppmann:tutorials/first_step_update into 9931f3805704ac1464e149fb998ff2ec41bf6cb0 on IAMconsortium:master.

@znicholls, can you take please a look at the updated "checking_consistency" notebook?
I created a smaller, more specific example to better highlight what is being checked and why each validation fails. I also replaced the term "database" with "scenario ensemble" to describe the content of an IamDataFrame rather than where it is stored, and made some other edits, hoping make it easier for new users...

@byersiiasa, can you take a look whether the updated "first-steps" notebook satisfies the issues #290 and #298? (if you have a minute)

Hi @danielhuppmann. Thanks for reworking these tutorials! I think you have done a great job of making this first steps tutorial accessible.
Some quite minor points:

[filtering]: 'The feature for filtering by model, scenario or region are implemented using exact string matching, where ...' should probably be changed to model, scenario, region, variable, or year to be more complete and not confuse new users.

Hi @danielhuppmann. Thanks for reworking these tutorials! I think you have done a great job of making this first steps tutorial accessible.
Some quite minor points:

[filtering]: 'The feature for filtering by model, scenario or region are implemented using exact string matching, where ...' should probably be changed to model, scenario, region, variable (and level), or year to be more complete and not confuse new users.
[filtering]: you could add a tiny example under the 'filtering by year' description, e.g (df_selectedyears = df.filter(range(2010, 2051))). If you want, you can make it a box and then also use it to show it as a shorter timeseries next to the full display_df
[numpy]: you could provide a hyperlink to the numpy package when you mention it when you're dealing with set_meta_from_data()

In general, when using pyam in practice for processing purposes, there can be a lot of converting between different forms. It would be good to make it as clear as possible when one has a wide or long format, and when it is a pyam.IamDataFrame and when it is a pandas.DataFrame. A new user would probably assume that everything that goes in as a pyam.IamDataFrame also returns one. Thus, every time that this not the case, it should be very clear (e.g. under 'displaying timeseries data' it is a bit too easy to miss right now). (this also holds for when a pandas.Series [e.g. overshoot] or even a multidimensional dataframe [e.g. df.meta] are returned, as this can cause quite some confusion because it is not always explicit enough)
In the same way, I think it is important to also emphasize what actions return an altered copy and what actions change the df itself.
Perhaps an overview table of some central functions with these two binary options (pyam/pandas, and copy/direct alteration) could be very useful for new users, and is more friendly then going into the API or testing it out.

Hi @danielhuppmann ,
Great tutorial notebook, very illustrative and clear, even for not-very-experienced readers as myself.
Minor comments:

In exclude_on_fail section, the last sentence of this paragraph is not very clear:

Any scenario (by a particular model) failing the validation criteria is then marked as exclude=True. This "exclusion flag" is implemented in the meta table of the IamDataFrame, which can be used categorization and quantitative indicators (more below).

I think a preposition is missing before categorization. Moreover, I think a clear reference to the meta table section should be included instead of the parenthesis, stating sth like: "the second latest cell in XX shows the meta table" (I found it confusing talking about a meta table whose format it was not clarified until the command df.meta.head() at the end of the notebook).

In the Categorization assignment markdown cell I'd list some of the other possible arguments to be used by the plotting library. So the users could experiment with them (I'd have liked to do that).
I'd suggest to swap the order of the cells [14] and [15] (and their associated markdowns) with commands df.filter(level=1).variables() and df.filter(variable='Primary Energy*', level='1-').variables(), respectively. This is to follow the logic of the Filtering by variables and levels markdown cell, which is explaning the difference between filtering by both variable and level or with just level.

response to @znicholls:

'Note that the detailed output (i.e., where the aggregation validation fails) is not shown in a notebook when calling the function within a loop.', maybe add a pointer to a resource which explains how notebooks work for those who are confused by this

Any good reference for this?
Re "handling of bunkers" - this wasn't included in the tutorial before. I'll see if I have time to extend the tutorial when I tackle #299.

Any good reference for this?

2. Pretty Display of Variables of https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ ?

Re "handling of bunkers" - this wasn't included in the tutorial before. I'll see if I have time to extend the tutorial when I tackle #299.

Ah ok cool makes sense.

Thank you @jkikstra and @francescolovat for these great suggestions!
Highlights of my changes:

added a blue-highlighted cell about the expected return type of timeseries(), and some more of these cells throughout the notebook
moved the "filter-by-year" section, add an example
introduce the meta table earlier, so that it can be referenced in the validation and indicators section
add a second plot with the kwarg color='scenario' in the plotting example

About the suggestion by @jkikstra to create an overview table of functions and their return types - I understand that this is confusing for new users, but I'm worried about adding new parts to the documentation, because this will be difficult to maintain and keep up to date...

@byersiiasa, can you take a look whether the updated "first-steps" notebook satisfies the issues #290 and #298? (if you have a minute)

thanks - yes, nicely implemented!

lgtm @danielhuppmann ! I tried restarting the mac CI that failed, not sure why it is failing or if this is a known issue.

thanks @gidden!
this seems to be related to #281 - building the docs on travis installs kealib, which also installs matplotlib-base-2.2.4 on linux but matplotlib-base-3.1.2 on mac. no idea why this isn't a problem in other PRs

no idea why Appveyor is now failing with ever more confusing error messages - maybe it's because now running on gidden:master...? it passed on "my" instance a few commits ago
merging to see if this resolves the issue


Unexpected compile time errors: language/class/override_inference_test

Unexpected compile time errors in sound and weak mode:
class/override_inference_test

org-dartlang-app:/tests/language/class/override_inference_test.dart:157:3: Error: Can't infer a return type for 'foo' as some of the inherited members have different types.
Try adding an explicit type.
  foo(x) {
  ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:156:7: Context: This is one of the inherited members.
class CInherit1 implements INumInt, IIntNum {
      ^^^^^^^^^^^^^^^^^^^^^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:157:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
Try adding an explicit type.
  foo(x) {
      ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:156:7: Context: This is one of the inherited members.
class CInherit1 implements INumInt, IIntNum {
      ^^^^^^^^^^^^^^^^^^^^^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:175:3: Error: Can't infer a return type for 'foo' as some of the inherited members have different types.
Try adding an explicit type.
  foo(x) {
  ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:43:7: Context: This is one of the inherited members.
  int foo(num x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:47:7: Context: This is one of the inherited members.
  num foo(int x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:175:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
Try adding an explicit type.
  foo(x) {
      ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:43:7: Context: This is one of the inherited members.
  int foo(num x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:47:7: Context: This is one of the inherited members.
  num foo(int x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:191:3: Error: Can't infer a return type for 'foo' as some of the inherited members have different types.
Try adding an explicit type.
  foo(x) {
  ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:47:7: Context: This is one of the inherited members.
  num foo(int x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:43:7: Context: This is one of the inherited members.
  int foo(num x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:191:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
Try adding an explicit type.
  foo(x) {
      ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:47:7: Context: This is one of the inherited members.
  num foo(int x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:43:7: Context: This is one of the inherited members.
  int foo(num x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:207:3: Error: Can't infer a return type for 'foo' as some of the inherited members have different types.
Try adding an explicit type.
  foo(x) {
  ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:47:7: Context: This is one of the inherited members.
  num foo(int x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:206:7: Context: This is one of the inherited members.
class CInherit4 with IIntNum implements INumInt {
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:207:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
Try adding an explicit type.
  foo(x) {
      ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:47:7: Context: This is one of the inherited members.
  num foo(int x) => x.toInt();
      ^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:206:7: Context: This is one of the inherited members.
class CInherit4 with IIntNum implements INumInt {
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:260:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
Try adding an explicit type.
  foo(x, [y]) {
      ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:259:7: Context: This is one of the inherited members.
class COptInherit3 implements IIntInt, INumInt {
      ^^^^^^^^^^^^^^^^^^^^^^^
org-dartlang-app:/tests/language/class/override_inference_test.dart:162:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<num>'.
 - 'List' is from 'dart:core'.
    listNumVar = xList;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:169:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<int>'.
 - 'List' is from 'dart:core'.
    listIntVar = retList;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:179:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<num>'.
 - 'List' is from 'dart:core'.
    listNumVar = xList;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:185:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<int>'.
 - 'List' is from 'dart:core'.
    listIntVar = retList;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:195:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<num>'.
 - 'List' is from 'dart:core'.
    listNumVar = xList;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:201:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<int>'.
 - 'List' is from 'dart:core'.
    listIntVar = retList;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:211:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<num>'.
 - 'List' is from 'dart:core'.
    listNumVar = xList;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:217:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<int>'.
 - 'List' is from 'dart:core'.
    listIntVar = retList;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:268:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<num>'.
 - 'List' is from 'dart:core'.
    listNumVar = listX;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:408:18: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<int>'.
 - 'List' is from 'dart:core'.
    listIntVar = listSet;
                 ^
org-dartlang-app:/tests/language/class/override_inference_test.dart:437:12: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'List<int>'.
 - 'List' is from 'dart:core'.
    list = getList;
           ^

@johnniwinther @lrhn This is a new test and maybe needs another pass to make sure it's error free since the implementation has evolved/been completed.

Fix in progress: https://dart-review.googlesource.com/c/sdk/+/166240

A few case was missed.


[Feature request] Support stream=True in tool calls

Is your feature request related to a problem? Please describe
Refer to our previous discussion in the FastGPT issue area.
https://github.com/labring/FastGPT/issues/1046
With the release of Qwen1.5 last month, open-source LLMs now have significant tool calling capabilities.
Currently, xinference does not support setting stream=True in tool calls.
Describe the solution you'd like
Based on my research so far, https://github.com/xusenlinzy/api-for-open-llm has implemented a design that appears to be quite scalable, see:
https://github.com/xusenlinzy/api-for-open-llm/blob/master/api/vllm_routes/chat.py
To implement streaming processing for tool calls, xinference should consider rewriting the streaming response function: https://github.com/xorbitsai/inference/blob/5a83dd5774942e0409872f362e9d8eb52a95c6c3/xinference/model/llm/vllm/core.py#L319

Do you have interest to implement this?

Do you have interest to implement this?

Of course, I will try to implement the feature as I need it. But I'm not sure when I'll be done, and if I am, I'll submit a pr for you guys!

Thank you in advance.
BTW, you can comment with a single word take to assign this thread to yourself to tell others you are working on it.

这个功能是急需的，也是目前xinference的一个受限

take

take

测试验证通过了么？

测试验证通过了么？

仍然 WIP。如果你想试试，可以拉取 https://github.com/zhanghx0905/inference/tree/dev-streaming-tools，并执行 pip install -e .

使用python3.11启动会报错
pkg_resources.UnknownExtra: typer 0.12.0 has no such extra feature 'all'

测试验证通过了么？

仍然 WIP。如果你想试试，可以拉取 https://github.com/zhanghx0905/inference/tree/dev-streaming-tools 并执行 pip install -e .

用你的分支使用python3.10和3.11启动都会报错
pkg_resources.UnknownExtra: typer 0.12.0 has no such extra feature 'all'
这是什么原因呢？

@zhanghx0905 虽然没报错了，但没能正确调用工具。


Can't resolve all parameters for provideLocationStrategy: (PlatformLocation, ?, Config). metadata_resolve.js

Note: If you are having problems formatting your issue please refer to this article on using markdown in Github:
https://guides.github.com/features/mastering-markdown/
Note: for support questions, please use one of these channels:
https://forum.ionicframework.com/
http://ionicworldwide.herokuapp.com/
Note: for build related issues you can open up an issue on the ionic-app-scripts repo
https://github.com/driftyco/ionic-app-scripts
Short description of the problem:
What behavior are you expecting?
Steps to reproduce:
ionic-app-scripts watch
7:09:23]  ionic-app-scripts 0.0.28
7:09:23]  watch started ...
7:09:23]  build dev started ...
7:09:23]  clean started ...
7:09:23]  clean finished in 76 ms
7:09:23]  copy started ...
7:09:23]  typescript compiler started ...
7:09:23]  lint started ...
7:09:23]  lint failed:  Unable to find "tslint" command: null
 lint failed:  Unable to find "tslint" command: null

then  browser occurred it
metadata_resolver.js:499Uncaught Error: Can't resolve all parameters for provideLocationStrategy: (PlatformLocation, ?, Config).
metadata_resolve.js

Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)
Which Ionic Version? 1.x or 2.x
Plunker that shows an example of your issue
For Ionic 1 issues - http://plnkr.co/edit/Xo1QyAUx35ny1Xf9ODHx?p=preview
For Ionic 2 issues - http://plnkr.co/edit/me3Uk0GKWVRhZWU0usad?p=preview
Run ionic info from terminal/cmd prompt: (paste output below)

Same problem here

I replaced tslint with tsify version 0.16.0 and was able to get past my tslint error. I was getting
tslint /Users/riley/Documents/ionv2-blank/node_modules/tslint/lib/configuration.js:184 throw new Error("Could not find custom rule directory: " + directory);

After uninstalling tslint and installing tsify. I ran into your second error which was solved by reinstalling all packages. Hope this helps.

Browser error:
I had this error due to DI before, some things which I don't have to inject in providers, which I had before, after removing all of them mine is working fine now. I just have only the providers I wrote inside removed other things like http......etc which we can directly inject in respective classes.
Make sure your declartions array, providers array and imports array are cleaned up. they are the major culprits for this.

Same here
[14:15:14]  lint failed:  Unable to find "tslint" command: null
[14:15:14]  Error: Unable to find "tslint" command: null
at /Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/dist/lint.js:38:20
at runTsLint (/Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/dist/lint.js:35:12)
at /Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/dist/lint.js:22:13
at FSReqWrap.oncomplete (fs.js:82:15)
[14:15:14]  copy finished in 186 ms
[14:15:14]  bundle dev failed:  Could not resolve '@angular/platform-browser-dynamic' from /Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/src/app/main.dev.ts
[14:15:14]  Error: Could not resolve '@angular/platform-browser-dynamic' from /Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/src/app/main.dev.ts
at Error (native)
at /Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/dist/rollup-plugin-node-resolve.cjs.js:78:21
at /Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/browser-resolve/index.js:265:24
at /Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:46:14
at process (/Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:173:43)
at ondir (/Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:188:17)
at load (/Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:69:43)
at onex (/Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:92:31)
at /Visa Workshop/Visa Ionic Apps/ConnectedCarv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:22:47
at FSReqWrap.oncomplete (fs.js:82:15)

Same here
[14:15:14]  lint failed:  Unable to find "tslint" command: null
[14:15:14]  Error: Unable to find "tslint" command: null
at /Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/dist/lint.js:38:20
at runTsLint (/Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/dist/lint.js:35:12)
at /Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/dist/lint.js:22:13
at FSReqWrap.oncomplete (fs.js:82:15)
[14:15:14]  copy finished in 186 ms
[14:15:14]  bundle dev failed:  Could not resolve '@angular/platform-browser-dynamic' from /Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/src/app/main.dev.ts
[14:15:14]  Error: Could not resolve '@angular/platform-browser-dynamic' from /Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/src/app/main.dev.ts
at Error (native)
at /Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/dist/rollup-plugin-node-resolve.cjs.js:78:21
at /Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/browser-resolve/index.js:265:24
at /Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:46:14
at process (/Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:173:43)
at ondir (/Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:188:17)
at load (/Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:69:43)
at onex (/Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:92:31)
at /Vishnu Workshop/Vishnu Ionic Apps/Connectv2.0/node_modules/@ionic/app-scripts/node_modules/rollup-plugin-node-resolve/node_modules/resolve/lib/async.js:22:47
at FSReqWrap.oncomplete (fs.js:82:15)

@Vishnuraj910 may be you should add your app.module.ts and ionic info

@balasivagnanam Thank you. But I just created the app (ionic start --v2 Connectv2.0) and tried ionic serve. It should work with a default template right?

ionic info
Your system information:
Cordova CLI: 6.3.1
Gulp version:  CLI version 3.9.1
Gulp local:
Ionic Framework Version: 2.0.0-rc.0
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.0.0-beta.20
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v4.6.0
Xcode version: Xcode 8.0 Build version 8A218a

Same problem here

same issue here:
`
npm -v
2.15.9
A@K ~/git/tabs
$ ionic info
Your system information:
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.0
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.0.0-beta.20
OS: Windows 7 SP1
Node Version: v4.6.0
`

Hello all! This issue is caused by the fact that you all are running npm 2 and not npm 3. With Ionic 2  RC0 we require npm 3. npm 3 will be the standard very soon when Node 6 becomes the LTS this month. In the meantime if you do not want to install Node 6 you can simply run npm install -g npm to update your version of NPM to npm 3 but still keep node 4. Thanks!

I still have the same issue with npm 3. https://cl.ly/022H3s0h3l1K


Keep benchmarks in GH pages

Codecov Report

Merging #51 (ab29ca7) into master (fbe2eee) will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #51      +/-   ##
==========================================
- Coverage   89.02%   88.93%   -0.09%
==========================================
  Files          15       15
  Lines        1157     1157
==========================================
- Hits         1030     1029       -1
- Misses        127      128       +1

Impacted Files
Coverage Δ

src/lib.rs
95.69% <0.00%> (-0.31%)
:arrow_down:

Codecov Report

Merging #51 (ab29ca7) into master (fbe2eee) will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #51      +/-   ##
==========================================
- Coverage   89.02%   88.93%   -0.09%
==========================================
  Files          15       15
  Lines        1157     1157
==========================================
- Hits         1030     1029       -1
- Misses        127      128       +1

Impacted Files
Coverage Δ

src/lib.rs
95.69% <0.00%> (-0.31%)
:arrow_down:


Add support for naming convention

Current version does not support CAF naming standard module.

Closing as fixed in #9


Updated LfMerge to .NET6

Includes updating .Core to .NET Standard. I picked this simply to instill more compatibility with other frameworks. Also includes updating various old Framework packages to the minimum versions that supported .NET Standard.
Removed icu.net to depend on indirect reference. Upgraded MongoDB, per https://github.com/commandlineparser/commandline/issues/225 and refactored some duplicated code into a base class in .Core. Referencing the "netcore" versions of the SIL packages -- these can go back once the "netcore" branches are in. Upgraded libpalaso references to 9, since most are already .NET Standard.
There are lots of warnings for .NET Framework packages, some fixable, like SIL.Lexicon, and some not, like NHunspell. But these changes allow it to dotnet build

This change is

Looking forward to seeing this completed; building and running with .NET 6, if you can manage to get it all working, will allow me to use several features from recent C# versions that I've been looking forward to having available. It'll make for much nicer LfMerge code in the long run. Thanks for working on this!

@rmunn so the build is passing now, and i think i've gotten the usages of mono removed. however, i am definitely not the expert on the innerworkings of the surrounding scripts, so there may be some (major) things i'm missing. but feel free to take a preliminary look!
note that the GHA workflows were flaky -- i had to do manual re-runs to get the FW8 ones to pass. Assuming this is not normal

Did some testing, and tweaked the build until it works. It fails to run, because the SyslogLogger class is looking for the Mono.Posix.NETStandard assemblty, which of course doesn't exist in a non-Mono runtime environment. But that will be easy to fix: just swich LfMerge over to logging everything to stdout, which is better in a Docker environment anyway, and get rid of the SyslogLogger. I'll work on that with you tomorrow.

I got the missing DLL installing with the rest of the LfMerge files, but .NET still thinks it's missing, and I don't know why yet. But I did figure out where its dependency is coming from: it's depended on by the SIL.WritingSystems package, which is a core part of LfMerge that we can't do without. We call Sldr.Initialize() during our setup, which tries to acquire a filesystem lock. It uses SIL.Threading.GlobalMutex.Initialize() to do so, and SIL.Threading.GlobalMutex uses SIL.Threading.GlobalMutex.LinuxGlobalMutexAdapter.Init which in turn looks for the Mono.Posix.NETStandard assembly.
So we need to look at the SIL.Threading package and see if that can be converted to .NET Standard so as to not be looking for a Mono DLL.

Mono.Posix.NETStandard is used by SIL.Core and SIL.LCModel.Utils, both of which are .NET Standard. if we need to remove these, I can look into that

Looks like Mono.Posix is the older name, and the name has been changed to Mono.Unix: https://www.nuget.org/packages/Mono.Unix/7.1.0-final.1.21458.1
It might be necessary to update the .NET Standard versions of libpalaso to use Mono.Unix, or it might not. We'll find out, most likely.

According to this issue comment, the Mono.Posix package may not work in .NET 4.8, let alone .NET 6.0. We'll definitely want to look into moving to the Mono.Unix packages for this.

I've opened https://github.com/sillsdev/libpalaso/issues/1186 to track the necessary work in libpalaso for switching to Mono.Unix.

According to this issue comment, the Mono.Posix package may not work in .NET 4.8, let alone .NET 6.0. We'll definitely want to look into moving to the Mono.Unix packages for this.

This is interesting. In that comment he mentions the theoretical .NET Standard package being compatible, so I'm not fully convinced there's something inherently wrong with all Mono.Posix.NetStandard packages. I think we'll just have to make a local package and see if it works

So this morning I verified Mono.Posix.NETStandard works in a .NET6 environment, using the following simple program:
Consuming.zip
Now I'm not saying we shouldn't move away from it. I'm just saying there's something else going on with that exception

@rmunn have you tried dotnet build from the terminal? if i use that instead of pbuild.sh, i get past the FileNotFoundException. so there's some difference in how pbuild is setting things up and dotnet build

@rmunn a bit more progress on this, and maybe you can provide further guidance. i noticed the Mono.Posix.NETStandard structure was different between dotnet build and the 'pbuild.sh, so i copied the runtimes/ folder from dotnet build into the pbuild.sh version, and it got past the error.
runtimes/ has multiple copies of Mono.Posix.NETStandard, as well as a few other lib's, based on OS/architecture. the one we needed is from linux-x64. so how do we update the pbuild process to duplicate this runtimes/ structure? note this folder structure was required -- pasting the lib into the folder with the executable didn't help.

Haven't managed to look into this in-depth, but a quick look showed the lfmerge process running successfully (yay), but displaying the error message "Can't acquire file lock - is another instance running?" on first run (in a clean container where there is no lock file yet). This error message is only displayed when the SIL.IO.FileLock.SimpleFileLock class returns false from the TryAcquireLock() method. If there was no other lfmerge instance running, then failing to acquire the lock is usually indicative of some sort of failure in the Mono.Posix or Mono.Unix calls that are used to acquire the file lock.
In other words, the "Can't acquire file lock" error probably means that there's still more work to do before this is working, alas.

The error is from SimpleFileLock in SIL.Core. File.Create() for /var/run/ is throwing the exception with this new framework. This is probably a simple fix, but I'm not good enough with linux operations in C# yet to have figured it out

Commit abe050f fixes the permissions issue.

@rmunn  here's the exception i was seeing yesterday. obviously if that directory already exists, maybe from a .NET Framework run, no problem. i'm guessing my computer is a slightly cleaner test environment than yours

@rmunn here's the exception i was seeing yesterday. obviously if that directory already exists, maybe from a .NET Framework run, no problem. i'm guessing my computer is a slightly cleaner test environment than yours

Well you may be able to disregard this. with that path missing, running make doesn't throw that exception, and i'm assuming that's a good thing

We'll deploy this when #232 is deployed.


Symlink Files

Express' Connect will not send files that are symbolic links.
index.js - Line 721
fs.stat(path, function onstat (err, stat) {
Should be
fs.lstat(path, function onstat (err, stat) {

Hello,
Testing just now I am able to send a file that is a symlink just fine, as expected. fs.stat will return the stat of the file pointed to by the symlink, which is what is desired here, not to stat the symlink itself.
Perhaps you can provide a full reproduction case of the issue you're having so we can reproduce the failure you are experiencing?

I'll work on a test case that simplifies the scenario.  I'm on Windows - FS has/had some issues on Windows.

I am also on Windows, but didn't have any issue.

Closing due to no follow up.


Align reactivity support for Collection interfaces.

Documentation update following droolsjbpm/droolsjbpm-integration#754 .

Build successful! See generated HTML docs (may take a while till they are available):
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/216//artifact/docs/drools-docs/target/generated-docs/html_single/index.html
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/216//artifact/docs/jbpm-docs/target/generated-docs/html_single/index.html
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/216//artifact/docs/optaplanner-wb-es-docs//target/generated-docs/html_single/index.html

Build successful! See generated HTML docs (may take a while till they are available):
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/217//artifact/docs/drools-docs/target/generated-docs/html_single/index.html
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/217//artifact/docs/jbpm-docs/target/generated-docs/html_single/index.html
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/217//artifact/docs/optaplanner-wb-es-docs//target/generated-docs/html_single/index.html

Build successful! See generated HTML docs (may take a while till they are available):
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/218//artifact/docs/drools-docs/target/generated-docs/html_single/index.html
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/218//artifact/docs/jbpm-docs/target/generated-docs/html_single/index.html
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/218//artifact/docs/optaplanner-wb-es-docs//target/generated-docs/html_single/index.html

11:26:55 [INFO] ------------------------------------------------------------------------
11:26:55 [INFO] BUILD SUCCESS
11:26:55 [INFO] ------------------------------------------------------------------------
11:26:55 [INFO] Total time: 02:39 min (Wall Clock)
11:26:55 [INFO] Finished at: 2016-12-15T06:20:50-05:00
11:26:55 [INFO] Final Memory: 211M/784M
11:26:55 [INFO] ------------------------------------------------------------------------
11:26:56 Started calculate disk usage of build
11:26:56 Finished Calculation of disk usage of build in 0 seconds
11:26:56 ERROR: rhel7-medium-5454 is offline; cannot locate jdk1.8
11:26:56 ERROR: rhel7-medium-5454 is offline; cannot locate jdk1.8
11:26:56 Setting status of 4f1702b7fe4342ee88327d2ef0e330a01467d9f8 to FAILURE with url https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/kie-docs-pullrequests/219/ and message: 'Build finished. '


backend: expand api

Current dependencies on/for this PR:

main

PR #12   👈

This stack of pull requests is managed by Graphite.


License

Hi Sebastian!
Thanks for sharing your code, it is really helpful.
Would it be possible for you to add a license to your project so that it is clear whether or not it can be further copied/modified?
Thanks!!

Hi Guilherme,
sure, just added MIT. Thanks for reaching out!


android error

hello, I tried to use the parse function, it works very well in IOS but in Android I got an exception
Ios example:

Android example:

Hi- when calling parse you need to make sure the country code is present for the best result, or add it if it's missing. Also please try again on the latest version just published and let me know if you can get it working now.

@hennonoman any update?

Closing due to inactivity. If you still have this problem please open a new issue.


broken pywrapcp_test because of typo

I'm preparing a PR to integrate new developments on the Xpress interface (by RTE).
I am working by using your main branch.
While running the tests i found a broken one:
https://github.com/google/or-tools/blob/c00c6a65dd0b696295e71bf2645b88e3c61c1907/ortools/constraint_solver/python/pywrapcp_test.py#L880
Using  super().__init__(int_vars) instead of super.__init__(int_vars) fixes the test.

closed by d94a6a8984f60d578e988fccab81fdb070e6312b


Ontology Editor

Implement the ontology editor.
To create an ontology, add resources classes, add properties to a class, edit.

do-not-edit-start-codetree-epic-issues
Issues in this epic:

Title
Milestone
Assignees
Stage
State

 feat(ontology-editor): Add resource classes #63
2019-11
flavens, kilchenmann
stage/backlog
Open

do-not-edit-end-codetree-epic-issues

See DSP-69


Enhancement - Loading RecyclerView and Adapter when initiating calendar

Enhancement - Use callback for checking ready of RecyclerView and Adapter not using AsyncTask (>= JellyBean API level 16)
AsyncTask sometimes locked and delayed finalizing loading calendar especially when it try to load multiple times repeatedly.
I changed AsyncTask to call back method when recyclerview and adapter is ready. I fixed that problem with this, but it use GlobalLayoutListener which needs api level after Jelly Bean (16).
Thanks for great calendar library!

Hello @seyoonpark86
Thanks for your contribution, but while your method might be a little bit faster, there is 2 down sides to it:
1- it requires API 16
2- most importantly, it blocks the UI-Thread until HorizontalCalendar finishes initializing which might take some time when working with a big range of Dates! so the app will seem to appear as not responsive at that time.
Best Regards.


Update ContractLocalization.cfg

Chinese translation by QAQdong。Complete 100%

Thanks for these. Can you also help with translating a few lines for the 2 dependencies for CW+?
https://github.com/DMagic1/KSP_Contract_Parser/blob/master/GameData/DMagicUtilities/ContractParser/Localization/ContractParserLocalization.cfg
https://github.com/DMagic1/KSP_Progress_Parser/blob/master/GameData/DMagicUtilities/ProgressParser/Localization/ProgressParserLocalization.cfg

Thanks again, merged in version 8.1.


[core] Remove "transparent" option for plugins

We decided to remove the "transparent" option for plugin panels. This
means that all panels are now look more similar.
If you have developed an plugin which uses this option you have to
remove the property, so that your plugin is working with the latest
version of kobs.

[x] I added a CHANGELOG entry for this change.
[ ] I adjusted the corresponding documentation for this change.
[ ] I adjusted the values.yaml file and the documentation for all values.

Codecov Report

Merging #309 (43263fe) into main (e2eb43f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #309   +/-   ##
=======================================
  Coverage   44.80%   44.80%
=======================================
  Files          96       96
  Lines        8125     8125
=======================================
  Hits         3640     3640
  Misses       4453     4453
  Partials       32       32

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 e2eb43f...43263fe. Read the comment docs.


Cannot separate SObject metadata (fields, validationRules) into modules inside single package (sometimes)

Summary
When there are multiple folders for the same object, it is important in which of them the object's object-meta.xml file is placed. If it is in the first one (alphabetically), then all is well. If it is not though, then the below error appears during deployment. And the reason seems to be that the main object metadata is then "lost"
"Must specify a non-empty label for the CustomObject"
When using force source convert instead of deploy resuts show that generated CustomObject__c.object is missing the object level attributes when CustomObject__c.object-meta.xml was not placed in the alphabetically first module/folder. All fields or validation rules are present regardless of their placement. On the other hand when CustomObject__c.object-meta.xml is in the first one, all fields and validation rules as well as object level attributes are there and all is well.
More detailed description in this Stack Exchange question if needed
It seems somewhat similar to this existing issue. Though it's about the same xml file existing twice, while this is separate sub-parts of the object metadata coming from different folders (no duplication)
Steps To Reproduce
Reproduce issue [here](https://github.com/packocz/SObjectSeparation. Single package defined in sfdx-project.json)
3 different sub-modules inside this package. Each contains the same objects/CustomObject__c/ folder, one meant to define the object, 2 feature sub-modules add fields/validationRules. This only works if CustomObject__c.object-meta.xml is in the alphabetically first folder.

Move 1 of the Fields or Validation Rules into aa-package module and one into package1 module folders.
Ensure CustomObject__c.object-meta.xml is in main or package1
Deploy full force-app pacakge into any (empty) org >> produces error
Move CustomObject__c.object-meta.xml into aa-package module (regardless of fields or validation rules placement)
Deploy full force-app pacakge into any (empty) org >> works fine

Expected result
Package deploys with all expected custom Fields and Validation Rules
Actual result
Deploy fails with missing attributes that are actually defined in the source
System Information
zhs terminal
Mac OS 13.4
{
  "cliVersion": "sfdx-cli/7.205.6",
  "architecture": "darwin-x64",
  "nodeVersion": "node-v18.15.0",
  "osVersion": "Darwin 22.5.0",
  "shell": "zsh",
  "rootPath": "/Users/ales.remta/.local/share/sfdx/client/7.205.6-dfc6717",
  "pluginVersions": [
    "@dxatscale/sfpowerscripts 21.1.0 (user)",
    "@oclif/plugin-autocomplete 2.3.0 (core)",
    "@oclif/plugin-commands 2.2.15 (core)",
    "@oclif/plugin-help 5.2.9 (core)",
    "@oclif/plugin-not-found 2.3.24 (core)",
    "@oclif/plugin-plugins 3.1.2 (core)",
    "@oclif/plugin-search 0.0.17 (core)",
    "@oclif/plugin-update 3.1.17 (core)",
    "@oclif/plugin-version 1.3.4 (core)",
    "@oclif/plugin-warn-if-update-available 2.0.37 (core)",
    "@oclif/plugin-which 2.2.22 (core)",
    "@salesforce/lwc-dev-server 2.11.0 (user)",
    "apex 2.3.3 (core)",
    "auth 2.8.1 (core)",
    "community 2.3.1 (core)",
    "custom-metadata 2.1.25 (core)",
    "data 2.3.22 (core)",
    "deploy-retrieve 1.11.7 (core)",
    "info 2.6.19 (core)",
    "limits 2.3.18 (core)",
    "org 2.9.8 (core)",
    "packaging 1.19.0 (core)",
    "schema 2.3.12 (core)",
    "settings 1.4.11 (core)",
    "signups 1.4.21 (core)",
    "source 2.10.14 (core)",
    "telemetry 2.2.0 (core)",
    "templates 55.4.20 (core)",
    "trust 2.4.20 (core)",
    "user 2.3.17 (core)",
    "@salesforce/sfdx-plugin-lwc-test 1.0.2 (user)",
    "@salesforce/sfdx-scanner 3.13.0 (user)",
    "sfdx-cli 7.205.6 (core)",
    "sfdx-git-delta 5.22.0 (user)",
    "texei-sfdx-plugin 1.17.3 (user)"
  ]
}

Updated to latest version, same problem persists. (updated original post with new json version output)

Can you populate the repro repo?  It's empty https://github.com/packocz/SObjectSeparation

@mshanemc sorry, published now

@packocz I'm very confused on the repro steps.  Now that we have the repo, it has 4 mdapi-format directories .  What command are you running to deploy those together?

Or has your repo changed since the repro steps were written?

@mshanemc
the mdapi folder contains result of sfdx force source convert --sourcepath force-app when one of the Validation Rules OR the .object-meta.xml file being present in different sub folders of force-app
This is meant to demonstrate that the resulting .object is different depending on where the .object-meta.xml is
The deployment I tested with just sfdx force source deploy --sourcepath force-app

This could be a dangerous/challenging fix.  On the list

Adding my two cents that this is something impacting us as well.
Our use case is where a git submodule is used for a utility code that contains an object definition (with fields).
The parent repo adds additional fields, but if the name of the submodule folder is after the main folder alphabetically, the source generation does not include the object-meta.xml metadata.
Discovering that we can change the name is helpful, but means that we need to name things specifically for that purpose rather than in a more natural way. Underscore also is not evaluated before A, so we have to do something like "a_MY_SUBMODULE" instead of "_MY_SUBMODULE". It also means we need to try to communicate this quirk to everyone that wants to utilize the submodule.


ICACHE_RAM_ATTR needed

Hello,
I have tried several encoder libraries with interrupts on ESP8266  : yours is the only one really working :) Thanks for sharing.
It is fast, accurate and simple. The speed idea is great.
I use it with NodeMCU ESP8266 and KY-40 encoder, with 100nf capacitors to help debounce.
One issue though : recent versions of Arduino ESP8266 Core require to add the ICACHE_RAM_ATTR macro for ISR functions. Otherwise, the code compiles but crashes.
The fix is quite simple in your examples : void ICACHE_RAM_ATTR rotaryInterrupt()
It is a good practice.
Al

Thanks for your feedback. I had the same problem to find a reliable rotary library, so I developed it myself by combining several other projects. Please notice that I've two libraries: A full step and half step. The encoding is different and does not work when the wrong one is used.
I also noticed the ICACHE_RAM_ATTR for the ESP8266 and ESP32 interrupt service routines. Yes, it compiles but crashes.
At the moment I've no hardware to test this, but prepared a fix for you in InterruptFullStepBasic.ino:
#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)
ICACHE_RAM_ATTR
#endif
void rotaryInterrupt()

Can you test the change in the example above and let me know if this works? Then I'll update the other examples with the same construction.

I apologize for my late response. I'm refactoring and fixing my libraries and included this fix.


Add AWS Session Manager plugin to the dev container

$ curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
$ sudo dpkg -i session-manager-plugin.deb
$ rm -f session-manager-plugin.deb

Reference: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-debian-and-ubuntu.html
This plugin is required to execute commands like:
AWS_PROFILE=itsandbox-dev AWS_DEFAULT_REGION=us-east-1 aws ecs execute-command ...

you can accomplish this by setting enable_execute_command=True in the ecs.FargateService which we have already done in service_stack.py


String with delta operator not properly reset

Hello,
When decoding a string that has a delta operator, the returned variable is correct, until a reset happens. After the reset, all new values are the last value before reset concatenated with the most recent value.
Example:
Encode: TEST1
Encode: TEST2
Encode: TEST3
<< RESET >>
Encode: TEST4
Encode: TEST5
Encode: TEST6
<< RESET >>
Encode: TEST7
Encode: TEST8
Encode: TEST9
gets decoded to:
Decoded value: TEST1
Decoded value: TEST2
Decoded value: TEST3
<< RESET >>
Decoded value: TEST3TEST4
Decoded value: TEST3TEST5
Decoded value: TEST3TEST6
<< RESET >>
Decoded value: TEST3TEST6TEST7
Decoded value: TEST3TEST6TEST8
Decoded value: TEST3TEST6TEST9
Thanks!

Nevermind, my xml template didn't include the scp:reset="yes" field within my reset template.
Working fine now.


Update new storage destinations

There is a new sequence to add Diagnostics Settings on Monitor tool

close and reopen to try to force build to complete

@miguel-s-ferreira - In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just a few minutes: https://cla.microsoft.com/. Thank you.

closing per IM request from Miguel Ferreira

#please-close as it's a different sequence when configuring Diagnostic Settings from Azure Portal blade and from inside the Log Analytics workspace


separare server address from port in amp config file

Right now, we need to have:
serveraddress: <IP_ADDRESS>:8080
adminserveraddress: <IP_ADDRESS>:8081

in amp config file to make amp work, but the option --server in amp command update only the serveraddress
it seems better to have:
serveraddress: <IP_ADDRESS>
serverPort: 8080
adminPort: 8081

this way, update server using --server we change the address for both server and adminserver.
amp node ls --server xxx, will work, right now it doesn't, it needs an up to date config.
By the way --server is not really the server address, but the haproxy or cloud provider LB one

Good idea. There's already a Port key in the configuration file, I'm not sure if it is used, would be nice to remove it in the effort.
Btw, in my configuration the keys are PascalCased, not in lower case like in your description.

Yes, it's another issue, when you update configuration using 'amp cofnig' command, it's re-written all lowercase.


[Do Not Merge] Kubernetes Executor Rebased (candidate)

Make sure you have checked all steps below.
JIRA

[ ] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-XXX

Description

[ ] Here are some details about my PR, including screenshots of any UI changes:

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

[ ] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

Any updates? We are getting slowly to a 1.10 release and I know some ppl are really eager to try this out, like @Fokko .

@bolkedebruin I've recently been focusing on the Kubernetes Operator article (meeting with bloomberg's in-house tech writer with a completed first draft this Wednesday) so that should be ready for release soon.
WRT the executor, it's working on my local machine but it seems there are some minor issues with the travis build, so I'm going to investigate that tonight (hopefully it's a straightforward fix), but should have that fixed this week. If I can get the build fixed on travis, I would be glad to host a Q&A session to help early adopters get set up (or even just ask people to join kubernetes.slack.com where I can asynchronously answer questions).

Please refer to https://github.com/apache/incubator-airflow/pull/2414


Documentation for PolicyBrain needs update

The current instructions for PolicyBrain are outdated, especially the local development part. I'll work on revising it.

Thanks @GoFroggyRun

Yeah that's badly out of date. Thanks @GoFroggyRun

Closed via #702


Specberus Errors

I don't know where the problem is (Bikeshed, Specberus, Echidna, the spec, or the config?), so I'll write it here first.
When configuring "auto-publish" (to gh-pages and to /TR) for https://github.com/w3c/sensors , I ran into this problem:
    📡 Request: https://labs.w3.org/echidna/api/status?id=6b7f496c-80bf-4949-a21f-4050c8681e0a

  Specberus Errors:
    No stability warning paragraph.
      {
        name: 'sotd.stability',
        section: 'document-status',
        rule: 'stability'
      }
    Cannot find the paragraph introducing document type and publisher in Status of This Document.
      { name: 'sotd.publish', section: 'document-status', rule: 'publish' }
    The document must mention the governing process: 15 September 2020
      { name: 'sotd.process-document' }
    No “status of this document” introduction (eg absent, not using HTTPS, wrong copy).
      {
        name: 'sotd.supersedable',
        section: 'document-status',
        rule: 'boilerplateTRDoc'
      }
    No “status of this document” introduction link to TR (or perhaps not using HTTPS).
      {
        name: 'sotd.supersedable',
        section: 'document-status',
        rule: 'boilerplateTRDoc'
      }
    Unable to find the deliverer
      {
        name: 'sotd.group-homepage',
        section: 'document-status',
        rule: 'WGLink'
      }
    Required patent policy paragraph not found. Expected text related to patent policy requirements:
^This document was produced by a group operating under the( 15 September 2020| 1 August 2017)? W3C Patent Policy. ?W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.$

      { name: 'sotd.pp' }
    Retrieved "previous" and "latest" documents, but their contents don't match.
      { name: 'headers.dl', section: 'front-matter', rule: 'docIDFormat' }

  Details: https://labs.w3.org/echidna/api/status?id=6b7f496c-80bf-4949-a21f-4050c8681e0a
  💥 Echidna publish has failed.

I tried to generate a CRD using Bikeshed locally, but the stability warning paragraph was there.
The job was run in https://github.com/w3c/sensors/runs/2783645525 and the config file is here: https://github.com/w3c/sensors/blob/main/.github/workflows/auto-publish.yml

Does CRD require some additional metadata in Bikeshed?

I don't think so.

Did you run the same command locally as shown in the logs?

Yes. I ran bikeshed --die-on=fatal spec "index.bs" "index.bs.built.html" locally.
Is it possible that the Bikeshed in spec-prod is not the latest version? I sent a PR to Bikeshed recently: https://github.com/tabatkins/bikeshed/pull/2078

Does it make sense to pass a CR as "previous version" to CRD? (I'm yet to fully integrate the W3C publish process in the action)
--md-previous-version="https://www.w3.org/TR/2019/CR-generic-sensor-20191212/"

Do you mean in auto-publish.yml? If so, I may need to update this file frequently, which is cumbersome.

To confirm, I'll make following changes to the action:

add some additional debug logs, like printing python/bikeshed versions (#85)
upload built document as an artifact so it can be diagnosed later (#84)
and hopefully make some time for #3

Thank you!

I looked at the document generated by spec-prod (attached Generic Sensor API.zip) and the SOTD is missing all the required paragraphs.
After updating bikeshed, I tried to generate the snapshot locally using @sidvishnoi's command but it doesn't seem to take https://github.com/tabatkins/bikeshed/blob/main/bikeshed/boilerplate/dap/status-CRD.include and I'm also missing the paragraphs.
I suspect something's missing with how bikeshed handles CRD but I don't explain how @xfq is able to generate the right snapshot.

Do you know if bikeshed needs to be re-published to PyPI? spec-prod installs bikeshed using pip which doesn't include the latest commits: https://pypi.org/project/bikeshed/

I guess the possible reason for this issue is that I have been using the bleeding-edge tip-of-tree version of Bikeshed, but the latest released version does not include my recent commit.
I will ask if Tab can release a new version.

Bikeshed released a new version. I tried re-running the job and it still seems to have the same problem.

Filed https://github.com/tabatkins/bikeshed/pull/2086

This time, I don't think it's the same issue. I'm attaching the snapshot sent to Echidna (Generic Sensor API.zip).
Now, the only problem is the stability paragraph. Pubrules expects:
Publication as a Candidate Recommendation does not imply endorsement by the W3C Membership. A Candidate Recommendation Draft integrates changes from the previous Candidate Recommendation that the Working Group intends to include in a subsequent Candidate Recommendation Snapshot.

instead of
Publication as a Candidate Recommendation Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

Thanks, @deniak! Since this is a Bikeshed issue, I will close this issue and fix it in Bikeshed.


New format for next and next threshold in Establishment Events Enables Partial Rotation of all Rotation events

The new format for establishment events is defined here
https://hackmd.io/Tfm63kdnRdmGxcVgrne5Uw
Additional validation logic by multi-sig group members prior to signing.

Ensure that digest of next public key is included in next digest list, n field  before signing if the group member expects to be part of the next set of signers. Add a flag to the event signing method to indicate this expectation. A group member may willingly expect to be part of the next set of signers if they are transferring control of the identifier to someone else and would still sign. But if they are expecting to part of the next set of signers and their public key digest does not show up in the next list then it may a surreptitious  attempt to wrest control away from them and they should not sign.
Update UX/UI to display the result of this check prior to signing to allows signer to indicate willingness to sign in spite of no longer being included.

Additional validation logic for rotation event

Ensure that set of signatures satisfies both the previous next threshold nt from previous est event and the current key threshold kt of current rotation event being validated. Support for partial rotation means that prior nt and current kt do not have to be the same but must be both satisfiable. Prior nt must be satisfied by a subset of the public keys committed to in the prior n field list. Current kt must be satisfied by a superset composed of the prior nt satisfycing set combined with any additional needed public keys from current k.

Multi-sig group membership
There are two classes of members in a multi-sig group.
A)  Member of the current set of signing keys, i.e. public key in k field list
B)  Member of the next set of signing keys, i.e. public key in n field list
A Member may be in both A and B or in only one of A or B.  Membership in B means ultimate authority because only members of B may participate in the next rotation event which may change membership of both A and B. Membership only in A means current signing authority only  and no authority to rotate.
In addition a former Member may be thought of as having Alumni status once removed from a multi-sig group but no longer has any authority over the identifier controlled by the multi-sig group
The UX/UI for a given establishment event may want to indicate the group membership status and any proposed change in status prior to approving a new proposed establishment event.

Closed with PR #146


some extensions

discovery also works on windows

Thanks, that works.
What is the waitForNotify function for?

Do you need the reFriendlyName info, or is this just for debugging?

The waitForNotify function is to be notified, if the yamaha device was removed from power. If you call that function the callback is called when a notify messae ist send by the yamaha receiver 10-20 seconds after it gets back power. So you don't neet to try to reconnect when the yamaha device is powerless.

Can you please take care of the possibility to not catch request exceptions? My way was to use dontCatchRequestErrors. Otherwise the application will get a different exception because of a call to toString from a null object.

I added a catchRequestErrors flag, which is on true by default (dfd2982)
The waitForNotify seems more like a general purpose query and not something related to the yamaha discovery/api


Added User  Profile Section

Changes you made :

Added Profile Section

@Hegde2002 I appreciate your changes
But You have to follow the contributing guidelines
Plz mention the issue number, description of changes, ading some screenshots, and the checklist(which was there in previous template)
You can't avoid the PR format.


Readme faker-provider, potential bug

In this file https://github.com/hautelook/AliceBundle/blob/master/doc/faker-providers.md
app/config/services.yml

services:
    data_fixtures.provider.foo:
        class: AppBundle\DataFixtures\Faker\Provider\FooProvider
        tags: [ { name: nelmio_alice.faker.provider } ]

In SF4 if bundle is not active on prod, error because tag not exist. Maybe write a warning or write in service_test.yaml

Maybe the file path could be updated to match Symfony 4 when using Flex, could you do a PR for it?

Why not, but how do you want structure that? Some developers use always SF2 and 3. New files specifics to SF4 or update files with SF4 structure?

we could just do something like:
# <path to the file> in Sf4
...

# <path to the file> in Sf3
...

And I think we can forget about Sf2.


feat: ner search example

Idea is to showcase how you can employ NER within neural search.
Example change in results from test, from query being restaurants in San Francisco
    assert [m[0] for m in ner_results] == [
        'San Francisco cheap food\n',  # more important because matches both value and type of entity
        'Los Angeles cuisine\n',  # more imp. because it matches entity type
        'take-away in my city\n',
    ]
    print('basic results:')
    print(f'### {basic_results}')
    assert [m[0] for m in basic_results] == [
        'take-away in my city\n',
        'San Francisco cheap food\n',
        'Los Angeles cuisine\n',

I have mixed feelings about it and would love to see this in action (and finetuned) for one of our real-world examples. Following reasons:

finetuning factor_type_match and factor_full_match must be done with a lot of care and with each model, you can possibly use.

Yes, that's why they are parameters. You could use the Optimizer for this, right?

I wonder if a hard filtering (e.g. having additive changes to the score instead of multiplicative) would be easier to grasp for the user.

Could be another argument we can allow to the Ranker

I have mixed feelings about it and would love to see this in action (and finetuned) for one of our real-world examples. Following reasons:

finetuning factor_type_match and factor_full_match must be done with a lot of care and with each model, you can possibly use.

Yes, that's why they are parameters. You could use the Optimizer for this, right?

Yes, in principle that is true. We need to check how well that works, especially with changing a model at the same time.

I wonder if a hard filtering (e.g. having additive changes to the score instead of multiplicative) would be easier to grasp for the user.

Could be another argument we can allow to the Ranker

:+1:

Some more thoughts:

Please also commit the toy-data file.
Since this is "testing a new idea" and not an "user can learn from it directly" example, I'd suggest we move it into another repository, until we are certain, that we get quality results on a proper testset. From my understanding the example repo is for ready-to-use examples for our users.
Wherever we move this tryout example, I'd like to have it run on a bigger dataset including (!) an evaluation set. When we add such a feature, we do in order to improve the quality. For improving the quality, we need to measure it.
Once it is ready-to-use, the ranker should go into the hub. The rest of the code can go into examples and we can demonstrate via the evaluation data, how much quality gain we get over just normal ranking.

Since this is "testing a new idea" and not an "user can learn from it directly" example, I'd suggest we move it into another repository, until we are certain, that we get quality results on a proper testset. From my understanding the example repo is for ready-to-use examples for our users.

Yes please create your own repo for this for the moment. Once it reaches a level of quality that we are happy with then we move it here

Since this is "testing a new idea" and not an "user can learn from it directly" example, I'd suggest we move it into another repository, until we are certain, that we get quality results on a proper testset. From my understanding the example repo is for ready-to-use examples for our users.

Yes please create your own repo for this for the moment. Once it reaches a level of quality that we are happy with then we move it here

Sure thing

Moved to https://github.com/jina-ai/ner-search


[suggestion] Ability to filter katas in collections

It would be really useful to have an ability to filter katas in collection like you can in kata search (at least an option to filter the kyu of katas). It's kind of an annoyance to order them manually. :)

uh, I thought that they had this already?

@Soptinator I can only see an ability to filter the languages and I couldn't find the ability to filter the difficulty inside the collection.


Compilation Error

Dear Developers,
The current master-branch source code (until 09/14/2018) failed to pass compilation using VS2017 under Win10 X64. Most of the errors are C2491: 'identifier' : definition of dllimport function not allowed. Please help checking the codes, thanks!

I've identified the problem and I'll pull a simple fix to the build system later this evening that should fix it. Once it landed, let me know if you can build correctly with it.

@abgandar Now it can be built successfully and the new package works well. Thank you!


ci: add a workflow to check code format.

As the size of our project is increasing, it seems necessary to add an .editorconfig file to specify how the code should be formatted. Besides, a workflow is included in this PR to check the code format.
To ensure passing the check, the only thing needed to do is running the following command before the PR.
dotnet format

Personally I'm not a big fan of auto formatters, I'm of the opinion they're a good way to make sure you're formatting isn't bad but also a good way to ensure it is uniformly mediocre! Is it possible to add this in a "softer" way - e.g. generate warnings that are surfaced as part of CI, but aren't a hard failure?
As for the changeset itself, it's pretty huge and difficult to review! Can this be broken up into smaller PRs? e.g. apply it locally, and submit small groups of files with related changes. As an example, one thing I have avoided doing for a long time is replacing namespace X { } with namespace X; because that generates an enormous amount of noise in the change (touching every single line in every file).

TBH I'm not strongly pushing this changeset. It's okay for me to keep what the code was.

add this in a "softer" way - e.g. generate warnings that are surfaced as part of CI, but aren't a hard failure?

I prefer not using warning because most people seldom care the warning! I think we could disable the workflow but leave .editorconfig there to let user know what is the format configuration of our code (VS and Rider both support formatting on saving depending on .editorconfig). The .editorconfig in this PR was generated from format auto-detection of jetbrains Rider.

I think we could disable the workflow but leave .editorconfig there to let user know what is the format configuration of our code

Yeah I think this is a better way to go for now. That way we can submit smaller PRs over time to bring the overall codebase better in line with the config, and also adjust the config when it's wrong.