fix(stepper): correct first and last item padding

Describe pull-request
Fixes an issue where the first and last styling was not applied to tds-step after the initial render of tds-stepper. The issue was that the styling was applied inside the componentWillLoad method of the tds-stepper. Now it's applied using pure CSS and no longer depends on the component lifecycle.
Fixes an issue where padding-left was applied to the first tds-step element and padding-right was applied to the last tds-step element in horizontal mode.
Issue Linking:
Choose one of the following options

GitHub: https://github.com/scania-digital-design-system/tegel/issues/630
GitHub: https://github.com/scania-digital-design-system/tegel/issues/631

How to test

Run storybook
Navigate to the stepper story
Check the first element has no padding left in horizontal mode
Check that the last element has no padding-right in the horizontal mode
Check that the first element has no line before itself in both horizontal and vertical mode
Check that the last element has no line after itself in both horizontal and vertical mode

Checklist before submission

[ ] I have added unit tests for my changes (if applicable)
[x] All existing tests pass
[ ] I have updated the documentation (if applicable)

Suggested test steps

[x] Browser testing (Chrome, Safari, Firefox)
[ ] Keyboard operability
[ ] Interactive elements have labels.
[x] Storybook controls
[x] Design/controls/props is aligned with other components
[ ] Dark/light mode and variants
[ ] Input fields – values should be displayed properly
[ ] Events

Did not seem like it when I ran the tests locally since they all passed. Perhaps the tests only run for the vertical mode? @mJarsater could you run the tests locally yourself to verify?

Did not seem like it when I ran the tests locally since they all passed. Perhaps the tests only run for the vertical mode? @mJarsater could you run the tests locally yourself to verify?

I don't have a proper local setup so I can't validate right now. @theJohnnyMe wondering why the tests didn't run on push?

Did not seem like it when I ran the tests locally since they all passed. Perhaps the tests only run for the vertical mode? @mJarsater could you run the tests locally yourself to verify?

I ran the the tests locally in the branch and all passes!

I'm not authorized to merge the PR, so feel free to merge it if you think no additional work is needed

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin
Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

Good question, they should run on push, @theJohnnyMe maybe you have some more insights?

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

Good question, they should run on push, @theJohnnyMe maybe you have some more insights?

Or, btw, @mJarsater do you mean that the tests are not running for you when you push in a branch? Or did I misunderstand you?

@mJarsater I noticed the same, so I ran the tests manually. Perhaps there have been some changes to the hooks? If I remember correctly the tests used to run on the pre-commit hook, but I could be wrong.

@mJarsater I noticed the same, so I ran the tests manually. Perhaps there have been some changes to the hooks? If I remember correctly the tests used to run on the pre-commit hook, but I could be wrong.

Yes that is correct, however we changed to run on push, introduced here https://github.com/scania-digital-design-system/tegel/pull/624

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

Good question, they should run on push, @theJohnnyMe maybe you have some more insights?

Or, btw, @mJarsater do you mean that the tests are not running for you when you push in a branch? Or did I misunderstand you?

Yeah exactly. I'm thinking the creation of this PR should have started a Github action that runs the tests?

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

Good question, they should run on push, @theJohnnyMe maybe you have some more insights?

Or, btw, @mJarsater do you mean that the tests are not running for you when you push in a branch? Or did I misunderstand you?

Yeah exactly. I'm thinking the creation of this PR should have started a Github action that runs the tests?

Well actually the tests run when merging to develop. So not on creation of PR. Only on push and one merge. https://github.com/scania-digital-design-system/tegel/actions/workflows/playwright.yml

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

Good question, they should run on push, @theJohnnyMe maybe you have some more insights?

Or, btw, @mJarsater do you mean that the tests are not running for you when you push in a branch? Or did I misunderstand you?

Yeah exactly. I'm thinking the creation of this PR should have started a Github action that runs the tests?

Well actually the tests run when merging to develop. So not on creation of PR. Only on push and on merge. https://github.com/scania-digital-design-system/tegel/actions/workflows/playwright.yml

Alright, that feels a bit risky. Might want to change it so it also runs on commit?
I mean we want to catch any issues before we merge things to develop?

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

Good question, they should run on push, @theJohnnyMe maybe you have some more insights?

Or, btw, @mJarsater do you mean that the tests are not running for you when you push in a branch? Or did I misunderstand you?

Yeah exactly. I'm thinking the creation of this PR should have started a Github action that runs the tests?

Well actually the tests run when merging to develop. So not on creation of PR. Only on push and on merge. https://github.com/scania-digital-design-system/tegel/actions/workflows/playwright.yml

Alright, that feels a bit risky. Might want to change it so it also runs on commit?
I mean we want to catch any issues before we merge things to develop?

Yes it's a good point, we had before on commit, but created some friction so we changed it to push. As then you can at least commit a state, regardless of failing tests or not. I kinda like that, cos regardless we can't push if the tests fail. But maybe they should run also on opening of PR?

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

Good question, they should run on push, @theJohnnyMe maybe you have some more insights?

Or, btw, @mJarsater do you mean that the tests are not running for you when you push in a branch? Or did I misunderstand you?

Yeah exactly. I'm thinking the creation of this PR should have started a Github action that runs the tests?

Well actually the tests run when merging to develop. So not on creation of PR. Only on push and on merge. https://github.com/scania-digital-design-system/tegel/actions/workflows/playwright.yml

Alright, that feels a bit risky. Might want to change it so it also runs on commit?

I mean we want to catch any issues before we merge things to develop?

Yes it's a good point, we had before on commit, but created some friction so we changed it to push. As then you can at least commit a state, regardless of failing tests or not. I kinda like that, cos regardless we can't push if the tests fail. But maybe they should run also on opening of PR?

Yeah it doesn't have to be in the pre-commit hook. But we should absolutely run in on commit.

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

Good question, they should run on push, @theJohnnyMe maybe you have some more insights?

Or, btw, @mJarsater do you mean that the tests are not running for you when you push in a branch? Or did I misunderstand you?

Yeah exactly. I'm thinking the creation of this PR should have started a Github action that runs the tests?

Well actually the tests run when merging to develop. So not on creation of PR. Only on push and on merge. https://github.com/scania-digital-design-system/tegel/actions/workflows/playwright.yml

Alright, that feels a bit risky. Might want to change it so it also runs on commit?

I mean we want to catch any issues before we merge things to develop?

Yes it's a good point, we had before on commit, but created some friction so we changed it to push. As then you can at least commit a state, regardless of failing tests or not. I kinda like that, cos regardless we can't push if the tests fail. But maybe they should run also on opening of PR?

Yeah it doesn't have to be in the pre-commit hook. But we should absolutely run in on commit.

Yes, we have moved running tests from pre-commit as it became pretty annoying as it takes 15sec or more to run tests and sometimes it fails for reasons not related to change one is doing. Runnin test now happens on pre-push hook. When you say to reintroduce it to commit do you think of running it here in GitHub once users pushes new commit to current PR?

@timrombergjakobsson @theJohnnyMe @nathalielindqvist @EmelieLitwin Not part of this PR but just wondering why the tests aren't running on push? Or am I missing something?

Good question, they should run on push, @theJohnnyMe maybe you have some more insights?

Or, btw, @mJarsater do you mean that the tests are not running for you when you push in a branch? Or did I misunderstand you?

Yeah exactly. I'm thinking the creation of this PR should have started a Github action that runs the tests?

Well actually the tests run when merging to develop. So not on creation of PR. Only on push and on merge. https://github.com/scania-digital-design-system/tegel/actions/workflows/playwright.yml

Alright, that feels a bit risky. Might want to change it so it also runs on commit?

I mean we want to catch any issues before we merge things to develop?

Yes it's a good point, we had before on commit, but created some friction so we changed it to push. As then you can at least commit a state, regardless of failing tests or not. I kinda like that, cos regardless we can't push if the tests fail. But maybe they should run also on opening of PR?

Yeah it doesn't have to be in the pre-commit hook. But we should absolutely run in on commit.

Yes, we have moved running tests from pre-commit as it became pretty annoying as it takes 15sec or more to run tests and sometimes it fails for reasons not related to change one is doing. Runnin test now happens on pre-push hook. When you say to reintroduce it to commit do you think of running it here in GitHub once users pushes new commit to current PR?

Exactly, so whenever you open a PR or commit new code to a PR.

When it comes to running the tests, git hooks are nice, but can always be skipped with --no-verify, so I think it's a nice feature to have for some early feedback, but in my opinion, the tests should run in every PR as a part of the quality gates as @timrombergjakobsson suggested. This way any issues are fixed before the code is even merged into the develop branch.
In an open-source model, this also means that the contributor of the PR will fix the failing tests before the changes are merged rather than the maintainers having to do it after the code has already been merged.

When it comes to running the tests, git hooks are nice, but can always be skipped with --no-verify, so I think it's a nice feature to have for some early feedback, but in my opinion, the tests should run in every PR as a part of the quality gates as @timrombergjakobsson suggested. This way any issues are fixed before the code is even merged into the develop branch. In an open-source model, this also means that the contributor of the PR will fix the failing tests before the changes are merged rather than the maintainers having to do it after the code has already been merged.

Yeah I think that's what everyone wants. I'm guessing @theJohnnyMe can take it to the team and see how this can be achieved in a good way.


⚠ Fortnite has degraded performance

In f0165b0, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1577 ms

Resolved: Fortnite performance has improved in 7e1f4d3.


Perform case insensitive lookups for precompiled views

Fixes https://github.com/aspnet/MvcPrecompilation/issues/37

FYI this is definitely announcment-worthy

@Eilon good to get this in for preview2?


[go_router] Pushing to StatefulShellRoute from a top level route, the builder does not show

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Define top level routes and shell routes
Navigate to a shell route from a top level route using context.pushNamed()
The bottom navigation bar isn't visible

