feat(tsm): add e2e and unit tests

Do you have any news about this?
I am actually trying to add some tests in my package and it can be useful to have ngm-cli launching them.

We end up thinking that it will be out of ngm scope,
Ngm should build... and that's it ;)

Ok I see, makes sense.
Do you have any clue on how to add testing in a Angular module developed with ngm-cli? (maybe you, or someone else, already did it)

We are using karma, or with angular cli.
You can check in ngx-bootstrap
BTW huge PR will land here soon


h264dec: dealing with droping frames when decoding several videos

issue 286:
1.blue_sky_420_1280x720.264
2.pedestrian_area_420_720x576.264
3.V30313_B_D-Traffic_AVC_MP_num_ref_frames_6.264
droping frames when decoding

Hi @clearlylin
did you run all h264 regression  test?
thanks

yes.  have run all h264 regression test
passed.

merged as 238624278a1647b3206230b4caeb5e46b6d472ac


chore: restore inboundBufferSize to its normal val

remove optims in conn.go due to handshake problems (tentative fix)
see https://github.com/pion/dtls/blob/v2.2.6/conn.go#L31 for the default 2.2.6

is not causing the issue


fix(interactive): fix test error of groot and unsafe static reference

As titled

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

Comparison is base (64ebe09) 40.90% compared to head (fac8b37) 40.90%.
Report is 1 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #3469   +/-   ##
=======================================
  Coverage   40.90%   40.90%
=======================================
  Files         109      109
  Lines       11343    11343
=======================================
  Hits         4640     4640
  Misses       6703     6703

Continue to review full report in Codecov by Sentry.

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


#890 feat(container-console): add ability to enter user

If a username isn't provided command will be executed with a default user.
In case if a username is invalid error message will appear in the terminal.
Known issue: with invalid username error popup appear with an error on terminal resizing.
Fixes #890

I've updated form, now tooltip looks normal, one of the drawbacks of using a vertical form that I've noticed is that terminal window getting pushed down and a user is unable to scroll to it when the mouse cursor is in the terminal window. Probably we should collapse a form when a connection is active?

I'll give it a go soon to try the UX.

I've changed tooltip so it will be appended to the document's body from now on, this will ensure that it won't be affected by styles of a parent element. I've checked tooltips on other pages as well, it looks good for me.
Regarding form collapsing, I think I'm going to hide all fields and leave only "Disconnect" button visible with a label "Connected as %username%" before it. What do you think about it?

Sounds good to me!
Le mar. 4 juil. 2017 21:45, Konstantin Azizov<EMAIL_ADDRESS>a
écrit :

I've changed tooltip so it will be appended to the document's body from
now on, this will ensure that it won't be affected by styles of a parent
element. I've checked tooltips on other pages as well, it looks good for me.
Regarding form collapsing, I think I'm going to hide all fields and leave
only "Disconnect" button visible with a label "Connected as %username%"
before it. What do you think about it?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/portainer/portainer/pull/976#issuecomment-312933921,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFOyBYAVckf_70GPMoX6JGG9ZD5t3Dmrks5sKohUgaJpZM4OMHsR
.

--
Anthony Lapenna
https://deviantony.github.io

Done, have a look:
Disconnected:

Connected:

Looks great, I'll have a look today !

Thanks @G07cha :+1:


Exception when transforming maps where size > 8 in ClojureScript

I'm getting the following on version 0.9.1 in cljs in the browser (no exception for clj on the JVM), and the problem seems to manifest when the size of the provided map is greater than 8:
(prn
  (s/transform
    [s/ALL s/LAST]
    identity
    {"0" 0
     "1" 1
     "2" 2
     "3" 3
     "4" 4
     "5" 5
     "6" 6
     "7" 7
     "8" 8}))

;;=>

Uncaught Error: No protocol method IReduce.-reduce defined for type cljs.core/PersistentHashMap: {"3" 3, "4" 4, "8" 8, "7" 7, "5" 5, "6" 6, "1" 1, "0" 0, "2" 2}

cljs$core$missing_protocol @ core.cljs:261
cljs.core._reduce.cljs$core$IFn$_invoke$arity$3 @ core.cljs:557
cljs$core$_reduce @ core.cljs:557
clojure.core.reducers.folder.clojure.core.reducers.t_clojure$core$reducers35621.cljs$core$IReduce$_reduce$arity$3 @ reducers.cljs:90
cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 @ core.cljs:2182
cljs.core.into.cljs$core$IFn$_invoke$arity$2 @ core.cljs:4468
cljs$core$into @ core.cljs:4462
com.rpl.specter.impl.AllStructurePath.com$rpl$specter$protocols$StructurePath$transform_STAR_$arity$3 @ impl.cljs:513
com$rpl$specter$protocols$transform_STAR_ @ protocols.cljs:5
com.rpl.specter.impl.structure_path_impl @ impl.cljs:170
(anonymous function) @ impl.cljs:201
com.rpl.specter.impl.combine_same_types.combiner @ impl.cljs:281
(anonymous function) @ impl.cljs:76
com$rpl$specter$impl$compiled_transform_STAR_ @ impl.cljs:458
com$rpl$specter$transform @ specter.cljs:89

Running on a map of size 8 works fine:

(prn
  (s/transform
    [s/ALL s/LAST]
    identity
    {"0" 0
     "1" 1
     "2" 2
     "3" 3
     "4" 4
     "5" 5
     "6" 6
     "7" 7}))

;;=>  {"0" 0, "1" 1, "2" 2, "3" 3, "4" 4, "5" 5, "6" 6, "7" 7}

Anybody else running into this?

Oh, and I'm running ClojureScript version 1.7.122. Going to try the latest (1.7.228).

No fix with the cljs version bump.

ALL is using core.reducers, and it looks like some of the map types don't implement the reducer protocols. I'm considering changing the ClojureScript implementation of ALL to just use the vanilla sequence functions underneath. Can you test your code with this version of ALL?
(defpath ALL2 []
  (select* [this structure next-fn]
    (doall (mapcat next-fn structure))
    )
  (transform* [this structure next-fn]
    (mapv next-fn structure)
    ))

That did the trick.
I believe you'll want to have ALL2 to coerce the result of transform* into a map when appropriate, something along the lines of:
(defpath ALL2 []
  (select* [this structure next-fn]
    (doall (mapcat next-fn structure)))
  (transform* [this structure next-fn]
    (let [coerce-fn (if (map? structure)
                      #(into {} %)
                      identity)]
      (coerce-fn (mapv next-fn structure)))))

(prn
  (s/transform
    [ALL2 s/LAST]
    inc
    {"0" 0
     "1" 1
     "2" 2
     "3" 3
     "4" 4
     "5" 5
     "6" 6
     "7" 7
     "8" 8}))

;;=> {"3" 4, "4" 5, "8" 9, "7" 8, "5" 6, "6" 7, "1" 2, "0" 1, "2" 3}

(prn
  (s/transform
    [ALL2 s/LAST]
    inc
    [["0" 0]
     ["1" 1]
     ["2" 2]
     ["3" 3]
     ["4" 4]
     ["5" 5]
     ["6" 6]
     ["7" 7]
     ["8" 8]]))

;;=> [["0" 1] ["1" 2] ["2" 3] ["3" 4] ["4" 5] ["5" 6] ["6" 7] ["7" 8] ["8" 9]]

I suppose you could also preserve the list type, but in cljs that's not really something that's a big deal to me.
Thanks!

Yea, the regular ALL implementation uses empty to determine the target of into in order to preserve the collection type. I opened #53 since it appears too much of cljs is not compatible with core.reducers.


fix Fix bdbje logging level not work (#27597)

EnvironmentConfig.FILE_LOGGING_LEVEL only set FileHandlerLevel, we should set logger level firstly, otherwise it will not take effect.

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

#27597

run buildall


Support loading Hazelcast config from an external hazelcast.xml file

See http://docs.hazelcast.org/docs/3.5/manual/html/configuringhazelcast.html

Also relevant https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/HazelcastCacheConfiguration.java

And this -> https://github.com/spring-projects/spring-boot/tree/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/hazelcast
They fully rely on the hazelcast.xml config resource being available as the default config or explicitly provided one. We could use the similar Spring's @Conditional machinery.

Hazelcast Config has a property for configurationFile. We could try pointing that to an external hazelcast.xml file, but I don't know if that will override the remaining configuration that is declared in CAS directly for maps, etc. Need to test.

@dima767 any idea what these are about?
org.jasig.cas.ticket.registry.config.DefaultHazelcastInstanceConfigurationTests > correctHazelcastInstanceIsCreated FAILED
    java.lang.IllegalStateException: Failed to load ApplicationContext
        Caused by:
        org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hazelcast' defined in org.jasig.cas.ticket.registry.config.HazelcastInstanceConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.hazelcast.core.HazelcastInstance]: Factory method 'hazelcast' threw exception; nested exception is com.hazelcast.core.DuplicateInstanceNameException: HazelcastInstance with name 'localhost' already exists!
            Caused by:
            org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.hazelcast.core.HazelcastInstance]: Factory method 'hazelcast' threw exception; nested exception is com.hazelcast.core.DuplicateInstanceNameException: HazelcastInstance with name 'localhost' already exists!
                Caused by:
                com.hazelcast.core.DuplicateInstanceNameException: HazelcastInstance with name 'localhost' already exists!
org.jasig.cas.ticket.registry.config.ProvidedHazelcastInstanceConfigurationTests > hazelcastInstanceIsCreatedNormally FAILED
    java.lang.IllegalStateException: Failed to load ApplicationContext
        Caused by:
        org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hazelcast' defined in org.jasig.cas.ticket.registry.config.HazelcastInstanceConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.hazelcast.core.HazelcastInstance]: Factory method 'hazelcast' threw exception; nested exception is com.hazelcast.core.DuplicateInstanceNameException: HazelcastInstance with name 'localhost' already exists!
            Caused by:
            org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.hazelcast.core.HazelcastInstance]: Factory method 'hazelcast' threw exception; nested exception is com.hazelcast.core.DuplicateInstanceNameException: HazelcastInstance with name 'localhost' already exists!
                Caused by:
                com.hazelcast.core.DuplicateInstanceNameException: HazelcastInstance with name 'localhost' already exists!
4 tests completed, 2 failed

Think I know what the issue is. The test cases for ticket registry itself are scanning the context twice, causing instances to be created. Working on a fix.

Tests passing now. Moving on.

It's one of those "environmentally depended phantom failures".
On Sun, Feb 14, 2016 at 05:53 Misagh Moayyed<EMAIL_ADDRESS>wrote:

Tests passing now. Moving on.
—
Reply to this email directly or view it on GitHub
https://github.com/Jasig/cas/issues/1161#issuecomment-183873284.


Can the image path contain spaces?

