Cannot unlock a previously imported account

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues: https://github.com/MinaProtocol/mina/issues
[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/MinaProtocol/mina/discussions

Description
It is not possible to unlock a previously imported account.
Steps to Reproduce

Import the key

mina accounts import --privkey-path /keys/my-wallet

Confirm the account has been imported and is unlocked. I tested this importing with an environment variable and without.

mina accounts list

Lock the account e.g. (or by restarting the node)

mina accounts lock --public-key B62...

Confirm it is now locked via:

mina accounts list

Try to unlock and it'll fail with ❌ Error: Wrong password provided (in ["unlockAccount"])

Tested on multiple passwords (re-encryped a key) and while using env vars and manually entering the password.
...
Expected Result
The password should unlock the account.
Actual Result
❌ Error: Wrong password provided (in ["unlockAccount"])
How frequently do you see this issue?
Always
What is the impact of this issue on your ability to run a node?
High
Status
root@d4ff686723f0:/data# mina client status
Mina daemon status
-----------------------------------

Global number of accounts:                     6228
Block height:                                  10569
Max observed block height:                     10569
Max observed unvalidated block height:         10569
Local uptime:                                  17h8m33s
Ledger Merkle root:                            jxdwZW3wh3ugkH7g372NDX4gMG5mQxRkjxF2LCntDfcdACSGSE8
Protocol state hash:                           3NKpxWqnM4JJL3ZQcifLf3bE5MLrzPBr3qXEyvLZXp3TfKbYmLb4
Chain id:                                      b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
Git SHA-1:                                     1f98b8be743e78993670e7b148be72c894b212e3
Configuration directory:                       /root/.mina-config
Peers:                                         46
User_commands sent:                            6
SNARK worker:                                  None
SNARK work fee:                                100000000
Sync status:                                   Synced
Catchup status:
        To build breadcrumb:           0
        To initial validate:           0
        Finished:                      362
        To verify:                     0
        To download:                   0
        Waiting for parent to finish:  0

Block producers running:                       0
Coinbase receiver:                             Block producer
Best tip consensus time:                       epoch=2, slot=2059
Best tip global slot (across all hard-forks):  16339
Consensus time now:                            epoch=2, slot=2060
Consensus mechanism:                           proof_of_stake
Consensus configuration:
        Delta:                     0
        k:                         290
        Slots per epoch:           7140
        Slot duration:             3m
        Epoch duration:            14d21h
        Chain start timestamp:     2021-09-24 00:00:00.000000Z
        Acceptable network delay:  3m

Additional information
This is on mina version Commit 1f98b8be743e78993670e7b148be72c894b212e3 on branch release/1.2.0

Contact coinbase support team https://my.forms.app/form/617e6cc70d06846f4ca75ee4

I'm seeing the exact same behavior. Unable to unlock the already imported account (tested on the interactive menu and using env_variable, same output).
It's quite a blocking bug if you cannot use your account.
Version 1.2.2:
Commit feee67cc2836bf12e792510a2440f28a0275740e on branch master

For anyone else experiencing this (other than importing the wallet to another wallet such as Auro, which supports this keystore file type) you can also remove the wallet from the node, assuming you have the original by deleting the file from ~/.mina-config/wallets/store and then restarting the daemon. After that you should be able to reimport the account and it will be unlocked.

i got the exact same error.

For anyone else experiencing this (other than importing the wallet to another wallet such as Auro, which supports this keystore file type) you can also remove the wallet from the node, assuming you have the original by deleting the file from ~/.mina-config/wallets/store and then restarting the daemon. After that you should be able to reimport the account and it will be unlocked.

this is working for me. thanks
$ ~/.mina-config/wallets/store$ mina version
Commit feee67cc2836bf12e792510a2440f28a0275740e on branch master

It works for me too.

Also having this issue. Running node in docker container.
Error: Wrong password provided (in ["unlockAccount"])
I've noticed that I am still able to perform other functions requiring authentication with CODA_PRIVKEY_PASS (e.g. mina advanced dump-keypair ). The issue seems to be related directly to unlocking.
Not sure it it is relevant, but I began to experience this issue sometime after updating to 1.2.2-feee67c-mainnet (docker), I had previous been running 1.1.5-a42bdee without issue.  However, now even if I revert to 1.1.5, I continue to get the error on unlock.

I had the same issue on version "Commit feee67cc2836bf12e792510a2440f28a0275740e on branch master" on Ubuntu 18.04. @garethtdavies 's solution fixed it. Thanks.

I can reproduce it locally.

I've tracked down the immediate cause of the problem, still need to work out how we get into a bad state.

Fixed by #10190.


Problem / trigger visualisation after upgrade (Minor Display issue)

Describe the bug
After updating to the latest grafana version, updating zabbix plugin to latest,
in my grafana dashboard, on the Problems visualisation, with list view,
Severity Icon toggle doesn't work anymore
Ack toggle - same issue
Operationnal Data - same issue
it's giving some large displays on problems and then allow less informations to be displayed...
It's not a really critical bug,
but it's less usefull this way.
Expected behavior
Problem display being more condensed to allow more to be displayed.
Screenshots
This is the new look :

With the following fields activated.

This is the previous look:

Software versions

Grafana
Zabbix
Grafana-Zabbix Plugin

11.2.2
6.4.19
4.5.5.

Everything is up-to-date

I forgot to say...
That i use this plugins for years now... and you did an incredible work. 😄

Thanks for the kind words and raising an issue for us. This is fixed and will be released in this week. https://github.com/grafana/grafana-zabbix/pull/1894

Hi, this problem is solved and will probably be fixed in the next version of the plugin.
See here for workaround until the new version is released: https://github.com/grafana/grafana-zabbix/issues/1868


fix: fix deprecated scan commands exit code

ggshield secret scan (...) commands would exit with a non-zero code when a secret is found, but not the now deprecated ggshield scan (...) commands.

Codecov Report

Merging #238 (9d66066) into main (3225572) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #238   +/-   ##
=======================================
  Coverage   93.35%   93.35%
=======================================
  Files          62       62
  Lines        2498     2499    +1
=======================================
+ Hits         2332     2333    +1
  Misses        166      166

Flag
Coverage Δ

unittests
93.35% <100.00%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

ggshield/cmd/main.py
97.67% <100.00%> (+0.05%)
:arrow_up:

Continue to review full report at Codecov.

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


postInstall script fails with mozjpeg. ¿What does this mean?

Laravel Mix Version: 2.0.0
Node Version (node -v): v8.6.0
NPM Version (npm -v): 5.6.0
OS: Ubuntu 16.04 64bits

Description:
After the npm install, the postInstall script fails with mozjpeg.
><EMAIL_ADDRESS>postinstall /home/zaqueo/www/virtuagora-core/node_modules/mozjpeg
> node lib/install.js

  ⚠ The `/home/zaqueo/www/virtuagora-core/node_modules/mozjpeg/vendor/cjpeg` binary doesn't seem to work correctly
  ⚠ mozjpeg pre-build test failed
  ℹ compiling from source
  ✖ Error: autoreconf -fiv && ./configure --disable-shared --disable-dependency-tracking --with-jpeg8  --prefix="/home/zaqueo/www/virtuagora-core/node_modules/mozjpeg/vendor" --bindir="/home/zaqueo/www/virtuagora-core/node_modules/mozjpeg/vendor" --libdir="/home/zaqueo/www/virtuagora-core/node_modules/mozjpeg/vendor" && make -j4 && make install -j4
Command failed: autoreconf -fiv
/bin/sh: 1: autoreconf: not found

    at ChildProcess.exithandler (child_process.js:271:12)
    at emitTwo (events.js:125:13)
    at ChildProcess.emit (events.js:213:7)
    at maybeClose (internal/child_process.js:927:16)
    at Socket.stream.socket.on (internal/child_process.js:348:11)
    at emitOne (events.js:115:13)
    at Socket.emit (events.js:210:7)
    at Pipe._handle.close [as _onclose] (net.js:547:12)

Steps To Reproduce:
A fresh install of laravel-mix
$ npm install

If I remember correctly, then you need to install gcc g++ & python (at least in a docker container based on node:7-alpine).

Ah.. just noticed that you are on ubuntu 16.04. According to this (old) thread, you might want to sudo apt-get install libtool automake autoconf nasm

I had the same problem with Homestead,  installing missing dependencies solved my issue:
$ sudo apt install pkg-config nasm

i had the same issue with the latest homestead ...
i had to install the following deps:
sudo apt-get install autoconf libtool pkg-config nasm build-essential libpng16-dev

For Arch Linux users:
sudo pacman -S make gcc libtool automake autoconf nasm pkg-config.


[go_router] ShellRoute, builder function gets called only when called by context.go() ,

Steps to Reproduce

Copy shellRouter sample from https://github.com/flutter/packages/blob/main/packages/go_router/example/lib/shell_route.dart
replace GoRouter.of(context).go('/a'); with  GoRouter.of(context).push('/a');
put a print function in Shell widget(ScaffoldWithNavBar) to check whether it gets called.
Tap that link

Expected results:
It should call the shell widget on context push also.
Actual results:
only calls shell widget in context.go()

Hi @IamSAL, thanks for filing the issue.
But I can not reproduce the issue on the latest stable and master channels with your reproduction steps above.

Demo
https://user-images.githubusercontent.com/104349824/191009614-2349d24e-2be9-446e-921f-ee584079f524.mov

Sample code
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

final GlobalKey<NavigatorState> _rootNavigatorKey =
    GlobalKey<NavigatorState>(debugLabel: 'root');
final GlobalKey<NavigatorState> _shellNavigatorKey =
    GlobalKey<NavigatorState>(debugLabel: 'shell');

// This scenario demonstrates how to set up nested navigation using ShellRoute,
// which is a pattern where an additional Navigator is placed in the widget tree
// to be used instead of the root navigator. This allows deep-links to display
// pages along with other UI components such as a BottomNavigationBar.
//
// This example demonstrates how to display a route within a ShellRoute and also
// push a screen using a different navigator (such as the root Navigator) by
// providing a `parentNavigatorKey`.

void main() {
  runApp(ShellRouteExampleApp());
}

/// An example demonstrating how to use [ShellRoute]
class ShellRouteExampleApp extends StatelessWidget {
  /// Creates a [ShellRouteExampleApp]
  ShellRouteExampleApp({Key? key}) : super(key: key);

  final GoRouter _router = GoRouter(
    navigatorKey: _rootNavigatorKey,
    initialLocation: '/a',
    routes: <RouteBase>[
      /// Application shell
      ShellRoute(
        navigatorKey: _shellNavigatorKey,
        builder: (BuildContext context, GoRouterState state, Widget child) {
          print('ScaffoldWithNavBar');
          return ScaffoldWithNavBar(child: child);
        },
        routes: <RouteBase>[
          /// The first screen to display in the bottom navigation bar.
          GoRoute(
            path: '/a',
            builder: (BuildContext context, GoRouterState state) {
              return const ScreenA();
            },
            routes: <RouteBase>[
              // The details screen to display stacked on the inner Navigator.
              // This will cover screen A but not the application shell.
              GoRoute(
                path: 'details',
                builder: (BuildContext context, GoRouterState state) {
                  return const DetailsScreen(label: 'A');
                },
              ),
            ],
          ),

          /// Displayed when the second item in the the bottom navigation bar is
          /// selected.
          GoRoute(
            path: '/b',
            builder: (BuildContext context, GoRouterState state) {
              return const ScreenB();
            },
            routes: <RouteBase>[
              /// Same as "/a/details", but displayed on the root Navigator by
              /// specifying [parentNavigatorKey]. This will cover both screen B
              /// and the application shell.
              GoRoute(
                path: 'details',
                parentNavigatorKey: _rootNavigatorKey,
                builder: (BuildContext context, GoRouterState state) {
                  return const DetailsScreen(label: 'B');
                },
              ),
            ],
          ),
        ],
      ),
    ],
  );

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      routeInformationParser: _router.routeInformationParser,
      routerDelegate: _router.routerDelegate,
      routeInformationProvider: _router.routeInformationProvider,
    );
  }
}

