MethodBreakpoint stops when a sibling class calls the target method

Given the script
class Foo
  def self.bar
  end
end

class A < Foo
end

class B < Foo
end

binding.b(do: "b A.bar")

B.bar

And the command: ruby -Ilib -r debug target.rb
The debugger stops when B.bar is called, even though the command specified A.bar.
❯ ruby -Ilib -r debug target.rb
DEBUGGER: Session start (pid: 41486)
[7, 14] in target.rb
      7| end
      8|
      9| class B < Foo
     10| end
     11|
=>   12| binding.b(do: "b A.bar")
     13|
     14| B.bar
=>#0    <main> at target.rb:12
(rdbg:binding.break) b A.bar
#0  BP - Method  A.bar at target.rb:2
[1, 10] in target.rb
      1| class Foo
=>    2|   def self.bar
      3|   end
      4| end
      5|
      6| class A < Foo
      7| end
      8|
      9| class B < Foo
     10| end
=>#0    #<Class:Foo>#bar at target.rb:2
  #1    <main> at target.rb:14

Stop by #0  BP - Method  A.bar at target.rb:2

I expect B.bar not to trigger the breakpoint.
After the investigation, I think MethodBreakpoint captures the correct method:
From: /Users/st0012/projects/debug/lib/debug/breakpoint.rb @ line 399 :

    394:       eval_class_name
    395:       search_method
    396:
    397:       begin
    398:         retried = false
 => 399:         binding.irb
    400:         @tp.enable(target: @method)
    401:         DEBUGGER__.warn "#{self} is activated." if added
    402:
    403:       rescue ArgumentError
    404:         raise if retried

irb( BP - Method  A.bar at target.rb:2):001:0> @method
=> #<Method: A.bar() target.rb:2>

But the TracePoint is enabled anyway. So I'm not sure if this is a bug of debugger or TracePoint.

break expr.foo means:

get method with m = expr.method(:foo). In this case, m is Foo.bar.
set breakpoint to the m's beginning.

So it is intentional.

For example, it stops both.
class C
  def foo
  end
end
class D < C; end
class E < C; end

binding.b(do: "b D#foo")
D.new.foo # stop on C#foo
E.new.foo # stop on C#foo

b Foo.bar == b A.bar == b B.bar is correct when seeing from the "method owner" perspective. But as a user, I care more about the method receiver instead of the method's owner. So I'd hope b A.bar stops only when it's called on A.

I can see this cause confusion for Rails users because many model methods (class & instance) are inherited:
(dev) > binding.b(do: "b Customer.all")
[1, 1] in (pry)
=>    1| binding.b(do: "b Customer.all")
=>#0    <main> at (pry):1
  #1    [C] Binding#eval at ~/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/pry-0.13.1/lib/pry/pry_instance.rb:290
  # and 35 frames (use `bt' command for all frames)
(rdbg:binding.break) b Customer.all
#0  BP - Method  Customer.all at /Users/st0012/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.4/lib/active_record/scoping/named.rb:26
=> true
(dev) > Member.all
[22, 31] in ~/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.4/lib/active_record/scoping/named.rb
     22|         #   fruits = fruits.limit(10) if limited?
     23|         #
     24|         # You can define a scope that applies to all finders using
     25|         # {default_scope}[rdoc-ref:Scoping::Default::ClassMethods#default_scope].
     26|         def all
=>   27|           scope = current_scope
     28|
     29|           if scope
     30|             if scope._deprecated_scope_source
     31|               ActiveSupport::Deprecation.warn(<<~MSG.squish)
=>#0    ActiveRecord::Scoping::Named::ClassMethods#all at ~/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.4/lib/active_record/scoping/named.rb:27
  #1    <main> at (pry):2
  # and 36 frames (use `bt' command for all frames)

Stop by #0  BP - Method  Customer.all at /Users/st0012/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.4/lib/active_record/scoping/named.rb:26
(rdbg)

BTW byebug:
[master]$ byebug target.rb

[1, 10] in /mnt/c/ko1/src/rb/ruby-debug/target.rb
=>  1: class C
    2:   def foo
    3:   end
    4: end
    5: class D < C; end
    6: class E < C; end
    7:
    8: # binding.b(do: "b D#foo")
    9: # byebug
   10: D.new.foo
(byebug) b 10
Created breakpoint 1 at /mnt/c/ko1/src/rb/ruby-debug/target.rb:10
(byebug) c
Stopped by breakpoint 1 at /mnt/c/ko1/src/rb/ruby-debug/target.rb:10

[5, 14] in /mnt/c/ko1/src/rb/ruby-debug/target.rb
    5: class D < C; end
    6: class E < C; end
    7:
    8: # binding.b(do: "b D#foo")
    9: # byebug
=> 10: D.new.foo
   11: E.new.foo
   12:
   13: __END__
   14:
(byebug) b D#foo
Created breakpoint 2 at D:foo
(byebug) c # non-stop

Python's pdb

class A:
    def foo(self):
        print("foo.")

class B(A):
    pass

class C(A):
    pass

b = B()
c = C()
b.foo()
c.foo()

$ python3 -m pdb  ~/src/py/t.py
> /home/ko1/src/py/t.py(2)<module>()
-> class A:
(Pdb) b 12
Breakpoint 1 at /home/ko1/src/py/t.py:12
(Pdb) c
> /home/ko1/src/py/t.py(12)<module>()
-> b = B()
(Pdb) b B.foo
Breakpoint 2 at /home/ko1/src/py/t.py:3
(Pdb) c
> /home/ko1/src/py/t.py(4)foo()
-> print("foo.")
(Pdb) bt
  /usr/lib/python3.8/bdb.py(580)run()
-> exec(cmd, globals, locals)
  <string>(1)<module>()
  /home/ko1/src/py/t.py(14)<module>()
-> b.foo()
> /home/ko1/src/py/t.py(4)foo()
-> print("foo.")
(Pdb) c
foo.
> /home/ko1/src/py/t.py(4)foo()
-> print("foo.")
(Pdb) bt
  /usr/lib/python3.8/bdb.py(580)run()
-> exec(cmd, globals, locals)
  <string>(1)<module>()
  /home/ko1/src/py/t.py(15)<module>()
-> c.foo()
> /home/ko1/src/py/t.py(4)foo()
-> print("foo.")

c++
#include <iostream>

class D {
public:
  void foo() {
    std::cout << "D\n";
  }
};

class A {
public:
  void foo() {
    std::cout << "A\n";
  }
};

class B: public A {
};

class C: public A {
};

int main()
{
  (new D())->foo();
  B *b = new B();
  C *c = new C();
  b->foo();
  c->foo();
  return 0;
}

(gdb) b B::foo
Breakpoint 1 at 0x128e: file t.cpp, line 12.
(gdb) run
Starting program: /mnt/c/ko1/src/cpp/a.out
D

