Setting CanvasItemMaterial.particles_animation frames affects Particles2D.visibility_rect

Godot version:
3.1 stable
Issue description:
This may be a purely aesthetic issue.  When adjusting particles_anim_h_frames or particles_anim_v_frames, the visibility rectangle in the editor is affected.  I'm not sure what the intended use of the visibility rect is, other than perhaps being a visual reference for the developer to use when particles aren't being actively emitted, but if that's the case, the way the rect displays shouldn't change at all when the anim frames change, unless its intended usage is somehow coupled to the particle texture itself.

Closing in favor of https://github.com/godotengine/godot/issues/50515, which has more information about the issue at hand.


Crashing after loading heist

The game always crashes after loading a heist. Removing the Nepgearsy folder from mods folder resolves the issue. Both Beardlib and Nepgearsy is up-to-date.

Fixed.


Is this project still active?

I found an issue and I'll open a PR if this project is still active. Otherwise I'll just fix it locally :)

Hi. I'd accept a PR. I haven't been keeping up with greenkeeper or adding anything though. Thanks


feat: 🎸 Add method to get votes for a MultiSig proposal

Description
Adds votes method to MultiSigProposal entity
Breaking Changes
NA
JIRA Link
DA-901
Checklist

[ ] Updated the Readme.md (if required) ?

:tada: This PR is included in version 23.0.0-alpha.19 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


FormatterException

Hey :)
Tried running the generator with squadron: 5.1.1 and squadron_builder: 2.2.0 and got this FormatterExceoption. Looks like it applies to squadron_builder: 2.2.0, as it fails as well with suqadron: 5.0.0.
[SEVERE] squadron_builder:worker_builder on lib/src/core/api/data/service/json_service.dart:
An error `FormatterException` occurred while formatting the generated source for
  `package:my_app/src/core/api/data/service/json_service.dart`
which was output to
  `lib/src/core/api/data/service/json_service.worker.g.dart`.
This may indicate an issue in the generator, the input source code, or in the
source formatter.
Could not format because the source could not be parsed:

line 160, column 79 of .: Expected to find ')'.
    ╷
160 │                 () => JsonServiceWorker(platformWorkerHook: platformWorkerHook}),

My json_service.dart is pretty basic
import 'dart:async';
import 'dart:convert' show jsonDecode;

import 'package:squadron/squadron.dart';
import 'package:squadron/squadron_annotations.dart';

import 'json_service.activator.g.dart';

part 'json_service.worker.g.dart';

@SquadronService(web: false)
class JsonService extends WorkerService with $JsonServiceOperations {
  @SquadronMethod()
  Future<dynamic> decode(String source) async => jsonDecode(source);
}

and the generated json_service.worker.g.dart file looks like this
// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'json_service.dart';

// **************************************************************************
// Generator: WorkerGenerator 2.2.0
// **************************************************************************

// Operations map for JsonService
        mixin $JsonServiceOperations on WorkerService {
          @override
          late final Map<int, CommandHandler> operations = _getOperations(this as JsonService);

          static const int _$decodeId = 1;

          static Map<int, CommandHandler> _getOperations(JsonService svc) => {
            _$decodeId: (req) => svc.decode(req.args[0])
          };
        }

// Service initializer
        JsonService $JsonServiceInitializer(WorkerRequest startRequest)
            => JsonService();

// Worker for JsonService
        class _JsonServiceWorker
          extends Worker with $JsonServiceOperations
          implements JsonService {

          _JsonServiceWorker({PlatformWorkerHook? platformWorkerHook}) : super($JsonServiceActivator, platformWorkerHook: platformWorkerHook);

                @override
      Future<dynamic> decode(String source) => send(
            $JsonServiceOperations._$decodeId,
            args: [ source ],

          );

          @override
          Map<int, CommandHandler> get operations => WorkerService.noOperations;

          final Object _detachToken = Object();
        }

        // Finalizable worker wrapper for JsonService
        class JsonServiceWorker implements _JsonServiceWorker {

          JsonServiceWorker() : _worker = _JsonServiceWorker() {
            _finalizer.attach(this, _worker, detach: _worker._detachToken);
          }

          final _JsonServiceWorker _worker;

          static final Finalizer<_JsonServiceWorker> _finalizer = Finalizer<_JsonServiceWorker>((w) {
            try {
              _finalizer.detach(w._detachToken);
              w.stop();
            } catch (ex) {
              // finalizers must not throw
            }
          });

                @override
      Future<dynamic> decode(String source) => _worker.decode(source);

          @override
          Map<int, CommandHandler> get operations => _worker.operations;

                @override
      List get args => _worker.args;

      @override
      Channel? get channel => _worker.channel;

      @override
      Duration get idleTime => _worker.idleTime;

      @override
      bool get isStopped => _worker.isStopped;

      @override
      int get maxWorkload => _worker.maxWorkload;

      @override
      WorkerStat get stats => _worker.stats;

      @override
      String get status => _worker.status;

      @override
      int get totalErrors => _worker.totalErrors;

      @override
      int get totalWorkload => _worker.totalWorkload;

      @override
      Duration get upTime => _worker.upTime;

      @override
      String get workerId => _worker.workerId;

      @override
      int get workload => _worker.workload;

      @override
      Future<Channel> start() => _worker.start();

      @override
      void stop() => _worker.stop();

      @override
      Future<T> send<T>(int command, {List args = const [], CancellationToken? token, bool inspectRequest = false, bool inspectResponse = false}) => _worker.send<T>(command, args: args, token: token, inspectRequest: inspectRequest, inspectResponse: inspectResponse);

      @override
      Stream<T> stream<T>(int command, {List args = const [], CancellationToken? token, bool inspectRequest = false, bool inspectResponse = false}) => _worker.stream<T>(command, args: args, token: token, inspectRequest: inspectRequest, inspectResponse: inspectResponse);

      @override
      Object get _detachToken => _worker._detachToken;

        }

// Worker pool for JsonService
          class _JsonServiceWorkerPool
            extends WorkerPool<JsonServiceWorker> with $JsonServiceOperations
            implements JsonService {

            _JsonServiceWorkerPool({ConcurrencySettings? concurrencySettings, PlatformWorkerHook? platformWorkerHook}) : super(
                () => JsonServiceWorker(platformWorkerHook: platformWorkerHook}),
                concurrencySettings: concurrencySettings);

                  @override
      Future<dynamic> decode(String source) => execute(($w) => $w.decode(source));

            @override
            Map<int, CommandHandler> get operations => WorkerService.noOperations;

            final Object _detachToken = Object();
          }

        // Finalizable worker pool wrapper for JsonService
        class JsonServiceWorkerPool implements _JsonServiceWorkerPool {

          JsonServiceWorkerPool({ConcurrencySettings? concurrencySettings, PlatformWorkerHook? platformWorkerHook}) : _pool = _JsonServiceWorkerPool(concurrencySettings: concurrencySettings, platformWorkerHook: platformWorkerHook) {
            _finalizer.attach(this, _pool, detach: _pool._detachToken);
          }

          final _JsonServiceWorkerPool _pool;

          static final Finalizer<_JsonServiceWorkerPool> _finalizer = Finalizer<_JsonServiceWorkerPool>((p) {
            try {
              _finalizer.detach(p._detachToken);
              p.stop();
            } catch (ex) {
              // finalizers must not throw
            }
          });

                @override
      Future<dynamic> decode(String source) => _pool.decode(source);

          @override
          Map<int, CommandHandler> get operations => _pool.operations;

                @override
      ConcurrencySettings get concurrencySettings => _pool.concurrencySettings;

      @override
      Iterable<WorkerStat> get fullStats => _pool.fullStats;

      @override
      int get maxConcurrency => _pool.maxConcurrency;

      @override
      int get maxParallel => _pool.maxParallel;

      @override
      int get maxSize => _pool.maxSize;

      @override
      int get maxWorkers => _pool.maxWorkers;

      @override
      int get maxWorkload => _pool.maxWorkload;

      @override
      int get minWorkers => _pool.minWorkers;

      @override
      int get pendingWorkload => _pool.pendingWorkload;

      @override
      int get size => _pool.size;

      @override
      Iterable<WorkerStat> get stats => _pool.stats;

      @override
      bool get stopped => _pool.stopped;

      @override
      int get totalErrors => _pool.totalErrors;

      @override
      int get totalWorkload => _pool.totalWorkload;

      @override
      int get workload => _pool.workload;

      @override
      void cancel([Task? task, String? message]) => _pool.cancel(task, message);

      @override
      FutureOr start() => _pool.start();

      @override
      int stop([bool Function(JsonServiceWorker worker)? predicate]) => _pool.stop(predicate);

      @override
      Object registerWorkerPoolListener(void Function(JsonServiceWorker worker, bool removed) listener) => _pool.registerWorkerPoolListener(listener);

      @override
      void unregisterWorkerPoolListener({void Function(JsonServiceWorker worker, bool removed)? listener, Object? token}) => _pool.unregisterWorkerPoolListener(listener: listener, token: token);

      @override
      Future<T> execute<T>(Future<T> Function(JsonServiceWorker worker) task, {PerfCounter? counter}) => _pool.execute<T>(task, counter: counter);

      @override
      StreamTask<T> scheduleStream<T>(Stream<T> Function(JsonServiceWorker worker) task, {PerfCounter? counter}) => _pool.scheduleStream<T>(task, counter: counter);

      @override
      ValueTask<T> scheduleTask<T>(Future<T> Function(JsonServiceWorker worker) task, {PerfCounter? counter}) => _pool.scheduleTask<T>(task, counter: counter);

      @override
      Stream<T> stream<T>(Stream<T> Function(JsonServiceWorker worker) task, {PerfCounter? counter}) => _pool.stream<T>(task, counter: counter);

      @override
      Object get _detachToken => _pool._detachToken;

        }

Hello, I see you've activated the finalization option, could you try with with_finalizers set to false?

Hello, I see you've activated the finalization option, could you try with with_finalizers set to false?

This does work.

I've pushed a fix on GitHub, before I publish an updated package, would you mind adding a git reference to squadron_builder in your package's dependency_overrides and test again?

I've pushed a fix on GitHub, before I publish an updated package, would you mind adding a git reference to squadron_builder in your package's dependency_overrides and test again?