Hello,
I have picture tag working well, but it seems to throw an error if the path to the image contains spaces. Is there any way around this?
Here is the liquid tag I am using:
{% picture thumb {{file.path}} %}
When file.path is  path/to/file.jpg it works. When is it path to file.jpg i get the following error:
Liquid Exception: undefined method `[]' for nil:NilClass in .site/layouts/index.html
<PATH REDACTED>/.site/plugins/picture_tag.rb:43:in `render': undefined method `[]' for nil:NilClass (NoMethodError)
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:109:in `block in render_all'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:96:in `each'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:96:in `render_all'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/tags/if.rb:40:in `block (2 levels) in render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/tags/if.rb:38:in `each'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/tags/if.rb:38:in `block in render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/context.rb:112:in `stack'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/tags/if.rb:37:in `render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:109:in `block in render_all'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:96:in `each'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:96:in `render_all'
	from /Users/jamesking/Documents/SP+EE/Projects/DIU-citizen-science-platform/3. Deliverables/.site/plugins/directory_tag.rb:94:in `block (2 levels) in render'
	from /Users/jamesking/Documents/SP+EE/Projects/DIU-citizen-science-platform/3. Deliverables/.site/plugins/directory_tag.rb:62:in `each'
	from /Users/jamesking/Documents/SP+EE/Projects/DIU-citizen-science-platform/3. Deliverables/.site/plugins/directory_tag.rb:62:in `each_with_index'
	from /Users/jamesking/Documents/SP+EE/Projects/DIU-citizen-science-platform/3. Deliverables/.site/plugins/directory_tag.rb:62:in `block in render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/context.rb:112:in `stack'
	from /Users/jamesking/Documents/SP+EE/Projects/DIU-citizen-science-platform/3. Deliverables/.site/plugins/directory_tag.rb:61:in `render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:109:in `block in render_all'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:96:in `each'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:96:in `render_all'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/block.rb:82:in `render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/template.rb:128:in `render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/liquid-2.6.2/lib/liquid/template.rb:138:in `render!'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/convertible.rb:106:in `render_liquid'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/convertible.rb:205:in `render_all_layouts'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/convertible.rb:239:in `do_layout'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/page.rb:122:in `render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/site.rb:298:in `block in render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/site.rb:297:in `each'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/site.rb:297:in `render'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/site.rb:51:in `process'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/command.rb:28:in `process_site'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/commands/build.rb:56:in `build'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/commands/build.rb:34:in `process'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/lib/jekyll/commands/serve.rb:26:in `block (2 levels) in init_with_program'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/gems/jekyll-2.5.3/bin/jekyll:20:in `<top (required)>'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/bin/jekyll:23:in `load'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/bin/jekyll:23:in `<main>'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval'
	from /Users/jamesking/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `<main>'

Not sure if this is a bug or me doing something silly.
Thanks,

James

So I have forked jekyll-picture-tag and done a little hacking to make this work for me. I am not sure this is worthy of a pull-request, but these changes allow for images paths with spaces in them but require that the image_src be wrapped in double quotes "…"
https://github.com/robwierzbowski/jekyll-picture-tag/compare/master...jamesking:master

I'm don;t think this is worthy of a pull request, but I have experimented with the regex in this fork.
https://github.com/jamesking/jekyll-picture-tag/commit/39a9bba8045c9219a87e40f862471361c3eac740
As I wrote in the commit message - this causes problems when serving the generated images.

Does it require all paths to be wrapped in quotes or just the ones with spaces?

Yes - all paths require quotes with these changes.


Change name of token-cookie set by SAML library

https://github.com/rancher/rancher/issues/13970

change name of cookie to samlToken. Otherwise is good

LGTM


Add missing support for excluding transient dependencies when publishing

[ ] depends on https://github.com/coursier/publish/pull/71

Blocked by:

https://github.com/coursier/publish/issues/75
cc @prolativ @alexarchambault


Multiple GPU inference is broken with LLaVA 1.6

Describe the issue
Issue: Multiple GPU inference is broken with LLaVA 1.6. Same command with model liuhaotian/llava-v1.5-13b works fine.
Command:
CUDA_VISIBLE_DEVICES=0,1 python -m llava.serve.cli --model-path ../models/liuhaotian_llava-v1.6-34b --load-4bit --image-file foo.png
Log:
You are using a model of type llava to instantiate a model of type llava_llama. This is not supported for all configurations of models and can yield errors.
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████| 15/15 [00:20<00:00,  1.38s/it]
USER: What is the document?
Traceback (most recent call last):
File "/home//miniconda3/envs/llava/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home//miniconda3/envs/llava/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/home//LLaVA/llava/serve/cli.py", line 126, in
main(args)
File "/home//LLaVA/llava/serve/cli.py", line 95, in main
output_ids = model.generate(
File "/home//miniconda3/envs/llava/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/home//LLaVA/llava/model/language_model/llava_llama.py", line 125, in generate
) = self.prepare_inputs_labels_for_multimodal(
File "/home//LLaVA/llava/model/llava_arch.py", line 181, in prepare_inputs_labels_for_multimodal
image_feature = torch.cat((
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0! (when checking argument for argument tensors in method wrapper_CUDA_cat)
I will update if I can figure out where the bug is. Thank you.

+1 same
yes, please help fix this!

+1 same, please fix this

Same error, 2x4090s
I sorta hacked it by telling it to use one of them by setting device to cuda:0 in the ModelWorker class in llava.serve.model_worker.py file.

+1 same, please fix this

+1 same

Hi all, sorry for the inference. Please pull the latest branch and it shall be fixed in https://github.com/haotian-liu/LLaVA/pull/1057.

thanks for trying to fix. now the model loads ok to multi-gpus, however during inference it throws this error:
2024-02-02 22:43:31 | ERROR | stderr | Exception in thread Thread-4:
2024-02-02 22:43:31 | ERROR | stderr | Traceback (most recent call last):
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
2024-02-02 22:43:31 | ERROR | stderr |     self.run()
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/lib/python3.9/threading.py", line 892, in run
2024-02-02 22:43:31 | ERROR | stderr |     self._target(*self._args, **self._kwargs)
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
2024-02-02 22:43:31 | ERROR | stderr |     return func(*args, **kwargs)
2024-02-02 22:43:31 | ERROR | stderr |   File "/root/LLaVA/llava/model/language_model/llava_llama.py", line 125, in generate
2024-02-02 22:43:31 | ERROR | stderr |     ) = self.prepare_inputs_labels_for_multimodal(
2024-02-02 22:43:31 | ERROR | stderr |   File "/root/LLaVA/llava/model/llava_arch.py", line 157, in prepare_inputs_labels_for_multimodal
2024-02-02 22:43:31 | ERROR | stderr |     image_features = self.encode_images(concat_images)
2024-02-02 22:43:31 | ERROR | stderr |   File "/root/LLaVA/llava/model/llava_arch.py", line 141, in encode_images
2024-02-02 22:43:31 | ERROR | stderr |     image_features = self.get_model().get_vision_tower()(images)
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/torch/nn/modules/module.py", line 1501, in _call_impl
2024-02-02 22:43:31 | ERROR | stderr |     return forward_call(*args, **kwargs)
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/accelerate/hooks.py", line 165, in new_forward
2024-02-02 22:43:31 | ERROR | stderr |     output = old_forward(*args, **kwargs)
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
2024-02-02 22:43:31 | ERROR | stderr |     return func(*args, **kwargs)
2024-02-02 22:43:31 | ERROR | stderr |   File "/root/LLaVA/llava/model/multimodal_encoder/clip_encoder.py", line 54, in forward
2024-02-02 22:43:31 | ERROR | stderr |     image_forward_outs = self.vision_tower(images.to(device=self.device, dtype=self.dtype), output_hidden_states=True)
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/torch/nn/modules/module.py", line 1501, in _call_impl
2024-02-02 22:43:31 | ERROR | stderr |     return forward_call(*args, **kwargs)
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/accelerate/hooks.py", line 160, in new_forward
2024-02-02 22:43:31 | ERROR | stderr |     args, kwargs = module._hf_hook.pre_forward(module, *args, **kwargs)
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/accelerate/hooks.py", line 290, in pre_forward
2024-02-02 22:43:31 | ERROR | stderr |     return send_to_device(args, self.execution_device), send_to_device(
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/accelerate/utils/operations.py", line 151, in send_to_device
2024-02-02 22:43:31 | ERROR | stderr |     return honor_type(
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/accelerate/utils/operations.py", line 83, in honor_type
2024-02-02 22:43:31 | ERROR | stderr |     return type(obj)(generator)
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/accelerate/utils/operations.py", line 152, in
2024-02-02 22:43:31 | ERROR | stderr |     tensor, (send_to_device(t, device, non_blocking=non_blocking, skip_keys=skip_keys) for t in tensor)
2024-02-02 22:43:31 | ERROR | stderr |   File "/usr/local/lib/python3.9/dist-packages/accelerate/utils/operations.py", line 167, in send_to_device
2024-02-02 22:43:31 | ERROR | stderr |     return tensor.to(device, non_blocking=non_blocking)
2024-02-02 22:43:31 | ERROR | stderr | NotImplementedError: Cannot copy out of meta tensor; no data!

@samidten
Can you please share your package list pip list as well as the command you run the inference?  I've also tried using 4x 3090 to serve llava-v1.6-34b; as well as using 1x 3090 to serve it in 4-bit mode. Both works.
Can you confirm the hardware that you are working with and how much VRAM do you have?
I would recommend re-building the env from scratch as well. Also, you can try if 4-bit works: add --load-4bit to the end of your command line.

i tried with clean venv but still same issue. 4-bit works when its only 1 card used.
lets see if others have similar issue with multi-gpus with latest branch
# nvidia-smi
Sat Feb  3 00:21:05 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.129.03             Driver Version: 535.129.03   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA A30                     On  | 00000000:17:00.0 Off |                    0 |
| N/A   28C    P0              31W / 165W |  22533MiB / 24576MiB |      0%      Default |
|                                         |                      |             Disabled |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA A30                     On  | 00000000:CA:00.0 Off |                    0 |
| N/A   30C    P0              31W / 165W |  23733MiB / 24576MiB |      0%      Default |
|                                         |                      |             Disabled |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

@samidten
This should be related to the OOM issue. 34B shall require at least 80GB VRAM to serve, and given your GPUs, it may be better to just use them with 4-bit quantization.

Sorry to reopen this issue but I have the same problem again and I'm sure my device is not OOMed.
The problem occurs here, where I saw your patch only added the to(device) in the other branch.
I'm using llava1.6 13b at 4bit quantization and it is quiet interesting that I failed to change the device of the self.model.image_newline with to method.
(Pdb) print(self.model.image_newline.to("cuda"))
tensor([-0.0226, -0.0078, -0.0162,  ..., -0.0112,  0.0264, -0.0170],
       device='cuda:1', dtype=torch.float16)
(Pdb) p self.model.image_newline.device
device(type='cuda', index=0)
(Pdb) torch.cat((image_feature,self.model.image_newline[None]),dim=0)
*** RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0! (when checking argument for argument tensors in method wrapper_CUDA_cat)

I would like to seek for your advice on how to fix this. @haotian-liu

Thanks for reporting. Does https://github.com/haotian-liu/LLaVA/commit/b42a13d14b6118381a667430a5b8c50f9790dee3 fix it?

Thanks for reporting. Does b42a13d fix it?

Thanks a lot Haotian. Yes this fixed my problem. Interestingly though, is that my previous patch was only a bit different from your patch:
                        if 'unpad' in mm_patch_merge_type:
                            self.model.image_newline.to(image_feature.device)
                            image_feature = torch.cat((
                                image_feature,
                                self.model.image_newline[None]
                            ), dim=0)

Which was pretty similar in my opinion. But that didn't fix it, the device problem still persists after my patch. Do you know if there is a reason behind this different behavior?

tensor_on_device = tensor.to(device)

.to is not an inplace operator

tensor_on_device = tensor.to(device)

.to is not an inplace operator

Thanks for your prompt reply. Okey, I should have remember it :).

Hello. @haotian-liu
I evaluated LLaVa-1.5 with CLI Inference  and noticed the following message. I found this message has also been mentioned in previous comments of this issue.
My question is: does this message indicate an error?  Could we just ignore it？Thank you very much for your help!
You are using a model of type llava to instantiate a model of type llava_llama. This is not supported for all configurations of models and can yield errors.

Hi!
I've been having the same problem. I did a workaround as others to set just one gpu, although there's 2 available. Could you help me out on how to run in multiple gpus?
My work around:

import os
os.environ["PYTORCH_USE_CUDA_DSA"] = "1"
os.environ['TOKENIZERS_PARALLELISM']='TRUE'
os.environ['CUDA_LAUNCH_BLOCKING'] = "1"
os.environ["PYTORCH_USE_CUDA_DSA"] = "1"
import sys
sys.path.append('/home/experiment/volume/rag_multimodal/main/models/LLaVA' )
print(sys.path)
from llava.model.builder import load_pretrained_model
from llava.mm_utils import get_model_name_from_path
from llava.eval.run_llava import eval_model
from llava.mm_utils import (process_images, tokenizer_image_token)
from llava.constants import (IMAGE_TOKEN_INDEX)
import cv2
import torch
torch.cuda.empty_cache()
from PIL import Image

def llavaRunner():
    image = cv2.imread("/home/experiment/volume/rag_multimodal/main/models/DeepSeek-VL/images/training_pipelines.jpg")
    images = [Image.fromarray(image)]

    model_path = "liuhaotian/llava-v1.5-7b"
    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
    tokenizer, model, image_processor, context_len = load_pretrained_model(
        model_path=model_path,
        model_base=None,
        model_name=get_model_name_from_path(model_path),device=device
    )

    prompt='describe the image'
    image_sizes = [x.size for x in images]
    images_tensor = process_images(
        images,
        image_processor,
        model.config
    ).to(model.device, dtype=torch.float16)

    input_ids = (
        tokenizer_image_token(prompt, tokenizer, IMAGE_TOKEN_INDEX, return_tensors="pt")
        .unsqueeze(0)
        .cuda()
    ).to(device)

    with torch.inference_mode():
        output_ids = model.generate(
            input_ids,
            images=images_tensor,
            image_sizes=image_sizes,
            do_sample=True,#True if args.temperature > 0 else False,
            temperature=0.2,
            top_p=None,
            num_beams=1,
            max_new_tokens=512,
            use_cache=True,
        )

    outputs = tokenizer.batch_decode(output_ids, skip_special_tokens=True)[0].strip()
    print(outputs)

###################################################################
I also got the latest transformers which you can check on my pip freeze:
pip freeze
accelerate==0.21.0
aiofiles==23.2.1
altair==5.3.0
annotated-types==0.6.0
anyio==4.3.0
asttokens==2.4.1
attrs==23.2.0
backcall==0.2.0
bitsandbytes==0.43.1
certifi==2024.2.2
charset-normalizer==3.3.2
click==8.1.7
comm==0.2.2
contourpy==1.1.1
cycler==0.12.1
debugpy==1.8.1
decorator==5.1.1
einops==0.6.1
einops-exts==0.0.4
exceptiongroup==1.2.0
executing==2.0.1
fastapi==0.110.1
ffmpy==0.3.2
filelock==3.13.4
fonttools==4.51.0
fsspec==2024.3.1
gradio==4.16.0
gradio_client==0.8.1
h11==0.14.0
httpcore==0.17.3
httpx==0.24.0
huggingface-hub==0.22.2
idna==3.7
importlib_metadata==7.1.0
importlib_resources==6.4.0
ipykernel==6.29.4
ipython==8.12.3
jedi==0.19.1
Jinja2==3.1.3
joblib==1.4.0
jsonschema==4.21.1
jsonschema-specifications==2023.12.1
jupyter_client==8.6.1
jupyter_core==5.7.2
kiwisolver==1.4.5
Editable Git install with no remote (llava==1.2.2.post1)
-e /home/experiment/volume/rag_multimodal/main/models/LLaVA
markdown-it-py==3.0.0
markdown2==2.4.13
MarkupSafe==2.1.5
matplotlib==3.7.5
matplotlib-inline==0.1.7
mdurl==0.1.2
mpmath==1.3.0
nest-asyncio==1.6.0
networkx==3.1
numpy==1.24.4
nvidia-cublas-cu12==<IP_ADDRESS>
nvidia-cuda-cupti-cu12==12.1.105
nvidia-cuda-nvrtc-cu12==12.1.105
nvidia-cuda-runtime-cu12==12.1.105
nvidia-cudnn-cu12==<IP_ADDRESS>
nvidia-cufft-cu12==<IP_ADDRESS>
nvidia-curand-cu12==<IP_ADDRESS>
nvidia-cusolver-cu12==<IP_ADDRESS>
nvidia-cusparse-cu12==<IP_ADDRESS>
nvidia-nccl-cu12==2.18.1
nvidia-nvjitlink-cu12==12.4.127
nvidia-nvtx-cu12==12.1.105
opencv-python==<IP_ADDRESS>
orjson==3.10.0
packaging==24.0
pandas==2.0.3
parso==0.8.4
peft==0.10.0
pexpect==4.9.0
pickleshare==0.7.5
pillow==10.3.0
pkgutil_resolve_name==1.3.10
platformdirs==4.2.0
prompt-toolkit==3.0.43
protobuf==5.26.1
psutil==5.9.8
ptyprocess==0.7.0
pure-eval==0.2.2
pydantic==2.7.0
pydantic_core==2.18.1
pydub==0.25.1
Pygments==2.17.2
pyparsing==3.1.2
python-dateutil==2.9.0.post0
python-multipart==0.0.9
pytz==2024.1
PyYAML==6.0.1
pyzmq==26.0.0
referencing==0.34.0
regex==2023.12.25
requests==2.31.0
rich==13.7.1
rpds-py==0.18.0
ruff==0.3.7
safetensors==0.4.3
scikit-learn==1.2.2
scipy==1.10.1
semantic-version==2.10.0
sentencepiece==0.1.99
shellingham==1.5.4
shortuuid==1.0.13
six==1.16.0
sniffio==1.3.1
stack-data==0.6.3
starlette==0.37.2
svgwrite==1.4.3
sympy==1.12
threadpoolctl==3.4.0
timm==0.6.13
tokenizers==0.15.1
tomlkit==0.12.0
toolz==0.12.1
torch==2.1.2
torchvision==0.16.2
tornado==6.4
tqdm==4.66.2
traitlets==5.14.2
transformers==4.37.2
triton==2.1.0
typer==0.12.3
typing_extensions==4.11.0
tzdata==2024.1
urllib3==2.2.1
uvicorn==0.29.0
wavedrom==2.0.3.post3
wcwidth==0.2.13
websockets==11.0.3
zipp==3.18.1


⚠ Bofrost.at has degraded performance

In 9182dc4, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2247 ms

Resolved: Bofrost.at performance has improved in 0e376b3 after 17 minutes.


[Bug]: Error still exists on empty Deploy model form

Is there an existing issue for this?

[X] I have searched the existing issues

Deploy type
OpenDataHub core version (eg. v1.6.0)
Version
main
Current Behavior
Discovered this bug while replicating issue #1550.
When an error occurs in the Deploy Model form within Model Serving, it persists even after closing and reopening the form.
Entering long Model name to get error

After closing and reopening the form the error persists

Expected Behavior
Error should be cleared when user closes a form.
Steps To Reproduce

Go to model serving tab.
Click on "Deploy model"
Fill all the blanks, and enter large no. (apprx 50 words)
Click on deploy.
You can see the error.
Cancel the form.
Reopen again by clicking "Deploy model"

Workaround (if any)
No response
What browsers are you seeing the problem on?
Firefox, Chrome
Anything else
No response

mmm weird, this must be a reggresion, cause we've tested this path in the past.
Good catch!

Just to add more context, I think we fixed this in ManageServingRuntimeModal but didn't apply that same fix in ManageInferenceServiceModal.

Seems to be working good. When using a way too long model name, submitting it fails with:

Reopen again is allowed, and the model will be created once the name is legitimate.

@manosnoam that failure is because of your accented characters -- we are addressing that in https://github.com/opendatahub-io/odh-dashboard/issues/1968


[New Port Request] SWIG

Library name
swig
Library description
SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
Source repository URL
https://github.com/swig/swig
Project homepage (if different from the source repository)
https://www.swig.org/
Anything else that is useful to know when adding (such as optional features the library may have that should be included)
No response

vcpkg_find_acquire_program(SWIG) can be used in portfiles.


RUMM-3054 Correctly report viewport size in SR

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1286 (665c0e2) into feature/session-replay (3ed88d5) will decrease coverage by 0.03%.
The diff coverage is 97.73%.

@@                    Coverage Diff                     @@
##           feature/session-replay    #1286      +/-   ##
==========================================================
- Coverage                   82.93%   82.90%   -0.03%
==========================================================
  Files                         364      363       -1
  Lines                       12759    12770      +11
  Branches                     2118     2117       -1
==========================================================
+ Hits                        10581    10586       +5
- Misses                       1535     1542       +7
+ Partials                      643      642       -1

Impacted Files
Coverage Δ

...ssionreplay/internal/recorder/SystemInformation.kt
66.67% <66.67%> (ø)

...replay/internal/processor/RecordedDataProcessor.kt
88.12% <100.00%> (-5.88%)
:arrow_down:

...essionreplay/internal/recorder/SnapshotProducer.kt
89.74% <100.00%> (ø)

...nternal/recorder/listener/WindowsOnDrawListener.kt
91.67% <100.00%> (-2.27%)
:arrow_down:

.../android/sessionreplay/internal/utils/MiscUtils.kt
100.00% <100.00%> (ø)

...android/log/internal/logger/TelemetryLogHandler.kt
71.43% <0.00%> (-14.29%)
:arrow_down:

...id/rum/internal/ndk/DatadogNdkCrashEventHandler.kt
91.00% <0.00%> (-2.00%)
:arrow_down:

...al/persistence/file/batch/BatchFileOrchestrator.kt
93.70% <0.00%> (-1.57%)
:arrow_down:

...in/com/datadog/android/log/internal/LogsFeature.kt
86.03% <0.00%> (-0.74%)
:arrow_down:

... and 6 more


Usage section is not expanded in the online documentation [Safari]

Environment: Safari Version 13.1.3 (15609.4.1).

I go to the official landing page of this project.
I click on the Usage item in the menu on the left side.
No relative content is shown in the main part of the window. The arrow icon on the right side of the menu item rotates down, but now sub-items appear.
The item itself is not highlighted as the selected one.

The workaround is to use Chrome.

This is the intended behavior I believe.
If you have a problem or usability suggestion, you should report it to mkdocs-material.

@samuelcolvin How does one see the contents under this section? I am unable to consume the information I expected to find there.

Here is a link to an introductory video the has the Usage menu unrolled with all the sub-items below it. This is what I expected. As of now, a user like me cannot see all of that information.
PS. For me, as a newcomer to pydantic, this is disappointing to observe the absence of an attempt to understand the crux of the problem, despite step by step reproduction guide was provided in the first place.

As of now, in order to workaround the issue, I have to seek other sources of information.

@dvolosnykh Are you looking for a section list for the overview chapter? If yes, you find it on the right side of the screen.

The "Usage" chapter has sub-chapters which is why you can expand the "Usage" chapter.

I've checked myself and the usage section works fine for me.
You omitted the browser and screen size you're using, so I couldn't investigate further.
If you really can't use the docs website, you can always read the docs on GitHub.

@dvolosnykh Are you looking for a section list for the overview chapter? If yes, you find it on the right side of the screen.
@chbndrhnns Thanks for your participation. No, I am looking for the Usage section contents.

The "Usage" chapter has sub-chapters which is why you can expand the "Usage" chapter.
The problem is that it is not expanded. Only the icon animates as if it was expanded.

I can click on the Overview section and I see the same result as you show via the screenshot.

The menu item is highlighted in red.
The contents with the same title appear in the main window.
The Table of contents exists on the right.
So far so good.

The same applies to the Install section.
The problem comes when I click the Usage section.

The menu item is not highlighted. The one that was previously highlighted remains the highlighted one.
The contents remain for the last viewed section.
The Table of contents is for the last viewed section as well.

The screenshot I show in the starting message is after clicking the Usage menu item.

@samuelcolvin

You omitted the browser and screen size you're using, so I couldn't investigate further.
My bad, indeed.

The browser is Safari Version 13.1.3 (15609.4.1).
The Chrome did the job the way I expected it. Now I can resort to using it as a workaround.

If you really can't use the docs website, you can always read the docs on GitHub.
I tried it, and it misses the examples inline. Hopefully, I have the Chrome browser capable of rendering the docs.

I tried with Safari 15.2 and it worked fine there.

I have edited the title and the original message to reflect more detailed picture.

It might be the case that Safari 13 is no longer supported as per [1], [2], [3].
[1] https://github.com/squidfunk/mkdocs-material/blob/master/.browserslistrc
[2] https://github.com/squidfunk/mkdocs-material/issues/2533#issuecomment-821141617
[3] https://en.wikipedia.org/wiki/Safari_(web_browser)#Safari_13

Okay, I see. I start suffering from being sotly bound to out-of-date system.


Update README.md

Hi dear maintainers,
Thank you for this great project! Here is a small PR with README.md cleanup, hope it's helpful

Awesome, thank you ;)


Popup window not showing for trades.

Not sure if this is the right place to post this.
I'm having trouble getting the popup window to show up when getting trades pms.
I read the trouble shooting guide but nothing there solved my issues.
I have the directory pathed to the right place C:\Program Files (x86)\Grinding Gear Games\Path of Exile
I have the small menu bar showing up but that's it.
Also it doesnt run when I start POE i have to manually start it.
I think I might be installing it wrong? I was unable to find directions on the process that worked for me. Like where the files should be located etc. Some links to directions would be helpful.
Seems like an awesome program and I would really like to try it.
Any help is greatly appreciated.

I don't see many responses to peoples issues. Is there no longer support for this app??

look at discord pls

Thank you for the response. I went to your discord but it's still not working.
I'm pathed to the correct folder in the app. I deleted the folder out of appdata and started over but it still doesn't work.
Not sure what I'm doing wrong.

checkout <IP_ADDRESS> version where I made a small fix associated with the notification panel


Have hashValues() support even more values.

and update Theme to use that.

We might want to ask for a VM intrinsic.  That could support an arbitrary number of arguments efficiently.

See https://github.com/dart-lang/sdk/issues/25217

cc @floitschG Do you think it would be possible for Dart to provide us with a version of hashValues that was better than the hack we have in dart:ui today?

Providing a better way to combine hashCodes is on our list for Dart 2.0 library changes.

Hi, any update on this one? I have a class that has 25 fields that need to be hashed.

The related issue to combine hashCodes seems to be dart-lang/sdk#11617

Since we've had so little need for this, I'm going to say we don't actually need it.


Update package.json

Add custom posts per page
Add Ghost 1.2.0 as engine

🍔 lookin' sharp Will.


integrations: Fixup inconsistent lozenge heights.

This normalizes images to all take up 100px even if they fall short
so that the text that is underneath will always be horizontally
aligned.

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

Merged, thanks @brockwhittaker!


WIP SpanHandler

This is a draft, but I think the idea is sound.. lemme know if you feel it isn't!

currently working to add the parent parameter to the handleCreate api. there's some trickiness as Tracer.toSpan exists and can result in a different reference of TraceContext vs what other callbacks accept. I will try to fix this.

rebased but not ported to use weak maps yet

@jorgheymans @anuraaga @jeqo I ended up going with a listener instead of sharing inheritance with FinishedSpanHandler. The reason is that there are some shortcuts done that mean FinishedSpanHandler can't see all signals.
While ack I haven't documented anything here, I'm wondering if it makes sense to you in general. I'm happy that the child counter example works, and also the orphan tracker works with less (though still a little) hacks..
I don't plan to merge this until I have an example listener that can hold a localRoot until it is all ready or timeout occurred.

@anuraaga I just pushed clean to work over latest HEAD. I've not incorporated your feedback, yet, but will.

@anuraaga please look at https://github.com/openzipkin/brave/pull/1148#discussion_r407617993 as I think we should rework this interface to be simpler vs try to explain its current state. wdyt?

rebased.. next will finally go through feedback :)

In honor of tomorrow's 5 year anniversary of the gathering of OpenZipkin by @eirslett, I propose we re-instate the name SpanCollector for this. It was used in Brave 3.x when @kristofa was head honcho.
Later, I'll deprecate FinishedSpanHandler as an implementation of this.
thumbsup this comment if you like the word SpanCollector, comment with a different word.

ok last changed it back to SpanHandler and notably folded FinishedSpanHandler underneath. Please ignore javadoc and markdown drift which still talks about FinishedSpanHandler for now.
We have to handle (hehe) "alwaysSampleLocal" anyway in order to support FinishedSpanHandler, but I'd like to see if we can change the method slightly to support parameterized decisions as needed by https://github.com/openzipkin-contrib/zipkin-secondary-sampling
After that, the docs need to be shimmied up and FinishedSpanHandler should be deprecated

fyi I'm going to finish this up now, no pun intended.
The above commit includes all resolved comments and no changes based on a rebase. Unresolved comments are considered unresolved. Docs need to be done as well things like spring-beans.

ok cleanups are in.. I will rebase #1167 over this and prepare for release!

Thanks @jeqo @jorgheymans and @anuraaga !


bugpoint: Don't remove modules while iterating over them.

Reported by @ZirconiumX.

Is it possible to add a small bugpoint test?


[question/feature request] live output from vcstool?

If I run something like:
vcs import < repos/perception.repos --workers 1

to set up several large repos, I get no output for a long time except ...... and then at the end when everything is present I get the output detailing all repos, all at once.
Because it takes so long I sometimes wonder if it is making progress or if it will just hang forever - It'd be really nice if I could see the ouput from each repo as it finishes - rather than from everything at the end. Is this possible? Same re. other long-running commands ie. downloading big files with LFS takes ten minutes or more over a slow connection.

There is no such option atm . And since I don't have a use for this tool for now (my workflow has switched to a monorepo) it is unlikely that I will spend time on it in the near future. Please consider to contribute a PR to add any enhancement you find valuable to share with all users.


Make module compatible with more nginx versions

@GUI I have changed the Makefile and updated the code to be compatible with nginx 1.6.2 and 1.9.11 like asked for on issues #2 and #7 respectively.
To run the tests with different setup we can do something like that
# default test suite
make test

# change the nginx version and apply the nearest no_pool patch available
make test nginx_version=1.6.2 nginx_no_pool_version=1.5.9

# change only nginx version, use a no_pool patch with equals version
make test nginx_version=1.7.0

# change nginx, lua modules and other dependencies
make test nginx_version=1.8.0 lua_nginx_module_version=0.10.1rc1 lua_upstream_nginx_module_version=0.04 nginx_no_pool_version=1.9.2

make test nginx_version=1.9.11 lua_nginx_module_version=0.10.1rc1 lua_upstream_nginx_module_version=0.04

Fantastic, thanks! I've given you commit permissions on this repo, so you're welcome to commit directly (but pull requests are still also welcome if you'd like review or discussion).
I'll update CircleCI later this week so that we test against multiple versions on each commit automatically.


Could not find the requested service iptables: cannot enable

The install fails with the following error
{"changed": false, "failed": true, "msg": "Could not find the requested service iptables: cannot enable"}
Ansible version: <IP_ADDRESS> tested on <IP_ADDRESS> also
OS: Mac OSX
External Host: Centos 7 AWS AMI ami-7abd0209

The CentOS AMIs on AWS are https://github.com/kyl191/ansible-role-openvpn/issues/26#issuecomment-281002483 - they're stripped down to the absolute bare minimum, iptables isn't installed.
I'm not confident in adding a blanket 'install iptables' rule, I would suggest that you either add an install pre_task to the playbook which is running the role (see my sample playbook on https://github.com/kyl191/ansible-role-openvpn/issues/26#issuecomment-281001576), or otherwise manually install iptables before running the playbook.

Thanks for the update, I managed to find that as well. I was going to submit a PR but it looks like you're not keen on that so I'll use the pre_task to my playbook.
I'm getting an issue using the generated OVPN file with Viscosity, I suspect it's a Mac OS issue though.


Add color control net plz

Add color control net plz, stable diffusion is very hard to control color,  The Colors easily pollute each other and make mistake.
if can ,Add color control net plz.
Someone can add this to pull requests plz.

Color control is something img2img in the original SD is about.

Have you tried combining img2img with Controlnet?

No, still in txt2img, just like canny or Scribbles add color theme below,
Canny or scribbles is very nice to control the shape of image,
But as I say  stable diffusion is very hard to control color, The Colors easily pollute each other and make mistake.
we still need color control in control net to control the color,
Let me use a picture to explane what I mean:
https://imgur.com/a/oqxi58M
just like picture, we have 1, the canny or scribbles mode now.
And now we need the  new mode like 2 " line and color mode", to control the color for final result' s color, like 3

The img2img use control net can do same thing, but
1 should drag picture twice,
2 should make line no so strong
3  must to preprocessor
4  use more gpu

I don't know whether the spatial palette mode in T2I adapter can fulfill your requirements. https://github.com/TencentARC/T2I-Adapter

yes , we urgently need a control for color, img2img is not very good for color control because img2img not only influences the color of the output but also influences the geometry and style the lower the strength but we want to leave these last two intact, T2I control doesn't work very well

we make a simple extension for proof of concept. FYI.
https://github.com/jinxixiang/color_controlnet

@jinxixiang  interesting, can I use your color model with this Mikubill extension?

@loboere Sure, we plan to release a Webui demo later.

Any progress?


"cannot get total supply" while importing Base Blockchain external contracts

Scenario :  Try to import external contract  on Base Blockchain
e.g., 0x4beeb0d76f06eab4cef96f1272625dfe15e85a61
0x67689883c97f65a6c95f5a2fd61b0ec9a71f3cbc
Observation:     "cannot get total supply"  error displayed on UI
rairnode logs:
6:46:44 AM web.1 |  POST /api/contracts/import/ 200 5.155 ms - 16
6:46:44 AM web.1 |  2024-06-05T06:46:44.534Z [error] : [ethers/importContractData.js] [object Object]

0x4beeb0d76f06eab4cef96f1272625dfe15e85a61 is an 1155 contract, which is not supported.


LoadChange Perturbation Not Changing System

When trying to introduce a load step into the system, the perturbation doesn't appear to be affecting anything.
The simulation runs without error but the results indicate that the perturbation wasn't applied.
Below is the code I ran using PSID v0.9.2
using PowerSimulationsDynamics
using Sundials
using Plots
using PowerSystems
const PSY = PowerSystems
include(joinpath(dirname(@FILE), "models/dynamic_test_data.jl"))
sys_dir = joinpath(dirname(@FILE), "models/ThreeBusMultiLoad.raw")
sys = System(sys_dir, runchecks = false)
set_units_base_system!(sys, "DEVICE_BASE")
function dyn_gen_marconato_tg(generator)
return PSY.DynamicGenerator(
name = get_name(generator),
ω_ref = 1.0, # ω_ref,
machine = machine_marconato(), #machine
shaft = shaft_no_damping(), #shaft
avr = avr_type2(), #avr
prime_mover = tg_type1(), #tg
pss = pss_none(),
)
end
for g in get_components(Generator, sys)
case_gen = dyn_gen_marconato_tg(g)
add_component!(sys, case_gen, g)
end
l_device = get_component(ElectricLoad, sys, "load1031")
l_change = LoadChange(1.0, l_device, :P_ref, 1.4)
path = (joinpath(pwd(), "outputLog"))
sim = Simulation!(ResidualModel, sys, path, (0.0, 5.0), l_change, all_lines_dynamic = true)
execute!(sim, Sundials.IDA())
results = read_results(sim)
apower = get_activepower_series(results, "generator-101-1")
plot(apower, ylim=[0.79, 0.83], label="SG1 Active Power")
freq = get_state_series(results, ("generator-101-1", :ω))
plot(freq, ylim=[0.99, 1.01], label="SG1 Frequency")

This issue doesn't reproduce in the current master of PSID. It seems that it could be a versioning problem, I will close unless @ciaranrob detects the same problem again and re-opens


Android - Request money - There is flickering for a really short time when opening Amount

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app on Android
Click on plus icon > Request money > Type any number > Click on next > Choose any user > Click on Amount and you can see flickering

Expected Result:
There should not be any flickering for a really short time when opening Amount
Actual Result:
There is flickering for a really short time when opening Amount
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: v1.3.50-0
Reproducible in staging?: Needs reproduction (Applause not able to reproduce)
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/01ad58ba-20c9-4258-88c3-b29ec3005ea3
Expensify/Expensify Issue URL:
Issue reported by: @mahmudjontoraqulov
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1691157718716049
View all open jobs on GitHub

I tested this on my Pixel 7 handset now and cannot reproduce on v1.3.54-7


Bug in JSP tag usage detection

If I JSP tag library is imported under different prefixes in different .jsp / .tag files, its usage is detected incorrectly.
For example, /WEB-INF/tags/modals/user.tag is used in file1.jsp with prefix "modal"
<%@ taglib prefix="modals" tagdir="/WEB-INF/tags/modals" %>
<modals:user/>

In file2.jsp the same .tag file is used as
<%@ taglib prefix="dialogs" tagdir="/WEB-INF/tags/modals" %>
<dialogs:user/>

(note prefix "dialogs" instead of "modals").
Technically the file is the same, but only <modals:user/> is recognized by jte-jsp-converter (and, subsequently, Intelij IDEA jte plugin).

Interesting. Would you like to provide a PR with a fix for it?

Closed, as its possible to properly name taglib imports before doing the conversion.


Translate connectivity chapter in English

closes #4

Reads super well, thanks a bunch for getting the ball rolling on the translation Marie-Ève. I'm merging the proposed changes, and I have also pushed the new version on github pages.


Help Blazor users correctly setup the Microsoft.AspNetCore.Components.Web using directive

A using directive for the Microsoft.AspNetCore.Components.Web namespace is required to get the web related Razor directives to work (like @onclick and friends). We add this using directive in our templates, but occasionally users still get tripped up by not having it. For example, I helped someone who was following the Blazor Hybrid tutorials for WPF & WinForms, but they messed up the name of their _Imports.razor file. The app compiled and ran but a bunch of the Razor directives didn't work. I've seen users also start with a Razor Class Library configured with Pages & View and then try to add Blazor components to it run into this problem.
Can we provide better diagnostics for this situation, where users have the web related Razor directives in their code, but they are missing the using directive?
Or could we add this using directive as an implicit using for the Razor SDK? Or maybe just the Web and Blazor WebAssembly SDKs?

Moving this to compiler for a first look (though maybe its an LDM thing?).

Or could we add this using directive as an implicit using for the Razor SDK? Or maybe just the Web and Blazor WebAssembly SDKs?

I think this makes heaps of sense, even if its just the compiler always emiting a using directive based on language version or something. Personally I think _Imports.razor as a concept could stand to disappear now that we have implicit usings in the SDK, and global usings in C#. But that might be too bold 😁


Provide more context on mkdir failures

For example, instead of:
Error: Permission denied (os error 13)

one will get:
Error: Failed to create `/var/lib/taskchampion-sync-server`.

Caused by:
    Permission denied (os error 13)

after this patch is applied.

Nice!


bad request to frontend

General information:
Project issue is for:
*(Server/Modules/Launcher) -> i don't have this path (screen2)
I just updated EFT and reinstalled SPT 3.7 from 0.
First of all, aki.server doesn't appear (antivirus is turned off) so I tried to copy the exe from the previous version but once the game is launched, any edition is chosen and a new profile/character is launched, the error on screen 1 occurs with " bad request to frontend" what should I do?
How to reproduce:

start a new profile
insert the name

Attachments

server-2023-10-13-08.log (48 KiB)
LogOutput.log (6 KiB)
2023.10.13_6-35-24_<IP_ADDRESS>.26282 traces.log (27 KiB)
Screenshot_1.jpg (147 KiB)
Screenshot_2.jpg (91 KiB)

Originally written by Rukawa

You copied the server exe file from 3.6.1 into your 3.7.0 folder?

Originally written by chomp

No response after a month, closing.

Originally written by chomp


[EMB-176] Add status-banner and status cookie management

Purpose
Support passing in status messages as cookies.
Summary of Changes
Add status-banner component, that consumes the ember-cookies service, uses it to read and clears the status cookies, and display status messages once.
Side Effects / Testing Notes
The types of statuses that can happen are:

removing yourself from a private project
make a new account
remove yourself from a private project when you have authorized addons on that project
deleted project/component

Ticket
https://openscience.atlassian.net/browse/EMB-176
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

@hmoco Merge conflict


Remove unsafe code by using pin-project-lite crate

There is so much Pin API related unsafe code can be removed using pin-project or pin-project-lite.
Take a look at a lovely PR by @taiki-e: https://github.com/async-rs/async-std/pull/381
What do you think? I can do that for you if you wish.

Done in https://github.com/rust-lang/futures-rs/pull/2128


file:readDir returned entries does not contain the path component

In "file:readDir", returned values' file:FileInfo only has a "getName()" method, which only contains the file name, but not the full subpath from the passed in directory path to "readDir". Due to this, we cannot identify where a certain file is located.
The only workaround to iterate files is to always list files with readDir with max depth "1" and recursively call it to get it done.

This is definitely a bug, the current functionality is useless without fixing this. @anupama-pathirage why was the "bug" tag removed from this?. This is reported in Sept, and it's still not fixed.

bug confirmed

@lafernando Seems the Type/Bug lable was removed by a mistake.
@wggihan Shall we prioritize this issue for an upcoming release?

Will try to fix this in upcoming 1.1.5 release.

Shall we have the full path instead?. Because, after we do this operation and get individual FileInfo values, they need to have all the information, and not dependent on another value (base path) if we need to get the full path. Also, if we move around FileInfo values, and with the existence of "getRelativePath", someone can ask, what is this in relation to?. So in the context of the FileInfo structure, having the full path will make sense. If someone needs to get the subpath in relation to the base path, we need separate utils to do that.

@lafernando
+1 for the full path. We agree that from the context of Fileinfo structure, having a full path is more meaningful than the relative path. We will proceed with the full path implementation.
The API design for the full path will be as follows:
    # Returns the path
    #
    # + return - the path.
    public function getPath() returns string {
        return self.path;
    }

Looks good!.


Migrate Clipboard handler to TypeScript

Also apply JavaScript rules in .editorconfig in TypeScript files as well.
Part of #335

@Tyriar feel free to review the updated PR and my replies to your comments.

@Tyriar I move on with merging this in order to move forward with issuing the 2.2.0 release, since I fixed most of your comments, while the dangling ones are more of naming nature and can be changed post-release without affecting the user experience.

lgtm!


Location List Doesn't Close After All Errors Have Been Addressed

Information
VIM version
NVIM v0.3.4
Build type: Release

Operating System: macOS 10.14
What went wrong
I have an error in my file, which shows up in the quickfix list.  I fix the error in my file.  ALE does not auto-close the location list once the error has been corrected.
Additionally if I have an error, then close the location list, ALE opens the location list again, shows the error, runs the checks, then leaves me with an empty location list.
a) The location list should not reopen until ALE is sure that there are errors remaining in the file after the checks run.
b) We need a way to auto-close the location list if there are no more errors after checks.  The QuitPre autocommand only works if you're closing the buffer, which I am not.
Reproducing the bug
See above
:ALEInfo
https://gist.github.com/jfelchner/77a37bde7fdff2275f1c5bf7252b30e8

It's supposed to do what you describe. Let me know which linters you were using, as the :ALEInfo output there seems to be for another buffer where no linters are enabled.

@w0rp I updated the gist

I am experiencing the same issue
Build type: Release```

