[WIP] support authentication

Hi, last days I was working on adding an optional jhub authentication for binder. Firstly, comments on https://github.com/jupyterhub/binderhub/issues/323 helped a lot, thanks!
It is not completed yet and I won't be available next 2 weeks. So I thought I can make this PR and maybe get some feedback from you if I am going on the right way. It would be great for me, if you can review my changes.
Current situation:

if auth.custom.classNameset as "nullauthenticator.NullAuthenticator" (default configuration), authentication is not enabled and binderhub works with fake users as before.
if auth set to anything different from NullAuthenticator, authentication is enabled and when user comes to binder page, it is redirected to jhub login page. But after user logs in there is Too many redirections error. I think this is because HubAuthenticated.get_current_user can't gets the user and redirects back to login page and log in page redirects back to binder page (because user is logged in).

Sorry if I miss something to mention in this PR. I had today less time than planned to work on this.

This is a really great start, thank you!
I think the main thing missing to get the basics started for the auth to work is setting up the oauth client configuration for the Binder service, as illustrated in this example. We'll also want to make sure the environment variables defined here are available to the binder process

@minrk firstly thank you for the feedback and links.
I tested the current state with NullAuthenticator (no authentication), DummyAuthenticator, ShibbolethAuthenticator and GitHubOAuthenticator and authentication for binder worked. But there are still some problems and restrictions:

I had to use user id instead of name in pod and pvc names. Launcher.username_from_repo is used to create server names and it restricts the name to be max 30 chars length. But user name limit is 255. That means username + servername usually exceeds 63 char limit of pod and pvc names.
Another problem is that KubeSpawner._expand_user_properties makes username safe but not server name. And some repos had invalid pod and pvc names. PR to fix this: https://github.com/jupyterhub/kubespawner/pull/226
When auth is enabled jupyterhub-singleuser command is used to launch user servers and this requires JupyterHub to be installed in user images.

The extra configuration I used to enable auth with github:
jupyterhub:
  cull:
    users: false
  hub:
    baseUrl: /jupyter/
    extraConfig:
      binder: |
        from kubespawner import KubeSpawner
        class BinderSpawner(KubeSpawner):
          def start(self):
              if 'image' in self.user_options:
                # binder service sets the image spec via user options
                self.image_spec = self.user_options['image']
                # to disabled pvc creation
                # self.storage_pvc_ensure = False
                # self.volumes = []
                # self.volume_mounts = []
              return super().start()
        c.JupyterHub.spawner_class = BinderSpawner
        c.JupyterHub.allow_named_servers = True
    services:
      binder:
        url: "/base_url/services/service_name"
        oauth_client_id: "binder-oauth-client-test"

  auth:
    type: github
    github:
      clientId: "client id from GitHub"
      clientSecret: "client secret from GitHub"
      callbackUrl: "host/jupyter/hub/oauth_callback"

  singleuser:
    cmd: jupyterhub-singleuser
    storage:
      type: dynamic
      dynamic:
        pvcNameTemplate: claim-{userid}{servername}
        volumeNameTemplate: volume-{userid}{servername}
      homeMountPath: /home/pv

baseUrl: /jupyter/services/binder/

As you see in the conf persistent storage is activated (https://github.com/jupyterhub/binderhub/issues/377) and mounted to /home/pv.
With this configuration user can launch servers under /jupyter/services/binder/ (with unique server names) and launch a server with name '' under /jupyter/hub/home. In the future I would like to use KubeSpawner.profile_list and list user's launched servers (Spawner table) under /hub/home and manage them. But this will be a new issue.

Before last commit https://github.com/jupyterhub/binderhub/pull/596/commits/630e55d3d202eee185c85c07bed2e5fb0af9d854 named servers was required when authentication is enabled. With https://github.com/jupyterhub/binderhub/pull/596/commits/630e55d3d202eee185c85c07bed2e5fb0af9d854, it is possible to have authentication enabled without named servers (this means each logged in user can only launch 1 server at a time and they can stop/start this server in JupyterHub home).

I am done for now and it would be nice to have a review :)
I think my previous comments were not really explanatory. Here I try to explain the status again.
Currently it is possible to have BinderHub running in 3 ways:
1. Without authentication:
This is the default configuration. It works in this way if .Values.jupyterhub.auth.custom.className is set to NullAuthenticator (which is the default). For each launch, BinderHub creates a temporary user and starts a server for that user.
2. With authentication and without named servers:
BinderHub is configured in this way when .Values.jupyterhub.auth.custom.className is set to sth different than NullAuthenticator. In this way Binderhub limits each authenticated user to start one server at a time. When user already has a running server, BinderHub returns an error.
This way requires:

to run BinderHub under <jupyterhub_base_url>/services/binder/, because jupyterhub-services cookie, which is used by the service for authentication, is available under <jupyterhub_base_url>/services/
to set jupyterhub.cull.users to False

When authentication is enabled, it is not required to use jupyterhub-singleuser command to start user notebook servers but it is better. Because then notebook server is aware of JupyterHub, so JupyterHub can start/stop it with default JupyterHub home actions and users don't need a token to reach a running server (if logged out). But using this command requires 2 things:

to have JupyterHub installed in user images which is not installed by repo2docker by default. But .Values.build.appendix can be used to install it in each build.

to use another BinderSpawner, e.g.:

from kubespawner import KubeSpawner
class BinderSpawner(KubeSpawner):
  def start(self):
      if 'image' in self.user_options:
        self.image_spec = self.user_options['image']
      return super().start()

3. With authentication and with named servers:
This is one step further of way 2. Authenticated users can launch multiple servers by using binder service. BinderHub generates a unique server name by using Launcher.username_from_repo method. This way requires enabling named servers (.Values.jupyterhub.hub.allowNamedServers). But JupyterHub home doesn't have a UI to manage these named servers yet.
Some further comments:

When 2 or 3 is used, persistent storage can be activated. But then the question is where to mount it.

When 2 or 3 is used, state field of Spawner table and KubeSpawner.profile_list feature can be used to list already launched images of user in JupyterHub home. And user can spawn one of the options.

Soon I also want to try to move binder form into JupyterHub home and test it.

I really like to hear your comments!

thanks a lot for the review. I made some changes according to your comments.
And yes I really like to add tests for authentication. But first I have to learn how to do that. Could you help me about this? I will start with checking the existing tests once again and doing changes if necessary.

sorry, the last commit e1272af04d3f40a6efe92f8b187b1c218ca234be actually doesn't do anything for authentication. i was going through existing tests and end up with doing all these changes. if you wish, i can move this commit to another PR.
in order to test some cases for nbviwer i used berndweiss/gesis-meta-analysis-2018 repo. if you want, i can change it with https://github.com/binderhub-ci-repos/requirements but then some changes are needed in that repo.

@bitnik - thanks for working on this. I'm really excited to try it out so let us know when you think its ready for some beta testing.

@minrk i started writing tests for auth. could you check https://github.com/jupyterhub/binderhub/pull/596/commits/ab190eec3c985780b40c3260ca22de21339169df if I started correctly?
If looks correct, first problem is that i don't know how to pass binder host ip programatically for hub.services.binder.url: https://github.com/jupyterhub/binderhub/pull/596/files#diff-bc01dfc82637c05d27bf80a26ed7d576R5
When I do it manully, there is another problem that HubAuth.api_token is not filled with JUPYTERHUB_API_TOKEN env variable by default. To fix it, I had to add these lines
    @default('api_token')
    def _default_api_token(self):
        return os.getenv('JUPYTERHUB_API_TOKEN', '')

@jhamman I think you can already test current status. I am testing it on our staging server. Here is the configuration I used last time.

@minrk when can you review here? I really want to finish this asap :)

this pr contains many changes unrelated to authentication. i am going to restructure it into smaller ones. sorry that i didn't have time to do it before.

moved to https://github.com/jupyterhub/binderhub/pull/666.


super tabs doesn't work on ionic 3.6.0

