Sometimes a disabled RawMaterialButton that is being hovered over triggers a rebuild when it shouldn't.

I having no problem on Android and iOS, but once I try to launch on macOS, I'm getting an error when I push a new route (only after my animated button finish, without animation no error).
Here is the error:
21:30:06.034 7 info flutter.tools  ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
21:30:06.034 8 info flutter.tools  The following assertion was thrown building InkWell(gestures: <none>, clipped to BoxShape.rectangle,
21:30:06.034 9 info flutter.tools  dependencies: [_FocusMarker, _LocalizationsScope-[GlobalKey#a999c], Directionality,
21:30:06.034 10 info flutter.tools  _InheritedTheme], state: _InkResponseState<InkResponse>#779ff):
21:30:06.034 11 info flutter.tools  setState() or markNeedsBuild() called during build.
21:30:06.034 12 info flutter.tools  This RawMaterialButton widget cannot be marked as needing to build because the framework is already
21:30:06.034 13 info flutter.tools  in the process of building widgets.  A widget can be marked as needing to be built during the build
21:30:06.034 14 info flutter.tools  phase only if one of its ancestors is currently building. This exception is allowed because the
21:30:06.034 15 info flutter.tools  framework builds parent widgets before children, which means a dirty descendant will always be
21:30:06.035 16 info flutter.tools  built.

To reproduce:
import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';

void main() {
  if (!Platform.isAndroid && !Platform.isIOS) {
    debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia; //FIXME remove when desktop is supported
  }
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @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> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Center(
          child: ProgressButton(
            child: Text('LOGIN'),
            until: () => Future.delayed(Duration(seconds: 1)),
            onSuccess: (_) {
              Navigator.of(context).push(MaterialPageRoute(builder: (BuildContext context) {
                return Scaffold(
                  appBar: AppBar(
                    title: Text('ok'),
                  ),
                  body: Placeholder(),
                );
              }));
            },
          ),
        ),
      ),
    );
  }
}

enum ProgressButtonState { idle, progress, done }

class ProgressButton extends HookWidget {
  final EdgeInsets padding;
  final Color color;
  final Widget child;
  final double elevation;
  final Future Function() until;
  final Function(dynamic, dynamic) onError;
  final Function(dynamic) onSuccess;

  ProgressButton({Key key, this.padding, this.color, this.child, this.elevation, this.until, this.onError, this.onSuccess}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final _globalKey = useMemoized(() => GlobalKey());
    final _width = useState(double.infinity);
    final _isPressed = useState(false);
    final _state = useState(ProgressButtonState.idle);
    final _controller = useAnimationController(duration: Duration(milliseconds: 500));
    final _anim = useAnimation(Tween(begin: 0.0, end: 1.0).animate(_controller));
    final initialWidth = useState<double>(null);
    final height = useState<double>(null);
    final isFinish = useState<bool>(false);
    final result = useState<dynamic>(null);

    useEffect(() {
      _controller.addStatusListener((status) {
        if (status == AnimationStatus.completed && isFinish.value) {
          onSuccess(result.value);
        }
      });
      return () {
        reset(_state, _width, _isPressed, initialWidth);
      };
    }, [this]);

    return Container(
      key: _globalKey,
      width: initialWidth.value == null ? double.infinity : initialWidth.value - ((initialWidth.value - height.value) * _anim),
      height: _isPressed.value ? 55 : null,
      child: RaisedButton(
        shape: _isPressed.value ? RoundedRectangleBorder(borderRadius: BorderRadius.circular(35)) : null,
        padding: _isPressed.value ? EdgeInsets.zero : padding,
        color: color,
        disabledColor: _state.value == ProgressButtonState.done ? Theme.of(context).accentColor : color,
        child: buildButtonChild(_state),
        onPressed: _isPressed.value
            ? null
            : () async {
                initialWidth.value = _globalKey.currentContext.size.width;
                height.value = _globalKey.currentContext.size.height;

                _isPressed.value = true;
                if (_state.value == ProgressButtonState.idle) {
                  _controller.forward();
                  _state.value = ProgressButtonState.progress;
                }
                try {
                  result.value = await until();
                  _state.value = ProgressButtonState.done;
                  isFinish.value = true;
                  if (_controller.isCompleted) {
                    onSuccess(result);
                  }
                } catch (err, stacktrace) {
                  onError(err, stacktrace);
                  _controller.reverse();
                  reset(_state, _width, _isPressed, initialWidth);
                }
              },
      ),
    );
  }

  Widget buildButtonChild(ValueNotifier<ProgressButtonState> state) {
    if (state.value == ProgressButtonState.idle) {
      return child;
    } else if (state.value == ProgressButtonState.progress) {
      return CircularProgressIndicator(
        value: null,
        valueColor: AlwaysStoppedAnimation<Color>(Colors.black),
      );
    } else {
      return Icon(Icons.check, color: Colors.white);
    }
  }

  void reset(
    ValueNotifier<ProgressButtonState> state,
    ValueNotifier<double> width,
    ValueNotifier<bool> isPressed,
    ValueNotifier<double> initialWidth,
  ) {
    isPressed.value = false;
    width.value = double.infinity;
    state.value = ProgressButtonState.idle;
    initialWidth.value = null;
  }
}

It use flutter_hooks 0.4.0
Env:
[✓] Flutter (Channel dev, v1.7.8, on Mac OS X 10.14.5 18F132, locale fr-FR)
    • Flutter version 1.7.8 at /Users/jaumard/flutter
    • Framework revision d51fd86cdb (17 hours ago), 2019-06-21 22:31:55 -0400
    • Engine revision d004bcd4d6
    • Dart version 2.4.0

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/jaumard/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • CocoaPods version 1.6.0