**:ALEInfo**
https://gist.github.com/CorbanR/0ed4833d9e3dd836a904a77559a629b0

**Relevant .vimrc config**
https://gist.github.com/CorbanR/2a57a7e0fa7beb1ef33506cff575c366

This was probably caused by #2415. git pull and try it again. If the issue persists, debug it and submit a patch for it. I can't repeat the bug myself.

Thanks for creating this plugin w0rp, Ale is srsly amazing.
Still appears to be an issue. Again, it seems tied to solargraph being enabled as a linter.
When solargraph is not loaded as a linter it does NOT seem to be a problem.
let b:ale_linters = {
\    'ruby': ['brakeman', 'rails_best_practices', 'reek', 'rubocop', 'ruby', 'standardrb']
\}

I have fixed this now. The problem was specific to only Language Server Protocol. The problem is that it's impossible to tell if a language server will respond to a file changing or being saved with diagnostics, so ALE can't keep track of if results are pending from language servers, as they may never arrive. ALE does this reliably for tsserver, which requires an explicit message to request diagnostics, and which always returns a response for that message. ALE was using that information for determining if the location list window should be closed, to prevent it from popping open and closed too often. (Which for regular command line linters is very annoying.)
I have created an issue for the protocol here. https://github.com/Microsoft/language-server-protocol/issues/737 I think the protocol should be updated to support a mode which means that diagnostics are only sent to clients that explicitly request them, for a number of reasons.