Breakpoint 1, A::foo (this=0x7ffff7e86c29 <operator new(unsigned long)+25>) at t.cpp:12
12        void foo() {
(gdb) bt
#0  A::foo (this=0x7ffff7e86c29 <operator new(unsigned long)+25>) at t.cpp:12
#1  0x00005555555551ef in main () at t.cpp:28
(gdb) c
Continuing.
A

Breakpoint 1, A::foo (this=0x55555556b2e0) at t.cpp:12
12        void foo() {
(gdb) bt
#0  A::foo (this=0x55555556b2e0) at t.cpp:12
#1  0x00005555555551fb in main () at t.cpp:29
(gdb) c
Continuing.
A
[Inferior 1 (process 7637) exited normally]

Java
class A {
  public void foo() {
    System.out.println("A");
  }
}

class B extends A {
}

class C extends A {
}

public class T {
  public static void main(String[] args) {
    B b = new B();
    C c = new C();
    b.foo();
    c.foo();
  }
}

$ jdb T
Initializing jdb ...
> stop in C.foo
Deferring breakpoint C.foo.
It will be set after the class is loaded.
> run
run T
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
VM Started: Unable to set deferred breakpoint C.foo : No method foo in C

Stopping due to deferred breakpoint errors.
"thread=main", T.main(), line=17 bci=8
17        C c = new C();

main[1] cont
> A
A

The application exited

Now I can't find a debugger which checks receiver class.
So I continue the current behavior.
Please use if: like b Customer.all if: self == Customer

a = "a"
b = "b"
# break a.upcase
a.upcase # (1)
b.upcase # (2)

Do you think only (1) stops?

a = "a"
b = "b"
# break a.upcase.upcase
a.upcase # (1)
b.upcase # (2)
"A".upcase # (3)

what should happens?

stop at 1-3 (current behavior).
stop at (3) because "A".upcase is specified.
don't stop because a string object created by "a.upcase" is not present.

Ah, now only Klass.foo is supported. No break 'a'.upcse. It's TODO.

```ruby
a = "a"
b = "b"
# break a.upcase
a.upcase # (1)
b.upcase # (2)

Do you think only (1) stops?

Yes.
If I want both 1 & 2 to stop, I'd use b String#update.

what should happens?

IMO, this:

don't stop because a string object created by "a.upcase" is not present.

Also, thanks for checking so many debuggers 🙏
However, I think we shouldn't not support this just because other debuggers don't.
Considering the receiver saves the extra if: self == Customer and doesn't sacrifice any existing functionality (b ApplicationRecord.all can still work). So I think it'd be a great addition to the debugger.

No break 'a'.upcase. It's TODO.

My misunderstanding.
It's supported, but not for C method.
(rdbg:binding.break) break c.foo
#0  BP - Method  c.foo at target.rb:3
[1, 10] in target.rb
      1|
      2| class C
=>    3|   def foo
      4|   end
      5| end
      6|
      7| c = C.new
      8| binding.b do: 'break c.foo'
      9| C.new.foo
     10|
=>#0    C#foo at target.rb:3
  #1    <main> at target.rb:9

So I think it'd be a great addition to the debugger with little cost.

Not a little cost to support Ractor.

Considering the receiver saves the extra if: self == Customer and doesn't sacrifice any existing functionality

My first intention is, it is easy way to set a breakpoint b obj.foo is shorthand of b obj.class#foo.
So it is, how frequently for b obj.class#foo or b C.foo if: self == C.

Another point is, how to allow (or not allow) pending breakpoints.

Another point is, should be same or not on b expr.foo and b C#foo.

Another idea is to suggest break command with if:
class A; def foo; end; def self.bar; end; end
class B < A; end
class C < A; end

In this case,
b C#foo shows "no method C#foo, but you can use break A#foo if: self == C" for example.
fo b C.foo, it is difficult to suggest alternative.

I made a patch to check the receiver.
class A
  def foo
  end

  def self.bar
  end
end

class B < A
end
class C < A
end

binding.b do: 'b C#foo'
binding.b do: 'b C.bar'
binding.b do: 'b C.new'

A.new.foo
B.new.foo
C.new.foo

A.bar
B.bar
C.bar

[master]$ exe/rdbg target.rb -n
DEBUGGER: Session start (pid: 12022)
[9, 18] in target.rb
      9| class B < A
     10| end
     11| class C < A
     12| end
     13|
=>   14| binding.b do: 'b C#foo'
     15| binding.b do: 'b C.bar'
     16| binding.b do: 'b C.new'
     17|
     18| A.new.foo
=>#0    <main> at target.rb:14
(rdbg:binding.break) b C#foo
#0  BP - Method  C#foo at target.rb:2
[10, 19] in target.rb
     10| end
     11| class C < A
     12| end
     13|
     14| binding.b do: 'b C#foo'
=>   15| binding.b do: 'b C.bar'
     16| binding.b do: 'b C.new'
     17|
     18| A.new.foo
     19| B.new.foo
=>#0    <main> at target.rb:15
(rdbg:binding.break) b C.bar
#1  BP - Method  C.bar at target.rb:5
[11, 20] in target.rb
     11| class C < A
     12| end
     13|
     14| binding.b do: 'b C#foo'
     15| binding.b do: 'b C.bar'
=>   16| binding.b do: 'b C.new'
     17|
     18| A.new.foo
     19| B.new.foo
     20| C.new.foo
=>#0    <main> at target.rb:16
(rdbg:binding.break) b C.new
#2  BP - Method  C.new at /mnt/c/ko1/src/rb/ruby-debug/lib/debug/breakpoint.rb:403
[15, 24] in target.rb
     15| binding.b do: 'b C.bar'
     16| binding.b do: 'b C.new'
     17|
     18| A.new.foo
     19| B.new.foo
=>   20| C.new.foo
     21|
     22| A.bar
     23| B.bar
     24| C.bar
=>#0    <main> at target.rb:20

Stop by #2  BP - Method  C.new at /mnt/c/ko1/src/rb/ruby-debug/lib/debug/breakpoint.rb:403
(rdbg) c
[1, 10] in target.rb
      1| class A
=>    2|   def foo
      3|   end
      4|
      5|   def self.bar
      6|   end
      7| end
      8|
      9| class B < A
     10| end
=>#0    A#foo at target.rb:2
  #1    <main> at target.rb:20

Stop by #0  BP - Method  C#foo at target.rb:2
(rdbg) c
[1, 10] in target.rb
      1| class A
      2|   def foo
      3|   end
      4|
=>    5|   def self.bar
      6|   end
      7| end
      8|
      9| class B < A
     10| end
=>#0    #<Class:A>#bar at target.rb:5
  #1    <main> at target.rb:24

Stop by #1  BP - Method  C.bar at target.rb:5
(rdbg) c

Ok, I want to try it. Could you check it?

@ko1 thanks for the update. I'll verify it shortly and add test cases.


Improvements to release process

What this PR does / Why we need it

Separate the tagging and the release workflows so that a manual tag can also trigger a release
Upgrade docker/build-push-action to v2
Add name to workflow steps, for better readability
Add automated release notes generation using the corresponding feature from Github

Which issue(s) this PR fixes
Fixes #49

A sample of automatically generated release notes:


[PrestoSQL 316] After alter table add column on Carbondata table select query on newly added column throws error in prestocli

Environment - PrestoSQL 316, Spark 2.4.5, Carbondata 2.0.1
Steps -
From SparkSQL create carbondata table and load data to table.
spark-sql> create table brinjal (imei string,AMSize string,channelsId string,ActiveCountry string, Activecity string,gamePointId double,deviceInformationId double,productionDate Timestamp,deliveryDate timestamp,deliverycharge double) stored as carbondata TBLPROPERTIES('table_blocksize'='1','COLUMN_META_CACHE'='AMSize','carbon.column.compressor'='gzip');
Time taken: 0.264 seconds
spark-sql> LOAD DATA INPATH 'hdfs://hacluster/chetan/vardhandaterestruct.csv' INTO TABLE brinjal OPTIONS('sort_scope'='global_sort','DELIMITER'=',', 'QUOTECHAR'= '"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'= 'imei,deviceInformationId,AMSize,channelsId,ActiveCountry,Activecity,game                                                                                PointId,productionDate,deliveryDate,deliverycharge');
alter table add column on Carbondata table
spark-sql> alter table brinjal add columns(age int);
Issue - After alter table add column on Carbondata table select query on newly added column throws error in prestocli.
presto:priyesh> select * from brinjal where age is NULL and gamePointId =1341.0;
Query 20200805_154611_00563_ed34h failed: line 1:29: Column 'age' cannot be resolved
select * from brinjal where age is NULL and gamePointId =1341.0

Can you show the output of describe for your table?

spark-sql> desc brinjal;
imei    string  NULL
amsize  string  NULL
channelsid      string  NULL
activecountry   string  NULL
activecity      string  NULL
gamepointid     double  NULL
deviceinformationid     double  NULL
productiondate  timestamp       NULL
deliverydate    timestamp       NULL
deliverycharge  double  NULL
Time taken: 0.076 seconds, Fetched 10 row(s)
spark-sql>  alter table brinjal add columns(age int);
OK
Time taken: 0.426 seconds
spark-sql> desc brinjal;
imei    string  NULL
amsize  string  NULL
channelsid      string  NULL
activecountry   string  NULL
activecity      string  NULL
gamepointid     double  NULL
deviceinformationid     double  NULL
productiondate  timestamp       NULL
deliverydate    timestamp       NULL
deliverycharge  double  NULL
age     int
Time taken: 0.044 seconds, Fetched 11 row(s)

Can you describe the table in Presto?
Also, this could be related to #4820.  The carbondata code you are using could be caching the schema somehow.  You could verify by restarting your Presto cluster to see if the issue is resolved.  If that works, I would dig into the carbondata code to figure out what it is doing.

presto:chetan> desc brinjal;
Column        |   Type    | Extra | Comment
---------------------+-----------+-------+---------
imei                | varchar   |       |
amsize              | varchar   |       |
channelsid          | varchar   |       |
activecountry       | varchar   |       |
activecity          | varchar   |       |
gamepointid         | double    |       |
deviceinformationid | double    |       |
productiondate      | timestamp |       |
deliverydate        | timestamp |       |
deliverycharge      | double    |       |
age                 | integer   |       |
(11 rows)
Query 20200813_180407_01349_8k3vm, FINISHED, 3 nodes
Splits: 53 total, 53 done (100.00%)
0:00 [11 rows, 766B] [104 rows/s, 7.12KB/s]

Does the query still fail?  If not, I expect there was some caching the carbondata connector you are using.

yes the query fails.

Can you post the stacktrace?

Issues to be discussed and tracked in relevant community. Its closed here.


Update: Added alignment capability for messages (fixes #26)

Coverage remained the same at 100.0% when pulling 678608b63e9e917fefbf31fcb4ad8db154e9b326 on align into cb9d894cae39e976125765789c541c83a431b6c1 on master.


New Featues

duration between dates
Add the 'name_counter' column using .loc[] to avoid the SettingWithCopyWarning


prepare extension for QuPath 0.6.0

after https://github.com/qupath/qupath/pull/1489 and https://github.com/qupath/qupath/pull/1579 have been merged upstream, it would be beneficial to adapt the extension to never call getServer() when it can be avoided (directly or indirectly)

Both have been merged - I guess it'll be for the 0.6 version then.

Yes, what about it?

with this commit (https://github.com/carlocastoldi/qupath-extension-abba/commit/f42e6f2e6b11b58210b721acb87bc52065521e55) I should have worked around the problem of having to request the ImageServer when it's not actually necessary.
Additionally, it should also fix the case in which the rotation of an image is not the last transformation applied to an image.


[azservicebus] Add in a simple "clearing of session state" test

The functionality was always there but it wasn't documented and there wasn't a test for it.

This one's for you @kashifkhan :)

/azp run go - azservicebus


add support for slicing StreamingDataset

Before submitting

[ ] Was this discussed/agreed via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

What does this PR do?
Fixes #135.
Adds support to subsample/ slice StreamingDataset.

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in GitHub issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hey @deependujha, how is it going ?

I modified item_loader interval, and instead of returning a list of [start_chunk_idx, end_chunk_idx], it returns [start_chunk_idx, my_chunk_start, my_chunk_end, end_chunk].
Refer to this line: streaming/item_loader#192.
my_chunk_start and my_chunk_end denotes from which index to which index of the current chunk, this streaming dataset is allowed to read.
If we are to read the whole chunk, it will simply be [start_chunk_idx, start_chunk_idx,  end_chunk_idx, end_chunk_idx].
The logic for subsampling:

The logic for train_test_split

Using each chunk as a basis for subsampling and train_test_split.

I recommend you to always start with writing test when doing development new features. This helps to ensure the changes you are making are correct.


Change brands from plaintext to list of allowed brands

Currently, when a user creates a listing, they can type in the brand that they want. This can obviously lead to a whole bunch of problems with users typing in things that aren't brands....

This is done and implemented using the BrandSearch API from BrandFetch. The only problem is that the search brings up brands that aren't even clothing brands sometimes, so either I figure out how to filter out the other brands, find another api, or just merge the change and hope it isn't misused. I will post more information if I get closer to making a decision

I switched it to our own endpoint and querying our database for the brands.
I basically looked at how grailed gets all their brand names, made a request to that endpoint, saved all the brand names in csv and imported that into the db. I then setup an endpoint that can fuzzy search for the brands and replaced the brandfetch search with that endpoint, everything works now even brand verification


Only move file into save-dir after muxing

Is your feature request related to a problem? Please describe.
I am running freevine on my laptop and using --save-dir to save the output to a network mounted folder on my server, over WLAN. I was pleased to see that the individual chunk downloading (not sure if that's the right term) was done locally on the laptop, to avoid unnecessary WLAN traffic, but was disappointed that the muxing was done in the save-dir folder. I.e. first the .ts file and the .srt file were copied into the save-dir, then they were muxed together into an mkv, doing all that over the network.
Describe the solution you'd like
It would be great if you could do the muxing "locally" (i.e. in the temp folder) and only move into the save-dir as the very final step.
Additional context
Additional use cases of desiring such a feature might be people using media center software that is watching the save-dir folder. At the moment, such software might notice the presence of the .ts file and tag it, display it in a user-interface etc., only for it to disappear after a few minutes, replaced with an MKV. For this use case it would also be good for only the very final file to appear in the save-dir, not the intermediary files.
Thanks!

As a specific example, with --save-dir set to my server, grabbing a 1.8 GB episode took 7 mins to download to my laptop, a further 11 minutes to do the "binary merging" (which created the .ts file on my server), and a further 8 minutes to do the muxing (resulting in the .mkv file on the server), or about 26 mins in total.
By contrast, not using --save-dir and downloading the same ep was the same 7 mins to download to my laptop, and about 30 seconds to binary merge and mux on the laptop. With a manual copy of the end .mkv file to the server taking about 9 minutes, the whole process was about 33% faster. Obviously I can just do that manual process, but it's awkward when downloading a whole series with limited disk space on the laptop, so --save-dir pointing to the server is preferable!

Thanks for considering this. Is it maybe worth raising an issue with N_m3u8DL-RE?

Surely it would be easier to just use the file option (template called download.txt) where the last line is a robocopy command to move all the folders from 'downloads' to your network share?


POGOProtos\Data\PlayerData did not read the full length

Uncaught Exception: \POGOProtos\Data\PlayerData did not read the full length.
Length left is "5"

Where did you get that exception from though.

While unmarshalling the GetPlayerResponse.

Closing this issue, let me know if this is still relevant.


This is fixed in <IP_ADDRESS>


Fixed setServiceLink validation

https://github.com/rancherio/rancher/issues/1215
https://github.com/rancherio/rancher/issues/1216

update_label_test failed again...not related to the fixes. @sonchang we should look at what else might be fixed to get rid of this failure

@ibuildthecloud


Upgrade to Bootstrap 5

Implements #45

Updates form CSS classes, so we're using more Bootstrap CSS classes, specifically for error messaging. This allows us to remove some of the custom classes.
Update typography: Use h2 elements instead of custom label heading

@GeorgianaElena I fixed the failing tests. This should be good to go now.

Unfortunately it looks like Bootstrap 5 will now automatically switch to 'dark mode' if your system is using dark mode, and our selection CSS looks pretty bad on it:

I fixed some of them but not all. I'll try get back to this tomorrow.

The titles of the dropdown items are still the wrong color, and I'm not sure what css selector those are.

Alright, all fixed!


Release note cleanup

Need to clean up release notes because found some issues.

Update the release notes.  Close the issue.


Zipkin latency missing

When using the zipkin plugin, I am seeing traces like:

I am not seeing any latency value for the access, balancer, etc spans - is this intended?

Seems like this belongs to https://github.com/Kong/kong-plugin-zipkin

Correct, opened https://github.com/Kong/kong-plugin-zipkin/issues/20


Handle failed CI cases better on subsequent runs

Fixes some of the problems identified in https://github.com/contraband/autopilot/issues/37.
This builds on top of https://github.com/contraband/autopilot/pull/43.
We now have one actions code path that handles:

No apps running.
App running, no venerable.
App not running, venerable app running.
Both app and venerable app running.

Previously only (1) and (2) were handled correctly.

(gentle ping)
We've been using this patch in prod now for a number of projects for a number of weeks, including health checkers that deploy a new release every 5 minutes, and we haven't seen issues.
I'll be happy to rebase to fix the minor merge conflict, but only if it's likely to get a review. :)

I've just rebased this on master, which now uses dep.
I spent a few hours banging my head against the wall, as dep ensure wouldn't report clean, even on master.
I eventually removed Gopkg.toml, Gopkg.lock and vendor/ dirs, and then ran dep init in a clean environment.
This seemed to create a cleaner set of Gopkg files, from which I used as a base to cherry-pick and merge both of the changes that we've been using the past few months:

Ability to tail logs
Fixes so that this won't fail if a previous deploy failed.

Hope this makes it easier to merge.

Wow, this actually removes nearly 1 MILLION lines of code... (presumably because dep init now excludes vendored test packages by default)

Thank you! I'll review this tomorrow PST.

Thank you!
Merged, released, and included in the cf-resource in https://github.com/concourse/concourse/commit/40769f4632317ed9cb25709608b4a5c02508aaca.

Awesome.

From: Christopher Brown<EMAIL_ADDRESS>Sent: Friday, February 2, 2018 6:15:04 AM
To: contraband/autopilot
Cc: Dr Nic Williams; Comment
Subject: Re: [contraband/autopilot] Handle failed CI cases better on subsequent runs (#44)
Thank you!
Merged, released, and included in the cf-resource in concourse/concourse@40769f4https://github.com/concourse/concourse/commit/40769f4632317ed9cb25709608b4a5c02508aaca.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/contraband/autopilot/pull/44#issuecomment-362388393, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAAAbHP7LSJiD8u4YzBC2JS6Ae_vMUBEks5tQhtHgaJpZM4QQe05.

Thanks @xoebus - though note that I think you'll also need to merge https://github.com/concourse/cf-resource/pull/40 in order to be able to pass the --show-app-log parameter through cf-resource.

Thanks for the heads up! I'll let @vito know.


Check out our datasets, I think they might be useful for training models like this.

We created some large-scale multimodal datasets that contain OCR annotations, for some we ran paddle OCR over LAION images

https://huggingface.co/datasets/wendlerc/LAION5B-en-PaddleOCR-parquet
https://huggingface.co/datasets/wendlerc/LAION5B-hr-en-PaddleOCR-parquet
for toand rendered images with blender,
https://huggingface.co/datasets/wendlerc/RenderedText
and here we captioned synthtext with BLIP2,
https://huggingface.co/datasets/wendlerc/CaptionedSynthText

do you think those might be useful to tune your method?
Best,
Chris

Hi, @wendlerc, great work! we will consider utilizing these datasets in our next work!

Let me know when you need access to the laion datasets, I set them to private for now.


Fix width select 2

Fix select 2 width I don't know why but last changes introduce this bug

Thanks


CIP 1694 governance vote

With cardano-cli governance vote is possible:

[ ] create
[ ] view
[ ] submit

For SPOs and DReps, the number of votes it's proportional to the Lovelace that is delegated to them at the point the action is checked for ratification.
For constitututional committee members, each current committee member has one vote.
Votes from unregistered SPOs or DReps count as having zero stake.

Votes can be cast multiple times for each governance action by a single credential. Correctly submitted votes override any older votes for the same credential and role. That is, the voter may change their position on any action if they choose. As soon as a governance action is ratified, voting ends and transactions containing further votes are invalid.
Detailed info: https://www.1694.io/

Replaced by https://input-output-hk.github.io/cardano-node-tests/test-plans/100_conway_governance.html


Major code refactoring

Some of the implementation is very weird and overly complex. I will extract a few more methods, update symbols to reflect the mathmatics in the book and overall improve the code.

Or better yet, I broke everything 🤦♂.


RuntimeError: Must call on main thread, consider using sublime.set_timeout(function, timeout)

Hi,
Thank you for your work. I get an error when compile scss today which did not happen yesterday:
Exception in thread Thread-6:
Traceback (most recent call last):
File ".\threading.py", line 532, in __bootstrap_inner
File ".\compile.py", line 112, in run
File ".\libsass\project.py", line 106, in config_for
File ".\libsass\project.py", line 11, in user_config
RuntimeError: Must call on main thread, consider using sublime.set_timeout(function, timeout)
Environment:
Windows 10, Sublime Text 2.0.2
Regards,
Kevin

Hey Kevin,
Thank you very much for reporting this! I'm really sorry the latest update broke functionality for you. The change that caused this bug allows for faster and more responsive compilation of ST3. Since I don't want to revert those improvements, I'm going to have to look into splitting this package into ST2 and ST3 branches, but that change will be dependent on the maintainers of Package Control approving it, so it could be a little while.
Meanwhile, I will look into finding a way to reintroduce ST2/ST3 compatibility, if only temporarily, so that you can get back to using this plugin. (Upgrading to ST3 should fix this problem immediately, also.) And thanks so much for using my plugin.
-Ben

With that said, I actually found a pretty good compromise that shouldn't noticeably affect performance on ST3. Version 0.9.10 should be out in the next hour. When you confirm that the problem has been fixed for you, I'll close this issue.
Enjoy!

Oh, and if you're happy with my solution, would you mind starring this project? I'm on the job hunt, so every little bit helps. :) Thanks!

Hi Blitzrk,
Thank you very much for your response.
v0.9.10 has been upgraded, but another error caught:
Traceback (most recent call last):
File ".\sublime_plugin.py", line 337, in run_
return self.run(**args)
File ".\compile.py", line 64, in run
File ".\compile.py", line 108, in init
NameError: global name 'file_path' is not defined
Meanwhile I am not able to switch to ST3 yet, but I am fine to use the old version if it take some time for you to fix it (But sorry I dont know where to get it)
Thank you again for your work (project starred***)

Sorry guys, made a stupid typo. Should be updated in a few minutes. I'm working on unit tests to end this nonsense, but they're non-trivial to set up, because Sublime is proprietary. Thanks for your patience.

It works great again once updated to 0.9.11. Thanks !

Phew. Okay, so I'll be adding tests this week so it hopefully never regresses from here.
:)


The terminal initial hint should be easily toggled by right clicking on the hint

Can this support right click to toggle the setting to hidden?

right click shows our terminal context menu, perhaps we should just put it in there rather than adding a new one?

this isn't a feature the others offer, thus not a bug IMO


fix: rescue Rack::Multipart::MultipartPartLimitError and let Sinatra handle it.

Hi, thanks for creating this gem! Sinatra logging has always been tough.
I have a rescue in my Sinatra app that rescues rack's error when you exceed its 128-open-file limit:
error(Rack::Multipart::MultipartPartLimitError) do
  halt(413, "Payload too large")
end

But this broke after installing the gem, and returned the natural 500 error instead (which prevents the RequestId middleware from adding the id to the header as well)
This happens because req.params is accessed in RequestLogger, which receives the exception and short-circuits the request from reaching the Sinatra app.
I propose catching this error and letting Sinatra handle it instead, inside RequestLogger.

Any thoughts on this one @davidwinter ?

Thanks for this PR @tiegz - is there any chance that we can include a test that caters for your scenario, which shows that the error can now be handled within Sinatra rather than in RequestLogger? Here is the spec file I have to test the integration with Sinatra, perhaps you could add a test case there?
https://github.com/davidwinter/sensible_logging/blob/main/spec/integration/sensible_logger_spec.rb

@davidwinter done! I added two examples, to show that the behavior is different based on show_exceptions.

@davidwinter does that spec look ok on your side?

Thanks for your help with this @tiegz. v0.4.8 now released which includes this fix.

nice! Thanks @davidwinter


Glossary Term: "Read More" in Term description/About section not working

Describe the bug
If a glossary term description/About section contains a very long string, the UI renders only certain # of characters as the rest of the string characters can be read by clicking “Read More” button. However, the current version of the datahub 8.24 Read More is not working as expected.
To Reproduce
Steps to reproduce the behavior:

Go to 'Glossary Term and add a term with a long description and save'
Click on 'Read More in About section of this term'
Should see no action as it won't expand the string.

Expected behavior
About section "Read More" should renter the rest of the description string characters.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version 0.8.24

Additional context
Add any other context about the problem here.

This is addressed in recent versions of DataHub. Closing the issue!
John


OSX quicklook support

🥳 osx seems to support stem files and has a UI to select the stem right from the quicklook window:

However, in seems that is uses some specific metadata to read the stem track name. Currently I don't know how to do that with ffmpeg, but it would be great to find out if there is way to support this.

Maybe let's try https://superuser.com/questions/834244/how-do-i-name-an-audio-track-with-ffmpeg

Got this working for VLC using the handler_name tag. However still no luck for quicklook on OSX as it seems to only allow official iso languages...
Maybe bringing in @nils-werner, any idea?

Have you tried
-metadata:s:a:1 title="Foo"

?

Have you tried
-metadata:s:a:1 title="Foo"

yes, actually my last comment was not correct
i use title for VLC and handler_name for ffmpegs own metadata (when using ffprobe)
                        '-map',
                        "[a%d]" % idx,
                        # add title tag (e.g. displayed by VLC)
                        "-metadata:s:a:%d" % idx,
                        "title=%s" % stream_names[idx],
                        # add handler tag (e.g. read by ffmpeg < 4.1)
                        "-metadata:s:a:%d" % idx,
                        "handler=%s" % stream_names[idx],
                        # add handler tag for ffmpeg >= 4.1
                        "-metadata:s:a:%d" % idx,
                        "handler_name=%s" % stream_names[idx]

The Unknown language sounds like it may be reading the language metadata field. Try
-metadata:s:a:1 language=eng

and see if it shows English

it does, but it seems to only ISO certfied languages :-(

Then you're probably out of luck...

Alright, macOS, you had your chance ...


Date format abbreviated month not used in es_US locale

The abbreviated month is not being used in es_US locale when using the skeleton pattern.
Try this code:
import 'package:intl/date_symbol_data_local.dart';
import 'package:intl/intl.dart';

void main() {
  initializeDateFormatting();
  print(DateFormat('d MMM yyyy', 'es_US').format(DateTime.now()));
  print(DateFormat.yMMMd('es_US').format(DateTime.now()));
}

It prints:
21 dic. 2022
21 de diciembre de 2022

Note that instead using es_ES as the locale produces the expected result.

Shouldn't this be part of intl package?

Yep.
https://github.com/dart-lang/intl/issues/523


监控检查抖动

2017/06/16 09:16:32 [info] 7#0: *7058 client <IP_ADDRESS> closed keepalive connection
Received task health update, healthy: false
<IP_ADDRESS> - - [16/Jun/2017:09:18:40 +0000] "GET / HTTP/1.1" 200 3988 "-" "curl/7.29.0"
2017/06/16 09:18:40 [info] 7#0: *7059 client <IP_ADDRESS> closed keepalive connection
Received task health update, healthy: false
<IP_ADDRESS> - - [16/Jun/2017:09:19:00 +0000] "GET / HTTP/1.1" 200 3988 "-" "curl/7.29.0"
2017/06/16 09:19:00 [info] 7#0: *7060 client <IP_ADDRESS> closed keepalive connection
Received task health update, healthy: true

应用正常，但是健康检查失败

1000个实例后出现比较频繁

W0616 15:34:05.211158 25276 logging.cpp:194] WARNING level logging started!
I0616 15:34:06.357666 25901 exec.cpp:162] Version: 1.2.0
I0616 15:34:06.363800 25949 exec.cpp:237] Executor registered on agent 165d5cf7-c570-462b-9fef-0b46658fc1c4-S9
I0616 15:34:06.365681 25951 docker.cpp:850] Running docker -H unix:///var/run/docker.sock run --cpu-shares 10 --memory 33554432 --env-file /tmp/xGrnAW -v /data/mesos/slaves/165d5cf7-c570-462b-9fef-0b46658fc1c4-S9/frameworks/e6372165-a97c-4485-97bf-ad8e761edc56-0000/executors/82-7-default-dataman-dataman-e4fd1c34f3a9446db477a7d008d22c5d/runs/9605a843-961e-421a-bd99-8b47ca974e15:/mnt/mesos/sandbox --net bridge --label=DM_USER_NAME=dataman --label=DM_GROUP_NAME=hatest --label=DM_VCLUSTER=clusterhatest --label=DM_TENANT_ID=1 --label=DM_USER=dataman --label=DM_CLUSTER=dataman --label=DM_SLOT_INDEX=82 --label=DM_SLOT_ID=82-7-default-dataman-dataman --label=DM_TASK_ID=82-7-default-dataman-dataman-e4fd1c34f3a9446db477a7d008d22c5d --label=DM_APP_NAME=7 --label=DM_APP_ID=7-default-dataman-dataman -p 31226:80/tcp --name mesos-165d5cf7-c570-462b-9fef-0b46658fc1c4-S9.9605a843-961e-421a-bd99-8b47ca974e15 sryregistry.service.consul:5002/dataman/library/blackicebird-2048:latest
W0616 17:09:02.521253 25952 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:10:20.853940 25958 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:11:50.631649 25961 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:12:49.628841 25959 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:13:32.698725 25956 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:13:46.516229 25953 health_checker.cpp:202] Health check failed 2 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:14:37.600716 25952 health_checker.cpp:202] Health check failed 3 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:16:11.793980 25949 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:17:27.303912 25956 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:18:52.600960 25960 health_checker.cpp:202] Health check failed 2 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:19:55.390732 25956 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:20:16.958662 25961 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:21:03.628552 25949 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:22:40.384438 25961 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:23:20.256887 25949 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:24:00.869701 25960 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:25:04.305819 25957 health_checker.cpp:202] Health check failed 2 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:25:08.950887 25956 health_checker.cpp:202] Health check failed 3 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:25:49.303607 25954 health_checker.cpp:202] Health check failed 4 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:26:42.512697 25948 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:28:05.119345 25954 health_checker.cpp:202] Health check failed 2 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:29:35.471282 25950 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:30:54.761019 25953 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:32:04.870857 25951 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:33:30.220819 25960 health_checker.cpp:202] Health check failed 2 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:34:08.415110 25959 health_checker.cpp:202] Health check failed 3 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:34:58.401103 25957 health_checker.cpp:202] Health check failed 4 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:36:05.113343 25951 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:37:42.746824 25963 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:38:43.054565 25961 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:39:28.298683 25956 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:40:14.534981 25956 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting
W0616 17:41:18.633371 25956 health_checker.cpp:202] Health check failed 1 times consecutively: HTTP health check failed: curl has not returned after 1secs; aborting


Uncaught TypeError: Object(...) is not a function

I Got this error while integrating my application with ng2-idle.
Here is the Error I got

Uncaught TypeError: Object(...) is not a function
at eval (eventtargetinterruptsource.js:39)
at Array.map ()
at DocumentInterruptSource.EventTargetInterruptSource [as constructor]
(eventtargetinterruptsource.js:39)
at new DocumentInterruptSource (documentinterruptsource.js:21)
at createDefaultInterruptSources (index.js:16)
at eval (index.js:19)
at<EMAIL_ADDRESS>(vendor.bundle.js:471)
at webpack_require (inline.bundle.js:55)
at eval (app.component.ts:7)
at Object../src/app/app.component.ts (main.bundle.js:50)

Please help me to solve the issue.
Thanks In Advance.

Great!!!.  Thanks @HackedByChinese

I am on angular 6 still have this issue


clear dragStartTimer correctly on drop

now in your _onDrop callback,u clearTimeout like this
clearTimeout(this.dragStartTimer);

it should be
clearTimeout(this._dragStartTimer);

normally it would not cause problems.
but if u use sortable.delay feature,it will casue exceptions.
yes it looks like a spell mistake obviously😄

now i have make a configurable feature named dragOutRemove
if u set options.dragOutRemove = true,when u drag an item from an container and not put into another yet(the container outside),after u drop,the item will be remove.
here is the jsbin

sorry about so many uncorrelated commits,what relate to #430 was the first commit,the others are belong to #433


Alt/feature/merge from flight repo

Moving to the main Divio repo

:+1:

:+1:  looks in order, tests are failing though

@mikek will fix it soon. It's fully minor. Merging without this.


Staff page - primary and secondary emails are accepting same emails

Describe the bug
https://www.berrycast.com/conversations/5445d9db-cd71-5a5e-8f92-4ee8b3464507

give better description, video is for reference to find, but Problem, Suggestion should be there, without that i can not give  priority to this
Steps to reproduce, Problem, Suggestion, Clast with any other Module, any issue which we can link all things needs to be here

forwarding this

https://www.berrycast.com/conversations/84628c53-d3f8-59a5-8d3e-d6cf6ccdfa85


Bug: PascalCase components are being rendered as kebab-case when using shallowMount in Vue 3 / VTU 2.4.0

Describe the bug
When using shallowMount to mount a component that uses components with PascalCase naming (e.g. HelloWorld.vue, the template is being rendered with the components in kebab-case instead of keeping their original name, making them difficult to find via wrapper.find().
To Reproduce
I reproduced this issue using the default Vue 3 project created via vue-cli.
Vue 3 project with failing test: https://github.com/bconnes/vue3-find-stub-component
Vue 2 project with identical yet passing test: https://github.com/bconnes/vue2-find-stub-component

Create a new Vue 3 project using Vue Test Utils (version 2.4.0 in the above Vue 3 project)
Wrap a component that has child components that are named with PascalCase casing (e.g. HelloWorld.vue)
Attempt to find the child component using wrapper.find() (e.g. wrapper.find('helloworld-stub');
The stubbed out component is in the wrapper's HTML as hello-world-stub, not helloworld-stub. Attempting to run the same test that worked in Vue 2 produces the following error:

Uncaught Error Error: Cannot call html on an empty DOMWrapper.

> wrapper.html()
'
<hello-world-stub msg="Welcome to Your Vue.js App"></hello-world-stub>'

Expected behavior
The stubbed out component should be found in the wrapper's HTML with the element helloworld-stub;
> wrapper.html()
'

  <helloworld-stub msg="Welcome to Your Vue.js App"></helloworld-stub>

'

Related information:

  System:
    OS: Windows 10 10.0.19045
    CPU: (12) x64 Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
    Memory: 3.70 GB / 31.84 GB
  npmPackages:
    @vue/test-utils: ^2.0.0-0 => 2.4.0
    jest: ^27.0.5 => 27.5.1
    vue: ^3.2.13 => 3.3.4

Additional context
Please provide a mechanism to preserve the naming convention for stubbed out components to support projects upgrading from Vue 2 to Vue 3.

Hi @bconnes,
VTU has a possibility to customize the generation of each stub with config.plugins.createStubs. You can implement your own stub logic inside this function. I've created a small repro and was able to achive your requirements
it('renders properly', () => {
  config.plugins.createStubs = undefined;

  const wrapper = shallowMount(App);
  expect(wrapper.find('hello-world-stub').exists()).toBe(true);
  expect(wrapper.find('helloworld-stub').exists()).toBe(false);
});

it('renders without dash', () => {
  config.plugins.createStubs = ({ name, component }) => {
    return defineComponent({
      render: () => h(`${name}-stub`)
    });
  };

  const wrapper = shallowMount(App);
  expect(wrapper.find('helloworld-stub').exists()).toBe(true);
  expect(wrapper.find('hello-world-stub').exists()).toBe(false);
});

https://stackblitz.com/edit/github-d4p9ge?file=src%2F__tests__%2FApp.spec.ts&view=editor


compute average distortion

I think that when computing the average distortion, we shouldn't include the targets we didn't generate. (For instance, for a sample image of number 9, we didn't produce target image of class '9', so the distortion value of 0 shouldn't take part in the distortion computation)

@googlebot I signed it!


Don't accept changes not made by humans

https://github.com/mlocati/unipoints/commit/8b94d64fcbf814b05934a8182c197b19237ecb0c doesn't seems quite right: https://github.com/mlocati/unipoints/actions/runs/6684901362/job/18162631914#step:6:9

You still need your original code.
Put this line before exit


Nettle API breakage

Nettle has just broken its API significantly, in order to be much more precompile-friendly.  The big takeaway is that methods such as md5_hash(data) should be mapped to digest("md5", data), there are no more auto-generated types for hashes, and internally the code is a little easier to grok.  This new version of Nettle.jl has not been released yet, I will make every effort to ensure that dependent packages such as this one have a chance to adapt before releasing the new version.

Once https://github.com/JuliaLang/METADATA.jl/pull/3537 is merged, this package's Nettle functionality will cease to work.  I've opened a pull request to this repository with the necessary fixes.


Issue in maximum error text occurance

Currently error message is given at the maximum limit. But it should be shown when maximum limit is exceeded.

I have added a pull request for this issue. Here is the pull  request https://github.com/ractoon/jQuery-Text-Counter/pull/34.

Thank you, @diptopol !


Filter slots not enough for modpacks

Issue description:
As you stated in the answer to another issue, the disk drive has filter slots, but for people playing with modpacks this just isn't enough slots for filtering a whole mod into a drive. You'd need multiple (3) drives just to add in 27 different items, and that's silly. i would like to suggest adding the ability to craft a mod filter or something to put into the filter slots and it will only allow things from that mod into all disks on the drive. though adding a cell workbench-like thing would be great too, as you've stated that AE2 is an inspiration. Thanks for your time and response, its very much appreciated, and i absolutely love the mod, because i loved AE2
EDIT
In a better view of why i submit this, I've got two networks, one only having Mystical crops stuff going into its storage and the other getting the rest of my items, many different mods. when i use the network transmitter/receiver, it then puts the other mod items into the purely crops storage if i try to put items in via the grid, because there's no way to filter this, and it has got me incredibly frustrated, as i wish to have the networks connected such that i can take and place anything right from one grid, but have the items immediately put into the respective cells. Priority doesn't fix this because then the crops get put into my non crop storage and the only possible fix is either some incredibly complicated workaround that I'm trying to find as of right now, or just have two separate networks, which is disappointing as there's no channel limit, giving the option for one incredibly huge network.
Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge:<IP_ADDRESS>5
Refined Storage:1.2.18 (using Sky Factory 3)

It looks as though the fix for this has been removed? The functionality doesn't appear to work in either importers or external storage anymore, in any of the four combinations of whitelist/blacklist.
Is there any chance to see this (or something similar) return in the future?

Can confirm, filters are not respected, leaving us with no way to keep enough items out of drives.


Improve rhyme function

At the moment, the rhyme function compares whether the final two syllables from the CMU dictionary are equal. This works for the majority of words, but many cause problems. For instance:
fire -> [[u'F', u'AY1', u'ER0'], [u'F', u'AY1', u'R']]
admire -> [[u'AE0', u'D', u'M', u'AY1', u'R']]
desire -> [[u'D', u'IH0', u'Z', u'AY1', u'ER0']]
Fire matches both admire and desire, but admire doesn't rhyme with desire...
Furthermore, for two syllable words, checking only the last syllable would probably improve things.

I just found a really interesting article that's related. Anything useful here?
http://graphics.wsj.com/hamilton-methodology/

@oscardssmith Thanks, that looks really useful. I'll be thinking about it over the next few days, and also welcome to review and merge a patch if you want to try implementing it.

I found that the rhyme function did not work for me until I changed it from level=2 t level-=1
def rhymes(word1, word2, level=1):

The rhymes function compares the last x phonemes of the word. So for monosyllabic words, like "show" and "low", it may only report a rhyme if you use level 1. Maybe level 1 is a better default setting to use than level 2, but I think it was too permissive. A system like RhymeBrain which scores rhymes on a scale is probably what we need.


add showCancelButton property

In some cases very useful to use it as alert box. So will be nice to have possibility to hide cancel button...

Thanks for adding this.

By the way thanks for this component, it's very useful! Even as alert :smile: Alert from react-bootstrap not flexible enough...


Broken header Downloads>Mirrors link

Clicking on the Downloads dropdown in the header and then the Mirrors option results in a 404.
It links to https://www.staged.apache.org/dyn/closer.lua whereas the production site links to https://apache.org/dyn/closer.cgi
@dave2wave  - does this have to the with the ezmd file? Should I update the base.html file to use ".cgi" instead of ".lua"?

No. Infra is overlaying the support for mirrors and lua and it is not in staged. @Humbedooh  can you clear out the extra files in mirrors and confirm the status?


Add an event for default stable rule "Detect Release_agent file container escape"

Motivation
To Add an event for default stable rule "Detect Release_agent file container escape"

Feature

Alternatives

Additional context

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten


simplify the fields

some fields are duplicated in FormlyFieldConfig which could be avoided easily by providing union types.
for example the field disabled is existing inside props and again inside expressionProperties, we can modify the type of disabled to accept:

boolean: this is the straight forword value.
function: dynamically change the field's value, as used in expressionProperties
string: to comply with the current behaviour

old config
[{
 disabled: true,
  expressionProperties:{
    disabled: "!model.anotherField"
  }
}]

new config
[{
   disabled: (model, formControl)=>!model.anotherField
}]

In v6: expressionProperties is now expressions:
{
  disabled: true,
  expressions: {
    disabled: "!model.anotherField"
  }
}

nice! but we can totally remove it by providing a function instead of a static value, and optionally an initial value
disabled: ()=>true

or
disabled: [true, ()=>this.model.anotherField]


Add WakaTime

Sorry about the whitespace changes, my editor removes whitespace from end of lines.

Thanks!


alt sbt project integration to get around scala 2.12/2.11.11 issues

#553
never actually written latex before and had nothing set up in my editor to help me, so should probably look extra carefully at this :sweat_smile:

failure doesn't look related to my latex n00bery... but idk

Yeah should be fine. Thanks!


Setting vertical margins of :root

I'm submitting a feature request.
In some context (notch screens, scroll mode), the RS should be able to set the vertical margins.
What is the current behaviour?
Readium CSS forces :root to have 0 margin and padding:
https://github.com/readium/readium-css/blob/583011453612e6f695056ab6c086a2c4f4cac9c0/css/src/modules/ReadiumCSS-pagination.css#L62-L63
I couldn't find any way to customize this in Readium CSS.
Do you have screenshots, GIFs, demos or samples which demonstrate the problem or enhancement?
There are two problematic areas:

With a notch screen / display cutouts, the desired behavior is to have the background fill the screen, but the content should not overlap with the cutouts. Right now it's the case:

In scroll mode, the content has no room to breath at the top and bottom of resources, some vertical margin would help:

Do you know which CSS modules (stylesheets) are impacted?
pagination, I think.
Please tell us about your environment:

Platform: Android
Browser / Rendering Engine: Android Web View

Other information (e.g. related issues, suggestions how to fix, links for us to have context)
I could have the expected behavior with the display cutouts by setting padding–top and padding-bottom on html. Somehow margin-top worked as well but not margin-bottom.

If a new setting is needed, it can't be a single variable for the whole vertical axis, like pageMargin, because the cutouts at the top and bottom might be of different heights.

TL;DR: I can’t, as this would break vh and (viewport height unit) for authors, so we deemed it the responsibility of the app through web view UI margins very early during ReadiumCSS development.
There are examples of vendors pushing this unit for image sizing (e.g. covers) on top of it so there is definitely significant usage. On the opposite vw (viewport width) was already broken in various and nasty ways in the ecosystem so we thought it was acceptable to handle horizontal margins/paddings in ReadiumCSS directly.

I see, too bad :/ I'll introduce padding in the web view and try to find a way to extract the background color from the web view.
Incidentally, maybe it could be useful to mention it in the documentation?

Ah yeah I see maybe that could be better explained here: https://readium.org/readium-css/docs/CSS03-injection_and_pagination.html#margins-and-dimensions (it’s currently more of a note than an emphasis).

I'm a bit confused how authors handle notches in the browser though, it looks like it's done setting the padding:
https://developer.mozilla.org/en-US/docs/Web/CSS/env()
But I can't think that website not using this are broken in native browsers with notch screens...

Yeah you have to opt-in by adding the following meta in your doc’s head so probably the first thing to check:
<meta name="viewport" content="viewport-fit=cover" />

Otherwise browsers apply some kind of “letterboxing.” Not sure how webviews in native apps are dealing with that though.

Thanks for the insights 👍
It seems to be working alright by applying some padding. The background is not seamless in some cases but works for most books, by using the theme color.
However I'm not sure how to approach the second use case: scroll mode. Applying some padding outside of the web view doesn't give the expected experience because the content is cut off when scrolling, instead of overlapping the display cutouts. In that particular case, would it be a problem to be able to set the vertical margins of :root, since it's not paginated?

After some trial and error I got a solution that visually works for scroll mode, using a NestedScrollView and android:clipToPadding:
    <androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        android:paddingTop="50dp"
        android:paddingBottom="50dp"
        android:clipToPadding="false"
        >

        <org.readium.r2.navigator.R2WebView
            android:id="@+id/webView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
    </androidx.core.widget.NestedScrollView>

However I'm afraid it's asking for trouble and might trigger some conflicts with gestures in some devices or edge cases. So if applying the padding in the HTML (for scroll mode) is not detrimental to the content, that would be a safer and more portable solution.


rowcount doesn't work

Widget doesn't show rowcount control.
Reproduced here
in Countries widget

Done in 3.1.49

Default values for rowcount do not work. Example


Launching the development server address only works on Windows.

Hi, I'm getting this error whenever I create a new project and try running it.
+ Copied assets and index.html to .dawn/dev...
+ Compiled main.dart.

Starting server...
Server running on http://localhost:5500.
Unhandled exception:

#0      runProcess (package:dawn/src/foundation/process_runner.dart:16:7)
#1      CompileCommand._runServer (package:dawn/src/commands/compile_command.dart:77:5)
<asynchronous suspension>
#2      CompileCommand._runCommand (package:dawn/src/commands/compile_command.dart:58:21)
<asynchronous suspension>
#3      CompileCommand.run (package:dawn/src/commands/compile_command.dart:42:5)
<asynchronous suspension>
#4      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>

Could you please provide your OS information? (MacOS/Windows/Linux/etc.)

I'm running Arch Linux x86_64, with kernel 5.19.3-arch1-1

Found the problem. Will be fixed in the next release.

I'm running Arch Linux x86_64, with kernel 5.19.3-arch1-1

It should be fixed in 5.3.1. I'll keep this open until you provide feedback.


Adding space between cards

Closes #1

Can you share a screen shot of the result

Here you go: Image

you are applying css to whole row tag, make sure to use separate css class because there are other elements with row tag

Ok I can fix that!

Ok I can fix that!

sure go for it.


We have some high vulnerability in npm. It would be great not to have it.

Running npm ci doesn't say anything about that, at least on my machine. @Podkamienna could you please let me know how did you find it ?


Terminal window placement setting

As mentioned in v1.29 update that the icon for moving the terminal window either bottom or right has been moved.
What would be nice if an option was in the user settings that could be set to always have the terminal window where the user would prefer to have it rather than configuring it every time a new project is added to VS Code.
In my use case, I prefer having the Terminal window on the right for every project I work on (current or future ones) and it's a bit annoying having to right click on the Terminal link then select 'right' when I could have a setting set in my settings that will automatically put it as right.
Other than that... what an awesome text editor, and I find new things to learn about it every day at work. Amazing stuff indeed.

"workbench.panel.defaultLocation": "right",

"workbench.panel.defaultLocation": "right",

Thank you for this. It is not really intuitive to know it's that area. Could this be better documented?

You can also right click on the panel, there used to be a button but we removed it to save space in the panel


Retain auth on browser refresh

Swagger has an option to preserve authorization on browser refresh/close
https://github.com/swagger-api/swagger-ui/pull/5939/files
It would be great if RapiDoc could do the same. I use BASIC auth and would like a 'remember me' option.

This would definitely be nice!

Have you tried persist-auth ?
https://rapidocweb.com/api.html#att-general

Thank you @Qu4tro that looked very promising and we had somehow missed it. Unfortunately, it looks like only a partial solution as it stands today. It seems to work if you manually paste in a bearer token, but if you are using an OAuth flow, which is our most important use case, the auth does not survive a page refresh, which makes sense because nothing is visible in local storage.

@brunchboy that's something we've actually been considering adding over in the OpenAPI Explorer (which started out as a fork of this repo, but has grown into something more). If this is critical for you, and you're open to switching, depending on your main requirements, I'm sure that this is something we could prioritize.

I'm seeing the same behavior as @brunchboy described above.
Is there any progress on this?


When to disable NetworkManager?

In the ~/unlocker/runasroot.sh, there is a step to run sudo systemctl disable NetworkManager.
Can you clarify when that command should be run, and why do we want to prevent Steam from updating the Steam binary inside the container?
Do we want Steam update to happen before or after the container is unlocked?
# After this is done, you can `sudo systemctl disable NetworkManager` to prevent Steam from
# updating the Steam binary in container (only required for keyboard) during boot.
# Line below starts it if it is disabled.
systemctl start NetworkManager

I realize I just glossed over it. Here's a better explanation, please see if this help to clarify this more -
Why
It will prevent the dummy Steam Client on the non-encrypted partition to check for updates. I find it useful, since it is only needed to enter your passwords.
Why not
Disabling the net is an advanced call.
It is completely optional. If you do not mind keeping the dummy Steam Client to be up to date, you may not need to disable it at all.
When
Once you have encrypted your deck and have booted successfully, it is safe to disable it.

How
Before unlocking, open the desktop mode and a terminal, and then enter the command -
sudo systemctl disable NetworkManager

For some reason, I was under the impression that the Steam binary was in the immutable part of the system and there's only a single copy.
It's good to know that the disable step is optional. Thank you for the clear explanation!


Have some Docker images that have many versions of R pre-installed

Would be nice, I think.

Done, see README.


Why there isn't Matrix4x4?

Others in Matrix4x1 to Matrix4x6 are present.

Hi! The 4x4 matrix is called Matrix4.

Thanks!
I found it just now, while I'm wondering if there is any reason not to alias Matrix4x4 to Matrix4?
I'm new to the crates and almost create the alias myself.
But fine, to me Matrix4 is Ok, so I just close the issue now.


WorkflowClient: Add MDCContextPropagator

For propagating the MDC log context between workflow activities.

this thread might contain useful info:
https://community.temporal.io/t/usage-of-contextpropagator-in-java-sdk/1152/3

yep in my demo i am working on with @tmulle he uses a Context Propagator but it needs to be plugged into the Client Options so the PR will allow us to do that.


File seems to be missing . . .

The file 'libembroidery-main.c' appears to be missing.  My attempt to compile failed.  I did a search of the downloaded files and then SourceForge and found nothing.

What are you trying to compile, everything or just the library? You are correct that the file does not exist( or you may have typed it wrong ). Please provide the OS, compiler and the actual output stating where it is failing.


the new jeg doesn't work

Hi Günther
I have cloned your re-write branch and ported the EmbeddedNES to this branch using ppu_caching.c and ppu_caching.h.
After several hours struggling, I found that ppu->ppumask never got updated. Since there are a lot of structural update, I wonder, did you validated that the ppu_caching was still working?
Cheers,
Gabriel

Hi Gabriel,
sorry to hear that. Some work was done, but sadly the unit tests are only covering ppu_framebuffer. I never tried ppu_caching on my tests (which I should include). I started last weekend with a rework of jeg in its own branch, because I got stuck with support for mappers.
Short thoughts about my next steps (not really related to this issue):
The current implementation is doing stuff on the wrong places - I had to figure out, what is actually done in each module. DMA is such an example - it's (mainly) part of the cpu, but currently, it's widespread.
It's as always in software engineering - writing clear code will result in inefficient runtime, highly optimized runtime will result in complex code. One goal would be a really clear implementation (no function pointers, no optimization, good unit tests) and then starting with optimizations.
Günther

Hi Günther
What's the difference between ppu_caching and ppu_framebuffer?
They look similar.
Cheers,
Gabriel


No module named dronekit - 3DR Solo - Running code onboard - Help needed

Hi guys,
I am having a little trouble running the helloworld example for solo developers (http://dev.3dr.com/example-helloworld.html) and I was hoping some one could shed some light on this for me. I have been following the development guide to run solo scripts onboard. I can run helloworld.py from my PC using:
git clone https://github.com/3drobotics/solodevguide1
cd solodevguide/examples/helloworld
python helloworld.py

This runs fine without any issues, but when I try to run it onboard solo it fails. I do the following commands:
solo script pack
This command successfully creates the file: solo-script.tar.gz
I then try to run:
solo script run helloworld.py
but it fails with the following error:
' File "/log/solo-script/helloworld.py", line 1, in from dronekit import connect
ImportError: No module named dronekit

Since I can run it on the ground station pc without any issues I am guessing that the solo script run command is failing because I am missing some files on my solo? I thought dronekit was already included onboard... I am currently lost on how to fix this so any suggestions would be greatly appreciated! Thanks in advance!

Hi @reyes73a
First of all, it doesn't sound to me like you're doing anything wrong (I wrote the instructions, and tested them at that point). The pack command should include dronekit in the package as a requirement. The examples should work without any issue.
Can you

Confirm what host operating system you are using
Put the full log for running solo script run helloworld.py  (or confirm that all that is displayed is that error)

Regards
H
PS Just for future reference, best to post Solo specific questions in the solodevguide repo. This is almost certainly a packaging problem, and not a dronekit problem as such.

Can you also please attach your generated solo-script.tar.gz and confirm that the directory you are packaging contains the requirements.txt file.

Thanks a lot for your reply Hamish!

I am running Ubuntu 14.04.3 LTS (trusty)
Full error log is attached. Trying to attach solo-script.tar.gz but github is not allowing me to. Also tried attaching it as ZIP but no luck. I can see the contents of solo-script.tar.gz:
solodevguide
.gitignore
dronekit-2.0.2-py2-none-any.whl
helloworld.py
pymavlink-1.1.69-py2-none-any.whl
README.md
requests-2.9.1-py2.py3-none-any.whl
requirements.txt

requirements.txt contains "dronekit>=2.0.0")
Also the directory structure where the package and run commands are being executed is:
/solodevguide/examples/helloworld
Inside /helloworld there is the following:
helloworld.py README.md   requirements.txt   solodevguide   solo-script.tar.gz
If I open requirements.txt it also contains only one line of text:
dronekit>=2.0.0
errorlog.txt
Any other way I can send you the solo-script.tar.gz?
Thanks a lot for your help. I really appreciate it.

@reyes73a Can you please email me the tarball - hamish at 3drobotics dot com .

Just emailed you the tarball. Thanks!

According to what I read above, I see that peterbarker committed a fix for this? What is the proper way to take in this fix? Thanks!

FYI, I replied to @reyes73a offline. When the icon at top of page says "Merged" rather than "Open" they can following the update instructions (use -U flag to pip) to get the latest version.

@reyes73a FYI, we still haven't managed to test the fix (https://github.com/3drobotics/solo-cli/pull/37) on Mac OS X, so haven't been able to make a release. I'm updating a mac to a new enough version (hopefully) for testing.

Yes! I noticed on git hub. Thats ok. I will remain on hold until the merge
happens. Thanks for the update!
On Feb 10, 2016 11:05 PM, "Hamish Willee"<EMAIL_ADDRESS>wrote:

@reyes73a https://github.com/reyes73a FYI, we still haven't managed to
test the fix (3drobotics/solo-cli#37
https://github.com/3drobotics/solo-cli/pull/37) on Mac OS X, so haven't
been able to make a release. I'm updating a mac to a new enough version
(hopefully) for testing.
—
Reply to this email directly or view it on GitHub
https://github.com/dronekit/dronekit-python/issues/524#issuecomment-182709589
.

Hi @reyes73a and @hamishwillee ,
Glad that I found you; I have exactly the same issue on Ubuntu, nevertheless it works from cygwin... Still there are errors (see code below) output, but it runs. I am looking forward the merge status.
Nevertheless the command python helloworld.py always fails, it says >>> Link timeout, no heartbeat in last 5 seconds.
@hamishwillee do you have any idea why? Strangely enough Mission Planner always succeed connecting to the solo and reading the parameters. It is as if the connect functions between MP and dronekit were different.
On cygwin:
`$ solo script run helloworld.py
connecting to solo...
checking pip...
uploading script bundle...
./
./.gitignore
./helloworld.py
./README.md
./requirements.txt
./wheelhouse/
./wheelhouse/dronekit-2.0.2-py2-none-any.whl
./wheelhouse/pymavlink-1.1.70-py2-none-any.whl
./wheelhouse/requests-2.9.1-py2.py3-none-any.whl
Not deleting env/bin
New python executable in env/bin/python
Installing setuptools, pip, wheel...done.
cp: can't stat '/usr/lib/python2.7/site-packages/greenlet*': No such file or directory
Ignoring indexes: https://pypi.python.org/simple
Processing ./wheelhouse/dronekit-2.0.2-py2-none-any.whl
Processing ./wheelhouse/pymavlink-1.1.70-py2-none-any.whl
Processing ./wheelhouse/requests-2.9.1-py2.py3-none-any.whl
Installing collected packages: pymavlink, requests, dronekit
Successfully installed dronekit-2.0.2 pymavlink-1.1.70 requests-2.9.1
running script...
ERROR LOADING MAVNATIVE - falling back to python implementation
Connecting to udpin:<IP_ADDRESS>:14550...
Vehicle state:
Global Location: LocationGlobal:lat=47.2819165,lon=-1.5205414,alt=2.98
Global Location (relative altitude): LocationGlobalRelative:lat=47.2819165,lon=-1.5205414,alt=2.98
Local Location: LocationLocal:north=None,east=None,down=None
Attitude: Attitude:pitch=0.00435095559806,yaw=1.80949473381,roll=-0.00715055828914
Velocity: [0.059999999999999998, 0.02, 0.0]
Battery: Battery:voltage=15.607,current=0.91,level=66
Last Heartbeat: 0.0524210929871
Heading: 103
Groundspeed: 0.399999976158
Airspeed: 0.399999976158
Mode: LOITER
Is Armable?: False
Armed: False
Done.
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
File "/usr/lib/python2.7/threading.py", line 504, in run
File "/log/solo-script/env/lib/python2.7/site-packages/dronekit/mavlink.py", line 84, in mavlink_thread
File "/log/solo-script/env/lib/python2.7/site-packages/dronekit/init.py", line 1092, in listener
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'time'
`
Thanks in advance,

@nicOwlas I am confused - your log above essentially shows success - there is an exception, but it is after the thread completes. I certainly can't see >>> Link timeout, no heartbeat in last 5 seconds.
I think you're saying that if you run python helloworld.py on the ground station you get a timeout? Did you first connect to solo and use its IP address in the above command?

Hi @hamishwillee,
sorry my mail was confusing. The thread corresponds to running the script on-board the solo and executes correctly (exception for the ERROR LOADING MAVNATIVE?).
The main problem I am facing is that I cannot start a script launched from the ground station, the error is then always the same: >>> Link timeout, no heartbeat in last 5 seconds..
I have tried various launch command (from ubuntu or cygwin):
python helloworld.py
python2.7 helloworld.py
python helloworld.py udpin:<IP_ADDRESS>:14550 (also trying with other ports up to 14560)
It fails consistently. As I was saying, strangely mission planner manages to connect (UDP on port 14550).

@nicOwlas

(exception for the ERROR LOADING MAVNATIVE?).

Yes, I get this too. We should kill that warning, but it can be ignored for now.
When connecting from the PC, either of these should work provided your PC is connected to Solo's wifi network. That said, I have not tried form Cygwin, only from normal Python prompt.
`python helloworld.py`
`python helloworld.py udpin:<IP_ADDRESS>:14550

I will try to test this in the coming days ...
Regards
Hamish

@reyes73a We've updated the version of solo-cli on master, so you should be able to test this now. There are still some odd artifacts when helloworld.py is being unpacked and after it runs, but these can be ignored - it works! We're now looking at adding full windows support for the pack operation.

Thanks Hamish! Let me give it a try and get back to you! Thanks again!
On Tue, Feb 16, 2016 at 11:23 PM, Hamish Willee<EMAIL_ADDRESS>wrote:

@reyes73a https://github.com/reyes73a We've updated the version of
solo-cli on master, so you should be able to test this now. There are still
some odd artifacts when helloworld.py is being unpacked and after it runs,
but these can be ignored - it works! We're now looking at adding full
windows support for the pack operation.
—
Reply to this email directly or view it on GitHub
https://github.com/dronekit/dronekit-python/issues/524#issuecomment-185030953
.

Hi @hamishwillee,
Thanks a lot for the reply and the update of the solo-cli. I could test it on windows (cygwin) and Ubuntu. The results:

cygwin: everything works, onboard and offboard :-)
ubuntu: it works onboard only. I still get the same error while executing python helloworld.py from the terminal or from spyder...
'>>> Link timeout, no heartbeat in last 5 seconds'
'>>> No heartbeat in 30 seconds, aborting.'

This is pretty strange as @reyes73a for you, on Ubuntu you had no issue with running a script offboard... Where do you write the python helloworld.py command? In the terminal directly or by a run in Spyder? Do you ssh on solo beforehand? Do you have the solo wifi command enabled?
Cheers,

Hi @hamishwillee  and @nicOwlas ,
I updated solo-cli and the script run command now runs correctly. However once the script runs I get timeout issues:
connecting to solo...
checking pip...
script bundle already up to date.
running script...

Link timeout, no heartbeat in last 5 seconds
ERROR LOADING MAVNATIVE - falling back to python implementation
Connecting to udpin:<IP_ADDRESS>:14550...
No heartbeat in 30 seconds, aborting.
Traceback (most recent call last):
File "/log/solo-script/helloworld.py", line 7, in
vehicle = connect(target, wait_ready=True)
File "/log/solo-script/env/lib/python2.7/site-packages/dronekit/init.py", line 2769, in connect
vehicle.initialize(rate=rate, heartbeat_timeout=heartbeat_timeout)
File "/log/solo-script/env/lib/python2.7/site-packages/dronekit/init.py", line 2048, in initialize
raise APIException('Timeout in initializing connection.')
dronekit.APIException: Timeout in initializing connection.

I have tried running this with solo hooked up to the internet and also without internet and I still get the same result. I can still run the helloworld.py offboard without issues in two different ways:
python helloworld.py and python helloworld.py udpin:<IP_ADDRESS>:14550
@nicOwlas , when running the script offboard through Ubuntu I simply connect to solo's wifi (I can have solo connected to the internet or not - it does not affect the end result for me) then:
cd devsologuide/examples/helloworld
python helloworld.py or python helloworld.py udpin <IP_ADDRESS>:14550
I use the regular linux terminal and I do not SSH into solo at all.
@hamishwillee  Any thoughts on this timeout issues? Very strange indeed... Thanks =)