using
dependency_overrides:
  squadron_builder:
    git:
      url: git@github.com:d-markey/squadron_builder.git
      ref: a20b0a99e75f8df0ac54b1b2075c9fcb58faee4c

and with_finalizers: true works

Thanks, there were still a few corner-cases I had to handle so I pushed some more changes. I'll publish a new version later during the week-end I think.

Fixed and published!


Remove monolog

Laravel v10 will require Monolog v3. Right now, there doesn't seems to be any usage if Monolog in this specific library.
After this is merged I'll send in a PR to spatie/laravel-ignition:dev-l10 to update Monolog there.

Thanks!


Google+ Share Button?

Hey, do you have any plans to integrate the google+ share button which was recently released? (not the google +1 button)

It's been done since a long time now ;)


Image

Image component.

Duplicate of #112 will close this in a couple of days unless someone can explain why this is different from #112?


Non-interactive setup no-longer works

Say !setup username password or !bga setup username password in a direct message to the bot or in a channel on which it's listening.  The bot responds with Tell <@!234561564697559041> to fix his bga bot and the following appears in the log:
Traceback (most recent call last):
  File "./src/main.py", line 66, in on_message
    await trigger_bga_action(message, args)
  File "./src/main.py", line 94, in trigger_bga_action
    bga_user, bga_passwd = args[1], args[2]
IndexError: list index out of range

This has been fixed in my testing as of 247bf03. Feel free to reopen if you find differently.


fix concurrent read/write and unmarshal errors

fix unmarshal TargetId field error
fix concurrent read/write error

Thanks, I just released a new version, please check tag v1.9.3.


libxgboost.so: undefined symbol: XGBoosterGetStrFeatureInfo