@w0rp I just tested and it's working great now.  Thank you!


IPFS content displayed in site UI

Why are you submitting this feature request
This is a follow up of a chat wit @ethersir on Telegram: it is not easy currently for  a regular user to display the content behind a CID as listed by the page https://play.temporal.cloud/uploads
The only way is to build the proper URL of a known public IPFS gateway (including Temporal's with the hash copied from the list  and paste it in another tab of the browser.
Describe the solution you'd like
We would appreciate to have some clickable icon at the end of each hash line. A clik would trigger the opening of new browser Window displaying the content corresponding to the hash.in its native form (i.e. a picture as a picture and not a binary representation) .
If the hash is the head of a dag representing a directory with files, a nice file-explorer-like display would be expected.
Describe alternatives you've considered
What else have you tried, that hasn't worked, or that didn't fully solve your problem?
Additional context
As said above, the only known (but very unpractical) way is to go through a public IPFS gtw.

We are currently redesigning the playground, and this feature will be added to the new playground. I will close this issue upon release of the new playground.

Thanks for the reply. We are looking forward to this new playground! In the meantime, we can use IPFS gateways to view the content that we are interested in.


Can not browser files with non-root user through Minio console of the full-featured s3 gateway

What happened:
When login with non-root user that has s3:* permission, clicking the Browser button on a bucket doesn't show the browser page on Minio console.
What you expected to happen:
Can browser files like a root user.
How to reproduce it (as minimally and precisely as possible):
# build the minio
git clone -b gateway git@github.com:juicedata/minio.git && cd minio
make build
# run juicefs with local postgresql-15.3 running
juicefs format "postgres://postgres:postgres@localhost:5432/postgres?sslmode=disable" mybucket
./minio  gateway  juicefs --multi-buckets --keep-etag  --console-address ':59001' "postgres://postgres:postgres@localhost:5432/postgres?sslmode=disable"

Login to Minio console with admin and create a new policy called myuser
{
    "Version": "2012-10-17",
    "Statement": [
        {
          "Action": ["admin:*"],
          "Effect": "Allow"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::${aws:username}"
            ]
        }
    ]
}