[✓] iOS tools - develop for iOS devices
    • ios-deploy 1.9.4

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

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 36.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] IntelliJ IDEA Ultimate Edition (version 2019.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 36.1.4
    • Dart plugin version 191.7830

[✓] Connected device (3 available)
    • iPhone X • B9C382ED-425A-48A3-9DDA-B1C15D7BA485 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-12-1 (simulator)
    • macOS    • macOS                                • darwin-x64     • Mac OS X 10.14.5 18F132
    • web      • web                                  • web-javascript • Google Chrome 75.0.3770.100

• No issues found!

@gspencergoog The stack suggests this is hover-related.

It append also on Linux, look like desktop related

Actually, this has the same problem on Android too, at least.  A simpler repro case (just navigating when the button is clicked) doesn't repro this, so I'll have to deconstruct it a bit more and see if I can get it to happen without the hooks package in the mix.

Actually, this no longer fails if I change the onPressed to be:
        onPressed: () async {...}

Instead of the conditional.  Of course, that means the button can't be disabled, which implies that there's still a bug here somewhere.

Look like it's ok now on master and MacOSX build :)


Parse multiple InternalsVisibleTo attributes from AssemblyInfo

It's awesome that the AssemblyInfoCreator / AssemblyInfoSettings classes allow for creating AssemblyInfo files with multiple InternalsVisibleTo attributes, but the AssemblyInfoParseResult only exposes a single string property which pulls in the first InternalsVisibleTo defined in the file. I'm using Cake to read in AssemblyInfo files that are under version control, parse them, rev the versions, inject some company/trademark info, then copy that info into a new Cake-generated AssemblyInfo using AssemblyInfoCreator. I'd like to be able to use the built-in AssemblyInfo parsing, but I have a few AssemblyInfo files that define multiple InternalsVisibleTo attributes.
Am I missing some obvious way to accomplish this, or is this a good candidate for an update to AssemblyInfoParseResult?

@appakz Sorry for not responding until now but I completely missed this issue for some reason.
I went ahead and fixed this for you in #825 and it will hopefully be available in the 0.11.0 release.


Docker image available - add to readme eventually?

Is your feature request related to a problem? Please describe.
This is not really a feature request, but a notification that I have built a docker image that makes installing and using this tool easier (IMHO). I'm suggesting that it be added to the readme, but I would like a few more people to test it.
The docker image is here:
https://hub.docker.com/r/tomsmithokta/okta-awscli-java/
The github repo (Dockerfile) is here:
https://github.com/tom-smith-okta/okta-awscli-java

@tom-smith-okta can you update the Docker image to use the main repo's install.sh? My #189 fix should make that practical now. I've got the readme changes drafted.

My tests work with this Docker image using console auth and a TOTP factor. Neat solution.
Note: It does not work with OKTA_BROWSER_AUTH for me. This is not surprising as it requires JavaFX and a graphical console. I suspect it could work with some incredible X11-forwarding gymnastics.


Faster Chebyshev Basis

This PR implements a faster Chebyshev basis since the recursion coefficients don't have to be stored.
@CheukHinHoJerry -- I'd be grateful if you can take a look to see if anything is missing. I will review as well before we merge it into your frule branch which we can hopefully then merge later this week.

@dhan-02 @vai-bhav-m  -- while we review the code and tests, would you be willing to add some documentation to record what has been implemented?

On a first quick check of the the code, it all looks great. I have no concerns. @CheukHinHoJerry  -- do I remember correctly that the rrules and frules for those basic polynomial embeddings are all generic and no extra work is required for that?

The test looks fine to me too. I think this can be merged into the frule branch and it should have not much conflicts.
For rrule and frules - Yes they are the same. I can also do that easily in this merge, maybe we can also make a subclass for them like AbstractPolyEmbeddings <: AbstractPoly4MLBasis ?

This PR implements a faster Chebyshev basis since the recursion coefficients don't have to be stored.
@CheukHinHoJerry -- I'd be grateful if you can take a look to see if anything is missing. I will review as well before we merge it into your frule branch which we can hopefully then merge later this week.

@dhan-02 @vai-bhav-m -- while we review the code and tests, would you be willing to add some documentation to record what has been implemented?

Yes will do Professor....

chebyshev_basis constructed from op1d3t

Is there any way to make it consistent with the chebyshev_basis constructed from op1d3t as far as the normalization is concerned?

I think what you have implemented is the standard Cheb of the first kind, which is fine. But there are codes that build upon the previous basis so we should keep that. I think the best that we can do for now is to document it clearly and keep both of them.
It would be great if @cortner can suggest what we should do.

I agree to just document it for now.
And I like the idea of creating a subclass for the embeddings.

But let's discuss that first please how to do it and how to name it.

@dhan-02 @vai-bhav-m I have reviewed the docs and it looks good. In addition I think it is better to:

Move the detailed description of the ChebBasis to backup.html (which means just move it in the comment of the code) to make the style consistent
fix the typo ... basis with length N ... -> ... basis with length N ... in the comment of ChebBasis in the code
make another warning in the comment of the code that the normalisation is different from chebyshev_basis from op1d3t

otherwise I think this is ready to merge

I don't think backup.md is used for anything, is it? I probably just dumped some Documenter code in there and then accidentally committed it?

Sorry for confusion. What I mean is just moving the details of ChebBasis to the hyperlinks in docstrings (which is the same as moving it to the comment in the code).
But for some reason, for example when I click on CYlmBasis it direct me to acesuit.github.io/Polynomials4ML.jl/dev/backup/#Polynomials4ML.CYlmBasis, which is in backup.html.

Odd then let's just delete backup.md after the merge

I think this is ready now. I didn't clean up the comments of other files since I did that once in frule and I plan to do a final clean up later on.  I also added a test to make sure ChebBasis ./ chebyshev_basis is constant.
The conflict is minor and should be fine.

ok, I'll resolve and merge. Any further cleanup in the frule branch. Any future bugfixes etc can be done anytime in further PRs.


Tweak type handling

There were a few places where a number was converted into a too small type.
When sending a very small amount via send_MP (...) it would have been converted
into "9.9E-7" instead of "0.00000099" before sending, thus "toPlainString" was
used.
The "native" Master/Omni type objects (CurrencyID, Ecosystem, PropertyType) have
two constructors now: one for the underlying value type, and one that can be
called with the more general "Number" interface.
The "Number" interface is also used for the property creation, where no "native"
type object (in this case "Number of Coins") is yet in place, so it doesn't
matter, whether it's called with an "Integer", "Long", "BigDecimal", etc., which
are converted into a hex string anyway.
"Ecosystem" and "PropertyType" have a "toString" method, which simply returns
"Ecosystem:1" or "PropertyType:2". It should be discussed, if something like
"Main Ecosystem" or "Indivisible Property" would be more suitable.

Good point on the loss of precision on the Ecosystem() constructor. (I think what would happen is that high-bits would be truncated) I just pushed commit aa423f3e1c00a27a8e786b24eb7b4bdc1f88f52f which does conversion/truncation after validation. And that allows us to eliminate the short constructor altogether as short will be automatically converted to int.
I also changed CurrencyID to take a primitive (unboxed) long and added a handful of Spock tests.
The only non-float, non-decimal-point standard type that doesn't work with these constructors is BigDecimal which we could add as second constructor in each class. If you think that's important we can add it, but I'd rather do it that way than use Number which could be called with floats. (And who knows what other subclasses of Number. Remember: any subclass of number will always have longValue() or intValue() methods that could be used.

Updated.

Looks good.


add react-anix

https://github.com/a-jie/react-anix
Super easy and lightweight transitions animation library for React.

Thanks for opening this issue 👍 We've moved to a new catalog, JS.coach. The package is now available there: https://js.coach/react/react-anix


Server crashing for MatchError about :wx and wx.app (no such file or directory)

Environment

Elixir & Erlang versions (elixir --version): Elixir 1.11 Erlang 23.1.1
Operating system: Linux Alpine 3.12 (Docker image from hexpm hexpm/elixir:1.11.0-erlang-23.1.1-alpine-3.12.0 )
Editor or IDE name (e.g. Emacs/VSCode): VSCode 1.50
Editor Plugin/LSP Client name: vscode-elixir-ls

Troubleshooting

[X] Restart your editor (which will restart ElixirLS) sometimes fixes issues

-> Done without success

[X] Stop your editor, remove the entire .elixir_ls directory, then restart your editor

NOTE: This will cause you to have to re-run the dialyzer build for your project

-> Done without success
Comment
I'm using VSCode with Remote Connection to container (.devcontainer setup).
But everything was working fine until I updated to this latest image hexpm/elixir:1.11.0-erlang-23.1.1-alpine-3.12.0.
Before I was using elixir:1.10-alpine.
Does :wx actually referring to the UI library?
Logs
[Warn  - 7:11:16 AM] ** (MatchError) no match of right hand side value: {:error, {:wx, {'no such file or directory', 'wx.app'}}}
    (language_server 0.6.0) lib/language_server/cli.ex:9: ElixirLS.LanguageServer.CLI.main/0
    (stdlib 3.13.2) erl_eval.erl:680: :erl_eval.do_apply/6
    (elixir 1.11.0) lib/code.ex:341: Code.eval_string_with_error_handling/3
[Info  - 7:11:16 AM] Connection to server got closed. Server will restart.
[Trace - 7:11:16 AM] Sending request 'initialize - (0)'.
Params: {
    "processId": 153,
    "clientInfo": {
        "name": "vscode",
        "version": "1.50.0"
    },
    "rootPath": "/app",
    "rootUri": "file:///app",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "textOnlyTransactional"
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "didChangeWatchedFiles": {
                "dynamicRegistration": true
            },
            "symbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                }
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "configuration": true,
            "workspaceFolders": true
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true,
                "versionSupport": false,
                "tagSupport": {
                    "valueSet": [
                        1,
                        2
                    ]
                }
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true,
                    "tagSupport": {
                        "valueSet": [
                            1
                        ]
                    }
                },
                "completionItemKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    }
                },
                "contextSupport": true
            },
            "definition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "references": {
                "dynamicRegistration": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true
            },
            "codeAction": {
                "dynamicRegistration": true,
                "isPreferredSupport": true,
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                }
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true
            },
            "documentLink": {
                "dynamicRegistration": true,
                "tooltipSupport": true
            },
            "typeDefinition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "implementation": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true
            },
            "declaration": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "selectionRange": {
                "dynamicRegistration": true
            }
        },
        "window": {
            "workDoneProgress": true
        }
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///app",
            "name": "app"
        }
    ]
}

[Trace - 7:11:17 AM] Received notification 'window/logMessage'.
Params: {
    "message": "\n07:11:17.291 [info]  Application hipe exited: :stopped",
    "type": 4
}

07:11:17.291 [info]  Application hipe exited: :stopped
[Trace - 7:11:17 AM] Received notification 'window/logMessage'.
Params: {
    "message": "** (MatchError) no match of right hand side value: {:error, {:wx, {'no such file or directory', 'wx.app'}}}\n    (language_server 0.6.0) lib/language_server/cli.ex:9: ElixirLS.LanguageServer.CLI.main/0\n    (stdlib 3.13.2) erl_eval.erl:680: :erl_eval.do_apply/6\n    (elixir 1.11.0) lib/code.ex:341: Code.eval_string_with_error_handling/3",
    "type": 2
}

[Warn  - 7:11:17 AM] ** (MatchError) no match of right hand side value: {:error, {:wx, {'no such file or directory', 'wx.app'}}}
    (language_server 0.6.0) lib/language_server/cli.ex:9: ElixirLS.LanguageServer.CLI.main/0
    (stdlib 3.13.2) erl_eval.erl:680: :erl_eval.do_apply/6
    (elixir 1.11.0) lib/code.ex:341: Code.eval_string_with_error_handling/3
[Error - 7:11:17 AM] Connection to server got closed. Server will not be restarted.

elixir-ls :language_server app depends on OTP :dialyzer app which in turn depends on :wx OTP app. Similarly :elixir_ls_debugger depends on :debugger which also depends on :wx. Both :dialyzer and :debugger deps are included in extra_applications. While they were not included before, elixir 1.11 started raising warnings about missing dependences. This dependency is a design flaw in OTP itself which is unlikely to be fixed soon. We can look for a way to avoid getting warnings while not starting :wx app. Before that happens I suggest running on complete OTP distribution with :wx app.

Thanks for the feedback..

On my side I tested all the following images (only changing that single line)..

Since I doubt that ElixirLS is broken on all of these images I wonder what is broken elsewhere.. :thinking:


initCompleted not hit

What could be a reason that initCompleted would not be hit even if the class itself has been initialized?
            Foo()
            }.initCompleted { resolver, foo in
                // this is not hit
            }.inObjectScope(.container)

initCompleted is never hit but I have:
    let foo: Foo = Foo()
called in the initializer of a class and I have checked, that line is hit and the instance of Foo is created.
All the other registrations are working except this one.
I am using v2.0.0

I'm not sure if I understood you correctly: is let foo: Foo = Foo() the code which you expect should call .initCompleted?
If that is so, you are creating an instance in the wrong way - you should not call the initializer directly, but rather through the Swinject container: let foo = container.resolve(Foo.self)

Thank you! That is exactly what I did wrong :)


Rewrite app to use mui framework and to be deployable from GCP app engine

Leslie upgraded the framework already.

Also will use onRender for now.