@reyes73a No idea. Can you please:

Confirm what version of Solo you are using - attach output of solo info.
Email me with the tarball that was created when you did pack (hamish at 3drobotics dot com)
Modify the example in the first line from vehicle = connect(target, wait_ready=True) to vehicle = connect(target, wait_ready=False). I'd like to see if the failure is in connecting or getting the parameters.

Thanks

@reyes73a Also, can you please update Solo to the latest version. It is mostly likely that you've got a version that doesn't redirect to the UDP port internally.

Hamish,

When I run the Solo App I see under settings the following info:

Solo 1.3.0

Autopilot 1.2.19

Gimbal 1.2.0

Controller 1.3.0

Controller Firmware 1.2.6

The App says I am up to date.
When I run solo info from linux I get:
connecting to Solo and the Controller...
{
  "controller": {
    "ref": "3dr-controller-imx6solo_3dr_artoo-20151118202515",
    "version": "1.3.0"
  },
  "gimbal": {
    "connected": true,
    "version": "1.2.0"
  },
  "pixhawk": {
    "apm_ref": "331103b2",
    "px4firmware_ref": "60133536",
    "px4nuttx_ref": "d48fa307",
    "version": "1.2.19"
  },
  "solo": {
    "ref": "3dr-solo-imx6solo_3dr_1080p-20151118202712",
    "version": "1.3.0"
  }
}