Expected results
The shell route should load the bottom navigation bar
Actual results
The bottom navigation bar isn't visible
Code sample
Code sample
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

void main() {
  runApp(
    MyApp(),
  );
}

class MyRouter {
  static final GlobalKey<NavigatorState> _rootNavigator =
      GlobalKey<NavigatorState>(debugLabel: 'root');

  static String agentRouteName = '/agent';
  static String homeRouteName = '/home';
  static String profileRouteName = '/profile';

  static GoRouter router = GoRouter(
      navigatorKey: _rootNavigator,
      debugLogDiagnostics: kDebugMode,
      initialLocation: '/agent',
      routes: [
        GoRoute(
          name: agentRouteName,
          path: '/agent',
          builder: (context, state) {
            return AgentPage();
          },
        ),
        StatefulShellRoute.indexedStack(
          builder: (context, state, navigationShell) {
            return NavPage(navigationShell: navigationShell);
          },
          branches: [
            StatefulShellBranch(
              routes: [
                GoRoute(
                  name: homeRouteName,
                  path: '/home',
                  pageBuilder: (context, state) {
                    return NoTransitionPage(child: HomePage());
                  },
                ),
              ],
            ),
            StatefulShellBranch(
              routes: [
                GoRoute(
                  name: profileRouteName,
                  path: '/profile',
                  pageBuilder: (context, state) {
                    return NoTransitionPage(child: ProfilePage());
                  },
                ),
              ],
            ),
          ],
        ),
      ]);
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      title: 'Reproducible code',
      debugShowCheckedModeBanner: false,
      routerConfig: MyRouter.router,
    );
  }
}

class AgentPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Agent page')),
      body: Center(
        child: ElevatedButton(
          onPressed: () => context.pushNamed(MyRouter.homeRouteName),
          child: Text('Go to home page'),
        ),
      ),
    );
  }
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Home page')),
      body: Text('Home Page'),
    );
  }
}

class ProfilePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Profile page')),
      body: Text('Profile Page'),
    );
  }
}

class NavPage extends StatelessWidget {
  final StatefulNavigationShell navigationShell;
  const NavPage({
    required this.navigationShell,
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: navigationShell,
      bottomNavigationBar: NavigationBar(
        selectedIndex: navigationShell.currentIndex,
        destinations: const [
          NavigationDestination(label: 'Home Page', icon: Icon(Icons.home)),
          NavigationDestination(
              label: 'Profile Page', icon: Icon(Icons.person)),
        ],
        onDestinationSelected: _goBranch,
      ),
    );
  }

  void _goBranch(int index) {
    navigationShell.goBranch(index);
  }
}

Screenshots or Video

Screenshots / Video demonstration

Expected
Actual

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.5, on macOS 13.4.1 22F82 darwin-arm64, locale en-ET)
    • Flutter version 3.10.5 on channel stable at /Users/abdi/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (4 weeks ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/abdi/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = /Users/abdi/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.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.12.0

[✓] 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)

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