Today I update ionic to 3.6.0, it breaks super-tab
Exception:
Uncaught (in promise): TypeError: nav.getAllChildNavs is not a function TypeError: nav.getAllChildNavs is not a function     at getNavByIdOrName (http://localhost:8100/build/vendor.js:22408:31)     at getNavByIdOrName (http://localhost:8100/build/vendor.js:22410:36)     at App.getNavByIdOrName (http://localhost:8100/build/vendor.js:22309:42)     at getNavFromNavGroup (http://localhost:8100/build/vendor.js:66747:44)     at hydrateSegmentsWithNav (http://localhost:8100/build/vendor.js:66715:37)     at convertUrlToSegments (http://localhost:8100/build/vendor.js:66695:12)     at UrlSerializer.parse (http://localhost:8100/build/vendor.js:66360:16)     at DeepLinker.getSegmentByNavIdOrName (http://localhost:8100/build/vendor.js:25630:58)     at SuperTabs.ngAfterViewInit (http://localhost:8100/build/vendor.js:76582:39)     at callProviderLifecycles (http://localhost:8100/build/vendor.js:11520:18)
Could u help to look this issue?
Thanks very much~

Same problem with mine

Having the same issue

Could ionic team please stop to make this plugin break every new upgrade ? ^^

Having the same issue

Having the same issue.
Is ionic-angular's bug?
Ionic Framework: ^3.6.0
Ionic App Scripts: 2.0.2
Angular Core: ^4.1.3
Angular Compiler CLI: 4.1.3
Node: 8.1.0
OS Platform: macOS Sierra
Navigator Platform: MacIntel
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

Having the same issue

https://forum.ionicframework.com/t/ionic-3-6-0-getactivechildnavs-of-undefined/100810

Maybe it's the nav change in ionic 3.6

Yes i think it is

Fixed in 4.0.1 ... Sorry about the delay.

Sorry @ihadeed, it's not working here 😢

I updated my project a few minutes ago by using npm i ionic-angular@latest ionic2-super-tabs@latest --save-exact and the result after re-run ionic serve is still the same.

Don't know why but currently I'm stay back on ionic-angular 3.5.0 and ionic2-super-tabs 3.0.2 because it's working. 😞

When I did the upgrade, I also deleted node_modules/ and package-lock.json
then did an npm-install ... I don't know if it was necessary, but "it
worked for me" :)
On Thu, Aug 10, 2017 at 4:47 PM Patrick Bußmann<EMAIL_ADDRESS>wrote:

Sorry @ihadeed https://github.com/ihadeed, it's not working here 😢
[image: 2017-08-11 01_43_32]
https://user-images.githubusercontent.com/15617021/29196724-a03f65b8-7e36-11e7-9b36-73c29232e1f1.png
I updated my project a few minutes ago by using npm i ionic-angular@latest
ionic2-super-tabs@latest --save-exact and the result after re-run ionic
serve is still the same.
[image: 2017-08-11 01_45_14]
https://user-images.githubusercontent.com/15617021/29196748-c7f436ba-7e36-11e7-9f5e-d8ce72409272.png
Don't know why but currently I'm stay back on ionic-angular 3.5.0 and ionic2-super-tabs
3.0.2 because it's working. 😞
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/zyra/ionic2-super-tabs/issues/135#issuecomment-321702629,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEAJKFXXo478TQ5QkRfZ5-NPglIHSUHks5sW5Z-gaJpZM4OmCS6
.

@ihadeed please reopen the issue. I created a new project and it is not working. Same Error.

Nothing here??
The problem still exists.

@danielehrhardt  it worked for me.

Closing this since it should be resolved. Make sure you are using compatible versions. I suggest you use latest version of ionic-angular and ionic2-super-tabs.

https://github.com/danielehrhardt/ionic2-super-tabs-example

+1 meet the same issue
my ionic info
cli packages: (/Users/tuo3/git/drip-ionic3/node_modules)
@ionic/cli-utils  : 1.12.0
ionic (Ionic CLI) : 3.12.0

global packages:
cordova (Cordova CLI) : 7.0.1

local packages:
@ionic/app-scripts : 2.1.4
Cordova Platforms  : android 6.2.3 ios 4.4.0
Ionic Framework    : ionic-angular 3.6.1

System:
ios-deploy : 1.9.1
ios-sim    : 4.1.1
Node       : v7.3.0
npm        : 2.15.12
OS         : macOS Sierra
Xcode      : Xcode 9.0 Build version 9A235

Misc:
backend : legacy

i'm using the lazy load page, i have three super tab father page a and three children page
aa,bb,cc
first i push page aa  to b
this.app.getRootNav().push('page-b');

then when i push back b to a ,i got this error
this.app.getRootNav().push('page-a');

so ,any ideas?

I'm facing the same problem!

There is definitely a bug when we navigate with setRoot() when we use nested super tabs.
Is there any workaround for this problem?

I'm facing Same Issue.
Ionic Framework: 3.7.1
Ionic App Scripts: 3.0.1
Angular Core: 4.4.4
Angular Compiler CLI: 4.4.4
Node: 6.11.4
OS Platform: Windows 10
Navigator Platform: Win32
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36 OPR/48.0.2685.32 (Edition Campaign 76)

Please do something here.

Thank you for your reply.
I have fixed my self.
Awesome!!!.
On Sat, Oct 21, 2017 at 11:57 AM, Daniel Ehrhardt<EMAIL_ADDRESS>wrote:

Please do something here.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/zyra/ionic2-super-tabs/issues/135#issuecomment-338412208,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AesjKqW4YTyk4FbylkxfRgvNcHqe7VPvks5suhRVgaJpZM4OmCS6
.

This solution worked for me for normal ion-tabs. Is it possible to add the [tabUrlPath] for super-tabs as well?

How did you fix it? @zhiyilee

Still facing this issue when reload page with tabs. I just updated ionic-angular and super-tabs and the issue persists.

Already found the solution but I had to change the code inside components/super-tabs.ts
Look for
getActiveChildNavs(): NavigationContainer[] {     return [this._tabs[this.selectedTabIndex]];  }
I tried console.log for this.selectedTabIndex and it returned -1 when you switch between ionic tabs and super-tabs page, so I changed it to
getActiveChildNavs(): NavigationContainer[] {     if (this.selectedTabIndex < 0) {       this.selectedTabIndex = 0;     }     return [this._tabs[this.selectedTabIndex]];   }
And now it works


Deprecated RichtTextResolver

Hi
We've noticed the following info during build of our application using the latest stroyblok-js-client (v 6.9.2):
Warning ⚠: The RichTextResolver class is deprecated and will be removed in the next major release. Please use the @storyblok/richtext package instead. https://github.com/storyblok/richtext/
As we're using your storyblok-generate-ts library, we realised that the library is currently still using the RichtText field type RichtextStoryblok for the generated interfaces.
In order to use the new RichText Resolver as suggested by Storyblok, the RichtText field type will be StoryblokRichTextNode.
Perhaps this is already a scheduled change on your end. We wanted to ask you nevertheless if you plan to implement the new type in the near future?
Many thanks in advance and keep up the good work!
Best regards,
Simon

Any PR is welcome I am currently invested in other projects but I am happy to review any PR to solve this issue


Add a button 'test' or 'training' on the command panel

Add a button to test in 'live' the command values instead of having to switch back to /main constantly.

The 'training' mode is activated by default on the commands tab.


Add command to increase storage

Objective
Add command to increase storage
Why
Reduce lead time to increase storage
How

Add command to increase storage
Use danger style for disk storage increase hint

Release plan

[ ] Merge this PR

#sre


Debounce xy chart data update

Replace throttle with debounce when handling xy chart update requests
Signed-off-by: hriday-panchasara<EMAIL_ADDRESS>

Here is what it will look like:


Use hard-coded junit version, to avoid tenants overriding enforcer pa…

…rameters
@bjorncs please review and merge.

Replaced by https://github.com/vespa-engine/vespa/pull/23149


Sort Icon Classes

Griddle major version
1.x
Changes proposed in this pull request
Applies TableHeadingCellAscending and TableHeadingCellDescending as className on the <span> that surrounds the sort icon.
Also, extracts a getSortIconProps utility function that can be shared between the default and local plugin TableHeadingCellContainer implementations.
Why these changes are made
Fixes #698
cc @moraleslos
Are there tests?
Story!

Thanks for adding this!


[11.0] pos_multi_session Cannot read property 'journal_id' of undefined

https://paste.ee/p/Wr2Ya
point_of_sale.assets.js:198 Uncaught TypeError: Cannot read property 'journal_id' of undefined
at child.init_from_JSON (point_of_sale.assets.js:198)
at child.init_from_JSON (point_of_sale.assets.js:447)
at child.initialize (point_of_sale.assets.js:197)
at child.Backbone.Model (web.assets_backend.js:39)
at child [as constructor] (web.assets_backend.js:81)
at new child (web.assets_backend.js:81)
at child.init_from_JSON (point_of_sale.assets.js:204)
at child.init_from_JSON (point_of_sale.assets.js:564)
at child.init_from_JSON (point_of_sale.assets.js:611)
at child.init_from_JSON (point_of_sale.assets.js:1568)

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Hello, @ImplantiSolucoes
This is known issue. Please try the solution from the https://github.com/it-projects-llc/pos-addons/pull/1090

Try to update pos_multi_session, pos_multi_session_restaurant and pos_multi_session_sync.

Clonin the Artem @Ommo73 repository is working perfectly, but this repository has not yet been merged with the @it-projects-llc repository. With everything @Ommo73 correction worked perfectly.

Hello, @ImplantiSolucoes
This is known issue. Please try the solution from the #1090

Thank you very much

[Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952


UnboundLocalError

Running NGL 0.0.5
Imported: 163/578
UnboundLocalError: local variable 'e' referenced before assignment

same as here https://github.com/solesensei/notion-game-list/issues/3

Could you attach cache file of games here?

Please reopen current issue if error perists in v0.0.6

new error:
Creating Notion template page...
Created!
Importing steam library games to Notion...
ServiceError: time data '2015 年 3 月 10 日' does not match any of formats '%d %b, %Y', '%b %d, %Y', '%b %Y'

Enter any key to exit```
[game_info_cache.txt](https://github.com/solesensei/notion-game-list/files/7212699/game_info_cache.txt)

always breaks at the same point after loading `Circuit Breaker` so I assume there's a game with a bad date format just after that

2015 年 3 月 10 日 - oh, this not seams like a valid date
Created a new issue


querier: Improve Partial Response Isolation

Handling Partial Response is hard. Ideally, there are no failures during query time and if there is any - we fail.
However, because of highly distributed nature in Thanos, we allow marking queries with certain partial response strategies. during query time.
Now there are certain nuances in "consistency" of partial response within the same single query (ignoring subqueries). They are kind of explained here: https://github.com/prometheus/prometheus/pull/7251#issuecomment-637671220
It would be nice to make sure we are consistent with this on the Thanos side as well. Although given no one noticed yet... It looks like a low priority.

Looks like there is no demand on this, keeping it closed for now :hugs:


Witness compression idea for account balances

(I shared this idea back on 21st April on Discord, where it was briefly discussed. I also acknowledge this is likely premature optimisation, but left it here for future reference.)
Account balances are 256-bit and Ether has 18 decimal digits, e.g. 1 Ether balance equals to 1e9, which is quite large, even if encoded as LEB128 as proposed in #30.
Since most account balances have a range between some dust amount and a few hundred Ether, we could use this to our advantage. (This actual median balance could be extracted from the state. As a starting point for experimentation I would suggest 0.1eth as the median balance.)
An idea would be to encode balances as a difference to this median value and store them as signed-LEB128. By signed-LEB128 I mean where a sign bit is stored and not that the value be a two's complement representation.
Note: I would not suggest this median value to be "rolling", rather just be defined in the specification.

Something to consider (but I'm not sure how important it actually is).
If we choose a median value and offset from it, then one potential vector that causes less optimal compression is that accounts with 1 wei end up taking more storage space than the common case of accounts who's balances are close to the median value.  This means that it's cheap to create accounts that maximize the compressed size since you just have to fund a bunch of accounts with a single wei.
Also, this has implementation overhead of having to do signed LEB128, parse the value, and then apply the offset....  All of this is admittedly not highly complex, but it is more complex than just directly encoding the value.
One benefit of direct encoding as unsigned LEB128 is that it gets more expensive to construct accounts that take up more bytes.  This comes at the cost of having all normal values take a few extra bytes to encode...
Given that leaf data is one of the smaller parts of the witness (citation needed), maybe it makes sense to just go with the simpler approach of directly encoding balances as unsigned LEB128, sacrificing a few bytes of additional compression for reduced complexity.  Quantitative research could shed further light on exactly what the size differences would be between these two approaches.

We have already gravitated to encode everything with LEB128, this here was a further optimisation discussed at the time. See @poemm's update to use LEB128: #36.
The 1 wei dust accounts is a good point!
I am not sure myself this is worth it and I would not suggest incorporating this into the current spec, however it may be a nice simple experiment for someone to conduct when there are sufficient tools available.

This is creative @axic . I did a simple experiment.
10^18 wei (= 1 eth) has LEB128 encoding 0x808090bbbad6adf00d, which is nine bytes.
The critical point when we start needing eight bytes is 2^49 wei (~= .00056 eth) = 0x8080808080808001 in LEB128.
The critical point when we start needing nine bytes is 2^56 wei (~= .072 eth) = 0x808080808080808001 in LEB128.
The critical point when we start needing ten bytes is 2^63 wei (~= 9.2 eth) whose LEB128 encoding is 0x80808080808080808001.
The critical point when we start needing eleven bytes is 2^70 wei (~= 1200 eth) whose LEB128 encoding is 0x8080808080808080808001.
We need a sign bit for the median optimization, so the critical points become 2^48, 2^55, 2^62, and 2^69 wei, which are approximately 0.00028, 0.036, 4.6, and 590 eth. Intuitively, balances within .036 eth of the median require eight or fewer bytes, and balances outside of 0.36 eth but with 4.6 eth of the median require nine bytes, and so on.
(Hopefully I didn't make any errors.)
Conclusions. This median optimization is great if many balances are very close, but may also be reasonable if most balances are withing 4.6 eth of the median. As for @pipermerriam 's caution against adversarial situations, with a median of 500 eth, 1 wei would require ten bytes (vs one byte without the optimization), so not a big concern as long as we put a limit on the median. Quantitative research over real-world data is needed, as @pipermerriam suggested.

I will write another optimization idea here because it is related to the subtraction
idea above. In fact, they can be combined.
Use division instead of subtraction and a divisor instead of a median. Each balance is encoded as a quotient and remainder pair. Choose a divisor to make make many balance remainders zero, which may be possible since many eth balances look like 231,000,000,000,000,000 wei (note: many trailing zeros). balance = quotient * divisor + remainder.


SIGSEGV in libmobile_vision_face.so

Hi,
In Google Play Console we can see quite a lot of crashes caused by SIGSEGV from face detector.
Stack trace shows only native code and we can't reproduce the bug.
There is a lot of crash clusters which are quite similar, the biggest one looks like this:

Android 6.0 (but other clusters are also from Android 4.4, Android 5.0)
various devices, around 20, most frequent are: j5xnlte, osprey_u2, htc_a16ul
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), dlmalloc_real
backtrace:
1. native: pc<PHONE_NUMBER>02f4da  /system/lib/libc.so (dlmalloc_real+1193)
2. native: pc<PHONE_NUMBER>0dd59f  /data/data/com.google.android.gms/files/com.google.android.gms.vision/face/libs/armeabi-v7a/libmobile_vision_face.so
3. native: pc<PHONE_NUMBER>0dd7ed  /data/data/com.google.android.gms/files/com.google.android.gms.vision/face/libs/armeabi-v7a/libmobile_vision_face.so
4. native: pc<PHONE_NUMBER>0de549  /data/data/com.google.android.gms/files/com.google.android.gms.vision/face/libs/armeabi-v7a/libmobile_vision_face.so
5. native: pc<PHONE_NUMBER>5a99e3  /data/data/com.google.android.gms/app_chimera/m/00000025/oat/arm/DynamiteModulesA_GmsCore_prodmnc_xhdpi_release.odex

version: com.google.android.gms:play-services-vision:9.4.0
Could you check this? Around 2% of our daily sessisons are affected by this bug so we need to solve this.
Thanks

This looks like an "out of memory" issue, which can happen if the app holds a lot in memory while calling into the face detector.  I'd suggest looking at your memory usage, and perhaps limiting the resolution of images that you send into the face detector (e.g., downsample images that are very large to smaller images).

Thanks for the answer, it seems reasonable, but:

malloc returns NULL if it cannot allocate memory, SIGSEGV means different problems with the memory
we already limit the size of the bitmap which is sent into the face detector, maximum size is set to 1280 kB (e.g. 1131x1131) which doesn't seem big to me
if there was a problem with memory usage, we would see a lot OutOfMemoryError exceptions from different places of the app, not just this crash in the face detector
when I don't limit the size of the bitmap sent into the face detector and continuously increase it, the app crashes with this expception, which we don't see in Google Play Console at all:

Caused by: java.lang.OutOfMemoryError: Failed to allocate a 15342415 byte allocation with 3693560 free bytes and 3MB until OOM
    at com.google.android.gms.vision.Frame.zzcht(Unknown Source)
    at com.google.android.gms.vision.Frame.getGrayscaleImageData(Unknown Source)
    at com.google.android.gms.vision.face.FaceDetector.detect(Unknown Source)

our app can run in a loop for several hours without any crash even on device with 512 MB, but most of the devices where this crash appeared had 2GB of memory

So I'm not sure if this is a problem of high memory usage.
Do you have any other idea?
Maybe we are doing something wrong in general:

we create the face detector and release it every time we need the face detection, I guess that it's better to have one static global instance of the face detector and reuse it, am I right?
we are using the face detector within AsyncTask, is this safe?

The face detector needs to scan the image at different resolutions, in order to find faces of different sizes.  This involves temporarily allocating buffers.  If the app is nearly (but not quite) out of memory, this allocation may be pushing it over the limit.
It's fine to release the face detector every time (as long as no other thread is using it).
Each instance of the face detector is thread safe.  However, if you have multiple instances of the face detector that you are using concurrently, I'm not sure whether this would cause problems (I'm not familiar with all of the details of the native code implementation).  You might try to limit your usage to only one instance, if you aren't already doing so.


Update required version of zxcvbn to 0.1.9

Results produced are still compatible with dropbox/zxcvbn.js 4.4.2 but this one solves an issue with performance that could cause considerable impacts.
This version makes the algorithm to work with performance linear O(n) in relation to size of passwords, before this change it could be polynomial O(n^c).
There are more details on zxcvbn Changelog and on issue: formigarafa/zxcvbn-rb#6 and the code changes on PR formigarafa/zxcvbn-rb#7.

@formigarafa thanks for this!


Added the ability to set an image title in the NavigatorIOS

Motivation
This pull request adds support for setting an image title in NavigatorIOS. It sets the titleView property of UINavigationItem.
Example
Added an example into UIExplorer

Coding style
The code follows the same style as the rest of RCTNavItem and RCTWrapperViewController.

By analyzing the blame information on this pull request, we identified @ericvicenti and @janicduplessis to be potential reviewers.

There you go @javache! AFAIK, removing @synthesize with a readonly property with a getter defined avoids the creation of the ivar.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.

I tried to merge this pull request into the Facebook internal repo but some checks failed. To unblock yourself please check the following: Does this pull request pass all open source tests on GitHub? If not please fix those. Does the code still apply cleanly on top of GitHub master? If not can please rebase. In all other cases this means some internal test failed, for example a part of a fb app won't work with this pull request. I've added the Import Failed label to this pull request so it is easy for someone at fb to find the pull request and check what failed. If you don't see anyone comment in a few days feel free to comment mentioning one of the core contributors to the project so they get a notification.


add prompt for directory on ng new

Bug Report or Feature Request (mark with an x)
- [ ] bug report -> please search issues before submitting
- [x ] feature request

Command (mark with an x)
- [x ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Desired functionality
add a prompt on ng new asking generate in new folder (appname) or in current directory.
i often forget too add the --directory ./ flag and i doubt i am alone in that

The --directory option is considered an advanced option that should only be used for specific situations.  The recommended approach is to generate a new project in a directory named after the project name.  The prompts have been chosen to facilitate the customization of a small set of commonly used options.  With the primary goal of aiding new developers through the process of setting up a new project.


kitti_zhou_train loader

Hello!
As a next step, after managing to train the model on the mapillary dataset, I would also like to experiment with different depth datasets. For starters, I only have one question. Why does the kitti_zhou_dataloader make use of the right images? Is it only to have more trainig samples? Because as far as I know, the training process is not stereo, but monocular.
Here is a snipped from the kitti_zhou_train loader:
    dataset_left = StandardDataset(
        data_transforms=transforms_common,
        **cfg_left,
        **cfg_common
    )

    dataset_right = StandardDataset(
        data_transforms=[tf.ExchangeStereo()] + transforms_common,
        **cfg_right,
        **cfg_common
    )

    dataset = ConcatDataset((dataset_left, dataset_right))

    loader = DataLoader(
        dataset, batch_size, True,
        num_workers=num_workers, pin_memory=True, drop_last=True
    )

Thanks again! 😊

Hello,
yes, the right images are only used to increase the training material. In the split defined by [Zhou et al., SfMLearner, CVPR 2017] both left and right images from the KITTI dataset are used for training.

Thank you!
I do have one more question, though. Why doesn't the loader return also the ground truth for depth?

There is no special reason. It is rather that I did not need it during training so far. In principle you could also load the depth ground truth, if you would like to.


Design Notes March 3

Login page

[x] Bigger
[x] White box on the right should be height 100%
[ ] (more tk)

Indexes
General

[x] Clicking back or on the breadcrumb should remember the page in the index the user was on (that is, in this example the list of subjects should be on page 4)
[x] User dropdown needs more padding around items – should be 44px tall

Search/Filter

[x] Dropdown arrow should be black
[x] Checkboxes look like they've been stretched?
[x] Checkboxes also shouldn't be teal

Transcribe viewer
Main Interface

[x] Use Karla Regular (300?) instead of bold (600) for the subject name
[x] Is there an outline version of the metadata icon? It's quite heavy
[x] Mark as Approved toggle stroke is too thick, should just be 1px
[x] Add a checkbox inside the Mark as Approved toggle when the subject has been approved (accessibility)
[x] Undo icon needs to be a little larger to match the other icons
[x] All the up/down arrows (More dropdown, etc) need to be reversed so their default state is pointing down
[x] Original Subject, Transcribed Text, and All Pages labels should be 18px

Original Subject

[x] Zoom controls should have a white background with 50% opacity
[x] (Change from InVision) Swap zoom controls so Zoom Out is on the far left
[x] Clicking on a line in the original subject should highlight the corresponding transcribed line ("As an admin I want to click on a line and view that line’s consensus transcription as well as a grid showing individual (raw) transcriptions.") (#112)
[x] Switch open and closed circles on lines: in the FER transcriptions we're doing open circles for the start of a line, closed for the end (#105)

Transcribed Lines

[x] Add some space between Flag and Consensus Score
[x] Smaller drag handles on each line

Transcribed Line Detail

[x] Remove the bullet from transcribed details (eg Anonymous)
[x] Text input should be taller
[ ] Clicking anywhere outside the line should close the modal
[ ] Other buttons (toolbar for example) should be disabled while modal is open

All Pages section

[x] Capitalize p in Pages
[x] Thumbnails need a hover state
[x] Let's use the teal as the selected outline since teal is used in the pagination circles

@beckyrother
Few questions:
Login Page

What needs to be bigger?
What does "more tk" mean?

Main Interface

The checkbox inside the mark as approved toggle. Is this an "x" or check depending on the state?

Transcribed Line Detail

This is completed in another PR, so the bullets make more sense when the design is complete. However, do you still want it to read (June 11, 2018 16:22 usename) without a bullet?

All Pages section

What should the hover state look like?

Login Page

bigger type:

Aggregate Line Inspector: 32px
bigger logos (should all be 50px tall)

more tk = more to come:

the provided design didn't account for different screen sizes, i'll upload some variations

Main interface

yes please

transcribed line detail

yes, please remove the bullet

@beckyrother
One more question:
Transcribed Line Detail

Clicking anywhere outside the line should close the modal

Does this mean that clicking anything outside the transcription modal should close the modal?  If so, by default, all toolbar items would be "disabled" since clicking them would only result in closing the modal.

Yes, that's correct

Updated the original to remove more tk and add the responsive widths for the home page.
We also decided not to allow clicking outside the modal to close it, but will still disable everything outside the modal while it's open.

So all buttons should be disabled when a transcription is open. Does this include the undo button? The undo button tracks changes on the editor page. Currently, if you open the transcription modal, you can press the undo button to close that modal again.
Let's say we disable all buttons, including undo, when that modal opens. That means we would:

Make a bunch of text changes and rearrange some lines
Select a transcription to open the modal
Close that modal
If we then press the undo button, we our only able to ever go back to that last step where the modal was open since the ability to press the undo button again is disabled.

Because of this, we should either:
A: Keep the undo button from disabling so we can continue undoing steps
B: Keep opening/closing the modal from being a part of the undo tracking
I can also share screens for a video walkthrough if this is still unclear.

Thanks Will! Good to point out. Let's keep the undo button active so you can step back more gradually, and do B as well.


Demo specification doesn't work with tabs

Can't parse specification when tabs are used

function call to trim white spaces needed on inputs


Old values when update

Is there some solution provide me to get the old values when ChangeType is Update?
I need to know which column update from what value.

This is not an issue.
SqlTableDependency report you only new values.
However you can implement a custom solution changing a little bit of code.


Enable AutoFSTrim and set nodiscard in storageclass

Enabling AutoFSTrim by default while running  Torpedo tests
What this PR does / why we need it:
Enables cluster option "AutoFSTrim" and set "nodiscard" in storageclass
Which issue(s) this PR fixes (optional)
Closes #
Special notes for your reviewer:

Test log:https://jenkins.pwx.dev.purestorage.com/job/Users/job/Santosh/job/BasicTorpedo/18/console

Couple of things

Remove commented code
Do we check for px version before trying to set auto-fstrim ? If not we need to check that or else we will break upgrade or older tests.

Thanks for the review @vilasd , removed commented code (I pushed the changes prematurely )
Point(2) is taken care now.

Test log: https://jenkins.pwx.dev.purestorage.com/job/Users/job/Santosh/job/BasicTorpedo/30/ :  Auto FSTrim supported.
Not supported Auto FSTrim : https://jenkins.pwx.dev.purestorage.com/job/Users/job/Santosh/job/BasicTorpedo/31/


New form template

Trello
New form template
This adds the CYA and Confirmation pages to the default service template.
This is hidden behind a feature flag so will only appear once branching is released, this is because we require the connection menus to be present.
Update Acceptance tests
Tests have been updated to accommodate the new service default template.

great stuff, nat. couple of small comments


use shutil rather than tar for copy fix #6003

This patch uses termie/go-shutil to copy containers rather than
tar.  The problem with tar is that it does not copy symlinks pointing
outside of the volume.

Wait a moment, getting some errors


When calling tag_object, pid references file is not created if a cid references file already exists

When calling tag_object, ensure that a pid references file is written when an existing cid references file already exists, and write a new pytest to confirm.
Additionally, check that the cid references file does not already contain the pid to write and throw an exception if so.

This has been completed via Bug-75: Missing Pid Reference Files


Bug: Datepicker not displaying January

Info
If you use keyboard arrows to select a day, and go into the month of January, the dropdown that displays the month goes blank. This can be replicated in Storybook, and in our template apps. This can be seen in Chrome, Firefox, and Edge.
Replication Steps

Go to Storybook
Select Datepicker
Open a Datepicker
Use tab to get to the day selection
Use arrow keys to scroll around
Navigate to the month of January, notice the month dropdown goes blank as soon as you hit January.

Acceptance Criteria:

January should appear in the month dropdown when selecting a day inside January with keyboard controls

Closed as fixed


Remove Sk27 and TreeBASE from repostiory

Closes #882
no repsonse from admins of repository, so data no-longer accessible

Ok self merging as I need it to continue other PRs ;)


Bug with the "--allow-hosts" option

Problem Description
Regarding the --ignore-hosts option, it performs its task well, correctly forwarding the traffic. However, there is a bug with the --allow-hosts option.
Despite the --allow-hosts option correctly allowing the traffic of the chosen host to go through the proxy, it will result in the following error: Client TLS handshake failed. The client does not trust the proxy's certificate for www.example.com (OpenSSL Error([('SSL routines', '', 'sslv3 alert certificate unknown')]))
This is not true, as the Android device trusts the proxy's certificate and by running the same exact command without the --allow-hosts option simply results in a successful SSL decryption, resulting in the expected HTTPS request showing up on mitmweb. Enabling that option runs which never happens with that option enabled.
Steps to reproduce the behavior:

Run mitmweb --mode wireguard@3001 --mode http3@3002 --allow-hosts "10.0.0.*" --allow-hosts "www.example.com"
Open your Android Chrome browser and, for example, try visiting https://www.example.com
Validate that you did not successfully capture the expected HTTPS request, due to an SSL decryption failure

System Information
Mitmproxy: 10.0.0.dev (+254, commit be02b1e)
Python:    3.11.3
OpenSSL:   OpenSSL 3.1.0 14 Mar 2023
Platform:  macOS-13.3.1-arm64-arm-64bit

Do you by chance have a simpler repro, maybe only using cURL? If not, could you please verify that this also happens with http3 disabled?


Weblog at the end of the Readme doesn't exist anymore

The weblog linked in Other resources redirects now to the base of the blog, so I'm assuming the post doesn't exist anymore. I can't find it archived anywhere either.
https://www.vincit.fi/en/blog/deploying-django-to-elastic-beanstalk-with-https-redirects-and-functional-health-checks/

Oooh good catch @alexgmin thanks! I'll remove it.


How to add token

How to add token?

Hey IceBrick01! The token is required in .env form which means you need to go in ur repl’s secrets and add a secret named “TOKEN” and set the value as your bot’s token, it should work that way, feel free to ask another question!


Livereload not reloading native/plugin (SQLite)

Short description of the problem:
Once I use the run command while testing my App, it runs fine, debug also shows it seems to be working. Once I change the code and it reloads and I get the following error on Chrome Debug.
plugin_not_installed
What behavior are you expecting?
For it to keep the plugin loaded or working.
Steps to reproduce:

ionic cordova run android --livereload // it works
save a file to trigger a reload // it doesn't work anymore
You can terminate the process and run steps 1 and 2 again

insert any relevant code between the above and below backticks

import { SQLite, SQLiteObject } from '@ionic-native/sqlite';
class DB {
	private db: any = SQLiteObject;
	constructor(){
		var sqlite = new SQLite();
		sqlite.create({
			name: 'name.db',
			location: 'default'
		})
		.then((DBO: SQLiteObject) => {
			this.db = DBO;
		})
		.catch(e => console.log(e));	//The plugin_not_installed error comes from here
	}
}
export default new DB();

Which @ionic/app-scripts version are you using?
cli packages: (C:\Users\***\AppData\Roaming\npm\node_modules)

	@ionic/cli-utils  : 1.12.0
	ionic (Ionic CLI) : 3.12.0

global packages:

	cordova (Cordova CLI) : 7.0.1

local packages:

	@ionic/app-scripts : 2.1.4
	Cordova Platforms  : android 6.2.3
	Ionic Framework    : ionic-angular 3.6.1

System:

	Node : v6.11.3
	npm  : 5.4.2
	OS   : Windows 10

Misc:

	backend : pro

While it's not showing, SQLlite plugin is also installed and working, since it works the first time.

i have same problem :(

same

i'm so sorry, work fine after platform ready event!

Same problem here, and im using the platform ready event.

I have the same problem, did someone find a solution?

@Kahel3352 The problem happens because Ionic has not yet loaded the SQLite plugin. To control the flow of the application use the "platform.ready ()"

Sorry, I don't understand. What should I do with platform.ready()?


LRO without timestamps

We have failures during tests. So, removed timeStamp may help us avoid this issue.

Running the tests and see if there are failures.


Topic/dialog fixes

Adapted to follow a more logical markup where for instance the overlay is contained by the dialog and not viceversa.

@dami-gg Can you put a breaking change section into commit message ... If it's a breaking change.
Thoughts:

Does It make sense to support the overlay outside of the dc-dialog block? @see ng-dialog
Does it make sense to add dc--has-dialog or dc--has-dialog-open for body/html (for example to hide scroll bar)?

@rbarilani I'm rewriting the commit message to include the breaking change
Regarding your questions:

Does It make sense to support the overlay outside of the dc-dialog block? @see ng-dialog
I would say that if we want to add some kind of general overlay it should be a new component, since this is strictly linked (as we state with the class name) to the dialog.

Does it make sense to add dc--has-dialog or dc--has-dialog-open for body/html (for example to hide scroll bar)?
@gabrielhl may better give us an answer on this

I agree that a more general dc-overlay might be useful in case someone wants to dim the screen for another reason, although I don't have any use cases in mind. In terms of the markup I think you guys have more knowledge than me since you're the ones doing implementation.

@dami do you think is possible to create a dc-overlay atom and use that atom in the dialog molecule.... (overlay stay outside) ? does it make sense?

@rbarilani yes I think it totally makes sense and it should work fine, I'll create an issue for that and work on it next week, since we need the dialog changes to be in the new release with the font-icon for our application and that's less urgent


Make better graph for object relationships

Not sure if something python-native or if I should try and recreate Maltego XML

Should show misphunter objects using their index attribute as the core pivot and all of their underlying attributes and (value + type) should be deduped


Fixed CL_DEVICE_TYPE_ALL to be a long type to avoid sign extension

Description
This fixes CL_DEVICE_TYPE_ALL to be passed correctly to OpenCL backend  by changing the immediate for CL_DEVICE_TYPE_ALL to be have the suffix 'L' which avoids the sign extension and removes the previous workaround for Codeplay as a backend.
Problem description
CL_DEVICE_TYPE_ALL was not being correctly provided to OpenCL backends. The CL_DEVICE_TYPE_ALL enumeration was coming out as 0xffffffffffffffff rather than 0xffffffff when used with clGetDeviceIDs which was causing some OpenCL backends to fail as it was passing a technically incorrect value.
This can be seen by building Codeplay "host" target - https://github.com/codeplaysoftware/oneapi-construction-kit/blob/main/doc/developer-guide.md#compiling-oneapi-construction-kit
Backend/s tested

[x] OpenCL
[ ] PTX
[ ] SPIRV

OS tested
Mark the OS where this PR is tested.

[x] Linux
[ ] OSx
[ ] Windows

Did you check on FPGAs?
If it is applicable, check your changes on FPGAs.

[ ] Yes
[x] No

How to test the new patch?
Run any test with OpenCL backend chosen and oneAPIConstructionKit built as "host"
Provide instructions about how to test the new patch.

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

Thank you @coldav . This makes sense. I wish Java has unsigned primitive types.
Pending action is the CLA. It needs to be singed with the same email as the author commit.

Awesome! Thank you @coldav . I will merge this PR.


mercurial: 6.1 -> 6.1.1

Description of changes
This updates pkgs.mercurial to the latest release, containing important bug
fixes.
Release notes: https://www.mercurial-scm.org/wiki/Release6.1
Also removing a now upstreamed patch.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Duplicate of https://github.com/NixOS/nixpkgs/pull/167365.


feat(types): Add gRPC Richer Error Model support (Docs)

Motivation
The gRPC Richer Error Model is quite useful to send additional feedback to clients, and is supported by many gRPC libraries in other languages.
Solution
This PR concludes the work initiated in #1068, building on the changes made in #1300. It improves the tonic-types docs and adds a README file to it.

Happy to have contributed to this awesome project! Thanks for all reviews and improvement suggestions!


Adding security - with Spring Security OAuth2 Resource Server

Hello sensei  @salaboy,
In this PR:

Added spring-security-oauth2-jose , spring-boot-starter-security and spring-security-oauth2-resource-server
Added CORS configuration
Added OAuth2 Resource Server configuration and mapping roles from keycloak
Added property spring.security.oauth2.resourceserver.jwt.issuer-uri= on application.properties

Hi @mcruzdev. Thanks for your PR.
I'm waiting for a salaboy or todo member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository.

Hi @mcruzdev. Thanks for your PR.
I'm waiting for a salaboy or todo member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign salaboy
You can assign the PR to them by writing /assign @salaboy in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign salaboy
You can assign the PR to them by writing /assign @salaboy in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


added-hover

Description
added hover effects to 'appoint a doctor' button
Issues: #871
Type of PR

[ ] Bug fix
[X ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist

[X ] I have gone through the contributing guide
[ X] I have updated my branch and synced it with project main branch before making this PR
[ X] I have performed a self-review of my code
[ X] I have tested the changes thoroughly before submitting this pull request.

Can you fix merge conflicts and tag me


API install does not replace Dir.home when pouring bottles

brew doctor output
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Some installed kegs have no formulae!
This means they were either deleted or installed manually.
You should find replacements for the following formulae:
<EMAIL_ADDRESS>
Warning: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
  jsonschema
<EMAIL_ADDRESS><EMAIL_ADDRESS>
Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause formulae that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
<EMAIL_ADDRESS>
Warning: You have uncommitted modifications to Homebrew/homebrew-cask.
If this is a surprise to you, then you should stash these modifications.
Stashing returns Homebrew to a pristine state but can be undone
should you later need to do so for some reason.
  cd /opt/homebrew/Library/Taps/homebrew/homebrew-cask && git stash -u && git clean -d -f

Uncommitted files:
   M Casks/virtualbox.rb

Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
HOMEBREW_VERSION: 4.0.5-103-gbde256a
ORIGIN: https://github.com/Homebrew/brew
HEAD: bde256a325f60463f14c4d19cd40e0be99befa53
Last commit: 7 hours ago
Core tap origin: https://github.com/Homebrew/homebrew-core
Core tap HEAD: a3a6d385a270d02e75c180949805b12c87331612
Core tap last commit: 7 hours ago
Core tap branch: master
Core tap JSON: 08 Mar 13:31 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DEVELOPER: set
HOMEBREW_EDITOR: nano
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_MAKE_JOBS: 10
HOMEBREW_NO_ENV_HINTS: set
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 10-core 64-bit arm_firestorm_icestorm
Clang: 14.0.0 build 1400
Git: 2.39.2 => /opt/homebrew/bin/git
Curl: 7.87.0 => /usr/bin/curl
macOS: 13.3-arm64
CLT: <IP_ADDRESS>.1.1668646533
Xcode: 14.2 => /Applications/Xcode_14.2.app/Contents/Developer
Rosetta 2: false

What were you trying to do (and why)?
Install any formula that uses a working_dir of Dir.home in the service block.
What happened (include all command output)?
The poured services define a home directory that only applies to the CI runners
WorkingDirectory=/Users/brew/actions-runner/_work/homebrew-core/homebrew-core/bottles/home

        <key>WorkingDirectory</key>
        <string>/Users/brew/actions-runner/_work/homebrew-core/homebrew-core/bottles/home</string>

What did you expect to happen?
For that value to be replaced by the user's home directory
Step-by-step reproduction instructions (by running brew commands)
brew install gitlab-runner
cat $(brew --prefix gitlab-runner)/homebrew.mxcl.gitlab-runner.plist
cat $(brew --prefix gitlab-runner)/homebrew.gitlab-runner.service

I talked with @carlocab and @Bo98 about this in #14952 and we think that the best way to solve this is to add the service block info to the formula JSON representation that we return from the API. This will require the least possible changes to brew services which makes the most sense. It will also fix a few other install from API related issues that it's having right now.
One important point though is that we will still need to substitute the HOME directory path when building the API JSON and then loading from it.

Does that also work for projects that ship their own plist/service file?

Yeah, if you check for "plist" in core you will find some that do. And generally it would fit our approach of "using upstreams defaults" to do this.

brew services doesn't properly support that but we could add DSL for that, e.g.
service do
  provided true
end

This will give the option to add require_root e.g. like we could before with plist_options.

I was only able to find one instance of a service file being generated by hand in a formula and placed at one of the brew service file paths.
/u/l/H/L/T/h/homebrew-core (master|✔) $ git grep -A 4 -E 'homebrew\..*\.(plist|service)'
Formula/isc-dhcp.rb:    (prefix/"homebrew.mxcl.dhcpd6.plist").write plist_dhcpd6
Formula/isc-dhcp.rb:    (prefix/"homebrew.mxcl.dhcpd6.plist").chmod 0644

The ice cream formula does something similar but it doesn't end up at the expected file path so it wouldn't get covered by this.
Are there any other ones that I'm missing here?
All of the other ones used the service do block or the def plist method which are both supported when installing service files. The def plist method is not fully supported by brew services right now since it doesn't have a service block but I think it's a sort of legacy option. Anyway it's only used in 5 formulas.
/u/l/H/L/T/h/homebrew-core (master|✔) [1]$ git grep -E 'def plist$'
<EMAIL_ADDRESS> def plist
<EMAIL_ADDRESS> def plist
Formula/elasticsearch.rb:  def plist
<EMAIL_ADDRESS> def plist
Formula/kibana.rb:  def plist

Either way we should probably just leave the service files in the bottle to get overwritten which is the current behavior.

I think there's also some that override plist_name.

I talked with @carlocab and @Bo98 about this in #14952 and we think that the best way to solve this is to add the service block info to the formula JSON representation that we return from the API.

Could we use the post_install approach and use the formula from the bottle here instead?

Either way we should probably just leave the service files in the bottle to get overwritten which is the current behavior.

Agreed.

Could we use the post_install approach and use the formula from the bottle here instead?

We could but there's one notable difference to note here: the formula file for post_install only needs to be valid at install time while the formula file for a service needs to be valid ideally forever (or at least the lifetime of that package version).
Notably: if we deprecate something and change a postinstall then we can just rebottle. If we deprecate something and change the service block we would need to revision bump and hope people haven't done brew pin, and provide different deprecation messaging (it's currently aimed at maintainers).

We could even plant this information in the bottle manifest, though maybe that's complicating things too much.

Cool, good explanation, thanks @Bo98, agreed given that the API makes the most sense here then.

Alternative option: we could also require all services to run in a working directory that brew controls.

I think this is really reasonable and probably makes this all a lot easier, right?

Alternative option: we could also require all services to run in a working directory that brew controls.

Even if we did that we'd still have to substitute the home directory in the run command which shows up twice in homebrew/core. It also wouldn't solve the issues with brew services expecting a service block and not functioning as expected without it.

This might already be covered in the brew services problems that @Bo98 outlined above, but just in case it isn't, caveats for service blocks are currently not shown correctly when you don't have HOMEBREW_NO_INSTALL_FROM_API set. For example:
❯ diff -u <(HOMEBREW_NO_INSTALL_FROM_API= brew info socket_vmnet) <(HOMEBREW_NO_INSTALL_FROM_API=1 brew info socket_vmnet)
--- /dev/fd/13  2023-03-17 15:39:33.183107616 +0800
+++ /dev/fd/14  2023-03-17 15:39:33.183970272 +0800
@@ -16,6 +16,11 @@
 socket_vmnet is keg-only, which means it was not symlinked into /usr/local,
 because /usr/local/bin is often writable by a non-admin user.

+
+To restart socket_vmnet after an upgrade:
+  sudo brew services restart socket_vmnet
+Or, if you don't want/need a background service you can just run:
+  /usr/local/opt/socket_vmnet/bin/socket_vmnet --vmnet-gateway=<IP_ADDRESS> /usr/local/var/run/socket_vmnet
 ==> Analytics
 install: 116 (30 days), 664 (90 days), 773 (365 days)
 install-on-request: 116 (30 days), 662 (90 days), 771 (365 days)

@carlocab It looks like caveats are hardcoded when loaded from the API right now and that's what's probably causing the problem. Probably worth making a separate issue about that.
https://github.com/Homebrew/brew/blob/5550aa215e172f492cbcc137d64e79c57cb784c9/Library/Homebrew/formulary.rb#L266-L270

This is probably something we should look into addressing globally instead of case-by-case as issues come up. For casks, we already have a degree of this with HOMEBREW_PREFIX and appdir. Probably worth looking into adding that for formulae as well.

@Rylan12 I'm not sure we need such a generic solution for formulae. Right now this seems to only be needed for services and caveats. It's an interesting idea though.

This is probably something we should look into addressing globally instead of case-by-case as issues come up. For casks, we already have a degree of this with HOMEBREW_PREFIX and appdir. Probably worth looking into adding that for formulae as well.

I agree, personally. Given this only applies to JSON generation: it feels a bit weird to have to do this in multiple sides that are going to end up in the same string in the end and can all be replaced there en-masse.


Analysis Modules

'analyse_raw_telemetry.py' attempts to import a custom module in 'import Telemetry.Orbit as orbit' (line 13). It doesn't appear to be contained anywhere in the repo or from any source.

Sorry for the delay in the response. I've fixed the code by removing that dependency. The code was never actually supposed to be executed anyway.

Thanks for the quick turnaround! Everything seems to be functioning quite well now. Thanks for all the work you've put into this repo!


Put validator balances into a separate list in the state

One aesthetic change I think we should consider is switching the get_effective_balance function to just take the state as an argument instead of (as in this PR right now) the validator balance entry. I could see future changes that use parts of the validator registry entry as well as the balance entry to calculate the effective balance, so we may as well just make grab all the data it needs from the state.

@vbuterin I'm going to clean up per my recommendations and see if we like it.

I updated get_effective_balance to take state and index and fixed a couple other issues.


No faster_session_id cookie is created

Hi Thanks for creating Faster!
I'm just starting out with it and am having a block: when I follow the documentation to use sessions, I end up being able to write and read from the KV store session, but as soon as I go to another page the session is empty because no faster_session_id cookie was ever created. I can see in the session middleware code it is supposed to be created, but nothing appears on the browser cookie store.
Am I missing something or is the documentation missing something?

I found the error and it is me. :-)


deCONZ - Remove mechanisms to import a configuration from configuration.yaml

Breaking Change:
With Home Assistant releases 0.100 and 0.101 deCONZ will end support of importing configurations from configuration.yaml
In 0.100, deCONZ will ignore what is in the deconz:
In 0.101, deCONZ will fail on config validation and not allow the deconz section to exist in configuration.yaml.
TL;DR This will no longer work:
deconz:

Description:
Remove import mechanism of configuration.yaml, but allow deconz: to exist
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

Removing support for config yaml goes against what home assistant is saying to users.

Config yaml is not going away.

I think this should be discussed further. CC @balloob

This is the same thing as the unifi component we discussed a few days ago @martinhjelmare

I don't think it can be up to each integration since home assistant is saying config yaml won't go away. Those two ways are not compatible.
I think we should write an ADR and make it clear what the requirements are for config ways when structuring integrations.
My suggestion is that we require both config yaml and config flow for new integrations. And we don't allow removing either config yaml or config flow as a way of config for existing integrations.
Whatever the outcome is, I hope we make it more clear than today what the expectations for integrations are for users, for contributors and for organization members.

There are multiple integrations that only allow configuration through gui; met, ps4, SMHI
Allowing integrations not having a configuration.yaml path is not the same as saying that configuration.yaml is going away

I forgot to mention that I removed any references to configuration.yaml in deCONZ integration documentation nearly a year ago.


openimageio: 1.8.9 -> 1.8.14

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from openimageio.
meta.description for openimageio is: '"A library and tools for reading and writing images"'.
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
Warning: no invocation of /nix/store/zx3jk68skn0jfazzb8hviydgxfkbvw35-openimageio-1.8.14-bin/bin/iconvert had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/zx3jk68skn0jfazzb8hviydgxfkbvw35-openimageio-1.8.14-bin/bin/idiff had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/zx3jk68skn0jfazzb8hviydgxfkbvw35-openimageio-1.8.14-bin/bin/igrep had a zero exit code or showed the expected version
/nix/store/zx3jk68skn0jfazzb8hviydgxfkbvw35-openimageio-1.8.14-bin/bin/iinfo passed the binary check.
/nix/store/zx3jk68skn0jfazzb8hviydgxfkbvw35-openimageio-1.8.14-bin/bin/maketx passed the binary check.
/nix/store/zx3jk68skn0jfazzb8hviydgxfkbvw35-openimageio-1.8.14-bin/bin/oiiotool passed the binary check.
3 of 6 passed binary check by having a zero exit code.
0 of 6 passed binary check by having the new version present in output.
found 1.8.14 with grep in /nix/store/zx3jk68skn0jfazzb8hviydgxfkbvw35-openimageio-1.8.14-bin
directory tree listing: https://gist.github.com/8d866bb2b9db8654a4903ce48824a30a
du listing: https://gist.github.com/ce8fdd4832e512a10100830bd815ffa4

Instructions to test this update (click to expand)

One-time optional setup to skip building using Cachix:

Install cachix from https://cachix.org/
Use r-ryantm's cache:cachix use r-ryantm

Test this update by entering a nix shell, seeing what is inside the
result, and if applicable, running some binaries:
nix-shell --pure -I nixpkgs=https://github.com/r-ryantm/nixpkgs/archive/b01770a4af552cd7276940eb8ba35e20fd34ce82.tar.gz -p openimageio
ls -la /nix/store/zx3jk68skn0jfazzb8hviydgxfkbvw35-openimageio-1.8.14-bin

cc @cillianderoiste for testing.

Failure on x86_64-darwin (full log)
Attempted: openimageio
Partial log (click to expand)
  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:3 (project)

-- Configuring incomplete, errors occurred!
See also "/tmp/nix-build-openimageio-1.8.14.drv-0/source/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/nix-build-openimageio-1.8.14.drv-0/source/build/CMakeFiles/CMakeError.log".
builder for '/nix/store/2rl273xl1474dx0zpbs7k5kk38ag1vr2-openimageio-1.8.14.drv' failed with exit code 1
error: build of '/nix/store/2rl273xl1474dx0zpbs7k5kk38ag1vr2-openimageio-1.8.14.drv' failed

Success on aarch64-linux (full log)
Attempted: openimageio
Partial log (click to expand)
checking for references to /build in /nix/store/1f69jv9knaggjfyzrznaa6xhypc0n6l4-openimageio-1.8.14...
shrinking RPATHs of ELF executables and libraries in /nix/store/4pw9b30plm92x02hv4jy9gbc5dkz9yqk-openimageio-1.8.14-dev
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/4pw9b30plm92x02hv4jy9gbc5dkz9yqk-openimageio-1.8.14-dev
checking for references to /build in /nix/store/4pw9b30plm92x02hv4jy9gbc5dkz9yqk-openimageio-1.8.14-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/wpx2n9afvjdf3lnkqdn5nypxi3f673iy-openimageio-1.8.14-doc
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/wpx2n9afvjdf3lnkqdn5nypxi3f673iy-openimageio-1.8.14-doc
checking for references to /build in /nix/store/wpx2n9afvjdf3lnkqdn5nypxi3f673iy-openimageio-1.8.14-doc...
/nix/store/kwrhy3hhpg8h4wnjiwybrfg4n3ah9n1g-openimageio-1.8.14-bin

Success on x86_64-linux (full log)
Attempted: openimageio
Partial log (click to expand)
checking for references to /build in /nix/store/ahpb2w8w7yvhimrflj1z05vqfngiwwxn-openimageio-1.8.14...
shrinking RPATHs of ELF executables and libraries in /nix/store/x0gj83is7q9g01nw6nfqy2lhgan5hqh1-openimageio-1.8.14-dev
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/x0gj83is7q9g01nw6nfqy2lhgan5hqh1-openimageio-1.8.14-dev
checking for references to /build in /nix/store/x0gj83is7q9g01nw6nfqy2lhgan5hqh1-openimageio-1.8.14-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/vdd4jhf1h5rqjbsnx1szrsg8z3mds8sc-openimageio-1.8.14-doc
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/vdd4jhf1h5rqjbsnx1szrsg8z3mds8sc-openimageio-1.8.14-doc
checking for references to /build in /nix/store/vdd4jhf1h5rqjbsnx1szrsg8z3mds8sc-openimageio-1.8.14-doc...
/nix/store/zx3jk68skn0jfazzb8hviydgxfkbvw35-openimageio-1.8.14-bin


How do I make a keystore file?

How do I make a keystore file?
I used keystore V3 object and use its data, and then converted it to JSON file.
It looks like a fine Keystore file but actually it can't be imported by other wallets like MyEtherWallet

I'll check and back to you

Okay i created test json file using:
let privateKey = "39c17117ae3d57c564791af01163e2fd5e25cc221a55017bd5559bc7acd23b86".hex
print(try! EthereumKeystoreV3(privateKey: privateKey, password: "SomePassword")!.serialize()!.string)

here is my json file:
{
  "version" : 3,
  "id" : "ce38d533-9108-4d34-8d08-23dddc21a791",
  "crypto" : {
    "ciphertext" : "9e5519db5db8846dc6fc25ee00fa29e52125fce7cbd12e89ea746d9f8fe5e0ba",
    "cipherparams" : {
      "iv" : "f71fd3cf6d9a8227f16949d57e17a327"
    },
    "kdf" : "scrypt",
    "kdfparams" : {
      "r" : 6,
      "p" : 1,
      "n" : 4096,
      "dklen" : 32,
      "salt" : "450f9a6cbbe9272ad19b6ad550a40c808ca73eef7dd6d54aaf77870570828d31"
    },
    "mac" : "482315b6ebb030a280ea77c7242328fa2c60da8f3dfe12ac77ee28f10df7f1fd",
    "cipher" : "aes-128-cbc"
  },
  "address" : "0x9a2c72150c4fc3c86de8ecf0092a02e35d2843fd"
}

I tried to import this file from myetherwallet and it gives me this errror.

I look further and find that when i create wallet in myetherwallet "by keystore file"
https://www.myetherwallet.com/create-wallet

I got the same error:

So looks like its myetherwallet bug.
KeystoreV3 uses this format: https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition

@v57  no it's not.
Try other wallets. They give same error as well.
https://github.com/MyEtherWallet/MyEtherWallet/issues/411#issuecomment-453238885
This is what I got from MEW

You can change aes mode but this still doesn't works
EthereumKeystoreV3(privateKey: privateKey, password: "SomePassword", aesMode: "aes-128-ctr")

{
    "version" : 3,
    "id" : "474e19ff-bd9e-4bee-93e0-62118184e0c2",
    "crypto" : {
        "ciphertext" : "627285333fc8d875bbc5ddc7abf81fdc4c9f18295d3c72d2e3b2f2b4460ceaa5",
        "cipherparams" : {
            "iv" : "9fec66b4d0c6368e470f792578ee7f77"
        },
        "kdf" : "scrypt",
        "kdfparams" : {
            "r" : 6,
            "p" : 1,
            "n" : 4096,
            "dklen" : 32,
            "salt" : "9241b994cff02dcb6da3523a3f8b2e6db88d95ee13bbe4c71112f3613b18047d"
        },
        "mac" : "763cc96af6c49b7d4eae0bd69ddafb5e5b5e59898170aa15059d2b59b7cad10d",
        "cipher" : "aes-128-ctr"
    },
    "address" : "0x9a2c72150c4fc3c86de8ecf0092a02e35d2843fd"
}

@v57 if you try on chrome extension MEW or Web version, it will give you more clue.
And it works well if I make a new wallet using MEW -> get keystore -> import the keystore with password.
But not with the keystore I made using web3Swift :(

I found that address in web3swift stores with 0x prefix and other keystores don't. I will fix that and make an update in 5 minutes
web3swift keystore:
{
  "version" : 3,
  "id" : "90a519d7-d904-41f8-984a-f89df29c2fd5",
  "crypto" : {
    "ciphertext" : "7a2c65b70fbeb4e64de1ec30beab912ba91916096929d9e9acbb342691c8c145",
    "cipherparams" : {
      "iv" : "e5a68a8726435f209217d922886734ce"
    },
    "kdf" : "scrypt",
    "kdfparams" : {
      "r" : 6,
      "p" : 1,
      "n" : 4096,
      "dklen" : 32,
      "salt" : "91ed40d16d7fed9d6e0a1c1f95e86ce4d9af3133487132c582cc0b63cecdc185"
    },
    "mac" : "077dd4f5ed3bbf323ef231fa9aecfd851b4bfabe9d9e4ffb9cfd5385b8299fc1",
    "cipher" : "aes-128-ctr"
  },
  "address" : "0x9a2c72150c4fc3c86de8ecf0092a02e35d2843fd"
}

geth keystore:
{
  "version" : 3,
  "id" : "59878f79-90a9-486f-84f2-53d8ad3ae0ff",
  "crypto" : {
    "ciphertext" : "81342f3b03c7017fe60d1a0011fb638602e7ea484ebe133ddf16b42cef07bd52",
    "cipherparams" : {
      "iv" : "ec20e507822a3079cb44d8fdc10debd9"
    },
    "kdf" : "scrypt",
    "kdfparams" : {
      "r" : 8,
      "p" : 1,
      "n" : 262144,
      "dklen" : 32,
      "salt" : "58b8f612eadb75b9009db1f12392491ed3f6eaddd92aaa7467c1c6018337ef77"
    },
    "mac" : "405528ae469b0ef8103508f75e99178d555cacb947a422ec9ff4e430121852de",
    "cipher" : "aes-128-ctr"
  },
  "address" : "4619617d35e8d1d85dfecc6d664f7af7e14a4236"
}

@v57 but does that fix the problem?

Yes

Cant find worker seems like a MEW error, can you let me know what browser you use, you can also use vintage.myetherwallet.com to test

@krboktv i'm using safari

@SteadyAction Okay should work now. Update your pods

@v57
It still doesn't work with BIP32Keystore. Have you tried with BIP32Keystore?
If it works for you, can show me your example code using BIP32Keystore?
Maybe I am doing it wrong.

There are no standards for BIP32 keystore json file. Because it contains multiple addresses with different paths you cannot use it in other wallets. You can convert it to keystore v3 then export.

So this should work:
let password = "some"
let keystore = try BIP32Keystore(mnemonics: Mnemonics(), password: password)
let privateKey = try keystore.UNSAFE_getPrivateKeyData(password: password, account: keystore.addresses[0])
let json = try EthereumKeystoreV3(privateKey: privateKey, password: password)!.serialize()

@v57
well... it's still not working
{
  "version" : 3,
  "id" : "ce38d533-9108-4d34-8d08-23dddc21a791",
  "crypto" : {
    "ciphertext" : "9e5519db5db8846dc6fc25ee00fa29e52125fce7cbd12e89ea746d9f8fe5e0ba",
    "cipherparams" : {
      "iv" : "f71fd3cf6d9a8227f16949d57e17a327"
    },
    "kdf" : "scrypt",
    "kdfparams" : {
      "r" : 6,
      "p" : 1,
      "n" : 4096,
      "dklen" : 32,
      "salt" : "450f9a6cbbe9272ad19b6ad550a40c808ca73eef7dd6d54aaf77870570828d31"
    },
    "mac" : "482315b6ebb030a280ea77c7242328fa2c60da8f3dfe12ac77ee28f10df7f1fd",
    "cipher" : "aes-128-cbc"
  },
  "address" : "9a2c72150c4fc3c86de8ecf0092a02e35d2843fd"
}

This is what you generated. I saved this file as json file. I tried to import this keystore on MEW and Metamask. All of them said "unable to decrypt data"
This is really weird. Please help

Because its encrypted in aes-128-ctr. Not aes-128-cbc
{
  "version" : 3,
  "id" : "90a519d7-d904-41f8-984a-f89df29c2fd5",
  "crypto" : {
    "ciphertext" : "7a2c65b70fbeb4e64de1ec30beab912ba91916096929d9e9acbb342691c8c145",
    "cipherparams" : {
      "iv" : "e5a68a8726435f209217d922886734ce"
    },
    "kdf" : "scrypt",
    "kdfparams" : {
      "r" : 6,
      "p" : 1,
      "n" : 4096,
      "dklen" : 32,
      "salt" : "91ed40d16d7fed9d6e0a1c1f95e86ce4d9af3133487132c582cc0b63cecdc185"
    },
    "mac" : "077dd4f5ed3bbf323ef231fa9aecfd851b4bfabe9d9e4ffb9cfd5385b8299fc1",
    "cipher" : "aes-128-ctr"
  },
  "address" : "9a2c72150c4fc3c86de8ecf0092a02e35d2843fd"
}

then how do I export Keystore that can be imported in MEW/Metamask?
How do i make my keystore encryted in aes1280cbc?

I am using EthereumV3

MyEtherWallet works fine with aes-128-ctr mode. Also geth uses aes-128-ctr mode too.

web3swift uses aes128cbc mode by default

let privateKey = "39c17117ae3d57c564791af01163e2fd5e25cc221a55017bd5559bc7acd23b86".hex
print(try! EthereumKeystoreV3(privateKey: privateKey, password: "SomePassword")!.serialize()!.string)

Should return
{
  "version" : 3,
  "id" : "ce38d533-9108-4d34-8d08-23dddc21a791",
  "crypto" : {
    "ciphertext" : "9e5519db5db8846dc6fc25ee00fa29e52125fce7cbd12e89ea746d9f8fe5e0ba",
    "cipherparams" : {
      "iv" : "f71fd3cf6d9a8227f16949d57e17a327"
    },
    "kdf" : "scrypt",
    "kdfparams" : {
      "r" : 6,
      "p" : 1,
      "n" : 4096,
      "dklen" : 32,
      "salt" : "450f9a6cbbe9272ad19b6ad550a40c808ca73eef7dd6d54aaf77870570828d31"
    },
    "mac" : "482315b6ebb030a280ea77c7242328fa2c60da8f3dfe12ac77ee28f10df7f1fd",
    "cipher" : "aes-128-cbc"
  },
  "address" : "9a2c72150c4fc3c86de8ecf0092a02e35d2843fd"
}

SOLVED thanks


More sophisticated error message when git clone on remote doesn't work

Based on https://github.com/deployphp/deployer/issues/305#issuecomment-106450979
When the remote server is not set up properly to be able to clone the repo, there could be a smarter error message.
So instead of just dumping
Host key verification failed.
It could say something like
Host key verification failed. It seems you forgot to add the repository's host's
fingerprint as a 'known host'. Run `ssh -T<EMAIL_ADDRESS>on the remote
server to add it to the list of known hosts, then try deploying again.

This could avoid the creation of new issues in this repo, when the developer using Deployer doesn't realise that it's not the tool that's wrong, but rather the remote server configuration.
Does anyone know whether this could be implemented?
Of course this could lead us to even more error-checking regarding the remote ssh key which could have different error messages:

Is an ssh key in use?
If it is, then is the git repo's host added to the known hosts?
If it still errors for some reason, output the default Host key verification failed. error message.

This could help developers instantly locate the problem.
@elfet I propose a new issue label called "DX" which would focus on Developer Experience, and this issue could be labeled as such.
For usage of the DX label, see: Symfony DX

Done.

:+1:


KAFKA-14138: Wrapping all non-fatal exceptions in KafkaException and throwing all fata exceptions directly for producer.send()

Currently the producer.send() method has different mechanisms of throwing exceptions when EOS is enabled and when it is not. Furthermore, the exceptions returned in callbacks are also different at times which could lead to confusion. This PR aims to close the confusion by following one of the methodologies of KIP-691.
It wraps all non-fatal exceptions inKafkaException and throws fatal exceptions directly. It does the same for all styles of producer.send() variations(EOS/non-EOS/callback/future.get()). Note that the definition of fatal/non-fatal exceptions were obtained from the KIP.
To get the PR working, needed to make test changes. There was one method where AuthorizationException was wrapped in KafkaException. I removed those checks which made the tests working. This is what exactly the PR was aiming for. I didn't add more tests right now. If reviewers feel so, can add for sure.

@guozhangwang , I made some changes based on what I understood of the KIP and whatever we discussed. Plz review whenever you get the chance. Thanks!

Looks like there are some checkstyle failures. Would fix them.

Hello @vamossagar12 thanks for the PR.
I took another pass on KIP-691 and updated some exception cases in the wiki, and I think we need to thoroughly go through them before we can continue on this specific change. Could we hold on that until KIP-691 is completely went through with a consensus?

hello @guozhangwang Thanks for the note. I noticed that you had made some changes to the KIP. This PR, I kept the changes focussed on send method but the KIP covers all methods. Sure, I would wait until there's consensus on that.


New-BicepParameterFile should have an -AsHashtable parameter

Is your feature request related to a problem? Please describe.
When generating bicep parameter files there might be a need of modifying the output before it is written to disk. Update-BicepParameterFile is an example of where it would come in handy.
Describe the solution you'd like
A new parameter set with a parameter called -AsHashtable that will return a hashtable instead of writing a paramterFile to disk.
Additional context
Should be implemented similiar to -AsHashtable on Build-Bicep

Closing this issue. Parameter files can now be generated using VSCode and we are getting closer to native bicep parameter files. I believe that folks will stop using this command.


Empty cond access validation

Added a conditional check to verify if the result of the conditional access policy check was null

If null, set variable to an empty array so that it doesn't create invalid JSON when outputted to file

Refer to issue #19
🧪 Testing

Run the ./SCuBA.ps1 against an estate with no conditional access policies
Open ProviderSettingsExport.json once complete
Check the key conditional_access_policies
Correct value should be []
Incorrect value will likely throw the error below to console

ConvertFrom-Json : Invalid JSON primitive: .
At C:\Users\Sankgreall\Documents\AzureDevOps\ScubaGear\PowerShell\ScubaGear\Modules\CreateReport\CreateReport.psm1:39
char:44
+ $SettingsExport =  Get-Content $FileName | ConvertFrom-Json
+                                            ~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [ConvertFrom-Json], ArgumentException
    + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromJsonCommand

✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All future TODOs are captured in issues, which are referenced
in code comments.
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All relevant repo and/or project documentation has been updated
to reflect the changes in this PR.
[ ] Tests have been added and/or modified to cover the changes in this PR.
[ ] All new and existing tests pass.

✅ Pre-merge checklist

[ ] Revert dependencies to default branches.
[ ] Finalize version.

✅ Post-merge checklist

[ ] Add a tag or create a release.

Thanks for the PR and suggested changes - the changes were merged through another PR as part of our larger AAD provider error handling and to fix a few earlier issues: #83 #68 #19.
Closing this PR.


[BUG] Crash when providing an int tag directly to a cfngin stack definition

Bug Description
Providing a tag such as CostCenter: 1234 and passing it directly in to a cfngin stack causes a crash due to Boto doing type validation on tag values (and only allowing str). This does not occur when using the top level tags field.
For instance, this works without issues:
namespace: ${namespace}
cfngin_bucket: ""

tags:
  CostCenter: 1234

stacks:
  example-stack:
    template_path: template.yaml

And this will crash with a type error:
namespace: ${namespace}
cfngin_bucket: ""

stacks:
  example-stack:
    template_path: template.yaml
    tags:
      CostCenter: 1234

We should probably determine what type of int to str conversion is happening to the top level tags field and apply the same to the stack level tags field.
In the meantime, a workaround is to quote the offending tag:
namespace: ${namespace}
cfngin_bucket: ""

stacks:
  example-stack:
    template_path: template.yaml
    tags:
      CostCenter: "1234"

Expected Behavior
Tag value handling at the stack level should be the same as the top level tags field.
Steps To Reproduce
Already provided in description.
Runway version
2.6.7
Installation Type
pypi (pip, pipenv, poetry, etc)
OS / Environment
N/A
Anything else?
N/A

Further information needed about error message produced.

I have been able to reproduce the different behavior between defining tags at the root level versus the stack level.  They do both fail now after the pydantic conversion.
The root level error is now:
[runway] 1 validation error for CFNgin Config File
tags.CostCenter
  Input should be a valid string [type=string_type, input_value=1234, input_type=int]
    For further information visit https://errors.pydantic.dev/2.8/v/string_type

and the stack level error is:
[runway] Parameter validation failed:
Invalid type for parameter Tags[1].Value, value: 1234, type: <class 'int'>, valid types: <class 'str'>

Even though the errors are different, they do now at least both indicate the same action to be taken, which is use a string value.  I think this is sufficient to indicate what needs to be done to address the issue.
Do you agree @jake-skipper ?

Looks good to me. Most of the time I ran into this was during Runway upgrades, and it was very confusing when some would work and others fail. If it fails consistently now (and has a nice readable error now) I think that's plenty resolved.
An enhancement might be to convert it to a string rather than have the user worry about it, but I don't know how big that lift is.

This is Jake btw, personal GitHub account lol.

After further discussion, auto-conversion as proposed may make troubleshooting more difficult in certain cases and is best to let this return an error if input is not a string.


How to run serveral jobs

fun main() {
    runBlocking {
        doInfinity("*/3 * * * *") {
            println("3")
        }

        doInfinity("* * * * *") {
            println("1")
        }
    }
}

I thought two jobs would run like this:
1
1
1
3
1
1
1
3

but it was actually:
3
3

What should I do? btw thanks for the nice library!

Hi and thank you for your issue. You may try next snippet:
fun main() {
    runBlocking {
        launch {
            doInfinity("*/3 * * * *") {
                println("3")
            }
        }

        launch {
            doInfinity("* * * * *") {
                println("1")
            }
        }
    }
}

thank you! @InsanusMokrassar


Add cherrytree

This router is truly dope

Nvm. Cherrytree is good, but I'm not gonna dissect it here.


 Currently search does nothing. When backend is be up, all components will be implemented with proper filters.
In this short video you can see, how this basic filter looks like:
https://github.com/flatly-pw/mobile-app/assets/53649257/02025662-50c3-4574-a881-eacc0cee2f79

One important note: search-bar for destination isn't working currently. I will implement it today/tomorrow, and add to this pr (I forgot about it).

I think in the "when" filter it would be more intuitive to change the start date upon the third click. Now the only way to change the start day seems to be setting a very late end date and then clicking somewhere before it to reset.

New calendar behavior @kemeyr
https://github.com/flatly-pw/mobile-app/assets/53649257/22373ccb-d1ca-4bd3-87f3-49dfbd8fb2d9

Destination search is implemented (also, like other components not connected with backend)
https://github.com/flatly-pw/mobile-app/assets/53649257/3dc287be-587f-4190-90be-7c9bf10311e5


Feature flag: disable gas auto simulation in keplr

add NEXT_PUBLIC_KEPLR_PREFER_NO_SET_FEE feature flag to use GAS_PRICE without simulation

Bug resolved, not needed


[Spotify Player] A song cannot be played

Extension
https://www.raycast.com/mattisssa/spotify-player
Description
When using a freshly installed Spotify, no song can be played
Steps To Reproduce

MacOS
Default Config
Play a playlist or a song under the Search option, e.g. typing 'Moby'
"An identifier can't go after..."

Current Behaviour
No song can be played from Raycast.
Expected Behaviour
A song can be played from Raycast directly.

Same with radio


Swagger API page is empty

After deploying superset in docker, the swagger page(/swagger/v1) displayed nothing except the superset menu header.
The configuration FAB_API_SWAGGER_UI has been set to True in superset_config.py.
Expected results
All superset APIs should be listed.
Actual results
An empty page.
How to reproduce the bug
Go to https://host:port/swagger/v1
An empty page was displayed
Environment

superset version: 0.999.0

@victarary
docker-compose on this repo will not use your superset_config.py

@dpgaspar
Actually, I have put superset_config.py under pythonpath in container superset_app and restarted docker-compose.
Everything has taken effect except FAB_API_SWAGGER_UI.


Keep completed flag for retained/duplicated HttpData

When you retain and duplicate an HttpData interface, then the "isCompleted" flag is lost and reset to "true" even if it was "false" from the original copied HttpData:
Related to #1
This issue already exist in netty 4.1.78-Final version and is fixed, see #12576, so the fix must be ported here.

will close this issue when the pr #1 will be merged.


yarn2nix: Support for nested yarn workspaces

Motivation for this change
Builds on top of https://github.com/NixOS/nixpkgs/pull/151995 for yarn v2 support. Supports nesting workspaces as such:
"workspaces": {
  "packages": [
    "packages/*",
    "packages/subworkspace/*",
    "packages-2"
  ]
},

where subworkspace dir doesn't contain a package.json, but has subdirectories that do.
Adapted from old yarn2nix repo PR:
https://github.com/nix-community/yarn2nix/pull/89
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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

[x] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Wow this thing is still here!

I haven't tested it out in more than a year, because I stopped building node based packages using nixpkgs; i moved to dream2nix.
Feel free to test and merge


Show how to read out the results of a sub looped module in the documentation

Please can you show how you can read off created outputs within a sub module which is called as part of an array?
For instance the following is a simple example of reading the app insight key and function app url outputs from an array of created function apps.
var services = [
  'anApi'
  'anotherApi'
]

module moduleCreateFunctionApp 'function.bicep' = [for functionAppName in services:{
... module properties here
}

// Output all the sub module items to a final array
output createdFunctionApps array = [for i in range(0, length(services)): {
  functionAppInsightsKey: moduleCreateFunctionApp[i].outputs.functionAppInsightsInstrumentationKey
  functionAppUrl: moduleCreateFunctionApp[i].outputs.functionAppUrl
}]

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

ID: 29aa29b9-d815-0d49-3ae4-dce770899fa4
Version Independent ID: cbde0a1e-6200-5cf2-55c1-d2fdca115d9d
Content: Iterative loops in Bicep - Azure Resource Manager
Content Source: articles/azure-resource-manager/bicep/loops.md
Service: azure-resource-manager
Sub-service: bicep
GitHub Login: @mumian
Microsoft Alias: jgao

@zebslc - Thanks for bringing this to our attention. We will investigate it further and update you shortly.

@zebslc - Will this sample work?
param location string = resourceGroup().location
param storageCount int = 2
var baseName = 'store${uniqueString(resourceGroup().id)}'
module stgModule './storageAccount.bicep' = [for i in range(0, storageCount): {
name: '${i}deploy${baseName}'
params: {
storageName: '${i}${baseName}'
location: location
}
}]
output storageAccountEndpoints array = [for i in range(0, storageCount): {
endpoint: stgModule[i].outputs.storageEndpoint
}]

@zebslc - I have included this sample in the loops article.


Allow explicitly setting up the remote state

This adds a new setup-state command which basically only runs configureRemoteState. This allows explicitly pulling down the remote state (in a CI environment for example) without other side effects.
Our use case is that we use some values from the state to configure the application layer (DNS names, things like that).
We currently run a terragrunt validate beforehand to pull down the state, but it feels a bit hacky.

What version of Terragrunt are you using? As of v0.8.0, all of Terragrunt's logs go to stderr. Or are you saying that the logs from Terraform's remote config command are getting in the way?

It's the latter. I guess another solution would be to fix that instead.

If you redirect the remote config logs to stderr when Terragrunt is executing it, will that fix your issue? If so, that might be simpler than adding (and then maintaining) a whole new command.

It would fix the issue. I still find it strange that there is no way to explicitly setup the remote state without side effects (unless I overlooked one?)

I agree there should be some sort of init command for Terragrunt. It came up in #107 as well. See my latest comment for some ideas on what that command could look like.

Since #110 was merged, I'm going to close this. I'm still open to PRs for some sort of terragrunt-init command as discussed in #107.