After compiling 1.5.0 with -DUSE_CUDA = on for Unbuntu 20.04 and installing fir python I get the following attribute error.
Traceback (most recent call last):
  File "model.py", line 236, in <module>
    main()
  File "model.py", line 75, in main
    model.fit(training[features], training[targets])
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/site-packages/xgboost/core.py", line 436, in inner_f
    return f(**kwargs)
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/site-packages/xgboost/sklearn.py", line 747, in fit
    callbacks=callbacks,
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/site-packages/xgboost/training.py", line 197, in train
    early_stopping_rounds=early_stopping_rounds)
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/site-packages/xgboost/training.py", line 51, in _train_internal
    bst = Booster(params, [dtrain] + [d[0] for d in evals])
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/site-packages/xgboost/core.py", line 1195, in __init__
    self._validate_features(d)
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/site-packages/xgboost/core.py", line 2323, in _validate_features
    if self.feature_names is None:
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/site-packages/xgboost/core.py", line 1433, in feature_names
    return self._get_feature_info("feature_name")
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/site-packages/xgboost/core.py", line 1412, in _get_feature_info
    _LIB.XGBoosterGetStrFeatureInfo(
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/ctypes/__init__.py", line 377, in __getattr__
    func = self.__getitem__(name)
  File "/home/jason/anaconda3/envs/gpu_build/lib/python3.7/ctypes/__init__.py", line 382, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /home/jason/anaconda3/envs/gpu_build/lib/libxgboost.so: undefined symbol: XGBoosterGetStrFeatureInfo

I have found this on stack overflow referring to the same attribute:
https://stackoverflow.com/questions/67634576/how-fix-attributeerror-dlsym0x7fa8b0814da0-xgboostergetstrfeatureinfo-symbo

What compiler are you using?  Also, can you confirm that the libxgboost.so file is the one you have just built?

Thanks for the reply.  There are no other copies of libxgboost.so installed.
gcc version 8.4.0 (Ubuntu 8.4.0-3ubuntu2)

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

If libxgboost.so is correct then you might be seeing a compiler bug.  The function is defined here: https://github.com/dmlc/xgboost/blob/86e60e3ba8c7e384da7aecd4e77e2518f5ff7f08/src/c_api/c_api.cc#L1050
And somehow it's not exported in libxgboost.so.  I can't be sure for the moment, but if you want to use latest branch you can try our nightly build.

I checked that there were no cached copies on the system, I cloned the nightly and the now have another error.
Traceback (most recent call last):
  File "model.py", line 236, in <module>
    main()
  File "model.py", line 80, in main
    training[predictions] = model.predict(training[features])
  File "/home/jason/source/xgboost/python-package/xgboost/sklearn.py", line 839, in predict
    validate_features=validate_features,
  File "/home/jason/source/xgboost/python-package/xgboost/core.py", line 1924, in inplace_predict
    ctypes.byref(preds),
  File "/home/jason/source/xgboost/python-package/xgboost/core.py", line 214, in _check_call
    raise XGBoostError(py_str(_LIB.XGBGetLastError()))
xgboost.core.XGBoostError: [10:59:41] /home/jason/source/xgboost/src/c_api/../data/array_interface.h:355: Floating point is not supported.
Stack trace:
  [bt] (0) /home/jason/source/xgboost/python-package/xgboost/../../lib/libxgboost.so(+0x18e45b) [0x7fbf8dd4245b]
  [bt] (1) /home/jason/source/xgboost/python-package/xgboost/../../lib/libxgboost.so(xgboost::ArrayInterface::Initialize(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, xgboost::Json, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, xgboost::Json> > > const&, bool)+0xadd) [0x7fbf8dd5896d]
  [bt] (2) /home/jason/source/xgboost/python-package/xgboost/../../lib/libxgboost.so(XGBoosterPredictFromDense+0x12a) [0x7fbf8dd470ca]
  [bt] (3) /home/jason/anaconda3/envs/gpu_build/lib/python3.7/lib-dynload/../../libffi.so.6(ffi_call_unix64+0x4c) [0x7fbfbdc7b630]
  [bt] (4) /home/jason/anaconda3/envs/gpu_build/lib/python3.7/lib-dynload/../../libffi.so.6(ffi_call+0x22d) [0x7fbfbdc7afed]
  [bt] (5) /home/jason/anaconda3/envs/gpu_build/lib/python3.7/lib-dynload/_ctypes.cpython-37m-x86_64-linux-gnu.so(_ctypes_callproc+0x2ce) [0x7fbfbdc9101e]
  [bt] (6) /home/jason/anaconda3/envs/gpu_build/lib/python3.7/lib-dynload/_ctypes.cpython-37m-x86_64-linux-gnu.so(+0x12a54) [0x7fbfbdc91a54]
  [bt] (7) python(_PyObject_FastCallKeywords+0x48b) [0x555b0edb52db]
  [bt] (8) python(_PyEval_EvalFrameDefault+0x5389) [0x555b0ee07a39]

What data are you passing in?

The data type you passed into XGBoost has a wrong typestr defined in https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.interface.html#array_interface

Or is it something like float 16 or float 128?

The core app has not changed all values are np.float16, the model works with v1.3.3 no gpu which is the default conda installed xgboost lib.  Thanks.

Ah ..  I get it now.
We changed XGBoost to consume data directly in the last version to reduce memory consumption.  So right now XGBoost is trying to access the internal memory of numpy directly.  It doesn't support types that are not defined in C.  I will create a PR to workaround it.

Thanks, let me know if I can help, I am assuming you were referring to v1.4 and above?

Yup.  Before 1.4, everything is converted to f32 first, then make a CSR internal representation.  In 1.4 we tried to eliminate these 2 copies (3 if it's an array slice).  But didn't make the support for types that are not defined in c.

Just to confirm I compiled 1.3.3 with gcc on unbuntu 20.04 with CUDA 10.1 using cmake .. -DUSE_CUDA=ON and it worked beautifully across the GPU's with tree_method='gpu_hist'.  I will wait until 1.5 is updated and close the issue.  Thanks for your help.

Resolved.  Complied and executing with no errors of Unbuntu 20.04, CUDA=10.1.  Thanks heaps.


DCOS-50331: TypeError: Cannot convert undefined or null to object

Add a non-object check and a null check
to the findVip function.
Closes https://jira.mesosphere.com/browse/DCOS-50331
Testing

Go to services tab.
Open the create service modal.
Open the single container service form.
Go to the Networking tab.
Click "Add Service Endpoint".
Click "Enable Load Balanced Service Address" checkbox.
Manually change portDefinitions.labels to null in the JSON Editor.
Verify that no console error is shown.
Verify the same thing for pods.
Verify that the added test makes sense.

Trade-offs
None.
Dependencies
None.
Screenshots
Before

After

oh how i wish we had decoders in dcos-ui...
shall we agree to adopt those before implementing the next form?

shall we agree to adopt those before implementing the next form?

I agree.

:tada: This PR is included in version 2.141.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Position of DxfText is wrong when using HorizontalTextJustification = DxfHorizontalTextJustification.Center

I am using this Dxf library for a mobile app, and I am exporting some lines and points as a DxfFile. I am adding some text to one of the points using the DxfText class, but when I set the HorizontalTextJustification to DxfHorizontalTextJustification.Center, the text position is set to the origin point. Opening the file in notepad, I see the following:
With HorizontalTextJustification set to DxfHorizontalTextJustification.Center:
Point 1
72
1
11
0.0
21
0.0
31
0.0
100
With HorizontalTextJustification not set at all:
Point 1
100
With HorizontalTextJustification not set, the text renders in the correct location, but with the Alignment set to Left.

tl;dr - The behavior is correct according to the spec; verify that you're using the Location property for the text's placement, and not the SecondAlignmentPoint property.
The long version
My understanding of the spec for this case is that it's correct.
Code 72 is the property HorizontalTextJustification which is defined as DxfHorizontalTextJustification where a value of Left = 0, Center = 1, etc.  The property SecondAlignmentPoint corresponds to codes 11/21/31 and the note given in the spec states:

This value is meaningful only if the value of a 72 or 73 group is nonzero (if the justification is anything other than baseline/left)

Where "nonzero" means, "not Left", so a 72 value of 0 (which means Left) indicates that codes 11/21/31 should not be written.
Where you're getting the position defaulting back to the origin means you're likely interpreting the SecondAlignmentPoint property as the text location, but the actual location is specified by codes 10/20/30 which corresponds to the Location property.


feat: getter of kernel and NFS mount config

Which issue(s) this PR fixes:
Issue longhorn/longhorn#9830
What this PR does / why we need it:
We need to check NFS version information both in preflight checker and the node controller in LH manager. This PR provide the common logic for the above checks.
Special notes for your reviewer:
Additional documentation or context

Hi @derekbit @c3y1huang, need your help to review this PR, which is the common logic shared by preflight check & node controller, thanks.


Test-kit for ZIO CLI

Testing a CliApp can't be done outside ZIO CLI in an easy and exhaustive manner due to encapsulation, so a test-kit would greatly boost the usability of the library for other ZIO libraries and ZIO CLI users.
It might comprise (ideally):

[ ] A suite accepting pairs of (command, corresponding value produced) and checking if the command produces the correct value.
[ ] A suite accepting pairs of (command, a test for the ZIO effect used in the cliApp).
[ ] Some tools to easily construct generators of pairs.

Less important but nice to have:

[ ] A suite testing the graphical output (mainly for testing ZIO CLI).
[ ] A suite testing the effect of the CliApp in common situations like Console output or interaction with the file system.

I intend to adress soon the general structure and maybe the first two points, but any help is appreciated!

/bounty $200

/attempt #256


WFLY-16529: Upgrade HAL to 3.6.1.Final

https://issues.redhat.com/browse/WFLY-16529

/retest

@darranl Some Jobs were complaining about errors related to CI infrastructure so there was a long list of failed tests on some of them. I saw the convenience to trigger them all again.

@darranl, @yersan It might be that the test failures were related to dependency issues. I released HAL 3.6.1.Final to Maven Central and it usually takes some time until the artifacts arrive there.


Add giles to contributors

Just going through the flow to make sure I have git and everything else set up

Woo! Welcome back. 🎉


Add merch promotions page

This PR adds the merch promotion page.

Ticket: https://github.com/orgs/ntuscse/projects/3/views/1?pane=issue&itemId=54339078

Thank you for your help!! @limivann


Fix Time return of drag and resize event

When time zone change, resize and drag return wrong time

:tada: This issue has been resolved in version 1.36.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Bhantsi updates

What does this PR do?
Remove Prof. Yemi Osinbajo, because he is not the president and fix some grammar and inaccurate information like party and years in power.

Thank you


[DOCS]:  Add wording to Text splitting & Chunking Preferences to explain current strategy

Description
Team, great project thx. Just getting up to speed. I have been struggling with understanding the appropriate strategy for chunking for my data. While I have no doubt there is a plan to add alternative chunking strategies in the short term I wanted to check you are ok with me doing a pull request to add some wording to the ext splitting & Chunking Preferences tab to explain that it uses LangChain's RecursiveCharacterTextSplit and a link to an explanation of that strategy - I am happy to do the pull request. Again awesome project - well done

I think a small link in the UI would be appropriate, but moreso a new page on a new page in the https://docs.useanything.com/anythingllm-setup/embedder-configuration/overview page to explain more would be the best solution.
Those docs are open source so lengthy or wordy descriptions should for sure be offloaded there! https://github.com/Mintplex-Labs/anythingllm-docs


Remove a disabled GCC warning now that LLVM doesn't hit it.

LLVM's code is fixed in https://reviews.llvm.org/D87755
Once that lands, this warning doesn't need to be disabled here. This is
particularly nice because it stops GCC from complaining when we try to
disable it in C compilations.

Not working on this any more as the warnings have been moved to a less problematic place.


[🐞] Script 0:0 in Safari Mobile

Which component is affected?
Qwik Runtime
Describe the bug
My website constantly crashes in Safari Mobile. We used eruda and found out that we get these errors in the console:
Error: Script error.
    at :0:0

I checked the view source and realized that do have empty <script tags. For example:
<script on-document:qcinit="q-Ct-gw6dj.js#s_Zo4wsVM0Ivk" on-document:qinit="#0" q:key="BV_1"></script>

I don't know if they are commented out or not.
Reproduction
https://blck.menutime.co/
Steps to reproduce
No response
System Info
System:
    OS: Linux 6.8 Debian GNU/Linux 12 (bookworm) 12 (bookworm)
    CPU: (8) x64 Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
    Memory: 9.41 GB / 15.50 GB
    Container: Yes
    Shell: 5.2.15 - /bin/bash
  Binaries:
    Node: 22.12.0 - /usr/local/bin/node
    Yarn: 1.22.22 - /usr/local/bin/yarn
    npm: 10.9.2 - /usr/local/bin/npm
  npmPackages:
    @builder.io/partytown: ^0.10.2 => 0.10.2
    @builder.io/qwik: ^1.11.0 => 1.11.0
    @builder.io/qwik-auth: ^0.2.2 => 0.2.2
    @builder.io/qwik-city: ^1.11.0 => 1.11.0
    typescript: ^5.6.3 => 5.7.2
    undici: ^7.1.0 => 7.1.0
    vite: ^5.4.11 => 5.4.11

Additional Information
No response

Those script tags are intentional and should be ok.
Can't you attach the safari devtools and have it breakpoint on exceptions?

@wmertens, I will do that. That seems to be the last choice. Yet it seems that Safari is very strict about HTML. For example we had a problem of href without rel and Safari was the only browser complaining about it and throwing errors. Is it possible for you to fill those script tags with simple dummy JS? Something like const dummy = 0; would suffice I guess.


Add an option to respect the tags while using "allBlocks"

When I generate using "allBlocks" option, I get a changelog that holds everyting from the from to HEAD and uses just the latest version information from the package.json as the header for everything it found the logs.
I need to rebuild my log on every build, so I would like to have all the GIT-tags I set taken into account when generating the log.
My options:
{
    // Task-specific options go here.
    from : '1.0.0',
    allBlocks: true
}

are you using the latest alpha version? from option should go into git-raw-commits and allBlocks should go to conventional-changelog-writer.

I think you want to generate all blocks from a committish? If so, you need to manually set from option for git-raw-commits and allBlocks for this module. Closing now. If you have problem please reply to this thread and we can reopen. Thanks.


Added: front settings to backend config

 Frontend config to back-API

 Frontend config to back-API


ISSUE: M+P sensors are unavailable

Describe the bug
Whilst running v0.3.2-b4 my sensors became unavailable.
After a server reboot didn't fix the issue, I removed the integration from Configuration>Integration and reinstalled what was the latest beta version 0.3.2-b4. After a restart,  I readded the integration and my sensors were recreated. They, unfortunately, showed as unavailable still.
I removed the integration again and reinstalled v0.3.1 and after a restart, I configured the integration, and my sensors were again readded but still showed as unavailable.
I then repeated the procedure again and went to beta 4 but the sensors still showed as unavailable when recreated. I am now on the latest beta 0.3.2-b5 and the issue is the same.
The logs initially showed an issue with reaching my email, but I can configure the component and it sees all my mail folders, so I don't think this is an issue, then it was talking about the USPS and Amazon camera's and now the error visible in the log is about sensor.py
Environment (please complete the following information):

OS: HassOS 5.12
Type of device: ProxMox VM
Home Assistant version: core-2021.3.4, supervisor-2021-03.6
Component version: 0.3.2-b5

Logs
2021-03-24 20:38:11 INFO (MainThread) [custom_components.mail_and_packages] Version 0.3.2-b5 is starting, if you have any issues please report them here: http://github.com/moralmunky/Home-Assistant-Mail-And-Packages2021-03-25
2021-03-24 20:38:15 ERROR (MainThread) [custom_components.mail_and_packages] Error fetching Mail and Packages (outlook.office365.com) data: Expected list, got <class 'str'>

00:05:33 ERROR (MainThread) [homeassistant.helpers.entity] Update for camera.mail_usps_camera fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 277, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 473, in async_device_update
    raise exc
  File "/config/custom_components/mail_and_packages/camera.py", line 175, in async_update
    self.update_file_path()
  File "/config/custom_components/mail_and_packages/camera.py", line 124, in update_file_path
    image = self._coordinator.data[ATTR_IMAGE_NAME]
TypeError: 'NoneType' object is not subscriptable
2021-03-25 00:05:33 ERROR (MainThread) [homeassistant.helpers.entity] Update for camera.mail_amazon_delivery_camera fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 277, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 473, in async_device_update
    raise exc
  File "/config/custom_components/mail_and_packages/camera.py", line 175, in async_update
    self.update_file_path()
  File "/config/custom_components/mail_and_packages/camera.py", line 134, in update_file_path
    image = self._coordinator.data[ATTR_AMAZON_IMAGE]
TypeError: 'NoneType' object is not subscriptable

2021-03-25 00:05:38 INFO (MainThread) [custom_components.mail_and_packages] Fetching Mail and Packages (outlook.office365.com) data recovered
2021-03-25 00:05:38 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 126, in _handle_refresh_interval
    await self.async_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 200, in async_refresh
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 260, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 295, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 322, in _async_write_ha_state
    attr.update(self.device_state_attributes or {})
  File "/config/custom_components/mail_and_packages/sensor.py", line 98, in device_state_attributes
    elif "_delivering" in self.type and tracking in self.data.keys():
2021-03-25 10:50:13 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 126, in _handle_refresh_interval
    await self.async_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 200, in async_refresh
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 260, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 295, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 322, in _async_write_ha_state
    attr.update(self.device_state_attributes or {})
  File "/config/custom_components/mail_and_packages/sensor.py", line 98, in device_state_attributes
    elif "_delivering" in self.type and tracking in self.data.keys():
AttributeError: 'NoneType' object has no attribute 'keys'
2021-03-25 10:55:15 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 126, in _handle_refresh_interval
    await self.async_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 200, in async_refresh
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 260, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 295, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 322, in _async_write_ha_state
    attr.update(self.device_state_attributes or {})
  File "/config/custom_components/mail_and_packages/sensor.py", line 98, in device_state_attributes
    elif "_delivering" in self.type and tracking in self.data.keys():
AttributeError: 'NoneType' object has no attribute 'keys'
2021-03-25 11:00:17 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 126, in _handle_refresh_interval
    await self.async_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 200, in async_refresh
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 260, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 295, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 322, in _async_write_ha_state
    attr.update(self.device_state_attributes or {})
  File "/config/custom_components/mail_and_packages/sensor.py", line 98, in device_state_attributes
    elif "_delivering" in self.type and tracking in self.data.keys():
AttributeError: 'NoneType' object has no attribute 'keys'
2021-03-25 11:20:25 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 126, in _handle_refresh_interval
    await self.async_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 200, in async_refresh
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 260, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 295, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 322, in _async_write_ha_state
    attr.update(self.device_state_attributes or {})
  File "/config/custom_components/mail_and_packages/sensor.py", line 98, in device_state_attributes
    elif "_delivering" in self.type and tracking in self.data.keys():
AttributeError: 'NoneType' object has no attribute 'keys'

Screenshots

Additional context
The integration last worked about 4-5 days ago.
As an aside, I really like the Amazon camera for no deliveries

Please enable debugging so we can get a more accurate picture of what's going on.

Not sure what is going on, I changed the log level to debug as requested, restarted the HA server to activate the debug logs and the sensors have started working again???

I have uploaded the logs to Pastebin in case you want to look at them - https://pastebin.com/q3VQRp0A

Sounds like there were issues checking your email with office365.com, which looks fixed now.
Unavailable sensors showing up is normal when there's a problem checking your email, they go back to normal once your email is accessible once again.

Oh, ok thank you


Voice channel per puzzle

Requested by Max -- this will be important when working remotely. They should be GC'ed once solved.

@rawxfish outlined a plan in https://github.com/cardinalitypuzzles/smallboard/issues/186#issuecomment-732468949
The current proposal for voice chat is to have a pool of voice channels and reuse them accordingly. As sushi mentioned, we should probably document a naming convention/policy for voice channels to keep things organized.

Duplicate of #186. Don't think this tracks anything different from that one.

Duplicate of #186


Removed dependencies

Was able to replace all dependencies except yaml with native node functionality, paring node_modules down to 3.8MB.
replaced js-yaml with yaml, lighter lib for same functionality.

Thanks!  Curious, @lastguest do you own the npm package as well?

Sadly, not anymore.
@Jei can you publish the latest update? Tnx!


Allow read_surfrad to parse http files

[x] I am familiar with the contributing guidelines
[x] Tests added
[ ] Updates entries in docs/sphinx/source/reference for API changes.
[x] Adds description and name entries in the appropriate "what's new" file in docs/sphinx/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
[x] New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
[x] Pull request is nearly complete and ready for detailed review.
[x] Maintainer: Appropriate GitHub Labels and Milestone are assigned to the Pull Request and linked Issue.

A StackOverflow user pointed out that the SUFRAD files are not only accessible from the FTP server but also via HTTPS links. This PR updates the read_surfrad function to allow for parsing remote HTTP files.

@kanderso-nrel Is a whatsnew entry needed?

@kanderso-nrel Is a whatsnew entry needed?

I can imagine a user being interested in this change, so I'd vote yes to a whatsnew entry :)

Here's the response I got from Chris Cornwall from NOAA in regards to the reason for the SURFRAD files being available on both the FTP server and the new HTTP index:

HTTP access to our FTP data was set up a couple years ago because more and more web browsers ended support for the FTP protocol, in the interest of security. As you noticed, the same data are available on our aftp.cmdl.noaa.gov server as through the web link https://gml.noaa.gov/aftp/data/radiation/surfrad/
The reason for duplicate directories for the SURFRAD permanent locations is for backward compatibility to the old FTP data directory structure. The 3-letter site abbreviations are actually symbolic links on the server, pointing to their longer-named counterparts: dra -> Desert_Rock_NV, for example.

any reason this is still sitting here?

I think it was just needing a second review. Feel free to merge.

Thanks @AdamRJensen!


📊 grapher/regions/latest: Add income group information

This is working towards https://github.com/owid/owid-grapher/issues/3517.
This is adding the 4 WB income groups as rows to the regions.csv file which is only consumed by owid-grapher.
These rows get the new entity type income_group, which we will then handle in grapher. We mostly care about the members of these income groups; and for these to be up to date, we will want to update this step to use the latest wb/.../income_groups classification once a new one becomes available.
This also assigns new entity codes to these four regions: OWID_WB_LIC, OWID_WB_LMC, OWID_WB_UMC, OWID_WB_HIC. The last part of these are the official 3-letter codes that the WB uses for these entities.
Changing these entity codes in the future is going to be a major pain, so please let me know if you would want to use different ones instead.

The output of this step can be found here: http://staging-site-grapher-regions-income-groups:8881/grapher/regions/latest/regions/regions.csv

Hi @marcelgerber, regarding codes for income groups, in other places of OWID I have seen "OWID_LIC", "OWID_LMC", "OWID_UMC", "OWID_HIC", for example in FAOSTAT. I don't think those codes are relevant, but it makes me think that maybe these codes have been used also elsewhere, so maybe it's safer to stick to them.
This PR is in conflict with https://github.com/owid/etl/pull/2534. So let me think about both proposals and decide about a good solution.

Sure, I'll change the entity codes then to keep them consistent. Let me know how you want to proceed in regards to #2534.

Sure, I'll change the entity codes then to keep them consistent. Let me know how you want to proceed in regards to #2534.

Don't worry about it. I've created another PR with a different logic: https://github.com/owid/etl/pull/2587
I'll discuss it tomorrow in the data architecture call and then decide which approach to take.

I'd suggest closing this PR, and instead go with https://github.com/owid/etl/pull/2587 (we can discuss it later).
Note that the resulting file you could use in grapher would be http://staging-site-create-external-channel:8881/external/owid_grapher/latest/regions/regions.csv

Nice. I've read through your proposal, and all of it makes a lot of sense to me. Thank you for thinking this through!

Hey @marcelgerber you can now access the regions data in https://catalog.ourworldindata.org/external/owid_grapher/latest/regions/regions.csv
Please let me know if there's any issue or you want to change anything there, thanks!


Support for non-numeric data points for visualisation in Grafana

I have a Rockset data source added to my Grafana server. While performing the query, the query was only able to return the numeric data. We contacted Rockset support regarding the same and found out that the Rockset plugin for Grafana currently doesn't support the non-numeric fields for visualizations.
We are raising this feature request to implement this feature in rockset plugin for grafana, thus it will be easy to visualize, the dashboards in the form of table will be great.

this was addressed in the v0.3.0 release

Hello @pmenglund I installed the v0.3.0 cli, and checked the access the non-numeric data, but I was unable to get the non-numeric data. It returned error as "no usable column found".
Here I have attached the artifacts for same.


No result with set_current_mission_item_async

There was a report that set_current_mission_item_async does not call the callback at all.
This needs fixing and we also need an integration tests checking it.
    int current = 4;
    auto prom = std::make_shared<std::promise<Mission::Result>>();
    auto future_result = prom->get_future();
    std::cout << "Setting current mission item..." << std::endl;
    mission->set_current_mission_item_async(current,
    [prom](Mission::Result result) {
        prom->set_value(result);
    });    const Mission::Result result = future_result.get(); //Wait on result    if(result == Mission::Result::SUCCESS){
        std::cout << "OK" << std::endl;
    }else{
        std::cout << "NOK" << std::endl;
    }

This bug doesnt seem it is for a beginner

https://discuss.px4.io/t/mavsdk-clear-mission-async-callback-never-gets-called/17686 seems to be a report that clear_mission_async doesn't call the callback either. Maybe related?

Maybe related?

Yes, maybe. Would you mind linking this issue from the discuss thread? :blush:

Sure thing, will do.

Fixed by #1006, and covered by an integration test in 1264.


LiveShare disables code coloring with the latest update

VS Code Version:
Version: 1.56.0
Commit: cfa2e218100323074ac1948c885448fdf4de2a7f
Date: 2021-05-04T22:06:21.189Z (5 days ago)
Electron: 12.0.4
Chrome: 89.0.4389.114
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 20.1.0
OS Version: Mac Os Big Sur
11.0.1 (20B29)

Steps to Reproduce:

Install Live-Share plugin.
Join a session (as a participant, not as the host)
You will see the code being shared as white text. The ide does not colorize the code while in a liveshare session as a participant.

Does this issue occur when all extensions are disabled?: Yes/No

@JacksonKearl sorry for the late reply
this issue is still present
as for your question this is what I see in my status bar


[Bug]: OpenAIWrapper file path incorrect

Describe the bug
from autogen import OpenAIWrapper is not calling the correct file path resulting in an error when running autogen.
Steps to reproduce
in your main project call the autogen class
from autogen and import UserProxyAgent
an error will occur
Traceback (most recent call last):
from autogen import OpenAIWrapper
ImportError: cannot import name 'OpenAIWrapper' from 'autogen' (/Users/admin/anaconda3/envs/jna/lib/python3.11/site-packages/autogen/init.py)
Expected Behavior
The error should not have appeared and should just execute the command.
Screenshots and logs
No response
Additional Information
AutoGen Version: v0.2.2
Operating System: MacOS
Python Version: 3.11.5

Are you by chance installing autogen via pip install -e

uninstalling autogen and installing pyautogen should solve this issue. #949 is not needed.

@Celestialchips could you try reinstalling and see if that fixes your issue?

Closing this issue due to inactivity. If you have further questions, please open a new issue or join the discussion in AutoGen Discord server: https://discord.com/invite/Yb5gwGVkE5


HMR not working

I'm submitting a ...
[ ] bug report

What is the current behavior?
HMR not works

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem
git clone
npm install
node run start:hmr
and change something in any component

What is the expected behavior?
working hmr

Please tell us about your environment:

Angular version: 2.0.0-rc5
Browser: Chrome, firefox
[dm@dm ~]$ npm -v
3.10.6
[dm@dm ~]$ node -v
v6.4.0
Archlinux

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)
Bug after update to rc5.
Chrome:
webpack-hmr.ts:89 Uncaught TypeError: Cannot read property 'nativeElement' of undefined
(anonymous function) @ webpack-hmr.ts:89hot
Apply @ bootstrap 294a89d…:456
hotUpdateDownloaded @ bootstrap 294a89d…:326
hotAddUpdateChunk @ bootstrap 294a89d…:306
webpackHotUpdateCallback @ bootstrap 294a89d…:27
(anonymous function) @ 4.294a89d….hot-update.js:1
Firefox:
TypeError: COMPONENT_REF.location is undefined
hotModuleReplacement/<()
vendor.bundle.js:65169
hotApply()
polyfills.bundle.js:458
hotUpdateDownloaded()
polyfills.bundle.js:328
hotAddUpdateChunk()
polyfills.bundle.js:308
webpackHotUpdateCallback()
polyfills.bundle.js:29