Bug located in connect_to_component in connecting to port set to microwave port.

Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

Description of the bug
When scripting for connecting a Circuit microwave port and using the connect_to_component() pyaedt command with use_wire=False, the resultant pageport is not attached to the port pin.
Steps To Reproduce
portObj = circuit.modeler.components.create_interface_port(connectorPinNetName, PortLocation, angle=PortSidePortAngle)
Change portObj to type 1 port.
portObj.pins[0].connect_to_component(cable.pins[portSideIdx]) #or whatever you are connecting to.
Which Operating System are you using?
Windows
Which Python version are you using?
3.10
Installed packages
(.venv) PS D:\Automation\RickAndMorty\EMI_automation> python -m pip freeze
attrs==23.1.0
certifi==2023.7.22
cffi==1.16.0
charset-normalizer==3.3.0
click==8.1.7
click-plugins==1.1.1
cligj==0.7.2
clr-loader==0.2.6
colorama==0.4.6
contourpy==1.1.1
cycler==0.12.0
et-xmlfile==1.1.0
exceptiongroup==1.1.3
Fiona==1.9.4.post1
fonttools==4.43.0
geopandas==0.14.0
idna==3.4
imageio==2.31.5
iniconfig==2.0.0
kiwisolver==1.4.5
matplotlib==3.8.0
networkx==3.1
numpy==1.26.0
openpyxl==3.1.2
osmnx==1.6.0
packaging==23.2
pandas==2.1.1
Pillow==10.0.1
platformdirs==3.11.0
pluggy==1.3.0
scooby==0.7.4
shapely==2.0.1
six==1.16.0
SRTM.py==0.3.7
tomli==2.0.1
tzdata==2023.3
urllib3==2.0.6
utm==0.7.0
vtk==9.2.6

Hi @cmesibov ,
This is a limitation of AEDT API. When you modify the port symbol, the size of the port changes, the problem is that there is not an AEDT method (or we did not find it) to extract the port pin information. We need the new location of the pin.
Please, if you find this method let us know, if not, you can submit an internal enhancement request to Ansys development.
I have tested without changing the symbol, and it worked.
Thanks.

Hi @Samuelopez-ansys ,
Yes, I agree. Currently, I am moving the port 2 boxes to the left to align the page port.  If the pin location does not update (given that it exists) after the type changes then its a AEDT API bug.  I'll take a look into it.

@cmesibov It is not a bug because the port in the UI changes correctly, the problem is that the pin information of the port can not be retrieved from any pin AEDT API command , they only work for other component type.
Hopefully, you could find an AEDT API method to get the pin port location, then we will be able to add it to pyaedt.

@cmesibov I will close this issue. Please if you find a way to get the pin position of a port let us know, if not please submit a defect in Ansys internal system.


Fix generation of idedata

Fixes #32 .
I wrote this PR only to demonstrate the problem, not to provide the best solution.
AFAIK, running pio init --ide <ide name> runs the idedata target to generate idedata.json file which contains information about include paths, defines etc. which is used to generate IDE-specific configuration files.
Currently the extra_script.py completely ignores the idedata target. This was done to avoid building the library when IDE fetches project metadata.
I think the script should instead update some of the environments (probably the global_env and projenv) regardless of the target name.

@pablogs9 @Acuadros95 Could you look at that?

Currently the extra_script.py completely ignores the idedata target. This was done to avoid building the library when IDE fetches project metadata.
I think the script should instead update some of the environments (probably the global_env and projenv) regardless of the target name.

Agree, I have tested it and your fix looks OK.


Change "Company" tickets to "Business" tickets throughout the code base

We have already changed this in the UI (mostly), but the code base still uses company tickets throughout. May be good to do a grep and change all references.

Is this literally replacing "company" with "business"? Is there a place or situation where "company" might still be used? In some cases a "replace all" won't work as there are some all caps but just want to make sure there is no case where "company" might be needed. Then, I could start working on this as soon as I get a confirmation or clarification regarding this.


Use collations instead of lower() when rendering SQL

For MySQL, more efficient string equalIgnoreCase SQL may be generated:
https://dev.mysql.com/doc/refman/5.7/en/case-sensitivity.html

SELECT * FROM sakila.film where (rating = 'pG-13' COLLATE utf8_general_ci);


Question regarding Placeholders in user-data.yaml file

@mjpitz Thank you for this repository, AFAIK there are no substitutions of placeholders e.g. ${HOST} ${USER} in cloud-init. How are you able to generate the IP addresses and custom users and host names in this repository?
Any information would be helpful.

I understand, it is possible via envsubst. Apologies for opening the issue.

Hey there! Sorry for the delay. Glad you were able to find what you were looking for! Once upon a time, I had a more in-depth write up in the root of this project that explained the template variables were using envsubst so folks didn't need to dig and read a shell script.


Make role re-use easier

The existing proposal provides the foundation needed, but will be somewhat repetitive and prone to lots of boilerplate.
I think it's strongly desirable to make exec_main a role meta attribute so you don't have to specify it each time. To avoid the need to do the include-the-other-role dance in a role's tasks, meta role dependencies should be extended to declaratively include the other role's vars and task/templates search path. And to make it easier to actually use this, an option to run a different task via the roles: stanza in the playbook should be incorporated.
See edits in commit.
Right now, a "role" in Ansible is more like an encapsulated task with some vars and files bundled with it. It doesn't really describe a server role at all. If you have a "postgres" server, you need roles for "postgres_install", "postgres_restart", "postgres_start", "postgres_stop", etc to usefully use it in plays. These roles are then difficult to use from other roles, because when you depend on a role it executes once, before the depending role, and doesn't add its files to the depending role's search path. You land up doing a lot of cross-role 'include'ing and hard coding paths a lot. So if "myapp" needs apache and postgres, but it has to restart apache partway through setup and it also needs a specific postgres extension that requires myapp-specific setup, the myapp role lands up very messy or you land up with a play like:
roles:
  - {role: apache_install }
  - {role: apache_start }
  - {role: postgres_install }
  - {role: postgres_start }
  - {role: myapp_install_phase1 }
  - {role: postgres_restart }
  - {role: myapp_install_phase2 }
  ...

which is incredibly unwieldy and makes "role" a misnomer. You can use conditionals to reduce role fragmentation somewhat, but at the cost of littering your roles with lots of conditions everywhere, and getting tons of "skipped" output in plays.
The idea here is to make roles more easily represent what their name makes them sound like: an actual "role" for a server, a part of its functionality. Make them composeable, so if you have a "postgres" role, an "apache" role, an "ldap auth" role and a "myapp" role, you can compose the "postgres" and "apache" and "ldap auth" roles into the foundation on which the "myapp" role depends and deploys. "myapp" can use the apache role to find the apache config files, restart apache after changing its configuration, etc, because it has access to all the apache role's vars, templates, handlers and tasks.
Combined with the recent improvements to handlers this will make role re-use much more practical and role composition possible.

