[android+desktop] Dark Mode Theme (USD $250 cryptocurrency bounty for each Dark Theme implementation, one android, another in desktop)

We need help with this one.
We'd need a Dark Mode Theme and a way to change it, ideally without restarting the app with a toggle switch on the Settings screen.
If you have graphic design chops we could pay USD $250 via PayPal or crypto (BTC) on delivery.
Updated: We've added also this bounty for Desktop, another $250

Is this still needed?

Yes.
I gave it a try and ended up in a mess, maybe you can give it a try.

Updated payment to just Paypal or BTC (ETH fees make it impossible at the moment)

Updated payment to just Paypal or BTC (ETH fees make it impossible at the moment)

I assume the answer is yes

Created a pull request. Read it's comments. :)

WOHOO!!! Checking!

Linking to Pull Request
https://github.com/frostwire/frostwire/pull/1019/commits

code looks clean, very cool stuff the "tint" concept.

Bounty completed by @marcelinkaaa , merging to next android release 🎉

Added theme switching and preference saving functionality and merged to master
https://github.com/frostwire/frostwire/commit/fc7095bad232654bea851ff64549da54257781e2


Update migration.md

typos

Coverage remained the same at 97.143% when pulling cf32a042f1a174ac7da87814d8cf1eac3918d99d on burningTyger:patch-2 into 0782f876c44e23050f402143025c07d374653c1a on Vincit:master.


OpenID workflow # sign causing issues with flask app, GET cannot obtain parameters