4.bcaccc3d807df08ae3c8.hot-update.js:1
vendor.bundle.js:65169:14

+1 same issue and same environment

I updated the repo a bit more. Can you check again?
https://github.com/AngularClass/angular2-webpack-starter/issues/878

Now worse then before.
main.browser.ts:49TypeError: Cannot read property 'state' of undefined     at AppModule.hmrOnInit (http://localhost:3001/main.bundle.js:278:30)     at http://localhost:3001/main.bundle.js:581:50     at ZoneDelegate.invoke (http://localhost:3001/polyfills.bundle.js:15454:30)     at Zone.run (http://localhost:3001/polyfills.bundle.js:15347:45)     at http://localhost:3001/polyfills.bundle.js:15713:59     at ZoneDelegate.invokeTask (http://localhost:3001/polyfills.bundle.js:15487:39)     at Zone.runTask (http://localhost:3001/polyfills.bundle.js:15387:49)     at drainMicroTaskQueue (http://localhost:3001/polyfills.bundle.js:15619:37)     at HTMLDocument.ZoneTask.invoke (http://localhost:3001/polyfills.bundle.js:15559:27)
Right after page loaded
clean install

Can you try again

better. Error duaring apply hmr
Error: do not mutate the .state directly(…)(anonymous function) @ main.browser.ts:49ZoneDelegate.invoke @ zone.js:332Zone.run @ zone.js:225(anonymous function) @ zone.js:591ZoneDelegate.invokeTask @ zone.js:365Zone.runTask @ zone.js:265drainMicroTaskQueue @ zone.js:497

Also I think you forget delete log app.module.ts:53 HMR store Object {state: Object}state: Object__proto__: Object__proto__: Object

Same problem here, someone has the solution? :confused:

ok sorry about that it should be fixed
https://github.com/AngularClass/angular2-webpack-starter/commit/1afe8da4761788a683c2ef0e919b6d643fdf7039

Thanks for your quick response :smile: ! But I still have a problem, when I change some file (html, css or whatever) some text disappear ... and I need to reload my page to refresh the view. Some ideas? :confused:

Up ?

did you update your repo copy with the latest changes?
https://github.com/AngularClass/angular2-webpack-starter/blob/199bb8c0e3d345ec89ba9d3c179ca186bbc2e3db/src/app/app.module.ts#L49...L72
Also note how it works. I'm manually updating a store with the state then running change detection with ApplicationRef#tick()


Update some verbiage on Modifiers page

Feature Request
This should say keyword value, as its a value your highlighting in the keyword

"Highlight a word to label it as a keyword value."

Closed by 7d055a5490c2fe53cfba5f2d2fa6bd6923b36896


should rewrite getByte(c) without try-catch

https://github.com/shaneGirish/bcrypt-nodejs/blob/master/bCrypt.js#L235
http://jsperf.com/try-catch-performance-overhead
and it pollutes debugging with extra exceptions being thrown

If you want performance, maybe you should take a look at Twin-Bcrypt.


Proposal: Allow overloading +=, -=, *=, /=, %=, &=, |=, ^= for structs

My proposal is to allow the following construct:
struct SomeStruct
  def +=(obj)
    # does the sum in-place, changing self
  end
end

This would allow for better optimization on some numeric classes, specially BigInt. Currently this creates a temporary: big1 += big2, or even big1 += 1. It could be implemented more efficiently. Look:
struct BigInt
  def +(other : BigInt) # unchanged
    BigInt.new { |mpz| LibGMP.add(mpz, self, other) }
  end

  def +=(other : BigInt)
    LibGMP.add(self, self, other)
  end

  def +(other : Int) # unchanged
    if other < 0
      self - other.abs
    else
      BigInt.new { |mpz| LibGMP.add_ui(mpz, self, LibC::ULong.cast(other)) }
    end
  end

  def +=(other : Int)
    if other < 0
      self -= other.abs
    else
      LibGMP.add_ui(self, self, LibC::ULong.cast(other))
    end
  end
end

I believe this would be a huge optimization for BigInt (this is how GMP is meant to be used).
This overload would only be possible on structs, not classes, to preserve semantics.
a = SomeClass.new
b = a   # 'a' and 'b' refer to the same object
b += 1  # 'a' should not be affected, so calling a method here makes no sense
a == b  # false

a = SomeStruct.new
b = a   # 'a' and 'b' do not refer to the same object, copy was made
b += 1  # we can call the method overload here, 'a' will not be affected
a == b  # false

And they would be callable on self, only inside a struct, so the following is possible, but only if the method was defined:
self += 3
# If += is defined, this calls it
# Otherwise, this is a syntax sugar for self = self + 3,
#                                      which makes no sense and should error.

The main point of this is to allow more library optimizations while still maintaining all the semantics and expressiveness we love of Crystal.

The issue with this is that it's a huge semantic discrepancy. a <op>= b is defined and known to be syntax sugar for a = a <op> b. a <op> b for +, -, /´, *` is known to create a new object.
Consider this:
def add_maybe(a, b)
  a += b if [true, false].sample
  a
end

n = 1
m = 2
s = BigInt.new(1)
t =  BigInt.new(2)

o = add_maybe(n, m)
p = add_maybe(s, t)

n #=> 1
m #=> 2
o #=> 1, 3

s #=> 1, 3
t #=> 2
p #=> 1, 3

That's quite subtle and unexpected. But then introducing own operators for BigInt is ugly too, so I'm not sure about the proper way to solve this, but I think this creates more problems than it solves tbh.

I also thought about this and came to the same conclusion as jhass.
One solution that's not very nice, but works, it to define add, mult, etc., methods that change self. They can be documented and although they are longer to type, it's not a lot and you generally do these ops in a single line:
a += 1
# vs.
a.add(1)

a *= 2
# vs.
a.mult(2)

I know the above starts to smell like Java, but this is an intermediate solution that doesn't have big surprises and should work well. Plus the scenarios where this is usually needed is for BigInt and such. For regular structs it doesn't matter if a copy is created because LLVM can optimize that.

@jhass This was kind of unexpected to me. Structs are passed by value, so a change in a should not affect s at all. The problem is that BigInt does not "own" its data,  both "a" and "s" will end up having pointers to the same data.
require "big_int"

struct BigInt
  def add(other : BigInt)
    LibGMP.add(self, self, other)
  end
end

def sum(a : BigInt, b : BigInt)
  a.add(b)
  a
end

a = BigInt.new(1)
b = BigInt.new(2)
c = sum(a, b)
p a
p b
p c

I really believe this should print 1,2,3. But it doesn't.
This other issue can be fixed by letting BigInt know when it is being copied, so that no two BigInts share the same data. This is analogous to C++'s copy constructor. And we could avoid coping BigInts everywhere by implementing copy-on-write on it.
If this copy semantics holds, then it is just a matter of renaming add to += and everything should be nice.
Those concepts  aren't really meant for general usage, only for performance critical codes and for library writers. Seems reasonable?

If we start adding copy constructors, pass by reference, etc., the language will become really complex and I wouldn't like that.
I don't know why the above example is broken, it probably depends on how libgmp implements its stuff. Maybe changing the pointed data is not good. For example I tried this program and it gives a really weird result.
This means that you have to be very careful on how you operate these things. So if you have a tight loop where you need this kind of efficiency, I would do these unsafe things. But I wouldn't add many complex constructs to the language just for this reason.
In the long run we could implement BigInt ourselves, like in other languages, so we could handle these things more efficiently.

@asterite I fully agree that the language should not get complex with this kinds of constructions, but:
What ever way we decide to implement BigInt, it will always hold a pointer to heap data, and coping the BigInt will always simply copy the pointer and not the data the pointer points to. This holds for any struct  that hosts pointers and in the end you have some structs that passes by reference and some that passes by value.
struct SomeStruct
	def initialize
		@data = Pointer(Int32).malloc(1)
		@data.value = 1
		@value = 1
	end
	def add(v)
		@data.value += v
		@value += v
	end
	def value
<EMAIL_ADDRESS>@value]
	end