Create a new non-root user test-user and assign the myuser policy above
create a top level of directory test-user as buckets
logout and login with test-user
click Browser button on test-user bucket. Nothing happen

Anything else we need to know?
Environment:

JuiceFS version (use juicefs --version) or Hadoop Java SDK version: 1.0.4+2023-04-06.f1c475d
Cloud provider or hardware configuration running JuiceFS: local disk
OS (e.g cat /etc/os-release): MacOS 12.4
Kernel (e.g. uname -a): Darwin Kernel Version 21.5.0
Object storage (cloud provider and region, or self maintained): local disk
Metadata engine info (version, cloud provider managed or self maintained): running at docker image: postgres:15.3-alpine
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage): localhost
Others:
Minio version : DEVELOPMENT.2023-04-06T06-42-53Z

Your Resource format is strange, "arn:aws:s3:::*" is ok
{
    "Version": "2012-10-17",
    "Statement": [
        {
          "Action": ["admin:*"],
          "Effect": "Allow"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::*"
            ]
        }
    ]
}

Inspired by @zhijian-pro
Manually replacing ${aws:username} with test-user works properly.
It seems that the system does not substitute the ${aws:username} variable properly when the gateway runs in --multi-buckets mode.
{
    "Version": "2012-10-17",
    "Statement": [
        {
          "Action": ["admin:*"],
          "Effect": "Allow"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::test-user"
            ]
        }
    ]
}