/// Builds the "shell" for the app by building a Scaffold with a
/// BottomNavigationBar, where [child] is placed in the body of the Scaffold.
class ScaffoldWithNavBar extends StatelessWidget {
  /// Constructs an [ScaffoldWithNavBar].
  const ScaffoldWithNavBar({
    required this.child,
    Key? key,
  }) : super(key: key);

  /// The widget to display in the body of the Scaffold.
  /// In this sample, it is a Navigator.
  final Widget child;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: child,
      bottomNavigationBar: BottomNavigationBar(
        items: const <BottomNavigationBarItem>[
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            label: 'A Screen',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.business),
            label: 'B Screen',
          ),
        ],
        currentIndex: _calculateSelectedIndex(context),
        onTap: (int idx) => _onItemTapped(idx, context),
      ),
    );
  }

  static int _calculateSelectedIndex(BuildContext context) {
    final GoRouter route = GoRouter.of(context);
    final String location = route.location;
    if (location == '/a') {
      return 0;
    }
    if (location == '/b') {
      return 1;
    }
    return 0;
  }

  void _onItemTapped(int index, BuildContext context) {
    switch (index) {
      case 0:
        GoRouter.of(context).push('/a');
        break;
      case 1:
        GoRouter.of(context).go('/b');
        break;
    }
  }
}

/// The first screen in the bottom navigation bar.
class ScreenA extends StatelessWidget {
  /// Constructs a [ScreenA] widget.
  const ScreenA({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            const Text('Screen A'),
            TextButton(
              onPressed: () {
                GoRouter.of(context).go('/a/details');
              },
              child: const Text('View A details'),
            ),
          ],
        ),
      ),
    );
  }
}

/// The second screen in the bottom navigation bar.
class ScreenB extends StatelessWidget {
  /// Constructs a [ScreenB] widget.
  const ScreenB({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            const Text('Screen B'),
            TextButton(
              onPressed: () {
                GoRouter.of(context).go('/b/details');
              },
              child: const Text('View B details'),
            ),
          ],
        ),
      ),
    );
  }
}

/// The details screen for either the A or B screen.
class DetailsScreen extends StatelessWidget {
  /// Constructs a [DetailsScreen].
  const DetailsScreen({
    required this.label,
    Key? key,
  }) : super(key: key);

  /// The label to display in the center of the screen.
  final String label;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Details Screen'),
      ),
      body: Center(
        child: Text(
          'Details for $label',
          style: Theme.of(context).textTheme.headlineMedium,
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.2, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.3.2 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision e3c29ec00c (12 hours ago), 2022-09-14 08:46:55 -0500
    • Engine revision a4ff2c53d8
    • Dart version 2.18.1
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.125

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.4.0-19.0.pre.337, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.4.0-19.0.pre.337 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 085a187e04 (75 minutes ago), 2022-09-18 21:11:34 -0400
    • Engine revision b22a795011
    • Dart version 2.19.0 (build 2.19.0-214.0.dev)
    • DevTools version 2.17.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 105.0.5195.125

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Which go_router package version are you using?
Please provide a completed and minimal reproducible code sample so that we may verify this. Also, please provide the output of flutter doctor -v as well.
Thank you!

I noticed that the issue happens if I push from a GoRoute to the ShellRoute.

Code sample
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

final GlobalKey<NavigatorState> _rootNavigatorKey = GlobalKey<NavigatorState>(debugLabel: 'root');
final GlobalKey<NavigatorState> _shellNavigatorKey = GlobalKey<NavigatorState>(debugLabel: 'shell');

// This scenario demonstrates how to set up nested navigation using ShellRoute,
// which is a pattern where an additional Navigator is placed in the widget tree
// to be used instead of the root navigator. This allows deep-links to display
// pages along with other UI components such as a BottomNavigationBar.
//
// This example demonstrates how to display a route within a ShellRoute and also
// push a screen using a different navigator (such as the root Navigator) by
// providing a `parentNavigatorKey`.

void main() {
  runApp(ShellRouteExampleApp());
}

/// An example demonstrating how to use [ShellRoute]
class ShellRouteExampleApp extends StatelessWidget {
  /// Creates a [ShellRouteExampleApp]
  ShellRouteExampleApp({Key? key}) : super(key: key);

  final GoRouter _router = GoRouter(
    navigatorKey: _rootNavigatorKey,
    routes: <RouteBase>[
      GoRoute(
        path: '/',
        builder: (BuildContext context, GoRouterState state) {
          return const HomePage();
        },
      ),
      /// Application shell
      ShellRoute(
        navigatorKey: _shellNavigatorKey,
        builder: (BuildContext context, GoRouterState state, Widget child) {
          print('ScaffoldWithNavBar');
          return ScaffoldWithNavBar(child: child);
        },
        routes: <RouteBase>[
          /// The first screen to display in the bottom navigation bar.
          GoRoute(
            path: '/a',
            builder: (BuildContext context, GoRouterState state) {
              return const ScreenA();
            },
            routes: <RouteBase>[
              // The details screen to display stacked on the inner Navigator.
              // This will cover screen A but not the application shell.
              GoRoute(
                path: 'details',
                builder: (BuildContext context, GoRouterState state) {
                  return const DetailsScreen(label: 'A');
                },
              ),
            ],
          ),

          /// Displayed when the second item in the the bottom navigation bar is
          /// selected.
          GoRoute(
            path: '/b',
            builder: (BuildContext context, GoRouterState state) {
              return const ScreenB();
            },
            routes: <RouteBase>[
              /// Same as "/a/details", but displayed on the root Navigator by
              /// specifying [parentNavigatorKey]. This will cover both screen B
              /// and the application shell.
              GoRoute(
                path: 'details',
                parentNavigatorKey: _rootNavigatorKey,
                builder: (BuildContext context, GoRouterState state) {
                  return const DetailsScreen(label: 'B');
                },
              ),
            ],
          ),
        ],
      ),
    ],
  );

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      routeInformationParser: _router.routeInformationParser,
      routerDelegate: _router.routerDelegate,
      routeInformationProvider: _router.routeInformationProvider,
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Go Route Page'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const Text('Go Route Page'),
            ElevatedButton(
              child: const Text('Go to Shell'),
              onPressed: () => context.push('/a'),
            ),
          ],
        ),
      ),
    );
  }
}