end

a = SomeStruct.new
b = a

a.add(1)
b.add(1)

p a.value
p b.value

What would be the expected behavior here? By knowing that structs copy by value, I would expect [2, 2] and [2, 2], and not [3, 2] and [3, 2] to be printed. And currently there is no way to fix this, and the struct is working just like a plain reference class.

I'm not sure why http://play.crystal-lang.org/#/r/f1z gives this wired result, some bug/misuse somewhere else? I'll try to find what is going on here.

Maybe we can use copy (or dup, I never know) for this:
a = SomeStruct.new
b = a     # actually does  b = a.clone

Elaborating more the clone proposal: it should implicitly call clone when:

A variable is set from a named struct value (i.e. from a variable) of type struct

a = SomeStruct.new   # do not call clone
b = a                # do b = a.clone

A non-local variable or self in a struct is returned from a method

struct X
  def m1
    @x = SomeStruct.new       # returns @x.clone
  end
  def m2
   self                       # returns self.clone
  end
  def m3
    x = SomeStruct.new        # returning local variable, do not call clone
  end
  def m4
    SomeStruct.new            # returning unnamed, do not call clone
  end
end
x = X.new
a = x.m1     # Assigning to unnamed value, no need to clone here
b = x.m2     # Ditto
c = x.m3     # Ditto
d = x.m4     # Ditto

A method is called with named struct values as parameters (or 'self' if inside a struct)

def m(a, b, c)
  return a      # 'a' is a local variable, so it won't clone, even if 'a' is a struct
end

struct SomeStruct
  def stuff
    x = BigInt.new("1")
    m(x, BigInt.new("2"), self)    # this does m(x.clone, BigInt.new("2"), self.clone)
  end
end

In short: Call clone when it is known that the object may out-live the expression.
Note that now the implementation of Object#clone cannot be
class Object
  def clone
    self      # infinite recursion here!!
  end
end

Instead it would have to be something like this:
class Object
  def clone
    return self if is_a? Reference
    cloned :: typeof(self)
    # except that you can't cast a struct object to Void* neither do pointerof(self)
    # come on, I just want to read from it :(
    Intrinsics.memcpy((pointerof(cloned) as Void*), (pointerof(self) as Void*),
                      instance_sizeof(self).to_u32, 0_u32, false)
    return cloned    # returning local variable, won't call cloned.clone
  end
end

May seems to be inefficient, but I believe this would be trivially optimized out everywhere. Another way of doing it is providing a magical compiler intrinsic that returns self without cloning, but seems like cheating.
This kind of customization of the copy behavior is mandatory for any Struct that want to store a pointer to mutable data, just like BigInt. What do you guys think? Am I pushing too far?