Does MinIO have documentation on their support for the ${aws:username} syntax ?

It may be a bug that this syntax is not supported, it's not a serious problem.
Now that you've found a workaround, I'll close the issue.


Built-in Daylight sensor not reporting changes in light levels? Button not reporting multiple presses?

Hi,
Very much enjoying Homebridge, thanks for your efforts.
I have a v1 Hub which shows the built-in daylight sensor and the Hub button. The lights work great, and the button registers a single press with ' homebridge -D ', but the light levels never change from 0.0001 lux, and multiple/long presses aren't registered. Anyone have any ideas? Thanks, t

The button on the bridge only reports single press, so that’s the only thing I can support.
Did you configure the Daylight sensor?  You need to enter your coordinates before the Hue bridge retrieves your local sunrise/sunset times from the meethue portal.

Hi,
Thanks. Is there published guidance on how to set the daylight sensor? I see from the dev API info you provide decimal lat/long, and found reference to someone setting them using curl, but don’t know how to do this.
I saw elsewhere on the homebridge-hue git pages reference to virtual switches, would it be possible to set up a virtual switch to emulate an on/off with the hue bridge button?
Thanks again, t

On 5 Feb 2018, at 06:45, Erik Baauw<EMAIL_ADDRESS>wrote:
The button on the bridge only reports single press, so that’s the only thing I can support.
Did you configure the Daylight sensor? You need to enter your coordinates before the Hue bridge retrieves your local sunrise/sunset times from the meethue portal.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

With the latest version of homebride-hue you should get a ph command to interact with the Hue bridge.  Try ph —help.  After you’ve create a username with ph -H address createuser (where address is the hostname or IP address of your Hue bridge), you can configure the Daylight sensor through:
ph -H address put /sensors/1/config ’{
  ”lat”: ”...”,
  ”long”: ”...”
}’

(Best not copy/paste this - I think my iPad screwed up the quotation marks.)  See 2.6 on https://developers.meethue.com/documentation/supported-sensors.

would it be possible to set up a virtual switch to emulate an on/off with the hue bridge button?

Not sure what you mean by emulate?  To turn lights on/off by the bridge button, simply setup a HomeKit automation.  You might need to use Eve instead of Apple’s Home app, to specify a condition (whether the lights are currently on or off).
If you want to use a virtual switch, create a CLIPGenericFlag sensor, use a HomeKit automation to set it, use a bridge rule with a ddx condition to clear it automatically after a second and create a set of bridge rules to turn the lights on or off, based on the flag and current light state.

Thanks that’s very helpful.
Sorry to be thick but how can I issue the command in an interactive shell? I’m routinely running as a background process, but if I run Homebridge in the active terminal session, it’s not interactive, status reports only?
Will look into switches, looks straightforward, but more reading required!
Thanks again, t

With the latest version of homebride-hue you should get a ph command to interact with the Hue bridge. Try ph —help. After you’ve create a username with ph -Haddress createuser (where address is the hostname or IP address of your Hue bridge), you can configure the Daylight sensor through:
ph -H address put /sensors/1/config ’{
”lat”: ”...”,
”long”: ”...”
}’
(Best not copy/paste this - I think my iPad screwed up the quotation marks.) See 2.6 on https://developers.meethue.com/documentation/supported-sensors.
would it be possible to set up a virtual switch to emulate an on/off with the hue bridge button?
Not sure what you mean by emulate? To turn lights on/off by the bridge button, simply setup a HomeKit automation. You might need to use Eve instead of Apple’s Home app, to specify a condition (whether the lights are currently on or off).
If you want to use a virtual switch, create a CLIPGenericFlag sensor, use a HomeKit automation to set it, use a bridge rule with a ddx condition to clear it automatically after a second and create a set of bridge rules to turn the lights on or off, based on the flag and current light state.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Just open a terminal window type type ph.  It’s a command line utility that runs independent from homebridge-hue.

Hi,
Thanks again for your help. Some progress. For others following the same path, I needed to update both home bridge and homebridge-hue. I used the following commands.
sudo npm install -g homebridge
sudo npm -g install homebridge-hue@latest
With latest versions, I could use ph in the terminal, I think I created a user by pressing the Hue Bridge button and then issuing:
ph -H <IP_ADDRESS> createuser
This seems to write a file ~/.ph with a bit of JSON inc. a username.
Then if I try to set the lat long with (using the lat long information from the Hue Dev pages):
ph -H <IP_ADDRESS> put /sensors/1/config '{ "lat": "010.5186N", "long": "000.3295W" }'
I get:
ph put: error: http status 400
Any ideas where to go from here? I’m running Homebridge on a Mac-mini.
Thanks, t

Just open a terminal window type type ph. It’s a command line utility that runs independent from homebridge-hue.

400 means: bad request.  Maybe you need to set the offsets as well.  Maybe it doesn’t like the leading zeroes.  This is not something I do on a daily basis ;-)
What version of ph did you install (see ph -V)?  The later versions should only report back an http error status when the Hue bridge returns an empty body.  Typically, it will issue a more descriptive error message in the body.  You might try enabling debugging to see the request to and response from the Hue bridge (amongst a whole lot of other stuff):
DEBUG=* ph -H <IP_ADDRESS> put /sensors/1/config '{
  "long": "0.3295W",
  "lat": "10.5186N",
  "sunriseoffset": 0,
  "sunsetoffset": 0
}'

Hint: you can also specify the bridge address in the PH_HOST environment variable, so you don’t have to specify it with -H each time:
export PH_HOST=<IP_ADDRESS>

Hi,
Thanks for thugging away at this with me.
Tried with and without the leading zeros, no difference status 400.
Looking through the debug, I can’t see any obvious errors (with my very limited knowledge). Any other suggestions? Debug listed below. Looks like the Hub is talking, but there’s something wrong with the json?
Thanks, t