Hi UAA dev,
I ran into an issue with the OpenID connect with authorization code grant workflow with a Flask application. The url from this workflow appends the number sign (#) directly behind the redirect url after successfull authorization request causing the flask application unable to obtain the code/id_token/state args etc.
example callback url:
https://localhost/callback#token_type=bearer&id_token=xxx&code=xxx&state=xxx
I was wondering whether is there any way to disable the use of number sign so I can successfully use GET to obtain the parameters from UAA openid response?

@rudyzhou2 This is the standard behavior when using the response type of code id_token on the /authorize end point is that it returns the id_token token along with code.
You should instead do the following

Call the /authorize only with response_type of code
Call the /token endpoint with response_type of id_token token


[bug]

Describe the bug
On the top right corner of the homepage, the youtube logo button looks a little misaligned towards the right.
To Reproduce
No response
Expected Behavior
No response
Screenshot/ Video

Additional context
No response

Duplicate issue #44


tileset editor can't reliably select which tile to edit

Godot version:

3.1
Scenario: One file, several tiles. Some tiles use the same texture. For example i have an autotile using a 3x3 region, but want to manually be able to place these tiles as well. For that i add 9 single tiles, which overlap the autotile. This prevents me from reliably selecting the correct tile to edit.
I propose we add a list of all the tiles on the current texture, or make the names you can optionally display atm clickable.

CC @MarianoGnu @YeldhamDev @guilhermefelipecgs

I suppose this is connected to this mess of a thread. And the specific comment. https://github.com/godotengine/godot/issues/27661#issuecomment-480414576
Perhaps we can re purpose this issue for the proposal of a tileset editor UX overhaul?

How about a simple dropdown left to the 'New Single Tile' button that lets you select an existing tile, including none?
Additionally a way to unselect the current tile would be great (maybe by pressing Escape). The 1st time you open the edit mode nothing is selected and you can select a tile by clicking on it, which is very useful when the tiles are not overlapping.


Simplify input request

This depends on the following PRs
Xeus: https://github.com/jupyter-xeus/xeus/pull/319
Xeus-lua: https://github.com/jupyter-xeus/xeus-lua/pull/22

Closing as superseded by #34.


Added often forgotten functions capable of system calls

... and a link to Mozilla SSL Configuration Generator

Nice! Thank you.


Support screens larger than 4096 pixels (update submodule)

Fixes:  #3083

It would be nice to update submodule again after NEON merged.

Agreed.

Merging.


Input accessory view blog post

I made some small edits, regarding availability. If you're happy with those edits, this can be merged.


Indicate how to have multiple texture atlases

What problem does this solve or what need does it fill?
As a new user of the library it was not clear if it is possible to have multiple texture atlasses at all, and while #7 indicates that users are supposed to solve this by using multiple tilemaps, that issue is not super easy to find.
Describe the solution would you like?
A note in the readme or somewhere else visible feels like the easiest and clearest way to inform the users how to achieve this.
Describe the alternative(s) you've considered?
Adding a note to some other place, like a wiki if this project gets one.
Additional context
none

I absolutely agree that it's a good thing that a single tilemap can only have one texture atlas, I just think that as a user it's hard to find out that I am supposed to use multiple tilemaps for that purpose

FWIW I'm trying to integrate ldtk and this is sort of an issue since each layer can have its own tileset. Honestly most asset collections I've seen out there aren't all combined onto a single sheet either, so I'd have to edit all my tiles together to a single atlas to use this.

I am going to explore the possibility of actually getting this in.


Reverse Altitude Constraint scores

Reverse the scores for altitude constraint so that lower altitudes give higher scores so long as they are above the min. If this is not the intended behaviour let me know. If is I can write a test for it (currently there are no tests for boolean_constraint=False constraints)

The intended behaviour is for AltitudeConstraint to output a higher (better) score for a higher altitude (closer to zenith). Is there a reason why we would want to flip the scoring?
_rescale_minmax (https://github.com/astropy/astroplan/blob/master/astroplan/constraints.py#L1000), is intended to be a general function that can be used in the non-boolean version of any Constraint. So if we wanted to flip the scoring it would be better to have AltitudeConstraint return 1-_rescale_minmax(...) instead of changing how _rescale_minmax works.

Seems like it would depend on whether or not a meridian flip is needed or has been performed. If something is at 88° and is only observable for ten minutes before a flip is required it doesn't seem like that should have a higher score, but that could just be my thinking.
Also, if it's a generic function the docstring shouldn't specifically mention that it's for altitude. I'm happy to close this if it's not what is wanted and agree that the 1 - _rescale_minmax is potentially the better solution.

In a earlier version of #165 than got merged, there was a MeridianTransitConstraint (https://github.com/StuartLittlefair/astroplan/blob/e96efcb81b29fb6637e26eebd98852ec1d299f66/astroplan/constraints.py#L709) that would be a solution to the case you described.
I'm going to try making a few additions to generalise _rescale_minmax and I'll give it a better docstring.

I was wondering why the MeridianTransitConstraint disappeared actually. :)


Using isPathClear on level Almost Perfect Minefield doesn't work to detect mines

On level Almost Perfect Minefield trying to use the hero.isPathClear method to detect mines doesn't work. It always says the path is clear even though it's not.
The item that gives the hero.isPathClear method is the Twilight Glasses.
In the item  description it says:

Returns whether there are any obstacles (walls, cliffs, etc.) or hazards (traps, pits, etc.) in the straight line between start and end positions.

Since it detects traps this seems to be a bug.
Example code:
hero.say(hero.isPathClear({'x': 10, 'y': 10}, {'x': 72, 'y': 10}))

There was something weird with traps, default settings didn't work for them


TST: Add test for multi-char sep and non-utf8 in read_csv

Title is self-explanatory.  Closes #3404.

Not sure if so many different ones to test is not overkill, but looks good, thanks

@jorisvandenbossche : it was a good thing you asked about a specific test.  You caught a Python 2 bug.  Turns out when we have a StringIO (the Python 2 BytesIO) of encoded data, we can't wrap it with a TextIOWrapper and pass in the encoding parameter like we do in Python 3 so that we can decode it.
Normally, this would in fact be taken care by CsvReader, BUT that's only for standard delimiters.  When we have a multi-char separator, we have to resort to an ad-hoc method of creating a generator, which does zero decoding.

Current coverage is 85.23% (diff: 100%)

Merging #13812 into master will increase coverage by <.01%

@@             master     #13812   diff @@
==========================================
  Files           140        140
  Lines         50420      50415     -5
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits          42975      42971     -4
+ Misses         7445       7444     -1
  Partials          0          0

Powered by Codecov. Last update cc216ad...61a5980

@jorisvandenbossche : Squashed the bug, and Travis is passing here (had to make a doc change after, hence the [ci skip]).  Ready to merge if there are no concerns.

thanks @gfyoung


Trev8939/explore scenes in ar

Hi Luke. Another one to look at as the AR toolkit work comes to the finish line. Thanks!

Thanks for making those changes @LDuncAndroid! Can you re-review when convenient?

BEFORE RELEASE:

README links need to updated before release
AAR links need to be updated to bintray


Upcoming Network Release

This is an EPIC issue to track all parallel efforts toward the next release.
Pre-Release

#2108

First wave

#2045
#2050
#2021
#1976

Second wave

#2147
#2109
#2041

Follow-up

#2046

If time permits, we could also try merging a few of these before the pre-release:

#2154
#2128
#2037
#2133
#2134
#2149
#2143


feat: infer Mail in SAML assertion and allow deleting SSO user

PingIdentity usually sends the email address in Mail with capital M. We also are allowing deleting the user record when the user is SSO with the admin API.

LGTM, should probably patch tests before merging though


Docs.rs documentation broken

Hey, thanks for the new release! The documentation on docs.rs is broken though, it appears to be building for the linux target :scream:
I believe the problem is that despite having set the default targets, all the other targets are still being built, and maybe it fails on the first build failure?
I looked at how winapi does it, and I believe this is the correct way to make it work:
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = ["aarch64-pc-windows-msvc", "i686-pc-windows-msvc", "x86_64-pc-windows-msvc"]

Thanks! I've just released a new version with this fix and the docs appear to be working now


extension_conflict_resolution_t11 is failing

co19_2/LanguageFeatures/Extension-methods/extension_conflict_resolution_t11 is failing across multiple bots
Culprit seems to be https://dart-review.googlesource.com/c/sdk/+/115210
Example log: https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8903304515198514960/+/steps/test_results/0/logs/unapproved_failing_tests__logs_/0

I think this has been either approved or fixed. So closing this for now.

Yeah, I approved it when I filed this bug. This bug is meant to track the work to fix the test. Isn't that the usual procedure?


upgrade-tiller changes

Note: this is change proposal to #71.

Feel free to merge it to your branch if you find it ok. We can also work on #73 before merging.

Sorry I missed this. Going to merge and will continue with testing.


Makefile: replace whale with D

Signed-off-by: Stephen J Day<EMAIL_ADDRESS>

Quite surprisingly this worked in even my crappy Linux setup.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1074   +/-   ##
=======================================
  Coverage   59.28%   59.28%
=======================================
  Files           5        5
  Lines         781      781
=======================================
  Hits          463      463
  Misses        204      204
  Partials      114      114

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 4c08911...e3f919f. Read the comment docs.

LGTM


Improvements to interface, testing, and examples

This PR is intended to follow up on work done by @mgkuhn in #56. The scope has grown from a focus on read methods to a package-wide overhaul.

The read methods defined in high-level-api.jl were mostly removed, allowing io.jl in the Julia Base module to do its job. See #58.
A read_timeout_ms field was added to the SerialPort type.
As done for write in #56, the read method now calls into sp_blocking_read instead of the nonblocking version.
The old read behavior is still available as the newly-renamed nonblocking_read function. This is likely a breaking change.
The "tests" were more like example scripts. Now they actually use @test.
The read methods introduced in #45 were removed. They did not work and the equivalent functionality is now provided in other ways.
A minimal working example script was added to examples/, and is now used as the README example (see #52).

I still haven't fully worked out the timeout logic for the blocking read methods. @mgkuhn provided valuable suggestions in #58, which I have partially implemented. All tests and examples now work on my computer (macOS Catalina) with an Arduino Uno running serial_example.ino.

I know @ianshmean had some particular use cases that were causing him trouble, perhaps it's worthwhile seeing if he has time to comment?

Overall the PR looks like a big step in the right direction, thanks!
Note that I just use a USB serial adapter with its RX and TX wires directly connected with each other, so just a hardware loopback wire and no Arduino board involved. I suspect that is why the tests still fail for me:
Read timeout (ms, forever if 0): 1000

Read all data currently waiting in the serial input buffer...
Wrote test message 1
test message 1
Blocking read/write: Test Failed at /home/mgk25/.julia/dev/LibSerialPort/test/test-high-level-api.jl:21
  Expression: startswith(line, "Received test message")
   Evaluated: startswith("test message 1", "Received test message")
Stacktrace:
 [1] test_blocking_serial_loopback(::SerialPort) at /home/mgk25/.julia/dev/LibSerialPort/test/test-high-level-api.jl:21
 [2] macro expansion at /home/mgk25/.julia/dev/LibSerialPort/test/test-high-level-api.jl:71 [inlined]
 [3] macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Test/src/Test.jl:1113 [inlined]
 [4] test_high_level_api(::String, ::Vararg{String,N} where N) at /home/mgk25/.julia/dev/LibSerialPort/test/test-high-level-api.jl:71

It would be nice if the tests could also be made to work with such a very basic “loopback” wire. At least, runtests.jl should print an explanation of what hardware configuration is required for the tests to pass.
Idea: In the absence of a port parameter, runtests.jlcould also try to send a test byte to all serial ports found, and then use the first one that echoed that byte back for the remaining tests, i.e. auto-detect the loopback needed for testing.

It would be nice if the tests could also be made to work with such a very basic “loopback” wire.

Good idea, this is addressed in https://github.com/JuliaIO/LibSerialPort.jl/pull/61/commits/25b2405ca8265b7c3532a2f7e66f78882d59bdab and https://github.com/JuliaIO/LibSerialPort.jl/pull/61/commits/c855eb9e396465e939604087f5348908ff17eb93.

More a cosmetic question: in many places like
check(ccall((:sp_set_config_bits, libserialport), SPReturn,
            (Config, Cint), config, Cint(bits)))

isn't the call of Cint() redundant (as already done automatically by ccall())?

I think I have addressed all review comments received so far. I still haven't implemented anything sophisticated with read timeouts, but I'm not convinced that we need to do anything more than set SerialPort.read_timeout_ms. For blocking read calls, the default behavior is to wait forever instead of missing bytes.
All the examples and tests work for me with three different hardware configurations (which are listed atop runtests.jl).
This is unfortunately a fairly big change set. It would not be simple to split up. In the end, some of the biggest problems were in the tests more than the library code under test.
I have not done any Windows testing, so it would be great if anyone could easily do that.

Hello, I was just about to open a PR for an extra readuntil method when I saw the changes here.

* The read methods introduced in #45 were removed. They did not work and the equivalent functionality is now provided in other ways.

What's the proposed alternative for getting the same functionality after the changes made in this PR? Will the user need to roll their own alternative to the Base extension methods of readuntil() contained in LibSerialPort.jl? Will the proposed changes allow fall-back methods in Base to fill in for it's absence here?

Since LibSerialPort.SerialPort is an IO subtype, the readuntil method is provided by Julia's base module (see here). You should just be able to call e.g. readuntil(sp, '\n') to get a line of characters (note that it will block forever by default after this PR). These higher-level methods like readline and readuntil just delegate to byte-level read methods, which are provided by this package, and that's all we've found to be necessary.

https://github.com/JuliaIO/LibSerialPort.jl/issues/66#issuecomment-655550523

I miss the function readuntil() in master branch. Can we have it in this branch?

The solution to users not understanding that standard methods for the IO type also work for the LibSerialPort.SerialPort subtype is that LibSerialPort should have a Documenter-produced manual, and then docs/src/index.md should list all the base methods that can usefully be used with LibSerialPort.SerialPort, which would cause readers of the documentation to also discover the availability of readuntil.

In README.md:

please change name = "/dev/ttyUSB1" to portname = "/dev/ttyUSB1" (as used by the following open)
review the reference to “support for args in the Pkg REPL” as this feature request appears to already have been implemented last year

If tests/runtests.jl is called without any arguments, it should

print the description of the loopback hardware required to perform the test, which is currently just a comment at the start of the file (simply make that a triple-quoted string literal instead of a comment)
print instructions on how to actually run a loop-back test
print a list of serial ports found (e.g. in form of test command lines)
terminate with success

The loopback tests should only be run by tests/runtests.jl if a serial port name is explicitly provided as an argument:

this will remove the need to make running on a CI server a special case
this removes safety concerns about sending test bytes to a serial port without explicit user consent (test bytes sent to serial ports unintentionally can cause real damage, e.g. recall that the maiden flight of the Ariane 5 rocket blew up after an unhandled exception caused a test dump being sent via a serial port to the motors that rotate the nozels!)
in particular, please remove the potentially dangerous port = "/dev/ttyS0" default from tests/runtests.jl (which for all we know might be connected to highly explosive equipment, such as a big rocket motor ;-)
optional: one could implement a "--scan" argument option that sends one single probe byte (perhaps NUL?) to each port found, and then looks (with say 250 ms timeout) which ports echoed that byte back, then runs the full test on each port that did and therefore appears to have a loopback in place, for the benefit of people who have a test machine with say five serial port adapters (and nothing explosive connected to them) that they all want to test routinely

(Apologies for the late response, I'm back now!)
When I run the tests on Ubuntu 18.04, I get many (shortened output)
Bytes missing:  UInt8[0x11, 0x13]
┌ Warning: Received data does not match transmitted data:
└ @ Main ~/.julia/dev/LibSerialPort/test/test-low-level-api.jl:59
┌ Warning: Received data does not match transmitted data:
└ @ Main ~/.julia/dev/LibSerialPort/test/test-high-level-api.jl:72
Test Summary:              | Pass  Fail  Total
LibSerialPort              |   68    22     90
  Low level API            |   44    20     64
    Blocking read/write    |   20    10     30
    Nonblocking read/write |    1            1
    Blocking read/write    |   20    10     30
    Nonblocking read/write |    1            1
  High level API           |   24     2     26
    Blocking read/write    |   10           10
    Nonblocking read       |    1            1
    Bytestring roundtrip   |          1      1
    Blocking read/write    |   10           10
    Nonblocking read       |    1            1
    Bytestring roundtrip   |          1      1
ERROR: LoadError: Some tests did not pass: 68 passed, 22 failed, 0 errored, 0 broken.

When doing binary tests that include the bytes 0x11 (Ctrl-Q, XON) and 0x13 (Ctrl-S, XOFF), XON/XOFF flow control obviously must be switched off first.
The documentation string for test_low_level_api() claims “Hardware and software flow control measures are disabled by
default”. That would seem sensible, but seems currently to be a lie: I can't find any call to set_flow_control() to actually disable flow control. I suspect we instead get the operating-system default, which on my machine is
$ stty -F /dev/ttyUSB1 -a
[...] ixon -ixoff [...]

Could you please explicitly switch off flow control, at least in the tests? It might even be a good idea to make flow-control a default-off parameter of open().

Can I make a PR for this branch ama/fix-read-methods ? Based on branch ama/fix-read-methods and master branch, I make a new readuntil() and want to add it to branch ama/fix-read-methods.

What is wrong with the existing readuntil method? It works fine in my tests.

@touchft What is wrong with the existing implementation of Base.readuntil, which is already working for SerialPort because SerialPort is a subtype of IO, i.e. inherits all methods from IO. Why do you think the SerialPort type needs a specialization of Base.readuntil and what would it do that Base.readuntil(s::IO, delim::AbstractChar; keep::Bool=false) doesn't already do?
If this is about timeouts: we are going to implement timeouts in read() and unsafe_read() via an exception and a new timeout parameter inside the SerialPort struct, and that new parameter and exception with then just be passed on through Base.readuntil(s::IO,...) (and lots of other standard IO methods) as well.

What is wrong with the existing readuntil method? It works fine in my tests.

Nothing wrong. Three things I consider for the change are:
1.the return from readuntil (String) is not consistent with the return of read (UInt8[...]), I like the later due to binary transport of serial port.
2.lack the control keep while readuntil in io.jl have this.
3.I want to one more keyword to control the maximum number of bytes read.
Maybe I am too greedy ^-^
Code is here:
"""
`readuntil(sp::SerialPort, delim::Vector{UInt8}, timeout_ms::Real; max_read_size::Int = typemax(Int16), keep::Bool = false)`

Read until the specified delimiting byte (e.g. `'\\n'`) is encountered, or until timeout_ms has elapsed, or maximum size of bytes readed, whichever comes first. The delimiter can be a UInt8, AbstractChar, AbstractString, or Vector{UInt8}. Keyword argument keep controls whether the delimiter is included in the result. The text is assumed to be encoded in UTF-8.
"""
function Base.readuntil(sp::SerialPort, delim::Vector{UInt8}, timeout_ms::Real; max_read_size::Int = typemax(Int16), keep::Bool = false)
    read_timeout_ms = sp.read_timeout_ms
    start_time = time_ns()
    read_start_time = start_time
    num_read_bytes = 0
    out = IOBuffer(maxsize=max_read_size)
    find_delim = false
    if length(delim) == 0
        nodelim = true
    else
        nodelim = false
        lastchars = UInt8[0 for i=1:length(delim)]
    end

    while !eof(sp)
        # set read_timeout
        current_time = time_ns()
        if (current_time - read_start_time)/1e6 > read_timeout_ms
            # @info "No data available. Time out!"
            break
        end
        # set total timeout
        if (current_time - start_time)/1e6 > timeout_ms
            # @info "Total time (read) is out."
            break
        end

        # The space in IOBuffer remains for write
        maxbuffer = max_read_size - num_read_bytes
        n = bytesavailable(sp)

        if maxbuffer <= 0
            # @info "Read buffer is full."
            break
        end

        if n > 0
            n = min(maxbuffer, n)
            if nodelim
                c = read(sp,n) # max number of bytes for once read(sp) is: 4095
                write(out, c)
                num_read_bytes += n
            else
                for i in 1:n
                    c = read(sp,1)
                    write(out,c)
                    lastchars = circshift(lastchars,-1)
                    lastchars[end] = c[1] # c isa Vector{UInt8}
                    num_read_bytes += 1
                    if lastchars == delim
                        find_delim=true
                        # println("find delim !")
                        break
                    end
                end
            end
            read_start_time = time_ns()
            find_delim && break
        end
    end
    # @show num_read_bytes
    if find_delim && !keep
        return take!(out)[1:end-size(delim,1)]
    else
        return take!(out)
    end
end

Base.readuntil(sp::SerialPort, delim::Union{AbstractString,AbstractArray{Int,1}}, timeout_ms; max_read_size::Int = typemax(Int16), keep::Bool = false) = Base.readuntil(sp, Vector{UInt8}(delim), timeout_ms; max_read_size = max_read_size, keep=keep)

Base.readuntil(sp::SerialPort, delim::Union{UInt8,AbstractChar}, timeout_ms; max_read_size::Int = typemax(Int16), keep::Bool = false) = Base.readuntil(sp, Vector{UInt8}([delim]), timeout_ms; max_read_size = max_read_size, keep=keep)

Base.readuntil(sp::SerialPort, timeout_ms::Real; max_read_size = typemax(Int16), keep::Bool = false) = Base.readuntil(sp, Vector{UInt8}(), timeout_ms; max_read_size = max_read_size, keep=keep)

1.the return from readuntil (String) is not consistent with the return of read (UInt8[...]), I like the later due to binary transport of serial port.

The existing readuntil(stream::IO, delim; keep::Bool) method from base/io.jl accepts both UInt8 or Vector{UInt8} values for delim, and in both cases will return Vector{UInt8}:
julia> readuntil(stdin, 0x40)
abc@def
3-element Array{UInt8,1}:
 0x61
 0x62
 0x63
julia> readuntil(stdin, UInt8[0x40])
abc@def
3-element Array{UInt8,1}:
 0x61
 0x62
 0x63

So no need to “reinvent the wheel” inside this package's high-level API, which is essentially just the serial-port driver for the IO system of Base.

3.I want to one more keyword to control the maximum number of bytes read.

That sounds like a perfectly reasonable pull request for base/io.jl, as there is nothing specific to this feature request for serial ports. The same feature request seems perfectly useful for use with lots of other IO drivers than just this one.
The only other feature of your routine, the timeout, we will be doing in a way that works fine with all the many different readuntil methods in Base.

1.the return from readuntil (String) is not consistent with the return of read (UInt8[...]), I like the later due to binary transport of serial port.

The existing readuntil(stream::IO, delim; keep::Bool) method from base/io.jl accepts both UInt8 or Vector{UInt8} values for delim, and in both cases will return Vector{UInt8}:
julia> readuntil(stdin, 0x40)
abc@def
3-element Array{UInt8,1}:
 0x61
 0x62
 0x63
julia> readuntil(stdin, UInt8[0x40])
abc@def
3-element Array{UInt8,1}:
 0x61
 0x62
 0x63

So no need to “reinvent the wheel” inside this package's high-level API, which is essentially just the serial-port driver for the IO system of Base.

3.I want to one more keyword to control the maximum number of bytes read.

That sounds like a perfectly reasonable pull request for base/io.jl, as there is nothing specific to this feature request for SerialPort. The same feature request seems perfectly useful for use with lots of other IO drivers than just this one.
The only other feature of your routine, the timeout, we will be doing in a way that works fine with all the many different readuntil methods in Base.

Great! I think I miss checking the master branch of LibSerialPort.jl (I checked the Julia repo and branch ama/fix-read-method ). I found that one useful blocking read method is missing in the master and ama/fix-read-method branch, i.e, "readavailable(::SerialPort)".
In branch: ama/fix-read-method:
The nonblock read method "nonblocking_read(sp::SerialPort)" seems results no difference with methd "read(sp::SerialPort)".


be more verbose on OCSP stapling file updates

related to issue #385
The OCSP update basically works like a charm, but it was making me pretty nervous to not see anything in the output related to OCSP when configuring it.
This is because the only echo was executed after the age check said an update is needed, so I propose to change that.

Thanks for the suggestion, I think your changes were a bit too verbose, but I added a notice for skipped updates.


Distribute a portable executable with the release via GH Action

added in https://github.com/Limit-Theory-Redux/ltheory-launcher/commit/4332526aa141d5f1eb0c7008bfa0c76c7e61a381


How to resolve 'Error: getaddrinfo ENOTFOUND securecdn.oculus.com'?

When running setup-ovr-platform-util I occasionally get this error, causing my whole step to fail. Is there anything I can do to prevent this from happening, or is it just an intermittent network problem?

do you have logs you can share?
yeah this seems more like an oculus problem when it tries to auto update the util.

I use this daily in my live prod environment, so making sure I don't run into this would benefit us both!

do you have logs you can share?
yeah this seems more like an oculus problem when it tries to auto update the util.

Yes, I do.
Terribly sorry I didn't include more than just the error message.

Yeah that log is not terribly informational is it? 😅

It could be that they changed the URL to download the executable. I'll double check and see if it's still the same.

Not sure, because it's also an intermittent issue.


Warnings still proscribe corrections when they may be better presented as suggestions

Language choice is nuanced and at times difficult. If a warning is thrown, it may be received and therefore acted upon more positively if phrased as a suggestion.
e.g.
example.md
   1:5-1:14  warning  `boogeyman` may be insensitive, use `boogey` instead                       boogeyman-boogeywoman  retext-equality
  1:42-1:48  warning  `master` / `slaves` may be insensitive, use `primary` / `replica` instead  master-slave           retext-equality
  1:69-1:75  warning  Don’t use “slaves”, it’s profane                                           slaves                 retext-profanities
  2:52-2:54  warning  `he` may be insensitive, use `they`, `it` instead                          he-she                 retext-equality
  2:61-2:68  error  `cripple` is often insensitive, use `disabled person` or `person with a limp` instead             cripple                retext-equality

⚠ 1 Error, 4 Warnings

could be phrased as
example.md
   1:5-1:14  warning  `boogeyman` may be insensitive, consider using `boogey` or `gremlin` instead                       boogeyman-boogeywoman  retext-equality
  1:42-1:48  warning  `master` / `slaves` may be insensitive, consider using `primary` / `replica` instead  master-slave           retext-equality
  1:69-1:75  warning  `slaves`  may be considered profane, consider using `laborer`, `worker`, or `replica` depending on your use case  instead                                       slaves                 retext-profanities
  2:52-2:54  warning  `he` may be insensitive, perhaps you might use a neuter pronoun such as `they` or `it` instead                          he-she                 retext-equality
  2:61-2:68  error  `cripple` is often insensitive, if referring to a living person, use `disabled person` or `person with a limp` as a noun instead             cripple                retext-equality

⚠ 1 Error, 4 Warnings

I'm happy to help implement this, if there's any kind of approval or traction for it.

*prescribe
work on spelling before semantics.

Those messages are generated by retext-equality, here. I think it would be great to have better wording.
Want to talk over there?


Make the tabline extension a vim plugin for itself

It would be great to have this as a standalone plugin and shouldn't be too much effort. I would like to include this with more minimal vimrc's.

I would also be interested in an "extracted" tabline plugin...
I tried to reproduce the behaviour with vim-bufferline plugin and the following conf :
let showtabline=2
autocmd VimEnter *
    \ let &tabline='%{bufferline#refresh_status()}' . bufferline#get_status_string()

But I can't even style the tabline so I'm sticking with vim-airline tabline extension for the moment…

I think it is clear, that this is not going to happen anymore. Closing.


Activate Workflows

Add deptrac to qa workflow

@jdreesen
I hope you like my approach to extract the code coverage by script and fail if it is below 80%. ;-)

@jdreesen I hope you like my approach to extract the code coverage by script and fail if it is below 80%. ;-)

I didn't find a cheap way to create a badge but with that script - may be - it could be done.


Updating to 5.13.1

npm-shrinkwrap needs to be updated as well :)