/// Builds the "shell" for the app by building a Scaffold with a
/// BottomNavigationBar, where [child] is placed in the body of the Scaffold.
class ScaffoldWithNavBar extends StatelessWidget {
  /// Constructs an [ScaffoldWithNavBar].
  const ScaffoldWithNavBar({
    required this.child,
    Key? key,
  }) : super(key: key);

  /// The widget to display in the body of the Scaffold.
  /// In this sample, it is a Navigator.
  final Widget child;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: child,
      bottomNavigationBar: BottomNavigationBar(
        items: const <BottomNavigationBarItem>[
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            label: 'A Screen',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.business),
            label: 'B Screen',
          ),
        ],
        currentIndex: _calculateSelectedIndex(context),
        onTap: (int idx) => _onItemTapped(idx, context),
      ),
    );
  }

  static int _calculateSelectedIndex(BuildContext context) {
    final GoRouter route = GoRouter.of(context);
    final String location = route.location;
    if (location == '/a') {
      return 0;
    }
    if (location == '/b') {
      return 1;
    }
    return 0;
  }

  void _onItemTapped(int index, BuildContext context) {
    switch (index) {
      case 0:
        GoRouter.of(context).push('/a');
        break;
      case 1:
        GoRouter.of(context).push('/b');
        break;
    }
  }
}

/// The first screen in the bottom navigation bar.
class ScreenA extends StatelessWidget {
  /// Constructs a [ScreenA] widget.
  const ScreenA({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            const Text('Screen A'),
            TextButton(
              onPressed: () {
                GoRouter.of(context).push('/a/details');
              },
              child: const Text('View A details'),
            ),
          ],
        ),
      ),
    );
  }
}

/// The second screen in the bottom navigation bar.
class ScreenB extends StatelessWidget {
  /// Constructs a [ScreenB] widget.
  const ScreenB({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            const Text('Screen B'),
            TextButton(
              onPressed: () {
                GoRouter.of(context).push('/b/details');
              },
              child: const Text('View B details'),
            ),
          ],
        ),
      ),
    );
  }
}

/// The details screen for either the A or B screen.
class DetailsScreen extends StatelessWidget {
  /// Constructs a [DetailsScreen].
  const DetailsScreen({
    required this.label,
    Key? key,
  }) : super(key: key);

  /// The label to display in the center of the screen.
  final String label;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Details Screen'),
      ),
      body: Center(
        child: Text(
          'Details for $label',
          style: Theme.of(context).textTheme.headlineMedium,
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.2, on macOS 12.5.1 21G83 darwin-x64, locale
    en-US)
    • Flutter version 3.3.2 on channel stable at /Users/jlin/Documents/SDK/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision e3c29ec00c (8 days ago), 2022-09-14 08:46:55 -0500
    • Engine revision a4ff2c53d8
    • Dart version 2.18.1
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/jlin/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = /Users/jlin/Library/Android/sdk
    • Java binary at: /Users/jlin/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/A
      ndroid Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A309
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Users/jlin/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/212.5712.43.2112.8815526/A
      ndroid Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.2)
    • IntelliJ at /Users/jlin/Library/Application
      Support/JetBrains/Toolbox/apps/IDEA-U/ch-1/222.4167.29/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.125

[✓] HTTP Host Availability
    • All required HTTP hosts are available

+1

Also, ShellRoute.builder doesn't get called when I enter a route inside a ShellRoute using a GoRouter.redirect.

Sorry for replying late. This issue is reproducible on the latest stable and master channels with @jlin5's sample code
Keeping this open for further insights from the team. Thank you @jlin5.

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.3.4, on macOS 12.6 21G115 darwin-x64, locale en-VN)
    • Flutter version 3.3.4 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision eb6d86ee27 (23 hours ago), 2022-10-04 22:31:45 -0700
    • Engine revision c08d7d5efc
    • Dart version 2.18.2
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode14.0.1.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 70.0.5
    • Dart plugin version 222.4167.21

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.6 21G115 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.125

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.5.0-6.0.pre.66, on macOS 12.6 21G115 darwin-x64, locale en-VN)
    • Flutter version 3.5.0-6.0.pre.66 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2ea90eaed2 (3 hours ago), 2022-10-17 19:13:49 -0400
    • Engine revision 465ccd2974
    • Dart version 2.19.0 (build 2.19.0-314.0.dev)
    • DevTools version 2.18.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode14.0.1.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 70.0.5
    • Dart plugin version 222.4167.21

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.72.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.6 21G115 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 106.0.5249.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

for me it's get called only when i use push when i use go nothing happen

any updates?

Looks like the problem is that there is only GoRote from prepared matches is adding to stack on push. ShellRoutes are not being added to stack. That is why page building is not invoked. I haven't checked all possible cases, but this fix works for this sample and some of my scenarios.
router.dart:

Show diff

Show diff
delegate.dart:

+1 having this issue too, would be great to see this fixed :)