2 Just emailed you the new tar file.
3 After modifying the example I solo pack and then solo run again. I get the same results:
running script...

>>> Link timeout, no heartbeat in last 5 seconds
ERROR LOADING MAVNATIVE - falling back to python implementation
Connecting to udpin:<IP_ADDRESS>:14550...
>>> No heartbeat in 30 seconds, aborting.
Traceback (most recent call last):
  File "/log/solo-script/helloworld.py", line 7, in <module>
    vehicle = connect(target, wait_ready=False)
  File "/log/solo-script/env/lib/python2.7/site-packages/dronekit/__init__.py", line 2775, in connect
    vehicle.initialize(rate=rate, heartbeat_timeout=heartbeat_timeout)
  File "/log/solo-script/env/lib/python2.7/site-packages/dronekit/__init__.py", line 2048, in initialize
    raise APIException('Timeout in initializing connection.')
dronekit.APIException: Timeout in initializing connection.

I hope this helps. Thanks!

Hi @reyes73a
Your solo info output matches mine. When I install your tarball it installs, connects and runs fine.
My "guess" is that some sort of local change has stuffed up your installation. About all I can suggest is trying to update to version 2.0.0. If that works then fine. If not, then consider doing a factory reset and then updating. Note that you'll need to use the "proper" version for updating on windows because of https://github.com/3drobotics/solo-cli/issues/41

