Unable to import dataset and feed it with CSV data from API :

Bug description
I am encountering an issue while attempting to import a dataset through the Superset API within a local Docker container environment. Despite trying various solutions, including following suggestions from previous issues and referencing external resources such as Stack Overflow (https://stackoverflow.com/questions/66015739/use-apache-superset-api-to-feed-a-dataset...), I am still unable to resolve the problem.
Additionally, I attempted to upload the file via the Swagger/v1 interface, but encountered the same error consistently:
422, superset.commands.exceptions.CommandInvalidError: Could not find a valid command to import file
I have thoroughly reviewed the provided solutions and documentation, ensuring that I adhere to the correct request format, data types, and authentication procedures. However, the issue persists.
Any assistance or guidance in resolving this matter would be greatly appreciated.
Expected Behavior:
The dataset should be successfully imported into Superset without encountering any errors.
Actual Behavior:
Encountering a 422 error with the following message: "superset.commands.exceptions.CommandInvalidError: Could not find a valid command to import file".
Additional Information:
Operating environment: local Docker container
Utilized solutions from previous issues and external resources, but to no avail.
Attempted to upload the file via the Swagger/v1 interface, resulting in the same error.
Verified adherence to API documentation, request format, data types, and authentication procedures.
Any assistance or insights into resolving this issue would be highly appreciated.
How to reproduce the bug
Attempt to import a dataset through the Superset API in a local Docker container environment.
Alternatively, try uploading the file via the Swagger/v1 interface.
Observe the consistent occurrence of the 422 error along with the associated error message.
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Hey @rusackas , I ended up giving up this solution for the problem I was facing. Basically , we have a codebook (which means that an integer is representing a string in our database) , so if a user is making a query, in the result he would have the Integer instead of the corresponding String value. My plan was to upload using the API the dataset which is making the "translation" so User could query this one to get the corresponding value.
Struggled a bit with the API (probably me that was not passing the right args to the query, it was by the time 2 weeks I started working in Superset) so I created a virtual table in DB with the dataset.
Know you know everything ahaha :)
Thank you anyway for your help , have a nice day/evening depending when you read this !


Should not alter unload directly

Hi,
You should not alter onload directly as you do.
Please, first check that an window.onload is not already set before altering it. This may break client code.
Thanks!

I'm also having this problem.  Also, it appears that in the domLoaded() function you keep adding the handler in multiple ways even if you have successfully added the handler, ie if you have called addEventListener because you are on Chrome/Mozilla/Opera, why do you still need to override window.onLoad and/or check for Safari/Konquerer?

Indeed, let us fix that. Feel free to send a PR if you find a fix faster.

FIxed in latest version.


Unable to generalize a type variable - another example

As instructed by the compiler, I'm reporting this. I see that recently a bunch of these were aggregated and closed... but a quick inspection made me think my case might be different, so I'm reporting it:
Minimal case:
type M
  = M1 Int

desc1 : { project : Int -> String }
desc1 = { project = toString }

deconstruct : (d -> a -> String) -> M -> String
deconstruct f m = case m of
  M1 a -> f desc1 a

This results in:

:: elm-make: It looks like something went wrong with the type inference algorithm.
:: Unable to generalize a type variable. It is not unranked.
:: Please create a minimal example that triggers this problem and report it

A more fleshed out example that shows my motivation:
type M
  = M1 Int
  | M2 String

type alias Desc a =
  { print : a -> String
  , count : a -> Int
  }

descM1 : Desc Int
descM1 = Desc toString identity

descM2 : Desc String
descM2 = Desc identity String.length

deconstruct : (d -> a -> r) -> M -> r
deconstruct f m = case m of
  M1 a -> f descM1 a
  M2 a -> f descM2 a

printM : M -> String
printM = deconstruct .print

countM : M -> Int
countM = deconstruct .count

Elm 0.18, 'natch!

In your minimal case, the type signature says "Give me a function with two type variables and a String result, an M and I'll give you a String". So judging by the type signatures alone, that means I can pass it String.repeat.
Clearly that doesn't make sense, but it points to the underlying issue - there are in fact constraints on what d and a may be. In this case, those constraints can't meaningfully be expressed in Elm. (It's something like Desc a -> a -> r where the value of the type variable a depends on the value of M)
The error isn't very helpful, though it's better in 0.19:

The error for the full example is similar.

Thanks for the report, though! Since this won't result in an unable to generalize a type variable error in 0.19, I'll close this for now. Always welcome on Slack to discuss what your options are 😃
I think the closest you can reasonably get to this is to flip the way Desc works around from being polymorphic in the input and having different sets of operations for the different values of M, to being polymorphic in the output and each describing a single operation for all values of M: https://ellie-app.com/m82mcCJRza1/0


Unable to identify any set of controllers that can actuate the specified joints

first I'm using Noetic, don't know if that's the reason.
code's downloaded and catkin ran fine.  I'm trying to simulate InMoov in Gazebo and control it by RViz.  As in your instruction, 2 steps:

roslaunch inmoov_gazebo inmoov_world.launch
roslaunch inmoov_moveit moveit_planning_execution.launch

In the 1st step, I first noticed that the robot head is placed in a wrong position (it's at the origin), and then I found errors messages in the terminal, which are:
Error [Model.cc:311] Joint with name [head_tilt] in model with name [inmoov] has a name collision. Please rename this joint.
Error [Model.cc:311] Joint with name [jaw] in model with name [inmoov] has a name collision. Please rename this joint.
... ...
[ERROR] [1612744455.267236665, 0.147000000]: GazeboRosControlPlugin missing  while using DefaultRobotHWSim, defaults to true.
This setting assumes you have an old package with an old implementation of DefaultRobotHWSim, where the robotNamespace is disregarded and absolute paths are used instead.
If you do not want to fix this issue in an old package just set  to true.
... ...
[ERROR] [1612744455.709122871, 0.319000000]: Could not load controller 'right_arm_controller' because controller type 'position_controllers/JointTrajectoryController' does not exist.
[ERROR] [1612744455.709189616, 0.319000000]: Use 'rosservice call controller_manager/list_controller_types' to get the available types
[ERROR] [1612744456.710170, 1.143000]: Failed to load right_arm_controller
... ...
In the 2nd step, RViz can be launched okay with the head in the correct position.  I can do plan, the animation showed the arm can move correctly, however, it seems execute can do nothing, no part moved.  the error message in the terminal is:
[ERROR] [1612744849.928173690,<PHONE_NUMBER>00]: Unable to identify any set of controllers that can actuate the specified joints: [ right_bicep_rotate right_elbow right_shoulder_side right_shoulder_up right_wrist ]
[ERROR] [1612744849.928207913,<PHONE_NUMBER>00]: Known controllers and their joints:

Hello,
Looking at the error return, have you installed ros_control, ros_controller, and gazebo_ros_pkgs?. These packages are required to run the controllers for the InMoov. (It's been a while since I worked on this package, and I've been meaning to come back and update it for newer versions of ROS)

Yes, Matthew!  I found out I hadn't installed gazebo_ros_pkgs !!!  I just tried after the installation.  It works now.  Thank you for your reply.  Really appreciate it!

Okay, cool. This serves as a reminder that I need to go back and insert the required software in the README for this repository.


Fix typos

This PR fixes some typos: initalizers, fileds, mutli, beacuse, and summmary.

Can one of the admins verify this patch?


Optimize completion by removing updating all tasks

Optimize completion by removing updating all tasks.

When there are hundreds of thousands of tasks in the workflow, this update will be expensive.
all tasks should be done before workflow is completed.

Pull Request Test Coverage Report for Build 4717

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.002%) to 70.062%

Totals

Change from base Build 4697:
-0.002%

Covered Lines:
12981

Relevant Lines:
18528

💛  - Coveralls


Open Automatically on Server Start does nothing when the extension isn't activated

Testing https://github.com/microsoft/vscode/issues/158835
Repro:

Close all editors
Reload window
Right click a html file in explorer and select "Open Automatically on Server Start"

Nothing happens
onCommand:livePreview.setDefaultOpenFile should be an activation event

I see, that's intended to just set the path for where to go when you actually start the server, but it makes sense that you'd expect it to also open the preview.

@andreamah oh no, I expect it to write the path in settings but it does not because the extension does not activate. This is a bug with the fix being adding onCommand:livePreview.setDefaultOpenFile to activation events

ah ok that totally makes sense.


How do I mimic arrow key presses with vimrc?

[x] I know this plugin is about persisting changes to the Vim support built into Obsidian, plus some bonus features, and considered asking in the Obsidian forum first.

How do I map <C-h>, <C-j>, <C-k>, <C-l> to <Ctrl+LeftArrowKey>, <Ctrl+DownArrowKey>, <Ctrl+UpArrowKey>, <Ctrl+RightArrowKey>?

It seems like you can't do that because the  is occupied by obsidian itself for find & replace. My solution is use the Alt key instead.


Provide a way to ignore hub's aliases

I have my own "git sync" alias which does the right thing in my environment. Unfortunately hub recently introduced a "hub sync" command which does things I don't want (deletes branches, doesn't pull). Additionally, as noted in a below comment, it may even result in data-loss.  I can't seem to find a way to make use of hub as a proper around git without having its sync get in the way. One option is to introduce yet another wrapper that dispatches to either "git" or "hub" depending on the command provided, though this would require more intimate knowledge of git's command line parsing.
The best way I forward I could think of is to do one of the following:
(a) ensure that git aliases override hub's commands.
(b) provide a way to bypass hub's commands per-command.
Obviously I'm open to other solution that solve my problem.

A similar issue exists with hub's new "hub pr" command which conflicts with locally defined aliases (that are mostly unrelated to github). It would be ideal if hub would use a longer less conflicting name, and let users alias shorter names if they prefer.