+1 im trying to use shell routes for bloc providers, but builder function isn`t working

I think my problem is related to this. In my case I have a ShellRoute that surrounds child routes with a bottom navigation bar. When I go from that ShellRoute to a new screen, and the pop() (or backpress) back, the child route re-appears but is missing the bottom navigation bar, because the builder function isn't called.

Any news on this one?

This is still an issue with v6.0.1

any updates?

I am facing the same issue. When I push from ShellRoute with a bottom navbar to a ShellRoute with no bottom navbar, the bottom navbar remains visible. This issue doesn't occur when I use go instead of push.  How to fix this?

Are there any updates on this issue?

If I understood it right, a nested (ShellRoute) cannot be pushed on top of the root navigator right now?
Is there any workaround to this? That'd be a showstopper for the migrations i was planning to do.

Adding customer: crowd label based on the number of upvotes and comments

@chunhtai any updates here? Seems like quite an issue.

any updates?

We solved this problem in the library named Rixa. We used GoRouter for the route system, but rixa runs its own design instead of ShellRoute. And if you are using the context.go() function, we also solved the problem of android back button.
For more information:  https://www.flutterway.net/rixa-tutorials/getting-started
pub.de: https://pub.dev/packages/rixa

Are there any updates on the horizon for this?

well...

same error, with pushreplacement in shell route :/

started to use shellroutes, since they seemed stable now, but this also cost me a head scratch atm.

Gosh, what's the solution, I feel stuck now with the same issue!

I removed all redirects and instead handled the state within the shellrouter. I have a loginShellRoute and a logoutShellRoute.
If there is no internet, etc. I show a different page for example.

I've moved to another sane alternate library "autoroute" which handles everything like a pro. Wish I used it from the beginning.
Grouper can't handle this important use case!

Is there a workaround for this :/

@chunhtai any update on this? perhaps you could give us a little guide on how to do this, then we could fork it and try doing it by ourselves, cause this feature is probably a must for the ShellRoute concept.

Sorry, I should probably unassign myself. I think @ValentinVignal 's new proposal flutter.dev/go/go-router-support-imperative-routing will help solving this problem

Meanwhile, experimenting in another branch in your codebase to use AutoRoute route guards is great.
https://pub.dev/packages/auto_route#route-guards
Tried it, loved it, replaced go_router with it.

+1

unfortunately with context.go we can not handle the back button functionality then we need use a separated stack for save the history of routation and use willpop widget for handle back functionality and it is so time consuming

Having the same issue, any updates yet?

I took a lot of time to figure out issue. Finally, is a issue from the gorouter.

Yes you can use the hack with the goNamed instead of pushNamed. I don't know if the go_router team will ever try to fix this.

Having a same error, Are there any updates on this?

☹☹

☹

I switched from auto_route, and really hacked a nice bottom navigation bar with statefullshellroute. But the thing is: I have another shellroute that is called from the first. So its basically impossible to declare this as a stack, and if I try it with  the  canPop widget it works at first, but then I get
element._lifecycleState == _ElementLifecycle.inactive and Duplicate GlobalKey detected in widget tree.. I suspect this to be due to the shellroute not popped properly. Even when I go with context.go. However context.push is not an option, because of the error described above. So I really do not understand why this package is recomendet by the official flutter docs... this is such a simple use case. Its basically a thing in every modern app and this package cant handle it...

You guys understand that this is free open source software?
Why don't you try to solve it yourself and contribute :)

You guys understand that this is free open source software?
Why don't you try to solve it yourself and contribute :)

Yes of course. If it would be a random package. Ok, it is open source and it always depends how much time the developers have. However this is a package that is officialy recommended by the flutter docs. And that is weird and a little shady imho.
Also: If the package is not at an state it can be used in an reasonable way, it should be marked and the current issues should be presented in an visible way.
But this package looks like it is the standard way to go (pun intended) but it is actually not (yet).

I was facing the issue that when I push from ShellRoute with a bottom navbar to a ShellRoute with no bottom navbar, the bottom navbar remains visible. This issue doesn't occur when I use go instead of push. Here is my router implementation with go_router(6.0.0) which solved the issue.
final rootNavigatorKey = GlobalKey<NavigatorState>(debugLabel: 'routerKey');

final routerProvider = Provider.autoDispose<GoRouter>(
  (ref) {
    final isAuthenticated =
        ref.watch(appProvider.select((value) => value.user != null));
    final hasActivePlan = ref
        .watch(appProvider.select((value) => value.user?.activePlan != null));
    return GoRouter(
      navigatorKey: rootNavigatorKey,
      debugLogDiagnostics: true,
      initialLocation: '/',
      routes: getRoutes(rootNavigatorKey),
      redirect: (BuildContext context, GoRouterState state) {
        final unAuthenticatedRoutes = [LOGIN, REGISTER, OTP, REGISTER_OTP];
        final isAuthenticatedRoute =
            unAuthenticatedRoutes.every((e) => '/${e}' != state.subloc);
        if (!isAuthenticated && isAuthenticatedRoute) {
          return '/${LOGIN}';
        } else if (!isAuthenticated) {
          return null;
        } else if (!hasActivePlan) {
          return '/${PRICING}';
        } else {
          return null;
        }
      },
    );
  },
);

CustomTransitionPage<dynamic> getPage({
  required Widget child,
  ValueKey<String>? pageKey,
}) {
  return CustomTransitionPage(
    key: pageKey,
    child: child,
    transitionsBuilder: (_, anim, __, child) => FadeTransition(
      opacity: anim,
      child: child,
    ),
    transitionDuration: Duration(
      milliseconds: 200,
    ),
  );
}

List<RouteBase> getRoutes(GlobalKey<NavigatorState> rootKey) {
  final _navigatorKey1 = GlobalKey<NavigatorState>();
  final _navigatorKey2 = GlobalKey<NavigatorState>();
  Map<String, Page<dynamic> Function(BuildContext, GoRouterState)>
      authenticatedScreens = {
    HOME: (BuildContext context, GoRouterState state) => getPage(
          pageKey: state.pageKey,
          child: HomeScreen(
            message: state.queryParams["message"],
          ),
        )
  };

  Map<String, Page<dynamic> Function(BuildContext, GoRouterState)>
      authenticatedScreensWithoutBottomNavbar = {
    ORDER: (BuildContext context, GoRouterState state) => getPage(
          pageKey: state.pageKey,
          child: OrderScreen(order: state.extra as Order),
        ),
    PRICING: (BuildContext context, GoRouterState state) => getPage(
          pageKey: state.pageKey,
          child: PricingScreen(),
        ),
  };

  Map<String, Page<dynamic> Function(BuildContext, GoRouterState)>
      unauthenticatedScreens = {
    REGISTER: (BuildContext context, GoRouterState state) => getPage(
          pageKey: state.pageKey,
          child: RegisterScreen(),
        ),
    LOGIN: (BuildContext context, GoRouterState state) => getPage(
          pageKey: state.pageKey,
          child: LoginScreen(),
        ),
  };
  return [
    ShellRoute(
      navigatorKey: _navigatorKey1,
      builder: (context, state, child) {
        return App(child: child);
      },
      routes: [
        ShellRoute(
          navigatorKey: _navigatorKey2,
          builder: (context, state, child) {
            return ScaffoldWithNavBar(child: child);
          },
          routes: authenticatedScreens.entries
              .map(
                (e) => GoRoute(
                  parentNavigatorKey: _navigatorKey2,
                  name: e.key,
                  path: '/${e.key == HOME ? '' : e.key}',
                  pageBuilder: authenticatedScreens[e.key],
                ),
              )
              .toList(),
        ),
        ...authenticatedScreensWithoutBottomNavbar.entries
            .map(
              (e) => GoRoute(
                parentNavigatorKey: _navigatorKey1,
                name: e.key,
                path: '/${e.key}',
                pageBuilder: authenticatedScreensWithoutBottomNavbar[e.key],
              ),
            )
            .toList(),
        ...unauthenticatedScreens.entries
            .map(
              (e) => GoRoute(
                parentNavigatorKey: _navigatorKey1,
                name: e.key,
                path: '/${e.key}',
                pageBuilder: unauthenticatedScreens[e.key],
              ),
            )
            .toList(),
      ],
    )
  ];
}

class AnimatedRoute<T> extends MaterialPageRoute<T> {
  AnimatedRoute({required WidgetBuilder builder}) : super(builder: builder);
  @override
  Duration get transitionDuration => const Duration(milliseconds: 250);

  @override
  Widget buildTransitions(BuildContext context, Animation<double> animation,
      Animation<double> secondaryAnimation, Widget child) {
    return FadeTransition(
      opacity: animation,
      child: child,
    );
  }
}

AnimatedRoute<bool> createAnimatedRoute(Widget child) {
  return AnimatedRoute(
    builder: (context) => child,
  );
}

Basically, I used a ShellRoute for the root widget which covers all the routes, and assigned it a navigator key(_navigatorKey1).  I used a nested ShellRoute for routes with the bottom navbar and assigned it another navigator key(_navigatorKey2). Now Route with no bottom navbar will _navigatorKey1 as the parent navigator key while Route with a bottom navbar will have _navigatorKey2 as the navigator key.

duplicate of https://github.com/flutter/flutter/issues/125752


Tab Switcher layout experiment

Task/Issue URL:

https://app.asana.com/0/856498667320406/1185737541299226
https://app.asana.com/0/856498667320406/1183760799160811

Tech Design URL:
CC:
Description:
Experiment around default layout of the Tab Switcher.
Steps to test this PR:
Migration:
No effect on tab switcher is expected.
Control group:
Default to Grid on Tab Switcher.
ControlExperiment group:
Default to List on Tab Switcher.

Copy Testing:

[x] Use of correct apostrophes in new copy, ie ’ rather than '

Orientation Testing:

[x] Portrait
[x] Landscape

Device Testing:

[x] iPhone SE (1st Gen)
[x] iPhone 8
[x] iPhone X
[x] iPad

OS Testing:

[x] iOS 10
[x] iOS 11
[x] iOS 12
[x] iOS 13

Theme Testing:

[x] Light theme
[x] Dark theme

Internal references:
Software Engineering Expectations
Technical Design Template

Thanks!


stream_example.py obsolete?

Am I correct in that this file is obsolete now that the old Streaming APIs have been turned off? It definitely gives an error:
The Site Streams and User Streams endpoints have been turned off. Please migrate to alternate APIs. See https://t.co/usss
I was trying to get sample statuses but it reads to me like these are only available to paying customers (Decahose) now? https://developer.twitter.com/en/docs/tweets/sample-realtime/overview/GET_statuse_sample
(I'll add I still don't fully understand Twitter's new products.)

https://developer.twitter.com/en/docs/tweets/filter-realtime/api-reference/post-statuses-filter
https://developer.twitter.com/en/docs/tweets/sample-realtime/api-reference/get-statuses-sample

Indeed the calls to userstream and sitestream are now deprecated, I removed them. For the reste my understanding is that streams on the regular domain stream.twitter.com remain :

filter realtime : https://developer.twitter.com/en/docs/tweets/filter-realtime/api-reference/post-statuses-filter
sample realtime : https://developer.twitter.com/en/docs/tweets/sample-realtime/api-reference/get-statuses-sample

The lib might work as well with the other paying streams of PowerTrack and Decahose APIs but i've never got the privilege to use it so I haven't investigated it nor wouldn't know.


Minimal commons bump -- bisect commons changes

Problem in was found upstream in dcos-commons, this PR isn't needed anymore


Pingora as modern server host

What is the problem your feature solves, or the need it fulfills?
Based on my understanding Pingora can serve as a modern server host too, so do you have any plan to make it easy-to-use as an alternative to traditional server hosts like Nginx and others?
Describe the solution you'd like
A simple configuration and rule management point can simplify processes
An example:
// Edge caching
route /static/* {
    cache {ttl 3600s}
    serve /static/
}
// Traffic management
route /api/* {
    proxy {
        pass http://fastapi-backend // backend service
        health-check /health
    }
}
// Content optimization
route / {
    proxy {
        pass http://backend-server // backend service
        optimize {
            compress
            minify html, css, js
            security {
                headers {
                    Content-Security-Policy "default-src 'self';"
                    X-Content-Type-Options "nosniff"
                }
            }
        }
    }
}

See https://github.com/memorysafety/river which will use pingora to provide a modern reverse-proxy.

Yep, feel free to open any issues over in the River repo, or let us know if you see anything missing on our roadmap.


irrd: 4.3.0.post1 -> 4.4.2

Description of changes
irrd currently doesn't build on master and release-23.11 because of test failures. updating fixes that.
todo

[x] check if new packages should be built using format = pyproject and poetry-core
[x] make sure all new packages have tests
[x] add meta sections

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

split out the the ariadne fix into #271999 for easier review

I just have two nitpicks, looks good otherwise, no blockers here. Probably also want to backport this.

Result of nixpkgs-review pr 271179 run on aarch64-linux 1

22 packages built:

irrd
irrd.dist
python310Packages.asgi-logger
python310Packages.asgi-logger.dist
python310Packages.imia
python310Packages.imia.dist
python310Packages.smtpdfix
python310Packages.smtpdfix.dist
python310Packages.starlette-wtf
python310Packages.starlette-wtf.dist
python310Packages.wtforms-bootstrap5
python310Packages.wtforms-bootstrap5.dist
python311Packages.asgi-logger
python311Packages.asgi-logger.dist
python311Packages.imia
python311Packages.imia.dist
python311Packages.smtpdfix
python311Packages.smtpdfix.dist
python311Packages.starlette-wtf
python311Packages.starlette-wtf.dist
python311Packages.wtforms-bootstrap5
python311Packages.wtforms-bootstrap5.dist


GSE146165, GSE144038 - Microglia Require CD4 T Cells to Complete the Fetal-to-Adult Transition

Primary Wrangler:
Ray
Secondary Wrangler:

Associated files:

Google Drive: https://drive.google.com/drive/folders/1MYi5OHuARUQIIewc4WUWRISbQwsrktfD

Published study links

Paper:  Pasciuto E, Burton OT, Roca CP, et al. Microglia Require CD4 T Cells to Complete the Fetal-to-Adult Transition. Cell. 2020 Aug;182(3):625-640.e24. DOI: 10.1016/j.cell.2020.06.026.
Pubmed ID: 32702313
Accessioned data:

GSE146165: Homo sapiens
GSE144038: Mus musculus

Key Events

[x] convert published metadata to HCA spreadsheet
[x] manually curate dataset to meet HCA metadata standard
[x] collect any matrix and cell-type annotation files
[x] Upload sheet to validate metadata
[x] Check linking using ingest graph validator
[ ] Transfer raw files to ingest to validate data files
[ ] Ask the Secondary Wrangler for an end-to-end review of the project.
[ ] Submit dataset to Production
[ ] Export project

I have uploaded the expression matrix files that I found at

ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE146nnn/GSE146165/suppl/GSE146165_RAW.tar and
ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE144nnn/GSE144038/suppl/GSE144038_RAW.tar

to the gdrive folder gene-cell_expression_matrices.

I had added this to the April milestone with the goal of getting it in as the matrix files, as I said in the operations call we should probably prioritize a managed access project first but if that works there should be nothing that holds us back adding this too @Wkt8 FYI if you are looking for test cases

Transferred 78 fastq data files to the hca-util upload area from NCBI Cold Storage buckets.
Sent a follow up email to the authors about cell annotation and matrix files and asked about the number of human PBMC donors.

2021-03-22: The authors have provided some information on the donor-sample relationships which was not clear from the paper of the GEO metadata. There are two human donors:

1 PBMC donor
1 brain tissue donor

I have validated the metadata on staging and also by the ingest-graph-validator.
I have uploaded the validated HCA metadata spreadsheet to the gdrive.
It is ready for secondary review.
Please note that I used Ingest UI to create the project and the excel template, so the project related metadata is not in the spreadsheet. I have added only a rudimentary project tab to the metadata spreadsheet, because the ingest-graph-validator could not validate the metadata without it.

Assigning myself for secondary review.

I have had a look at this for secondary review, looks good apart from a few comments!
Specimen From Organism:
human_PBMCs - I noticed you put PBMC as the Organ. I know that in the past we have used 'Blood' as an organ, perhaps that would be more accurate as PBMC is a cell type?
Cell Suspension ID
GSM4367466 (linked to human_PBMCs) - Add PBMC as a Selected Cell Type here.
Enrichment_protocol1
The description should be changed from 'a 100mm mesh' to 'a 100um mesh'.
'maximum size selected' should be 100
Sequence File: (optional changes)
Add the Content Description Ontology ID: data:3494
Content Description Ontology Label: DNA sequence
Following from Laura's comment, are you going to

ingest the mouse sequence data files, and not the human ones, or
ingest none of the sequence files and only the CGMs?

As they will result in different changes to the spreadsheet!

Thanks Wei for reviewing it.
Good suggestions and good error catching.
I will change the spreadsheet according to your suggestions.
With regards to your question about human vs. mouse sequence data, I am considering two options.
Option 1
Split the dataset into two based on the donor organisms.
First I can export the full mouse dataset including sequence data and the mouse expression matrix file that I have already collected.
I can submit the full human dataset at a later date when we can handle living human donor sequence data.

Advantage: less risky than Option 2, because it would follow a tested and tried process.
Disadvantage: the entire human dataset will have to wait.

Option 2
Do not split the metadata.
Export the metadata for both the human and the mouse experiments.
Export the mouse sequence data too.
Export both the human and the mouse expression matrix files that I have collected for the dataset.
I can submit the human sequence data at a later date when appropriate.

Advantage: more complete data export than in Option 1.
Disadvantage: The process of linking matrix files without sequence data files for export/import has not been tested yet.

I have split the dataset into two (as in Option 1 above). I have uploaded the mouse data and metadata to Ingest production.
I am waiting for Ingest to finish validation.

I have created a new issue https://github.com/ebi-ait/hca-ebi-wrangler-central/issues/288
to track the status of the human subset of the data that needs to be exported when we can export data related to living European donors.

I have started exporting the mouse subset with option Submit metadata and data to the Human Cell Atlas. This will be made public with the next snapshot.

The Ingest status is still Exporting. It looks like that there is a problem with exporting.

The issue with Ingest exporting has been resolved
https://github.com/ebi-ait/hca-ebi-wrangler-central/issues/289
Remaining tasks to complete:

[ ] notify the data import team
[ ] change the project status in the Dataset Tracking Sheet to exported
[ ] fill in metadata about matrix files
[ ] upload files to the contributor matrix google bucket

The export of the mouse subset (GSE144038) of the data is complete.

@rays22 was there a reason this didn't get added to the SCEA queue?

It has the broker_to_scea: no status in the Dataset Tracking Sheet. I believe that column was filled in by SCEA curators when they assessed datasets some time ago.


Code to generate higher order butcher table

Can we have the code to generate higher-order butcher table?

I'm looking for the same. Please share if you have it.


One physical controller is duplicated

I am using the current version ChimeraOS 46-2 with two Xbox Series X controllers. If I connect the first controller, I see one controller in the Steam controller settings. If I connect the second controller, it is duplicated (so three controller in total).
The second controller, for example, emits two button presses for players 2 and 3 when I press one button on the physical controller.
For testing, I disabled input plumber:
sudo systemctl disable inputplumber

After a restart, the controllers work normally -> two physical controllers -> two controllers in the game/Steam settings.

I've been having a similar issue with a single Xbox Series X controller. It often double inputs in the menus. When I go to the main side menu and select 'Power', it double inputs and chooses 'Sleep', without giving me the option to choose 'Shut Down'

Same issue here, having a unique Xbox controller being displayed and behaving like two (double button press etc).
Disabling/enabling Bluetooth used to fix the issue after each boot. But for a day or two, the controller is never detected as unique anymore.


⚠ Bofrost.de has degraded performance

In a798499, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 996 ms

Resolved: Bofrost.de performance has improved in c089f66 after 9 minutes.


Update sensor.js

Changing format of the JSON object.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


Add version option for executable and configuration files

Background & X Problem
I wanted to performing updates between v1.4.0 and the latest version from repo on my systems, as part of the process I wanted to confirm the version of the binary but we currently have no command line option that will simply display the version.
As it currently stands those who are interested in tracking the version somehow, have to go through checksums to the binary which is not optimal imho.
Similarly I could not determine for what version of binary my config was for.
Proposal and Expectation
I propose the following,

addition of a command line option -v or -V that will just display the version of the current binary
addition of the version string to the displayed Usage
addition of a config.yaml top key version: that will allow us to determine what version of binary this config works with
(optionally) include a version key also on the data.yaml so that future binaries can detect older versions of the data and accommodate any potential changes that need to take place

edit: If anyone wants to take on this please be my guest

I will work on this issue.


Fixed Geojson simplestyle and picking examples

Remove uneccessary coordinate transform when clamping position in 2D/CV

Fixes #4061

This also fixes the picking example. There was a small issue with entities on terrain, but the underlying issue was caused by #4074, which has been around for a while.

Thanks!


Debug mode

I added debug mode. It raises an error when nan is detected.

We decided to use a method to set/get the debug mode instead of using a global variable.

Add is_debug / set_debug to the reference.

LGTM!


Can't copy script from SQL script step

It is no copy/paste entries in context dialog at SQL editor. Ctrl-V works (paste), but Ctrl-C not (copy).
Windows 10.0 x64 Chrome 58.0.3029.110

I downloaded a VM image from here and deployed Windows 10 (x64, Version: 1607, OS Build: 14393.0) to VirtualBox (Host: Mac OS X).
I tested cut/copy/paste on Chrome (58.0.3029.96).
I confirmed that the cut/copy/paste were absent from the context menu, but was able to do all these operations by key shortcuts (Ctrl-X, -C, -V).
Please tell us some more information

The exact name of the step? I tested "Table input" and "Execute SQL script".
Did you try Ctrl-X (cut)? If yes, what happened?
Version of webSpoon and how was it deployed (Docker, put the war file to Apache Tomcat, or something else)?

What version of webSpoon are you using?
I am still not able to reproduce this issue (webSpoon: latest (d1171bd6), Chrome 65.0, Win10).
In my case
Paste: both Ctrl-V and Shift-Insert work
Copy: both Ctrl-C and Ctrl-Insert work
Cut: both Ctrl-X and Shift-Del work

@HiromuHota, excuse for troubling. It was fixed in be2db0abfc0870fb610ee8aa58b5e1614bb87863

Glad to hear that. Thank you for checking that out.


tests: windows: Reuse one VM for multiple tests

What this PR does / why we need it:
This change uses BeforeAll() method and Ordered contexts to reuse one VM for multiple It tests.
It should reduce test time, because the VM does not need to be restarted for every test.
Release note:
None

/test pull-kubevirt-e2e-windows2016

/sig code-quality

/test pull-kubevirt-e2e-windows2016

Worth to add please to the PR description that:

Added.

Worth to compare run time before this change and after please.

There doesn't seem to be a significant performance improvement. I will compare it again when the CI finishes.

/test pull-kubevirt-e2e-windows2016

I have compared the duration of this modified suite with previous PRs, but the duration in previous PRs varies a lot, so I cannot measure how the performance improved.

I like the idea to re-use the same VMI to run multiple tests. However, there are a few issues we should discuss before proceeding with this experiment.
* `OncePerOrdered`: This option is introduced to overcome the structure of tests in Ginkgo. Unfortunately it comes with a high cost of hard to understand behavior, especially when the distance between the fixture and the actual test (`It`) is substantial.

* Test structure complexity is introduced with a large number of nested contexts/containers.

* The behavior of ordered tests, in which they do not run tests after one fails is raising questions of its usefulness. To clarify, this behavior is similar to the usage of assert helpers to abstract asserts in the same test. Once one fails, the others will not proceed running.

I think the first and the second points above can be mitigated by restructuring tests such that nesting will not be too deep, converting some fixtures to simple helper functions and changing the pattern of creating nesting per shared resources. Some claim that the structure fits the BDD pattern, however, BDD hierarchy is supposed to be structure around behavior, not behind shared resource needs. Therefore, I would claim that the current usage of the nesting is not optimal.
For the last point, I do not have a good answer. Some pros vs cons need to be raised and discussed, showing which is a better fit. Opinions on this are welcome.
IMO we should not use the ordered options where it is not needed at the moment. It makes it harder to follow the tests. When and if it will be required, one should add it.

/hold
I agree, this deserves open discussion and presentation of pros/cons.


ionic blank template wont run on MAC  OS X El Capitan emulator

Ionic version:  (check one with "x")
[ ] 1.x
[ x] 2.x
I'm submitting a ...  (check one with "x")
[ x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
"white screen of death" from  ionic blank template --v2
on MAC emulator OS X El Capitan
Expected behavior:
The standard ionic template blank app should display "the world is your oyster"
Steps to reproduce:
On : OS X El Capitan
Do in a terminal:
ionic start Test blank --v2
cd Test
ionic platform add ios
ionic prepare ios
ionic emulate ios --consolelogs
---> "white screen of death"   instead of  "the world is your oyster"
AND instead with an attempt to use wkwebview:
ionic plugin rm cordova-plugin-wkwebview-engine
ionic plugin add https://github.com/driftyco/cordova-plugin-wkwebview-engine.git --save
--> Installing "cordova-plugin-wkwebview-engine" for ios
--> Error: The header content contains invalid characters
ionic prepare ios
LAUNCH XCODE from/Users/apple/Desktop/don/ionic2/Test/platform/ios/.xcodeproj
In xCode: Run on simulator
---> "white screen of death"
Related code:
NONE
Other information:
"white screen of death"  does not produce the usual log,  but I recall seeing somewhere the message:
deviceReady fired after 1800 ms (I remember the first 2 digits).
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: OS X El Capitan
Node Version: v6.10.0
Xcode version: Xcode 8.2.1 Build version 8C1002

Hello! Thanks for opening an issue with us! As this seems like more of a support question i will urge that you ask this question on our forum or on our slack channel. Thanks for using Ionic!


Format lyrics proper in lyrics directory songs

In the lyrics of the actual songs which are in the lyrics directory, there are paragraphs in between. In the project lyrics directory for the songs there are no gaps or spaces between paragraphs so this needs working on for the formatting.

@aliraza944 I need your help with this, you can refer to the lyrics.txt in every folder of songs in the lyrics directory, the required lines to be left between paragraphs are there. Please make a PR and I will have a look at it.

@aliraza944 I need your help with this, you can refer to the lyrics.txt in every folder of songs in the lyrics directory, the required lines to be left between paragraphs are there. Please make a PR and I will have a look at it.

@aliraza944 Waiting for your reply, Can you help me on this?

@TechStudent11 Do you know how to do this?

Just put it all in one
> tag with
 tags in-between lines.

Guys, I am suffering from the covid so I am taking a few days off. Sorry for the late reply. I'll be back after the weekend.

Guys, I am suffering from the covid so I am taking a few days off. Sorry for the late reply. I'll be back after the weekend.

It's fine. Get well soon!

Just put it all in one
> tag with
 tags in-between lines.

But the lyrics are called out in JS, so I need help on how to do it there.

Guys, I am suffering from the covid so I am taking a few days off. Sorry for the late reply. I'll be back after the weekend.

No problem! Get well soon. Have a good break!
I too was suffering from covid, over the last few weeks, it was pretty bad.

Assigned you, @aliraza944 but I don't want you to work on this now. Please take rest and work on this when your feeling better.

@aliraza944 Can you work on this soon?

I am quite busy with other projects right now. I'll see what I can do.

It's a basic CSS problem. You can open the chrome inspect tools and fiddle with the CSS over there.

It's a basic CSS problem. You can open the chrome inspect tools and fiddle with the CSS over there.

I know, but can you make a PR please. I need a bit of help and this is very URGENT. Thanks

Any update on this @aliraza944 ?
Can you work on this @TechStudent11 ?

Hey @KendallDoesCoding can i work on this issue?

Thanks @KendallDoesCoding and I hope I will close this one 😂


the SQL highlighted is not supported for Grafana 7.x

like this, lack of syntax highlighting affects the experience. Hope to fix this BUG as soon as possible

But I did support syntax highlighting when I used Grafana 5.x

old bug which not related with grafana version, duplicate with
https://github.com/Vertamedia/clickhouse-grafana/issues/174
just reload page

@Slach
reload the page doesn't work either. will this be fixed in the next version?

@frank-lam I can't find root cause,
https://github.com/Vertamedia/clickhouse-grafana/blob/master/src/query_ctrl.ts#L9
should always try to import mode-clickhouse.js as part of dist/module.js after compilation
if you can help, please feel free to make pull request


ENH: Ensure brain mask's conformity

This PR adds a node to the antsBrainExtraction workflow to ensure that the mask produced matches the xform matrices and codes of the original reference image, and sets some other relevant metadata of the headers.

This should be pretty harmless, any chance you can have a look @effigies ?


remove redundant into_iter() calls

Which issue does this PR close?

Closes #.
Rationale for this change
remove redundant into_iter() calls
What changes are included in this PR?

Are there any user-facing changes?

Codecov Report

Merging #527 (7792c6c) into master (d5bca0e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #527   +/-   ##
=======================================
  Coverage   76.03%   76.03%
=======================================
  Files         157      157
  Lines       26990    26990
=======================================
  Hits        20521    20521
  Misses       6469     6469

Impacted Files
Coverage Δ

...sta/rust/core/src/serde/logical_plan/from_proto.rs
35.20% <ø> (ø)

datafusion/src/physical_plan/windows.rs
86.22% <ø> (ø)

datafusion/src/sql/planner.rs
84.62% <ø> (ø)

Continue to review full report at Codecov.

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

I am surprised Clippy didn't complain about this ;)


feat(SPV-1076) single ARC configuration

Pull Request Checklist

[ ] 📖 I created my PR using provided  : CODE_STANDARDS
[ ] 📖 I have read the short Code of Conduct: CODE_OF_CONDUCT
[ ] 🏠 I tested my changes locally.
[ ] ✅ I have provided tests for my changes.
[ ] 📝 I have used conventional commits.
[ ] 📗 I have updated any related documentation.
[ ] 💾 PR was issued based on the Github or Jira issue.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 83.33333% with 5 lines in your changes missing coverage. Please review.

Project coverage is 46.66%. Comparing base (b190e08) to head (7c9be87).

Files with missing lines
Patch %
Lines

config/services.go
80.00%
2 Missing and 1 partial :warning:

config/validate.go
0.00%
0 Missing and 1 partial :warning:

server/middleware/callbacktoken_middleware.go
0.00%
1 Missing :warning:

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #713      +/-   ##
==========================================
- Coverage   46.72%   46.66%   -0.06%
==========================================
  Files         302      301       -1
  Lines       13027    13009      -18
==========================================
- Hits         6087     6071      -16
+ Misses       6352     6351       -1
+ Partials      588      587       -1

Flag
Coverage Δ

unittests
46.66% <83.33%> (-0.06%)
:arrow_down:

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

Files with missing lines
Coverage Δ

config/config.go
100.00% <ø> (ø)

config/defaults.go
100.00% <100.00%> (ø)

config/validate_nodes.go
50.00% <100.00%> (-19.24%)
:arrow_down:

config/validate.go
78.94% <0.00%> (ø)

server/middleware/callbacktoken_middleware.go
7.69% <0.00%> (ø)

config/services.go
54.36% <80.00%> (+0.54%)
:arrow_up:

Continue to review full report in Codecov by Sentry.

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


The background color becomes red when I am editing

Hello, I installed simplemde in my project and played it for a while. But I found that when I am editing, the background color of text becomes red. Like this:

In your demo, this doesn't happen. How do I set it? Thanks!

 I found the spellChecker setting when I looked the readme again.


[Feature] Quadratic Equation Roots calculator

Description
I am willing to create a Quadratic equation roots calculator to the project under JWOC tag
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a IWOC'24 contributor.
[X] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

Kindly assign me this issue

This calculator is already present in the website. Pls create new issues @daksh1210jain


Mount propagation MountFlags dependency should be documented

This is a...

[ ] Feature Request
[x] Bug Report

Problem:
Mount propagation for Kubernetes moved to beta in 1.10. Documentation was updated here: https://github.com/kubernetes/website/pull/7655
However on some deployments it won't work unless MountFlags=shared is added to /usr/lib/systemd/system/docker.service or MountFlags=slave is removed.
This is documented in the Portworx docs: https://docs.portworx.com/knowledgebase/shared-mount-propogation.html#redhatcentos-configuration-and-shared-mounts
Proposed Solution:
Kubernetes OSS documentation should be updated to explain this and have a similar how-to for different environments.
Page to Update:
https://kubernetes.io/docs/concepts/storage/volumes/#mount-propagation

1.9, 1.10+

/assign @jsafrane

/assign @vladimirvivien

Submitted PR https://github.com/kubernetes/website/pull/7854

Closed with https://github.com/kubernetes/website/pull/7854


Add support for humanizing a rate

I found myself needing to humanize a rate, like "2.1 events per second". I wrote a function that does this for English:
def natural_rate(delta: Union[float, datetime.timedelta]):
    """return an english string representing a rate. delta is assumed to be a rate as "1 per delta"."""
    if isinstance(delta, datetime.timedelta):
        delta = delta.total_seconds()
    rate = 1 / delta
    for i, multiplier in enumerate((1, 60, 60, 24, 7)):
        rate *= multiplier
        if rate > 1:
            break
    duration = ('second', 'minute', 'hour', 'day', 'week')[i]
    return f'{rate:.2g} per {duration}'

However it would be really nice if arrow supported this with locale translation.

This sounds like an awesome feature! If you'd like to submit a pull request with this feature, we'd be more than happy to take a look. Any help is appreciated :).

@jadchaar I will try. Not sure to do the i18n stuff though.

I'm also not sure what the API should look like. I think it makes the most sense as a top level function arrow.humanize_rate(delta: datetime.timedelta). Arrow#humanize_rate doesn't feel right to me. I don't think of a rate as "two datetimes".

@systemcatch what do you think the interface should look like?

@bmintz To be honest I think something like this is best outside a library. We probably won't implement this unless there's high demand for it. You can import from arrow's locales module to get any translations you need.

@iomintz ok fair enough on the translations, can you give me a specific example where the phrasing differs? Also an example of your function in action.

Yes but what exactly is emote_usage_interval when it's passed to natural_rate, I need to see the exact format like this;
natural_rate(324.43, locale=current_locale.get())
"2.1 events per second"


Closing this repo?

I think closing this repository makes sense as there are now oscd-components that host and release oscd-dialog. @Sander3003 @pascalwilbrink what do you think?

yes, sounds like a good idea

Let's close it


make HttpError and DeserializationException covariant to follow variance of ResponseException

HttpError and DeserializationException being invariant stops me from doing something like this in scala3:
def refine(e: ResponseException[Exception, ?]): Option[HttpError[Exception]] = e match {
  case httpError @ HttpError(_, _) => Some(httpError)
  case _ => None
}

in scala 3 you get this:
Found: (httpError : sttp. client4.HttpError[HE$1]) Required: sttp. client4.HttpError[Exception]  where: HE$1 is a type in method refine with bounds <: Exception

here httpError is of boundaries <: Exception which is not allowed by invariance of HttpError. The reason, why it is working in scala2 is some sort of type inference loophole in pattern matching, it infers httpError as HttpError[Exception], this is wrong because we can do:
case class MyException() extends Exception
val error: ResponseException[Exception, ?] = HttpError(MyException(), ???)

For me it seems only logical to make both HttpError and DeserializationException covariant to follow covariance of ResponseException. It doesn't look like invariance of those two were intentional, it's just that scala2 allowed this invariances to slip through.
Before submitting pull request:

[x] Check if the project compiles by running sbt compile
[x] Verify docs compilation by running sbt compileDocs
[x] Check if tests pass by running sbt test
[x] Format code by running sbt scalafmt

Yeah this makes sense, thanks


Akalya- doordash home test

All test cases have been completed

some methods are missing teardown. It will be better to create setup and tearDown methods in a BaseClass and then extend test classes from the BaseClass to avoid code duplication and missing teardown in some cases. Please fix these issues in your next commit.

I have added BaseTest class with @BeforeClass for chrome setup and @AfterClass for browser close.
I have removed @AfterMethod in each test class and I have removed chrome set up in @BeforeMethod but kept URL invoking code only in each test class.
File download test alone does not extends BaseTest class as it has different chrome config for file downloading.
Completed and saved the changes as mentioned.


pep8: Fix E502,E129

Automated message from Dropbox CLA bot
@bulat22101, it looks like you've already signed the Dropbox CLA. Thanks!

@bulat22101 can you prepare this with one commit per lint rule?  That's our expectation in the Zulip project  -- one coherent change per commit (and I believe is what the instructions for the GCI task require as well).
Check out the Zulip version control guidelines for more details on the philosophy here: https://zulip.readthedocs.io/en/latest/version-control.html


Adds local session bus

List of fixed issues (if they exist):

@cdrake , since you are refactoring the session bus, do you want to close this PR?


Little problem with linked datetimepicker

Hello,
Your example doesn't allow to easily define an event which could start on, for example 2015/02/26 20:00 and ends on 2015/02/26 22:00.
We have to select the 27th, then choose 22:00 and then come back to 27th.
It maybe because of the way you set the minDate() of the second datetimepicker.
Maybe the minDate() should be set to 1 minute later, I don't know.
Is there a way to do it?
Regards,

Please test and/or fork this jsfiddle with an example of your issue

I am using the linked date time picker given at http://eonasdan.github.io/bootstrap-datetimepicker/
My problem is similar to that given above.
It is related with picking up the date and time for an intra day event.
For example in the first text area select this date and time :02/26/2015 8:48 AM
Now attempt to select this date and time in the second text area:02/26/2015 9:20 AM which does not happen.
The problem can be simulated on the above link.

Hi,
I'm pleased to see the post of rnjailamba because it's exactly the problem I talked about.
I'm really sorry Eonasdan because I didn't reply to your answer, and I thank you for it, but I was very very busy these last days.

please check the dev branch. this issue appears to be resolved there

Yoh thanks eonasdan I take a look at it.

I think it's maybe not really fixed.
I tried https://github.com/Eonasdan/bootstrap-datetimepicker/tree/development is it correct?
Date of bootstrap-datetimepicker.min.js seems to be on feb 21st at 18:21
Because I still cannot define an event with starting hour and ending hour within the same day.
For example if I choose (french locale) 29/03/2015 20:00, I cannot choose 29/03/2015 22:00, I still have to choose 30/03/2015 22:00, then 29/02/2015 22:00.
My code is here http://jsfiddle.net/Eonasdan/0Ltv25o8/
I have the same behavior but does this fiddle use the development code?

try the non minified version

Perfect!!!!

Assuming no other major issue with the dev branch come up this week, dev will be promoted to master March 7th.

no problem, thanks a lot.


Update state-management.md #2

Use var consistently. previous PR was using const, it should be using var.
Ref: https://github.com/vuejs/vuejs.org/pull/2486#issuecomment-588314467

Thanks!


Make Shulk More Interesting

As of right now, I find the Shulk origin to be severely bland and underwhelming, with half of its benefit being irrelevant in hardcore. the Shulk origin feels like it has nothing to do with shulkers, so I want to propose something to make them a bit more interesting:
Shulks are naturally small and very squishy but have the ability to burrow into blocks and turn them into a shell, functioning just like a real shulker would, being able to open and close the shell (levitation projectile is debatable.) if the block burrowing thing is a bit too much there is the option of having them simply form a shell around themself.
their mostly sedentary lifestyle would mean that they do require more hunger. perhaps they're vegetarian.
perhaps as a visual thing, they become just the player's head.
people can add more suggest more ideas as well. I just really want to see the Shulk be more interesting.

I think the Shulk origin will stay as it is for a while. However I do see why you feel that it is a bit "bland" - after all it is a low impact origin and is not supposed to change the gameplay drastically.
"half of its benefit being irrelevant in hardcore" is not quite true imo, the 9 extra inventory slots are still very helpful (even if you're not making use of the "save on death" functionality), the armor is still very helpful (and can be argued to be even more helpful in hardcore) and the stone mining remains a nice tool early on and is unchanged even in that game mode.
"nothing to do with shulkers" is also something I have to disagree with. The additional protection comes from the Shulker's shell (changed to constant armor instead of some switch between "being in the shell and having protection" and "being out of the shell and vulnerable" for simplicity, making it easier to play and keeping it low impact), and the inventory space was inspired by Shulker boxes.
With the above reasoning, I'm gonna close this issue. However I do appreciate your feedback and ideas a lot and am definitely coming back to think about these if I decide to change the Shulk origin at some point in the future. :)


[update] replace cache with smarter implementation that supports

description
previously, our caching would not cover the case where multiple instances of the rec handler class made the same query
this pr replaces the cache with a smarter implementation that supports

per-item ttl
custom hash key

loadtesting results show 2x improvement in latency with this change:
~/lnl/loadtesting [main] kar attack
Requests      [total, rate, throughput]         3000, 50.02, 49.93
Duration      [total, attack, wait]             1m0s, 59.978s, 108.206ms
Latencies     [min, mean, 50, 90, 95, 99, max]  13.894ms, 59.33ms, 23.271ms, 36.361ms, 116.532ms, 1.071s, 1.398s
Bytes In      [total, mean]                     65905585, 21968.53
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:3000
Error Set:


Added learning phase to callbacks (#2297)

This PR closes #2297.
The _LEARNING_PHASE tensor was not added to the feed_dict passed to the TensorFlow session.
The model.validation_data also had too much information (the target validation data).
I chose to append a 0 to the list instead of cutting it to be concise.
I'm not sure about how we could retrieve the info in a cleaner way so let me know if it's ok!
If we add some more metrics it should be taken in account but for now it does the job and it's explicit.
This could be changed to use the information already contained in the list.

The model.validation_data also had too much information (the target validation data).

Can you clarify?

If I'm not mistaking, for the visualizations of the weights, we only need the model.inputs corresponding arrays. We also have the sample weights and the outputs in the model.validation_data list.
When the list is zipped with the model.inputs the tensor returned by K.learning_phase() is coupled with the wrong array (the first output).

Really, sorry for the multiple builds, I did the changes on a remote server and my emacs config got mixed up. I will squash the commits when the build will pass.

Ok, the callback is not working for Graph models and it breaks a lot of other tests too :(.
The learning phase tensor is not part of the computation graph when using Graph models and it's the remaining problem.
Should we add it in the graph somewhere so it's possible to have backward compatibility when using the Tensorboard Callback with a Graph model?
The test for the TensorBoard callback is skipped for python 3.4, should we reactivate it?

The test for the TensorBoard callback is skipped for python 3.4, should we reactivate it?
Hide all checks

Yes, sounds reasonable.

The learning phase tensor is not part of the computation graph when using Graph models and it's the remaining problem.

Why? Can you clarify? I'm not following.

My mistake, it didn't work with Sequential either.
I just figured out the uses_learning_phase attribute existed.
It should work now :)... I'm still discovering the mechanics of the new tools.
I also reactivated all the callback tests, they seemed to be disabled during the big migration.

There is the traditionnal download error in one of the build. Let me know if I have to change something or if I can squash the commits!

Trying to relaunch the tests...

LGTM. Thanks!


Error: Failed to retrieve phonegap-template-hello-world from NPM.

I cannot create phonegap my-app. i am getting below error how to fix it ..please guide me bro
o
tc@otc-Latitude-E5410:~$ phonegap create app
Creating a new cordova project.
Retrieving phonegap-template-hello-world from NPM...
Error: Failed to retrieve phonegap-template-hello-world from NPM.

I am having the same issue

Is this still an issue? I believe we had a period where things were out of sync, but it should all be good now.

my network blocked some url and access some sites so i got above issue , i removed security and proxy i solved it..

please help me how can i manage my phonegap project coz i am having the same issue.
best regard

kathckv71 how can you solveed it. plz help me

@izawad19 Is this still an issue for you? This seems like it was just a version out of sync issue or a network error.

Please reopen if this still affects anyone.

Hai dude.. i dont know how do i solve this issue... i got above error when creating my project. simply i just remove proxy setting in network..my proxy just blocking retrieve phonegap-template-hello-world from NPM. so i just hide my proxy..then tried..i am successfully created hello-world project..


the dataframe can display when the notebook is first time loaded, but after the notebook page refresh, the notebook can not display

Uncaught ReferenceError: call_DataFrame is not defined

just a summary without data

Are you running the notebook in trusted mode?

Are you running the notebook in trusted mode?

it works, thanks a lot


Restrict permissions

If possible, limit the permission to https://*.github.io/* and https://github.com/*.

Thanks, forgot to change this. Pushed to the chrome webstore, could take an hour before its updated on there

:+1:


Add crashdump command

Add microstack crashdump command. This is designed to collect data for a bug report. To begin with this just collects a juju status and the juju hooks.

LGTM - @wolsen I believe your comments have also been addressed so this looks good to land to me.


State url

This PR fixes #445 in DI side. It's depend on https://github.com/CartoDB/cartodb.js/pull/1428.
cc @xavijam @donflopez

Ready for CR 🙏


Feature/update ruby client

This fixes a couple bugs in compiling the Ruby Gem...

[x] Invalid version specification

There was a ArgumentError while loading cdap-authentication-client.gemspec:
Malformed version number string 1.3.0-SNAPSHOT from
  /Users/chris/Repos/projects/cdap-clients/cdap-authentication-clients/ruby/cdap-authentication-client.gemspec:21:in `block in <main>'