@matzew If you rebase with master you should be able to generate the skrinkcrap with rm -rf node_modules && npm cache clean && npm install --production && npm shrinkwrap

@sebastienblanc @odra I've added shrinkwrap here too, and it finally works 😫


Support for qNimble Quarto

See https://github.com/shumatech/BOSSA/pull/113 for history. Changed branch name which required new pull request.

Updating to #149 with cleaner branch for the merge.

Updating to #149 with cleaner branch for the merge.


feat(B029): Add B029 from flake8-bugbear

Added B029 from flake8-bugbear

I think I followed all the required steps, but let me know if I missed something

Looking good!

Thanks!


Bug fix, the head of the circular buffer did not overflow

Bug fix, the head of the circular buffer did not overflow. The function cb_push_incr_ptrs did not check if the head reached the end of the buffer.
Check if the log interval set by the user is integer in arduino_analog.py

Codecov Report

Merging #1138 into image_v2.6.0 will decrease coverage by 1.07%.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           image_v2.6.0    #1138      +/-   ##
================================================
- Coverage         48.69%   47.62%   -1.08%
================================================
  Files                22       22
  Lines              3647     3572      -75
  Branches            600      600
================================================
- Hits               1776     1701      -75
  Misses             1830     1830
  Partials             41       41

Impacted Files
Coverage Δ

pynq/pl.py
72.13% <0.00%> (-3.93%)
:arrow_down:

pynq/pl_server/device.py
33.18% <0.00%> (-3.81%)
:arrow_down:

pynq/pl_server/server.py
47.15% <0.00%> (-2.07%)
:arrow_down:

pynq/pl_server/xrt_device.py
27.84% <0.00%> (-1.90%)
:arrow_down:

pynq/xlnk.py
39.81% <0.00%> (-1.63%)
:arrow_down:

pynq/pmbus.py
24.08% <0.00%> (-1.56%)
:arrow_down:

pynq/utils.py
23.52% <0.00%> (-0.67%)
:arrow_down:

pynq/overlay.py
31.07% <0.00%> (-0.45%)
:arrow_down:

pynq/ps.py
100.00% <0.00%> (ø)

pynq/gpio.py
100.00% <0.00%> (ø)

... and 3 more

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 596aec2...f860b03. Read the comment docs.


Errors in Ubuntu 14.04.5 LTS

Copying img.img to new.img...
/dev/loop0 has unsupported feature(s): metadata_csum
e2fsck: Get a newer version of e2fsck!
resize2fs 1.42.9 (4-Feb-2014)
resize2fs: Invalid argument while trying to open /dev/loop0
/x.sh: line 151: [[: Couldn'tfindvalidfilesystemsuperblock.: syntax error: invalid arithmetic operator (error token is "'tfindvalidfilesystemsuperblock.")
/x.sh: line 157: 455680 - Couldn'tfindvalidfilesystemsuperblock.: syntax error: invalid arithmetic operator (error token is "'tfindvalidfilesystemsuperblock.")
resize2fs 1.42.9 (4-Feb-2014)
resize2fs: Invalid argument while trying to open /dev/loop0
Couldn't find valid filesystem superblock.
ERROR: resize2fs failed...
mount: /dev/loop0: can't read superblock
mv: cannot stat ‘/tmp/tmp.MgvuY4qbxK/etc/rc.local.bak’: No such file or directory
umount: /tmp/tmp.MgvuY4qbxK: not mounted

root@symfonyday-rome-mq:/home/vagrant# dpkg -l | grep e2fs
ii  e2fslibs:amd64                   1.42.9-3ubuntu1.3                          amd64        ext2/ext3/ext4 file system libraries
ii  e2fsprogs                        1.42.9-3ubuntu1.3                          amd64        ext2/ext3/ext4 file system utilities
root@symfonyday-rome-mq:/home/vagrant#

In the readme of the project it states that if using Ubuntu you will probably get an e2fsck error, which I'm guessing is due to Ubuntu having horribly outdated software.
The readme recommends using Ubuntu 16.04 and up, so besides manually building e2fsck this is probably your only option.

Okay awesome. I'll try the latest Centos 7 image.
For the record 16.04 was also problematic (just finished trying that) for the same reasons. Presumably because e2fsck is too old in Ubuntu.

Seems like 16.10 is the requirement, so I'll try that before Centos

Try that and report your findings. Also the development of this project seems to have stopped, so you should probably check if there has been a fork, since there are a few useful pull requests not being merged.
Disclaimer, this is self-promotion, but I have one such fork over at Gitlab with the added bonus of using rsync to copy the img (verbose output) and one of the pull requests that compresses the output iso. Check it out if you want.

Also the development of this project seems to have stopped,
@JustMeErazem  Would be interesting to know what's the source of this conclusion

I jumped to Ubuntu 18.04.1 LTS \n \l and got the script working.
I need to work on my image a bit more though
sudo /tmp/pismall.sh img.img new.img
Copying img.img to new.img...
Creating new /etc/rc.local
pi-star: 49822/114016 files (0.2% non-contiguous), 418730/455680 blocks
resize2fs 1.44.1 (24-Mar-2018)
ERROR: Image already shrunk to smallest size

Otherwise this should probably work.
For those interested here is my Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
	config.vm.hostname = "pishrinker"

        config.vm.box = "bento/ubuntu-18.04"
	config.vm.network :forwarded_port, guest: 5672, host: 55672
	config.vm.network :forwarded_port, guest: 15672, host: 55672

config.vm.provision "file", source: "Apr2019.img", destination: "img.img"
config.vm.provision "file", source: "pishrink.sh", destination: "/usr/bin/pishink.sh"
end

@framps The latest update to the script has been a year ago, the pull requests have not been answered or closed and the only recent update has been a fix in a typo in the readme. It might be that the dev is busy or whatever, it's just my opinion that he has stopped the development on this project.
But that doesn't mean that the project is outdated now, of course it isn't, it works great and does what is says perfectly.

@JustMeErazem Last commit is from1/17/2019 ...

@framps Yes, I said that "the only recent update has been a fix in a typo in the readme".
The last update to the script has been about a year ago.


Birch-san attn implementations

Will leave this open for a while so birch can add stuff if needed

Seems like there's no activity so I'll implement tomorrow


The bankfeeds-spec is missing schema-type for Pagination

The yaml document is missing the schema-type for the Pagination-schema:
Pagination:
  properties:
    page:
      type: integer
      example: 1
      description: Page number which specifies the set of records to retrieve. Example - https://api.xero.com/bankfeeds.xro/1.0/Statements?page=2 to get the second set of the records. When page value is not a number or a negative number, by default, the first set of records is returned.
    pageSize:
      type: integer
      example: 10
      description: Page size which specifies how many records per page will be returned (default 50). Example - https://api.xero.com/bankfeeds.xro/1.0/Statements?pageSize=100 to specify page size of 100.
    pageCount:
      type: integer
      example: 1
      description: Number of pages available
    itemCount:
      type: integer
      example: 2
      description: Number of items returned

@cjaeriksson - I've looked at the bankfeed spec and there is a pagination component.
https://github.com/XeroAPI/Xero-OpenAPI/blob/4e7908d32662ba0b74fdf8552e5be315e8377bcd/bankfeeds-yaml/xero_bankfeeds.yaml#L680
It is used in the "Statements" component.
https://github.com/XeroAPI/Xero-OpenAPI/blob/4e7908d32662ba0b74fdf8552e5be315e8377bcd/bankfeeds-yaml/xero_bankfeeds.yaml#L674

@SidneyAllen I think you misunderstood me. What I am saying is that the Pagination-schema has no type-property. It should have:
type: object

@cjaeriksson - got it - I've added type:object in release 2.2.1

Awesome - thanks @SidneyAllen


[Feature] Add MultiModalPrompt class

add MultiModalPrompt class and an example
Description
This PR introduces a new class, MultiModalPrompt, aimed at facilitating the transfer of information between multimodal agents. The class encapsulates both text prompts and additional multimodal data, thereby allowing seamless integration and interchangeability.
The updated src file is camel/prompts/multimodal.py and camel/prompts/__init__.py.
An example is added to examples/multimodal/formating_example.py
Key Features:

Multimodal Data Handling: The class can handle both text prompts (from the TextPrompt class) and multimodal information.
Flexible Modality Support: The class comes with a predefined list of modalities (MODALITIES), and it can validate the provided modalities against this list.
Dynamic Formatting: The format method allows the formatting of both text prompts and multimodal information in tandem. It can also distinguish between keyword arguments meant for the text prompt and those intended for multimodal information.
Customizable Model Input Conversion: With the to_model_format method, the prompt can be converted into a model-understandable format. By default, it uses the default_to_model_format method, but custom methods can also be provided.

Code Changes:

Added MultiModalPrompt class with methods for initializing, formatting, and converting to a model-understandable format.
Included a helper function, default_to_model_format, which serves as the default method to format multimodal prompts for models.

Example Description for Pull Request
MultiModalPrompt Example Demonstrations
In the attached example examples/multimodal/formating_example.py, it demonstrates the capabilities and practical use-cases of the newly added MultiModalPrompt class for various multimodal scenarios.

Single Image VQA (Visual Question-Answering) Prompt:

We start by initializing a prompt for a basic VQA scenario that involves a single image.
This demonstration uses the default model input format.
Two different questions are formatted with two separate images: "camel.jpg" and "llama.jpg".
Model-understandable formats for both prompts are printed out.

Multi-Image Question with Custom Model Input Format:

A more complex scenario is demonstrated where we have multiple images corresponding to a single question.
A custom input format, multi_image_input_format, is implemented which labels images in the prompt with numbers. This indexing format is inspired by MMICL: Empowering Vision-language Model with Multi-Modal In-Context Learning.

Special tokens <Image{i}> are introduced in the textual prompt to indicate image positions.
[Image{i}] acts as the visual placeholder for the i-th image in the prompt.

The text prompt is dynamically updated based on the number of images provided in the multimodal information.

This example serves as a practical guide to:

Show how the MultiModalPrompt can be seamlessly integrated with existing prompts.
Handle various complexities like multiple images.
Customize the input format for different multimodal models.

The described example not only showcases the ease of use and flexibility of the MultiModalPrompt class but also demonstrates its applicability across various real-world scenarios, emphasizing its potential utility for developers and researchers in the multimodal domain.
Future Work

Planning to extend the functionality with MultiModalPromptDict.
If the Prompt Class is setteled, I hope to add some demos with multiple LLM and VLLM agents.

Please review the changes and provide feedback.
Motivation and Context
Why is this change required? What problem does it solve?
close #317  Feature Request

[x] I have raised an issue to propose this change (required for new features and bug fixes)

Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds core functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (update in the documentation)
[x] Example (update in the folder of example)

Implemented Tasks

[ ] Subtask 1
[ ] Subtask 2
[ ] Subtask 3

Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[x] I have read the CONTRIBUTION guide. (required)
[ ] My change requires a change to the documentation.
[ ] I have updated the tests accordingly. (required for a bug fix or a new feature)
[ ] I have updated the documentation accordingly.

The high-level class design looks good to me! Left one minor comment in the code.

The high-level class design looks good to me! Left one minor comment in the code.

Hi, thanks for your review, yet I can't see your comment in the code. Could you post it again?

TODO:

Write document for multimodal function @chenllliang
Give an example using the multimodal prompt class @ZIYU-DEEP

TODO:
* Write document for multimodal function @chenllliang

* Give an example using the multimodal prompt class @ZIYU-DEEP

Just to leave a note here – i was planning to combine this with the huggingface agent, yet i encountered the SSLError, w/ or w/o firewall restrictions (cf., #268, #17611); you may check if you have the same issue @chenllliang. i plan alternatively make a minimal example with the interpreter.

I have updated the documentation of multimdoal prompt class.  I am going to add some application VL examples using the class like VQA with different VLM (llava1.5, fuyu8b ...)

currently developming multimodal role-playing demo

I design a pipeline for a possible application of multimodal agents' collaboartion. It's called "Scientific Graph Painter", which is used to generate python code to draw a figure from in scientific papers.
It has 3 roles and possible models:

Draft : GPT4V  , generate the draft code for drawing the graph
Critic: GPT4V  , compare the draft and target graph, give revision suggestions
Polisher: GPT4  , following the suggestions, revise the code for drawing the graph

The pipeline graph is listed below, sry I am too occupied with other stuffs currently in Feb. 2024. Anyone feels interested in the topic can implement or discuss.
I think something need to be done first: add image information in agents' message. I change the PR from "add multimodal prompt class" to "Multimodal agents demo".


Missing Documentation on creation of catalog filters

Bug Report
Describe the Bug
I tried to find out how catalog filters are defined when querying a connector but could not.
  "filterExpression": {
    "operandLeft": "https://w3id.org/edc/v0.0.1/ns/isFdo",
    "operator": "=",
    "operandRight": "true"
  }

Expected Behavior
I expected documentation here:
https://eclipse-edc.github.io/documentation/for-adopters/dataspaces/

This is not a bug, we just have not had time to document it there. PRs welcome!


Attempting to create user with existing email issue - (bug?)

Attempt to create a new UserAccount with email in use
Receive validation error (correct behavior)
Correct the validation issue by inputting an unused email address.
First email (the one already in use) receives the confirmation email with the original invalid request's details (Bug).

Current thought (please correct me if I'm wrong) is that an account created event is being pushed prior to the email validation.
Specifically in UserAccountService.Init which is called on ln459 prior to the ValidateEmail call on ln462.
https://github.com/brockallen/BrockAllen.MembershipReboot/blob/master/src/BrockAllen.MembershipReboot/AccountService/UserAccountService.cs#L545

Ah quite possibly. If you feel like helping out, you could write a unit test to show that it's broken. That way when it's fixed, we have a test to show it's fixed (forever).

If you feel like helping out, you could write a unit test to show that it's broken.

I'm looking into that now actually.  Enjoy your holiday!

I created a branch on my fork to demonstrate the failure condition.  Here's the diff, not quite ready to open a PR on this yet but open to discussion on a possible fix.
https://github.com/brockallen/BrockAllen.MembershipReboot/compare/master...Steven-Pingel:bugUnitTest?expand=1

Any update?

No, we've actually forked this project locally, I'll update if/when we fix it.  I need to get a more robust test in place to prove the issue, as it seems to work when tested in the context of the user service.  Point still stands though that it's a bit odd the created event is pushed into the queue prior to the validation calls.


A question on navdata

Hello,I'm using your pyardrone to attend a UAV competition in my school.I want to say it is really a nice one.And I feel lucky that I could find this repository.
Sorry to bother you here,but I can not find a way to contact you privately.If my action makes you feel unpleasant,just tell me directly.
So,my question is I failed to make use of navdata,and the doc says

nav.demo
Demo(.....)

which I feel difficult to understand.
Could you give me some hint?Any will help.
Thank you very much.

I think it didn't work because I have disabled the config part of the library (because it's not working properly), but NavData demo requires it to work.
Also I admit that it isn't very clear in the documentation.
I will update both the library and documentation when I get access to the AR Drone hardware tomorrow.
BTW, I maintain this library as a subproject of my UAV project, which is work in progress, so always feel free to ask any question you have encountered.
Thanks for reporting!

First of all, I have to apologize that I accidentally removed ARDrone.navdata, so please update to 0.5.1 before proceeding.
>>> from pyardrone import ARDrone, at
>>> drone = ARDrone()
>>> drone.navdata_ready.wait()  # wait for first navdata
>>> drone.navdata
NavData(checksum=928, cks=Cks(value=928), metadata=Metadata(header=1432778632, state=1333790928, sequence_number=79367, vision_flag=1))
>>> drone.navdata.metadata
Metadata(header=1432778632, state=1333790928, sequence_number=79367, vision_flag=1)

According to the Developer Guide from parrot:
(https://github.com/afg984/pyardrone/raw/dev-resources/ARDrone_Developer_Guide.pdf)
To get navdata_demo you have to send an AT*CONFIG command,
which is
>>> drone.send(at.CONFIG('general:navdata_demo', True))

in pyardrone.
And drone.navdata.demo will be available then.
A higher level API for configuring ARDrone will be available in future versions, though.

this is how navdata.demo would look like:
>>> drone.navdata.demo
Demo(ctrl_state=131072, vbat_flying_percentage=80, theta=-1700.0, phi=-511.0, psi=5451.0, altitude=0, vx=0.0, vy=0.0, vz=0.0, num_frames=0, detection_camera_rot=[[ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]], detection_camera_trans=[ 0.  0.  0.], detection_tag_index=0, detection_camera_type=3, drone_camera_rot=[[ 0.99503797 -0.09474134 -0.03038955]
 [ 0.0949671   0.99546188  0.00607054]
 [ 0.0296765  -0.00892643  0.99951971]], drone_camera_trans=[   0.    0. -242.])

WOW.
It is really nice of you for your helpful response.
I will try them as soon as possible.
And if I encounter any problem which I can't solve myself,I'll go back here for help again :P
Lots of thanks!

I test it today and the navdata works well.
It shows context just as you described.
Thanks!

Hello!
Today our team passed the semi-final smoothly.
It seems that our team outperformed most of other teams,
which is impossible without your help!
But,I still have some question to bother you,
First,can I access video stream?
Second,can I access data which is not included in demo like battery status?

Do you want to access the latest video frame or the entire video stream?
For the latest frame use drone.frame
you must have opencv installed for that to work.
It is quite tricky to get the entire video stream, please tell me if it is an requirement.
For the battery status, I have not used it myself and the only two I found relevant are:

Demo.vbat_flying_percentage
RawMeasures.vbat_raw (accessed via drone.navdata.raw_measures, and you have to enable it first. I forgot how to do it, so please refer to the developer guide. I think sending AT Commands is enough.)

The attribute description there is just copied from ARDrone's developer guide, so I have no idea what they could possibly mean. I suggest you try it yourself.

Well,I get it.I'll try it later.
And if I make anything work,
I'll not forget to give you a report if you don't mind.

@GigaFlower if it is still relevant, please try sending:
drone.send(at.CONFIG('general:navdata_options', 5))

and see if you can get
drone.navdata.raw_measures

see also #9
I currently do not have the device, so please report back if you have the time to test and whether it works or not so I can make enabling navdata much more easier. Thanks.

Oh my god,I'm sorry I noticed your reply so late!
Since here goes winter vacation now,I can not access the device either T_T.
May be I can not test it for you until some end of February. ╯︿╰

It must be a little late to say it.
But today I finally got the device and tested the 'raw_measures'.
And the result is it did work.

Hello,I get stuck (again) ....This time is on video.
Here is the situation:
As soon as I connect to the drone,I get an error in console
WARNING: Couldn't read movie file udp://localhost:55959
Then,though drone.video_ready.wait() always return a True,drone.frame remains none.
I read the guide book and found that 'video stream is sent on port 5555(TCP for AR.Drone 2.0)',
so I tried cv2.VideoCapture('tcp://localhost:5555'), which returned a similar warning as the one I got at first.
Do you have any suggestion on what's going on?

BTW,I can receive video with my phone.

Now the contest finally ends.We has get a good prize.
Thank you very much for helping me so much. :)


Release Codex 0.1.9

Codex release

[ ] Deploy new smart contracts if required
[ ] Save contracts deployment artifacts
[ ] Update nim-codex to use new Marketplace contract
[ ] Prepare a release branch
[ ] Create a release
[ ] Post deployment

[ ] Bootstrap nodes
[ ] Storage nodes
[ ] Discordbot

[ ] Update documentation
[ ] Announcement

New smart contracts were deployed
Marketplace
Tx: 0x843fa3e4fa0998932d199d36a84f826b98b438df57b270650e9bb9f4a1555d4d
Address: 0xAB03b6a58C5262f530D54146DA2a552B1C0F7648

Pod logs
> deploy
> hardhat deploy

Downloading compiler 0.8.23
Downloading compiler 0.8.23
Warning: This declaration shadows an existing declaration.
  --> contracts/Marketplace.sol:65:5:
   |
65 |     MarketplaceConfig memory configuration,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Note: The shadowed declaration is here:
  --> contracts/Marketplace.sol:91:3:
   |
91 |   function configuration() public view returns (MarketplaceConfig memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Compiled 23 Solidity files successfully
Deployed Marketplace with Groth16 Verifier at:
0xAB03b6a58C5262f530D54146DA2a552B1C0F7648

npm notice
npm notice New major version of npm available! 9.6.7 -> 10.9.1
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.9.1>
npm notice Run `npm install -g<EMAIL_ADDRESS>to update!
npm notice
Done! Sleeping indefinitely...


checker fixes: None, trailing ws, list init

checker-suggested fixes:

Mostly, fix remaining instances of comparing none without "is"
Some trailing whitespace on lines
A couple of instances of list init followed immediately by several appends, turned into a single list init
Some double comparisons turned into a single expression

Functionally, these should be a no-op, so no doc impacts.
Signed-off-by: Mats Wichmann<EMAIL_ADDRESS>Contributor Checklist:

[X] I have created a new test or updated the unit tests to cover the new/changed functionality.
[X] I have updated master/src/CHANGES.txt directory (and read the README.txt in that directory)
[X] I have updated the appropriate documentation

Huh. Sider complaint is only on lines that changed, so in test_get_env_var lines 450-453 are not commented on (unchanged), while lines 454-458 (changed) got the complaint.  The complaint is 'get_environment_var' may be undefined, or defined from star imports: SCons.Util which is true - it does come from a star import.  Why is this an issue?  Can I just leave this as is?

Grr, looks like I hit the wrong button... it closed it, that was not intended.

Huh. Sider complaint is only on lines that changed, so in test_get_env_var lines 450-453 are not commented on (unchanged), while lines 454-458 (changed) got the complaint. The complaint is 'get_environment_var' may be undefined, or defined from star imports: SCons.Util which is true - it does come from a star import. Why is this an issue? Can I just leave this as is?

My guess is you touched that code and so it applies it's rules.
I'll merge.

Indeed it only reports on touched lines, it just makes it odd in that case :)


Issue#69: Enhance cards to redirect to webpage upon clicking.

In Agro Blogs section, instead of click on heading to redirect to respective page, I have improved it such that upon clicking on ('div') service box, redirection happens to respective blogs.

Mention your issue number

issue #69

@RanjanaShenoy Can you just check again about why the cards are not redirecting on clicking. Pull all the changes from origin and then look into create. If you are able to resolve it i'll add level 2 label.

@Suchitra-Sahoo Sure. Let me check it

Hi @Suchitra-Sahoo ,
I found that - even though the changes that I pushed (PR) is merged, it is not reflecting in the code. Like before redirection happens upon clicking the card title only.
Somebody might have not taken the latest changes during making their code changes & raising PR.

Created a new PR for this
https://github.com/Suchitra-Sahoo/AgriLearnNetwork/pull/241


Cloning into '/build/modules/modpagespeed/third_party/httpd/src'...
fatal: unable to connect to git.apache.org:
git.apache.org[0: <IP_ADDRESS>]: errno=Operation timed out

fatal: clone of 'git://git.apache.org/httpd.git' into submodule path '/build/modules/modpagespeed/third_party/httpd/src' failed
Failed to clone 'third_party/httpd/src'. Retry scheduled

Take a look in to the issue #1666

why didn't you update dockerfile alongside this https://github.com/apache/incubator-pagespeed-mod/pull/1957 ?

Well the project is driven by volunteers these days. It looks like ngx_pagespeed needs some love, especially the docker image, but no one has had time to fix it. So if you do manage to figure it out we’d be happy to review any patches. As for the docs you pointed out, for building ngx_ngx_pagespeed, maybe https://github.com/apache/incubator-pagespeed-mod/wiki/Development works better for you. Most current development effort is done over at that repo.

FWIW, I checked, and I could build nginx 1.17.0 with ngx_pagespeed@head against mod_pagespeed@head without any trouble.
Leaving the hack and slash script I used to test as a breadcrumb, maybe someone else finds it useful (possibly future me :-)).
High level that creates ~/working dir and ends up producing a working nginx/ngx_pagespeed binary.

Builds a release version of pagespeed_automatic.a from mod_pagespeed using an Ubuntu 16.04 docker image. We build this with a relatively old gcc version for compatibility reasons.
Builds nginx/ngx_pagespeed directly on the machine, consuming the artifact from the step above. Further configuring nginx is a matter of modifying the ./configure line. (My dev machine used clang-10, but this ought to just work with most gcc/clang versions)

set -xue

PREFIX=${PREFIX:-${USER}}

mkdir -p ~/workdir
cd ~/workdir

if [ ! -d incubator-pagespeed-mod ]; then
  git clone --recursive --jobs=10 https://github.com/apache/incubator-pagespeed-mod.git
fi

echo "
incubator-pagespeed-mod/out/
incubator-pagespeed-mod/tools/
incubator-pagespeed-mod/log/
incubator-pagespeed-mod/third_party/
incubator-pagespeed-mod/.git/
" > .dockerignore

docker build --tag "${PREFIX}/pagespeed-dev:latest" -f- . <<EOF
  FROM ubuntu:xenial
  WORKDIR "/build/"
  RUN apt update && apt install -y sudo lsb-core
  COPY incubator-pagespeed-mod/ /build
  RUN install/run_with_log.sh log/install_packages.log
  RUN install/install_required_packages.sh --additional_dev_packages
EOF

docker run -v $(pwd):/build/ -it  pagespeed:latest /bin/bash -c \
"
set -xueo pipefail
pushd incubator-pagespeed-mod
export MAKEFLAGS=\"-j$(nproc)\"
build/gyp_chromium --depth=.
pushd pagespeed/automatic
make BUILDTYPE=Release -C ../../pagespeed/automatic all
"

git clone https://github.com/apache/incubator-pagespeed-ngx.git
wget http://nginx.org/download/nginx-1.17.0.tar.gz
tar -xvzf nginx-1.17.0.tar.gz

cd nginx-1.17.0
export MAKEFLAGS=-j$(nproc)
MOD_PAGESPEED_DIR="$(pwd)/../incubator-pagespeed-mod/" ./configure --with-cc-opt="-Wno-error" --add-module="$(pwd)/../incubator-pagespeed-ngx"
make

echo "nginx binary build. you can cd into nginx-1.17.0 and make install"

@oschaaf nice.

@Lofesa wasn't able to get it done on alpine 10/11/12
However i tried on alpine 3.8, and i was able to compile it using master MOD_PAGESPEED_TAG=master can u please tell me where can i see all available tags?
export MOD_PAGESPEED_TAG=v<IP_ADDRESS> seems like latest and current stable on from https://github.com/apache/incubator-pagespeed-ngx/releases but however around issues i found a another tag MOD_PAGESPEED_TAG=v<IP_ADDRESS> which doesn't seems published on release page yet?
Now i could pull request changes on using "master" tag https://github.com/apache/incubator-pagespeed-ngx/blob/master/docker/alpine-3.8/nginx-stable/Dockerfile#L9 and maybe trying to cleanup docker image, However i don't know if using master for production is a good idea, if you think is ok let me know and i'll pull request if not then i'm closing this issue anyway since i somewhat found a solution

@theraw MOD_PAGESPEED_TAG=v<IP_ADDRESS> is an upcomming release for mod_pagespeed (apache version). Ngx don´t have these label for now. But the errors you have are related to build the automatic library, and these is buil from the apache version.
I think that master branch don´t have much more changes than the <IP_ADDRESS> version, so you can use both.
To make a pull request you can do it to master or to a new branch. To the latest option, you need to clone the repository, create the new brach, make the file changes you consider and the do a pull request from your new branch to the original repository master branch.


PoE overlay not working, nothing comes up.

I'm trying to open POE overlay and nothing happens. Either by shortcut or using the widget one the left side.
I hit Ctrl+Tab to bring widget up, hit more apps, and then click on POE overlay. However, nothing happens.
Overlay should open up or shortcuts should work. I have tried turning Vulcan engine off/on. Still same result.

PoE: Steam 3.11.1e

Same issue but I'm using the non-Steam version 3.11.1e

Hi, thanks for reporting this issue. To help me narrow down the issue - can you please answer following question:

Is the launcher window starting? (Try open PoE Overlay before PoE there should be an launcher window)

If this is not the case can you send me your Overwolf logs. See following topic on how to do so:
https://support.overwolf.com/support/solutions/articles/9000176827-how-to-get-your-overwolf-logs
Thanks!

@Kyusung4698 Looks like the issue is gone. It's working for me again. I didn't explicitly change/update anything.
And yes - when I was having the issue, the PoE Overlay launcher would pop up, then just disappear without any in-game overlays showing up.


Operation select not implemented.

Trying to migrate a current embedded-redis to jedis-mock and having the error:
redis.clients.jedis.exceptions.JedisDataException: Unsupported operation 'select'

Is something that can be added to jedis-mock?

The mock currently does not support that command. I will add it to my todo and get to it when I can. I will also make that error message more clear so it's obvious this is a current limitation on the mock.


[3.0.0-beta04] crash when using the http cache

Hi,
Summary
Fatal Exception: java.lang.IllegalStateException: HTTP cache: no snapshot
       at com.apollographql.apollo3.cache.http.DiskLruHttpCache.read(DiskLruHttpCache.java:28)
       at com.apollographql.apollo3.cache.http.CachingHttpEngine.networkMightThrow(CachingHttpEngine.java:86)
       at com.apollographql.apollo3.cache.http.CachingHttpEngine.execute(CachingHttpEngine.java:39)
       at com.apollographql.apollo3.network.http.HttpNetworkTransport$EngineInterceptor.intercept(HttpNetworkTransport.java:139)
       at com.apollographql.apollo3.network.http.DefaultHttpInterceptorChain.proceed(DefaultHttpInterceptorChain.java:21)
       at com.apollographql.apollo3.network.http.HttpNetworkTransport$execute$1.invokeSuspend(HttpNetworkTransport.java:100)
       at com.apollographql.apollo3.network.http.HttpNetworkTransport$execute$1.invoke(HttpNetworkTransport.java:2)
       at kotlinx.coroutines.flow.SafeFlow.collectSafely(SafeFlow.java:61)
       at kotlinx.coroutines.flow.AbstractFlow.collect(AbstractFlow.java:212)
       at kotlinx.coroutines.flow.internal.ChannelFlowOperatorImpl.flowCollect(ChannelFlowOperatorImpl.java:195)
       at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo$suspendImpl(ChannelFlowOperator.java:157)
       at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo(ChannelFlowOperator.java:1)
       at kotlinx.coroutines.flow.internal.ChannelFlow$collectToFun$1.invokeSuspend(ChannelFlow.java:60)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(BaseContinuationImpl.java:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.java:106)
       at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:571)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.java:750)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:678)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:665)

Version
apollo 3.0.0-beta04
Description
It seems to happen randomly when people open the app, it happened twice in 1 week usage only on huawei device so far a Honor 9 and a P20 pro. I wasn't able to reproduce so far on my end
Please let me know if you need more details from me,
Thanks
Flo

Thank you for reporting the issue! We'll have a look and get back to you.

It was indeed a concurrency issue!
A fix for it has just been merged - so it will be present in the next release. In the meantime you can also try it with the snapshot, or as a temporary (and a bit hacky) workaround you can also in your code treat the IllegalStateException as you treat ApolloNetworkException - assuming your app will show some kind of "retry" UI in that case instead of crashing.

Marking this as resolved as it's been released now


Support for vnet integration for load testing apps sitting on private ip range

Please provide support for load testing azure resources sitting behind private ips.

Thank you @anevjes for the feature suggestion. We are actively working on a solution that will enable load testing private endpoints. We don't have an estimated availability date yet, but we will update this thread as soon as we have more news to share.

Hi @johnsta, being able to use the Azure Load Testing capabilities on endpoints which are hosted on internal networks is huge.  This would help a lot of enterprise customers to get insights on the behavior of their application passing through DTAP environments.  Load Testing is on the critical path before a GO-LIVE of an application.  Can you provide any feedback on what direction this is heading?  Will the setup be the same as self-hosted Azure DevOps/GitHub agents?

@johnsta - is there anything new to enable Azure Load Testing on a private IP range?

I think this issue can be closed:  https://learn.microsoft.com/en-us/azure/load-testing/how-to-test-private-endpoint


Removed bindgen dependency

@pavanky @jramapuram Please review and provide feedback. If everything seems fine, we can merge it then.

:+1:

Good stuff! There are a few small issues to which I have added some comments. Let me know if there any queries.

@jramapuram Thank you, tab/spaces issue might be due to Atom Editor, have been working in it while working on Rust wrapper. Will retab everything properly in vim later today.


Improve reporting worker metrics concurrency [WIP]

Reduce the synchronized on the whole workerMetrics when updating worker metrics through heartbeat.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/6910/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/6912/
Test FAILed.


Filtering of Merge Request by date wise

There is no function in the jar from which we can filter the merge request based on date.
But in GitLab API https://docs.gitlab.com/ee/api/merge_requests.html we can filter based on created_after or created_before or updated_after or updated_before.
How can we filter the merge request based on date wise?

Use the getMergeRequests() methods that take an instance of MergeRequestFilter:
public List<MergeRequest> getMergeRequests(MergeRequestFilter filter)
public List<MergeRequest> getMergeRequests(MergeRequestFilter filter, int page, int perPage)
public Pager<MergeRequest> getMergeRequests(MergeRequestFilter filter, int itemsPerPage)

You can specify the dates in the filter as follows:
MergeRequestFilter filter = new MergeRequestFilter()
    .withUpdatedAfter(ISO8601.toDate("2018-07-02")
    .withUpdatedBefore(ISO8601.toDate("2018-07-05");

@gmessner Not able to find below methods in jar 4.8.8 or 4.8.3
public List getMergeRequests(MergeRequestFilter filter)
public List getMergeRequests(MergeRequestFilter filter, int page, int perPage)
public Pager getMergeRequests(MergeRequestFilter filter, int itemsPerPage)

@ricky001
These methods where added in release 4.8.21, my appologies for not mentioning that.

@gmessner  The below method does not provide to filter the merge request of a single project

MergeRequestFilter filter = new MergeRequestFilter()
.withUpdatedAfter(ISO8601.toDate("2018-05-31"))
.withUpdatedBefore(ISO8601.toDate("2018-07-01"))
;
	List<Project> projects=gitLabApi.getProjectApi().getProjects("sample-bots");

	//for(Project project:projects)
	{
		Pager<MergeRequest> merges=gitLabApi.getMergeRequestApi().getMergeRequests(filter, 50);
		while(merges.hasNext())
		{
			List<MergeRequest> merge=merges.next();
			for(MergeRequest merg:merge)
			{
				System.out.println(merg.getMergeStatus()+","+merg.getDescription());
			}

		}
	}

@tricharu
Support for filtering by project and merge request IID has been added and is available in release 4.8.34
You'll find 2 new properties that can be set on the MergeRequestFilter:
.withProjectId(Integer projectId)
.withIids(List<Integer> mergeRequestIids)

@tricharu
I overlooked adding the withProjectId() and withIids() methods, I have added them but they are not available in the 4.8.34 release, you'll need to use the following until 4.8.35 is released:
filter.setProjectId(Integer projectId)
filter.setIids(List<Integer> mergeRequestIids)

@gmessner  Thanks for the updates....
if we want to get the line comments in merge request not the conversation how to get that part

@tricharu
I believe the following methods on the NotesApi are what you are looking for:
public List<Note> getMergeRequestNotes(Integer projectId, Integer mergeRequestIid)
public List<Note> getMergeRequestNotes(Integer projectId, Integer mergeRequestIid, SortOrder sortOrder, Note.OrderBy orderBy)
public List<Note> getMergeRequestNotes(Integer projectId, Integer mergeRequestIid, int page, int perPage)
public List<Note> getMergeRequestNotes(Integer projectId, Integer mergeRequestIid, SortOrder sortOrder, Note.OrderBy orderBy, int page, int perPage)
public Pager<Note> getMergeRequestNotes(Integer projectId, Integer mergeRequestIid, int itemsPerPage)
public Pager<Note> getMergeRequestNotes(Integer projectId, Integer mergeRequestIid, SortOrder sortOrder, Note.OrderBy orderBy, int itemsPerPage)
public Note getMergeRequestNote(Integer projectId, Integer mergeRequestIid, Integer noteId)


Forms: PushModalAsync does not work?

I am trying to push a Modal in the DOM version of Forms. Nothing seems to happen; is that not supported yet? I would use Alert instead , but I need an alert with a Textbox in it...

Ooui is not my project, but I wrote the half-done navigation stuff.  So, no... no modal yet.  You should look at the pull request to see the nav specific stuff I did and add the modal component.

Although, you should keep in mind that the other reason it was only a partial implementation is that I ignored the expectation of sharing state when it comes to navigation.


Fix: Event dataclass update in #39

The last PR #39 with the change to the Event dataclass introduced a bunch of initialization problems that are fixed in this PR.
Duplicates parts of https://github.com/jeffthibault/python-nostr/pull/50 but with less changes.
I suggest merging https://github.com/jeffthibault/python-nostr/pull/50 as well or instead of this PR.

Please consider merging this, this is a much more serious bug than my other PR :)

Yikes, thanks for the fix!


windows-container?

do you guys planing build windows image?

We do not yet build windows based container images, but you can use all our containers using WSL2 on windows and let us know if you have any issues when using the containers on WSL2.


Make the Default Select Dropdown Widget Support Async Operation of Loading Dropdown Options

Under current component implementation, overriding the default widget can achieve such asynchronicity.
But loading dropdown list options asynchronously (either through Ajax or Rxjs observable stream (a common scenario when using NGRX following the Redux paradigm)) is actually common. Shouldn't it make sense to have the default widget optionally support loading data asynchronously? Then the code won't need to postpone the view rendering until all needed data is fetched.
Thanks.

Yes, I think it makes sense.

Okay. I current have two options in mind:
Option1 Add an @Input() which provide the async data source as Observable. Correspondingly, the existing oneOf attribute will be used to determine if this async data source should be used (use the async data source, if the oneOf is a string value, async. Otherwise, assume the data is provided synchronously).
Option2 detect if the oneOf attribute is an Observable. If it is, use the attribute's value as asynchronous data source. Otherwise, use the value as synchronous data source.
Would you see anything to improve or better options? Thanks.

I guess I prefer option 2.

Hi,
It's a good enhancement. There is any progress on this feature ?
Megan

Hi @MeganAlexia, I don't have enough time working on this unfortunately. I guess that I can contribute at the beginning of next year... Hope it won't be too late.

Hello,
Is there any progress on this feature ? Would love to use it !


request with .php url cant seem to be executed

var url = http://ibibles.net/quote.php?niv-john/1:1-2
request({
url: url,
timeout: 2000,
followAllRedirects: true,
headers: {
Host: 'ibibles.net'
}
},
function (error, response, body) {
console.log(error);
console.log(response);
console.log(body);
});
the request does not seem to be called. Please help! what is wrong? I don't even get an error message

Works perfectly fine.
var request = require("request");
var url = "http://ibibles.net/quote.php?niv-john/1:1-2";
request({
    url: url,
    timeout: 2000,
    followAllRedirects: true,
    headers: {
        Host: 'ibibles.net'
    }
},
function (error, response, body) {
    console.log(body);
});

Body is containing the HTML.


Move universe integration test infrastructure out of upstream dagger repo

Problem
Dagger Universe includes an integration test suite that requires external infrastructure to run. This infrastructure is maintained by Dagger employees, and for security and legal reasons, non-employees cannot access it. Yet, it is managed using the same open-source repository. This involves the use of sops-encrypted credentials, and automation scripts which are useless to non-employees.
Solution
Move all content related to Dagger's proprietary test infrastructure, out of the upstream dagger repository. This has 2 benefits:

A cleaner upstream repository.
A dedicated space for the Dagger infrastructure team to focus on operating, securing and improving the test infrastructure for the benefit of upstream developers.

Are you referring to dagger/infra?

Are you referring to dagger/infra?

Not referring to any repo in particular (although I think we should converge everything into a monorepo, but that's off-topic). I just mean moving it to a downstream private repo, outside of this one.

I meant the infra folder in the dagger repo (which contains some scripts to setup a Digital Ocean machine for ssh tests). I think that's the only piece of test infrastructure we maintain right now

I meant the infra folder in the dagger repo (which contains some scripts to setup a Digital Ocean machine for ssh tests). I think that's the only piece of test infrastructure we maintain right now

Well there's also our test netlify account, and soon aws, gcp, etc.


Type-safe DocumentClient interface

Add content-aware typings for the AWS SDK DocumentClient. The type mapping logic is the same as https://github.com/sam-goodwin/typesafe-dynamodb/pull/19

[ ] V2 SDK's DocumentClient: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html

@elthrasher - not sure what you are referring to for the V3 DocumentClient?


JavaScript Tag page didn't work. Please fix.

Not sure if this is due the length of tag but will research and fix.

Lowercase the tag name in its tag folder to solve the issue.


Added support for cloud-init

Its my first go code. So please examine closely.

Hey and thank you for your contribution!
I like the idea of using the cloud-init feature, but here are my 2 thoughts on that:

implemented this way the file affects all future servers, unaware of the cluster. I think putting it under cluster cloud-init would give more control.
how complex it would be to use the shell-script install-docker-kubeadm.sh to that cloud-init and make further stuff injectible to that configuration?

Cheers

Hey,
your welcome.
My first solution was as you described in (1.) but I was unsure where to save the information. Probably it needs to be a parameter to cluster create since we need a Cluster to store the information.
Another approach could be a separate configure structure for cloud-init. But I think that's too much code duplication.
Any thoughts?
As of (2.) I think that should be possible. As far as i know there is multi-part support in cloud-init.
I am not sure what the advantage would be. One would still need the ssh connection to connect master and client. With the direct execution you have direct feedback from your script.
Greetings

I just gave the cluster create approach a try. I think it turned out the best solution.
Less code. Parameter the place it is needed.

Anything waiting in me?

Was just knocked out by sickness, sry for delay


Testing plugins without running a server

Hi. I thought that it would be great if plugin developers could test their plugins without running a game server.
I tried to run oxide with only console window but for some reason several extensions are not loading and gives me "IO Exception". I don't quite understand how oxide works inside and that's why i'm writing this. I also thought that it would be cool to debug plugins in VS (with breakpoints and stuff).
If it's not possible (why it shouldn't be possible?) then well... i'll continue to run Rust server that eats 1.5GB of RAM and 10+% CPU and game that eats a lot more. But anyway you are doing a great job. Thank you.

You can debug plugins in Visual Studio in terms of code errors, but there is nothing to simulate hook calling outside of running a server. I'd recommend running a local server for testing. If you are having errors, then we'd need to see the logs, but that's something I'd recommend posting on the forums.

Why not? You can simulate hooks by just calling them. I tried to load Oxide for simple console application:
class Program
{
	static OxideMod mod;

	static void Main(string[] args)
	{
		CreateRequiredDirectories();

		mod = new OxideMod((string message) =>
		{

		});

		// Doing this because it throws NRE in Covalence ctor
		typeof(Interface).GetProperty("Oxide").SetValue(Interface.Oxide, mod, null);

		mod.Load();

		Console.ReadLine();
	}

	static void CreateRequiredDirectories()
	{
		string dir = Environment.CurrentDirectory;

		string extDir = Path.Combine(dir, "Extensions");

		if (!Directory.Exists(extDir))
			Directory.CreateDirectory(extDir);
	}
}

oxide.config.json
{
    "CustomConsole": true,
    "InstanceCommandLines":
    [
        "{oxide.directory}",
        "server\\{server.identity}\\oxide",
        "server"
    ],
    "ConfigDirectory": "config",
    "ExtensionDirectory": "Extensions"
}

But then it throws a lot of exceptions (when loading JS, Lua, Python extensions):
Exception thrown: 'System.InvalidOperationException' in System.Core.dll
Exception thrown: 'System.NullReferenceException' in Oxide.Core.dll
Exception thrown: 'System.InvalidOperationException' in System.Core.dll
Exception thrown: 'System.NullReferenceException' in Oxide.Core.dll
Exception thrown: 'System.InvalidOperationException' in System.Core.dll
Exception thrown: 'System.IO.FileNotFoundException' in Oxide.Core.dll
Exception thrown: 'System.Reflection.TargetInvocationException' in mscorlib.dll
Exception thrown: 'System.Reflection.TargetInvocationException' in mscorlib.dll
Exception thrown: 'System.IO.FileNotFoundException' in Oxide.Core.dll
Exception thrown: 'System.IO.FileNotFoundException' in Oxide.Core.dll
Exception thrown: 'System.Reflection.ReflectionTypeLoadException' in mscorlib.dll
Exception thrown: 'System.Reflection.ReflectionTypeLoadException' in mscorlib.dll
Exception thrown: 'System.Reflection.ReflectionTypeLoadException' in mscorlib.dll

Can you give me some help on this? Maybe information about how Oxide works (i mean when it loads extensions and stuff). Thank you.

I'm not saying it's not possible (given a good bit of work), but there just isn't anything setup for that and right now. I imagine the NREs and such are going to be caused by missing DLLs and dependencies.


[New Doc PR] - Document migration from 2.x to 3.x #4327

Resolves "Document migration from 2.x to 3.x" #4327

This guide is created for users who have Helidon 2.x application and want to upgrade to 3.x. Now it looks like a copy of Helidon 3.0 announcement article. It's not an announcement. It must contain step by step instructions about how to upgrade a project. It must contain:

JDK version upgrade. This document partically has it, but it only states that Java 17 is supported. You should say that new JDK must be installed and configured on your computer. Possibly make a link to prerequisites.adoc where explained how to set JAVA_HOME.
New versions of MicroProfile (5.0) and Jakarta EE APIs. Your document partially has it. Never say that we support Jakarta EE 9.1. It's wrong. We only support selected subset of Jakarta EE 9.1 APIs. Make sure that verison number is consistent. I see sometimes 9.0, sometimes 9.1. For each specification I miss the version number used in 2.x. You have only the new version number. It would be great to include a short list ofbackwards incompatible chages for each specification. Ideally with some samples.
Deprecations. I miss a full list of deprecated APIs and equivalest new APIs.
Other backwards incompatible changes if any.


undo/redo without namespacing not working

I'm not using named stores. Nothing happens when calling the undo/redo functions.
export default state => new Vuex.Store({
  state: ...,
  mutations: {
    ...
  },
  actions: {
    undo() {},
    redo() {}
  },
  plugins: [
    undoRedo({
      paths: []
    }),
  ]
});

@mgrsskls thanks for the report!
The issue has been addressed and is resolved with release v0.1.2.


Don't Merge! PR real time test for target branch full build

Docs Build status updates of commit b322f8c:
:clock10: Full build: the average full build time is 5 min(s) 40 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit b322f8c:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-conceptual/testing.md
:warning:Warning
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)
Details

docs-ref-conceptual/testing.md

[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Support schema variable

In my project I'm interacting with Laravel Telescope's EntryModel. Because its migration first assigns the schema builder to a variable and then calls the create() method on that variable, Larastan isn't currently able to understand this migration file when adding it to databaseMigrationsPath. I get the following error:
Access to an undefined property Laravel\Telescope\Storage\EntryModel::$content.

I modified one of the migrations to use a variable, to demonstrate that the tests fail, and I provided a possible solution with this pull request. However, I'm not very familiar with this codebase and php-parser, and I'm open to any suggestions/changes. I'm also aware that there is an open PR that touches the same code (#1879), so after that has been merged, this needs to change anyway.

Nice!
Though I'm not sure that Larastan would be able to understand which connection that migration should go under since it's hidden behind a method call and then a config call---even in #1879 it would just put the schema into the default connection


Update Info.plist.in

Hide Hyperion from the Dock on macOS, as there appears to be no need for it, as all features can be accessed from the menubar.

Summary
What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Build-related changes
[ ] Other, please describe:

If changing the UI of web configuration, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing setups:
The PR fulfills these requirements:

[ ] When resolving a specific issue, it's referenced in the PR's body (e.g. Fixes: #xxx[,#xxx], where "xxx" is the issue number)

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature
[ ] Related documents have been updated (docs/docs/en)
[ ] Related tests have been updated

PLEASE DON'T FORGET TO ADD YOUR CHANGES TO CHANGELOG.MD

[ ] Yes, CHANGELOG.md is also updated

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.
Other information:

Thank you @Rastafabisch for this small but nice change.
Greeting Paulchen


add data router prototype

Use Case
NuvlaFactory
Company A has a PLC connected to an edge computer. They want to be able to deploy applications, remotely, into the edge device, that consume from and command the PLC peripheral.
The PLC communicates via modbus rtu.
Possible Solutions

company A deploys their app from Nuvla, making use of --devices to access the physical PLC device
company A deploys an app from Nuvla that interacts with the PLC peripheral via MQTT

Company A chooses 2.
Pros:

no need to make use of --devices
can have multiple app consuming from the same sensor without keeping it busy
no need to implement native sensor protocol
Cons:
if the NuvlaBox is routing sensor data to user apps, it might keep the respective sensor device busy, which means the user cannot use 1. and 2. at the same time
some network fiddling is required to make the MQTT broker visible to user apps

PROPOSALS
All through Nuvla

Steps:

user sees NB from Nuvla
user wants to get sensor data, so he will launch a pre-defined Nuvla app with the sensor data consumer "modbus-peripheral-mgmt" and a Mosquitto broker
the user deploy his final app to consume from the previously deployed Mosquitto broker

Pros:

all done through Nuvla
less containers shipped with NuvlaBox
no need for new implementations anywhere, apart from the pre-defined Nuvla apps
updates to the pre-defined apps won't require an update of the nuvlabox software
Cons:
doesn't work with Swarm cause of --devices - only suitable for k8s
the user needs to make sure the pre-defined apps and all forthcoming apps end up in the same internal network so that the containers can communicate with each other
additional complexity and auxiliary apps in the user dashboard
user will need to also define placement policies in case the NB is running in a cluster

Through a NuvlaBox connector

Steps:

when user deploys the NB, the "modbus-peripheral-mgmt" and Mosquitto broker will be deployed with it
the user gets, automatically a list of peripherals in Nuvla, and chooses to "Enable Data Routing" for the PLC peripheral
Nuvla will send a request (pull/push) to the NB system-manager API
the system-manager will enable the data routing
the user deploys its final app to consume from the Mosquitto broker

Pros:

the user only needs to know the Mosquitto container name, which will be constant for all NBs
the system-manager will dynamically handle the networking of the incoming apps and NB containers
the new NB connector in Nuvla will give room for other Edge Management capabilities (like shutdown a NB, or force re-install, update, etc.)
works with Swarm
less complexity for user
NB services stay within the NB Software Stack
Cons:
need to implement a NB connector for Nuvla and API for NB system-manager
all Nuvla app deployments need to be labeled so that the NB system-manager knows which ones to connect to the Data Routing network

my vote goes to "Through a NuvlaBox connector"

implementation plan is represented by all tickets in both Nuvla and NuvlaBox sprint projects, labeled as label:"NuvlaBox Data Gateway"


gh: refactor community files

This PR aims to move the CONTRIBUTING.md, CODE_OF_CONDUCT.md, CODEOWNERS and SECURITY.md file from the root of the directory to the .github/ directory. Github looks for a contribution guideline file in the following order: .github dir > project root > docs dir (source). Moving the file to the .github/ dir leads to a minimal project structure without any functional change.
I also created a pyproject.toml file to open the possibility of maybe moving all linter configurations to pyproject.toml.

@microsoft-github-policy-service agree

Thank you @SauravMaheshkar for your contribution! However, I believe we have guidelines from Microsoft to keep files like code of conduct, contributing, security in the top-level repo. I think we'd be fine moving CODEOWNERS and also if you know how to configure pyproject.toml to pick up linters configs to .github that would be awesome.

@jeffra does 387f534 make sense ?


DRT: change RIPUP MODE to an ENUM

Description
change ripup mode to an enum in both dr and drWorker.
Suggested Solution
No response
Additional Context
No response

@osamahammad21 how many ripup modes do we currently have? and what should I name each?

Solved by PR #4135.


💄 Fix memoization issues

based on @nandorojo comments

One small thing I'm now noticing: what if useDerivedValue had the same API as reanimated's, where you don't need to read in the args from the factory function?
const dv = useDerivedValue(() => value, [value])

This way it's more like other react hooks. I find passing the values to an array and then also to the args a bit awkward, but it might not make sense on your end to change the API.
Technically, users could do the above with the current implementation. It's just a matter of how it's documented. If you went with the API I mentioned above, it would help to document that users add useDerivedValue to their react hooks ESLint settings.

thanks for the feedback, it is fixed now.
Passing the values as args had some issue and it made it easy to shot yourself in the foot (if you change the order of the array for instance)


Data files

Hi!
Many thanks for your sharing!
I'm testing your codes. In the codes the files such as 'dense.dat', '1_traj_seg.dt', 'distance1.npz' and 'gaussian_representation.dat' are loaded and they are missing here. Could you please upload them? Many thanks!
Cheers!

Hello,
I'm probably not allowed to upload the datasets and I guess some data transformation scripts are missing in the repo. The most important data file is distance1.npz which stores all pairwise haussdorf distances in a numpy array format. If you tell me which part of the code you are interested in, I can provide some toy data that runs the code without any error.

@ztypaker , dbscan is from scikit-learn library and you can get hdbscan from this link. Unfortunately, I cannot upload project data. However, I added a notebook which shows every crucial part I applied in the project in a much simpler way, on a publicly available data. Please look at that and let me know if you have any further question.

thanks for your sharing. when i run the demo i couldn't open the URL of"dataset_link".
maybe it is  a intranet?now  I couldn't get the database....If it's convenient, could you please send me a dataset? my e-mail is<EMAIL_ADDRESS>I look forward to your reply. Thank you very much.

@veronicasr9 , the dataset is not mine, it is a public dataset located here: http://cvrr.ucsd.edu/bmorris/datasets/dataset_trajectory_clustering.html. You can download it manually if download script is not working for some reasons.

It's done! Thank you very much for your help!