I like the concept of clone() being called on assigns of struct vals. Definitely a must with some hook like that to handle the internal pointer cases.

I'm closing this. If we go down this route the language will become too complex, with many implicit methods being called under the hood. And anything implicit, which can't be seen, is hard to debug and understand.
For BigInt I think I'll add add, mul, div, sub methods that will modify self and could be used when you really need that performance (in intensive math computation where you want to avoid allocating many objects). Yes, it'll look a big ugly, but the whole language remains simple.


Windows dart run wasm:setup fail

Result
D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example> dart run wasm:setup
Dart SDK directory: D:\developSoftware\flutter\fvm\versions\3.0.4\bin\cache\dart-sdk\
Dart SDK include directory: D:\developSoftware\flutter\fvm\versions\3.0.4\bin\cache\dart-sdk\include\
Source directory: C:\Users\joahyan\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\wasm-0.1.0+1\bin\
Output directory: D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example\.dart_tool\wasm\
Target: x86_64-pc-windows-msvc
OS: windows
Output library: D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example\.dart_tool\wasm\wasmer.dll

cargo build --target x86_64-pc-windows-msvc --target-dir D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example\.dart_tool\wasm\ --manifest-path C:\Users\joahyan\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\wasm-0.1.0+1\bin\Cargo.toml --release

    Finished release [optimized] target(s) in 0.87s

clang -DDART_SHARED_LIB -DNDEBUG -fno-exceptions -O3 -target x86_64-pc-windows-msvc -I D:\developSoftware\flutter\fvm\versions\3.0.4\bin\cache\dart-sdk\include\ -I D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example\.dart_tool\wasm\include\ -c D:\developSoftware\flutter\fvm\versions\3.0.4\bin\cache\dart-sdk\include\dart_api_dl.c -o D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example\.dart_tool\wasm\dart_api_dl.o

FAILED with exit code 2 `clang -DDART_SHARED_LIB -DNDEBUG -fno-exceptions -O3 -target x86_64-pc-windows-msvc -I D:\developSoftware\flutter\fvm\versions\3.0.4\bin\cache\dart-sdk\include\ -I D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example\.dart_tool\wasm\include\ -c D:\developSoftware\flutter\fvm\versions\3.0.4\bin\cache\dart-sdk\include\dart_api_dl.c -o D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example\.dart_tool\wasm\dart_api_dl.o`
PS D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example>

What happens if you try running that failing command manually? (hopefully it will give us a more useful error message)
clang -DDART_SHARED_LIB -DNDEBUG -fno-exceptions -O3 -target x86_64-pc-windows-msvc -I D:\developSoftware\flutter\fvm\versions\3.0.4\bin\cache\dart-sdk\include\ -I D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example\.dart_tool\wasm\include\ -c D:\developSoftware\flutter\fvm\versions\3.0.4\bin\cache\dart-sdk\include\dart_api_dl.c -o D:\developSoftware\flutter\workspace\surnote\plugin\demo\master\flutter-quill\example\.dart_tool\wasm\dart_api_dl.o


Canvas renderer leaks context state between layers

How to reproduce

Leaflet version I'm using: 1.3.4
Browser (with version) I'm using: Chrome 69
OS/Platform (with version) I'm using: Ubuntu 14.04
Using react-leaflet

What behaviour I'm expecting and which behaviour I'm seeing
I currently run into a situation with Canvas renderer where my polylines and polygons are not rendered with the correct dashArray. Sometimes lines with a specified dashArray are rendered without one and lines without one are rendered with one. I wish I could reproduce this with a small example but I can't seem to figure out how to reproduce it exactly (I'm using react-leaflet 1.1.4 for what it's worth).
What seems to be happening is that the settings in https://github.com/Leaflet/Leaflet/blob/da6f20d2d78f9bcb35ff033f7f5744a8e91fbdf4/src/layer/vector/Canvas.js#L314-L334
are being leaked between successive calls. From what I can tell, Canvas renderer attempts to isolate the state between calls in _draw using ctx.save() and ctx.restore(). However in my application, multiple calls to fillStroke are made in a single _draw call (which is called exactly once per map update). If I use ctx.save() and ctx.restore() in _fillStroke, the problem goes away

Hi,
Thank you for using Leaflet.
Please can you provide a Plunker that reproduces that issue, without any wrapper library?
(no react, etc.)

With a bit of digging, I found what the issue is!
https://next.plnkr.co/edit/hhRnU8AT3rQQMvBt
Somewhere in our code, we're passing 'none' as our options.dashArray. This is parsed as [NaN] in _updateDashArray. This actually makes it all the way to the canvas rendering context and when the context receives an invalid argument for setLineDash, it ends up keeping the old state.
This is easily fixable from our end by simply not passing invalid values to dash array. However this could still be considered a bug because this canvas and SVG render inconsistently for the same value of dashArray.
PS: I found another issue (unrelated?), where the dashArray wouldn't work if I omitted the commas i.e. '5 5' instead of 5, 5. I haven't been able to replicate this yet however.

Thank you for your investigation! :+1:
As for the issue with space-separated values, see https://github.com/Leaflet/Leaflet/issues/6277 (fix should be in Leaflet 1.3.4)

I confirm that exiting _updateDashArray in case dashArray option is "none" (or illegal values) avoids the bug:
https://next.plnkr.co/edit/QBAL7SQ4dkvpXqZd


Disable unfold when hover

When working on a large file, I sometimes like to fold everything and focus only on one section/function/class.
I use the vim extension and when my cursor passes over a part of a folded section, vscode unfolds it.

Is there any way to disable this feature?

See VSCodeVim/Vim#1004 and https://github.com/VSCodeVim/Vim/issues/4517#issuecomment-592535396

Thanks, "vim.foldfix": true solved my problem. Sorry for the issue not directly related to vscode.


Improve "issued by" filter for Build list API

Allow filtering by groups
Improve filter labelling
Refactor "assigned_to" filter

@SchrodingersGat is this changing default behaviour?

@matmair slightly - the "issued by" filter now accepts owners (user or group) rather than simply user. Not a significant change really, but I'll mark is as breaking so it gets visibility in the release.


pan gesture stops all animations in panels.

Reason of this behavior is removeAnimationsRecursively called in
- (void)startInteractiveTransition:(id<UIViewControllerContextTransitioning>)transitionContext
- (void)removeAnimationsRecursively:(CALayer *)layer
removes all animations in all subviews

HI. Is there a fix for this issue? Thanks


Add Keyvault Support

The Connect-HaloAPI function in this PowerShell module is used to establish a connection to a Halo instance. This function can use either client credentials (ClientId and ClientSecret) or Managed Identity or Service Principal (when using Azure Key Vault) for authentication. The function can also save the credentials to Azure Key Vault for future use. Parameters
URL: The URL of the Halo instance to connect to.
ClientID: The Client ID for the application configured in Halo.
ClientSecret: The Client Secret for the application configured in Halo.
Scopes: The API scopes to request. If this isn't passed, the scope is assumed to be "all". Pass a string or array of strings. Limited by the scopes granted to the application in Halo.
Tenant: The tenant name required for hosted Halo instances.
AdditionalHeaders: Hashtable containing additional parameters to be sent with each request.
UseKeyVault: If $true, retrieve parameters from Azure Key Vault. If $false, use parameters passed to function.
SecretName: The name of the secret in the Azure Key Vault.
VaultName: The name of the Azure Key Vault.
SaveToKeyVault: If $true, save parameters to Azure Key Vault. If $false or not specified, do not save parameters.
Identity: The object ID of the Managed Identity or Service Principal.

Usage
To establish a connection to a Halo instance, call the Connect-HaloAPI function with the required parameters. For example:
Connect-HaloAPI -URL "https://example.halopsa.com" -ClientId "c9534241-dde9-4d04-9d45-32b1fbff22ed" -ClientSecret "14c0c9af-2db1-48ab-b29c-51975df4afa2-739e4ef2-9aad-4fe9-b486-794feca48ea8" -Scopes "all" -Tenant "demo" -VaultName "MyVault" -SaveToKeyVault $true
To use the Azure Key Vault for storing and retrieving secrets, you should use the UseKeyVault and SaveToKeyVault parameters. Additionally, you can use a Managed Identity or Service Principal for authentication with the Identity parameter. For example:
Connect-HaloAPI -URL "https://example.halopsa.com" -VaultName "MyVault" -UseKeyVault $true -Identity "your_managed_identity_or_service_principal_id"
Note: Replace "your_managed_identity_or_service_principal_id" with your actual Managed Identity or Service Principal ID.
In this case, the function will connect to the Azure Key Vault with the provided Managed Identity or Service Principal and retrieve the ClientId, ClientSecret, and URL. If SaveToKeyVault is $true, the function will also save these parameters to the Azure Key Vault for future use.

added support for ticket outcomes


The algorithm of skin detect

Hi there ,
Could you provide the link of article of the algorithm of skin detect? I search some documents but nothing are fit for  algotihm in your program.
Thanks

function skinColor(options, r, g, b) {
var mag = sqrt(r * r + g * g + b * b);
var rd = r / mag - options.skinColor[0];
var gd = g / mag - options.skinColor[1];
var bd = b / mag - options.skinColor[2];
var d = sqrt(rd * rd + gd * gd + bd * bd);
return 1 - d;
}

It's just an algorithm I made up on the spot. I tried a more scientific approach here: https://github.com/jwagner/smartcrop.js/tree/human-skin-color-clustering. In the end the results were similar enough for me not the change what was there and working.
I hope that helps.


Provide support for MySQL DB

Problem Statement
Not able to connect to MySql DB
Description
Provide ability to connect to MySQL DB.  Feature should support both direct access and also through SSH connection.
soda-sql version
Soda CLI version 2.0.0b21

https://github.com/sodadata/soda-sql/pull/401

First draft of MySQL support is added, Closing this and I'll add individual issues for features/bugs


DOC: make a note in benchmarks README on how to run without rebuilding.

[ci skip]
Suggestion of @mdhaber, documenting that option more prominently to avoid expensive builds makes sense I think.

Thanks Ralf


Unmapped testing via synthetically generated BAM file

Will fix issue #3

I don't like the idea of including that dependency and have the generation as part of the tests.
I suggest you move all the logic to generate the testing BAM files into a binary in a different project.
What I would do:

Create a new project (htsget-data-gen)
Write the code that generates all the testing BAM files. As the file name we could use a timestamp as prefix followed by a short description (ex. 20210404-with-unmapped-reads.bam)
Run the code to generate the files into the data folder
Update the tests to use them.

Alternative:

If there are bioinformatics tools that can be used to generate synthetic BAM files, I would simply use them.
I would just document the process on how to generate the synthetic files in a markdown file (if possible with commands that use docker so it is easily reproducible without requiring a complex setup in the development machine)

What I would expect from those files:

to contain thousands of reads (so there are multiple BGZF blocks)
to contain at least 2 reference sequences
to contain unmapped and mapped reads
to have reads spread across the reference sequence so the R-tree index contains multiple bins with chunks

Sorry to be picky :-P

I don't like the idea of including that dependency and have the generation as part of the tests.

I understand the dependency part (unfortunate to pull in rust-htslib when we actually want to move away from C-bindgen & htslib)... I'm exploring a fix for that right now (porting/PR-ing bam-builder to Noodles).
But on your other argument, I would like to ask why you are against the generation. I think it is an anti-pattern to have binary blobs on repositories when one can just simply "factory" away and avoid potentially big binary files?
So, can you defend a good technical reason without defaulting to personal preference here? Current mood: agreeable :)
See how the Django/Python community has learned that lesson a while ago, avoiding the dreaded fixtures:
https://factoryboy.readthedocs.io/en/stable/
Namely:

As a fixtures replacement tool, it aims to replace static, hard to maintain fixtures with easy-to-use factories for complex objects.

Also:

I would just document the process on how to generate the synthetic files in a markdown

Automation >>> documentation, a.k.a: let the machine do the copy & paste & run work for you.

use docker so it is easily reproducible without requiring a complex setup in the development machine

