[TUBE8] Add functionality to extract more metadata (categories & tags)

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2<IP_ADDRESS>. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2<IP_ADDRESS>

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[x ] Feature request (request for a new functionality)
[x] Question
[x] Other

full verbose output as follows:
$ youtube-dl -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://www.tube8.com/amateur/faketaxi-playing-cowboys-and-indians-for-4th-july/31897341/']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2016.08.31
[debug] Python version 3.4.4 - Windows-10-10.0.10586
[debug] exe versions: none
[debug] Proxy map: {}
example URL:

Single video: http://www.tube8.com/amateur/faketaxi-playing-cowboys-and-indians-for-4th-july/31897341/

Description of your issue, suggested solution and other information
Metadata like "categories" and "tags" are not included when downloading videos from tube8.com.
This is most likely to be solved if 'categories': list, or 'tags': list, will be added to current extractor command.
thank you very much

You can use their hubtraffic.com to get a detailed CSV file and use youtube-dl to download videos only

I have Youtube-dl integrated in a CMS which does 99% of the work automatically, including assigning the categories/tags etc etc to related videos, so for me it is very important Youtube-dl includes the category and tags command :)


Fixes for Centos7 support

Fixes https://github.com/ubuntu/microk8s/issues/2181

Build runc in its own part and patch-elf it
Move a number of binaries into a patched-elf part
Add a centos7 test option (eg test-distro.sh images_centos-7 latest/edge latest/beta)

Got test-addons passing on 18.04 20.04 and centos7.


fix for #169

Codecov Report

Merging #170 (c5b7a61) into main (9c0f8e4) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #170   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           45        45
  Lines         4236      4211   -25
=========================================
- Hits          4236      4211   -25

Impacted Files
Coverage Δ

blacksheep/client/connection.py
100.00% <100.00%> (ø)

blacksheep/ranges.py
100.00% <0.00%> (ø)

blacksheep/client/cookies.py
100.00% <0.00%> (ø)

blacksheep/client/session.py
100.00% <0.00%> (ø)

blacksheep/server/routing.py
100.00% <0.00%> (ø)

blacksheep/server/openapi/ui.py
100.00% <0.00%> (ø)

blacksheep/server/openapi/v3.py
100.00% <0.00%> (ø)

blacksheep/server/normalization.py
100.00% <0.00%> (ø)

blacksheep/server/openapi/common.py
100.00% <0.00%> (ø)

blacksheep/server/openapi/docstrings.py
100.00% <0.00%> (ø)

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 9c0f8e4...c5b7a61. Read the comment docs.


swap where the module and the type show

I made it so that the type and where the module are swap, e.g. see top for old behaviour bottom for new [waiting on Loogle to return for demo photos].
It'd be nice if we could make the quickpick items bigger instead so we can see the whole type, but at least now hovering shows the whole type.

I agree it looks really nice for small theorems, but for bigger theorems the space would be sorely needed:

Not that the second is a million times better, sadly...

I think we need to figure out a way to get rid of all the binders, or expand the quickpick options to make them bigger

My understanding is that the vscode devs are dragging their feet over adding multiline descriptions and inputs: https://github.com/microsoft/vscode/issues/98098

that seems to be for input, as opposed to output, but I wouldn't be surprised if it was similar

In this case, we should probably make the display of type signatures optional with this PR. If people want to see it, they can keep it turned on. Otherwise the clutter becomes unbearable. As it is, the longer type signatures can only be seen on the tooltip. I suspect people on zulip will have opinions on this change. Maybe we should have a poll there (There are ~50 users of the extension so far).

I'm happy to talk about it on Zulip. I think the better option would be to show the statement with only explicit hypotheses before, whilst VSCode doesn't support multiline descriptions.

Awesome! About excluding implicits, the best place for that change would be in the backend since it is generated via lean metaprogramming.  It should not be difficult to add an extra field with implicits removed.

Yes, for sure. It would really be nice if quick-picks could be multiline, though.

I think we should have a zulip poll about this soon, before the christmas vacation period. At least for me, January is a particularly busy month.


Network Policies

https://kubernetes.io/docs/concepts/services-networking/network-policies/#behavior-of-to-and-from-selectors

There are four kinds of selectors that can be specified in an ingress from section or egress to section.

But only three are listed：

podSelector
namespaceSelector
ipBlock

And Kubernetes explain is also these three.
kiosk@k8s-master:~$ k explain networkpolicy.spec.ingress.from
KIND:     NetworkPolicy
VERSION:  networking.k8s.io/v1

RESOURCE: from <[]Object>

DESCRIPTION:
     List of sources which should be able to access the pods selected for this
     rule. Items in this list are combined using a logical OR operation. If this
     field is empty or missing, this rule matches all sources (traffic not
     restricted by source). If this field is present and contains at least one
     item, this rule allows traffic only if the traffic matches at least one
     item in the from list.

     NetworkPolicyPeer describes a peer to allow traffic to/from. Only certain
     combinations of fields are allowed

FIELDS:
   ipBlock      <Object>
     IPBlock defines policy on a particular IPBlock. If this field is set then
     neither of the other fields can be.

   namespaceSelector    <Object>
     Selects Namespaces using cluster-scoped labels. This field follows standard
     label selector semantics; if present but empty, it selects all namespaces.

     If PodSelector is also set, then the NetworkPolicyPeer as a whole selects
     the Pods matching PodSelector in the Namespaces selected by
     NamespaceSelector. Otherwise it selects all Pods in the Namespaces selected
     by NamespaceSelector.

   podSelector  <Object>
     This is a label selector which selects Pods. This field follows standard
     label selector semantics; if present but empty, it selects all pods.

     If NamespaceSelector is also set, then the NetworkPolicyPeer as a whole
     selects the Pods matching PodSelector in the Namespaces selected by
     NamespaceSelector. Otherwise it selects the Pods matching PodSelector in
     the policy's own Namespace.

kiosk@k8s-master:~$

What's the fourth one?

/language en
/sig docs

@choshitautetsu I think these three selectors are correct. Saying four kinds could be incorrect.
WDYT?

yeah, so https://kubernetes.io/docs/concepts/services-networking/network-policies/#behavior-of-to-and-from-selectors saying

There are four kinds of selectors that can be specified in an ingress from section or egress to section.

should be change to

There are three kinds of selectors that can be specified in an ingress from section or egress to section.

Given that there are only this three kinds of selectors.

Page related to the issue: https://kubernetes.io/docs/concepts/services-networking/network-policies
/retitle Improper count of Ingress/Egress NetworkPolicy selectors on the Network Policies page

Hi, I would like to resolve this issue 😃

Sure, How can i help you

Sure, How can i help you

Can I work on this😀

Hi @sambhavgupta0705 you can assign this issue by commenting  assign followed by "/"

/assign

@choshitautetsu As we can see and also the comment says there are four kinds of selectors listed.

I think this issue is invalid and could be closed now

/close


add ut cases for package gcode

Codecov Report
Base: 78.17% // Head: 78.15% // Decreases project coverage by -0.02% :warning:

Coverage data is based on head (9558a88) compared to base (14d2d74).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2307      +/-   ##
==========================================
- Coverage   78.17%   78.15%   -0.03%
==========================================
  Files         584      584
  Lines       48535    48535
==========================================
- Hits        37942    37932      -10
- Misses       8579     8586       +7
- Partials     2014     2017       +3

Flag
Coverage Δ

go-1.15-386
78.19% <ø> (+0.01%)
:arrow_up:

go-1.15-amd64
78.17% <ø> (+<0.01%)
:arrow_up:

go-1.16-386
?

go-1.16-amd64
78.17% <ø> (+0.01%)
:arrow_up:

go-1.17-386
?

go-1.17-amd64
78.19% <ø> (ø)

go-1.18-386
?

go-1.18-amd64
78.11% <ø> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

os/gcache/gcache_adapter_memory_lru.go
89.13% <0.00%> (-8.70%)
:arrow_down:

os/gfpool/gfpool_file.go
65.71% <0.00%> (-2.86%)
:arrow_down:

os/gfsnotify/gfsnotify_watcher_loop.go
83.19% <0.00%> (-1.69%)
:arrow_down:

os/glog/glog_logger_rotate.go
63.34% <0.00%> (-1.36%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Pruning model

Hi,
I've made some analysis, investigating whether some layers in DeepCut are redundant.  There are some big layers that we can remove while DeepCut's tokenization performance drops slightly.
Having this result, you might consider pruning or doing quantisation to the model. As a result, DeepCut will become smaller and (hopefully) faster.
Please find more information in this notebook.

Nice one! I think it looks really good. Do you want to make the PR and potentially the trained model to the repository? However, we might have to change the structure of the library a bit from import deepcut; deepcut.tokenize(...) so that we allow a user to import different (shrink) version of the model.
P.S. We also have the version training using MobileNet available here: https://rkcosmos.github.io/deepcut/. I haven't tested the performance of it tho.

Hi,
Thanks for the comment.  I personally think th shrieked model would run faster than the original one but not much. Actually, I think the majority component that significantly drags DeepCut's performance is the way input features are prepared.  According to https://github.com/rkcosmos/deepcut/blob/master/deepcut/train.py#L107, the implementation transposes the sequence of characters in each line to become rows. IMHO, we would gain more speed if we reimplement the feature processing by convolving directly on each line directly.

@heytitle totally agree on this. The training part can be much much faster without transforming to a dataframe. However, in the prediction part, we have this function to transform input text to features. For the text with small/medium length, it seems to work perfectly fine.
The bottleneck is probably really coming from the prediction part here which can speed up a lot faster?

Hi,
I won't be able to make a PR for fixing this issue. However, Hacktoberfest 2020 is coming in October. Maybe we can create an issue and possibly tag it with a theme tag, i.e. hacktoberfest?

@heytitle, should I refer this issue to an analysis provided in attacut? Maybe you can update the documentation on deepcut performance and size of the model etc. etc.

Can we run the notebook provided above to see the performance of deepcut 0.7.0 (on TensorFlow 2.0)? @kittinan

I'll just close this one but I will keep performance/speed issue in the back of my head.


add Chinese translation of instructions

Wow that was fast!

I forgot to add this in earlier PR. It is the last row for full Chinese translation coverage
"instruction-translations": "Instruction Translations",


Proposal: Pluggable AuthN/AuthZ

Business Background and Requirements

we need flexibility because we assume every enterprise company has a slightly different Identity/Auth setup
we want to be compatible with (and prefer) standards and best practices, but at the same time allow highly-customized solutions as well
we assume different users have different needs for

Authentication: LDAP, OAuth2, simple basic Auth...
Authorization: smaller setups require something as simple as "every authenticated user can view, some people can write". More complex setup will require a very fine-graid auth "users of group foo can read a.b.c and a.b.e, but not a.b.d, but can write only a.b.e

Proposed Solution
tl;dr:

both Authentication (AuthN) and Authorization (AuthZ) are fully pluggable
we'll start with very simple "plugins" like

No Auth (for AuthN)
Basic Auth with fixed config (for AuthN)
Every Authenticated user is authorzied (for AuthZ)
etc.

we will extend it with more elaborate plugins like OAuth2/OpenIDConnect (for AuthN) and Role-Based-Access (RBAC) for AuthZ later
there is a minimal interface between AuthN and AuthZ to reduce coupling
overall inspired by Kubernetes, especially plugin "Role Based Access Control"

Architectural Components, Boundaries and Interfaces

The following components are available (also see diagram)
Incoming Request
Any request that comes in from the outside (wether it's REST or GraphQL) will go through both the Authentication and Authorization middleware.
Authentication Middleware (fixed, not pluggable)

The first middleware to be called. It receives the whole request.
It calls the Authentication plugin with  request *http.Request
It receives authenticated bool, authInfo AuthInfo
if it received authenticated == false, it aborts the request, returns a response with HTTP Status 401
it received authenticated == true, it continues by calling the next middleware, the Authorization middleware with authInfo AuthInfo

Authentication Plugin

has access to the full request (`*http.Request)
decides based on configuration and the request whether the user is authenticated
MUST extract a username string
SHOULD extract a group string
CAN extract additionalData interface{}
MUST return authenticated bool, authInfo{ username, group, additionalData}

Authorization Middleware (fixed, not pluggable)

is called by the Authentication Middleware
only if Authentication was successful
It calls the Authorization plugin with authInfo, resourcePath string, action string
It receives authorized bool, err error
if it received authorized == false, it aborts the request, returns a response with HTTP Status 403 and includes the error message, .e.g. User<EMAIL_ADDRESS>does not have permission to READ Things.City
it received authorized == true, it continues with the intended action.

Authorization Plugin

has access to everything the Authentication Plugin extracted, i.e. authInfo{ username, group, additionalData}
has access to a description of the desired resource and the desired action, i.e. READ Local.Things.Cities
MUST decide based on available info and configuration whether the user is authorized to perform the desired action

Original Request Handler

unchanged, only called if both Authentication and Authorization were successful

Proposed Connectors
Authentication
Anonymous Access
If this plugin is activated every single request will be authenticated as user anonymous in group anonymous. Should be combined with an AuthZ plugin that gives anonymous some rights.
Basic Auth
If this plugin is activated every single request will be asked for a username and password. This will be validated against a configuration file. It will store plain-text passwords and is considered a simple tool to get started, but not a fully secure solution. Will resolve with the username and map this user to a preconfigured group. A configuration file for this plugin could look like
user,group,password
johndoe,admin,s3cr3tp4$$w0rd

OpenID connect
Expects a JWT to be sent as part of the request headers. Validates it against the token issuer specified in the configuration. Extracts subject (or other configurable field) as username, tries to extract a group if set in the token.
A possible configuration for this plugin could look like
# openid-config.yml
issuer: http://my-identity-provider.com
audience: my-weaviate
usernameClaim: sub
groupClaim: group

Authorization
Anonymous Plugin
A plugin with very few configuration options, can be set to either give users of the group anonymous full access or read-only access.
Simple Matrix (similar to RBAC, but more primitive)
A plugin that can map authenticated users or groups to allowed actions, but not configurable at runtime. Configuration could look something like
# matrix-auth.yml
- username<EMAIL_ADDRESS>  resourcePath: ["Things", "City"]
  actions: ["read", "write"]
- group: anonymous
  resourcePath: ["Actions", "*"]
  actions: ["read"]

Explanation:

JohnDoe can read and write all Things.City, but cannot read or write any other Thing or Action
Users in the group anonymous can read all Actions, but not write any. They can't read or write Things

RBAC
Same as Matrix, but configurable at runtime through API
Potential delivery Roadmap

Remove current Key-based system
Start with making the authentication pluggable, but ignore AuthZ. As part of this build the most simple authenticator, such as "Anonymous Access"
Add another simple authenticator, such as "Basic Auth"
Make Authorization pluggable, start with very simple authorizer, such as "Anonymous Access"
Slowly implement Matrix Plugin (can in turn happen in many iterations)
Replace Matrix Plugin with full RBAC solution that can be configured via API

Some thoughts @etiennedi,

Maybe it is smart to remove the key-based system asap. This allows people to use Weaviate asap.
I'm all for the proposed setup.
We have different authentication for P2P nodes.

Considering the major building blocks of this proposal accepted. Details can be ironed out down the line. Therefore closing this issue and opening two new issues to reflect Authentication and Authorization.


Forward merge to master

Thank you for your submission! Like many open source projects, we ask that you sign our CLA (Contributor License Agreement) before we can accept your contribution. If your email is listed below, please ensure that you sign the CLA with the same email address. **The following users still need to sign our<EMAIL_ADDRESS>Already signed the CLA? To re-check, try refreshing the page.

The CLA is signed. The message relates to previous commits which didn't synchronize after signing


how to switch runtime in swarm mode? Or connect Docker daemon at unix:///var/run/docker.sock

hi,
I have 2 containers with sysbox running containers inside.
So to do to work with sysbox-runc runtime, I changed my daemon.json like below:
$ cat /etc/docker/daemon.json
{
    "default-runtime": "sysbox-runc",
    "runtimes": {
        "sysbox-runc": {
            "path": "/usr/bin/sysbox-runc"
        }
    },
    "userns-remap": "sysbox",
    "bip": "<IP_ADDRESS>/16",
    "default-address-pools": [
        {
            "base": "<IP_ADDRESS>/16",
            "size": 24
        }
    ]
}

But My other containers (portainer and traefik) that was running normally without sysbox-runc, is not working now. They run but with this warning:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Both have volumes like:
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

So, I'm not getting a way to put something like runtime: runc or runtime: sysbox-runc to change the default-runtime of the daemon.json. Or  maybe another method to connect the docker.sock of both. A specie of a bypass to sysbox to some containers or the other way around.
All are in swarm mode.
best regards

In fact, I don't think there's a way to do that. I think if you change it to sysbox-runc it stays in all Docker anyway.
I got add the connection with a docker proxy from a normal container (not swarm) from project tecnativa/docker-socket-proxy using a bridge network and privileged: true and userns_mode: host
That's it. Solved. Thanks.

Hi @antonio24073,

In fact, I don't think there's a way to do that.

Correct, I believe that Docker swarm lacks the ability to select the runtime per container (at least when using the Docker compose v3 schema; apparently earlier versions of the schema supported it). Thus you have to set "default-runtime": "sysbox-runc", in your Docker daemon.json file as you did.

"userns-remap": "sysbox",

You should not need this when using Sysbox, because Sysbox will automatically enable the user-namespace in the containers. Nonetheless "userns-remap" works, but it's not required.

But My other containers (portainer and traefik) that was running normally without sysbox-runc, is not working now. They run but with this warning:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

That's strange; mounting a Docker socket into a Sysbox container works perfectly fine:
$ docker run --runtime=sysbox-runc -it --rm -v /var/run/docker.sock:/var/run/docker.sock docker:cli

/ # docker version
Client:
 Version:           27.1.1
 API version:       1.46
 Go version:        go1.21.12
 Git commit:        6312585
 Built:             Tue Jul 23 19:55:52 2024
 OS/Arch:           linux/amd64
 Context:           default

You should not need this when using Sysbox, because Sysbox will automatically enable the user-namespace in the containers. Nonetheless "userns-remap" works, but it's not required.

I don' t remember but here "userns-remap" was needed.

That's strange; mounting a Docker socket into a Sysbox container works perfectly fine

They are in docker swarm. I said that I had 2 containers with sysbox running containers inside. I did a simple container as you but with "runtime: runc" with a proxy of  "docker.sock" to get it with a bridged network inside the swarm node. But in the swarm only the runtime "sysbox-runc" works.

I removed "userns-remap". Apparently all right.
I'm using normal containers as runc or sysbox-runc and the swarm with the default sysbox-runc.
But this feature (switch runtime in docker swarm) could be added in future versions.


Rebase workflow fails because of branch protection

Since Sep 16, the rebase workflow fails to push. I think you may need to disable branch protection on GitHub UI for it to work again:
 Successfully rebased and updated refs/heads/fork-release.
remote: error: GH006: Protected branch update failed for refs/heads/fork-release.
remote: error: Changes must be made through a pull request.
To https://github.com/un-es/eslint-plugin-i
 ! [remote rejected] fork-release -> fork-release (protected branch hook declined)
error: failed to push some refs to 'https://github.com/un-es/eslint-plugin-i'

Thanks, I've just updated the branch settings and triggered a retry with success.


⚠ Bofrost.fr has degraded performance

In 77193fa, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1859 ms

Resolved: Bofrost.fr performance has improved in 7d9f775.


cargo-autoinherit: Init 0.1.4

Description of changes
Add cargo-autoinherit

A Cargo subcommand to automatically DRY up your Cargo.toml manifests in a workspace.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Closed by https://github.com/NixOS/nixpkgs/pull/299925


i have issue with combo box using form_dropdown codeigniter and jquery ajax when i disable file bootstrap-select.js, this combo box works fine but if  i enable this combo box seems works not fine

This disable bootstrap-select.js

and this enable bootstrap-select.js
Thank you

Hi, any solution for this?


Stuck on loading profile[Bug]:

Operating System
Windows 11
BG3 Mod Manager Version
<IP_ADDRESS>
BG3 Game Version
Latest
Bug Summary
I downloaded the mods on Vortex. Then, I downloaded the mod manager and it got stuck like this. No matter what I do it doesn't go through this loading phase.

Links
No response

Hiya, I know this is an old post but google brought me here, so as much as anything probably for me in the future;
I had a similar issue where it was stuck on building mod order list - I copied over everything from the BG3 Mod Manager folder and then extracted the zip and overwrote all the files, once it would open/load I just overwrote the files with the original ones, and that appears to have sorted it for me (and hopefully it will work again in six months when I have to google it again haha!) :)

Having the same issue, but reinstalling does nothing.

Having this issue right now as well. Works on one machine, but not on the other. Reinstalling also did nothing.

Doesn't work for me.

Doesn't work for me.

That's because your problem is likely related to Patch 7: https://github.com/LaughingLeader/BG3ModManager/issues/353

Doesn't work for me.

That's because your problem is likely related to Patch 7: #353

Ah, you're right, thank you!


autopilot: check if already connected before returning error

This commit fixes a small bug that could cause us to disconnect an
already connected peer if no addresses where provided to the ConnectPeer
method. Now we instead first check if we are already connected, and
return early.

Fixed by #1694.


error in property_prompts of MTD

property_prompts in mtd_parameters.py has the key of 'ksdd2', which is another dataset.

Hello! Currently, it's just a placeholder with no impact on performance. I plan to update the name for better consistency. Thank you for your understanding.


Make it easier to re-use parameter config

Problem statement
I have several endpoints that have very similar urls (GET, PUT, DELETE) all have an id in the URL.  These calls all accept different parameters in the body though.  I would like to specify the URL/in path parameters separately from the body and/or header parameters.

I just noticed that parameters can be references: http://swagger.io/specification/#parametersDefinitionsObject
Which fits nicely with this issue.  Here is an example of it being used: https://portal.victorops.com/public/api-docs/victorops-api-v1.yaml

You can already reuse parameters, that captures this case
I think this is answered by: https://github.com/go-swagger/go-swagger/issues/782#issuecomment-266334244

Thanks!  I didn't realize the parameters structs joined together.  (Also, I hadn't found this doc yet https://godoc.org/github.com/go-swagger/go-swagger/scan until I grepped for the comment in the #782 comment, I've been using examples up until now).
Anyways, this works really well!  I still have a request though, which I think falls more under #782.  It believe in many cases, it would be more intuitive if the route could point to several swagger:parameters, than if several swagger:parameters pointed to the same route.  I will follow up there.


Update config.json of HTMLPictureElement

http://caniuse.com/#search=picture

Android 5 or higher use Chrome via WebView. You can see it by hovering the cursor over Android versions on that site. Probably those are Chrome versions. So I think we need to set <5 when Chrome versions are displayed as Android versions. Also see #867.

Right, but I think that in Android >=5, the webviews identify themselves as android/<chrome_version_number> not an android version number.

I don't know how Android 5 actually behaves because I don't have that one. Can I see actual results in Android 5 like android/51?

Yes, I think so, but I don't have a handset handy either.  Can I ask what problem are you trying to solve here?

At least, this pr will solve confusing of version schemas. I cannot know about which schema I should use. So we should have consistency of version schemas and shouldn't mix the different schemas like Android and Chrome.

The problem is we don't define the version scheme here - we get the version numbers from the ua-parser project, and they continued the android browser sequence with the chrome versions when Google switched to using Chrome.  So I think it's correct for us to jump from 4.4 to the chrome numbers,

I think then we need to update android versions in all config.json if that android version is 5 or higher. Will  we do that?

@falsandtru We can do that. SauceLabs has Android 5.1 available for use, what is it you want to test?

Thanks, I fixed it.

Thanks, rerunning tests.

Looks like CI failed because of the missing Edge variant.  I think we updated those defs on master, so I pulled from master and am rerunning CI


Support Multiple google accounts

I have two different gmail accounts that I would like to login with.

Agreed. Great app. Would love support of mulitple google logins.

we already talked about this. It require quite some effort but it's interesting.

This is a duplicate of https://github.com/yakyak/yakyak/issues/13

closing as duplicate


Different behavior between tf.experimental.numpy.(v/h/d)split and np.(v/h/d)split

Click to expand!
Issue Type
Bug
Source
binary
Tensorflow Version
tf 2.8
Custom Code
Yes
OS Platform and Distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
I expected Tensorflow to throw a similar exception (ValueError: array split does not result in an equal division) as Numpy on invoking the experimental.numpy.*split functions (e.g. tf.experimental.numpy.dsplit, tf.experimental.numpy.hsplit, tf.experimental.numpy.vsplit),
but currently, Tensorflow consumes all RAM and crashes.
I wonder if Tensorflow should perform the validation checks in the same order as numpy (i.e., detect the invalid array split first)?
Standalone code to reproduce the issue
Here's a colab notebook: https://colab.research.google.com/drive/1zyOtnyGi9KgZLskYc4SRCB74fV73rnyU?usp=sharing
import tensorflow as tf
import numpy as np

x = np.arange(16.0)
tf.experimental.numpy.dsplit(ary=x,indices_or_sections=256000000)  # crashes

# In contrast,
np.dsplit(ary=np.arange(16.0),indices_or_sections=128000000) # doesn't crash, but throws an exception instead. This is the expected behavior

Relevant log output
No response

@gowthamkpr I was able to replicate the issue on colab using TF v2.8.0 and tf-nightly ,please find the attached gist  for reference.Thanks!

Thanks for reporting bug, PR has been submitted internally, on successful merge, this issue will be closed automatically.


G4NRF::AssignMultiPoles Error Running with MPI

When running with MPI I get the following error:
33:ERROR in G4NRF::AssignMultipoles.
33:Unexpected value of Gamma_num_mult:  3
33:Aborting.
33:WARNING - Attempt to delete the physical volume store while geometry closed !
33:WARNING - Attempt to delete the logical volume store while geometry closed !
33:WARNING - Attempt to delete the solid store while geometry closed !
33:WARNING - Attempt to delete the region store while geometry closed !
I wasn't getting this error when only running on one core but now running with MPI I am consistently getting this error.
Fatal error in PMPI_Comm_dup: Unknown error class, error stack:
PMPI_Comm_dup(179)..................: MPI_Comm_dup(comm=0x84000004, new_comm=0x7fffffffb668) failed
PMPI_Comm_dup(164)..................:
MPIR_Comm_dup_impl(57)..............:
MPII_Comm_copy(571).................:
MPIR_Get_contextid_sparse_group(495):
MPIR_Allreduce_impl(293)............:
MPIR_Allreduce_intra_auto(178)......:
MPIR_Allreduce_intra_auto(84).......:
MPIR_Bcast_impl(310)................:
MPIR_Bcast_intra_auto(223)..........:
MPIR_Bcast_intra_binomial(182)......: Failure during collective
Fatal error in PMPI_Comm_dup: Unknown error class, error stack:
PMPI_Comm_dup(179)..................: MPI_Com
Areg said you have ran with MPI before so I was wondering if you've ran into this error before?

I removed MPI pretty quickly in everything I worked on. There was no reason jobs needed to talk to each other and hence no need for the full power of MPI. I just ran independent jobs with different random seeds and output files, then tallied up the results at the end in postprocessing.

@jacobbickus mind if I close this?

Yes, thanks again for the quick response!

Jake

On Mon, Oct 19, 2020 at 1:49 PM jvavrek<EMAIL_ADDRESS>wrote:

@jacobbickus https://github.com/jacobbickus mind if I close this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jvavrek/NIMB2018/issues/3#issuecomment-712334078, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOZUV67SNALPJCBDFUWLENDSLR34HANCNFSM4STUEP4A
.

--
Very Respectfully,
Jacob E Bickus
2LT, US Army
Lincoln Laboratory Military Fellow
MIT, Graduate Student
Cell:<PHONE_NUMBER>

Great, thanks. Just a heads-up, your replies by email include your cell number, in case you don't want that on a public forum.


provide a Cargo.lock for libsql-server

Hey,
when packaging libsql for Linux Distributions, It would help a lot when the tags or anywhere have a Cargo.lock file. So we can reproducible build libsql

never mind i can use the root Cargo.lock


⚠ Carson Living API has degraded performance

In 87b7e02, Carson Living API (https://api.carson.live/api/v1.4.11/auth/login/) experienced degraded performance:

HTTP code: 200
Response time: 21746 ms

Resolved: Carson Living API performance has improved in c22f3b5.


'HttpUtility' is an ambiguous reference

Hey guys,
I've started to try out the EdgeGap service with Unity. I was following the tutorial about integrating Unity plugin. During the adding the package (https://github.com/edgegap/edgegap-unity-plugin.git) Unity threw the exception (see the screenshot):

"Library\PackageCache\com.edgegap.unity-servers-plugin\Editor\EdgegapWindowV2.cs(1645,38): error CS0104: 'HttpUtility' is an ambiguous reference between 'Edgegap.Codice.Utils.HttpUtility' and 'System.Web.HttpUtility'"

Also, the tab 'Tools' doesn't appear.
Unity version: Unity 6 (6000.0.27f1)
EdgeGap plugin version: 3.0.1
Thank you in advance

Doesn't matter which package you'll use to solve this ambiguity, (Edgegap.Codice.Utils.* or  System.Web.*) e.g., on the screenshot.

after this Unity will go into the infinite importing

hi @VirtualMaestro we've made some updates and can't reproduce your issue anymore, could you please check and confirm if this is resolved on your end?


[v4]: Virtual scroll + infinite scroll not working

Bug Report
Ionic Info
Run ionic info from a terminal/cmd prompt and paste the output below.
Ionic:

   ionic (Ionic CLI)          : 4.0.0 (/usr/local/lib/node_modules/ionic)
   Ionic Framework            : @ionic/angular 4.0.0-beta.0
   @angular-devkit/core       : 0.7.0-rc.3
   @angular-devkit/schematics : 0.7.0-rc.3
   @angular/cli               : 6.0.8
   @ionic/ng-toolkit          : 1.0.0
   @ionic/schematics-angular  : 1.0.0

System:

   NodeJS : v10.6.0 (/usr/local/bin/node)
   npm    : 6.1.0
   OS     : macOS High Sierra

Describe the Bug
Trying to have an infinite scroll along with virtual scroll. After loading additional data, the virtual scrol is unable to scroll further and it stops with the initially loaded data. new data is not getting appended. Tried the same code without virtual scroll, it worked as expected.
Steps to Reproduce
Related Code
<ion-content padding>

  <ion-virtual-scroll [items]="data" approxItemHeight="320px">
    <ion-card *virtualItem="let item; let itemBounds = bounds;">
      <ion-card-header>
        <ion-card-title>{{ item }}</ion-card-title>
      </ion-card-header>
    </ion-card>
  </ion-virtual-scroll>

  <ion-infinite-scroll (ionInfinite)="doInfinite($event)">
    <ion-infinite-scroll-content></ion-infinite-scroll-content>
  </ion-infinite-scroll>

</ion-content>

Angular code
import { Component,ViewChild } from '@angular/core';
import {InfiniteScroll} from '@ionic/angular'

export class HomePage {
  @ViewChild(InfiniteScroll) infiniteScroll: InfiniteScroll;
   data = [];

  doInfinite(event) {
    console.log("loadData came");
    setTimeout(function() {
      let start = this.data.length;
      let end = this.data.length + 10 ;
      console.log("start: ",start,"end: ",end);
      for(let i=start;i<end;i++){
        this.data.push(i+1);
      }
      console.log('Done');
      event.target.complete();
    }.bind(this), 2000);
  }
}

Expected Behavior
expected scrolling with new appended items.
Additional Context
List any other information that is relevant to your issue. Stack traces, related issues, suggestions on how to fix, Stack Overflow links, forum links, screenshots, OS if applicable, etc.

It seems like VirtualScroll doesn't currently update the height of the virtual list when the data set is changed, hence no ability to scroll beyond the initial data set.  This is a virtual scroll specific problem and not related to infinite scroll or the combination.
To try it you can just create a simple array with enough items to fill more than the screen height, display it as a virtual scroll list and on a timer add new items to the end of the array.  You can't scroll past more than the height of the original items.

@manucorporat this is still present in Beta12

I've slightly modified above code and its working fine for me:

preloading data within the constructor
calling checkEnd() on IonVirtualScroll element after new data has been pushed

import { Component, ViewChild } from '@angular/core';
import { IonInfiniteScroll, IonVirtualScroll } from '@ionic/angular';

@Component({
  selector: 'app-home',
  template: `
    <ion-content padding>
      <ion-virtual-scroll [items]="data" approxItemHeight="320px">
        <ion-card *virtualItem="let item; let itemBounds = bounds;">
          <ion-card-header>
            <ion-card-title>{{ item }}</ion-card-title>
          </ion-card-header>
        </ion-card>
      </ion-virtual-scroll>

      <ion-infinite-scroll (ionInfinite)="doInfinite($event)">
        <ion-infinite-scroll-content></ion-infinite-scroll-content>
      </ion-infinite-scroll>
    </ion-content>
  `
})
export class HomePage {

  @ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;
  @ViewChild(IonVirtualScroll) virtualScroll: IonVirtualScroll;
  data = [];

  constructor( ) {
    // prefill list with data
    this.doInfinite(null);
  }

  doInfinite(event) {
    console.log('loadData came');
    setTimeout(() => {
      const start = this.data.length;
      const end = this.data.length + 20;
      console.log('start: ', start, 'end: ', end);
      for (let i = start; i < end; i++) {
        this.data.push(i + 1);
      }
      console.log('Done', this.data);
      this.virtualScroll.checkEnd();
      this.infiniteScroll.complete();
    }, 2000);
  }
}

@felly your code should be the example text in the docs it works well.

Did something change?
I tried to use  this.virtualScroll.checkEnd(); but with no luck.
Fortunately there is no need for that.
I have this in my component:
`

<ion-virtual-scroll [items]="loadedPatients$ | async" approxItemHeight="40px">
<ion-item *virtualItem="let item">
{{ item.first_name }} {{ item.middle_name }} {{ item.last_name }}

  <ion-infinite-scroll threshold="100px" (ionInfinite)="loadData($event)">
    <ion-infinite-scroll-content
      loadingSpinner="bubbles"
      loadingText="Loading more data...">
    </ion-infinite-scroll-content>
  </ion-infinite-scroll>
</ion-card-content>

`
I am using the async pipe because the items are loaded from NgRx store like this:     this.loadedPatients$ = this.store.pipe(select(fromPatient.getAllPatients));
Data is loaded like this:
loadData(event) {     this.store.dispatch(PatientsActions.loadMorePatients({         sort: 'first_name.middle_name.last_name',         order: 'ASC',         limit: 100,         deleted: this.toShow,         filter: this.filterValue ? this.filterValue : null,         event: event,     }));   }
where 'event' is the infinite scroll event and I am passing it to the Effect so I can call .complete() there:
`loadMore$ = createEffect(() =>
this.actions$.pipe(
ofType(PatientsActions.loadMorePatients),
withLatestFrom(
this.store.select(fromPatient.getPagination),
this.store.select(fromPatient.getAllPatients)
),
exhaustMap(([action, pagination, patents]) => {
if (action.event) {
action.event.target.complete();
        if (patents.length === pagination.rowCount) {
            action.event.target.disabled = true;
        }
      }
      const options = {
        ...action,
        page: pagination.page + 1
      };
      return this.patientsService
          .fetchPatients({ ...options })
          .pipe(
              map((result) => PatientsActions.LoadMorePatientsSuccess({ patients: result.patients, pagination: result.pagination })),
              catchError((err) => of(PatientsActions.LoadPatientsFail({ err: err })))
          );
    })
)

);`
and that's basically it. It works as intended but when I try to pass the virtual scroll element and call this.virtualScroll.checkEnd(); in the effect (not with this.virtualSroll ofcouce) there are all kinds of errors...

If your have an async call back remove any timers and use this.virtualScroll.checkEnd() inside an async/await function.


istio: Update to 1.8.2

Update Istio integration to Istio release 1.8.2.
Istioctl no longer lists the service name for an inbound port.
Signed-off-by: Jarno Rajahalme<EMAIL_ADDRESS>Istio integration is updated to Istio release 1.8.2.

test-me-please

test-me-please

test-me-please

test-me-please

unrelated known flake #12511 in net-next test.

unrelated known flake #12511 in net-next test.

retest-net-next

retest-net-next


Centering a view in between two others

I'm trying to center my view in between two other views.
Basically, I want my back button to be vertically aligned in center, between inviteButton and mascotView. But in my way it sits on top of mascotView. Is there a way for this?
[self.backButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(superview);
make.top.greaterThanOrEqualTo(self.inviteButton.mas_bottom);
make.bottom.lessThanOrEqualTo(self.mascotView.mas_top);
}];

You could center the back button and then arrange the other two elements like this:
// back button
	[view1 mas_makeConstraints:^(MASConstraintMaker *make) {

		// set width and height

		make.centerY.equalTo(superview);
	}];

// invite button
	[view2 mas_makeConstraints:^(MASConstraintMaker *make) {

		// set width and height

		make.bottom.equalTo(view1.mas_top).offset(-padding);
	}];

// mascot view
	[view3 mas_makeConstraints:^(MASConstraintMaker *make) {

		// set width and height

		make.top.equalTo(view1.mas_bottom).offset(padding);
	}];

But you are centering the back button to the center of superview. Instead I want a fixed position for invite and mascot view and I want back button to just sit in between them. So even if the height of the screen changes (iPhone4 vs iPhone5 vs iPhone6) back button simply will be displayed where it should be best, only the top and bottom margin will change for back button according to the screen size.

You could add a new view whose top will be equal to invite's bottom and the bottom will be equal to mascot's top. Add back button as its subview and center it.
Second thing that comes to my mind are spacing views. Create two transparent views. Place the first one between invite and back and the second one between back and mascot.
This solution is described in Apple's documentation.


Best way to push logs to stdout/stderr ?

Hello,
what is the recommended method for pushing logs to /dev/stdout ?
I tried this method:
RUN ln -sf /dev/stdout /www/logs/php-fpm/access.log
RUN ln -sf /dev/stdout /www/logs/php-fpm/error.log

But that results in an error that the files/folders there don't exist. Maybe they are created after logs start?
Let me know if there is a standardized way to do this.
Thanks!

I think you would want to start with
CONTAINER_LOG_LEVEL=DEBUG to allow console output to occur for each process.
Then set PHP_LOG_LOCATION=/dev
Then PHP_LOG_ACCESS_FILE="/stdout" and PHP_LOG_ERROR_FILE=/stdout should!?!? work.. YMMV.

Ooh ok. Thank you for the quick response!!
I think you meant PHP_LOG_LEVEL (instead of CONTAINER_LOG_LEVEL) correct?
Anyway the below didn't work for me on DigitalOcean app containers.
# Base Vars
ENV PHP_LOG_LEVEL=debug
ENV PHP_LOG_LOCATION=/dev
ENV PHP_LOG_ACCESS_FILE=/stdout
ENV PHP_LOG_ERROR_FILE=/stderr

FROM tiredofit/nginx-php-fpm:debian-8.1

# Set Working Directory
WORKDIR /www/html
...

But no expectation for your help - i'll report back here if I figure out how to get the error logging to work.

No I was right on the CONTAINER_LOG_LEVEL=DEBUG .. If set to something other I use that to hide the stdout/stderr output of any processes that startup, it may affect your ability to route to stdout - Give it a try though without, but that's my thinking. In future I can see about adding a PHP_FPM_LOG_TYPE environment variable with options of CONSOLE or FILE in future, should be easy enough.


Add base16-default-dark color theme

Added a color theme for base16-default-dark. I use Base16 shell and the colors in the resulting SVG look correct (aside from the colors 16-21, which is expected).
Example:

Merged, thanks!


distro/ImageConfig: use pointers to simple types and reflection in InheritFrom()

These changes are required in order to enable unifying the vhd and azure-rhui image definitions. Detailed reasoning for each change is described in each commit message.
This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

I removed the update to newer Golang version.


Bug/39 - nest guard has a type check problem with the SDK

Resolve #39.
The issue was that the type assigned to sdk property on
IsAllowedGuardOptions interface includes the private members
of the class but the type definition in index.d.ts that is used when passing
the SDK instance to the guard sort of ignores any private member,
so I changed the type definition to also ignore any private member.

Weird and funny solution, but it works.


OSS counter review

prettier and make first example consistent with demo
set up convex before github so you can get the http url
put non-standard config details at the bottom
add http and crons example
prettier readme
allow fetching multiple npm / github at once
add docs for querying manually

Thanks again for this Ian, I'm going to get it merged soon


New physics-based sun+sky glint model for water surfaces.

This PR implements a new physics-based sun+sky glint model for water surfaces, which models contributions from direct and diffuse sky radiance to the measured signal at-sensor. The model follows the 3-component (3C) method, whose theoretical basis can be found in Gege (2012) and Gege (2014). The improved forward model for aquatic remote sensing allows to account for specular glint as part of the joint atmosphere and surface modeling, and provides a promising alternative to post-hoc corrections or even masking of glinty pixels.
The main updates with this PR include

A new physics-based glint surface model that exploits the separation of direct and diffuse downward transmittance to model varying contributions from sky radiance. The previous, simpler additive glint model is kept for validation and comparison purposes. Accordingly, ISOFIT now offers two glint surface categories: "additive_glint_surface" and "glint_model_surface".
A new version of the forward model, which includes the new glint model and requires separated direct and diffuse downward transmittance as input.
A slightly modified AOE solution that incorporates the new glint model and allows to solve per pixel much faster and more accurately (Susiluoto et al. 2023, in prep.).

Pending comprehensive validation on whole flight lines and with in-situ measurements, this PR is still a draft. However, as soon as we have first results confirming the validity of the model, things can be merged in.

Thanks to comprehensive processing and testing by @reginaeckert, this PR is now ready for review.

This looks great - it's been tested by the team on glint retrievals, and I just tested a regular apply_oe implementation without glint, and all checks out.  Thanks team for this excellent contribution.
@unbohn - I think we should work to get the SWIPE simulations into a separate data repository, like the rest of the EMIT priors....EcoSYS or zenodo would be good choices!  We can add reference links here then.

@pgbrodrick Sounds good to me! I'll work on that.


Some string stuff

In [1]: import pandas as pd

In [2]: import awkward_pandas

In [3]: s = pd.Series(["hello", "world"]*1000000, dtype='awkward')

In [4]: %timeit s.ak.upper()
20.9 ms ± 1.7 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

In [5]: slist = ["hello", "world"]*1000000

In [6]: %timeit [_.upper() for _ in slist]
227 ms ± 4.11 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

Seems to work with strings, but not bytestrings (no kernel matching input types (array[binary]))

cc @jpivarski

Nice! I'd like to have these functions in core Awkward, too, though. I know that it implies a soft dependency on pyarrow. If you develop it here, would it be easy to factorize the part that does the calculation (in ak.str.* functions) from the part that maps it to Series methods (my_series.ak.* or my_series.str.*)?
That factor of 10 speedup should be a good selling point!

@douglasdavis , your opinion on how many string operations should be tested here before we can - cautiously - merge this?

Since this is pulling in string operations from another library my opinion would be "not many", since really what needs to be tested is the accessor doing what we expect it to do.

There are many rough edges here, such as what to do with list[str] or ?str (these don't currently get any string functions, we would have to "unroll" them before passing to arrow), but I thin this is good for demo.


Support for Non-Intereger Primary Keys and Additional Django 1.8 fixes.

Please review and merge if possible, thanks!

would you plz fix the merge conflicts?


【事件通知】是否可以通过注解实现事件通知？

dubbo在与spring结合时，是否可以通过注解方式实现事件通知呢，搜寻资料无果，故提出此问题。
希望有过此类经验的朋友帮忙解答 😄

@jaylinwang Could you please describe your requirement in detail? Or you could provide a demo for us.
Also, we are going to close it, feel free to reopen it. &READY-TO-CLOSE&

feel free to reopen it


Docs on how to create OPA Gatekeeper constraints using default templates

@catherineluse I was not able to load this page and check how it appears; but please review the content. I will try to test in the meantime.

@catherineluse I was able to test it;

the ```yml tag shows and
not sure how  to make this link within the page work - this section below


German has wonderful worlds like "Schriftgröße" and "Hintergrundfarbe". We should really get rid of the hyphens here.
Other things like "außenabstand-unten" make sense.

Valid issue.
Is the first character to be in uppercase intended because they are nouns, so they also should be written like that?

I've resolved this issue with https://github.com/timche/postcss-german-stylesheets/commit/0769c310786aab41b63a7d42446d320ffe8a2378.


fixing merge error

i think i want to also backport things from the other PR that failed (#1550), b/c otherwise not all my changes are showing up/making sense. going to close this and retry


CkLocMgr: buffer immigrate messages if array managers don't exist

This replaces the buggy busy-wait that reschedules the messages
until the managers are created (which doesn't work because
immigrate messages are expedited).

A remaining issue is that presumably CkLocMgr::pup needs to serialize the pending immigrate messages if any (for things like checkpointing I guess).
Packing the messages with pup (p|*msg) builds, but I'm not sure how to do the unpacking since they are apparently variable size. The other matter would be testing the pup implementation.

@nitbhat Can you test the patch on Cori and see if it fixes megatest?

A remaining issue is that presumably CkLocMgr::pup needs to serialize the pending immigrate messages if any (for things like checkpointing I guess).
Packing the messages with pup (p|*msg) builds, but I'm not sure how to do the unpacking since they are apparently variable size. The other matter would be testing the pup implementation.

I'm not entirely sure how this should work. None of the other buffers are pupped, and I'm not sure if doing a checkpoint/restart is valid when there are chares in migration AND there is an array manager that has not been created on some PEs. If you checkpoint when only some of the CkArray objects have been created I think you will have an invalid checkpoint. So I don't think you can make a valid checkpoint without having flushed the immigration message buffer first anyways.

A remaining issue is that presumably CkLocMgr::pup needs to serialize the pending immigrate messages if any (for things like checkpointing I guess).
Packing the messages with pup (p|*msg) builds, but I'm not sure how to do the unpacking since they are apparently variable size. The other matter would be testing the pup implementation.
I'm not entirely sure how this should work. None of the other buffers are pupped, and I'm not sure if doing a checkpoint/restart is valid when there are chares in migration AND there is an array manager that has not been created on some PEs. If you checkpoint when only some of the CkArray objects have been created I think you will have an invalid checkpoint. So I don't think you can make a valid checkpoint without having flushed the immigration message buffer first anyways.

Should we just put an abort inside pup if pendingImmigrate.size() > 0?

A remaining issue is that presumably CkLocMgr::pup needs to serialize the pending immigrate messages if any (for things like checkpointing I guess).
Packing the messages with pup (p|*msg) builds, but I'm not sure how to do the unpacking since they are apparently variable size. The other matter would be testing the pup implementation.
I'm not entirely sure how this should work. None of the other buffers are pupped, and I'm not sure if doing a checkpoint/restart is valid when there are chares in migration AND there is an array manager that has not been created on some PEs. If you checkpoint when only some of the CkArray objects have been created I think you will have an invalid checkpoint. So I don't think you can make a valid checkpoint without having flushed the immigration message buffer first anyways.

Should we just put an abort inside pup if pendingImmigrate.size() > 0?

Yeah an abort or CkAssert would probably be a good idea.

A remaining issue is that presumably CkLocMgr::pup needs to serialize the pending immigrate messages if any (for things like checkpointing I guess).
Packing the messages with pup (p|*msg) builds, but I'm not sure how to do the unpacking since they are apparently variable size. The other matter would be testing the pup implementation.
I'm not entirely sure how this should work. None of the other buffers are pupped, and I'm not sure if doing a checkpoint/restart is valid when there are chares in migration AND there is an array manager that has not been created on some PEs. If you checkpoint when only some of the CkArray objects have been created I think you will have an invalid checkpoint. So I don't think you can make a valid checkpoint without having flushed the immigration message buffer first anyways.
Should we just put an abort inside pup if pendingImmigrate.size() > 0?
Yeah an abort or CkAssert would probably be a good idea.

Ok. Since CkLocMgr::pup is not in any critical path I am inclined to use an abort so that it can be detected without error checking too.

A remaining issue is that presumably CkLocMgr::pup needs to serialize the pending immigrate messages if any (for things like checkpointing I guess).
Packing the messages with pup (p|*msg) builds, but I'm not sure how to do the unpacking since they are apparently variable size. The other matter would be testing the pup implementation.
I'm not entirely sure how this should work. None of the other buffers are pupped, and I'm not sure if doing a checkpoint/restart is valid when there are chares in migration AND there is an array manager that has not been created on some PEs. If you checkpoint when only some of the CkArray objects have been created I think you will have an invalid checkpoint. So I don't think you can make a valid checkpoint without having flushed the immigration message buffer first anyways.
Should we just put an abort inside pup if pendingImmigrate.size() > 0?
Yeah an abort or CkAssert would probably be a good idea.

Ok. Since CkLocMgr::pup is not in any critical path I am inclined to use an abort so that it can be detected without error checking too.

Sounds good to me. Probably mention in the abort message that it is likely caused by attempting to checkpoint when array creation has not fully completed. That way if people run into it they have a clue as to why something broke.


CleanupManager - find the flow executions whose yarn apps needs to be killed

CleanupManager - find the flow executions whose yarn apps needs to be killed: EXECUTION_STOPPED executions & dangling pods of terminated executions

Pull Request Test Coverage Report for Build 7295

18 of 48 (37.5%)  changed or added relevant lines in 2 files are covered.
4 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.006%) to 44.703%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

azkaban-common/src/main/java/azkaban/utils/YarnUtils.java
0
2
0.0%

azkaban-common/src/main/java/azkaban/executor/container/ContainerCleanupManager.java
18
46
39.13%

Files with Coverage Reduction
New Missed Lines
%

azkaban-common/src/main/java/azkaban/jmx/JmxJobMBeanManager.java
1
71.88%

azkaban-common/src/main/java/azkaban/executor/container/ContainerCleanupManager.java
3
48.5%

Totals

Change from base Build 7293:
-0.006%

Covered Lines:
18910

Relevant Lines:
42301

💛  - Coveralls


Add BR tests to release-0.14 branch

Issue #, if available:
Description of changes:
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve


Can we remove FuelHandler.prepSearch?

It appears to me we should be able to remove the method FuelHandler.prepSearch():
https://github.com/terrapower/armi/blob/0977ee48953e2099d434c6df32a1b184c7ae259f/armi/physics/fuelCycle/fuelHandlers.py#L207
Because it hasn't done anything but raise a DeprecationWarning in years:
https://github.com/terrapower/armi/blob/0977ee48953e2099d434c6df32a1b184c7ae259f/armi/physics/fuelCycle/fuelHandlers.py#L226-L230
I can find no downstream uses of this method either.

Oh yeah. This hasn't been touched for a long time and just spits a DepracationWarning. I say time to remove the warning and just yank it!

This might impact downstream fuel handling scripts internally. Maybe note this to @onufer

@onufer If there is some downstream code calling this and just getting a DeprecationWarning, let me fix that down stream code so it doesn't and we can safely delete this.
I guess the only other option is there are some downstream scripts which are sub-classing this and using it.  That would be a different situation.

@john-science - I think it's been long enough that we could remove this and fix downstream if it causes an issue. I didn't mean to block removing by my comment.

I did as Jake suggested and removed this (now fully unused) method two weeks ago: https://github.com/terrapower/armi/pull/1845


wrong left position of nodes with different widths

I'm currently working with dagre.js in various projects and everytime the same bug occurs. If the size of the nodes is different the left position of the nodes is wrong.
Example: (example available on https://github.com/SebLeich/dagre-example-for-framed.io)

all nodes have the same size, no problem occures:

one "large" node: big gap on the left side and the nodes are overlapping

.. it seems like the gap is caused by the wrong calculated left position of the node: the whole gap has nearly the right width (i dragged the calculated node from 2 to the right position)

How did i program it?
var g = new dagre.graphlib.Graph();
g.setGraph({
  ranker: "network-simplex", //all techniques not working
  ranksep: 150
});
g.setDefaultEdgeLabel(function() { return {}; }); // not required
for(var index in this.data.nodes){
  var n = f.data.nodes[index];
  var h = $("#node-" + n.id).height();
  var w = $("#node-" + n.id).width();
  g.setNode(n.id, { label: "node-" + n.id, width: w, height: h });
for(var index in n.mayors){
  g.setEdge(n.mayors[index].id, n.id);
}
dagre.layout(g);
g.nodes().forEach(function(v) {
var m = g.node(v);
$(m.label).animate({
top: n.y,
left: n.x
});
});
Second example:

exactly the same problem: big gap on the left side of "bank" and overlapping project

Is it a problem of the library or did I do something wrong?

You may know this already, but x and y denote the center of the node, not the upper left corner.
The upper left corner would be [n.x - n.width/2, n.y - n.height/2]

You're totally right! It solves my problem, i thought dagre returns the left top corner and not the center of the node. Thank you!


Can this run Doom?

If you deploy it on Texas Instruments calculator, it should be able to run Doom. Kernel rebuild may be required to include dynamic matrix display drivers.


Ignore package-lock.json

Since yarn.lock is ignored already, and now npm 5.0 creates a package-lock.json that functions in a similar way.

LGTM.

Has ignoring yarn.lock been discussed? It shouldn't be. https://github.com/yarnpkg/yarn/issues/1583

Has ignoring yarn.lock been discussed?

I can't recall it has been discussed, nope.

It shouldn't be. yarnpkg/yarn#1583

Yep, I think you are right, even for libraries. I also found this:

https://yarnpkg.com/blog/2016/11/24/lockfiles-for-all

Luckily, this project is extremely simple (that's on purpose) and development deps are few (it's unlikely that one of them will break hyperapp suddenly), so I think we don't have to worry about it this time.

@jbucaran Usually, I would add these files, but since we don't have any real dependencies I wouldn't bother with them. They make no sense in this case.


Running script need cv2 - Error on FFMPEG

Hello I'm running this script on Ubuntu 17.04 with conda

import numpy as np
import cv2
import time
import requests
import threading
from threading import Thread, Event, ThreadError

class Cam():

  def __init__(self, url):

    self.stream = requests.get(url, stream=True)
    self.thread_cancelled = False
    self.thread = Thread(target=self.run)
    print "camera initialised"

  def start(self):
    self.thread.start()
    print "camera stream started"

  def run(self):
    bytes=''
    while not self.thread_cancelled:
      try:
        bytes+=self.stream.raw.read(1024)
        a = bytes.find('\xff\xd8')
        b = bytes.find('\xff\xd9')
        if a!=-1 and b!=-1:
          jpg = bytes[a:b+2]
          bytes= bytes[b+2:]
          img = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8),cv2.IMREAD_COLOR)
          cv2.imshow('cam',img)
          if cv2.waitKey(1) ==27:
            exit(0)
      except ThreadError:
        self.thread_cancelled = True

  def is_running(self):
    return self.thread.isAlive()

  def shut_down(self):
    self.thread_cancelled = True
    #block while waiting for thread to terminate
    while self.thread.isAlive():
      time.sleep(1)
    return True

if __name__ == "__main__":
  url = 'DELETED BY JOHN'
  cam = Cam(url)
  cam.start()

When following the guide from here
I get following when executing the .yaml file.
quinten@quinten:~/Documents$ conda env create -f environment.yaml
Using Anaconda API: https://api.anaconda.org
Fetching package metadata .................

ResolvePackageNotFound:
  - ffmpeg-feature

The instructions on that issue are obsolete, as now ffmpeg is a core dependency of opencv in conda-forge and the opencv, builds there provide a higui backend via qt and we are not supporting the GTK2 backend anymore. So for installing opencv, you just need now to do this:
conda install -c conda-forge opencv


Move parser level to entry points

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

12 of 13 (92.31%)  changed or added relevant lines in 4 files are covered.
162 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-0.001%) to 93.029%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

electronicparsers/cp2k/parser.py
3
4
75.0%

Files with Coverage Reduction
New Missed Lines
%

electronicparsers/magres/parser.py
20
73.08%

electronicparsers/tbstudio/parser.py
23
79.5%

electronicparsers/wannier90/parser.py
33
83.22%

electronicparsers/w2dynamics/parser.py
40
73.29%

electronicparsers/cp2k/parser.py
46
80.66%

Totals

Change from base Build<PHONE_NUMBER>0:
-0.001%

Covered Lines:
35739

Relevant Lines:
38417

💛  - Coveralls


Update Octopus to deploy PowerBI XMLA file

Jira Description
None
Jira Metadata
Created: 2017-03-15T14:21:07.000-0500
Reporter: Dean Goodman

Jira Comment
2017-03-30T13:50:24.603-0500
Jira Metadata
Created: Moved from CODS project to BIA project.
Commenter: Dan Malagari


Fix handedness of IBL shadows

Finally sorted out the issues related to casting voxel and screen-space shadows in the right direction based on coordinate systems. Previously, it was only correct for left-handed systems.

Snapshot stored with reference name:
refs/pull/15624/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15624/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15624/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15624/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15624/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15624/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15624/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15624/merge#BCU1XR#0

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15624/merge/testResults/webgpuplaywright/index.html

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15624/merge/testResults/webgl2playwright/index.html


Demo is down

As shown below:

Hi Allan,
Yes, the disabling of the demo was intentional.
Unfortunately, there were some compliance and security issues related to hosting of the demo, and it was decided to remove the demo rather than allocate resources and time to address them and maintain.
I had put up the removal warning on Jun 10th, but there were still some other references and links which likely caused confusion.
I have made the warning more noticeable and removed more links.


Preffix  false

In           <l-control-attribution             position="bottomright"             :prefix="false "           />
you can  pass prefix as false to remove the prefix. It works!
However, it is giving an exception

@ricardopolo Thanks for the issue, we just need to fix the prop types here!

Hello, when are you planning to release a new version in npm?
(that includes this fix :))

@ricardopolo in this week :)