[x] Redundant Gem definitions

Your Gemfile lists the gem simplecov (>= 0) more than once.
You should probably keep only one of them.
While it's not a problem now, it could cause errors if you change the version of just one of them later.
Your Gemfile lists the gem simplecov-rcov (>= 0) more than once.
You should probably keep only one of them.
While it's not a problem now, it could cause errors if you change the version of just one of them later.
Your Gemfile lists the gem pry (>= 0) more than once.
You should probably keep only one of them.
While it's not a problem now, it could cause errors if you change the version of just one of them later.

Only concern is with the version number, and the process behind it.  Based on past commits it seems there is intention to keep the versions consistent.  We should make sure everyone is on the same page (maybe they should be individual repos).  Other changes LGTM.

IMO, they should be separate repos. The plan here was just to get something that was building. My current goal is to get a release version out that is usable for the Ruby client. I'll discuss with Sree re: the others. I'd love to split the repos into language-specific repositories, since they could have differing release cycles. I would suggest that major.minor versions are feature compatible across all languages, but that each can have an independent patch-level.


Noline support MVP

I've done a quick implementation and got something working. There are some remaining issues that need to be figured out:

The prompt presents some problems. Noline only supports a static prompt. I tried to see if I can implement a dynamic prompt, but it will require big changes. I looked into supporting any prompt that implements Display. That would work with blocking IO, but since we don't have write_fmt for embedded_io_async::Write it would break async support in noline.
I added embedded_io  as dependency and used Write from there instead of core::fmt::Write.
I changed Runner so that buffer is not owned, but instead is an argument to input_byte.