400 means: bad request. Maybe you need to set the offsets as well. Maybe it doesn’t like the leading zeroes. This is not something I do on a daily basis ;-)
What version of ph did you install (see ph -V)? The later versions should only report back an http error status when the Hue bridge returns an empty body. Typically, it will issue a more descriptive error message in the body. You might try enabling debugging to see the request to and response from the Hue bridge (amongst a whole lot of other stuff):
DEBUG=* ph -H <IP_ADDRESS> put /sensors/1/config '{
"long": "0.3295W",
"lat": "10.5186N",
"sunriseoffset": 0,
"sunsetoffset": 0
}'
Hint: you can also specify the bridge address in the PH_HOST environment variable, so you don’t have to specify it with -H each time:
export PH_HOST=<IP_ADDRESS>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

home:~ media$ DEBUG=* ph -H <IP_ADDRESS> put /sensors/1/config '{ "long": "0.3295W", "lat": "10.5186N", "sunriseoffset": 0, "sunsetoffset": 0 }'
  OptionParser #0 constructor({"chalk":false,"debug":false,"program":true,"timestamp":false}) +0ms
  OptionParser #0 boolKey("chalk") +3ms
  OptionParser #0 boolKey("debug") +0ms
  OptionParser #0 boolKey("program") +0ms
  OptionParser #0 boolKey("timestamp") +1ms
  OptionParser #0 enumKey("mode") +0ms
  OptionParser #0 enumKeyValue("mode", "command") +0ms
  OptionParser #0 enumKeyValue("mode", "daemon") +0ms
  OptionParser #0 enumKeyValue("mode", "service") +0ms
  OptionParser #0 parse({"mode":"command","debug":false}) +1ms
  OptionParser #0 parse() => {"chalk":false,"debug":false,"program":true,"timestamp":false} +0ms
  CommandLineParser #0 constructor() +0ms
  CommandLineParser #0 flag("h", "help") +1ms
  CommandLineParser #0 flag("V", "version") +0ms
  CommandLineParser #0 optionHost("H", "host") +0ms
  CommandLineParser #0 optionInt("t", "timeout", 1, 30) +1ms
  CommandLineParser #0 option("u", "username") +0ms
  CommandLineParser #0 parameter("command") +0ms
  CommandLineParser #0 remaining() +0ms
  CommandLineParser #0 parse(["-H","<IP_ADDRESS>","put","/sensors/1/config","{ \"long\": \"0.3295W\", \"lat\": \"10.5186N\", \"sunriseoffset\": 0, \"sunsetoffset\": 0 }"]) +1ms
  CommandLineParser #0 parse() => option: -H <IP_ADDRESS> +0ms
  CommandLineParser #0 parse() => parameter command: put +1ms
  CommandLineParser #0 parse() => remaining: ["/sensors/1/config","{ \"long\": \"0.3295W\", \"lat\": \"10.5186N\", \"sunriseoffset\": 0, \"sunsetoffset\": 0 }"] +0ms
  HueClient #1 constructor({"host":"<IP_ADDRESS>"}) +0ms
  OptionParser #1 constructor({"hostname":"localhost","port":80,"username":"unknown","timeout":5}) +0ms
  OptionParser #1 hostKey("host", "hostname", "port") +1ms
  OptionParser #1 stringKey("username", true) +0ms
  OptionParser #1 intKey("timeout", 1, 60) +0ms
  OptionParser #1 parse({"host":"<IP_ADDRESS>"}) +0ms
  OptionParser #1 parse() => {"hostname":"<IP_ADDRESS>","port":80,"username":"unknown","timeout":5} +0ms
  HueClient #1 constructor() => {"hostname":"<IP_ADDRESS>","port":80,"username":"unknown","timeout":5,"url":"http://<IP_ADDRESS>"} +1ms
  HueClient #1 getConfig() +1ms
  HueClient #1 get("/config") +0ms
  HueClient #1 request({"method":"get","url":"http://<IP_ADDRESS>/api/config","headers":{"Connection":"keep-alive"},"timeout":5000,"json":true}) +1ms
  HueClient #1 request({"method":"get","url":"http://<IP_ADDRESS>/api/config","headers":{"Connection":"keep-alive"},"timeout":5000,"json":true}) => {"statusCode":200,"body":{"name":"Hue Bridge G’s","datastoreversion":"59","swversion":"01038802","apiversion":"1.16.0","mac":"00:17:88:1a:1d:86","bridgeid":"001788FFFE1A1D86","factorynew":false,"replacesbridgeid":null,"modelid":"BSB001"},"headers":{"cache-control":"no-store, no-cache, must-revalidate, post-check=0, pre-check=0","pragma":"no-cache","expires":"Mon, 1 Aug 2011 09:00:00 GMT","connection":"close","access-control-max-age":"3600","access-control-allow-origin":"*","access-control-allow-credentials":"true","access-control-allow-methods":"POST, GET, OPTIONS, PUT, DELETE, HEAD","access-control-allow-headers":"Content-Type","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"<IP_ADDRESS>","port":80,"hostname":"<IP_ADDRESS>","hash":null,"search":null,"query":null,"pathname":"/api/config","path":"/api/config","href":"http://<IP_ADDRESS>/api/config"},"method":"get","headers":{"Connection":"keep-alive","accept":"application/json","content-length":0}}} +35ms
  HueClient #1 get("/config", []) => {"name":"Hue Bridge G’s","datastoreversion":"59","swversion":"01038802","apiversion":"1.16.0","mac":"00:17:88:1a:1d:86","bridgeid":"001788FFFE1A1D86","factorynew":false,"replacesbridgeid":null,"modelid":"BSB001"} +0ms
  HueClient #1 getConfig() => {"name":"Hue Bridge G’s","datastoreversion":"59","swversion":"01038802","apiversion":"1.16.0","mac":"00:17:88:1a:1d:86","bridgeid":"001788FFFE1A1D86","factorynew":false,"replacesbridgeid":null,"modelid":"BSB001"} +0ms
  CommandLineParser #1 constructor() +0ms
  CommandLineParser #1 flag("h", "help") +0ms
  CommandLineParser #1 flag("v", "verbose") +0ms
  CommandLineParser #1 parameter("resource") +0ms
  CommandLineParser #1 remaining() +0ms
  CommandLineParser #1 parse(["/sensors/1/config","{ \"long\": \"0.3295W\", \"lat\": \"10.5186N\", \"sunriseoffset\": 0, \"sunsetoffset\": 0 }"]) +0ms
  CommandLineParser #1 parse() => parameter resource: /sensors/1/config +0ms
  CommandLineParser #1 parse() => remaining: ["{ \"long\": \"0.3295W\", \"lat\": \"10.5186N\", \"sunriseoffset\": 0, \"sunsetoffset\": 0 }"] +1ms
  HueClient #1 put("/sensors/1/config", {"long":"0.3295W","lat":"10.5186N","sunriseoffset":0,"sunsetoffset":0}) +12ms
  HueClient #1 request({"method":"put","url":"http://<IP_ADDRESS>/api/[object Object]/sensors/1/config","headers":{"Connection":"keep-alive"},"timeout":5000,"json":true,"body":{"long":"0.3295W","lat":"10.5186N","sunriseoffset":0,"sunsetoffset":0}}) +0ms
  HueClient #1 request({"method":"put","url":"http://<IP_ADDRESS>/api/[object Object]/sensors/1/config","headers":{"Connection":"keep-alive"},"timeout":5000,"json":true,"body":{"long":"0.3295W","lat":"10.5186N","sunriseoffset":0,"sunsetoffset":0}}) => {"statusCode":400,"body":"Bad URL in request","headers":{"cache-control":"no-store, no-cache, must-revalidate, post-check=0, pre-check=0","pragma":"no-cache","expires":"Mon, 1 Aug 2011 09:00:00 GMT","connection":"close","access-control-max-age":"3600","access-control-allow-origin":"*","access-control-allow-credentials":"true","access-control-allow-methods":"POST, GET, OPTIONS, PUT, DELETE, HEAD","access-control-allow-headers":"Content-Type","content-type":"text/html"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"<IP_ADDRESS>","port":80,"hostname":"<IP_ADDRESS>","hash":null,"search":null,"query":null,"pathname":"/api/[object%20Object]/sensors/1/config","path":"/api/[object%20Object]/sensors/1/config","href":"http://<IP_ADDRESS>/api/[object%20Object]/sensors/1/config"},"method":"put","headers":{"Connection":"keep-alive","accept":"application/json","content-type":"application/json","content-length":70}}} +7ms