Let me try to update and see what happens. If it comes down to performing a
factory reset then my question would be what does a factory reset really
entail? Does it reset flight controller, onboard computer and remote
control?
Will have to start from step 1 in the dev guide and reinstall solo-cli and
all that correct?
Thank!
On Tue, Feb 23, 2016 at 6:52 PM, Hamish Willee<EMAIL_ADDRESS>wrote:

Hi @reyes73a https://github.com/reyes73a
Your solo info output matches mine. When I install your tarball it
installs, connects and runs fine.
My "guess" is that some sort of local change has stuffed up your
installation. About all I can suggest is trying to update to version 2.0.0.
If that works then fine. If not, then consider doing a factory reset
https://3dr.com/kb/factory-reset/ and then updating. Note that you'll
need to use the "proper" version for updating on windows because of
3drobotics/solo-cli#41 https://github.com/3drobotics/solo-cli/issues/41
—
Reply to this email directly or view it on GitHub
https://github.com/dronekit/dronekit-python/issues/524#issuecomment-187992501
.

Yes, it resets everything on the solo - you will have to check that factory reset link to see what else it does. You won't need to reinstall solo-cli, but you will need to then update the software to the latest version, and you will probably need to log in at least once via SSH to your Solo before you will be able to connect using solo-cli
Another thing you might try *first( is doing solo resize, which resizes your root partition. As part of this a lot of crud in your system may be removed (it was in my case) so that could help. Its worth trying before you go to the scary step of a factory reset.

I'm having this same problem, any solution?
ddc) Alexs-MacBook-Air:solo alex$ solo info
connecting to Solo and the Controller...
{
  "controller": {
    "ref": "3dr-controller-imx6solo-3dr-artoo-20160304215337",
    "version": "2.1.0"
  },
  "gimbal": {
    "connected": false
  },
  "pixhawk": {
    "apm_ref": "73e08529",
    "px4firmware_ref": "5e693274",
    "px4nuttx_ref": "d48fa307",
    "version": "1.2.23"
  },
  "solo": {
    "ref": "3dr-solo-imx6solo-3dr-1080p-20160304215558",
    "version": "2.1.0"
  }
}
(ddc) Alexs-MacBook-Air:solo alex$ solo script run hello_solo.py
connecting to solo...
checking pip...
script bundle already up to date.
running script...