[✓] Connected device (2 available)
    • sdk gphone arm64 (mobile) • emulator-5554                        • android-arm64 • Android 11 (API
      30) (emulator)
    • iPhone 14 (mobile)        • 5CE9B48C-9ED1-4629-B822-FF785744D0C9 • ios           •
      com.apple.CoreSimulator.SimRuntime.iOS-16-1 (simulator)

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Thank you for the report. I can see this issue on the latest package version go_router: ^9.0.3.
In this case, StatefulShellRoute is not at the top level but the 2nd level, and its builder is not built. I also can reproduce this with stateful_shell_route.dart (need to modify it so that StatefulShellRoute is on the 2nd route). Updating the issue's title corresponding to this.

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.10.6, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.10.6 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (5 hours ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2022.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 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.13.0-3.0.pre.21, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.13.0-3.0.pre.21 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 47ba59c762 (3 hours ago), 2023-07-12 20:46:57 -0400
    • Engine revision 1b1ccdd1f5
    • Dart version 3.1.0 (build 3.1.0-302.0.dev)
    • DevTools version 2.25.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2022.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 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Hi,
I am facing the same issue in 10.0.0 . Any workaround pending when this is fixed?

Hi,
I am facing the same issue, please help @huycozy

Isn't this expected behavior? You should use goNamed in order to navigate to a specific location with its full stack (the parent routes).
When using pushNamed you simply push the specified page onto the current stack, but not any of its parents.
Since the nested navigator that adds the shell is defined in the routes tree I would assume that it is required to use go if you would want to have the shell.
Is there a specific reason for you to use pushNamed instead of goNamed ?

The reason is that i don't want to remove the back stack. When you use go instead of push you replace all the current stack of pages with a new page.
@c0pp1ce

I know. And guess that also the reason why push does not work in your use case.
But you could rearange your routes so that your shell route is a child of the other route. Then you can simply use go.

@c0pp1ce Thank so much. I did as you mentioned. I rearranged my routes with go and it worked out of the box !

You can still rearrange you routes in order to achieve your desired behavior while using go.
If you need some guidance, I could show you a example of a working solution. But since that is using query parameters instead of proper state management (for roles, users) I wont post it here (its simply quite messy 😄).
Anyway, a more abstract way to get it done:

Extract the StatefulShellRoute into its own variable.
Setup your routes in way that you can reuse the StatefulShellRoute from 1. within them.

An example:
/login
/app
    /users
        (StatefulShellRoute)
    (StatefulShellRoute)

Implement proper redirecting logic to secure the admin-only routes. In the example that would be done in /app. Redirect to the route for normal users if admin access rights are missing. Redirect to /app/users if /app is accessed if that route has no page to display.
Now all that is left would be to make sure that the logic within the StatefulShellRoute works for both paths. Any go that is called from pages of it will need to make sure they either use the correct paths. The easiest way would probably be to use a helper function like this:

/// Assuming the StatefulShellRoute has two branches: /account, /other.
void branchRelativeGo(BuildContext context, String location) {
    final String location = GoRouterState.of(context).location;
    final parts = location.split("/");
    /// Using contains so it works with query parameters.
    final indexOfInitialBranchLocation = parts.indexWhere(
      (element) => element.contains("account") || element.contains("other"),
    );
    /// Path to the shell. In the example either /app or /app/users
    final shellPath = parts.removeRange(indexOfInitialBranchLocation, parts.length).join("/");

    context.go("$shellPath$location");
}

It then could be used like
onTap: () => branchRelativeGo(context, "/account");

So you would need to specify the locations starting with the initial branch location.
Problems
This approach, as can be seen already, does come with some boilerplate. Even more boilerplate code is required if there are sibling routes of the StatefulShellRoute that can be reached from a chidl route of the StatefulShellRoute using go since you would not to remember from where you came for a potential go back to shell.

TheStatefulShellRoute is also affected by deeplinks. when I test
adb shell 'am start -a android.intent.action.VIEW \
    -c android.intent.category.BROWSABLE \
    -d "http://example/menu"' \
    com.example

it removes the back stack and replaces all the current stack of pages with a new page (menu).
while using GoRouter.of(context).push respects StatefulShellRoute.
The Deeplink behavior here is the same as using context.go also pops the pages that opened from deep link throw exception cuz now it's the last page of the stack.

Isn't this expected behavior? You should use goNamed in order to navigate to a specific location with its full stack (the parent routes). When using pushNamed you simply push the specified page onto the current stack, but not any of its parents.
Since the nested navigator that adds the shell is defined in the routes tree I would assume that it is required to use go if you would want to have the shell.
Is there a specific reason for you to use pushNamed instead of goNamed ?

thanka a lot,  You saved my day

@c0pp1ce How would you do it you wanted the backbutton to show when navigating from a shell route to a login screen that is at top level. You would have to use context.push and not context go right?
And if you dont use GoRouter.optionURLReflectsImperativeAPIs = true; which is adviced against, the url wont be updated when doing context.push. Also I heard that context.push should be avoided alltogether. There is a lot of confusion around this for me.

@patrikheinonen I think this is off-topic, I am unsure if it should be discussed here.
Anyway, I would first ask why there is a need for a back button on a login page. But yes, you will need to make sure the stack of pages matches your needs - either through fitting route structure or by using push.

@c0pp1ce   I have some pages like :

splash page
StatefulShellRoute
other page

now, I open app ,  splash page ->StatefulShellRoute
then i go to "other page"  ,  I want to back to StatefulShellRoute
I want to StatefulShellRoute alive

@lizhuoyuan You have several options. What is the purpose of other page ? You can use push or you can place it as a sub-route of your StatefulShellRoute.

I know. And guess thats also the reason why push does not work in your use case.
But you could rearrange your routes so that your shell route is a child of the other route. Then you can simply use go.

@c0pp1ce Most of the examples in go_router aren't enough to guide rearranging. I can't figure out how to handle the simple following case:
screen A -> screen C
screen A -> screen B -> screen C
screen C can be go-ed from 2 routes, A and B. I don't know how to specifically declare that in go_router_builder. That's why we need to push shell page, not just go
Take the example below. This will cause the error $CRouteExtension is declared twice
TypedGoRoute<ARoute>(
  path: '/a',
  routes: [
    TypedGoRoute<BRoute>(
      path: 'b',
      routes: [
        TypedGoRoute<CRoute>(path: 'c'),
      ]
    ),
    TypedGoRoute<CRoute>(path: 'c')
  ]
)

@ThangVuNguyenViet
General approach
You should first decide if you actually need to use go (e.g. if you are building for web or you need to be able to deep-link to that screen or its a shellRoute and you need the shell to always be visible ...).
If that is the case you have two options. The first one would be to arrange the routes in a way that the parent-child relations enable the behaviour that you need. The second one would be to define multiple routes that display the same widget/screen.
Concerning your specific problem
I am not a huge fan of code generation. Your problem validates this opinion once again. Code gen is hard to get right after all.
You tried to go with the second option in order to achieve the desired behaviour. Thats fine. More importantly it works without any problems when using go_router directly. I have never used go_router_builder so I am not able to provide any help for it.
However. I would try to do something like this:
final cRoute = TypedGoRoute<CRoute>(path: 'c');

TypedGoRoute<ARoute>(
  path: '/a',
  routes: [
    TypedGoRoute<BRoute>(
      path: 'b',
      routes: [
        cRoute,
      ]
    ),
    cRoute,
  ]
)

@c0pp1ce thanks for the reply
Shouldn't it be something like this if it's done without the builder?
GoRoute(
  path: '/a',
  builder: (context, state) => APage(),
  routes: [
    GoRoute(
      path: 'b',
      builder: (context, state) => BPage(),
      routes: [
        GoRoute(
          path: 'c',
          builder: (context, state) => CPage(),
        ),
      ],
    ),
    GoRoute(
      path: 'c',
      builder: (context, state) => CPage(),
    ),
  ],
),

And when we wanna go to C from A, we use context.go('/a/c'). If it's from B, we use context.go('/a/b/c'), right?
And if we need to name the routes returning CPage(), we'll have to name them something like cFromA, cFromB, right?
If they are true, then things get bloated very quickly

Exactly.
Yes, if you want to assign the paths to variables you would need to name them differently.  Sadly, go_router does not seem to support relative routes which would make this even simpler. (#108177)

@c0pp1ce the #139471 issue I just filed is kinda related to this one. I can't find a way to go to a route that's in a shell route, and it plays the transition animation of the route and the shell route. IMO, that supports the idea of pushing a route should push the ShellRoute as well.
Would really appreciate that you'd check it out


NEW: Add T8170 (S340)

Added the S340 pan and tilt camera
Most of things are tested except streaming
I can share the device with you

Todo:

[ ] Add entry for device in docs/supported_devices.md
[ ] Add images for device under docs/_media
[ ] Test streaming

@bropat I did find a issue for this camera. As it is a Solocam it's battery based. It looks like the device goes to sleep but I can send any command I want but it doesn't want to wake up. Do you have any experience like this with the other cameras?

@bropat I did find a issue for this camera. As it is a Solocam it's battery based. It looks like the device goes to sleep but I can send any command I want but it doesn't want to wake up. Do you have any experience like this with the other cameras?

@martijnpoppen
Do you have any debug logs?

@bropat yes will try to gather those this weekend

Livestreaming works

Sorry for bumping this again.
Just wanted to see if this has been pushed to Prod / when the S340 would be listed on the Supported Devices page.
Thanks for all your work on this.

Hi @town3r, did you find out anything new on v3.0 milestone? I'm waiting for this as well. I'm new here so please excuse my ignorance.

Not yet. :( haven't been able to find any kinda eta on its release yet.
@bropat Has been pretty active making new commits to the Dev branch tho.
🤞🏼 it get released soon. :)

Hello, currently installed Eufy security plugin v2.2.21 on a mac os for adding camera EUFY S340. Everything installed but the camera is shown as an alarm. Maybe i missed a step in the installation. Please support!

Guessing you're talking about the eufy security Homebridge plugin which is different from this.
It was built off this which has yet to release the milestone v3.0 update which should include support for the solocam s340.
https://github.com/bropat/eufy-security-client/issues/383

Guessing you're talking about the eufy security Homebridge plugin which is different from this.
It was built off this which has yet to release the milestone v3.0 update which should include support for the solocam s340.
#383

Anyone know if we can run a pre released v3.0?  Not sure it is worth the effort though
It looks like it might actaully be planned for this month based on label 3.0.0 (2024-02-xx)

pretty sure that previously said 2023-01-xx.
On Thu, Feb 22, 2024 at 12:44 PM dvinceXX @.***> wrote:

Guessing you're talking about the eufy security Homebridge
https://github.com/homebridge-eufy-security/plugin plugin which is
different from this.
It was built off this which has yet to release the milestone v3.0 update
which should include support for the solocam s340.
#383 https://github.com/bropat/eufy-security-client/issues/383
Anyone know if we can run a pre released v3.0? Not sure it is worth the
effort though
It looks like it might actaully be planned for this month based on label
3.0.0 (2024-02-xx)
—
Reply to this email directly, view it on GitHub
https://github.com/bropat/eufy-security-client/pull/410#issuecomment-1960046339,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC6SNK4ZKQR37OZMH274SKTYU6GXVAVCNFSM6AAAAAA7RIROI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRQGA2DMMZTHE
.
You are receiving this because you were mentioned.Message ID:
@.***>


formly is not fully compatible with IE

I'm submitting a ...  (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request

Current behavior

I have tried with demo on IE11 and the app was not run

Expected behavior

Minimal reproduction of the problem with instructions

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular version: 2.0.X

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

Node (for AoT issues): node --version =

Did you include the polyfills required to run Angular projects and tried?

Hi @mohammedzamakhan
I did install core-js
The polyfills libraries already imported as I can see in bootstrap.ts
import 'core-js/es6';
import 'core-js/es7/reflect';
import 'zone.js/dist/zone';

Now, instead of throwing the previous errors, the demo is stuck at Loading ......
Nothing is logged to console as well

it's working great for me in IE11 using angular cli.
Here is my polyfill config:

/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/set';

/** IE10 and IE11 requires the following for NgClass support on SVG elements */
import 'classlist.js';  // Run `npm install --save classlist.js`.

/** IE10 and IE11 requires the following to support `@angular/animation`. */
import 'web-animations-js';  // Run `npm install --save web-animations-js`.

/** Evergreen browsers require these. **/
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';

it's working for me too, please ensure to import all required polyfills.


System tooltips render incorrectly with data-tooltip-direction="UP" and ="DOWN"

Edited manually in console to add the dataset properties.
DOWN renders identically to LEFT.
UP renders like so:

Item tooltips don't really respect direction. That was because they needed to render either left or right of an item in order to not obscure the information beneath them. This 'hard-coding' was never cleaned up after the proof-of-concept stage, but they should probably respect the tooltip-direction and we add tooltip-directions to the item tooltip source elements instead.


@RegexComponentBuilder overloads for collection algorithms

Collection/string algorithms should include an overload of each one to take a @RegexComponentBuilder

PR: #342

Status?

This is merged in 342


Support for composite file extension validation

Q
A

Is bugfix?
✔

New feature?
✔

Breaks BC?
✔/❌

Tests pass?
✔/❌

Fixed issues
#18094

Support for composite file extension validation (#18094)

@saidbakr would you please test it?

@saidbakr would you please test it?

I will test as soon as possible today.

@saidbakr would you please test it?

Please, could you tell me how to update Yii to the latest development version. I use basic app and I have tried, composer update and composer update yii2. Is there any possible changes to the dependencies in composer.json?
{
    "name": "yiisoft/yii2-app-basic",
    "description": "Yii 2 Basic Project Template",
    "keywords": ["yii2", "framework", "basic", "project template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "stable",
    "require": {
        "php": ">=5.6.0",
        "yiisoft/yii2": "~2.0.14",
        "yiisoft/yii2-bootstrap": "~2.0.0",
        "yiisoft/yii2-swiftmailer": "~2.0.0 || ~2.1.0"
    },
    "require-dev": {
        "yiisoft/yii2-debug": "~2.1.0",
        "yiisoft/yii2-gii": "~2.1.0",
        "yiisoft/yii2-faker": "~2.0.0",
        "codeception/codeception": "^4.0",
        "codeception/verify": "~0.5.0 || ~1.1.0",
        "codeception/specify": "~0.4.6",
        "symfony/browser-kit": ">=2.7 <=4.2.4",
        "codeception/module-filesystem": "^1.0.0",
        "codeception/module-yii2": "^1.0.0",
        "codeception/module-asserts": "^1.0.0"
    },....

@saidbakr u can try:
"yiisoft/yii2": "dev-master", instead of "yiisoft/yii2": "~2.0.14",
then it should get the latest version, but I did not test that.

"yiisoft/yii2": "dev-master"

It's valid, but this changes is not merged into dev-master

I have updated it to Yii version 2.0.36-dev by changing the dependency in composer.json for Yii2 from  "yiisoft/yii2": "~2.0.14" to "yiisoft/yii2": "2.0.x-dev" and then running composer update yiisoft/yii2. I think it should be updated to the latest development version.
Now, the issue, as my understand, still the same. The following is the validation rule of ContactForm model:
class ContactForm extends Model
{
    public $name;
    public $email;
    public $subject;
    public $body;
    public $filen;
    public $verifyCode;

    /**
     * @return array the validation rules.
     */
    public function rules()
    {
        return [

            [['filen'], 'file', 'extensions' => 'br.fox, png'],

        ];
    }

When I try to upload file named a.br.fox the validation returns error

@saidbakr no, it's not dev version. It is a fork.

@saidbakr no, it's not dev version. It is a fork. Either you can try specifying it or do a hot-patch manually by overwriting files in vendor (just for testing).

I have copied the two files to there paths in vendor/yiisoft, changed the server port php -S localhost:7075 from 7070 and clearing all cache by deleting runtime/cache and web/assets contents.
The client-side JavaScript validation works fine, but after submit the server-side validation returns the same error

At least something :)

@saidbakr would you please share your validator config?

@saidbakr would you please share your validator config?

It is in a previous comment. However, it is here again:
/**
     * @return array the validation rules.
     */
    public function rules()
    {
        return [

            [['filen'], 'file', 'extensions' => 'br.fox, png'],

        ];
    }

Would you please add:
'checkExtensionByMimeType' => false

as we've discussed in the issue?

Would you please add:
'checkExtensionByMimeType' => false

as we've discussed in the issue?

Oh no, I am sorry, I forgot it!
I added it and it works fine now. The file has been uploaded successfully.
/**
     * @return array the validation rules.
     */
    public function rules()
    {
        return [

            [['filen'], 'file', 'extensions' => 'br.fox, png', 'checkExtensionByMimeType' => false],

        ];
    }

However, we may have to make an Ajax validation to reflect the absence of checkExtensionByMimeType in the client-side. In other words, the JavaScript validation before submit should has any way to check the mimetype from the server before submit too.

@saidbakr that's not the same thing:
/**
     * @var bool whether to check file type (extension) with mime-type. If extension produced by
     * file mime-type check differs from uploaded file extension, the file will be considered as invalid.
     */
    public $checkExtensionByMimeType = true;

Setting it to false doesn't mean that mime type won't be checked in case you specify $mimeTypes. Actually, you should specify it.

However, we may have to make an Ajax validation to reflect the absence of checkExtensionByMimeType in the client-side.

Do you mean AJAX or client validation?

However, we may have to make an Ajax validation to reflect the absence of checkExtensionByMimeType in the client-side.

Do you mean AJAX or client validation?

I don't think that JavaScript as a client side could able to check mimetype. So I regarded Ajax. The current implementation tells that JavaScript just check the extension as a string only.

I don't think that JavaScript as a client side could able to check mimetype

It is currently doing that :)

I don't think that JavaScript as a client side could able to check mimetype

It is currently doing that :) https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.validation.js#L419

Very good, the last update of yii.validation.js you have mentioned is doing it in both sides. However, the error message, I think, should be improved to be more descriptive. i.e I have the following message:

Only files with these extensions are allowed: br.fox, png.

I think in the case of checkExtensionByMimeType => true the error message should be something like:

Only files with these mime types are allowed: br.fox, png.

Side Note
In such cases of validation rules that may depend on any client-side scripting, the developer should be mentioned to clear web/assets contents, or preventing assets caching from the configuration file under components:
'assetManager' => [
            'class' => 'yii\web\AssetManager',
            'forceCopy' => true, //Prevent caching assets during development
            'linkAssets' => true, //Prevent caching assets during development
]

Without clearing web/assets, the change of checkExtensionByMimeType from true to false or vice versa will not be reflected on the client-side directly.

checkExtensionByMimeType does not affect how frontend works at all. What it does when turned on is:

For an extension a common mime type is determined based on config https://github.com/yiisoft/yii2/blob/master/framework/helpers/mimeTypes.php.
Extension is checked. If it's valid then mime-type from point 1 is checked in the file.

In case it's turned off, mime-type isn't automatically checked but you can still specify it via mimeTypes.

@rob006 would you please take a look at the code?

checkExtensionByMimeType does not affect how frontend works at all. What it does when turned on is:
1. For an extension a common mime type is determined based on config https://github.com/yiisoft/yii2/blob/master/framework/helpers/mimeTypes.php.

2. Extension is checked. If it's valid then mime-type from point 1 is checked in the file.

In case it's turned off, mime-type isn't automatically checked but you can still specify it via mimeTypes.

Let me explain the issue in other words:
1 Starting with validation below in the model:
return [
            [['filen'], 'file', 'extensions' => 'br.fox, png', 'checkExtensionByMimeType' => true],
]

2 Trying to upload file named a.br.fox, there is no any error rendered before submit but after submit, an error is returned and the file does not be uploaded.

That is expected. We don't have a list of mime types on the client so leaving that to server validation.

Thanks!


Resource Management for Multi-core/Multi-Project Applications

The Problem To Be Solved
Currently there is no easy way to manage the linker script for multi-core/multi-project applications.
There are two ways:

Resource Management - https://github.com/ReinhardKeil/cmsis-toolbox/blob/main/docs/Proposal - Resource Management.md
Project Templates (where a prepared/configured set of projects is used

This ticket is to discuss the possible options and decide on the requirements for implementation.
Related:
#1718
#1712

Reinhard,
You could also need to map the resources of the considered system between different projects e.g. to dedicate a UART to a secure project. How do you see the resources partitionning (including the resource sharing case) in your proposal ?
Have you considered to adapt the CMSIS-zone ( https://arm-software.github.io/CMSIS-Zone/latest/index.html )to the Open-CMSIS-toolbox context. and the *.azone file format (I think the *.rzone file format is not needed in the open-cmsis context due to the DFP) ?

Eric, the problem with CMSIS-Zone is the lack of adoption. It would be good to understand the reasons.
Note: The *.rzone information can be indeed generated to a good extend from DFP/BSP information. CMSIS-Zone does this already.


Improve MulticlassFbetaScoreEvaluator

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (dc1fbce) to head (c69fa21).
Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #549   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          131       131
  Lines         3678      3683    +5
  Branches       182       182
=========================================
+ Hits          3678      3683    +5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


OS-dependant links

It would cool if you could specify an optional OS type for every entry in the yaml file. I would love to use the same installer for both Linux and OS X.

Platform specific link paths - #57


Improper training parameter setting in train.yaml of MetricGAN ( RuntimeError: Input tensor at index 1 has invalid shape [10,266,257], but expected [10,313,257])

Hi, I've been running the experiment in "speechbrain/recipes/Voicebank/enhance/MetricGAN/". I set the parameters in hparams/train.yaml as follows:
...
# Training Parameters
number_of_epochs: 5000
number_of_samples: 100
min_mask: 0.05
train_N_batch: 1
valid_N_batch: 20
history_portion: 0.2
G_lr: 0.0005
D_lr: 0.0005
mse_weight: 0
...

When I tried to run the training code on 2 GPUs with this command:  CUDA_VISIBLE_DEVICES=0,1   python train.py hparams/train.yaml --data_parallel_backend
I met with the error:
(venv) user1@amax:/mnt/DataCenter/user1/mmEve/speechbrain/recipes/Voicebank/enhance/MetricGAN$ CUDA_VISIBLE_DEVICES=0,1   python train.py hparams/train.yaml --data_parallel_backend
speechbrain.core - Beginning experiment!
speechbrain.core - Experiment folder: ./results/MetricGAN/7230
speechbrain.core - 1.9M trainable parameters in MetricGanBrain
speechbrain.utils.checkpoints - Loading a checkpoint from results/MetricGAN/7230/save/CKPT+2021-09-27+14-42-16+00
speechbrain.utils.epoch_loop - Going into epoch 4
Discriminator training by current data...
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:35<00:00,  2.79it/s, train_loss=0.0575]
Discriminator training by historical data...
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 39.09it/s, train_loss=0.00605]
Discriminator training by current data again...
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:11<00:00,  8.44it/s, train_loss=0.0107]
Generator training by current data...
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:07<00:00, 12.89it/s, train_loss=0.512]
Avg G loss: 0.512
Avg D loss: 0.011
MSE distance: 0.144
  0%|                                                                                | 0/39 [00:06<?, ?it/s]
speechbrain.core - Exception:
Traceback (most recent call last):
  File "train.py", line 582, in <module>
    se_brain.fit(
  File "/mnt/DataCenter/user1/mmEve/speechbrain/speechbrain/core.py", line 1067, in fit
    loss = self.evaluate_batch(batch, stage=Stage.VALID)
  File "/mnt/DataCenter/user1/mmEve/speechbrain/speechbrain/core.py", line 928, in evaluate_batch
    out = self.compute_forward(batch, stage=stage)
  File "train.py", line 64, in compute_forward
    mask = self.modules.generator(noisy_spec, lengths=lens)
  File "/mnt/DataCenter/user1/mmEve/venv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/mnt/DataCenter/user1/mmEve/venv/lib/python3.8/site-packages/torch/nn/parallel/data_parallel.py", line 169, in forward
    return self.gather(outputs, self.output_device)
  File "/mnt/DataCenter/user1/mmEve/venv/lib/python3.8/site-packages/torch/nn/parallel/data_parallel.py", line 181, in gather
    return gather(outputs, output_device, dim=self.dim)
  File "/mnt/DataCenter/user1/mmEve/venv/lib/python3.8/site-packages/torch/nn/parallel/scatter_gather.py", line 78, in gather
    res = gather_map(outputs)
  File "/mnt/DataCenter/user1/mmEve/venv/lib/python3.8/site-packages/torch/nn/parallel/scatter_gather.py", line 63, in gather_map
    return Gather.apply(target_device, dim, *outputs)
  File "/mnt/DataCenter/user1/mmEve/venv/lib/python3.8/site-packages/torch/nn/parallel/_functions.py", line 75, in forward
    return comm.gather(inputs, ctx.dim, ctx.target_device)
  File "/mnt/DataCenter/user1/mmEve/venv/lib/python3.8/site-packages/torch/nn/parallel/comm.py", line 235, in gather
    return torch._C._gather(tensors, dim, destination)
RuntimeError: Input tensor at index 1 has invalid shape [10, 266, 257], but expected [10, 313, 257]

But when I changed the ## valid_N_batch ## in the train.yaml from 20 to 1, the code worked well. I ran the "nvidia-smi" in the terminal but it seemed that there is only one GPU work but not two GPUs as I set in the command (CUDA_VISIBLE_DEVICES=0,1). The above problems also happened when I changed the train_N_batch from 1 to 20 (other numbers but not 1).
So I wonder why it didn't work with valid_N_batch:20 and what do the parameters in the train.yaml mean (more specifically, the number_of_samples, train_N_batch, valid_N_batchj)? Is there any more detailed  README doc about the parameters of the MetricGAN?  Thanks~

I'm not sure we even tried the MetricGAN+ code on multiple GPUs. Any insight @JasonSWFu? In the past we had a similar issue for the ASR recipes, but we solve it. Here @popcornell and @TParcollet might have some insight as well.

The MetricGAN+ uses a buffer right ? I would look into that one as it may cause problems with multiple GPUs.

Hello, may I ask whether the result of your final code reproduction can reach the PESQ described in the paper?

Hello,
The error is coming from data_parallel_backend which is totally deprecated in PyTorch and SpeechBrain. Instead, please use DDP (see our tutorials: https://speechbrain.readthedocs.io/en/latest/multigpu.html).
I am closing this issue. Feel free to reopen if you are unable to solve the issue with DDP.
Best,
Adel


Update package.json to the latest grunt version.

Hi, could you please provie a new version with these changes?
Latest is 0.1.0 from last year. Thank you!


V0.3 update dev guide dash

For DeleteEntrySdForLogic.png the command phrases need to be changed @kevinLamKB

ah yes, thanks


code signposts

the readme needs to show the code hierarchy eg core plus twitter-adapter
it would be cool the visualise the code dependancy tree

Agreed, is the detail of a polished product


Claiming bug on neo-local-faucet

Summary
As discussed here https://github.com/CityOfZion/neo-local/pull/153
Thanks to @archaengel, for discovering this.
neo-local-faucet service fails to process request from any wallet with default env variable BOOTSTRAP=_4kBlocks. Chain height of < 5000 breaks service and cause infinite loop in container.
To Reproduce
Try to claim assets using neo-local-faucet.
Expected Behaviour
Claim success

@archaengel, please confirm this is corrected, to close this issue.

Can confirm the faucet's working like a charm, @nunojusto.

Thanks so much, my friend! :bowing_man:


support view as a resource

note: the main blocker so far has been that mysql does not store any formatting for views, like it does for functions and procedures. It also does not have a human readable formatting like it does for tables.
maybe we should just apply our own formatter onto both the live sql and the user's sql and diff off of that.

done! merged in a6c8a7de594327250fff123a5f926f9dfe021b47


ili9341 and PWM support?

As seems to be a habit of mine, this isn't actually a problem with luma.lcd, it's another question...
Per Version 1.11 of the ILI9341 datasheet attached below, that controller appears to have its own LEDPWM output pin.  Of the several Backlight Control Registers, Backlight Control 7 provides the PWM_DIV[7:0] value to use.  Further details appear in Section 8.3.14 (pdf page 176)
At present I have no way of knowing whether the display module I have makes use of that LEDPWM output or is driving the backlight LEDs via some other mechanism.  If the controller itself provides appropriate drivers, though, it seems like that might be a less-expensive implementation than other approaches.
Does luma.lcd initialization of ILI9341 controllers touch the Backlight Control registers at all?  It might be interesting to try, then "redirect" the existing PWM method calls to alter Backlight Control 7 programming.  I can investigate further as I have the time.
My whole reason for bringing the topic up is that RPi.GPIO's current implementation (for both the native RPi version and in the Odroid-specific fork) uses a pthreads-based approach for PWM.  When I've tried it, the resulting brightness flicker is more distracting than just having a too-bright display.
ILI9341_v1.11.pdf

I can investigate further as I have the time.

From what I can tell, the particular display module I have is not using the ILI9341's backlight control in any fashion.  About the only command I could issue that had any noticeable effect was:
device.command(0x21)  # Display Inversion

and that wasn't of much particular use! :)
Seems somewhat of a shame, since the ILI9341 appears to offer adjustable brightness settings, as well as controlled transitions whenever brightness changes occur.  I guess I'll have to be more selective the next time I'm shopping for displays (as opposed to just crossing fingers and hoping some random display will at least work).
I'll let this issue remain open a few days in case @rm-hull wants to comment at all.

BTW, on a slightly different topic, poking around within the Linux kernel's drivers/gpu/drm/tiny directory (well, the copy of it that exists on github):
https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/tiny
I noticed that luma.lcd's initialization code appears to match that in the ili9341.c driver.  The mi0283qt.c driver is also intended for ILI9341 controllers (I'm using it in my dtoverlay / framebuffer experiments), and it uses slightly different gamma correction values than ili9341.c.  It could just be confirmation bias, but I think the color accuracy is a bit better with the values from mi0283qt.c.
I'm using those values in my script just by issuing commands at startup:
    if CHANGE_GAMMA:
        # Use the gamma settings from Linux's mi0283qt.c driver
        device.command(0xe0,                                # Set Gamma (+ polarity)
            0x1f, 0x1a, 0x18, 0x0a, 0x0f, 0x06, 0x45, 0x87,
            0x32, 0x0a, 0x07, 0x02, 0x07, 0x05, 0x00)
        device.command(0xe1,                                # Set Gamma (- polarity)
            0x00, 0x25, 0x27, 0x05, 0x10, 0x09, 0x3a, 0x78,
            0x4d, 0x05, 0x18, 0x0d, 0x38, 0x3a, 0x1f)


Refactor features, enable build with --no-default-features

Define features more granularly on aries-vcx-core level - this will come handy in subsequent PR's removing parts of vdrtools
Move some files / tweak aries-vcx to enable compilation with --no-default-features

Codecov Report

Merging #918 (9fadb45) into main (29cde27) will decrease coverage by 0.01%.
The diff coverage is n/a.

:exclamation: Current head 9fadb45 differs from pull request most recent head d81176e. Consider uploading reports for the commit d81176e to get more accurate results

@@            Coverage Diff             @@
##             main     #918      +/-   ##
==========================================
- Coverage   43.34%   43.34%   -0.01%
==========================================
  Files         438      438
  Lines       34847    34847
  Branches     7606     7616      +10
==========================================
- Hits        15104    15103       -1
  Misses      15262    15262
- Partials     4481     4482       +1

Flag
Coverage Δ

unittests-aries-vcx
43.34% <ø> (-0.01%)
:arrow_down:

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

Files Changed
Coverage Δ

aries_vcx/src/handlers/connection/cloud_agent.rs
70.00% <ø> (ø)

aries_vcx/src/utils/mod.rs
50.00% <ø> (ø)

aries_vcx/src/utils/provision.rs
77.77% <ø> (ø)

aries_vcx/tests/test_agency.rs
77.60% <ø> (ø)

aries_vcx_core/src/ledger/mod.rs
0.00% <ø> (ø)

aries_vcx_core/src/wallet/agency_client_wallet.rs
17.47% <ø> (ø)

aries_vcx_core/src/wallet/base_wallet.rs
0.00% <ø> (ø)

aries_vcx_core/src/wallet/indy/indy_wallet.rs
24.05% <ø> (ø)

aries_vcx_core/src/wallet/indy/internal/mod.rs
24.02% <ø> (ø)

aries_vcx_core/src/wallet/indy/mod.rs
18.96% <ø> (ø)

... and 1 more

... and 1 file with indirect coverage changes


The demo link of Timestamp Microservice is not working in api-microservice Projects

AFTER Clicking the link ..

The projects seems to be broken.

I believe this is related to: #39392

Hello,
The same problem goes for https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/exercise-tracker. Glitch demo won't load

It's not clear from this issue title, but none of the API and Microservices Project examples are working. I've been using the github repository links on the project page to get the user stories and description of what I am supposed to be doing.
Maybe we could consolidate it with #39392 and change the title to reflect that it is all of the example projects on Glitch?

Thank you, for this report. We have consolidated all of the projects into one issue. As such, I am closing this.


correspondence of the image and label format

can i use the ‘.dcm’ of the image and the ‘.nrrd’ of mask？

@cpuxzb, depends on your type of data. If your .dcm image is the only image file then yes. If it's part of a series consisting of multiple slices then you'll have to first convert your dicom series to a single-file format like niftii or nrrd (you could use dcm2niix for this).
PyRadiomics supports the image formats supported by SimpleITK. In fact, it reads the files separately and stores it in SimpleITK.Image objects. So long as the mask is contained within the image bounds, you can extract features.

@cpuxzb, depends on your type of data. If your .dcm image is the only image file then yes. If it's part of a series consisting of multiple slices then you'll have to first convert your dicom series to a single-file format like niftii or nrrd (you could use dcm2niix for this).
PyRadiomics supports the image formats supported by SimpleITK. In fact, it reads the files separately and stores it in SimpleITK.Image objects. So long as the mask is contained within the image bounds, you can extract features.

But I did not see support for the dicom format in the official documentation of SimpleITK.

Right, Joost is saying you use a tool like dcm2niix to convert dicom to
something SimpleITK can read.
On Thu, May 23, 2019 at 1:16 AM destinybuilt<EMAIL_ADDRESS>wrote:

@cpuxzb https://github.com/cpuxzb, depends on your type of data. If
your .dcm image is the only image file then yes. If it's part of a series
consisting of multiple slices then you'll have to first convert your dicom
series to a single-file format like niftii or nrrd (you could use dcm2niix
for this).
PyRadiomics supports the image formats supported by SimpleITK. In fact, it
reads the files separately and stores it in SimpleITK.Image objects. So
long as the mask is contained within the image bounds, you can extract
features.
But I did not see support for the dicom format in the official
documentation of SimpleITK.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Radiomics/pyradiomics/issues/488?email_source=notifications&email_token=AAA6Y7KFSK4DFSKEEEGODW3PWYSDFA5CNFSM4HN6B73KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWBC2KA#issuecomment-495070504,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAA6Y7NKJPDTDI6WGHA6M7LPWYSDFANCNFSM4HN6B73A
.

@cpuxzb，取决于您的数据类型。如果您的.dcm图像是唯一的图像文件，那么是。如果它是由多个切片组成的系列的一部分，那么你必须首先将你的dicom系列转换为单文件格式，如niftii或nrrd（你可以使用dcm2niix）。
PyRadiomics支持SimpleITK支持的图像格式。实际上，它分别读取文件并将其存储在SimpleITK.Image对象中。只要掩码包含在图像边界内，就可以提取特征。

Thank you for your reply.It‘s very helpful to me，i will try it.

@cpuxzb, the xxxx_image.nii file is the one that goes into "Image" input, and xxxx_label.nii file goes into "Mask" input. PyRadiomics actually requires you to have a single image file AND and single mask file to extract features. Combined with the label parameter ("Label" input) (identifying which voxels in the mask file indicate the desired ROI), this represents one "case".
In batch mode, multiple cases can be extracted using multithreading. Cases can be e.g.

1 image file with multiple mask files (1 file per case of course)
1 image, 1 mask, but different values for the label

i.e. multiple ROIs in a single mask file

multiple image files with one mask file

e.g. single ROI, multiple sequences
each file should define a physical space that contains the entire mask --> NOT multiple files that define 1 region (such as dicom, with each file storing a single slice)

multiple image files with multiple mask files (e.g. multiple patients)

@destinybuilt, @pieper, As far as I know SimpleITK does read DICOM files without issue, even if it doesn't have the '.dcm' extension (I assume it checks the DICM preamble in the file to check if it's a valid dicom). However, this can only read a single file at a time and therefore should not be used for reading 3D volumes.
Moreover, SimpleITK does also have a dicom series reader, where you can pass a list of dicom files, but this code does not support the ordering of slices based on direction and image posisition (patient), which is the official DICOM way of ordering slices, which is why we prefer alternative conversion tools.

There is code in ITK, to do some sorting of dicom files by position and orientation, and it's exposed in SimpleITK.  But it only handles some general cases, like an equally spaced set of CT slices.  So it can be very confusing for users if their data doesn't conform.  That's why we typically suggest people get comfortable with their acquisitions, e.g. by looking at them in Slicer and then use a batch conversion using dcm2niix.


Fix for DI Mapping fields being unavailable

The BDI_Setting UI was using the Helptext Field Mapping by default instead of reading what the default mapping of the user is based on the DI import Settings. This fix makes the BDI Settings UI determine field mapping based on the DI import settings defined
Critical Changes
Changes
Issues Closed
#4768
New Metadata
Deleted Metadata

**lurch: attach W-037351

Tracking W-037351


Bump GLMakie

Might fix CI on 1.11

It seems that the issue is that the X11 display is missing if running this on the CI system. Perhaps they changed the way to switch that off - may be worthwhile to check how they do the CI in Makie


LR set

Hello, when I use multi-GPUS training, the accuracy is not as good as that of single GPU, do I need to modify the parameter LR according to the number of GPUS?
If yes, how should the parameters be set?

Generally the LR doesn't affect much (0.003~0.01 should be ok). For multiple GPU-training, maybe you could try to train more epochs.

thx, I will try


Do not hide user provided network mounts

Prevent the docker daemon from mounting the created network files
over those provided by the user, thus hiding the ones provided by the user.
The benfit of this is that a user can provide the network files using the
-v command line option and place them in a size-limited filesystem.
Signed-off-by: Stefan Berger<EMAIL_ADDRESS>

Or instead you can set the network files path on the container struct if the user bind-mounts in those files and leave the networkMounts function as is.
I think as is there would be issues with links.

@cpuguy83 : I modified it that way now;
Without this patch, the user-provide mounts are hidden by the ones created by the docker daemon, so two mounts per file happen. With this modification I just made that networkMounts function is not touched but still two mounts per file are done, one for the user provided mount and one setup by the networkMounts function -- is that ok?

@cpuguy83 Any comments? Should I send a new pr?

Closing this one. ##14613 is better.


there is no "values" defined in this line.

https://github.com/openvenues/libpostal/blob/eae01d3e60501978d880e4ded15783daa28de7e5/scripts/geodata/addresses/components.py#L692
I am trying to run this tool, but it doen's work, can you send me an avaliable version of "geodata" to me?

Can you explain what you tried to do? In the code values is defined as an empty list and then populated with some data. So by the time weighted_choice() is called, there is at least an empty list. Did you catch an exception? Can you include more information?

I try to run
python osm_address_training_data.py -a planet-addresses.osm -f --country-rtree-dir=...
my python version is 2.7.2, there is exception.

Can you paste the whole text of the exception here?

Oh, I see it now. Previously I looked at the wrong line. You're right, it looks like a bug.


Add put block

Added Base64 helper converter
Added Guard to check for string size and Base64 encoding
Implemented PutBlock request and response

Code Review Notes:

Basic.Azure.Storage/BlobserviceClient.cs - the comments are Copy/Pasta, they still have the text from the PutBlockBlob method
Basic.Azure.Storage/BlobserviceClient.cs - PutBlockAsync - the pattern for the other async calls has been to await the async method, not the return variable
I don't see how PutBlock_DifferentLengthBlockIds_ThrowsArgumentException is working? There aren't any guard checks and we don't track state to compare two block id's across separate calls? (Maybe i'm just missing something)

Good catch on all points.

I removed the comments since we are not primarily using XML comments.
Updated the await/async pattern.
Correct on the ArgumentException. It was passing because the wrong-length ID was not Base64 encoded. Updated the test and verified results.


Goto definition for anon record fields is not supported

Description:
Goto definition for anon record fields is not supported
Steps to reproduce:
public type Person record {
    string name;
    int age;

    record {|
        string city;
        string country;
    |} address;
};

public function main2() {
  Person john = {
        name: "John Doe",
        age: 25,
        address: {city: "Colombo", country: "Sri Lanka"}  // <--- try to goto def address here
    };
}

Affected Versions:
1.2.0

Seems to be the same as #22009


Found key was not removed

I'm seeing this logged a bunch when I call remove() on a Query:
Found key was not removed: 123
Query looks like this:
dataBox.query().equal(Data_.parentId, parentId).build().remove();
It's being run inside boxStore.runInTx().
The thing is, Data has 0 rows at this point. And the IDs it's logging are not part of Data.
The IDs are actually part of another table, let's call it OtherData. They aren't related in any way. Why is it logging out that some keys weren't removed for a different table? Even if it was the correct table, I'm not sure why it's logging this at all.
EDIT: On further inspection, it seems like it's logging this for every similar query, regardless of the table. I have a 3rd table (let's call it ThirdTable) where I'm performing a similar query, it does have some data that is being removed, but it also logs out "Found key was not removed" for every row in the OtherData table.
Also, when the transaction finishes when I have 2 of these queries, it logs out: "Illegal state: Tx destroyed/inactive, writeable cursor still available".
If I comment one out, it doesn't log the illegal state message.
Normally I'm seeing a bunch of "Found key was not removed" for each key, and then a 2nd time when it runs the 2nd query, and then at the end when the transaction is complete, I get the illegal state message. Aside from the logs, it seems to be all working properly though. All the data looks correct.
Also, I forgot to mention. ThirdTable has a 1 to many relation with Data, as in, ThirdTable has a list of Data, and Data has one ThirdTable. I'm using @Relation and @Backlink.

The app is multi-threaded in the sense that I'm running ObjectBox transactions concurrently. However, in this case it's actually only 1 transaction that's running, so I would say it's not relevant to this issue most likely.
I do use indexes, and the property that is being queried is indexed. They are all named the same too ("parentId"), if that matters.
I'm not sure what you mean by explicit transactions. I use the method:
boxStore.runInTx(() -> {
// queries happen here
});

I can't think of anything else particularly special at the moment. Aside from uninstalling the app and doing a clean build, is there any kind of reset I can do? Is it possible the default.json file is in a bad state or something, and could be fixed by deleting it? I assume doing a clean build would've re-built it anyway so I doubt that would help, but let me know if there's anything I should try, or anything I should log out.

Well, I have a temporary workaround. Or at least, the errors aren't being logged with this change.
All I did was add an extra condition and it "fixes" it. I would prefer to fix it properly, but it's something at least.
Here's what I did, I changed this:
                            dataBox.query()
                                    .equal(Data_.parentId, parentId)
                                    .build()
                                    .remove();

Into this:
                            dataBox.query()
                                    .equal(Data_.parentId, parentId)
                                    .notEqual(Data_.id, 0)
                                    .build()
                                    .remove();

You can see I just added what I would consider a redundant condition (the id is never 0 so this is pointless). It fixes it though, for whatever reason. It seems like there's some weird issue with just doing an equal query on its own.

Sure:
@Entity
public class Data {

    @Id(assignable = true)
    private long id;

    @Index
    private long parentId;

...

There's a lot more fields, but they're just normal String, float, Date, etc. Most of them use @SerializedName("name_here") from Gson if that matters.

Here's also the OtherData class, which is the one that the IDs were referencing:
@Entity
public class OtherData {

    @Id(assignable = true)
    @SerializedName("my_id")
    long id;

    @SerializedName("my_name")
    String name;

    @Index
    long parentId;

    @Index
    long thirdDataId;

    @Relation
    ThirdData thirdData;

    /** Used to resolve relations */
    @Internal
    @Generated(98765)
    transient BoxStore __boxStore;

    @Internal
    @Generated(12345)
    transient ToOne<ThirdData> thirdDataToOne = new ToOne<>(this, OtherData_.thirdData);
...

Ok. Let me know if you need more information.

Hi @PierceZ,
I am working on reproducing this bug and was hoping to ask you a few more things!
You mentioned ThirdTable has 1 to many relations with Data, and that OtherData has no relations with any of those two. In the code snippets that you provided, OtherData is in relation with ThirdData (which is ThirdTable I guess?), so I assume you by accident swapped OtherData and Data?
To make sure I got this right, here is what I did in order to replicate it and you tell me how close is that to your situation:

I have entity Data, which has id and indexed parent id.
I have entity OtherData, which has id, indexed parentId, indexed thirdDataId, and @Relation to ThirdData.
I have entity ThirdData, which has id, indexed parentId, and @Backlink to the OtherData (it is a list).

Then I do this:
Data data = new Data();
data.setId(123);
data.setParentId(42);
dataBox.put(data);

data = new Data();
data.setId(1234);
data.setParentId(314);
dataBox.put(data);

ThirdData thirdData = new ThirdData();
thirdData.setId(1);
thirdData.setParentId(42);
thirdDataBox.put(thirdData);

boxStore.runInTx(new Runnable() {
    @Override
    public void run() {
        otherDataBox.query().equal(OtherData_.parentId, 42).build().remove();
    }
});

This should be the same as what you described, since the queries entity has no entries in objectbox and it has no relations to other entities involved.
However, I do not get the logs you were describing, so I assume there is some difference in this and your situation -> it would be great if you could help me figure out what is the difference!
By the way, what is the version of objectbox you were trying this on? Do you still get the problem in the new version?

I think you misread what I wrote. I said OtherData has no relation to Data, I never said it wasn't related to ThirdData (which it is, as you mentioned). I also made a mistake in trying to disguise my code, sorry ThirdData is the same as ThirdTable.
To clarify the relationships:

ParentData owns all of these objects. I don't have any explicit relations set for that though, just the indexed long parentId field.
Data is a child of ParentData (there's only 1 Data for each ParentData).
OtherData I wrote in a confusing way. The parentId there refers to ParentData, and the thirdDataId refers to ThirdData. In reality, ThirdData has a list of OtherDatas (1 to many relationship). So ThirdData is really the parent of OtherData, and then ParentData is the parent of ThirdData.
ThirdData has a list of OtherData (1 to many). ParentData is the parent of ThirdData.

Like I said, none of these objects have ObjectBox relations to ParentData, just indexed long parentId fields. The only actual ObjectBox relationship that exists is the 1 to many between ThirdData and OtherData (ThirdData has many OtherDatas). So that's probably not relevant, I just brought it up to clarify the data model. Hopefully that makes more sense now.
In regards to your replication:

This is correct.
This is correct.
This is correct.

The example you posted isn't quite what is happening. Here's what it looks like:
// parsed from GSON
ThirdData[] thirdDatas = ...;
OtherData[] otherDatas = ...;
Parent parent = ...;
Data data = ...;
boxStore.runInTx(() -> {

                            thirdDataBox.query()
                                    .equal(ThirdData_.parentId, parent.getId())
                                    .build()
                                    .remove();
                            thirdDataBox.put(thirdDatas);

                            otherDataBox.query().equal(OtherData_.parentId, parent.getId()).build().remove();
                            if (otherDatas != null) {
                                List<OtherData> otherDataList = new ArrayList<>();
                                for (int i = 0; i < otherDatas.length; i++) {
                                    OtherData[] otherDataArray = otherDatas[i];
                                    if (otherDataArray != null) {
                                        for (OtherData otherData : otherDataArray) {
                                            otherData.setThirdDataId(thirdDatas[i].getId());
                                            otherData.setParentId(parent.getId());
                                            otherDataList.add(otherData);
                                        }
                                    }
                                }
                                otherDataBox.put(otherDataList);
                            }

                            dataBox.query()
                                    .equal(Data_.parentId, parent.getId())
                                    .build()
                                    .remove();
                            if (data != null) {
                                data.setParentId(parent.getId());
                                dataBox.put(data);
                            }
                        });

I'm on version 0.9.12, I haven't changed since I posted this issue and haven't had a chance to try it on the new version. I just left it with my temporary fix I posted and it seemed ok. I figured since this issue wasn't resolved, the new version probably didn't fix it, but it's possible it did. I can try it later if you think it would have fixed it.

I just tested it on 0.9.13 and it's still the same issue.

@PierceZ, thank you for the quick answer!
In your first post, you said:

Also, I forgot to mention. ThirdTable has a 1 to many relation with Data, as in, ThirdTable has a list of Data, and Data has one ThirdTable. I'm using @Relation and @Backlink.

That is what got me confused, since later you say that ThirdTable is in relation with OtherData.
Anyway, this helps a lot, you provided a lot of details and I managed to replicate it based on that!
Now we can get to fixing it -> we will keep you updated.

@Martinsos no problem.
I actually confused myself, because this issue is from about a month ago. I had forgotten what I was referencing in my actual code. After figuring it out again, I just copied the actual code and changed the references.
Anyway, I'm glad you could reproduce it.


Pass version for akamai Property creation

We are trying to manage our Akamai Properties with Pulumi.
All our Pulumi-generated versions are based on version 1. We cannot create new versions based on a prior one. We miss a field to define it. (4dpw5.... is our Pulumi client)

https://www.pulumi.com/registry/packages/akamai/api-docs/property/
    prop = akamai.Property(configname,
        name=configname,
        contract_id=contract_id,
        group_id=group_id,
        product_id=product_id,
        hostnames=hostnames,
        rule_format=rule_format,
        rules=json.dumps(dpconfig),
    )

We see a "depends_on" field in the terraform implementation. But we are not sure if it does what we expect (creating a new version based on an old one)
https://techdocs.akamai.com/terraform/docs/pm-rc-property
pulumi==3.81.0
pulumi-akamai==6.2.0

Akamai terraform provider do not need version to be explicitly defined in property provider, it always picks up the code that you have in your codebase and push it to create new version. In case of Pulumi, when updating hostnames it somehow revert back changes to v1 always...

Sorry for not responding for so long, if this is still an issue:
I don't see any field on upstream's docs that give the ability to set the depends on version, only the property version. depends_on (the resource option) is unrelated to the akamai property itself.
I would recommend filing an issue upstream with an enhancement request for a depends_on_version field.
If you believe there is a discrepancy between pulumi-akamai and the upstream terraform provider, can you please submit a Pulumi program that shows the pulumi-akamai's behavior and explain where it diverges from terraform-provider-akamai?


REQUEST: New Maintainer for

GitHub Username
@rogerogers
Requirements

[x] I have reviewed the community membership guidelines (https://github.com/cloudwego/community/blob/main/COMMUNITY_MEMBERSHIP.md)
[x] I have joined to the Slack Channel and Feishu Group Chat (for Chinese)
[x] I am contributing (any of the following apply: issues, discussions, PRs, reviews) to 1 or more CloudWeGo repositories

List of contributions to CloudWeGo

Approver for 3 months

PRs authored

https://github.com/cloudwego/cloudwego.github.io/pull/756
https://github.com/kitex-contrib/obs-opentelemetry/pull/26
https://github.com/hertz-contrib/obs-opentelemetry/pull/22
https://github.com/hertz-contrib/logger/pull/36
https://github.com/hertz-contrib/logger/pull/37
https://github.com/hertz-contrib/logger/pull/41
https://github.com/hertz-contrib/logger/pull/42
https://github.com/cloudwego/cloudwego.github.io/pull/785
https://github.com/cloudwego/cloudwego.github.io/pull/790
https://github.com/cloudwego/cloudwego.github.io/pull/813
https://github.com/cloudwego/cloudwego.github.io/pull/814
https://github.com/cloudwego/cloudwego.github.io/pull/815
https://github.com/cloudwego/cloudwego.github.io/pull/817
https://github.com/cloudwego/cloudwego.github.io/pull/820
https://github.com/cloudwego/cloudwego.github.io/pull/826
https://github.com/cloudwego/cloudwego.github.io/pull/828
https://github.com/cloudwego/cloudwego.github.io/pull/840
https://github.com/cloudwego/cloudwego.github.io/pull/844
https://github.com/cloudwego/cloudwego.github.io/pull/845
https://github.com/kitex-contrib/obs-opentelemetry/pull/32
https://github.com/cloudwego/cwgo/pull/93
https://github.com/cloudwego/cwgo/pull/94
https://github.com/cloudwego/cloudwego.github.io/pull/848
https://github.com/hertz-contrib/obs-opentelemetry/pull/26

PRs reviewed

https://github.com/cloudwego/hertz-examples/pull/117
https://github.com/cloudwego/cloudwego.github.io/pull/789
https://github.com/cloudwego/cloudwego.github.io/pull/768
https://github.com/hertz-contrib/obs-opentelemetry/pull/24
https://github.com/cloudwego/cloudwego.github.io/pull/733
https://github.com/cloudwego/cloudwego.github.io/pull/812
https://github.com/cloudwego/biz-demo/pull/51
https://github.com/kitex-contrib/monitor-prometheus/pull/12
https://github.com/cloudwego/cloudwego.github.io/pull/746

Issues responded to

https://github.com/kitex-contrib/obs-opentelemetry/issues/24
https://github.com/kitex-contrib/obs-opentelemetry/issues/27
https://github.com/cloudwego/hertz/issues/919
https://github.com/hertz-contrib/obs-opentelemetry/issues/23
https://github.com/cloudwego/cwgo/issues/82
https://github.com/cloudwego/cloudwego.github.io/issues/771
https://github.com/hertz-contrib/logger/issues/39
https://github.com/cloudwego/hertz-examples/issues/115
https://github.com/cloudwego/hertz/issues/966
https://github.com/hertz-contrib/obs-opentelemetry/issues/25
https://github.com/cloudwego/cloudwego.github.io/issues/846

Note:  the specifics of the subproject maintainer role's responsibilities and related processes MUST be defined for individual subprojects.Maintainers are the technical authority for a subproject. They MUST have demonstrated both good judgement and responsibility towards the health of that subproject. Maintainers MUST set technical direction and make or approve design decisions for their subproject - either directly or through delegation of these responsibilities.

Thank you for sharing this. Based on my skills and experience, I believe I am well-equipped to fulfill these requirements. I have successfully applied my knowledge in relevant fields in previous contributions. I look forward to the opportunity to demonstrate my competencies and contribute to our team.


MAC tx fail in Wi-SUN router based on mbed-os-example-mesh-minimal

I am trying to construct a Wi-SUN with nanostack-border-router and mbed-os-example-mesh-minimal programs, but
I met an error message in a router based on mbed-os-example-mesh-minimal listed below.
I found a similar issue in "https://github.com/ARMmbed/mbed-os-example-mesh-minimal/issues/288".
According to the issue, the problem was fixed in mbed-os 5.14.1.
However, I am facing a similar problem in mbed-os 5.15.4.
My HW and SW environments are as follows:
Border Router:
NUCLEO-F746ZG + X-NUCLEO-S2915A1 (S2LP)
SW: nanostack-border-router (mbed-os 5.15.4)
Router:
NUCLEO-F411RE + X-NUCLEO-S2915A1 (S2LP)
SW: mbed-os-example-minimal-mesh (mbed-os 5.15.4)
A part of log file.
[INFO][ksep]: Initial-key init
[INFO][wsps]: EAPOL target: 12:b9:d6:42:8d:18:e6:da
[INFO][wsps]: Initial EAPOL-Key trickle I: [360,720] 569, t: 557
[INFO][ksep]: Initial EAPOL-Key send, PMKID not set PTKID not set GTKL 0
[INFO][mMCp]: MAC tx fail
[INFO][wsps]: Initial EAPOL-Key TX failure, target: 12:b9:d6:42:8d:18:e6:da
[DBG ][secl]: prot timeout, state: 5
[INFO][ksep]: Initial-key finished
[INFO][wsbs]: received ADVERT Src:12:b9:d6:42:8d:18:e6:da panid:6ebc rssi:-50
[INFO][wsps]: initial key retry timer expired

ARM Internal Ref: IOTCELL-2469


update charter

Move shared responsibilities with TSC to a sepcial section.
Remove Inclusivity WG as CommComm superseded it. There is currently no
Inclusivity WG nor an initiative to create one.
Minor formatting updates.
This will need to be approved by the board. They will need to approve the corresponding TSC charter changes at the same time.

Corresponding TSC charter changes: https://github.com/nodejs/TSC/pull/569

@mcollina I've removed the sentence about escalation to the board. PTAL

(Applied the do-not-merge label to make it clear that this needs Board approval before landing. It will need to be approved at the same time as the similar TSC Charter changes.)

@bnb @hackygolucky Any chance I can get your reviews on these changes?

link to TSC responsibilities added as "See also"

Apologies @Trott, will look in a bit 👍

Assuming the analogous changes in the TSC Charter are ready to go (which they aren't yet, but we're really close), is this ready to move to the board? Or is there something else that needs to happen first?

@Trott I would follow up with @hackygolucky on that 👍

This requires https://github.com/nodejs/TSC/pull/569. I'm going to close this because I closed that one for the reasons described in https://github.com/nodejs/TSC/pull/569#issuecomment-421480628. Feel free to re-open, comment, etc. if anyone plans on pushing this forward.


I'm getting this error while running the project: The _ParallaxBackgroundPainter#ddf5e() custom painter called canvas.save() or canvas.saveLayer() at least 1 more time than it called canvas.restore().

Please check the latest version. It should be working by now.
If you have any further questions, feel free to reopen your ticket.


Image orientation problems after run "generate missing modalities"

hi, sorry to bother you
I have done all things under your instruction, everything works well but the output generated images looks wired.
It may be something about image orientation / image header settings, I'm not sure if you also encountered this problem or it's just my personal fault.

Image above is the generated image

And image above is what it expected to be.
Sincerely,
Weiyan

I think affine matrix could be wrong, let me check the code again.

In brain_3D__random_mod_dataset module, you do "getBetterOrientation" transfoms to all images input to make them in IPL orientation
transforms.Lambda(lambda x: getBetterOrientation(x, "IPL"))
but in dataset getitem function ,you return the original affine information(which not been transformed) to the model, which wil make output image header in original affines but with its data in IPL affines

Thank you for your notice and I have updated the code to fix the bug.


Lexer & Initial REPL

Description
Initial implementation of the REPL to simply respond back with tokens from input scanned.
Initial Implementation of the base level of tokens defined from Thorsten Ball's Monkey Language Book.
Closes #8
Testing Guidelines

Manually pull branch, and run go test ./lexer
Ensure all tests pass and all tokens are being covered within tests from token definition

@BabyKangaroo117
I ran the instructions within testing guidelines and ran into the following error:
# YARTBML/lexer
lexer/lexer_test.go:108:11: missing ',' in composite literal
FAIL    YARTBML/lexer [setup failed]
FAIL


Chore #158022946 Reduce Line Length

What does this pull request do
Reduces the length of lines of code to less than 80 characters as per the PEP8 style guidelines
Description of tasks to be completed

reduce the length of lines of code longer than 80 characters

How can this be manually tested
You can view the changes in the commit below.
What are the relevant Pivotal Tracker stories
#158022946
Signed-off-by: Dave Mathews<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build 72

58 of 72 (80.56%)  changed or added relevant lines in 9 files are covered.
3 unchanged lines in 3 files lost coverage.
Overall coverage remained the same at 92.606%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

MaintenanceTrackerAPI/api/v1/models/user_model.py
9
14
64.29%

MaintenanceTrackerAPI/api/v1/models/request_model.py
15
24
62.5%

Files with Coverage Reduction
New Missed Lines
%

MaintenanceTrackerAPI/api/v1/models/user_model.py
1
90.48%

MaintenanceTrackerAPI/api/v1/users/single_user_all_requests.py
1
84.75%

MaintenanceTrackerAPI/api/v1/models/request_model.py
1
89.51%

Totals

Change from base Build 70:
0.0%

Covered Lines:
501

Relevant Lines:
541

💛  - Coveralls


Remove rust CSLS endpoint

This is being switched off today at 12 noon.

Note: I have not tested this at all, treat with extreme skepticism

dupe of #349


Makefile updated to work in windows.

Requirements:

make (installed with choco, GNU Make 4.3)
windows git tools in path (for cp, ln and few other tools)

CPython in windows doesn't have 3 postfix in the binary so extra
environment/make variable "PYTHON_BIN" was introduced to tell make
the "correct" python interpreter.
Observations:
$(shell pwd) which was used to detect current directory didnt work as-is because it reports posix path if -W flag is not given, however, someone that triggered an error so defaulting to use ${CURDIR}

@rasjani Thank you for your contribution :blush:


Feature request - PV time dependent output from app/tandem

I would appreciate your help with implementing a new feature that outputs strain and lame parameters for the entire domain as simulations progress.
Something similar is already implemented in static

no needed found that it can be achieved by adding:
[domain_output]
jacobian =true


Add ability to write .interval_list files

We can read them as of #686, it would be nice to be able to write them too.

@ryan-williams We can close this as a dupe of #710, nyet?


The hyperlink does not insert successfully for 'Issue page' on the first part of release notes

Storage Explorer Version: 1.33.0 (97)
Build Number: 20240217.4
Branch: rel/1.33.0
Platform/OS: Windows 10/Linux Ubuntu 22.04/MacOS Sonoma 14.3(Apple M1 Pro)
Architecture: x64/x64/x64
How Found: From running test cases
Regression From: Not a regression
Steps to Reproduce

Launch Storage Explorer -> Click 'Help -> Release Notes'.
Observe the first part of the release notes.
Check whether the hyperlink shows well for 'Issue page'.

Expected Experience
The hyperlink shows well for 'Issue page'.
Actual Experience
The hyperlink does not insert successfully for 'Issue page'.

Verified this issue on the rel build 20240220.6. Fixed.


What to do with the token file when publishing to Netlify or similar?

Great work with this plugin!
However, I wonder how to get it working when publishing to something like Netlify since I don't want to commit the "google-docs-token.json" to source control and it's not possible to input the code in the build output?
Is it possible to add the token to env variables and read it from there instead of from the json-file?

You are right, we have to refactor this part to make it possible to read it from env variable. But for now it's not possible.
If someone have any idea or want to help me about this, I would be grateful :)

Could something like this in auth.js be a solution?
async function getToken({access_type, client, scope, token_path}) {
  if(process.env.GDOCS_TOKEN){
    const token = JSON.parse(process.env.GDOCS_TOKEN)
    return token
  }else if (fs.existsSync(token_path)) {
    const token = JSON.parse(fs.readFileSync(token_path, "utf-8"))
    return token
  } else {
    const token = await getNewToken({access_type, client, scope})
    fs.writeFileSync(token_path, JSON.stringify(token))
    return token
  }
}

Or is it better to add a config option to pass the env variable?

@eriklofblad it's better to add a config to pass the env variable. But a first version with the code above could be a good move

@xuopled @eriklofblad I'm currently working on this. Will likely send a PR soon If that's ok with you guys.

@justinsunho sounds awesome if your're already working on it! Looking forward to it!

v1.10.0 released


admin for users

It feels like important functionality is lost by only having the ability to edit user roles in User Admin. What about being able to edit other user fields like the normal MEAN.JS does?
Wouldn't you want that functionality, especially under this scenario, which must be more common than the social provider scenario/any random person can sign-up scenario:

A random user is not allowed to sign-up
No social providers
Only a user with User Admin rights would create a new user either manually or via upload of a spreadsheet with pre-defined fields like first name, last name, email address
The User Admin person would have to assign the appropriate role(s) to the new user(s)
Once the User Admin person creates a new user with role(s), the new user would receive a registration email with a link that opens to a registration page where the user creates a password
Upon creating a password, the new user can access the system

Absolutely. At the time of PEAN's creation, I was just wanting to get something "out the door", so to speak. That meant focusing on the core functionality.
Most of our applications utilize "single page" admin panels w/ modals rather than MEAN's "multi-page" approach. Hence why a simple, one-page user admin was chosen.
We'll be starting a new project using PEAN quite soon. Perhaps we'll try to make a further contribution to a more substantial user admin at this time.