ph put: error: http status 400
home:~ media$
home:~ media$ DEBUG=* ph -H <IP_ADDRESS> put /sensors/1/config '{ "long": "0.3295W", "lat": "10.5186N", "sunriseoffset": 0, "sunsetoffset": 0 }'
  OptionParser #0 constructor({"chalk":false,"debug":false,"program":true,"timestamp":false}) +0ms
  OptionParser #0 boolKey("chalk") +3ms
  OptionParser #0 boolKey("debug") +1ms
  OptionParser #0 boolKey("program") +0ms
  OptionParser #0 boolKey("timestamp") +0ms
  OptionParser #0 enumKey("mode") +0ms
  OptionParser #0 enumKeyValue("mode", "command") +0ms
  OptionParser #0 enumKeyValue("mode", "daemon") +1ms
  OptionParser #0 enumKeyValue("mode", "service") +0ms
  OptionParser #0 parse({"mode":"command","debug":false}) +0ms
  OptionParser #0 parse() => {"chalk":false,"debug":false,"program":true,"timestamp":false} +0ms
  CommandLineParser #0 constructor() +0ms
  CommandLineParser #0 flag("h", "help") +1ms
  CommandLineParser #0 flag("V", "version") +0ms
  CommandLineParser #0 optionHost("H", "host") +0ms
  CommandLineParser #0 optionInt("t", "timeout", 1, 30) +0ms
  CommandLineParser #0 option("u", "username") +1ms
  CommandLineParser #0 parameter("command") +0ms
  CommandLineParser #0 remaining() +0ms
  CommandLineParser #0 parse(["-H","<IP_ADDRESS>","put","/sensors/1/config","{ \"long\": \"0.3295W\", \"lat\": \"10.5186N\", \"sunriseoffset\": 0, \"sunsetoffset\": 0 }"]) +1ms
  CommandLineParser #0 parse() => option: -H <IP_ADDRESS> +0ms
  CommandLineParser #0 parse() => parameter command: put +0ms
  CommandLineParser #0 parse() => remaining: ["/sensors/1/config","{ \"long\": \"0.3295W\", \"lat\": \"10.5186N\", \"sunriseoffset\": 0, \"sunsetoffset\": 0 }"] +0ms
  HueClient #1 constructor({"host":"<IP_ADDRESS>"}) +0ms
  OptionParser #1 constructor({"hostname":"localhost","port":80,"username":"unknown","timeout":5}) +0ms
  OptionParser #1 hostKey("host", "hostname", "port") +0ms
  OptionParser #1 stringKey("username", true) +0ms
  OptionParser #1 intKey("timeout", 1, 60) +1ms
  OptionParser #1 parse({"host":"<IP_ADDRESS>"}) +0ms
  OptionParser #1 parse() => {"hostname":"<IP_ADDRESS>","port":80,"username":"unknown","timeout":5} +0ms
  HueClient #1 constructor() => {"hostname":"<IP_ADDRESS>","port":80,"username":"unknown","timeout":5,"url":"http://<IP_ADDRESS>"} +1ms
  HueClient #1 getConfig() +0ms
  HueClient #1 get("/config") +1ms
  HueClient #1 request({"method":"get","url":"http://<IP_ADDRESS>/api/config","headers":{"Connection":"keep-alive"},"timeout":5000,"json":true}) +0ms
  HueClient #1 request({"method":"get","url":"http://<IP_ADDRESS>/api/config","headers":{"Connection":"keep-alive"},"timeout":5000,"json":true}) => {"statusCode":200,"body":{"name":"Hue Bridge G’s","datastoreversion":"59","swversion":"01038802","apiversion":"1.16.0","mac":"00:17:88:1a:1d:86","bridgeid":"001788FFFE1A1D86","factorynew":false,"replacesbridgeid":null,"modelid":"BSB001"},"headers":{"cache-control":"no-store, no-cache, must-revalidate, post-check=0, pre-check=0","pragma":"no-cache","expires":"Mon, 1 Aug 2011 09:00:00 GMT","connection":"close","access-control-max-age":"3600","access-control-allow-origin":"*","access-control-allow-credentials":"true","access-control-allow-methods":"POST, GET, OPTIONS, PUT, DELETE, HEAD","access-control-allow-headers":"Content-Type","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"<IP_ADDRESS>","port":80,"hostname":"<IP_ADDRESS>","hash":null,"search":null,"query":null,"pathname":"/api/config","path":"/api/config","href":"http://<IP_ADDRESS>/api/config"},"method":"get","headers":{"Connection":"keep-alive","accept":"application/json","content-length":0}}} +35ms
  HueClient #1 get("/config", []) => {"name":"Hue Bridge G’s","datastoreversion":"59","swversion":"01038802","apiversion":"1.16.0","mac":"00:17:88:1a:1d:86","bridgeid":"001788FFFE1A1D86","factorynew":false,"replacesbridgeid":null,"modelid":"BSB001"} +0ms
  HueClient #1 getConfig() => {"name":"Hue Bridge G’s","datastoreversion":"59","swversion":"01038802","apiversion":"1.16.0","mac":"00:17:88:1a:1d:86","bridgeid":"001788FFFE1A1D86","factorynew":false,"replacesbridgeid":null,"modelid":"BSB001"} +0ms
  CommandLineParser #1 constructor() +0ms
  CommandLineParser #1 flag("h", "help") +0ms
  CommandLineParser #1 flag("v", "verbose") +0ms
  CommandLineParser #1 parameter("resource") +0ms
  CommandLineParser #1 remaining() +0ms
  CommandLineParser #1 parse(["/sensors/1/config","{ \"long\": \"0.3295W\", \"lat\": \"10.5186N\", \"sunriseoffset\": 0, \"sunsetoffset\": 0 }"]) +0ms
  CommandLineParser #1 parse() => parameter resource: /sensors/1/config +0ms
  CommandLineParser #1 parse() => remaining: ["{ \"long\": \"0.3295W\", \"lat\": \"10.5186N\", \"sunriseoffset\": 0, \"sunsetoffset\": 0 }"] +1ms
  HueClient #1 put("/sensors/1/config", {"long":"0.3295W","lat":"10.5186N","sunriseoffset":0,"sunsetoffset":0}) +11ms
  HueClient #1 request({"method":"put","url":"http://<IP_ADDRESS>/api/[object Object]/sensors/1/config","headers":{"Connection":"keep-alive"},"timeout":5000,"json":true,"body":{"long":"0.3295W","lat":"10.5186N","sunriseoffset":0,"sunsetoffset":0}}) +0ms
  HueClient #1 request({"method":"put","url":"http://<IP_ADDRESS>/api/[object Object]/sensors/1/config","headers":{"Connection":"keep-alive"},"timeout":5000,"json":true,"body":{"long":"0.3295W","lat":"10.5186N","sunriseoffset":0,"sunsetoffset":0}}) => {"statusCode":400,"body":"Bad URL in request","headers":{"cache-control":"no-store, no-cache, must-revalidate, post-check=0, pre-check=0","pragma":"no-cache","expires":"Mon, 1 Aug 2011 09:00:00 GMT","connection":"close","access-control-max-age":"3600","access-control-allow-origin":"*","access-control-allow-credentials":"true","access-control-allow-methods":"POST, GET, OPTIONS, PUT, DELETE, HEAD","access-control-allow-headers":"Content-Type","content-type":"text/html"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"<IP_ADDRESS>","port":80,"hostname":"<IP_ADDRESS>","hash":null,"search":null,"query":null,"pathname":"/api/[object%20Object]/sensors/1/config","path":"/api/[object%20Object]/sensors/1/config","href":"http://<IP_ADDRESS>/api/[object%20Object]/sensors/1/config"},"method":"put","headers":{"Connection":"keep-alive","accept":"application/json","content-type":"application/json","content-length":70}}} +7ms
ph put: error: http status 400
home:~ media$

Thanks, this looks like a bug in ph.  I’ll have to look when I get home...

There is a bug in v0.3.4 with ph createuser.  It creats the wrong entry in ~/.ph, causing an "error: http status 400" for each subsequent ph command to the same bridge/gateway.
Please re-install homebridge-hue through sudo npm -g i homebridge-hue, this should update homebridge-hue-utils to v0.3.5.  After that, create a new API username through ph -H <IP_ADDRESS> createuser - this will overwrite the wrong entry in ~/.ph.  After that, re-try setting the Daylight configuration.

Excellent, thanks, that seems to have allowed setup. homebridge -D looks okay. Should I see the sensor in Home on iOS, show a daytime/nighttime switch? I seems to be reporting daytime with no lux values (as previously), and it’s night right now. If I query the Hub with ph, I’m getting 503 errors. Definitely progress though!
Thanks, Terry

There is a bug in v0.3.4 with ph createuser. It creats the wrong entry in ~/.ph, causing an "error: http status 400" for each subsequent ph command to the same bridge/gateway.
Please re-install homebridge-hue through sudo npm -g i homebridge-hue, this should update homebridge-hue-utils to v0.3.5. After that, create a new API username through ph -H <IP_ADDRESS> createuser - this will overwrite the wrong entry in ~/.ph. After that, re-try setting the Daylight configuration.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Should I see the sensor in Home on iOS, show a daytime/nighttime switch?

No, it shows as a lightlevel sensor, 0.0001 lux when it's dark and 100000 lux (give or take a 0) when it's daylight.
The bridge needs an Internet connection to retrieve the daylight settings for your location from the meethue portal.  You should be able to do a ph -H <IP_ADDRESS> get /sensors/1, and check state.daylight and state.lastupdated.  The latter should be (more or less) the time of setting the sensor's config.

I’m getting 503 errors.

http status 503 means: service unavailable.  This would indicate that the Hue bridge is in error, or overloaded.  The v1 bridge is far less powerful than the v2 bridge.  How many apps are connected to the bridge while you issue ph?  Do you see any errors in the homebridge log?  What heartrate setting do you use for homebridge-hue - a value of 2 might be stretching it (and 1 doesn't even work for a v2 bridge).
Best power-cycle your bridge and see if it sets the Daylight sensor (should be well within a minute after rebooting).

Hi Erik,
Excellent, we’re up and running. Home app reporting 100,00 lux. I can query the sensor with:
ph -H <IP_ADDRESS> get /sensors/1
and it returns:
{
  "state": {
    "daylight": true,
    "lastupdated": "2018-02-07T08:24:00"
  },
  "config": {
    "on": true,
    "configured": true,
    "sunriseoffset": 30,
    "sunsetoffset": -30
  },
  "name": "Daylight",
  "type": "Daylight",
  "modelid": "PHDL00",
  "manufacturername": "Philips",
  "swversion": "1.0"
}

Many thanks for all your help with this.
Best wishes, t

Should I see the sensor in Home on iOS, show a daytime/nighttime switch?
No, it shows as a lightlevel sensor, 0.0001 lux when it's dark and 100000 lux (give or take a 0) when it's daylight.
The bridge needs an Internet connection to retrieve the daylight settings for your location from the meethue portal. You should be able to do a ph -H <IP_ADDRESS> get /sensors/1, and check state.daylight and state.lastupdated. The latter should be (more or less) the time of setting the sensor's config.
I’m getting 503 errors.
http status 503 means: service unavailable. This would indicate that the Hue bridge is in error, or overloaded. The v1 bridge is far less powerful than the v2 bridge. How many apps are connected to the bridge while you issue ph? Do you see any errors in the homebridge log? What heartrate setting do you use for homebridge-hue - a value of 2 might be stretching it (and 1 doesn't even work for a v2 bridge).
Best power-cycle your bridge and see if it sets the Daylight sensor (should be well within a minute after rebooting).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


build(wasm-api): update build-v0.11.zig for zig master

Due to changes to the zig build system in master, three small changes are needed to support zig v0.11.0-dev.2266+49e33a2f2

Ohh, thanks @MarcusWagberg - hadn't seen that one yet... would you also have a link/issue for reference? Thank you! 🙏

This was due to this commit in zig master which changed std.Build.Step to include a owner: *std.Build field and removed the builder: *std.Build field from std.Build.CompileStep.
Therefore the pointer to std.Build is no longer stored in the parent struct e.g std.Build.CompileStep but in the std.Build.Step struct which is a field of the parent struct.

Awesome, thank you! Will release new versions later today!


Issue 329

closes #329

Codecov Report

Merging #337 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #337   +/-   ##
=====================================
  Coverage      82%    82%
=====================================
  Files          25     25
  Lines        1901   1901
=====================================
  Hits         1546   1546
  Misses        217    217
  Partials      138    138

Continue to review full report at Codecov.

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


Android release got failed.

Hello There,
In React Native my android release build got failed because of below error, can you please help me out i need to upload application in play store.

What went wrong:
Execution failed for task ':react-native-orientation:verifyReleaseResources'.

com.android.ide.common.process.ProcessException: Failed to execute aapt

build.gradle ==>>
ext {
minSdkVersion = 16
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "26.1.0"
}
package.json
"dependencies": {
"react": "16.4.1",
"react-native": "0.56.0",
"react-native-orientation": "^3.1.3",
},

I have solved issue with below code in android/build.gradle, might someone helps.
subprojects {
project.configurations.all {
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
}
}
}
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "26.0.2"
}
}
}
}

Its because mismatch versions in this projects build configuration and the app level build configurations.
I solved it with the following changes:
`def safeExtGet(prop, fallback) {
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}
apply plugin: 'com.android.library'
android {
compileSdkVersion safeExtGet('compileSdkVersion', 28)
buildToolsVersion safeExtGet('buildToolsVersion', '28.0.3')
defaultConfig {
    minSdkVersion safeExtGet('minSdkVersion', 19)
    targetSdkVersion safeExtGet('targetSdkVersion', 28)
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }
}

}
dependencies {
compile "com.facebook.react:react-native:+"
}
`