The current generation approach requires 0 docker and 0 local setup (other than rustup & cargo?). What you are proposing requires multiple steps, referring to external repos and documentation (yuck, not very Zen, isn't it? :P).

Sorry to be picky :-P

Hey, so am I, let's be double-click ;)

The reason why I'm asking all those things

to contain thousands of reads (so there are multiple BGZF blocks)
to contain at least 2 reference sequences
to contain unmapped and mapped reads
to have reads spread across the reference sequence so the R-tree index contains multiple bins with chunks

is because I need to test different aspects of the search algorithm that requires a test file as close as possible to the reality, where we will have multiple references, and reads unmapped and mapped across multiple BGZF blocks.
Given how well the reads will be compressed in the BGZF blocks, we will need to generate thousands of reads to make sure that they will be scattered across different blocks, which as a result, will allow me to get different virtual offsets for the queries in the tests.
I think we can habe a few Mb files without hurting too much git.

I just checked our current testing BAM and realized that there are unmapped reads, although I'm not an expert on samtools.
See reads unmapped: 12704 here:
$ samtools stats htsnexus_test_NA12878.bam | grep SN
SN      raw total sequences:    39918   # excluding supplementary and secondary reads
SN      filtered sequences:     0
SN      sequences:      39918
SN      is sorted:      1
SN      1st fragments:  20264
SN      last fragments: 19654
SN      reads mapped:   27214
SN      reads mapped and paired:        26917   # paired-end technology bit set + both mates mapped
SN      reads unmapped: 12704
SN      reads properly paired:  26620   # proper-pair bit set
SN      reads paired:   39675   # paired-end technology bit set
SN      reads duplicated:       2645    # PCR or optical duplicate bit set
SN      reads MQ0:      69      # mapped and MQ=0
SN      reads QC failed:        0
SN      non-primary alignments: 0
SN      supplementary alignments:       0
SN      total length:   3033768 # ignores clipping
SN      total first fragment length:    1540064 # ignores clipping
SN      total last fragment length:     1493704 # ignores clipping
SN      bases mapped:   2068264 # ignores clipping
SN      bases mapped (cigar):   1910033 # more accurate
SN      bases trimmed:  0
SN      bases duplicated:       201020
SN      mismatches:     9531    # from NM fields
SN      error rate:     4.989966e-03    # mismatches / bases mapped (cigar)
SN      average length: 76
SN      average first fragment length:  76
SN      average last fragment length:   76
SN      maximum length: 76
SN      maximum first fragment length:  76
SN      maximum last fragment length:   76
SN      average quality:        22.6
SN      insert size average:    173.3
SN      insert size standard deviation: 65.3
SN      inward oriented pairs:  13312
SN      outward oriented pairs: 69
SN      pairs with other orientation:   4
SN      pairs on different chromosomes: 43
SN      percentage of properly paired reads (%):        66.7

I also saw that there are two reference sequences for chromosomes 11 and 20 when looking at the index (plus the unmapped reads):
$ samtools idxstats htsnexus_test_NA12878.bam
11      135006516       12789   109
20      63025520        14425   120
*       0       0       12475

So I'd say that this is all we need for now.

@chris-zen I'm working on the "chunks viewer" and "bam/bai tables" features we discussed on the videocall over here (similar to the manual byte parsing you briefly showed):
https://github.com/brainstorm/bio-index-formats/compare/bam_bai_generation
Not finished yet, just a heads up. The validation/analysis of the generated BAM/BAIs is not done yet, just putting the code in place now.

@brainstorm sorry, apparently Github closed the PR because I re-wrote the git history to fix my name and email :-(

No worries, I reckon that your own work with Noodles superseeded this PR anyway, so this one can stay as-is in main I guess?


Fix parsing of declaration in non declaration contexts

Declarations (let, const, function, class) are not allowed as
Statements. For example, the following is not valid:
if (true)
let x = 1;

@johnjbarton PTAL

This TODO finally got in my way.

LGTM


Fix no-ssl3-method in 1.0.2

Fixes #5322

Pushed with typo fixed.

@mattcaswell why the close?

@mattcaswell why the close?

Because I pushed the fix to git.

Oh I didn't realize it was merged. Nice!


WithBufferedChannel option

After that https://github.com/ReactiveX/RxGo/pull/78 was merged, I wanted to add another option: WithBufferedChannel to allow the configuration of the channel produced in the case of Map and Subscribe operators.
There's one thing to highlight though. Both operators are taking as an argument a opts ...Option. I just want to double check this is the direction we want to go.
The drawback of this alternative (all operator taking a list of common option) is that an user may for example configure an operator with an option that will not be taken into account. This is not going to fail but it will no be handled by the operator. We could just document it to make sure it is shared with the users.
The other alternative is to duplicate what we have in option.go and to manage maybe options per operator. This would result in a huge load of duplicated code in RxGo.
Hope my question is clear enough.

Pull Request Test Coverage Report for Build 160

11 of 28 (39.29%)  changed or added relevant lines in 2 files are covered.
276 unchanged lines in 9 files lost coverage.
Overall coverage decreased (-0.6%) to 50.067%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

observable/options.go
2
8
25.0%

observable/observable.go
9
20
45.0%

Files with Coverage Reduction
New Missed Lines
%

observer/observer.go
1
72.5%

observable/create.go
2
80.77%

observable/flatmap.go
2
100.0%

iterable/iterable.go
2
80.95%

subscription/subscription.go
3
100.0%

errors/errors.go
9
100.0%

observable/options.go
12
100.0%

handlers/handlers.go
15
100.0%

observable/observable.go
230
98.36%

Totals

Change from base Build 159:
-0.6%

Covered Lines:
371

Relevant Lines:
741

💛  - Coveralls

See https://github.com/ReactiveX/RxGo/pull/95


Fixes for incorrect button labels and the password validation error.

This PR fixes #13320,  fixes #13319

Pull Request Test Coverage Report for Build 356263148

0 of 5 (0.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 40.268%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/resource-deployment/src/ui/notebookWizard/notebookWizardPage.ts
0
5
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/resource-deployment/src/ui/notebookWizard/notebookWizardPage.ts
2
8.86%

Totals

Change from base Build 356261233:
-0.01%

Covered Lines:
21180

Relevant Lines:
48307

💛  - Coveralls


Angular Ivy Workspace Error

I have installed the latest version of Angular CLI. But, facing this error,

Hi @anirudh-jwala, that is expected if you are running the ng version outside of a project.

Thank you, got it!


std.algorithms: document public methods

Here's a small project that I intend to do when I am on the road - document the public methods in Phobos or set them private etc ;-)
As you can imagine, many parts in Phobos aren't properly ddoced - so let's do this bit by bit.
If someone wants to help out, here's the current output of dscanner.
There are some fixes which might be controversial - I will mark them so.

@burner IIRC you're the one who made all of the alias string this overloads, any reason they shouldn't be documented?

@JackStouffer I don't recall this. Anyway, if they are public functions and are supposed to be public then the should be documented.

this PR is mixing documentation with general maintenance and visibility changes. Could you split that into multiple PRs. That would make reviewing easier and thereby make pulling or closing faster.

this PR is mixing documentation with general maintenance and visibility changes. Could you split that into multiple PRs. That would make reviewing easier and thereby make pulling or closing faster.

@burner so that I understand right - setting accidentally exposed symbols to private should be a separate PR?

@wilzbach yes, because it is a bugfix and not a documentation change. As said, this will speed the whole process. The little extra time you will spend branching you will make back double/tripple during review.

@wilzbach yes, because it is a bugfix and not a documentation change. As said, this will speed the whole process. The little extra time you will spend branching you will make back double/tripple during review.

done - this PR now only contains documentation changes and as @JackStouffer suggested I moved undocumented struct's below the method and added the magic /// ditto.

LGTM

LGTM

ping

Based on the recent discussions on Voldemort types, I wonder, shouldn't these actually be Voldemort? I wouldn't make them so, because this can bloat the binary incredibly fast. But I don't know if we should expose the types as public API.
I'm working on a possible solution to the bloat that would allow us to have the types as Voldemort but not with the bloat.

LGTM

Auto-merge toggled on

But I don't know if we should expose the types as public API.

This just adds them to the documentation output - they are already publicly exposed and would need a deprecation cycle if we make them private/Voldemort again,.

(as an aside, github is really borked for me today, it doesn't show all the discussion).
It's a much easier deprecation to remove undocumented public symbols than it is to remove public API.

In any case, we have until the next major release to decide.

I did just turn auto merge on. but github does not display it. Lets see what explodes and then take action


Use docker containers for both singularity and docker profiles

Description of feature
Currently singularity profile uses private sylabs account to host the singularity images as noted in #40. Another approach which removes the need for the private account use is to utilise GMS dockerhub images for both use with singularity and docker profiles.

@ljmesi Would it be possible to upload the Dockerfile and environment.yml in the repo?

Yes, they are actually already here:
https://github.com/genomic-medicine-sweden/gmsmetapost/blob/dev/conf/environments/Dockerfile
and here:
https://github.com/genomic-medicine-sweden/gmsmetapost/blob/dev/conf/environments/environment.yml


Always override?

As of now we always override the content of the cells under "doi" & "abstract". Whether this is the right choice is up to debate, but if we maintain this posture, we need to document it, so that users won't lose their data.

The comment above is wrong: we actually never override?
test_input.xlsx

I still need to work on this issue, as we still override the data (whether the user provided any or the cell was blank). I have an idea that will keep track of which cells need to be overwritten/populated while keeping any original data that the user may not have wanted to be replaced.

I made some changes with this commit: https://github.com/popbr/abstract_doi_finder/commit/8b03b119c6cefa534dcbf8c1ddd4f3c20258f27d
I am struggling to understand why it is testing true for certain cases, making the entire statement true. I am considering splitting the tests into different statements completely to narrow down what is causing the issue.

This issue is fixed with https://github.com/popbr/abstract_doi_finder/commit/4a47bf3bf51ad5e75a90ac275720cf3ee7115880 and still needs to be properly documented within the README.md file. The file read in the Read_From_Excel method now reads the outputPath file, as it is a replica of the inputPath, but it has additions that happen during the CreateOutput method. Therefore, this fixes the issue of overriding user data when it has a DOI and abstract both present.

I believe this is tested with https://github.com/popbr/abstract_doi_finder/commit/7dbdbc19bb040e9761ea8fe58e6a7ee725d051f0 and hence we can close this issue.


Want to optimize Tensorflow CUDA kernels

I want to go through Tensorflow's CUDA kernels and optimize them.  It seems like all the CUDA kernels are defined in tensorflow/core/kernels and tensorflow/contrib with some helper functions in tensorflow/core/util.

Is it okay for me to optimize kernels in tensorflow/core/kernels and send pull request?
now that tensorflow is moving to 2.0, are the CUDA kernels going to also change so dramatically that any improvements to them now could be rendered useless?
what are some conventions or practices when writing CUDA kernels? I have read the contrib.md, but there was nothing special on CUDA kernels ( ex. " Do not change kernel launch configurations " or " must support devices of compute capability >= 3.0 " )
must I use CudaGridRangeX over regular for loops?
Is there way to test and profile each .cu file individually, instead of having to rebuild the entire tensorflow or even having to test all kernels?

I re-issued this as a feature request template. I thought that may be a better fit,

@ThisIsIsaac,
Sorry for the delayed response. Appreciate your interest to Optimize the CUDA Kernels. Please feel free to submit a PR, if this Feature is still relevant. Thanks!


Error: Host name may not be null

When i execute mvn dockerfile:build everything goes fine, but when i attach the execution to maven lifecycle ex:
			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>dockerfile-maven-plugin</artifactId>
				<version>${dockerfile.maven.plugin.version}</version>
	                       <executions>
                    		   <execution>
                        		   <id>default</id>
                        		   <goals>
                            		   <goal>build</goal>
                            		   <goal>push</goal>
                        		   </goals>
                    		   </execution>
                		        </executions>
				<configuration>
					<contextDirectory>${project.build.directory}</contextDirectory>
					<repository>${docker.repository}</repository>
					<tag>${project.version}</tag>
					<buildArgs>
						<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
					</buildArgs>
				</configuration>
			</plugin>

I got the error: [ERROR] Failed to execute goal com.spotify:dockerfile-maven-plugin:1.3.6:build (default) on project fusion-demo-backend: Execution default of goal com.spotify:dockerfile-maven-plugin:1.3.6:build failed: Host name may not be null -> [Help 1]
Can anybody help-me ? Thanks

I have the same.
Debugging the plugin code I found that the plugin does not honour the -Dhttp.nonProxyHosts setting.
The problem lies in the DefaultDockerClient.updateProxy() method. If the "http.proxyHost" is set it uses the proxy without looking at if the "http.nonProxyHosts" setting includes the docker host.
Therefore, to be honest it looks more like a bug of "docker-client" project.
Temporary solution until the bug is fixed is to unset the http.proxyHost setting. You could have set this in the env variable _JAVA_OPTIONS or MAVEN_OPTS.

I experience the same - but only in a multi-module build, if I cd into the module and build it there (and attached to lifecycle) it works fine.

This is actually a problem both in the  "docker-client" project (where http.nonProxyHosts is not honored, see https://github.com/spotify/docker-client/issues/978) and in dockerfile-maven, where http.nonProxyHosts is not properly set when running attached to the maven lifecycle.
As I understand it, when executing within the maven lifecycle, some of the proxy configuration from settings.xml is read (to set http.proxyHost, http.proxyPort, http.proxyUser and http.proxyPassword System properties). Since version 8.9.1 of "docker-client", the http.proxyHost by default is used if set, hence dockerfile-maven is affected.
This new behavior of "docker-client" to use a proxy if set, can be turned off using a property on the builder. Hence the easy fix is to add the same property "useProxy" to dockerfile-maven (with default value false), to allow proxy useage to be turned off. I have issued a pull request for this (https://github.com/spotify/dockerfile-maven/pull/150).
Now, for the long-term solution:
I have issued a pull request to the  "docker-client" project, which will hopefully be included in next version.
Now, this unfortunately doesn't solve the problem for dockerfile-maven, since the http.nonProxyHosts for some reason is not read from settings.xml and set as a system property. This is a known problem, fixed locally in other plugins (see e.g. https://issues.apache.org/jira/browse/CXF-4710).
Hence my second pull request includes a fix for this behavior as well (inspired by the CFX fix above), which if useProxy is set reads the settings.xml and populates all relevant system properties for http proxy usage (and restores previous values after execution).

Using 1.4.1 including the changes merged in #150, I'm still getting the error even after adding <useProxy>false</useProxy> to the plugin configuration. Here's my plugin configuration for reference:
<plugin>
	<groupId>com.spotify</groupId>
	<artifactId>dockerfile-maven-plugin</artifactId>
	<version>1.4.1</version>
	<configuration>
		<useProxy>false</useProxy>
		<useMavenSettingsForAuth>true</useMavenSettingsForAuth>
		<repository>${docker.registry}/${docker.reponame}</repository>
		<tag>${project.version}</tag>
		<buildArgs>
			<APP_JAR>target/${project.build.finalName}.jar</APP_JAR>
		</buildArgs>
	</configuration>
	<executions>

		<execution>
			<id>docker-build</id>
			<phase>package</phase>
			<goals>
				<goal>build</goal>
				<goal>tag</goal>
			</goals>
		</execution>

		<execution>
			<id>docker-push</id>
			<phase>deploy</phase>
			<goals>
				<goal>push</goal>
			</goals>
		</execution>

	</executions>
</plugin>

And here's the stacktrace output from maven:
org.apache.maven.plugin.MojoExecutionException: Could not build image
	at com.spotify.plugin.dockerfile.BuildMojo.buildImage(BuildMojo.java:185)
	at com.spotify.plugin.dockerfile.BuildMojo.execute(BuildMojo.java:105)
	at com.spotify.plugin.dockerfile.AbstractDockerMojo.tryExecute(AbstractDockerMojo.java:252)
	at com.spotify.plugin.dockerfile.AbstractDockerMojo.execute(AbstractDockerMojo.java:241)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Caused by: com.spotify.docker.client.exceptions.DockerException: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: java.lang.IllegalArgumentException: Host name may not be null
	at com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:2710)
	at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2641)
	at com.spotify.docker.client.DefaultDockerClient.version(DefaultDockerClient.java:517)
	at com.spotify.docker.client.DefaultDockerClient.authRegistryHeader(DefaultDockerClient.java:2753)
	at com.spotify.docker.client.DefaultDockerClient.build(DefaultDockerClient.java:1414)
	at com.spotify.docker.client.DefaultDockerClient.build(DefaultDockerClient.java:1383)
	at com.spotify.plugin.dockerfile.BuildMojo.buildImage(BuildMojo.java:178)
	... 26 more
Caused by: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: java.lang.IllegalArgumentException: Host name may not be null
	at jersey.repackaged.com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
	at jersey.repackaged.com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
	at jersey.repackaged.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
	at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2639)
	... 31 more
Caused by: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: java.lang.IllegalArgumentException: Host name may not be null
	at com.spotify.docker.client.shaded.org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:481)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.apache.connector.ApacheConnector$1.run(ApacheConnector.java:491)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at jersey.repackaged.com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
	at jersey.repackaged.com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:50)
	at jersey.repackaged.com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:37)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:487)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.client.ClientRuntime$2.run(ClientRuntime.java:178)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.internal.Errors.process(Errors.java:315)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.internal.Errors.process(Errors.java:297)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.internal.Errors.process(Errors.java:267)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:340)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.client.ClientRuntime$3.run(ClientRuntime.java:210)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: Host name may not be null
	at com.spotify.docker.client.shaded.org.apache.http.util.Args.containsNoBlanks(Args.java:81)
	at com.spotify.docker.client.shaded.org.apache.http.HttpHost.<init>(HttpHost.java:81)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.apache.connector.ApacheConnector.getHost(ApacheConnector.java:514)
	at com.spotify.docker.client.shaded.org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:435)
	... 21 more

@Tzrlk, you're right. The required docker-client changes weren't in the previous release. Please try with the latest release of 1.4.2 and let me know.

Debugged through the plugin code, and it looks as though I have a completely different problem. Because I'm running on Windows, the WebTarget passed into DefaultDockerClient#request(...) references the npipe:////./pipe/docker_engine url derived from the DOCKER_HOST environment variable. As soon as I overrode that, I started getting a completely different authorisation problem.
If the plugin is unable to deal with windows named pipes, or unix sockets (haven't tested that one), then there should probably be a routine fairly early on in the process to detect the content of DOCKER_HOST and warn the user that they need to use a tcp://localhost:2375 url. The code block at DefaultDockerClient:399 should be able to take another branch.