Thank you @DonNicoJs 😄

@ricardopolo 2.2.0 is out on npm


Reconstruction process hangs indefinitely

This is related to https://github.com/OpenDroneMap/WebODM/issues/147 and several other reports that we have encountered with OpenDroneMap users.
When processing large datasets, on computers with limited amount of RAM, while using a value of processes > 1 (forcing the use of Pool such as in https://github.com/mapillary/OpenSfM/blob/d22b94c6a46f5be88857290363943f084be4a7f9/opensfm/dense.py#L54), the process hangs indefinitely. This can be reproduced sporadically (not reliably) with real world inputs, but can be clearly simulated with this example. In this example, the Killer class acts to simulate a out-of-memory error, therefore sending a KILL signal to one of the subprocesses.
Notice that the Ended string is never printed and the process never terminates.
from multiprocessing import Pool
import time
import threading
from subprocess import check_output

def get_pid(name):
    return list(map(int,check_output(["pidof",name]).split()))

class Killer(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)

    def run (self):
        print("Wait 3 seconds...")
        time.sleep(3)
        pids = get_pid('python')
        print(pids)
        print("Found " + str(len(pids)) + " python processes")
        print("Killing middle process")

        check_output(["kill", "-9", str(pids[int(len(pids) / 2)])])

        print("Processes killed, now waiting for termination...")

def f(x):
    time.sleep(6)
    return x*x

if __name__ == '__main__':
    p = Pool(3)
    print("Started")
    Killer().start()
    print(p.map(f, [1, 2, 3]))
    print("Ended")

I haven't investigated possible solutions, but ideally opensfm should report to the user that the process ran out of memory and exit gracefully.

Thanks for the minimal example!
From what I understand, the fact that signals are not handled when using Pool is because of a python bug. Similar problems and workarounds are reported in here and here
We should implement one of the workarounds since, currently, the only way of stopping the processes is using a sigquit or ^\
Apart from that, we were not terminating the Pools after using them in dense matching which could lead to a number of old processes hanging around. Should not happen anymore with current master.

@paulinus I've looked into the issue further. Unfortunately the workarounds you linked would only deal with SIGINT, there's no way to catch SIGKILL (which is sent by the OS when running out of memory).
My suggestion is to replace multiprocessing with loky (https://github.com/tomMoral/loky). If we were using Python 3 we could just use concurrent.futures, but since OpenSfM targets Python 2 loky seems like a good way to go:
Same minimal example with loky:
from multiprocessing import Pool
import time
import threading
from subprocess import check_output
from loky import ProcessPoolExecutor

def get_pid(name):
    return list(map(int,check_output(["pidof",name]).split()))

class Killer(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)

    def run (self):
        print("Wait 3 seconds...")
        time.sleep(3)
        pids = get_pid('python')
        print(pids)
        print("Found " + str(len(pids)) + " python processes")
        print("Killing middle process")

        check_output(["kill", "-9", str(pids[int(len(pids) / 2)])])

        print("Processes killed, now waiting for termination...")

def f(x):
    time.sleep(6)
    return x*x

if __name__ == '__main__':
    with ProcessPoolExecutor(max_workers=3) as executor:
        print("Started")
        Killer().start()
        results = executor.map(f, [1, 2, 3])
        print(list(results))
        print("Ended")

Started
Wait 3 seconds...
[20183, 20182, 20181, 20179, 20178, 3042]
Found 6 python processes
Killing middle process
Processes killed, now waiting for termination...
[1, 4, 9]
Ended
Exception ignored in: <Finalize object, dead>
Traceback (most recent call last):
  File "/usr/lib/python3.6/multiprocessing/util.py", line 186, in __call__
    res = self._callback(*self._args, **self._kwargs)
  File "/usr/lib/python3.6/site-packages/loky/backend/synchronize.py", line 98, in _cleanup
    semaphore_tracker.unregister(name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 73, in unregister
    self._send('UNREGISTER', name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 82, in _send
    nbytes = os.write(self._fd, msg)
BrokenPipeError: [Errno 32] Broken pipe
Exception ignored in: <Finalize object, dead>
Traceback (most recent call last):
  File "/usr/lib/python3.6/multiprocessing/util.py", line 186, in __call__
    res = self._callback(*self._args, **self._kwargs)
  File "/usr/lib/python3.6/site-packages/loky/backend/synchronize.py", line 98, in _cleanup
    semaphore_tracker.unregister(name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 73, in unregister
    self._send('UNREGISTER', name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 82, in _send
    nbytes = os.write(self._fd, msg)
BrokenPipeError: [Errno 32] Broken pipe
Exception ignored in: <Finalize object, dead>
Traceback (most recent call last):
  File "/usr/lib/python3.6/multiprocessing/util.py", line 186, in __call__
    res = self._callback(*self._args, **self._kwargs)
  File "/usr/lib/python3.6/site-packages/loky/backend/synchronize.py", line 98, in _cleanup
    semaphore_tracker.unregister(name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 73, in unregister
    self._send('UNREGISTER', name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 82, in _send
    nbytes = os.write(self._fd, msg)
BrokenPipeError: [Errno 32] Broken pipe
Exception ignored in: <Finalize object, dead>
Traceback (most recent call last):
  File "/usr/lib/python3.6/multiprocessing/util.py", line 186, in __call__
    res = self._callback(*self._args, **self._kwargs)
  File "/usr/lib/python3.6/site-packages/loky/backend/synchronize.py", line 98, in _cleanup
    semaphore_tracker.unregister(name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 73, in unregister
    self._send('UNREGISTER', name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 82, in _send
    nbytes = os.write(self._fd, msg)
BrokenPipeError: [Errno 32] Broken pipe
Exception ignored in: <Finalize object, dead>
Traceback (most recent call last):
  File "/usr/lib/python3.6/multiprocessing/util.py", line 186, in __call__
    res = self._callback(*self._args, **self._kwargs)
  File "/usr/lib/python3.6/site-packages/loky/backend/synchronize.py", line 98, in _cleanup
    semaphore_tracker.unregister(name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 73, in unregister
    self._send('UNREGISTER', name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 82, in _send
    nbytes = os.write(self._fd, msg)
BrokenPipeError: [Errno 32] Broken pipe
Traceback (most recent call last):
  File "/usr/lib/python3.6/multiprocessing/util.py", line 262, in _run_finalizers
    finalizer()
  File "/usr/lib/python3.6/multiprocessing/util.py", line 186, in __call__
    res = self._callback(*self._args, **self._kwargs)
  File "/usr/lib/python3.6/site-packages/loky/backend/synchronize.py", line 98, in _cleanup
    semaphore_tracker.unregister(name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 73, in unregister
    self._send('UNREGISTER', name)
  File "/usr/lib/python3.6/multiprocessing/semaphore_tracker.py", line 82, in _send
    nbytes = os.write(self._fd, msg)
BrokenPipeError: [Errno 32] Broken pipe

I can make a pull request for this, just wanted to hear your thoughts before going forward.

Good find @pierotofy. I didn't know loky but it looks very good.
I'm worried about adding dependencies, especially because the project seems quite new. That being said, the change required to use it is small and easy to revert if loky ever goes unsupported.
On mac, i'm getting RuntimeWarnings like this one
/Users/paulinus/Library/Python/2.7/lib/python/site-packages/loky/backend/semlock.py:217: RuntimeWarning: semaphore are broken on OSX, release might increase its maximal value
  "increase its maximal value", RuntimeWarning)

when running the above example.
On Python 3, we need to support Python 2 but it would be great to start supporting Python 3 too soon.

Thanks for pointing the runtime warning; I'll do more testing on OSX prior to making changes.

Btw, this is a substitute for pidof which is missing in OSX:
#!/usr/bin/env ruby

target = ARGV[0] || ""
ids = []
(`ps axc`).split("\n").each do |line|
  pid, tt, stat, time, command = line.chomp.split(" ", 5)
  if target == command
    ids << pid
  end
end

exit 1 if ids.empty?
puts ids.join(" ")

In short, that warning means that we won't be able to cancel jobs.

On OSX, all the jobs will be en-queued at once, as the size of the Queue is not enforced. The size of the Queue is limited in ProcessPoolExecutor in order to allow you to cancel jobs. On OSX, you won't be able to cancel jobs because as soon as you submit them, they will be put in queue and thus considered running. The concurrent.futures API does not permit to kill running Futures. If you have no need to cancel jobs, you can ignore this Warning.

https://github.com/tomMoral/loky/issues/103
So the warning can be ignored. Unfortunately there's no way to catch the warning since warnings.catch_warnings() is not thread-safe https://stackoverflow.com/questions/12654267/python-3-catching-warnings-during-multiprocessing, so I was thinking of making a fork of loky, and manually comment out that warning.

There's an issue we ran into after pulling in changes for flat scene initialization: https://github.com/OpenDroneMap/OpenDroneMap/issues/723
I don't have this issue except on the AMD server mentioned in the issue above.

good, closing this since @pierotofy implemented multiprocessing using loky. Thanks!


Start-AIShell fails to start when aish.exe can be found in the env PATH

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest version
[X] Search the existing issues.

Steps to reproduce

Add aish.exe to the environment PATH variable.
Import the AIShell module and then run Start-AIShell

Expected behavior
It should successfully start aish in the side car pane.

Actual behavior
It fails with follow error:

"[error<PHONE_NUMBER> (0x80070002) when launching `aish --channel pwsh_aish.14440.pwsh']"

Error details
No response
Environment data
0.1.0-alpha.19 package.

Version
0.1.0-alpha.19
Visuals
No response

Resolved by #272


mac-44 lost external connection from phone device.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
mac-44 lost external connection from phone device.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Rebooting machine to restore connection.


io.circe.generic.auto._ doesn't support Option

Working with a case class with auto encoder/decoder support typically works fine, but if the case class contains an Option the auto generation doesn't work and I end up being forced to use semiauto.

As discussed on the Gitter.im channel (see history here: https://gitter.im/circe/circe/archives/2017/03/09) this seems to be an issue related to 2.12 perhaps?
For a use-case you can test with https://github.com/outr/arangodb-scala/blob/master/src/test/scala/spec/AQLSpec.scala#L16 commenting out that line of code should auto derive the case class, but it fails to do so.  It has something to do with the use of Option in case classes.  If you remove the Option entries then it will compile fine.

@darkfrog26 Do you have a self-contained example? The following works for me on 2.12:
scala> import io.circe.{ Decoder, Encoder }, io.circe.generic.auto._
import io.circe.{Decoder, Encoder}
import io.circe.generic.auto._

scala> case class User(name: String,
     |                 age: Int,
     |                 _key: Option[String] = None,
     |                 _id: Option[String] = None,
     |                 _rev: Option[String] = None)
defined class User

scala> Encoder[User].apply(User("foo", 123, Some("x"), Some("y"), None))
res0: io.circe.Json =
{
  "name" : "foo",
  "age" : 123,
  "_key" : "x",
  "_id" : "y",
  "_rev" : null
}

scala> Decoder[User].decodeJson(res0)
res1: io.circe.Decoder.Result[User] = Right(User(foo,123,Some(x),Some(y),None))

And the second link in your second comment is broken.

Closing as non-reproducible.

Sorry, I never saw that you responded to this. Yeah, this is a non-issue.


Create 1Password accounts for team

Description
Create 1password accounts for team

@guylepage3

Moving this issue to Sprint 7.

Duplicate issue. https://github.com/universelabs/universe-growth/issues/7 Closing this one.


Improve UI

Fixes:

#1082 by using flex
#1083 by adding margin (It's not pixel perfect, but looks a bit better)

Screenshot before fixing #1083

Screenshot after fixing #1083

Great :)


Update Package.swift

fixes #93

Thanks! I think we need to drop a new release to get everything working.


Feedback and questions

Thank you for your feedback.
I had a look at your framework, which is a great idea to help development and architecture sharing 😄
I know it is not connected to any particular framework, but it shares a lot of common things with some of them.
For example, if we take VIPER, it looks to me that the Coordinator is reflecting the Interactor job.
One thing (following Viper idea) that I do not fully share is about the ViewModel.
Why the ViewModel should contain logic such as:
func presentForgotPassword() {
    coordinator?.presentForgotPassword()
}

I feel like these are entry point of business logic, and I would rather see them isolated (with the login service) in a UseCase, or whatever we want to call the business layer abstraction.
I believe that ViewModel should be defined like: A dumb model, that is immutable and knows nothing else than the data inside.
I know this adds additional layers with model and UseCase in order to fully split the responsability,
but it would make possible to reuse the entire model (like a UserViewModel) in multiple apps with different business logic (like one that has ForgotPassword and one that has not)
What do you think

Thanks for taking look :)
Yes, the idea behind the Coordinator overlaps with some other patterns and you can definitely find some similarities. My intention was not to tide the implementation with MVVM and I'm using it just like an example.
There is a lot of discussion about immutable / mutable ViewModels. I've been using both in my projects and I think it's better to have immutable / stateless ViewModel. I don't see too much potential in reusing ViewModels across different apps but it's definitely easer to debug and write unit tests. But it depends and sometimes it's better to not overcomplicate the solution with following strict rules.


typescript requirement error message form VS 15.2

Microsoft Visual Studio Community 2017 Preview (2)
Version 15.2 (26412.1-Preview) Preview
VisualStudio.15.Preview/15.2.0-Preview+26412.1
Microsoft .NET Framework
Version 4.7.02046
Installed Version: Community
Visual Basic 2017   00369-60000-00001-AA231
Microsoft Visual Basic 2017
Visual C# 2017   00369-60000-00001-AA231
Microsoft Visual C# 2017
Visual C++ 2017   00369-60000-00001-AA231
Microsoft Visual C++ 2017
Application Insights Tools for Visual Studio Package   8.6.00404.2
Application Insights Tools for Visual Studio
ASP.NET and Web Tools 2017   15.0.30404.0
ASP.NET and Web Tools 2017
ASP.NET Web Frameworks and Tools 2017   5.2.50303.0
For additional information, visit https://www.asp.net/
Node.js Tools   1.3.50316.00
Adds support for developing and debugging Node.js apps in Visual Studio
TypeScript   <IP_ADDRESS>
TypeScript tools for Visual Studio

Just click OK. The error is benign, and will be gone in the next update (due in a couple days).