Traceback (most recent call last):
  File "/log/solo-script/hello_solo.py", line 1, in <module>
    from dronekit import connect
ImportError: No module named dronekit

That was second try ever, first try looked different, but same error:
(ddc) Alexs-MacBook-Air:solo alex$ solo script run hello_solo.py
connecting to solo...
checking pip...
installing pip...  done.
installing wheel...  done.
installing virtualenv...  done.
uploading script bundle...
./
./hello_solo.py
./requirements.txt
./wheelhouse/
./wheelhouse/dronekit-2.4.0-cp27-none-any.whl
./wheelhouse/monotonic-0.6-cp27-none-any.whl
./wheelhouse/pymavlink-1.1.72-cp27-cp27m-macosx_10_11_x86_64.whl
Not deleting env/bin
New python executable in env/bin/python
Installing setuptools, pip, wheel...done.
cp: can't stat '/usr/lib/python2.7/site-packages/greenlet*': No such file or directory
Ignoring indexes: https://pypi.python.org/simple
pymavlink-1.1.72-cp27-cp27m-macosx_10_11_x86_64.whl is not a supported wheel on this platform.
running script...

Traceback (most recent call last):
  File "/log/solo-script/hello_solo.py", line 1, in <module>
    from dronekit import connect
ImportError: No module named dronekit