I may be a little off here... but why wouldn't you be able to have a role encapsulate all the postgres-related functionality within itself, and another for apache, and a third for myapp?
If you have proper handlers in postgres and apache, your myapp role could do it's phase1 install steps, notifying the appropriate handlers for a restart/reconfigure/etc., then make sure your role calls meta: flush_handlers to hit all the notifications, then carry on to phase2, etc.
It seems like the alternative is currently do use a playbook to encapsulate all this functionality (if you didn't want to use roles/handlers in the way stated above, and what it sounds like you're hinting at is more of an idea of 'playbook-as-role' or 'meta-role'?

Yeah. What you describe is actually fairly close to my current approach,
using handlers and meta_flush_handlers heavily. It really didn't work
because of handler limitations, but with the recent handler improvements I
think it might be viable again.
It starts to break down badly when composition gets more complex, though.
The playbook has to know all the details of how everything fits together,
it can't just say "I want myapp and whatever is required to deliver myapp".

In my case, for example, I have a 'postgres' instance, a 'bdr_extension'
(postgres extension), and a 'bdr_node' that is an instance of postgres with
bdr_extension installed, brought up and configured as part of a cluster.
This involves multiple postgres restarts, with some configuration done on
each side of the restart. Now that handlers have been improved (you can
have a handler that nothing references, or references to a nonexistent
handler, they aren't nearly 1:1 like they used to be) it's possible with
lots of flush_handlers steps to do it in the 'bdr_node' role via handlers
in the 'postgres' and 'bdr_extensions' roles. This basically makes the
'postgres' role into a pile of handlers, though. So now what if we just
want to deploy a normal postgres server? Referencing 'role: postgres'
doesn't do much good, it won't get started because that's in a handler, etc.
See the problem? By making a role usable for composition it becomes pretty
useless standalone. You basically need another role to fire the handlers in
the first role! The proposed 'exec_main: false' change would help address
this, so I strongly support it.
The other problem is that the 'bdr_node' role doesn't get access to the
templates, etc, from the 'bdr_extension' and 'postgres' roles. So if it
wants to override some parts of the 'postgres' setup but re-use others,
it's very hard to do that. It has to copy a lot of the 'postgres' role and
reference a lot of role-internal paths directly with full paths. It's very
ugly, and would be greatly improved by allowing file search paths to be
inherited by composed roles.
I do think that the handler improvements make this less crucial, but it's
still a real mess. I'd like to be able to have a playbook write:

{ role: postgres, task: install }
{ role: apache, task: install }
{ role: postgres, task: start }
{ role:apache, task: configure_for_postgres } # this uses vars set by the
postgres role to find things
{ role: apache, task: start}

and then be able to wrap that up into a re-usable, composeable role, which
would
meta/main.yml

dependencies:

{ role: postgres, inherit: true, exec_main: false }
{ role: apache, inherit: true, exec_main: false }

tasks/main.yml

include: install.yml
role: postgres
include: install.yml
role: apache
include: start.yml
role:postgres
template: src=some_config_template_defined_in_apache_role ...blah...
include: start.yml
role: apache

... etc
Frankly, rather than spelling it with -include, I'd rather a new top level
module 'role':
tasks/main.yml

role: apache, task: install
role: postgres, task: install
...etc

so roles can really compose cleanly.
(BTW, there are also some phases in which a node must perform several steps
in a row before another node can do anything (so we need serial:1 in the
play) and others where steps can be done in parallel. That's a separate
issue I don't think this proposal would address.)

actually the current design is not touching existing roles pragma at all, thinking of doing the following:
- include_role: name=myrole tasks_from=other.yml (defaults to main)

Since include_role is a reality already, which should cover the use cases presented here, as such i'm going to close the request.


Fix Codespace with chown /opt/android workaround (fixes #2614)

Fixes #2614
Description
This fixes #2614.
It works around https://github.com/akhildevelops/devcontainer-features/issues/9.
Alternative(s) considered
Wait for https://github.com/akhildevelops/devcontainer-features/issues/9 and then bump 0.0.2 to 0.0.3.
But no need, this works great - I've tested it.
Type
Choose one: Bug fix Feature | Documentation | Testing | Code health | Builds | Releases | Other

thanks michael for this


Release with getReferrer feature

Hello,
The pr https://github.com/AppsFlyerSDK/appsflyer-cordova-plugin/pull/106 was merged, but it hasn't still been released.
Current release is 6.0.50
Please make a new release.

Hi @dmitryuk new release with your code will be publish soon

Hi @dmitryuk
please read my comment here: #114


Occasional invalid trade pair for ETH -> FOX

Overview
Rarely the displays "invalid trade pair" for ETH -> FOX default pair.
References and additional details

Acceptance Criteria
This pair should always have a valid swapper and should be a valid trade pair.
Need By Date
No response
Screenshots/Mockups
No response
Estimated effort
2 hours

@MBMaria can we check in to see if this is still re-creatable?

Confirming getting rates for eth - fox trade


[Breaking change]: XPath will be removed in Umbraco 14

Description
XPath will be removed in Umbraco 14.
Version
Other (please put exact version in description textbox)
Previous behavior
You could traverse the cache as XPath with the PublishedContentQuery like so:
ContentAtXPath(string xpath, params XPathVariable[] vars)
New behavior
You will no longer be able to traverse the cache using XPath.
Type of breaking change

[ ] Binary incompatible: Existing binaries may encounter a breaking change in behavior, such as failure to load/execute or different run-time behavior.
[X] Source incompatible: Source code may encounter a breaking change in behavior when targeting the new runtime/component/SDK, such as compile errors or different run-time behavior.

Reason for change
This does not play well when we want to implement the lady-loaded cache and when we want to use the IDistributedCache from C#.
Recommended action
Use Search methods instead
Affected APIs

INavigableContent
INavigableContentType
INavigableFieldType
INavigableSource
MacroNavigator
NavigableNavigator
RenamedRootNavigator
IPublishedContentQuery

Will there be an alternative way of querying for a start node on the Multi-node Tree Picker (MNTP) editor?

Sorry @leekelleher not sure I'm understanding, how are you getting that right now 🤔 ?
This is change is made because of the lazy-loaded cache, and as we don't have all content in the cache, we don't think it will ever be performant to use XPath🤔

@Zeegaan @leekelleher  is referring to this:

This change won't affect this capability will it?  Is there a good replacement if it does?  It's very valuable to be able to specify a starting node in this way rather than choosing a specific node...

@Zeegaan In the configuration of MNTP, the "Node type" field as options for Content, Media, Members; and to set the start node. Which would either be a picker or an XPath query. (So you could do things like $current/ancestor-or-self::homePage/someRepository, to make the start node contextual)
Link to docs for reference: https://docs.umbraco.com/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multinode-treepicker#data-type-definition-example
As much as I like XPath, I'm not advocating that the codebase remains, more that, has an alternative been considered? Is there a way to have a plain-text based DSL to query hierarchical data? (Which XPath does very well, despite performance concerns).

@robertjf & @leekelleher Thanks for the insight here, we will take this up internally! 💪

Just to add to what's already been said, I think the current XPath option of the MNTP is a key feature for creating multiple sites using the same content types. AFAIK there isn't another way to dynamically set the picker root. I can imagine this will cause some headaches if removed.

Yes I agree. It shouldn't be removed without a replacement being found for it's use in MNTP.
Ideally it would be good if you could pick a node and then based on the node's type and place in the tree it work out what the search api calls should be to get to that, saving us from going back to picking specific ids or guids.

Regarding the XPath in the MNTP that's used to select a start node, I can imagine alternatives.

Query Builder One idea would be the query builder that I think used to (or currently is) part of the template editor. I never used this, but something like that could be used to query for a particular start node.
Visual Editor Another idea would be a visual editor that allows you to perform a sequence of operations where the prior action result servs as input to the subsequent action result, with the final action outputting the start node. Actions could include: ChildOfType, DescendantOfType, FirstChild, NthChild, and so on.
Content Finder Another idea would be to use a sort of content finder. That is, a developer would define how to find the content in a C# class, then the back office user would select that class/function in a drop down. The content finder would return the start node.

I believe the main issue lies in the fact that the current implementation allows querying all property values, which therefore requires all property data to be available to execute the XPath query. Besides that, XPath support not been implemented correctly in all Property Value Converters since the move from the XML to NuCache, see:

https://github.com/umbraco/Umbraco-CMS/issues/6431
https://github.com/umbraco/Umbraco-CMS/pull/14275

We really do need a declarative way to search for content, because that's not only used in the MNTP, but also for configuring 404 pages: https://docs.umbraco.com/umbraco-cms/tutorials/custom-error-page#set-a-custom-404-page-in-appsettings.json.
Maybe we can reuse the Content Delivery API syntax for this, so you can filter by content type and name by default and use the same method to add custom filters if required: https://docs.umbraco.com/umbraco-cms/v/12.latest/reference/content-delivery-api.

For multi-site setups I often use something like $site/subjectsFolder//subject to keep pickable content to the current site. It helps with reusability and narrows down the editor choices to the most relevant set of content.
But I think it's equally useful to use $current or $parent to query children of current node or siblings.

Here are a few real examples:
//universalSettings
//universalSettings/enhancedCardGridFilterFolder
//universalSettings/basicCalloutFolder
//universalSettings/attributesFolder
$current/ancestor-or-self::home//central
$current/ancestor-or-self::home//central//folderFooter
$current/ancestor-or-self::home//central//folderProductSettings
$site/blogLanding
$current/ancestor-or-self::home//central//folderMenus
$parent/ancestor-or-self::FolderCentral[@level = 2]/FolderCentral[@nodeName = 'Member Locations']

Adding another one here, because it uses a pattern not used in the others:
/root/website//*[self::contentPage or self::landingPage or self::simpleLinkWidget]

oh my god, please don't remove this feature!!
This is a critical part of all the sites I've created for years.
It's especially useful when you run multiple sites off one Umbraco installation, and your site has a content section and a back office section. Rather than picking a node for the MNTP to start off at, I use xpath, to navigate to a node in the "back office" say a Events repository.
By removing xpath you'd effectively hard coding the starting point of a MNTP, which would ruin my set up without an alternative way of doing so in property editor.

There's a few reasons for using xpath

if you have multiple sites on one umbraco installation, you don't want to hard code a starting point for a multinode tree picker, you want it dynamic
when you deploy to a new env, the node id may not be the same that you've pointed it to, so the picker won't work


load_model fails to load optimizer

Please make sure that the boxes below are checked before you submit your issue. Thank you!

[X] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps

[X] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[ ] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

Not sure what the specific cause is yet and how to isolate it, but I'm having some issues using the load_model  method. I get the below error complaining about weight shape for the optimizer.
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-7-946052120828> in <module>()
      7
      8 if args.model_js == "":
----> 9     model = load_model(args.model_h5, custom_layer_dict)
     10 else:
     11     model = model_from_json(open(args.model_js).read(), custom_layer_dict)

/usr/local/lib/python2.7/dist-packages/keras/models.pyc in load_model(filepath, custom_objects)
    165         optimizer_weight_names = [n.decode('utf8') for n in optimizer_weights_group.attrs['weight_names']]
    166         optimizer_weight_values = [optimizer_weights_group[n] for n in optimizer_weight_names]
--> 167         model.optimizer.set_weights(optimizer_weight_values)
    168     f.close()
    169     return model

/usr/local/lib/python2.7/dist-packages/keras/optimizers.pyc in set_weights(self, weights)
     95                                 str(pv.shape) +
     96                                 ' not compatible with '
---> 97                                 'provided weight shape ' + str(w.shape))
     98             weight_value_tuples.append((p, w))
     99         K.batch_set_value(weight_value_tuples)

Exception: Optimizer weight shape (11, 1, 188, 208) not compatible with provided weight shape (208, 188, 11, 1)

image ordering does not impact this. The model has some 1D convolutions, fully connected layers, merging, and some custom layers. If I instead use model_from_json and them call load_weights then no problem occurs.

I have kind of the same problem reported here: #3974
I can save and load the model before I train it. but I could not load the model which is saved after training with the same error:

Exception: Optimizer weight shape (64,) not compatible with provided weight shape (64, 3, 3, 3)

I installed HDFview and opened the hdf5 file and deleted the optimizer part of the file. Now I can load the model and it works like a charm ! However, I think it is a bug and should get fixed.

This worked for me. Thanks

I solved the problem by using load_weights function is keras.model. My solution is at issue #4044 . Maybe it's useful for you.

I am afraid, this issue is not solved, and should be re-opened, as it still occurs in the latest Keras version.

I solved the issue by making sure that the exact version and subversion of the environment that creates and loads the model are the same. Ex. Im creating and training the model with keras 2.0.3, the VM that loads it has to run keras 2.0.3 as well.

I solved the issue by upgrading from 2.0.2 to 2.0.3. Perhaps there should be a way to maintain interoperability? @kiennguyen94

Do you have a specific example of a script that:

builds a model
compiles it
saves it
tries to load the saved model and crash with this error

I've trained a model with the following code: https://gist.github.com/apacha/f52935d1225ccbb21d66fd5f4011d387
Note two things: I've omitted the code for actually loading the data (see this repository for the entire code). And it works with other models like this one.
Interestingly this code works:
best_model = training_configuration.classifier() # recreate the model best_model.load_weights(best_model_path)
otherwise I get this error:
Traceback (most recent call last):   File "C:/Users/Alex/Repositories/MusicScoreClassifier/ModelGenerator/TrainModel.py", line 93, in <module>     best_model = keras.models.load_model(best_model_path)   File "C:\Programming\Anaconda3\lib\site-packages\keras\models.py", line 280, in load_model     model.optimizer.set_weights(optimizer_weight_values)   File "C:\Programming\Anaconda3\lib\site-packages\keras\optimizers.py", line 79, in set_weights     'provided weight shape ' + str(w.shape)) ValueError: Optimizer weight shape (128,) not compatible with provided weight shape (16,)
I'm using Keras 2.0.3 and Tensorflow-Gpu 1.0.1

+1 The issue is still not solved.

+1

Same here
All of my transfer learning models (resnet50, inception, exception) do not load after saving. I have to delete optimizer parameters (from hdf5 file) from the model, but then it won't work if I want to continue training.
Python 3.5 Keras 2.0.3 Tensorflow Windows 64. I tried different optimizers (Adam, Nadam, SGD) and it doesn't seem to be optimizer dependent.

@sakvaua did you save the model in Keras 2.0.2?
I had saved the model in Keras 2.0.3 and tried to load it in 2.0.2. When I upgraded and tried loading it in 2.0.3 it worked.
It seems a fix could be to modify load_model so that it doesn't load the optimizer.

@zafarali. Hmmm. I have 2.0.4 and models are saved and loaded during the same session.

Still have same issue with 2.0.4

Seems to me that this error comes up when I try to load too many models at the same time. Currently I'm loading a number of different models into a test script to be tested one at a time. Is there a way to force tensorflow to forget a graph? Bet that would solve it for people in my situation.

@tstandley
https://keras.io/backend/
clear_session()
Destroys the current TF graph and creates a new one. Useful to avoid clutter from old models / layers.

@sakvaua Thanks. You're awesome! Wish I knew about this sooner.

Ensuring the same version of Keras is installed in both settings (2.0.6 in my case) solved the problem.

Closing since the issue is fixed with the current version.


Builds for MacOS are not recognized by Java Tools

If I follow the instructions for installing AdoptOpenJDK builds on MacOS, I get a functioning command line, however /usr/libexec/java_home does not recognize the install (Even if placed into /Library/Java/JavaVirtualMachines) due to the directory structure and lack of an Info.plist file.  The Java 10 build from http://jdk.java.net/10/ contains the correct information, however builds from adoptopenjdk do not.  IDEs such as Eclipse and Intelij also do not recognize the AdoptOpenJDK binaries.
This makes adoptopenjdk unsuable on MacOS for all practical purposes.

This is the file structure that macOS expects:
➜  jdk1.8.0_121.jdk tree -v -L 3 --charset utf-8
.
└── Contents
    ├── Home
    │   ├── ASSEMBLY_EXCEPTION
    │   ├── COPYRIGHT
    │   ├── LICENSE
    │   ├── README.html
    │   ├── THIRDPARTYLICENSEREADME-JAVAFX.txt
    │   ├── THIRDPARTYLICENSEREADME.txt
    │   ├── THIRD_PARTY_README
    │   ├── bin
    │   ├── db
    │   ├── demo
    │   ├── include
    │   ├── javafx-src.zip
    │   ├── jre
    │   ├── lib
    │   ├── man
    │   ├── release
    │   ├── sample
    │   └── src.zip
    ├── Info.plist
    └── MacOS
        └── libjli.dylib -> ../Home/jre/lib/jli/libjli.dylib

11 directories, 12 files

This may be one for the installer project, but lets see.

When building the JVMCI JDKs available at http://www.oracle.com/technetwork/oracle-labs/program-languages/downloads/index.html, we preserve the Contents/Home prefix for the macOS build for precisely the reasons started in this issue.
> tree -L 3 /Library/Java/JavaVirtualMachines/labsjdk1.8.0_172-jvmci-0.44
/Library/Java/JavaVirtualMachines/labsjdk1.8.0_172-jvmci-0.44
└── Contents
    ├── Home
    │   ├── COPYRIGHT
    │   ├── LICENSE
    │   ├── README.html
    │   ├── THIRDPARTYLICENSEREADME-JAVAFX.txt
    │   ├── THIRDPARTYLICENSEREADME.txt
    │   ├── bin
    │   ├── db
    │   ├── include
    │   ├── javafx-src.zip
    │   ├── jre
    │   ├── lib
    │   ├── man
    │   ├── release
    │   └── src.zip
    ├── Info.plist
    └── MacOS
        └── libjli.dylib -> ../Home/jre/lib/jli/libjli.dylib

9 directories, 10 files

@johnoliver Since you're successfully building via the new build scripts - are you able to take a look at this one?

@karianna I really don't feel that our builds should be churning out the binaries in the stucture! We should probably make this part of the installer for MacOS so that it has the correct structure but our tarballs should remain the same IMO.

Yeah I'm not sure if the installer or the build produces the right structure though...

the build doesn't (and I don't think it should) the installer can be configured to produce this structure though

I don't know if I point out something everybody already knows, but anyway...
When I build the JDK on my Mac, make images builds the requisite MacOS-friendly directory tree under build/macosx-x86_64-normal-server-release/images/jdk-bundle/jdk-11.jdk/', in addition to the "standard linux tree" under build/macosx-x86_64-normal-server-release/images/jdk/`.
$ tree -L 3 build/macosx-x86_64-normal-server-release/images/jdk-bundle/jdk-11.jdk
build/macosx-x86_64-normal-server-release/images/jdk-bundle/jdk-11.jdk
└── Contents
    ├── Home
    │   ├── bin
    │   ├── conf
    │   ├── demo
    │   ├── include
    │   ├── jmods
    │   ├── legal
    │   ├── lib
    │   ├── man
    │   └── release
    ├── Info.plist
    └── MacOS
        └── libjli.dylib -> ../Home/lib/jli/libjli.dylib
$ tree -L 1 build/macosx-x86_64-normal-server-release/images/jdk
build/macosx-x86_64-normal-server-release/images/jdk
├── bin
├── conf
├── demo
├── include
├── jmods
├── legal
├── lib
├── man
└── release

So it seems to that a "correct" MacOS installation archive could be created by simply selecting other source directory when creating it.

I'm the maintainer of the OpenJDK ports in MacPorts. I'm currently using Oracle's OpenJDK builds, but I'm considering AdoptOpenJDK's builds.
I think it would be great if the AdoptOpenJDK releases for macOS would be ready to go when unpacked under /Library/Java/JavaVirtualMachines, just like the Oracle OpenJDK builds, because otherwise MacPorts would have to duplicate the stuff the installer does in order to construct the directory structure expected by these macOS tools.

Also, see https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/9

I think the last point is salient ... The oracle jdk install will copy itself into that directory. The user needs to do nothing else to 'just use' the JDK.
On docs... many don't read the docs, so at a minimum a warning or info in the actual install or otherwise very obvious would help if this isn't automated.
Also as a software engineer building java apps I need to work with multiple jdks, so I like the fact it isn't installed by default. I use 'jenv' to manage on macOS. It was just the current packaging seems caught between these two approaches. Of note also is that some commercial apps will fail with new versions of JDKs, so updating the 'default' version even as a novice user can be problematic

I believe the original issue is fixed with the current AdoptOpenJDK 8u192 and 11.0.1 releases for macOS.


Feature request: ability to replace a Nuget package by a local build of the component

Hi,
Let me try to explain quickly our problem. In my company, we work with at least 3 solutions:

Solution A contains tens of core projects used by mainly all final products
Solution B contains tens of projects more businesss oriented and still shared by several final products. B can use A components.
Finally, Solution C is a final product and use A and B through Nuget packages.

When we want to debug A or B components from the C solution, we can of course access PDB through a symbol server. But things become more painful when we need to solve an issue in A or B, diagnosed from C: of course, we make a UT in the source solution to reproduce and solve the bug but most of the time, we want also to test it directly from the C solution. Currently, we use some PS scripts to build locally the Nuget packages for A and/or B and update them in the C solution. This can be a very long process!
The idea would be to use Paket to replace those PS scripts. Because Paket can update project files, it could replace the path from a Nuget package folder to the build output which contains the corresponding dlls. For instance, you would give the build output folder from the command line and Paket could check for any dependency to verify if it takes the one from this path (if present) or the default one from the package folder. Just the time to test: any install/update would then restore things according to the paket.dependencies.
I hope i's clear enough.
Thanks

take a look at https://github.com/fsprojects/Paket/pull/1636

is that what you mean?

Yes, I think so. If I understand all the story, we would be able to define a paket.local and redirect a nuget source to a folder? It would be perfect.

exactly, it's a work in progress. have a look at this integration test scenario

it's now merged into beta


Further Catch Up improvements

Now the Datastore-native query is built regarding the event type which is passed in the EventStreamQuery.

@armiol, PTAL.


Consider splitting README into multiple docs

The README is a bit long now, especially now that it contains introductory project material along with user guide and the FAQ section. I think it might be wise to split out the documents, perhaps even using GitHub wiki pages?

I think advanced features and best practices may be moved to wiki pages. The FAQ I'm not sure, I think it can either stay in the README or be moved to its own doc.

+1

GitHub wiki pages don't give the level of access control that seems right for this kind of documentation. But yeah, my idea is four docs:

README.md
docs/guide.md (Basics & Advanced Features)
docs/best-practices.md
docs/faq.md


Unable to ALTER SPROC - The connection is closed

Azure Data Studio Version: 1.0.0

Steps to Reproduce:

Open connection to Azure SQL Server using SQL Authentication that has db_datareader, db_datawriter and the account has GRANT EXECUTE set.
Locate existing SPROC in table view, click Script as Alter, new window with existing sproc will open.
Press go to execute the ALTER with no changes.
The following message is displayed in the query results tab. Started executing query at Line 1 Query failed: Invalid operation. The connection is closed.Total execution time: 00:00:00.003
The same procedure works in SSMS using same user account and same sproc.

@mstephens-adig could you please provide a couple additional details?

This is happening on Windows?
Scripting other objects like tables is working fine?

@kburtram very sorry,

I'm on a Mac running High Sierra with latest security updates. 10.13.16
I had been using SQL Operations Studio on Sierra and had no issues, I upgraded to Azure Data Studio last week during a OS upgrade.
I've updated to Azure Data Studio 1.1.3 this morning as well and that has not solved the issue.
Extensions installed:
Server Reports 0.1.3
SQL Server Agent 0.34.0
SQL Server Import 0.3.0
SQL Server Profiler 0.2.0

In an attempt to provide a full reproduction I created a simple set of procedures for both CREATE and ALTER and that seems to function as expected.

I will continue trimming back those procedures to narrow in on the exact cause, at this point maybe its the length of the sproc? It is currently over 1300 lines long.

Update - I've uninstalled all extensions, that doesn't resolve the issue.

@mstephens-adig thanks for the update.  I'll try to repro and get back to you.

@mstephens-adig I wasn't able to repro this issue using the latest build and the simple sproc in your example.  Are you still hitting this?  Is there any additional context you can think of that may narrow do the repro.
I've basically did the following.

Connect to SQL Server 2017
Create a new database
Create an sproc using the example provided above
Script as Alter the sproc
Execute the Alter statement

And this works as expected.

I have the same error, but different use case. Same environment (MacOS High Sierra, Azure Data Studio), replicated on two different Macs. Does not show itself on Windows 10 in Azure Data Studio or SSMS. If you  just do a couple insert statements, it won't throw the error either.
This error shows itself with the following repro:

Create a #tempTable
Execute 1000 insert statements
Select * FROM #tempTable

i.e.:
create table #mockSales (
	id VARCHAR(50),
	email VARCHAR(50),
	address1 VARCHAR(50),
	address2 VARCHAR(50),
	city VARCHAR(50),
	postalCode VARCHAR(50),
	country VARCHAR(50),
	soldPrice VARCHAR(50),
	soldDate DATE,
	mobilePhone VARCHAR(50),
	workPhone VARCHAR(50),
	firstName VARCHAR(50),
	lastName VARCHAR(50),
	state VARCHAR(50),
	agent VARCHAR(50),
	transferTo VARCHAR(50)
);