Sorry for spamming this ticket but I just noticed particularly dangerous behavior on the part of "hub sync":
If a local branch doesn`t have any upstream configuration, but has a
same-named branch on the remote, treat that as its upstream branch.

this is nearly always wrong in my environment and might result in severe confusion.

On commands shadowing aliases: https://github.com/github/hub/issues/1536#issuecomment-395212948
this is nearly always wrong in my environment — possibly, but hub will only ever delete a branch if it had upstream configuration and the upstream branch has been deleted (i.e. its remote tracking branch disappeared) and the head of the local branch has been merged into the default branch. Can you elaborate a bit more on how you see possible data loss happening?
What are your full expectations of what hub sync command would do? I'm soliciting feature feedback.

Meta point: one thing that I liked about hub, unlike most other git extensions, is that it was a really lightweight wrapper around git. It basically didn't do anything or bother me unless I was explicitly trying to work with github. Other utilities like "git-extend", "git-extras", and so on added so many commands that it was impossible to know what even making a typo would do.

What are your full expectations of what hub sync command would do?
To my meta-point: ideally not exist. It isn't github specific.
If you want to replicate roughly what I have it do, do in order, and only if the previous step was successful:

run git fetch
attempt to use my branch's default (merge/rebase) to update from the tracking branch
push to the upstream branch (based on push.default)
run git submodule update --init --recursive

Right now that's 'sync' is aliased to '!git pull && git push && git submodule update --init --recursive' though I've changed that configuration locally over time.

Only ever delete a branch if it had upstream configuration and the upstream branch has been deleted.
This isn't what was documented. In this case, it does more than I want it to, but isn't as dangerous as I understood. I was worried about the case where it had no upstream configuration, but the remote branch happen to have had the same name.

there must be some way to ensure that hub's idea "sync" never executes. — there is an easy way: don't run hub sync.
I should clarify: "... while still making use of the rest of hub's features".

Commands shadowing aliases: it's core git behavior #1536 (comment).
Hrm... that's annoying though not hub's fault. This wasn't a problem when hub only had some long commands that rarely clashed [0]. Unfortunately with the shorter names, and broader scope (git sync has nothing to do with github) we're running into issues. While the ideal solution is for git to provide better control over what it does, one workaround is for hub to provide per-command control to make it a passthrough.

[0] I am aware of some shadowing behavior for even simple commands like "git clone" to make it easier to checkout github repos. This is nice, and has never caused me problems.
To summarize I think we should do one of the following, not in any specific order of "goodness":
(A) use only longer non-clashing names.
(B) option A, but also provide default aliases to shorter names. This makes them overridable
(C) Provide a hub-specific configuration to make commands pass-through rather than actions.
(P.S. thanks for all your work. I've been using hub for years now, and never noticed it until today. That's a good sign!)

Thank you for your thoughts!
I had this idea for hub for a long time: even when aliased as git, hub-specific commands like hub create, hub pr, hub sync and others should only be available when the command is invoked as hub and not as git. These subcomands would be unavailable by design when typing git sync, git pr, etc., leaving room for aliases.
To achieve this, we would have to give different instructions for our users than doing alias git=hub, because aliases implemented by the shell don't give us a distiction whether a command was invoked through an alias or not.

Having all commands available as hub makes sense.  Having hub override things provided via commands (e.g. git-extra's git-pr) or by a user's aliases seems confusing and not a good user experience.
Doing this automatically would be nice.  But being able to turn off certain commands when used via git (instead of hub) would be sufficient.

Somewhat related, though probably worth a different issue, is that hub does not follow git's configuration for spell correction. For example:
∴git pull-reqst
git: 'pull-reqst' is not a git command. See 'git --help'.

but
∴git psh
WARNING: You called a Git command named 'psh', which does not exist.
Continuing under the assumption that you meant 'push'.

Hey @grimreaper I just opened #2219 about spell correction. Commenting here to get them linked 😃

Somewhat related, though probably worth a different issue, is that hub does not follow git's configuration for spell correction. For example:
∴git pull-reqst
git: 'pull-reqst' is not a git command. See 'git --help'.

but
∴git psh
WARNING: You called a Git command named 'psh', which does not exist.
Continuing under the assumption that you meant 'push'.

The hub pr command really makes me confusing, since we already have hub pull-request here, with a similar name but different function. Btw I prefer pr = pull --rebase, and hub pr breaks my alias.

Yep @Arnie97 I have the same feeling, not about pull rebase but just having two commands to interact with PR's confuses me 😅


BUG - Titles not on screen. See comment to reproduce.

Play Menu level. Choose Chapter 1 Level 1. Click to the last interstitial. Click back. Choose Level 2. Interstitials do not show.

This happens on all levels.


Unused Function parameter must be removed

In this pull request I addressed the code smell 'Unused Function parameter must be removed'.
26 different instances of the above code smell has been refactored in this pull request
Why refactoring the code smell/issue is relevant?
Unused parameters are misleading, as it is unclear weather it is necessary in the function because regardless of the value passed to them, they do not affect the behavior of the function. Unused parameters make code comprehensibility and maintainability of code difficult.
How the code smell/issue is resolved?
I initially identified the parameters within the function that were not being utilized, I then proceeded to remove these unused parameters from the function's definition.

Overall, the changes are ok. HOWEVER, you are changing the signature of functions (async_setup_platform) that home assistant expects NOT to be changed. These are method called by home assistant core to load the integration and changing the signature will lead to a failure. See protocol definition here: helpers/entity_platform.py -> class EntityPlatformModule(Protocol)
See also info about protocols (which are somewhat equivalent to abstract base classes or interfaces in other programming languages): https://godatadriven.com/blog/protocols-in-python-why-you-need-them/


a link to the file where the styles are stored in

i didn't see any indicator of which file im editing in the pane that pops up after the shift cmd e command.
am i missing something or is there currently no way of locating that file? not even in the context menu.
would be nice to have some way to open the file from the pane

This feature is definitely on the TODO list right now. Expect it to be added in the next few weeks!

Awesome. Thank you!


Create rust.yml

Back

Looking to get a lil more info on mining the do's and dont's if anyone can help would be greatly appreciated.


Add @available(iOS 16, *) to generated class

When using @Mockable on my project I have the following error: Runtime support for parameterized protocol types is only available in iOS 16.0.0 or newer. My app targets iOS 15.
It's not a problem in test targets because I only run tests on the latest iOS version. However in order to compile, the mock needs @available(iOS 16, *).

Can you show the protocol you encountered this with?

I can't show you the whole protocol for privacy reasons but I think it comes from the following properties:
  var foo: any SomeProtocol<SomeStruct> { get }
  var bar: any SomeProtocol<AnotherStruct> { get }

  var baz: any AnotherProtocol<SomeStruct> { get }

I guess the runtime support for any isn't full until iOS 16 for some cases, and the generated mock falls into those cases.

The compiler asks me to add the @available attribute on the generated class though so surely it must work?
What's missing from iOS 15 is runtime support, which doesn't have anything to do with the SDK used to compile the app.
iOS 15 has partial runtime support for primary associated types and inside the app, we do not (because we can't) use patterns that require iOS 16 runtime support. But the rest of the app works fine, we just can't use primary associated types in function parameters (I believe), which is what the mock does.
The right thing to do would be to have the macro detect protocols with primary associated types and add the annotation on the class if there are any, since the generated code requires the iOS 16 runtime in that case.

I see, you are right... Will try to write the code for detecting this edge case. Will request a review from you when its ready.

@nathansalaun-sofia Pls check out my PR if you can at: #68

@nathansalaun-sofia The fix is available in 0.0.10


Firebase Messaging plugin: onLaunch is called multiple times

Hi,
My app uses firebase cloud messaging for push notifications. Unfortunately, onLaunch is called too often.
You’ll find an example app to reproduce the issue below (unfortunately, you have to follow all steps to configure the messaging plugin like state here (https://pub.dev/packages/firebase_messaging#-readme-tab-) before you can reproduce the issue).
Following scenario:
The app has two pages. If a push notification is received the app should open page 2. On Page two is a button to go back to page 1. After the user clicks on this button, the app is expected to be on page 1. This works fine, if the app wasn’t terminated when the notification was received. Alas, if it was terminated, the app opens page 1 just for a few minutes and jumps forward to page 2 again.
Steps to reproduce:

Start the app and note the
Terminate the app
Send a cloud push message to the noted token
--> A notification should appear
Click on the notification
--> Apps opens page 2
Click Button “Back to page 1”
--> <Expected:> App is on page 1
--> <Actual:> App is on page 1 for a few milliseconds and opens page 2 again

Logs
Unfortunately, logs aren’t possible because is only happens, if the app was terminated previously…
C:\Users\x\Projekte\flutter_test\notification\flutter_app>flutter doctor -v
[√] Flutter (Channel beta, v1.5.4-hotfix.2, on Microsoft Windows [Version 10.0.17763.437], locale de-DE)
    • Flutter version 1.5.4-hotfix.2 at C:\Dev\flutter
    • Framework revision 7a4c33425d (2 weeks ago), 2019-04-29 11:05:24 -0700
    • Engine revision 52c7a1e849
    • Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\x\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 35.3.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] Connected device (1 available)
    • Pixel 2 • xxxxx • android-arm64 • Android 9 (API 28)

Example App:

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

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();

  @override
  void initState() {
    _firebaseMessaging.getToken().then((token) {
      print(token);
    });
    _firebaseMessaging.configure(
      onMessage: (Map<dynamic, dynamic> message) => _redirectToPageTwo(),
      onResume: (Map<dynamic, dynamic> message) => _redirectToPageTwo(),
      onLaunch: (Map<dynamic, dynamic> message) => _redirectToPageTwo(),
    );
    super.initState();
  }

  _redirectToPageTwo(){
    Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => PageTwo()));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(child: Text('Page1'),),
    );
  }
}

class PageTwo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: <Widget>[
          Center(child: Text('Page2'),),
          RaisedButton(child: Text('Go back to page 1'), onPressed: () => Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => MyHomePage())),)
        ],
      ),
    );
  }

}

name: flutter_app
description: A new Flutter application.

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

dev_dependencies:
  flutter_test:
    sdk: flutter
  firebase_core: ^0.4.0
  firebase_messaging: 5.0.0

flutter:

  uses-material-design: true

my issue might be a duplicate of https://github.com/flutter/flutter/issues/28581 . Unfortunately, there is no solution either.. :(

If I remember correctly, this happens because when the Widget that configures the callbacks is popped and then inserted again it re-configures the callbacks and it fires again. As a workaround, you configure the callbacks on the root widget and make sure to not pop or replace that widget. Hence, the initState won't fire and you will keep one callback figuration alive.

@kunit1 thanks for your answer.
Unfortunately, if i try to configure it in the main app (see below), the redirect to the second page isn't working any more (no idea why... the method gets executed..)
class _MyAppState extends State<MyApp> {
  final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();

  _redirectToPageTwo(){
    print('message received');
    Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => PageTwo()));
  }

  @override
  Widget build(BuildContext context) {
    _firebaseMessaging.getToken().then((token) {
      print(token);
    });
    _firebaseMessaging.configure(
      onMessage: (Map<dynamic, dynamic> message) => _redirectToPageTwo(),
      onResume: (Map<dynamic, dynamic> message) => _redirectToPageTwo(),
      onLaunch: (Map<dynamic, dynamic> message) => _redirectToPageTwo(),
    );

    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

Furtheremore, why does a reconfigure also triggeres the method again?

maybe one of the firebase messaging developers can help?
@collinjackson @goderbauer ?

Hi guys, maybe somebody else comes up to this and want to know whether i found a solution.. I worked around the problem with the following:
Instead of Navigator.pushReplacement([...]) i use a popUntil-mechanism to navigate between the pages. That way, the page which initializes the push notification handler won't be re-created and therefore dosen't triggers the notification handling again.
You can find my code below (and can compare it to the initial code at the top of this issue):
import 'package:flutter/material.dart';
import 'package:firebase_messaging/firebase_messaging.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      initialRoute: "/",
      routes: {
        '/': (context) => MyHomePage(),
        '/home': (context) => MyHomePage(),
        '/pTwo': (context) => PageTwo(),
      },
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();

  @override
  void initState() {
    _firebaseMessaging.getToken().then((token) {
      print(token);
    });
    _firebaseMessaging.configure(
      onMessage: (Map<dynamic, dynamic> message) => _redirectToPageTwo(),
      onResume: (Map<dynamic, dynamic> message) => _redirectToPageTwo(),
      onLaunch: (Map<dynamic, dynamic> message) => _redirectToPageTwo(),
    );
    super.initState();
  }

  _redirectToPageTwo(){
    Navigator.pushNamed(context, "/pTwo");
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(child: Text('Page1'),),
    );
  }
}

class PageTwo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: <Widget>[
          Center(child: Text('Page2'),),
          RaisedButton(child: Text('Go back to page 1'), onPressed: () async {
            Navigator.popUntil(context, ModalRoute.withName('/'));
          },)
        ],
      ),
    );
  }
}

As i said, the important part is the usage of Navigator.popUntil(context, ModalRoute.withName('/')); instead of Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => MyHomePage()))
Please let me know if you find a better solution :)
Btw: maybe the documentation should be updated to point to the problem of this issue?

instead of calling Navigator.pushReplacement(..) you should just call Navigator.of(context).push(router) and Navigator.of(context).pop(result) -> when back is clicked

Thank you @Vikas-Jilla @dkobia ! @ehhc did you manage to solve it with comment above?

I'm having the same issue. The onLaunch runs everythime I load the initial route where the configure code is. I don't know how to stop this behaviour.

Same issues as well. The only way I was able to (kind of) work around it was to run fcm.configure() during initState in MyApp. As far as I know MyApp should only be initialized once and then onLaunch shoudnt run again after that. But during development if I ever perform a hot-restart then initState runs again and onLaunch runs again. Is there an fcm.clear() or anything like that? I feel like there should be a way to let fcm know that I've already handled that message.

This has become an issue because I load my data in FutureBuilder so configuring fcm in init doesn't work because I need that data to navigate to a specified page. No fix till now :(

@ehhc
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/1060. Any further collaboration will be done there.

Thank you @Vikas-Jilla @dkobia ! @ehhc did you manage to solve it with comment above?

No, unfortunately this does not solve my problem. there are reasons why i need to call pushReplacement so avaoiding it is not a working solution for me.

@ehhc
This issue has been moved to FirebaseExtended/flutterfire#1060. Any further collaboration will be done there.

Okay. Thanks for pinging me. I'll have a look on whether it will be solved in the future. Hope so :)

Enclose it with a singleton
class MySingleton {
static final MySingleton _singleton = MySingleton._internal();
factory MySingleton() => _singleton;
MySingleton._internal() {
// fcm.configure
}
// Methods, variables ...
}

@nemesioo can you share complete code with singleton?

hello guys!!!
i have a same issue. when my application was killed , i got a notification from firebase , but it navigate to homeScreen of my app but not on a page which i want. please suggest solution for it.
here is full code...
notification_code.txt

import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:wholetex_seller/providers/auth.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:wholetex_seller/screens/order_screen.dart';
import 'package:wholetex_seller/widgets/mynavigationbar.dart';
import 'package:wholetex_seller/screens/order_screen.dart';
import 'package:wholetex_seller/widgets/home_screen.dart';
import 'package:wholetex_seller/widgets/mynavigationbar.dart';
class NotificationHandling {
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin;
void initialize() {
flutterLocalNotificationsPlugin = new FlutterLocalNotificationsPlugin();
var android = new AndroidInitializationSettings('@mipmap/ic_launcher');
var ios = new IOSInitializationSettings();
var initSettings = new InitializationSettings(android, ios);
flutterLocalNotificationsPlugin.initialize(initSettings,
onSelectNotification: onSelectNotification);
}
Future onSelectNotification(String payload) async {
debugPrint("payload : $payload");
// showDialog(
//   context: context,
//   builder: (_) => new AlertDialog(
//     title: new Text('Notification'),
//     content: new Text('$payload'),
//   ),
// );
}
showNotification(Map<String, dynamic> msg) async {
var android = new AndroidNotificationDetails(
'sdffds dsffds',
"CHANNLE NAME",
"channelDescription",
);
var iOS = new IOSNotificationDetails();
var platform = new NotificationDetails(android, iOS);
await flutterLocalNotificationsPlugin.show(
0, msg['notification']['title'], msg['notification']['body'], platform);
}
void registerFirebaseNotification(BuildContext context) {
FirebaseMessaging fbm = new FirebaseMessaging();
initialize();
fbm.configure(
onLaunch: (Map<String, dynamic> msg) async {
print(" onLaunch called ${(msg)}");
if (msg['data ']['screen'] == 'order_page') {
print(msg['data']['screen']);
// await navigatorKey.currentState.push(
//     MaterialPageRoute(builder: (context) => MyNavigationBar(2)));
await Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => MyNavigationBar(2)),
);
await Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => MyNavigationBar(2)),
);
}
},
onResume: (Map<String, dynamic> msg) async {
print(" onResume called ${(msg)}");
print(msg['data']['screen']);
if (msg['data']['screen'] == 'order_page') {
print(msg['data']['screen']);
// await navigatorKey.currentState.pushReplacement(
//     MaterialPageRoute(builder: (context) => MyNavigationBar(2)));
await Navigator.push(
context,
MaterialPageRoute(builder: (context) => MyNavigationBar(2)),
);
print(msg['data']['screen']);
}
},
onMessage: (Map<String, dynamic> msg) async {
//showNotification(msg);
print(" onMessage called ${(msg)}");
if (msg['data']['screen'] == 'order_page') {
print(msg['data']['screen']);
showNotification(msg);
//myBackgroundMessageHandler(msg, context);
// navigatorKey.currentState.pushReplacement(
//     MaterialPageRoute(builder: (context) => MyNavigationBar(2)));
// await Navigator.push(
//   context,
//   MaterialPageRoute(builder: (context) => MyNavigationBar(2)),
// );
}
},
);
fbm.requestNotificationPermissions(
const IosNotificationSettings(sound: true, alert: true, badge: true));
fbm.onIosSettingsRegistered.listen((IosNotificationSettings setting) {
print('IOS Setting Registed');
});
fbm.getToken().then((token) {
update(token);
});
}
Future myBackgroundMessageHandler(
Map<String, dynamic> message, BuildContext context) async {
print("onLaunch: $message");
return showDialog(
context: context,
builder: (context) => AlertDialog(
title: Text('sfsdfdsfdf'),
content: Text('contect'),
),
);
//_showBigPictureNotification(message);
// Or do other work.
}
update(String token) async {
SharedPreferences localStorage = await SharedPreferences.getInstance();
String userToken = localStorage.getString('token');
// userToken = userToken.replaceAll('"', '');
print(userToken);

if (userToken != token) {
  Auth().saveSellerToken(token);
}
print('token:' + token);

//DatabaseReference databaseReference = new FirebaseDatabase().reference();
//databaseReference.child('fcm-token/${token}').set({"token": token});
//textValue = token;
//setState(() {});

}
}

import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:wholetex_seller/providers/auth.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:wholetex_seller/screens/order_screen.dart';
import 'package:wholetex_seller/widgets/mynavigationbar.dart';
import 'package:wholetex_seller/screens/order_screen.dart';
import 'package:wholetex_seller/widgets/home_screen.dart';
import 'package:wholetex_seller/widgets/mynavigationbar.dart';
class NotificationHandling {
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin;
void initialize() {
flutterLocalNotificationsPlugin = new FlutterLocalNotificationsPlugin();
var android = new AndroidInitializationSettings('@mipmap/ic_launcher');
var ios = new IOSInitializationSettings();
var initSettings = new InitializationSettings(android, ios);
flutterLocalNotificationsPlugin.initialize(initSettings,
onSelectNotification: onSelectNotification);
}
Future onSelectNotification(String payload) async {
debugPrint("payload : $payload");
// showDialog(
//   context: context,
//   builder: (_) => new AlertDialog(
//     title: new Text('Notification'),
//     content: new Text('$payload'),
//   ),
// );
}
showNotification(Map<String, dynamic> msg) async {
var android = new AndroidNotificationDetails(
'sdffds dsffds',
"CHANNLE NAME",
"channelDescription",
);
var iOS = new IOSNotificationDetails();
var platform = new NotificationDetails(android, iOS);
await flutterLocalNotificationsPlugin.show(
0, msg['notification']['title'], msg['notification']['body'], platform);
}
void registerFirebaseNotification(BuildContext context) {
FirebaseMessaging fbm = new FirebaseMessaging();
initialize();
fbm.configure(
onLaunch: (Map<String, dynamic> msg) async {
print(" onLaunch called ${(msg)}");
if (msg['data ']['screen'] == 'order_page') {
print(msg['data']['screen']);
// await navigatorKey.currentState.push(
//     MaterialPageRoute(builder: (context) => MyNavigationBar(2)));
await Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => MyNavigationBar(2)),
);
await Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => MyNavigationBar(2)),
);
}
},
onResume: (Map<String, dynamic> msg) async {
print(" onResume called ${(msg)}");
print(msg['data']['screen']);
if (msg['data']['screen'] == 'order_page') {
print(msg['data']['screen']);
// await navigatorKey.currentState.pushReplacement(
//     MaterialPageRoute(builder: (context) => MyNavigationBar(2)));
await Navigator.push(
context,
MaterialPageRoute(builder: (context) => MyNavigationBar(2)),
);
print(msg['data']['screen']);
}
},
onMessage: (Map<String, dynamic> msg) async {
//showNotification(msg);
print(" onMessage called ${(msg)}");
if (msg['data']['screen'] == 'order_page') {
print(msg['data']['screen']);
showNotification(msg);
//myBackgroundMessageHandler(msg, context);
// navigatorKey.currentState.pushReplacement(
//     MaterialPageRoute(builder: (context) => MyNavigationBar(2)));
// await Navigator.push(
//   context,
//   MaterialPageRoute(builder: (context) => MyNavigationBar(2)),
// );
}
},
);
fbm.requestNotificationPermissions(
const IosNotificationSettings(sound: true, alert: true, badge: true));
fbm.onIosSettingsRegistered.listen((IosNotificationSettings setting) {
print('IOS Setting Registed');
});
fbm.getToken().then((token) {
update(token);
});
}
Future myBackgroundMessageHandler(
Map<String, dynamic> message, BuildContext context) async {
print("onLaunch: $message");
return showDialog(
context: context,
builder: (context) => AlertDialog(
title: Text('sfsdfdsfdf'),
content: Text('contect'),
),
);
//_showBigPictureNotification(message);
// Or do other work.
}
update(String token) async {
SharedPreferences localStorage = await SharedPreferences.getInstance();
String userToken = localStorage.getString('token');
// userToken = userToken.replaceAll('"', '');
print(userToken);

if (userToken != token) {
  Auth().saveSellerToken(token);
}
print('token:' + token);

//DatabaseReference databaseReference = new FirebaseDatabase().reference();
//databaseReference.child('fcm-token/${token}').set({"token": token});
//textValue = token;
//setState(() {});

}
}

Hi all - leaving this here in case it helps debug / work around issues.  I am having the same issue with onLaunch or onResume called repeatedly on android.  In my app clicking the notification takes you to a specific 'notifications screen' where images, urls etc are processed.
Originally this screen used a floating action button to navigate back to the homepage (using  standard
Navigator.push(context,                               MaterialPageRoute(builder: (context) =>                                   HomeScreen()));
This would take the user back to the homepage and re-trigger the messages screen resulting in loop the user can't escape.
However, if I include the standard app bar including the leading navigator arrow (to go back to the previous screen) then the loop is NOT triggered.  The user goes back the the home screen without the messages screen being started.
In fact currently for testing I have both FAB and appBar on the message screen and the appBar doesn't trigger the loop whereas the FAB button does FOR THE SAME MESSAGE
Im pretty new to flutter so kind of at the limits of my knowledge here, but is there something different between the appBar navigator and the MaterialPageRoute navigation that would explain the behaviour?

When the application terminates, there is no notification explaining how to configure it. The foreground and background can receive onMessage and onResume.

I had the same issue until I realized that this might all depend on how firebaseMessaging.configure is done. It seems to me that as @kunit1 mentioned, depending on where you perform this configuration, it is probably getting reconfigured again. Either put it in the root or potentially put it in a singleton as I did and configure it only once re:
This worked for me.
bool _isConfigured = false;

...

if (!_isConfigured) {
  _firebaseMessaging.configure(
    onMessage: (Map<String, dynamic> message) {
      print('onMessage: '+message.toString());
      return;
    },
    onResume: (Map<String, dynamic> message) {
      print('onResume: '+message.toString());
      return;
    },
    onLaunch: (Map<String, dynamic> message) {
      print('onLaunch: '+message.toString());
      return;
    },
  );
  _isConfigured = true;
}

This answer worked for me **only when I declared isConfigured = false ** as static.
You may need to do this if you enclosed this in a notificationsService class constructed down the widget tree.
following that, I set it to true as such
PushNotificationsService.isConfigured = true; . This way it stays true even after rebuild since it's a static variable (It's independent of object instantiation)


chore(ci): validate pr title / commit message

Add https://github.com/amannn/action-semantic-pull-request
WIP

Closing because of lack of activity. We would like to accept this contribution if anyone wishes to pick this back up.


JSON order of envelope properties

Some channels require a specific order of envelope properties. In particular, the “data”, “tags” properties must all come after the "name" and "time" properties.

:+1: thanks for fixing this @sergey-shandar!

No problem. Do you know when we may have an official NPM package? I would like to fix 2 more issues:

Change event name from “Microsoft.ApplicationInsights.Event” to “Microsoft.ApplicationInsights.{KEY}.Event”.
Replace a sequence number format.

@BogdanBe has been managing the release of new versions. He could help get these changes published and coordinate the release after your other fixes are in.


Ambiguities in Requirements from original source

In relation to https://github.com/metanorma/ogc-GeoPose/pull/2.
Following is a list of ambiguities present in clause_7_normative_text.adoc, in regards to Requirements:
/req/basic_ypr/sdu
A Requirement Class and an individual Requirement have the is same label:
[[req_class_basic_ypr_sdu]]
[requirements_class]
====
[%metadata]
label:: /req/basic_ypr/sdu
subject:: Implementation of Logical Model
description:: Basic-YPR Logical Model SDU
inherit:: /req/global
requirement:: /req/basic_ypr/sdu
requirement:: /req/tangent_plane_longitude/sdu
requirement:: /req/tangent_plane_latitude/sdu
requirement:: /req/tangent_plane_h/sdu
requirement:: /req/orientation_ypr_angles/sdu
====

[[req_basic_ypr_sdu]]
[requirement]
====
[%metadata]
label:: /req/basic_ypr/sdu
description:: An implementation of a Basic-YPR Target SHALL consist of an
Outer Frame specified by an implicit WGS-84 CRS and an implicit
EPSG 4461-CS (LTP-ENU) coordinate system and explicit parameters to
define the tangent point. The Inner Frame SHALL be a rotation-only
transformation using Yaw, Pitch, and Roll angles specified in degrees
and represented as signed real number values.
====

/req/tangent_plane_longitude/sdu
Descriptions are (slightly) different:
[[req_tangent_plane_longitude]]
[requirement]
====
[%metadata]
label:: /req/tangent_plane_longitude/sdu
description:: An instance of a GeoPose tangentPoint.longitude attribute SHALL be
expressed as decimal degrees and represented as signed real number values.
====

[requirement]
.B-TP-Lon-SDU
====
[%metadata]
label:: /req/tangent_plane_longitude/sdu
description:: An instance of a GeoPose tangentPoint.longitude attribute SHALL be
expressed as decimal degrees, represented as a signed real number.
====

/req/tangent_plane_latitude/sdu
Descriptions are (slightly) different:
[[req_tangent_plane_latitude]]
[requirement]
====
[%metadata]
label:: /req/tangent_plane_latitude/sdu
description:: An instance of GeoPose tangentPoint.latitude attribute SHALL be
expressed as decimal degrees and represented as signed real number values.
====

[requirement]
.B-TP-Lat-SDU
====
[%metadata]
label:: /req/tangent_plane_latitude/sdu
description:: An instance of GeoPose tangentPoint.latitude attribute SHALL be
expressed as decimal degrees, represented as a signed real number.
====

/req/tangent_plane_h/sdu
Descriptions are (quite) different.
[[req_tangent_plane_h]]
[requirement]
====
[%metadata]
label:: /req/tangent_plane_h/sdu
description:: An instance of a GeoPose tangentPoint.h attribute SHALL be
expressed as a height in meters above the WGS-84 ellipsoid and represented
as a signed real number value.
====

[requirement]
.B-TP-h-SDU
====
[%metadata]
label:: /req/tangent_plane_h/sdu
description:: An instance of a GeoPose tangentPoint.h attribute SHALL be
expressed as a height in meters above the WGS-84 ellipsoid, represented
as a signed real number. If the tangent point is above the WGS-84 ellipsoid,
the value SHALL be positive. If the tangent point is below the WGS-84
ellipsoid, the value SHALL be negative.
====

/req/time/geopose_instant/sdu
Names are different:
[[req_pose_geopose_instant_sdu]]
[requirement]
.GP-Instant-SDU
====
[%metadata]
label:: /req/time/geopose_instant/sdu
description:: The Logical Model attribute GeoPoseInstant SHALL be
expressed in Unix Time in seconds multiplied by 1,000. The unit of measure SHALL be milliseconds.
====

[requirement]
.Graph-SDU
====
[%metadata]
label:: /req/time/geopose_instant/sdu
description:: The Logical Model attribute GeoPoseInstant SHALL be
expressed in Unix Time in seconds multiplied by 1,000. The unit of measure SHALL be milliseconds.
====

/req/frame_specification/id/sdu
There is a similar label that has the same content, name and description: /req/frame_specification_id/sdu
/req/frame_specification/parameters/sdu
Descriptions are different:
[[req_frame_specification_parameters_sdu]]
[requirement]
.FS-Parameters-SDU
====
[%metadata]
label:: /req/frame_specification/parameters/sdu
description:: The frame_specification.parameter attribute SHALL contain all
parameters needed for the corresponding authority and ID. The definition
of these parameters is outside the scope of GeoPose.
====

[requirement]
.FS-Parameters-SDU
====
[%metadata]
label:: /req/frame_specification/parameters/sdu
description:: The frame_specification.parameter attribute SHALL contain all
parameters needed for the corresponding authority and ID.
====

@manuelfuenmayor thank you for listing out the issues! This is very helpful especially since there are people implementing the spec right now.
@ogcscotts @ghobona should we directly raise these issues with the editor? Thanks.

@manuelfuenmayor @ronaldtse @3DXScape I will suggest some modifications to some of the identifiers. I am preparing a crosswalk (mappings on a spreadsheet) from current identifier to suggested identifier, for each requirements class, requirement, conformance class, and abstract test. I will share it with you by 2022-08-14.

@manuelfuenmayor @ronaldtse, I have agreed with the Editor on the mappings/crosswalk. I will complete the editing of the document.
Please proceed to merge the changes from metanorma/ogc-GeoPose/tree/geopose_encoding to metanorma/ogc-GeoPose/tree/main. Once you have merged the PR#2,  please proceed to create another PR for updating opengeospatial/GeoPose/tree/main.

Closing this as we have an updated table from @ghobona.


vcpkg includes missing network folder

I installed cpp_redis using vcpkg on windows. The includes directory generated doesn't include the cpp_redis file or the network folder, so the lines like #include <cpp_redis/network/redis_connection.hpp>
in redis_client.hpp failed to compile.

Hi,
I never used vcpkg and was not aware you could actually install cpp_redis with it.
I'm gonna check if there is some configuration file I have to push on the repository to make it work.
Thanks for reporting this issue!
Best

Hi,
Thanks for opening this ticket.
Unfortunately, I do not have the time to set up this and to maintain it.
Furthermore, there are plenty of package manager, so it is pretty hard to figure out which out should be officially supported, and which shouldn't.
However, you, or any other person interested, are free to set it up and to push me a PR, I would be happy to merge it.
Thanks

This looks fixed in the current master of vcpkg (cpp-redis package version 3.5.2-2).


data like 1e-3 loaded from yaml is with type str

It seems the decode is not performed when the value is loaded from file (such as yaml), so that data like 1e-3 will be recognized as str instead of float.

This is because of how PyYAML loads the file. Yacs only has visibility to the dictionary generated by PyYAML, at which point "1e-3" has already been decoded as a string.
The way to fix your issue is to write "1.0e3" instead; then PyYAML will decode it as a float!


on-prem: error resolving minio's hostname in backups logs

If you check the logs for a test backup in COMPLETED status with a command like:
velero backup logs -n kube-system test

You may see an error saying that the resolution of the internal minio's hostname failed:
An error occurred: Get "http://minio-0.minio.kube-system.svc.cluster.local:9000/kube-system/backups/test/test-logs.gz?X-Amz-Algorithm=...": dial tcp: lookup minio-0.minio.kube-system.svc.cluster.local on <YOUR-DNS-SERVER-IP>:53: no such host

But this error is misleading. If you go to minio's UI, you'll see that the backups are there.
Could be related:

vmware-tanzu/velero#2590

The thing is... the error you are seeing is from velero CLI itself and not the logs of the backup. The CLI tries to connect to the bucket (minio) to download the logs and it fails because the hostname is internal to the cluster and your PC can't reach it.
A workaround is to:

kubectl port-forward minio to your PC to something like localhost:9000
add an entry to your /etc/hosts file pointing minio's hostname to <IP_ADDRESS>:9000

velero backup logs should work now.
Don't forget to delete the entry from your /etc/hosts afterwards.

Hello. Ok but in my case i have a service on my PC already listening to 9000 (Zscaler). Is possible to use anorher Port o have anorher workaroubd?

Maybe change the Port that the cli use?

Hi @antoweb,
kubectl port-forward lets you choose the local port, you can do something like:
kubectl port-forward -n kube-system minio-o <THE PORT YOU WANT>:9000

You can also change the local IP and other parameters, see kubectl port-forward --help for more details.

Hi @antoweb,
kubectl port-forward lets you choose the local port, you can do something like:
kubectl port-forward -n kube-system minio-o <THE PORT YOU WANT>:9000

You can also change the local IP and other parameters, see kubectl port-forward --help for more details.

Hi @ralgozino i know that i can use another port with port forward but velero cli try to use always the 9000, so the command velero describe backup wont work anyways

One workaround is to run the velero cli form a pod inside the cluster, so it reach the internal service.


How to use react-router to build a RESTful API?

Does it support it?
I want to use react-router to replace iron-router in
https://themeteorchef.com/recipes/writing-an-api/
Sorry, pls close it if it's not an issue. Thanks in advance.

Version
2.0.0
Test Case
http://jsbin.com/sacerobuxi/edit?html,js,output
Steps to reproduce
Expected Behavior
Actual Behavior

React-router is made to work with react, which is a framework for building client-side, front-end interfaces, not REST APIs.

@WikiOops dit you find a solution?
I have the exact same issue and would like to build a restfull api on my meteor application.

I'm using simple:json-routes, which also has alternatives for different scenarios.


How to check which table Auth user belongs to?

Is there a function that helps me determine if the Authenticated person belongs to User or Admin as I have common APIs that can be called by both.

Hello. no there isn't a function like that..
Maybe you could have a field in your table, for user or admin, so you can check on that. :)


Add Helm chart for wins upgrades

Packages https://github.com/rancher/wins/issues/23 into a Helm chart that supports maintaining 1 or more configuration of wins across Windows hosts in a k8s cluster.
Requirements for Testing:

Need to be able to specify winsConfigs that should be applied to hosts based on nodeSelectors and tolerations
Need to be able to upgrade wins binary alone for a set of hosts
Need to be able to upgrade wins config alone for a set of hosts
Need to be able to upgrade both wins binary and wins config in one shot
Need to be able to take an existing Windows cluster and successfully deploy this chart even if the processPath for wins upgrade is not whitelisted (e.g. masquerading)

Masquerading
Instead of requiring a user who deploys this chart to have to manually upgrade every single windows host to whitelist the path that will contain the version of wins we plan to update to, users should be able to select one option that automatically masquerades the payload of wins upgrade under another whitelisted path. That way, you can bootstrap the upgrade processPath workflow on an existing cluster as a one time step and then switch to the normal upgrade path.
e.g.
masquerade:
  enabled: false
  as: c:\\etc\wmi-exporter\wmi-exporter.exe

Helm chart from dev-v2.5 repo successfully deployed and tested within the EPIC testing and https://confluence.suse.com/display/EN/Monitoring+v2+Windows+Support
It's compatible with windows nodes deployed on rancher:2.5.7
Installing binary and config on specific host(s) can be achieved by adding a label to node(s) like type: upgrademe and then selecting the node in wins-upgrade Values YAML form via nodeSelector: key (empty one is present in yaml):
nodeSelector:
  type: upgrademe


Disable withdrawal when user doesn't have any delegations

Describe the bug

Attempting to do a withdrawal without delegations renders the following error on the modal:
Withdrawal failed: JSON Missing msgs.
To Reproduce

Sign in with an account with no delegations
Click withdraw and try to submit the transaction

Expected behavior

Show a message that user needs to delegate to be able to withdraw.

how can a user do a withdrawal of zero? doesn't that mean we're not validating the form?

there's no "form" we only display the total rewards as the message doesn't contain any amount field

ah ok. so we should just show a message on the action modal when rewards = 0

When delegations.length = 0

ohhhhhhh. yeah. but also when rewards = 0 i guess.

You get rewards on every block so I wouldn’t bother handling that case

ah, i see what you're saying. i suppose we agree on what the outcome should be. i'll leave the implementation to you!


Deploying API Gateway definitions... 401

I am trying to deploy a basic function with an HTTP trigger, but it looks like my token is not recognized:
Serverless: Packaging service...
Serverless: Compiling Functions...
Serverless: Compiling API Gateway definitions...
Serverless: Compiling Rules...
Serverless: Compiling Triggers & Feeds...
Serverless: Deploying Functions...
Serverless: Deploying API Gateway definitions...

  Serverless Error ---------------------------------------

  Failed to deploy API Gateway route (home) due to error: POST https://openwhisk.ng.bluemix.net/api/v1/web/whisk.system/apimgmt/createApi.http Returned HTTP 502 (Bad Gateway) --> "API creation failure: Unable to obtain API(s) from the API Gateway (status code 401): {"error":{"statusCode":401,"message":"Unauthorized"}}"

Here are the commands i have exucuted (i copy/paste all values from my ~/.wskprops file):
export OW_AUTH=<my-key-here>
export OW_APIHOST=<my-api-host>
export OW_APIGW_ACCESS_TOKEN=<my-access-token>
serverless deploy

Do you know why?
I am using<EMAIL_ADDRESS>and<EMAIL_ADDRESS>My serverless.yml is:
provider:
  name: openwhisk

functions:
  hello:
    name: ${opt:stage}-test
    environment:
      NODE_ENV: ${opt:stage}
    handler: handler.hello
    events:
      - http:
          method: get
          path: home

plugins:
  - serverless-openwhisk

Hello @JohnCoding94. Thanks for the detailed bug report.
I'm also seeing this issue. Can you run wsk api list and tell me what happens? This is also failing for me which leads me to believe it's a bigger issue than the framework. I'll investigate.

Assuming the OW_APIHOST value was set to openwhisk.ng.bluemix.net, there was a backend API GW domain name change that resulted in the 401.  A patch was applied; hopefully, that 401 failure is no longer appearing.

Thanks for the update @mdeuser.
I cannot replicate the issue anymore. @johncoding94 can you confirm that has been fixed for you?

I have just tested again the same way, and it works!
Thanks!

I'm having a similar issues, except I get an empty errors object, instead of 401.
I don't have the gw_access_token configured. How did you generate the API_GW_ACCESSTOKEN ?

Hello @shivekkhurana, the API_GW_ACCESSTOKEN token can be generated by running wsk bluemix login. This will retrieve the API gateway authentication token and store it in ~/.wskprops.

I am getting this error
Failed to deploy function (openwhisk-nodejs-dev-test) due to error: PUT https://api.eu-gb.bluemix.net/api/v1/namespaces/_/actions/openwhisk-nodejs-dev-test?overwrite=true Returned HTTP 404 (Not Found) --> "Response Missing Error Message."

Hi
I am trying to deploy a function in IBM Cloud but getting below error. Could anyone please help me?
Failed to deploy function (my-first-service-dev-hello) due to error: PUT https
://api.ng.bluemix.net/api/v1/namespaces/_/actions/my-first-service-dev-hello?ove
rwrite=true Returned HTTP 404 (Not Found) --> "Response Missing Error Message."


INT B-19940 Diversion Request Modal

B-19940
Summary
Adds a modal between pressing "request diversion" and the request being made. Requires the user/TOO to provide a reason for their requested diversion.
Verification Steps for the Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

Setup to Run the Code

Instructions for starting storybook
Instructions for starting the MilMove application
Instructions for running tests

How to test

Access the office app
Login as a TOO
Find a move with an HHG shipment that has been approved by the TOO and is not yet diverted, requested to be diverted, cancelled, or requested to be cancelled. #BILWEI should work if it is fresh.
Navigate to the move task order page.
Locate and click the Request Diversion button.
A modal should open.
Ensure you are unable to submit the modal without a providing a reason.
When you submit with a reason ensure, in the dev tools, that the request and response include your reason.
To create an error, attempt to submit another diversion request for the same shipment. A flash message should display saying there was an error should appear. The ability to re-request on an already requested or diverted shipment will be prevented in an upcoming backlog item.

Frontend

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, Edge).
[ ] There are no new console errors in the browser devtools.
[ ] There are no new console errors in the test output.
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.
[ ] This change meets the standards for Section 508 compliance.

Backend

[ ] Code follows the guidelines for Logging.
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys.
[ ] Have been communicated to #g-database.
[ ] Secure migrations have been tested following the instructions in our docs.

Screenshots

Can't submit without reason as expected.

See the diversion reason after submitting.

Saw error as expected.


STM32: Board conversion to DT clock configuration. STM32F4 part1

Following #34609, Board conversion to DT clock configuration. STM32F4 boards, part1.
Compilation OK. Not tested (I don't have the boards).

96b_aerocore2
96b_argonkey
96b_carbon
96b_neonkey
96b_stm32_sensor_mez
black_f407ve
black_f407zg_pro
mikroe_clicker_2
mikroe_mini_m4_for_stm32
olimex_stm32_e407
olimex_stm32_h407
olimex_stm32_p405

CI failing due to:
tests/arch/arm/arm_no_multithreading/arch.arm.no_multithreading in segger_trb_stm32f407:tests/arch/arm/arm_no_multithreading/arch.arm

CI failing due to:
tests/arch/arm/arm_no_multithreading/arch.arm.no_multithreading in segger_trb_stm32f407:tests/arch/arm/arm_no_multithreading/arch.arm


Write final blog post (for now)

@lpgoldstein @Maroyafaied @cthomasONRR This is ready to review.
https://doimspp.sharepoint.com/:w:/r/sites/NRRD/Shared Documents/General/Blog/In Progress/PassingBaton.docx?d=wedf1f874d4934ea5a45acd50d01c2f6a&csf=1&web=1&e=vSOsot

@mcharg Thanks, looks good

@mcharg looks great.

This is waiting in a PR.  Once we merge the agile post to dev, we can get a preview and QA.
https://github.com/ONRR/blog-nrrd/pull/160

@Maroyafaied This is just waiting for your approval on the PR.  But don't merge it until the agile post goes live.


cache docker layers to speedup CI

A benchmark of 3 different caching strategies was compiled below. The selected cache method was base because the actual code doesn't change often and the other methods didn't provide a strong time reduction.
Tests of the different cache methods, where

base is adding a cache to the current dockerfile (chosen)
chef is adding the chef tool to the docker workflow
touch is building with an empty main.rs / lib.rs, then building again with the actual files.

	|base	|chef	|touch	|
|-------+-------+-------+-------|
|total	|1310s	|1972s	|1682s	|
|-------+-------+-------+-------|
|server |-	|-	|-	|
|prep	|-	|333.9s	|303.4s	|
|build	|522.9s	|704.6s	|416.1s	|
|1edit	|226s	|489.4s	|426.0s	|
|-------+-------+-------+-------|
|echo	|-	|-	|-	|
|prep	|-	|282.0s	|325.7s	|
|build	|492.4s	|670.2s	|348.7s	|
|1edit	|186s	|445.6s	|190.9s	|
|-------+-------+-------+-------|

close https://github.com/cartesi/machine-emulator-tools/issues/2
close https://github.com/cartesi/machine-emulator-tools/issues/4
close https://github.com/cartesi/machine-emulator-tools/issues/5

did you measure the final time gain?

I measured again today on my machine and got: 1258s.


SALEOR-2266 - added contrast sidebar logos for dark mode

I want to merge this change because it resolves the issue with low contrast sidebar logos in dark mode.
Pull Request Checklist

[ ] This code contains UI changes
[ ] All visible strings are translated with proper context including data-formatting
[ ] Attributes [data-test-id] are added for new elements
[ ] Changes are mentioned in the changelog
[ ] The changes are tested in different browsers and in light/dark mode

Test environment config

API_URI=https://qa.staging.saleor.cloud/graphql/

Task linked: SALEOR-2266 Saleor logo in dark mode is not visible

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

Care to make a PR here too?
https://github.com/mirumee/macaw-ui

Care to make a PR here too?
https://github.com/mirumee/macaw-ui

sure thing, i'll add it to my backlog

Let's give those commits nicer titles so they look like the rest of our history.


"Enable Check for Subdomains" setting doesn't work.

The setting Enable Check for Subdomains doesn't do a thing. Even if unchecked, it still adds a rule containing the subdomain upon whitelisting the domain from the popup UI, and also acts like that.
STR:

Have Enable Check for Subdomains unchecked in Cookie Settings.
Go to http://status.telenet.be/?language=nl and set the rule Never Clean (WhiteList) from the popup UI.
Navigate to https://www2.telenet.be/nl/ and see that the domain is not whitelisted.
Check the Cookie Whitelist and see that status.telenet.be was added.

Your settings
All default, except Enable Check for Subdomains unchecked.

OS/version: Win7 x64
Browser/version:  Firefox 54.0.1
Cookie AutoDelete version: 1.4.1

@Betsy25 I'm not sure what you are trying to do. Enable Check for Subdomains only affects the status of the browser icon color and Cookie Cleanup. It does not affect Adding a site to the whitelist (since it only adds whatever is listed in the Host Website).

@Betsy25 I'm not sure what you are trying to do. Enable Check for Subdomains only affects the status of the browser icon color and Cookie Cleanup. It does not affect Adding a site to the whitelist (since it only adds whatever is listed in the Host Website).
Well, the least I can say is that the setting names are somewhat weird if Enable Check for Subdomains only affects the status of a color. I thought that Enable Check for Subdomains had something to do with checking for subdomains, but I suspect I should take the setting names with a serious amount of salt, including the "weird" explanation that pops up when hovering over the ? icons in the setting pages....
😯

So, it's just normal that with the setting Enable Check for Subdomains OFF, it's normal that subdomain.website.com is NOT whitelisted, after I whitelisted website.com

Yes. Also that was the behavior before 1.3.0. That setting only implements what is stated in the cookie spec.
So with that setting on, when you whitelist website.com, subdomain.website.com is implied in the whitelist even though you don't explicitly add it.

So the "Checking" part of the setting names refers to whether Cookie Cleanup should "check" the subdomains in deciding whether to keep or remove a site's cookies.

Closing for inactivity.

Sorry to bump that thread.
I just want to mention that the name of this setting, and the tooltip, are not super easy to understand.
I had to perform a google search and arrive here to make sure I got it.

In a future version, you'll be able to use wildcards.

In the meantime, with the setting ON, is it equivalent to whitelist mail.google.com and google.com? Say, what is the impact on calendar.google.com?

With that setting on, google.com will protect cookies from calendar.google.com. Also with that new version that setting will be deprecated since it will not be needed when you can use wildcards.


Improve control over test data

docker-compose or docker image that contains a DICOMWeb instance
Simple, version controlled, studies
CI uses image

Allows for tests to happen locally (much faster)
Allows for tighter control of the data we're using for testing
Decreases the chances that data changes will break existing tests
Also functions as a quick way to develop "offline"/locally

Done in master


Build unit tests only when --enable-unittests is passed

Building unit tests by default requires all dependencies to be
installed (jpeg, tiff, etc) and users may not want that.
So let's disable the build of unit tests by default and introduce
--enable-unittests configure option to enable it.
Signed-off-by: Sergio Prado<EMAIL_ADDRESS>

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


How catch HTTP url from SmartLife?

Hi, I have a motor blind zemismart trough Smartlife application.
How can I extract the url to manage up/down/stop?

@Stetocasa It seems Smartlife is also using Tuya, so I would consider something like this (there are a lot of Tuya API-based plugins): https://github.com/milo526/homebridge-tuya-web
I'm not sure you'll be able to extract a specific URL because of how the Tuya API works, but you could always build something as a middleware plugin. Or, check out Tasmota, and see if you can completely replace the firmware on your motor blinds.

I'm here because tuya web plug-in reported has a bug when not catch the status of blinds
Still reporting opening or closing
See here > https://github.com/milo526/homebridge-tuya-web/issues/143

It's not clear what the issue is exactly, but sounds like it could be a bug in that plugin. Having the icons report correctly is an issue I worked through with this plugin as well.
It seems like you can pursue the path of operating Tuya through their Cloud API. It seems there are several steps, including signing up for a developer account.
https://github.com/codetheweb/tuyapi/issues/20#issuecomment-751773660
That being said, this all seems unrelated to homebridge-blinds, however, so encourage you to try other Tuya plugins or pursue help in the appropriate places. If you do pursue the Tuya Cloud API, once you have all the access tokens you need and API endpoints, feel free to reach out again if you need help configuring the http params.

If you are considering changing the firmware to tasmota, then have a look in this first: https://github.com/RavenSystem/esp-homekit-devices
It runs HomeKit natively and is very stable. All my simple devices are now changed into HAA. I am still keeping homebridge because I needed a couple of plugins (this one included)

@dxdc Up the issue
I downloaded the app named HTTP catcher and for "UP" command this was the results:

Seems something that can we use to config the plug-in for me?

You've supplied just the host, and port. There needs to be an actual request (POST/GET).


Helm charts: Missing CRD definition: IngressRouteTCP

The chart is missing a definition for the IngressRouteTCP CRD.
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "IngressRouteTCP" in version "traefik.containo.us/v1alpha1"

@jthiltges could you take a look please?

@holzman thanks for reporting! I believe this was resolved in current version of chart.


Starting a task using vscode's extension development API

Hello everyone,
How can I start a vscode.Task using vscode's extension api? I am using vscode.executeCommand("workbench.action.tasks.runTask", "Task Name") but this is both hacky and makes it impossible to track the task. I am looking for something equivalent to startDebugging(folder: WorkspaceFolder | undefined, nameOrConfiguration: string | DebugConfiguration): Thenable<boolean> for tasks.
Sorry for asking this question here but I could not find an answer anywhere else and it seems unlikely that it's not possible. Thanks!

Don't think it's possible - I'd love it to be implemented though.

@dbaeumer Would you confirm this, please?

@dbaeumer this is being solved by https://github.com/Microsoft/vscode/issues/45664 correct?  I would also like this support, but only found this issue originally and didn't realize it was being worked on - posting for the sake of others

@EricJizbaMSFT yes. Closing as dup of #45664. The API is in proposed state for the next release.


[css] :has(>child) selector not working in SCSS

Issue Type: Bug
a:has(>img) {

}

Will give error:
red squiggle at >
) expectedscss(css-rparentexpected)

red squiggle at )
{ expectedscss(css-lcurlyexpected)

VS Code version: Code - OSS 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f, 2020-11-12T10:54:25.653Z)
OS version: Linux x64 5.8.18-1-MANJARO

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (4 x 3086)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: unavailable_offvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
7.66GB (0.24GB free)

Process Argv
--no-sandbox

Screen Reader
no

VM
0%

DESKTOP_SESSION
bspwm

XDG_CURRENT_DESKTOP
undefined

XDG_SESSION_DESKTOP
bspwm

XDG_SESSION_TYPE
x11

https://developer.mozilla.org/en-US/docs/Web/CSS/:has

Waiting a bit until this is adopted by browsers.

same problem

same problem

same problem

No, yours is another feature.

same problem

No, yours is another feature.

Actually, all > or < symbol inside a bracket has a similiar problem.

Actually, all > or < symbol inside a bracket has a similiar problem.

@yume-chan
Maybe not, but they have the same error message

@yume-chan
Maybe not, but they have the same error message

Anything happening with this issue?

We are having a similar issue, but with the + selector followed by a class
.Tabs-button:hover:has(+ .Tabs-button.is-active) {
        border-right: none;
        padding-right: 17px;
}

VS Code shows two errors

) expectedcss(css-rparentexpected) for the first red squiggly
{ expectedcss(css-lcurlyexpected) for the second red squiggly

The CSS code is valid and works in Safari.

Having the same issue using :has(+ ...):

Waiting a bit until this is adopted by browsers.

Worth noting that support for :has shipped in Safari 15.4 (on both iOS and macOS) in March, and that it will ship in Chrome 105 at the end of August (see caniuse).

Can this be put in the next issue's milestone? It's an important feature which shipped in most browsers already, and it's just not supported properly by the editor.

I've aleady fixed the has support and it will be in the next milestone.
Duplicate of https://github.com/microsoft/vscode/issues/147353


System.NullReferenceException when trying to protect .NET Core 3.0 WPF application

Hello and thank you for keeping up the good work!
I would like to report the issue I've encountered when trying to protect .NET Core 3.0 WPF application. The stacktrace is as follows:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Antlr4.Runtime.AntlrInputStream..ctor(String input)
   at Confuser.Core.ObfAttrParser.TryParse(IReadOnlyDictionary`2 items, String str, ILogger logger) in C:\projects\confuserex\Confuser.Core\ObfAttrParser.cs:line 14
   at Confuser.Core.ObfAttrMarker.ToInfo(IConfuserContext context, ObfuscationAttributeInfo attr, ProtectionSettingsInfo& info) in C:\projects\confuserex\Confuser.Core\ObfAttrMarker.cs:line 148
   at Confuser.Core.ObfAttrMarker.<ReadInfos>d__8.MoveNext() in C:\projects\confuserex\Confuser.Core\ObfAttrMarker.cs:line 204
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable`1 items)
   at Confuser.Core.ObfAttrMarker.ProtectionSettingsStack.Apply(IDnlibDef target, IEnumerable`1 infos) in C:\projects\confuserex\Confuser.Core\ObfAttrMarker_ProtectionSettingsStack.cs:line 68
   at Confuser.Core.ObfAttrMarker.ProcessTypeMembers(TypeDef type, ProtectionSettingsStack stack, IConfuserContext context, ILogger logger) in C:\projects\confuserex\Confuser.Core\ObfAttrMarker.cs:line 394
   at Confuser.Core.ObfAttrMarker.ProcessModule(ModuleDef module, ProtectionSettingsStack stack, IConfuserContext context, ILogger logger) in C:\projects\confuserex\Confuser.Core\ObfAttrMarker.cs:line 389
   at Confuser.Core.ObfAttrMarker.MarkModule(IConfuserContext context, ConfuserProject project, ProjectModule projModule, ModuleDefMD module, Dictionary`2 rules, Boolean isMain, ILogger logger, ICollection`1 extModules, IPacker& packer, IDictionary`2& packerParams) in C:\projects\confuserex\Confuser.Core\ObfAttrMarker.cs:line 382
   at Confuser.Core.ObfAttrMarker.MarkProject(ConfuserProject proj, ConfuserContext context, CancellationToken token) in C:\projects\confuserex\Confuser.Core\ObfAttrMarker.cs:line 227
   at Confuser.Core.ConfuserEngine.RunInternal(ConfuserParameters parameters, CancellationToken token) in C:\projects\confuserex\Confuser.Core\ConfuserEngine.cs:line 202

I am using the latest ConfuserEx's version at the time - Confuser.Core 2.0.0-alpha+02bc8fb6b5.
Should you need any additional information, please feel free to request it and I will try my best to do so.

I would also like to add that using MSBuild with Confuser.MSBuild 1.3.1 on the same project results in
1>Failed to resolve a type, check if all dependencies are present in the correct version.
1>Could not resolve type: System.Runtime.CompilerServices.IAsyncStateMachine (System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)

I have tried adding
<module path="C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.0\System.Runtime.dll" external="true" />

to .crpoj but the same error still persists.


Not able to run integrations tests on clean checkout

After running:
mvn -DtestSrc=remote -Prun-its clean install
I get:
Building: prime/pom.xml
          prime/pom.xml .................................... FAILED (12.3 s)
  The build exited with code 1. See [...]/findbugs-maven-plugin/target/it/prime/build.log for details.

And inside is this message
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.922 s
[INFO] Finished at: 2017-10-13T17:47:24+02:00
[INFO] Final Memory: 15M/246M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project prime: Could not resolve dependencies for project findbugs-maven-plugin.it:prime:jar:testing: Could not find artifact org.codehaus.mojo:findbugs-maven-plugin:jar:3.0.6-SNAPSHOT  in local.central (...) -> [Help 1]

I'm not sure why "it-tools" are run in a separate execution in "pre-integration-test" phase, so I'm not sure how to fix this.
Edit: pasted the log from spotbugs by accident which has the same problem.

@gleclaire The execution phase is bad.  Removing it fixes this issue.  I'm not entirely sure what the thought was there.
With phase removed this occurs
integraton-test-setup
prepare-integration-test-remote-findbugs-src
prepare-integration-test  ***
integration-test-run
*** would otherwise try to run first which I think is in the wrong spot.  I can see wanting that before downloading the findbugs source.  I"m trying to figure that out assuming that is the need.

I got this working, PR coming shortly.
New order...
integration-test-setup
prepare-integration-test
prepare-integration-test-remote-findbugs-src
integration-test-run

Right, but why not just have a single execution with
 <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-invoker-plugin</artifactId>
            <version>${invokerPluginVersion}</version>
            <executions>
              <execution>
                <id>integration-tests</id>
                <goals>
                  <goal>install</goal>
                  <goal>run</goal>
                </goals>
               ... all the other config
</plugin>

as per maven-invoker-plugin docs (btw, invoker plugin already does the install in {{pre-*}})? Is there something special about the two tests that are in it-tools  that need a separate execution in a prepare phase?

The build-tools test creates the include/exclude resources used for tests.  The prime project has the dependencies that the other tests require.  By doing this on a single thread we will not have any file contention for the shared local repository with the later parallel tests.


Fix missing .

Ok. I'd like to put my email address on the CLA to my github email address then, because I'd rather not expose my private email address. How can I do this?

As long as the email in your commits match the email with which you sign the CLA all is well. IF your commits have an email you don't want to expose, perhaps you can abandon this PR and create a new one with your github email?

Overriding CLA check.

@jhseu thanks.

We couldn't verify the CLA so we had to revert. Feel free to send another pull request with the issues fixed. Thanks!


Catch and print non-existent source file error message

@hlapp #3 Added catch for non-existent source file to print just error message without traceback.

Looks good but maybe while you're at it, also catch file exists but not have permission to read it?
$ python3 generate_slicer_json.py foo.csv
Traceback (most recent call last):
  File "/Users/lapp/Documents/Projects/slicerMorph_JSON_generator/generate_slicer_json.py", line 172, in <module>
    main()
  File "/Users/lapp/Documents/Projects/slicerMorph_JSON_generator/generate_slicer_json.py", line 151, in main
    df = pd.read_csv(sys.argv[1])
  File "/Users/lapp/Library/Python/3.9/lib/python/site-packages/pandas/io/parsers/readers.py", line 912, in read_csv
    return _read(filepath_or_buffer, kwds)
  File "/Users/lapp/Library/Python/3.9/lib/python/site-packages/pandas/io/parsers/readers.py", line 577, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "/Users/lapp/Library/Python/3.9/lib/python/site-packages/pandas/io/parsers/readers.py", line 1407, in __init__
    self._engine = self._make_engine(f, self.engine)
  File "/Users/lapp/Library/Python/3.9/lib/python/site-packages/pandas/io/parsers/readers.py", line 1661, in _make_engine
    self.handles = get_handle(
  File "/Users/lapp/Library/Python/3.9/lib/python/site-packages/pandas/io/common.py", line 859, in get_handle
    handle = open(
PermissionError: [Errno 13] Permission denied: 'foo.csv'


Add Fix function.

Mentioned as missing in https://github.com/witheve/docs/issues/46

Thanks for this! The reason I wrote the doc in the first place was because I was copying off of some matlab docs, and that's the one I happened to have opened. Hopefully this is just what someone was looking for :)

You're welcome. I should have noted that this is a re-implementation of the Trunc function from Javascripts Math. I didn't catch cos I thought it was already done. So I have kept the naming in line with the docs. It may be a confusion to newcomers who recognise the naming of all the other functions to keep the name as is, but obviously it's more work to change both. Let me know if you guys want to re-name and I'll help out.
Regards,
Cormac.

Looks good, thanks, we'll keep it as is for now.


build(flow): strip content from *.css.flow files

flow was trying to parse the contents of the *.css.flow files. Since we don't care about type info from these files anyways, we might as well just use stubs for their contents so flow doesn't complain about not being able to find the modules.

seems this will be tough to verify on CI, but I was able to verify locally on a new CRA project that type definitions are working properly and the css stubs are treated as such using yarn build && ./scripts/generateCssFlow.js


Tile border and drag icon improvements [#175080972]

[#175080972]

use new tile drag icon
show drag border and drag icon on hover
drag border color depends on read/write-ability
clicking on drag icon selects tile
fix bug in selection of read-only text tiles
fix bug which prevented dragging multiple tiles from curriculum

If you think of the tile selection indicator as a focus indicator then it's weird that it appears in both places. If you think of it as a model state indicator, then it's perfectly reasonable that two different views of the same model would show the same state. The main thing the tile selection shows is what will be dragged/copied/deleted if the user performs any of those actions, and two of those actions are possible in the reference pane as well. Given that you need to be able to select tiles in both views, it would be weird if selection in the two contexts were not consistent/synchronized, so it's not clear to me that there's an obviously better approach than the one we're using.

I think that sounds fine.  Having the states sync seems like a legit argument, but there is something odd about syncing tile selection, but not things like scroll position or toolbar visibility.  Regardless, I think for now it's better that we leave it alone until there can be a design discussion.


Fix indent in ClusterNetworkPolicy example

cidr is a sub-field of ipBlock, it must be indented.

/skip-all

Codecov Report

Merging #1183 into master will decrease coverage by 14.70%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #1183       +/-   ##
===========================================
- Coverage   56.10%   41.40%   -14.71%
===========================================
  Files         106       74       -32
  Lines       11535    10507     -1028
===========================================
- Hits         6472     4350     -2122
- Misses       4496     5801     +1305
+ Partials      567      356      -211

Flag
Coverage Δ

#integration-tests
?

#unit-tests
41.40% <ø> (-0.14%)
:arrow_down:

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


ModuleNotFoundError: No module named 'doctr.version'

Bug description
Doctr version file is missing..
Code snippet to reproduce the bug
from doctr.io import DocumentFile
from doctr.models import ocr_predictor

model = ocr_predictor(pretrained=True)
# PDF

single_img_doc = DocumentFile.from_images("input.jpg")
# Analyze
result = model(doc)
import matplotlib.pyplot as plt

synthetic_pages = result.synthesize()
plt.imshow(synthetic_pages[0]); plt.axis('off'); plt.show()

Error traceback
Traceback (most recent call last):
  File "/home/tamil/doctr/main.py", line 1, in <module>
    from doctr.io import DocumentFile
  File "/home/tamil/doctr/doctr/__init__.py", line 3, in <module>
    from .version import __version__  # noqa: F401
ModuleNotFoundError: No module named 'doctr.version'

Environment
Collecting environment information...

DocTR version: N/A
TensorFlow version: 2.15.1
PyTorch version: N/A (torchvision N/A)
OpenCV version: 4.9.0
OS: Ubuntu 22.04.3 LTS
Python version: 3.10.12
Is CUDA available (TensorFlow): No
Is CUDA available (PyTorch): N/A
CUDA runtime version: Could not collect
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 4090
Nvidia driver version: 551.86
cuDNN version: Could not collect

Deep Learning backend
>>> from doctr.file_utils import is_tf_available, is_torch_available
>>>
>>> print(f"is_tf_available: {is_tf_available()}")
is_tf_available: False
>>> print(f"is_torch_available: {is_torch_available()}")
is_torch_available: True

Hi @tzktz :wave:,
Which way have you used to install doctr (conda, pip) / (local installation with pip from cloned repo) ?

Hi @tzktz 👋,
Which way have you used to install doctr (conda, pip) / (local installation with pip from cloned repo) ?

i found a solution comment the line from  File "/home/tamil/doctr/doctr/init.py", line 3, in
from .version import version  # noqa: F401

@felixdittrich92 i have face result image is not upto quality...fonts are breaks in result image..

model = ocr_predictor(pretrained=True)
# PDF
doc = DocumentFile.from_pdf("bankstatement.pdf")
# Analyze
result = model(doc)
import matplotlib.pyplot as plt
plt.imshow(result.synthesize()[0]); plt.axis('off'); plt.show()

see the result image..


Please update to support laravel 7.x

Problem 1
- codingyu/ueditor 3.0.0 requires codingyu/laravel-ueditor ~2.0 -> satisfiable by codingyu/laravel-ueditor[2.0.0].
- Installation request for codingyu/ueditor ^3.0 -> satisfiable by codingyu/ueditor[3.0.0].
- Conclusion: remove laravel/framework v7.0.4
- Conclusion: don't install laravel/framework v7.0.4
- codingyu/laravel-ueditor 2.0.0 requires laravel/framework ~5.5|~6.0 -> satisfiable by laravel/framework[5.5.x-dev, 5.6.x-dev, 5.7.x-dev, 5.8.x-dev, 6.x-dev].
- Can only install one of: laravel/framework[5.5.x-dev, v7.0.4].
- Can only install one of: laravel/framework[5.6.x-dev, v7.0.4].
- Can only install one of: laravel/framework[5.7.x-dev, v7.0.4].
- Can only install one of: laravel/framework[5.8.x-dev, v7.0.4].
- Can only install one of: laravel/framework[6.x-dev, v7.0.4].
- Installation request for laravel/framework (locked at v7.0.4, required as ^7.0) -> satisfiable by laravel/framework[v7.0.4].

已经更新了 codingyu/laravel-ueditor 的版本依赖，可以安装了


Dataset Generation

Three questions:

In 1_split_filter.py#L46-L48, to my point, sampled image should not contain objects in voc classes. However, this implementation seems only the image with tiny objects will be excluded;

In 2_balance.py#L57, each category only contains no more than 80 instances?

How to generate final_split_voc_10_shot_instances_train2017.json ?

pick non-voc class
80 is the image number in each class
You can use the given final_split_voc_10_shot_instances_train2017.json in the new_annotations dir for a fair comparison.

@fanq15

So in your non-voc set, the images may also contain voc class instance (but not labeled) ?

It seems that you first compute the total number of instance per class across all images stored in 'all_cls_dict', and then for each image, if the contained instance category is larger than 80 in 'all_cls_dict', then save all instances in this image for training, otherwise remove the instances whose number is larger. I am a bit confused in this file.

Can u provide 30-shots json file?

Yes. The voc instances are ignored.
2.1. Yes, it should be the instance number per class. I changed the expression in the former answer.
2.2. There is a bug in the 2_balance.py and it actually does not balance the categories. But this bug does not affect the training and evaluation. I will fix this bug and see if the image balance can improve the performance.
There is no 30-shot json file currently. I will add it later.