device mismatch btw new batch VS given batch in make_batch_for_sparse_grapsh()  - solved

Running spectralnet using is_sparse_graph=True leads to this error:
spectralnet2.fit(feats2)
  File "/home/guests/test/project/.venv-p311/lib/python3.11/site-packages/spectralnet/_spectral.py", line 218, in fit
    self.spec_net = spectral_trainer.train(X, y, self.siamese_net)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/guests/test/project/.venv-p311/lib/python3.11/site-packages/spectralnet/_trainers/_spectralnet_trainer.py", line 107, in train
    X_grad = make_batch_for_sparse_grapsh(X_grad)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/guests/test/project/.venv-p311/lib/python3.11/site-packages/spectralnet/_utils.py", line 66, in make_batch_for_sparse_grapsh
    new_batch_x = torch.cat((new_batch_x, nn_tensors))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument tensors in method wrapper_CUDA_cat)

Solution:  in spectralnet/_utils.py in line 65, needed to change nn_tensors = torch.tensor(nn_tensors) to nn_tensors = torch.tensor(nn_tensors, device=batch_x.device), and the issue got resolved.

Thanks!
On Tue, 7 Nov 2023 at 23:20 alexaatm @.***> wrote:

Running spectralnet using is_sparse_graph=True leads to this error:
spectralnet2.fit(feats2)
File "/home/guests/test/project/.venv-p311/lib/python3.11/site-packages/spectralnet/_spectral.py", line 218, in fit
self.spec_net = spectral_trainer.train(X, y, self.siamese_net)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/guests/test/project/.venv-p311/lib/python3.11/site-packages/spectralnet/_trainers/_spectralnet_trainer.py", line 107, in train
X_grad = make_batch_for_sparse_grapsh(X_grad)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/guests/test/project/.venv-p311/lib/python3.11/site-packages/spectralnet/_utils.py", line 66, in make_batch_for_sparse_grapsh
new_batch_x = torch.cat((new_batch_x, nn_tensors))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument tensors in method wrapper_CUDA_cat)
Solution: in spectralnet/_utils.py in line 65, needed to change nn_tensors
= torch.tensor(nn_tensors) to nn_tensors = torch.tensor(nn_tensors,
device=batch_x.device), and the issue got resolved.
—
Reply to this email directly, view it on GitHub
https://github.com/shaham-lab/SpectralNet/issues/4, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARCUZQ27T6QU57JCAZY7DDDYDKQZLAVCNFSM6AAAAAA7B3DUHOVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4DEMRVGA4TONI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Add full stops to function docs: looks better in generated docs.

Hi Andreas,
The generated docs for the methods of fuse::Filesystem look a bit funny, for instance Initialize filesystem Called before any other filesystem method.. This patch adds a full stop in between there.
Cheers, Bram

Thanks! :) You're right, it looks weird without the dots. The documentation could be improved in general as several issues proposed already. I guess if doc comments get enhanced, we should switch to a proper markdown formatting anyway.

Thanks!
I'm sure someone in the future will feel like converting everything to Markdown. I haven't a clue how to do it :p


Add Jenkinsfile for PR job

This PR adds a Jenkinsfile for PR testing.

CI failed on timing test which is a known issue in the CI and close enough to call it a pass.