insert into #mockSales (id, email, address1, address2, city, postalCode, country, soldPrice, soldDate, mobilePhone, workPhone, firstName, lastName, state, agent, transferTo) values (NEWID<EMAIL_ADDRESS>'5115 Banding Junction', null, 'Chicago', '60669', 'USA', '$440.92', '11/8/2018', '312-618-3594', '402-201-7624', 'Tedman', 'Brent', 'Illinois', 'Tedman Brent', null);
-- copy and paste 1000 times :)
...
SELECT * FROM #mockSales

I am getting the same issue as mentioned above - same Mac setup, any update?

I'm seeing The Connection is Closed happen on queries above a certain size (i.e. the actual textual length of the query) on my Mac; I don't know if it's related and I'm still investigating, but I figured I'd mention it in case it's relevant. @mstephens-adig, was your original procedure with the problem quite long?

@kolchy I'm still getting this,  I have a couple legacy sprocs that are in excess of 1300 lines long.
Azure Data Studio refuses to show it when scripting an alter from the server and also when attempting to execute them.
Same as above, it works 100% fine in SSMS.

I'm running into this issue as well. I'm using Azure Data Studio 1.13.0 on Mac OS Catalina.
Trying to create Brent Ozar's sp_Blitz* procs on a SQL Server 2016 database. "The connection is closed".