#23

I changed Runner so that buffer is not owned, but instead is an argument to input_byte.

I think this means the use of the crate is now free to fiddle with the contents of the buffer (even adding non-UTF-8 bytes). What prompted the change?

I changed Runner so that buffer is not owned, but instead is an argument to input_byte.

I think this means the user of the crate is now free to fiddle with the contents of the buffer (even adding non-UTF-8 bytes). What prompted the change?

Editor already owns it own buffer, so it was the shortest path to get something working. A possible solution is to make Runner generic over the buffer and have to concrete implementations with &mut [u8] and Editor.

Hmm. We might need a trait or something to abstract across either a raw buffer or an Editor. Or we can create some BasicEditor functionality which does what the crate currently does.

I've made Runner generic over buffer, allowing either anything that implements AsMut<[u8]>, or Editor, depending on which constructor is used. No traits needed.
I've also added support for the dynamic prompt in noline. I've pointed the noline crate to the branch for the prompt support for now. I'll make a new release of noline when this is ready.

I had to move the MenuManager to an InnerRunner to avoid Lifetime issues with the prompt, and pass interface as an argument to all the methods. I guess all the methods from InnerRunner could be moved into MenuManager itself, but I'll let you decide on how that is best solved.

This looks OK to me. Thank you!
As you've re-written the prompt handling, would you mind looking at https://github.com/rust-embedded-community/menu/issues/25? I spotted this whilst testing.

Thank you. Whilst testing I spotted that clippy was warning about unused imports - we now check clippy in CI in https://github.com/rust-embedded-community/menu/pull/26.

Ok, now I've fixed everything, I hope :)

Thank you!


Add Foreign Function support

Users need to be able to call non-lisp code in a standardized way.

In which style if you would suggest?


Update configure-authentication-provider-aad.md

Add a remark to omit /v2 when using Functions apps. I tested it using client credentials flow and functions apps.

@mosharafMS : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Please add the ` code fence like the earlier example in the paragraph and then it's good to go.

Please add the ` code fence like the earlier example in the paragraph and then it's good to go.

I made this revisions and will merge the PR. Let me know if my edit is inaccurate at all. Thanks.


Remove unused hints

I think that the enum values should be made continuous again, we can break compat in 4.0.

Maybe we can reorder some of them to be presented in a more organized manner? Since this is a clean-up PR anyway...

If you have ideas for better order I'm open to suggestions.

Yeah I've been meaning to get this thoroughly cleaned up/reordered/renamed but I can't muster the brain capacity to do a proposal for this.
Related: #30203.

Maybe we could merge this now and debate about ordering later? Rebasing is troublesome >_>

Thanks!