I ran into this when trying to set up the example database for Itzik Ben-Gan's 70-761 exam book. It seemed that Azure Data Studio would simply choke on scripts longer than a certain length. In the end I just gave up and use SSMS on Windows.


Added link to creative commons license

The previous link is dead one.

Actually, we should link to https://creativecommons.org/licenses/by/3.0/

I was actually waiting for someone to tell what is the actual license used. Thanks. I will update it.


Auth from outside .graphqlconfig

Our .graphqlconfig references API tokens that are set in this manner "Authorization": "Bearer ${env:API_TOKEN}" with API_TOKEN being a token that changes regularly and is set via export API_TOKEN= in a shell.
Is there any way we can get this extension to authenticate properly so we can use the "execute query/mutation" features etc? Currently, of course, it will just say "API_TOKEN is not set"

Thanks for raising this issue. I will need to reproduce this. Do you have a small project maybe that I can use to reproduce this?

Unfortunately I don't have a project that I'm able to share, however replicating this should be as simple as the following:

Create a project with a .graphqlconfig that contains something like this

{
  "projects": {
    "myProject": {
      "schemaPath": "schema.graphql",
      "extensions": {
        "endpoints": {
          "local": {
            "url": "http://localhost:8000/app_dev.php/graphql",
            "headers": {
              "Authorization": "Bearer ${env:API_TOKEN}"
            }
          }
        }
      }
    }
  }
}

Set API_TOKEN via export API_TOKEN=xxxx in the command line.
Have the prisma plugin read this variable

Apologies as I know this will still need quite a lot of set up on your part to replicate!

@covertbert with the<EMAIL_ADDRESS>upgrade, you'll be able to use commonjs files, so you'll be able to do:
const { API_TOKEN } = process.env
module.exports = {
  projects: {
    myProject: {
      schema: "schema.graphql",
      extensions: {
        endpoints: {
          local: {
            url: "http://localhost:8000/app_dev.php/graphql",
            headers: {
              Authorization: `Bearer ${API_TOKEN}`
            }
          }
        }
      }
    }
  }
}

<EMAIL_ADDRESS>released! please open new tickets if you have any issues


Prefill not done

Hello, I'm new to this project and want to test the speed of prefilling. I'm currently using examples/inference.py but found out that the prefill stage did not actually generate any tokens. I'm confused, is it I need to change something to get the prefill going? (For example I want to prefill 100 tokens with the prompt 'Once upon a time')

"Prefilling" is the part of the process during which the prompt is ingested, prior to the first token being generated. So it is normal for it to not generate any tokens.


Create Excel.workbookquery.refresh.md

New per @jokahati

Docs Build status updates of commit 87c2b9d:
:warning: Validation status: warnings

File
Status
Preview URL
Details

api/Excel.workbookquery.refresh.md
:warning:Warning
View
Details

api/Excel.workbookquery.refresh.md

Line 0, Column 0: [Warning: h1-missing - See documentation] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.
Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Error while trying to use xDBpackage to export a bacpac

Hi,
I am new to DSC and have encountered an error while trying use the xDBPackage to export a BACPAC file. I am getting the following error
"Error SQL71562: Error validating element [dbo].[XXXXX]: Procedure: [dbo].[XXXXX] has an unresolved reference to object [tempdb].[dbo].[SysObjects]. External references are not supported when creating a package from this platform. ". I am getting several such errors like
"Error SQL71562: Error validating element [dbo].[XXXXX]: Procedure: [dbo].[XXXXX] has an unresolved reference to object [master].[dbo].[sysmessages]. External references are not supported when creating a package from this platform.
Error SQL71562: Error validating element [dbo].[XXXXX]: Procedure: [dbo].[XXXXX] has an unresolved reference to object [msdb].[dbo].[sp_send_dbmail]. External referen
ces are not supported when creating a package from this platform.
Error validating element [dbo].[XXXXX]: Procedure: [dbo].[XXXXX] has an unresolved reference to object [msdb].[dbo].[sp_send_dbmail].[@profile_name]. External references are not supported when creating a package from this platform."
Any help/guidance would be much appreciated here.

Take a look at https://azure.microsoft.com/en-us/documentation/articles/sql-database-transact-sql-information/.
It is saying that when you use SQLPackage, you have to have a DB that complies with both SQLServer and Azure.  Azure does not support DB Mail and you should probably use INFORMATION_SCHEMA instead of sysobjects.  I have the same problem and did post a comment.

I did find a way to do this successfully but it's sort of obscure.
When you are in VS creating your DACPAC, since you have a reference to MSDB, you will need to add it as a DB Reference.  My solution has DB References to MSDB and Master.  Right click each DB ref to bring up its property.  Check for "Suppress Reference Warnings" and set that to True.  By default it is false.  Then create the DACPAC, populate it with data and then you can make the BACPAC okay.


Error when supplying format to Counter

Description
When I specify a format string to Counter, I get the error "TypeError: %d format: a number is required, not dict"
Code
widgets = ['Aspect ratio: %d ' % ar, Counter(format=u'%5d'), ' ',
    Bar(marker='#', left='[', right=']'), ' ', AdaptiveETA()]
with ProgressBar(
    fd=sys.stdout,
    widgets=widgets,
    max_value=num_images,
    redirect_stdout=True) as progress:

Versions

Python version: 2.7.13
Python distribution/environment: Anaconda
Operating System: Linux
Package version: 3.32.1

The value needs to be named since it gets passed all data.
Try this instead:
import progressbar

counter = progressbar.Counter(format=u'%(value)5d')

That works, thanks.
The syntax is a little obscure. Perhaps an example in the docs would help.

True, the docs could use a little upgrade in terms of usage but the example is available in the Counter arguments: http://progressbar-2.readthedocs.io/en/latest/progressbar.widgets.html?highlight=counter#progressbar.widgets.Counter
Additionally, the source is linked from the docs as well: http://progressbar-2.readthedocs.io/en/latest/_modules/progressbar/widgets.html#Counter

Don't get me wrong, the docs are good and nicely cross-referenced with the source. But I had looked at both the items you mentioned and still was unclear. My suggestion is to add the usage of a customized format to one of the examples here http://progressbar-2.readthedocs.io/en/latest/examples.html

You're right, that might help a bit :)
I've added it to the examples


Added Georgian language configuration

Country names, addresses, streets, names and phone numbers in Georgian were added. ID number generator was also added. ID numbers in Georgia are 11-digit numbers without any personal data or publicly known dependency between digits. ID numbers can begin with 0.
Compound given and family names are also supported:

Some people may have two given names (e.g. Lasha-Giorgi).
Sometimes "basic" family names are joined using '-' (From the real-world scenarios: women usually keep their maiden names in Georgia, but it's also possible to either switch to spouse's family name or even join them. Also, sometimes children inherit family names from both parents, if they decide to do so).

Hi @mikheil-aisitec , this PR looks great, and thank you for providing some insight in your sources, that was an absolutely great read. I think this PR is ready to be merged unless @kingthorin has any other feedback (thanks for asking those questions, much appreciated!!)

23:06:28.086 [ERROR]   FakerIntegrationTest.testAllFakerMethodsThatReturnStrings:93->testAllMethodsThatReturnStringsActuallyReturnStrings:115 » Runtime Unable to resolve #{Address.state} directive for FakerContext FakerContext{, locale=SingletonLocale{locale=ka}, randomService=net.datafaker.service.RandomService@1}.

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

Comparison is base (b37c566) 92.35% compared to head (2d378ee) 92.24%.
Report is 7 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1088      +/-   ##
============================================
- Coverage     92.35%   92.24%   -0.11%
+ Complexity     2821     2819       -2
============================================
  Files           292      292
  Lines          5609     5611       +2
  Branches        599      598       -1
============================================
- Hits           5180     5176       -4
- Misses          275      277       +2
- Partials        154      158       +4

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

Great! Thanks all, it's been merged, and should be available as a snapshot release in a few moments.

@kingthorin seems you were right, it does look like there's a flaky test somewhere, the merge to master failed.

@bodiam @kingthorin does not look like test case failure. JDK17 passed as well as JDK21 on Ubuntu.
Jdk 21, os windows-latest

[INFO] --- source:3.3.0:jar-no-fork (attach-sources) @ datafaker ---
[INFO] Building jar: D:\a\datafaker\datafaker\target\datafaker-2.1.1-SNAPSHOT-sources.jar
[INFO]
[INFO] --- javadoc:3.6.3:jar (attach-javadocs) @ datafaker ---
2024-02-14 00:27:10
Full thread dump OpenJDK 64-Bit Server VM (21.0.2+13-LTS mixed mode, sharing):

Threads class SMR info:
_java_thread_list=0x000002a8e93a6c90, length=12, elements={
0x000002a8fe0257d0, 0x000002a8ff5cbe90, 0x000002a8ff5cc9c0, 0x000002a8ff5d4220,
0x000002a8ff5d6dc0, 0x000002a8ff5dbbe0, 0x000002a8ff5d4af0, 0x000002a8ff5e8cc0,
0x000002a8ff5e9b10, 0x000002a89d82d7d0, 0x000002a89d87cca0, 0x000002a8e8887fc0
}


connect without an argument raises an error

I noticed a strange error when I follow the instructions for Example 1 at http://imexam.readthedocs.org/imexam/examples.html .  If I try to connect to ds9 via imexam.connect() without explicitly saying imexam.connect('ds9') (which is what Example 1 suggests is possible), I get a rather arcane error that I don't really understand.  I do suspect it has something to do with the # this might be sketchy line right above, though ;)
In [2]: import imexam
In [3]: viewer = imexam.connect()
/Users/erik/miniconda3/envs/imexam/lib/python3.5/site-packages/imexam-0.5.3.dev0-py3.5-macosx-10.5-x86_64.egg/imexam/ds9_viewer.py:554: UserWarning: Starting ds9 failed
  warnings.warn("Starting ds9 failed")
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
<ipython-input-3-6f0574bcd0ef> in <module>()
----> 1 viewer = imexam.connect()

/Users/erik/miniconda3/envs/imexam/lib/python3.5/site-packages/imexam-0.5.3.dev0-py3.5-macosx-10.5-x86_64.egg/imexam/connect.py in __init__(self, target, path, viewer, wait_time, quit_window)
     80         if 'ds9' in self._viewer:
     81             self.window = ds9(
---> 82                 target=target, path=path, wait_time=wait_time, quit_ds9_on_del=quit_window)
     83             self._event_driven_exam = False  # use the imexam loop
     84

/Users/erik/miniconda3/envs/imexam/lib/python3.5/site-packages/imexam-0.5.3.dev0-py3.5-macosx-10.5-x86_64.egg/imexam/ds9_viewer.py in __init__(self, target, path, wait_time, quit_ds9_on_del)
    198
    199             elif 'local' in self._xpa_method:
--> 200                 self._xpa_name, self._ds9_unix_name = self._run_unixonly_ds9()
    201
    202             # tells xpa where to find sockets

/Users/erik/miniconda3/envs/imexam/lib/python3.5/site-packages/imexam-0.5.3.dev0-py3.5-macosx-10.5-x86_64.egg/imexam/ds9_viewer.py in _run_unixonly_ds9(self)
    562         # this might be sketchy
    563         try:
--> 564             file_list.remove(".IMT")  # should be in the directory, if not
    565         except (ValueError, IOError):
    566             warnings.warn("IMT not found in tmp, using first thing in list")

UnboundLocalError: local variable 'file_list' referenced before assignment

I have no problem with this under Anaconda Python 2.7.11 and SAOImage DS9 v7.1.

@eteq , I can't really test it but can you see if #45 get you past the UnboundLocalError and hopefully give you some other more meaningful error to work with? Or better yet, fix the problem?

@pllim - hmm, OK, that leads to a completely different error as shown below.  That's definitely more relevant, but I still don't really understand the cause... In particular I don't understand what's different between this and imexam.connect('ds9')...
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-2-f63b9047ba1c> in <module>()
----> 1 v=imexam.connect()

/Users/erik/miniconda3/envs/imexam/lib/python3.5/site-packages/imexam-0.5.2-py3.5-macosx-10.5-x86_64.egg/imexam/connect.py in __init__(self, target, path, viewer, wait_time, quit_window)
     80         if 'ds9' in self._viewer:
     81             self.window = ds9(
---> 82                 target=target, path=path, wait_time=wait_time, quit_ds9_on_del=quit_window)
     83             self._event_driven_exam = False  # use the imexam loop
     84

/Users/erik/miniconda3/envs/imexam/lib/python3.5/site-packages/imexam-0.5.2-py3.5-macosx-10.5-x86_64.egg/imexam/ds9_viewer.py in __init__(self, target, path, wait_time, quit_ds9_on_del)
    198
    199             elif 'local' in self._xpa_method:
--> 200                 self._xpa_name, self._ds9_unix_name = self._run_unixonly_ds9()
    201
    202             # tells xpa where to find sockets

/Users/erik/miniconda3/envs/imexam/lib/python3.5/site-packages/imexam-0.5.2-py3.5-macosx-10.5-x86_64.egg/imexam/ds9_viewer.py in _run_unixonly_ds9(self)
    569             xpaname = os.path.join(self._tmpd_name, file_list[0])
    570         else:
--> 571             shutil.rmtree(self._tmpd_name)
    572             raise ValueError("Problem starting ds9 local socket connection")
    573

/Users/erik/miniconda3/envs/imexam/lib/python3.5/shutil.py in rmtree(path, ignore_errors, onerror)
    486             os.close(fd)
    487     else:
--> 488         return _rmtree_unsafe(path, onerror)
    489
    490 # Allow introspection of whether or not the hardening against symlink

/Users/erik/miniconda3/envs/imexam/lib/python3.5/shutil.py in _rmtree_unsafe(path, onerror)
    368         names = os.listdir(path)
    369     except OSError:
--> 370         onerror(os.listdir, path, sys.exc_info())
    371     for name in names:
    372         fullname = os.path.join(path, name)

/Users/erik/miniconda3/envs/imexam/lib/python3.5/shutil.py in _rmtree_unsafe(path, onerror)
    366     names = []
    367     try:
--> 368         names = os.listdir(path)
    369     except OSError:
    370         onerror(os.listdir, path, sys.exc_info())

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/xpa_erikhtwoxz0o'

@eteq , that is just imexam trying to delete a temporary directory that was never created. But if you are already in that else logic block, the next thing that will happen is this:
raise ValueError("Problem starting ds9 local socket connection")

The difference between connect() (target=None) and connect('ds9') (target='ds9') is this logic in ds9_viewer.py:
        if not target:
            # Check to see if the user has chosen a preference first
            if 'XPA_METHOD' in os.environ:
                self._xpa_method = os.environ['XPA_METHOD'].lower()

            if 'inet' in self._xpa_method:
                self._xpa_name = self.run_inet_ds9()
                # xpa_name is the title of the window, the xpa can be referenced
                # with either the socket address or name of the window

            elif 'local' in self._xpa_method:
                self._xpa_name, self._ds9_unix_name = self._run_unixonly_ds9()

            # tells xpa where to find sockets
            os.environ['XPA_METHOD'] = self._xpa_method

        else:
            # just register with the target the user provided
            self._xpa_name = target

Ah, gotcha, so that explains why the error hits at _run_unixonly_ds9.  But I still don't understand what the purpose is of the temporary directory that gets created in that function...  I admit my understanding of XPA is at the level of "minimum necessary for what I need at any given moment", though...

It's been a while, and I try to expunge XPA memories because they hurt... but the XPA prefers to run sockets all of the same type. If you don't already have an instance of ds9 running, then it defaults down to the unix local socket, which are file references, this is the most secure I believe because you can limit access to the process by userid.  If the process doesn't start up and the local socket can't be found or connected to then the code tries to cleanup. So I don't create the directory but I can guess how it's named and try and clean it, but I should probably put a better check for existence in there.
If you start up ds9 with a local unix socket, go look in the File->XPA information  menu and you'll see the socket information, here's mine:
XPA_VERSION: 2.1.14
XPA_CLASS: DS9
XPA_NAME:<PHONE_NUMBER>.02 (which is a random name imexam sent it)
XPA_METHOD: /tmp/xpa_soseyvxTSeb/DS9_1454532149.02.26690  --> the communication socket
@eteq you can try setting XPA_METHOD in your environment to inet, that might solve your issue for now. You can see the internet socket difference again in the XPA info menu where it shows up as number:number.
I'm not sure why your unix socket isn't being created yet.  What version of ds9 are you running? I'm using 7.1.  Are you able to get references to ds9 and xpans from imexam?:
import imexam
imexam.find_ds9()
imexam.find_xpans()
Another thing to try is setting the wait time longer and see if that helps:
a=imexam.connect(wait_time=10)  will increase to 10 seconds, which should be more than enough time to wait for the socket to establish.  You can also try giving it an explicit path to ds9:
a=imexam.connect(path="/my/ds9/location")
all said, the socket connection and listening are working under SSBDEV:
In [4]: imexam.list_active_ds9()
DS9 megan gs /tmp/xpa/DS9_megan.26155 sosey
where "megan" is the name of a ds9 window I opened from the os command line.
The socket connection works in my conda env as well, but the listening is off even though xpans seems to exist, I'll look into that as a separate issue.

Hmm, we're closer but I'm still a bit confused, @sosey:  I tried as you suggested, and got a few interesting bits:

imexam.find_ds9 and imexam.find_xpams both work and find the right path
imexam.list_active_ds9 yields this:

/Users/erik/miniconda3/envs/imexam/lib/python3.5/site-packages/imexam-0.5.2-py3.5-macosx-10.5-x86_64.egg/imexam/util.py in list_active_ds9()
     54     if find_xpans():
     55         try:
---> 56             sessions = (xpa.get('xpans'))
     57             if len(sessions) < 1:
     58                 print("No active sessions")

wrappers/xpa.pyx in xpa.get (wrappers/xpa.c:1379)()

TypeError: expected bytes, str found

which looks to me to be a python 3.x incompatibility (I was testing this on anaconda 3.5.something).
But if I switch to 2.7, it happily reports either No active sessions registered or if I've already started a ds9, it gets DS9 ds9 gs ac120a41:61597 erik.  So that looks like it is indeed in 'inet' mode and successfully found xpans.
If I go ahead in 2.7 and then and do imexam.connect(), I still get OSError: [Errno 2] No such file or directory: '/tmp/xpa_erikKdZwyU'.  Am I right in concluding that's because it thinks I'm in local socket and not inet mode?  So in principal the solution is just to try to get the no-argument version of imexam.connect() to also try the inet way?

Yes, that' a compatibility thing  I still need to fix. I had to blow away my environments yesturday for some calwf3 testing so I'm a little behind but will try and get to that next (after I fix the travis issues)
It may be because it thinks you're in local mode. Did you try setting in your env XPA_METHOD = inet?  That should make imexam skip that section all together. Try that and I'll see where the logic issue is that's making it think it still needs to start or clean a local session.

Aha - I did XPA_METHOD=inet when starting ds9, not when starting python.  When I do XPA_METHOD=inet ipython, it does try to start up ds9.  However, I get a different error now, with the traceback below.  I think this error is happening because I have a rather arcane way of calling ds9 (the ds9 it finds is actually a shell script to go and find the right version of ds9 on my machine...), but I think the fact that p doesn't exist might be a real error?
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
<ipython-input-1-fd029befc726> in <module>()
----> 1 import imexam;v=imexam.connect()

/Users/erik/miniconda3/envs/imexam2/lib/python2.7/site-packages/imexam-0.5.2-py2.7-macosx-10.5-x86_64.egg/imexam/connect.pyc in __init__(self, target, path, viewer, wait_time, quit_window)
     80         if 'ds9' in self._viewer:
     81             self.window = ds9(
---> 82                 target=target, path=path, wait_time=wait_time, quit_ds9_on_del=quit_window)
     83             self._event_driven_exam = False  # use the imexam loop
     84

/Users/erik/miniconda3/envs/imexam2/lib/python2.7/site-packages/imexam-0.5.2-py2.7-macosx-10.5-x86_64.egg/imexam/ds9_viewer.py in __init__(self, target, path, wait_time, quit_ds9_on_del)
    193
    194             if 'inet' in self._xpa_method:
--> 195                 self._xpa_name = self.run_inet_ds9()
    196                 # xpa_name is the title of the window, the xpa can be referenced
    197                 # with either the socket address or name of the window

/Users/erik/miniconda3/envs/imexam2/lib/python2.7/site-packages/imexam-0.5.2-py2.7-macosx-10.5-x86_64.egg/imexam/ds9_viewer.py in run_inet_ds9(self)
    497             print("Exception: {}".format(repr(e)))
    498             from signal import SIGTERM
--> 499             os.kill(p.pid, SIGTERM)
    500             raise
    501

UnboundLocalError: local variable 'p' referenced before assignment

well that's a new one. Yah I'll look at the process thing.
So, try this:
set your OS env,  export XPA_METHOD=inet,
start python
import imexam
Since you have a special place you want to grab ds9 from, and its scripts, lets just give that location to imexam and see if that at least gets a smooth start for you?
a=imexam.connect(path = "my special ds9 path")

@sosey - tried what you said here and I got the exact same result as the traceback I posted above.  But, I think I figured it out:
If I do what I originally did (connect() without the path), and use the debugger to try to create the Popen in run_inet_ds9, it fails because of OSError: OSError(8, 'Exec format error'). This is probably because the ds9 on my path is actually a file that just contains the line /Applications/SAOImage\ DS9.app/Contents/MacOS/ds9 "$@" (That was a necessary hack for some reason, although I don't remember why...).
If I add #!/bin/sh to the top of that file... It works!  So the only real underlying problem was that the ds9 on my path was an executable without a proper hashbang to tell it what to do.
There's still the proximate error in the traceback not passing on that error, though.  I'll issue a PR to fix that as I think I see the problem.  Once that's in along with #45 I think this can be closed.


littlte issue in the bug reporting

Hi We find a little issue in the bug reporting. on iOS, when we try to select or hold on the screen the contextual menu(copy, past etc) appears on the top left corner.

i'm on instabug-reactnative version 2.13.1

Hey @MatthieuPeyrot
Thanks for reporting this. There's currently a fix planned for this issue that should be released in the next version :)

Hey @Korazy is it included in v2.13.3 ?

@bourgois @MatthieuPeyrot It should be fixed in 2.13.3, can you please let me know if it's fixed on your end as well?

@Korazy yes it is fix, Thanks ^^


Updated Keras

I've updated the files to support the newest distribution of Keras. How can I get access to create a PR?

This would be great!

I've updated the files to support the newest distribution of Keras. How can I get access to create a PR?

@Shantanu1497 Do you have a branch with support for python3/latest keras?  Anaconda was unable to import the specified environment due to legacy packages being unavailable and newer ones requiring python 3.7.


split-on-sentences

This new sub-class will chunk at the sentence level where a sentence is defined as one or more characters that precede a period, question mark or a banger which is follow by one of more white-space characters.

Thank you!


Fix tests

There were 2 problems:

tests were failing on master (see https://gitlab.parity.io/parity/fether/-/jobs/120117)
but CI was not failing on tests error

This PR fixes both

LGTM

Closing this, let's merge #332 instead, which addresses everything in this PR.