Resampling timeseries

Hello,
Resampling timeseries will be a great feature to have.
Ideally API should provide the concept of DateTimeOffset or TimeFrame (timeframe could be yearly, monthly, weekly, daily, hourly, minutely... or a multiple of)
See an analog question with TimeSeries.jl https://github.com/JuliaStats/TimeSeries.jl/issues/257
Kind regards
PS:
see also Python Pandas

http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases
http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling
http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#resample-api
https://github.com/pandas-dev/pandas/blob/cebc70cc277462176edea73bb71eaad9f83e9f47/pandas/tseries/offsets.py

In [1]: from pandas.tseries.frequencies import to_offset
In [2]: from pandas.tseries.offsets import YearBegin, YearEnd, Hour

In [3]: YearBegin().apply(datetime.datetime(2016, 7, 20, 13, 14, 35, 245))
Out[3]: Timestamp('2017-01-01 13:14:35.000245')

In [4]: YearEnd().apply(datetime.datetime(2016, 7, 20, 13, 14, 35, 245))
Out[4]: Timestamp('2016-12-31 13:14:35.000245')

In [5]: to_offset('AS').apply(datetime.datetime(2016, 7, 20, 13, 14, 35, 245))
Out[5]: Timestamp('2017-01-01 13:14:35.000245')

In [6]: to_offset('A').apply(datetime.datetime(2016, 7, 20, 13, 14, 35, 245))
Out[6]: Timestamp('2016-12-31 13:14:35.000245')

an example API design could be
Define a timeframe
tf = Yearly(5, boundary=End)

or
tf = Yearly(5, boundary=Begin)

Downscaling using mean value
mean(resample(ta, tf))

Downscaling using OHLC value
ohlc(resample(ta, tf)

which use internally
downscaling using

min

min(resample(ta, tf)

max

max(resample(ta, tf)

first

first(resample(ta, tf)

last

last(resample(ta, tf)

Downscaling using sum might also be required (to sum volume for example in OHLCV data)
sum(resample(ta, tf)

resample function need to return an object
let's call it TArraySampler on which mean, ohlc, min, max, first, last... this is lazy evaluation and behave like Pandas new resample API

I've post an example of this API usage with TimeSeries.jl (but a similar approach could be done with JuliaTS) http://stackoverflow.com/questions/20816813/resampling-a-dataframe-to-hourly-15min-and-5min-periods-in-julia/40444762#40444762
Maybe we should have a shared package (let's call it TimeFrames.jl) to define timeframes.
So timeframes could be used both for JuliaTS and TimeSeries.jl (and maybe some other packages)
What is your opinion @tanmaykm @milktrader @JeffBezanson ?
Content of this TimeFrames package could be
abstract AbstractTimeFrame

@enum(Boundary,
    Begin = 1,  # begin of interval
    End   = 2,  # end of interval
)

#T should be Dates.TimePeriod
type TimeFrame{T} <: AbstractTimeFrame
    time_period::T
    boundary::Boundary
    TimeFrame(; boundary=Begin::Boundary) = new(1, boundary)
    TimeFrame(n::Integer; boundary=Begin::Boundary) = new(n, boundary)
end

Base.hash(tf::AbstractTimeFrame, h::UInt) = hash(tf.val)
Base.:(==)(tf1::AbstractTimeFrame, tf2::AbstractTimeFrame) = isequal(tf1.time_period, tf2.time_period)

Millisecondly = TimeFrame{Dates.Millisecond}
Secondly = TimeFrame{Dates.Second}
Minutely = TimeFrame{Dates.Minute}
Hourly = TimeFrame{Dates.Hour}
Daily = TimeFrame{Dates.Day}
Weekly = TimeFrame{Dates.Week}
Monthly = TimeFrame{Dates.Month}
Yearly = TimeFrame{Dates.Year}

TimeFrame() = Secondly(0)

_d_f_boundary = Dict(
    Begin::Boundary => floor,
    End::Boundary => ceil
)

function grouper(tf::TimeFrame)
    dt -> _d_f_boundary[tf.boundary](dt, tf.time_period)
end

Will you accept a PR that depends on TimeFrames.jl and that define resample, mean, ohlc, sum functions and some tests
or should I create an other project TimeSeriesResampler ?

resample.jl
using TimeFrames: TimeFrame, dt_grouper
import Base: mean, sum

type TimeArrayResampler
    ta::TimeArray
    tf::TimeFrame
end

function resample(ta::TimeArray, s_tf::String)
    resample(ta, TimeFrame(s_tf))
end

function resample(ta::TimeArray, tf::TimeFrame)
    TimeArrayResampler(ta, tf)
end

function ohlc(resampler::TimeArrayResampler)
    ta = resampler.ta
    f_group = dt_grouper(resampler.tf)
    ta_o = collapse(ta, f_group, first, first)
    ta_h = collapse(ta, f_group, first, maximum)
    ta_l = collapse(ta, f_group, first, minimum)
    ta_c = collapse(ta, f_group, first, last)
    a_ohlc = hcat(ta_o.values, ta_h.values, ta_l.values, ta_c.values)
    ta_ohlc = TimeArray(ta_o.timestamp, a_ohlc, ["Open", "High", "Low", "Close"])
end

function mean(resampler::TimeArrayResampler)
    collapse(resampler.ta, dt_grouper(resampler.tf), first, mean)
end

function sum(resampler::TimeArrayResampler)
    collapse(resampler.ta, dt_grouper(resampler.tf), first, sum)
end

and tests
using FactCheck
FactCheck.setstyle(:compact)
FactCheck.onlystats(true)

using TimeSeries: TimeArray, resample, ohlc, mean, sum
using TimeFrames: TimeFrame, Minutely

function variation(a; n=1)
    a[1+n:end] - a[1:end-n]
end

# Define a sample timeseries (prices for example)
idx = DateTime(2010,1,1):Dates.Minute(1):DateTime(2011,1,1)
idx = idx[1:end-1]
N = length(idx)
srand(0)  # set the random seed in julia generator of random numbers

# Define how timestamp (ie Date or DateTime) should be grouped (using a TimeFrame)
a_tf = [
    TimeFrame(dt -> floor(dt, Dates.Minute(15))),  # using a lambda function
    TimeFrame(Minutely(15)),  # using a TimeFrame object (from TimeFrames.jl)
    TimeFrame("15T"),  # using a string TimeFrame shortcut to create a TimeFrame
    "15T",  # using a string TimeFrame shortcut
]
for tf in a_tf

    facts("resample methods with $tf") do

        context("Define a sample timeseries (prices for example)") do
            y = rand(-1.0:0.01:1.0, N)
            y = 1000 + cumsum(y)
            #df = DataFrame(Date=idx, y=y)
            ta = TimeArray(collect(idx), y, ["y"])

            context("resample using OHLC values works") do
                ta_ohlc = ohlc(resample(ta, tf))
                @fact mean(variation(ta_ohlc.timestamp)) --> Dates.Minute(15)
            end

            context("resample using mean values works") do
                ta_mean = mean(resample(ta, tf))
                @fact mean(variation(ta_mean.timestamp)) --> Dates.Minute(15)
            end

        end

        context("resample using sum values works") do
            # Define an other sample timeseries (volume for example)
            vol = rand(0:0.01:1.0, N)
            ta_vol = TimeArray(collect(idx), vol, ["vol"])

            # resample using sum values
            ta_vol_sum = sum(resample(ta_vol, tf))
            @fact mean(variation(ta_vol_sum.timestamp)) --> Dates.Minute(15)
        end
    end

end

Sorry I post here
but that's not the right project

TimeFrames.jl created
https://github.com/femtotrader/TimeFrames.jl

@femtotrader Sorry, I am unable to actively participate at the moment because of other involvements.
I shall add you (and others if they wish) as a collaborator to JuliaTS so that I am not the bottleneck.
Thanks for your initiatives!

Thanks @tanmaykm for this
I want to first work on TimeSeries.jl resampling as it seems to be a in a more stable state for now than JuliaTS.jl
but I'm definitely interested in working on JuliaTS when it will we work with latest IndexedTables

Sure! I can take a look at this in a few weeks.


Random Background Color Generator/Flipper

Describe the project
A random Background generator that generates a random background color on every click and also shows the hex code of the generated background color
Issue Type:

[ ] Bug Report
[x ] Feature Request
[x ] Documentation
[x ] New Project

Screenshots

Please assign this issue to me

The project is already present in the repo


Add: NACTV

Channel Name
NACTV
Native Name (optional)
No response
Network (optional)
No response
Country
CA
Subdivision (optional)
CA-MB
City (optional)
Neepawa
Broadcast Area
s/CA-MB
Languages
eng
Categories (optional)
community
NSFW
FALSE
Launched (optional)
No response
Closed (optional)
No response
Replaced By (optional)
No response
Website (optional)
https://nactv.tv/
Logo
<EMAIL_ADDRESS>Notes
Streaming URL:
https://s3.amazonaws.com/cdn.pivotalelements.com/NACTV-HLS.xspf

Already in the database: https://iptv-org.github.io/?q=NACTV


[bug] CamelCase instead of snace_case

documentChanges argument on the left https://github.com/tomv564/LSP/blob/5a472ba6f23d70f6f8f1ebaabb83015c066ce198/plugin/rename.py#L69
should be document_changes, like LspApplyWorkspaceEditCommand expects:
https://github.com/tomv564/LSP/blob/5a472ba6f23d70f6f8f1ebaabb83015c066ce198/plugin/core/edit.py#L19
When doing a rename, this popped up in the console
LSP:  --> textDocument/rename
Traceback (most recent call last):
  File "/opt/sublime_text/sublime_plugin.py", line 1034, in run_
    return self.run(**args)
TypeError: run() got an unexpected keyword argument 'documentChanges'

done :)


New Sort package

@pjljvandelaar @tretmans more info?

Introduce Sort like in the 1897 new redmine branch.
Sort = bool|char|int|ADT adtref | sequence Sort
Map string onto sequence of Char....
Later support more sequences....


Patch 1

This should fix issues #14 and #15 , see https://github.com/KhronosGroup/glTF-Blender-IO/commit/e63bb38e87832f18c22ff8cb76e779f179a32526 for source of issue.

Confirming that this fix succesfully exported in 3.6.5
Also worth nothing that this will be native in 4.0
https://github.com/KhronosGroup/glTF-Blender-IO/pull/1984

made a typo :)


Upgrade countries to v4

Locking the countries gem to v3 in the gemspec, causes a downgrade of this gem to v1.2 (since at that time there wasn't a dependency).
Please update the gemspec to allow countries gem v4.

Fixed thanks to @pmor in #186


Make default map background transparent

Description
Currently, the map background is set to black which makes it difficult to view OSM data when:

"none" background layer is selected
a transparent custom layer with mostly dark features is imported

I believe in terms of readability and UX, it would be better to have a transparent background as default:
.ideditor .main-map {
  /* background: #000; */
  background: transparent;
}

Screenshots
Examples:

Would I be able to take this issue? Are you aware of which area in the code this issue lies?

I encountered this issue while working with a transparent hillshade layer.
It actually makes a really nice dark mode hillshade, but then it's problematic for light mode users.
Currently with the black background:

With transparent or white:

But the bigger problem, which many users have probably already experienced, is with the location layer when the imagery doesn't load:

What it would look like with white:

But white isn’t a good idea for reasons discussed in #9307. I think a gray like #444 would be better than either white or black:

Also looks good with just the data:


[BUG] symlink dead file under sync path breaks syncing

Describe the bug
If a symlink to a dead file location is put under sync, maestral will give a FileNotFoundError, not sync the file (expected), but will no longer update changes to valid files (unexpected).
This is a problem because emacs uses lock file that likely link nowhere, thus using emacs on a file under sync halts syncing of that file util maestral is restarted.
To Reproduce
0. [inside sync path]

ln -s foo bar (where neither file already exists)
Observe the error:

Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/home/michael/.local/lib/python3.7/site-packages/maestral/monitor.py", line 1442, in upload_worker
    sync.apply_local_changes(events, local_cursor)
  File "/home/michael/.local/lib/python3.7/site-packages/maestral/monitor.py", line 659, in apply_local_changes
    success += [f.result()]
  File "/usr/lib/python3.7/concurrent/futures/_base.py", line 428, in result
    return self.__get_result()
  File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/michael/.local/lib/python3.7/site-packages/maestral/monitor.py", line 189, in wrapper
    res = func(self, *args, **kwargs)
  File "/home/michael/.local/lib/python3.7/site-packages/maestral/monitor.py", line 738, in _apply_event
    self._on_created(event)
  File "/home/michael/.local/lib/python3.7/site-packages/maestral/monitor.py", line 816, in _on_created
    size1 = osp.getsize(path)
  File "/usr/lib/python3.7/genericpath.py", line 50, in getsize
    return os.stat(filename).st_size

Expected behaviour
While bar should not be synced, I would expect that file to be ignored and other changes to continue to propagate.
System (please complete the following information):

Maestral version: 0.3.2
OS: Debian bullseye
Desktop environment: awesomewm
Qt version: pyqt5: 5.13
Python version: 3.7.4

Fixed and released in v0.4.0.


IR-16: Leader election

This PR implements leader election for this operator, allowing multiple instances to run at the same time.

/retest

@ricardomaraschini why don't you want to use https://godoc.org/github.com/openshift/library-go/pkg/controller/controllercmd ?


UBXReader(stream) fails silently if stream.read(n) returns < n bytes

Describe the bug
Using pyubx2.UBXReader(stream) with a stream.read(n) that returns less than n bytes will silently terminate parsing, even if subsequent stream.read() calls will eventually cough up the bytes.
>>> pyubx2.version
'1.2.40'

To Reproduce
Run this minimal working example:
import io
import pyubx2

class FastReader(io.BytesIO):
	def read(self, size: int) -> bytes:
		b = super().read(size)
		print(f"read({size}) -> {b}")
		return b

class SlowReader(io.BytesIO):
	def read(self, size: int) -> bytes:
		b = super().read(min(size, 16))
		print(f"read({size}) -> {b}")
		return b

ubx = b'\xb5b\x06\x8b4\x00\x01\x07\x00\x00\x05\x00R\x10\x01\x06\x00R\x10\x00\x07\x00R\x10\x00\x02\x00R \x01\x03\x00R \x00\x04\x00R \x00\x08\x00R \x00\t\x00R \x01\x01\x00R@\x00\x96\x00\x00\x85\x01'

print("# parsing works, because io.BytesIO returns as many bytes as requested")
for raw_data, parsed_data in pyubx2.UBXReader(FastReader(ubx)):
	print(parsed_data)
print()

print("# parsing silently fails, because SlowReader returns less bytes than requested")
for raw_data, parsed_data in pyubx2.UBXReader(SlowReader(ubx)):
	print(parsed_data)

Reading from the FastReader works as expected:
# parsing works, because io.BytesIO returns as many bytes as requested
read(1) -> b'\xb5'
read(1) -> b'b'
read(4) -> b'\x06\x8b4\x00'
read(54) -> b'\x01\x07\x00\x00\x05\x00R\x10\x01\x06\x00R\x10\x00\x07\x00R\x10\x00\x02\x00R \x01\x03\x00R \x00\x04\x00R \x00\x08\x00R \x00\t\x00R \x01\x01\x00R@\x00\x96\x00\x00\x85\x01'
<UBX(CFG-VALGET, version=1, layer=7, position=0, CFG_UART1_ENABLED=1, CFG_UART1_REMAP=0, CFG_0x10520007=b'\x00', CFG_UART1_STOPBITS=1, CFG_UART1_DATABITS=0, CFG_UART1_PARITY=0, CFG_0x20520008=b'\x00', CFG_0x20520009=b'\x01', CFG_UART1_BAUDRATE=38400)>
read(1) -> b''

But reading from the SlowReader fails:
# parsing silently fails, because SlowReader returns less bytes than requested
read(1) -> b'\xb5'
read(1) -> b'b'
read(4) -> b'\x06\x8b4\x00'
read(54) -> b'\x01\x07\x00\x00\x05\x00R\x10\x01\x06\x00R\x10\x00\x07\x00'

Expected Behaviour
As per the README.md

The stream object can be any data stream which supports a read(n) -> bytes method (e.g. File or Serial, with or without a buffer wrapper).

there are no requirements for the stream.read() method. Therefore UBXReader should not expect read(n) to return exactly n bytes. Returning less bytes than requested does not indicate EOF. Only read(n) -> 0 with n>0 indicates EOF.
If this behavior is expected and required by UBXReader, then the documentation should be amended accordingly and  an exception should be raised if the stream class misbehaves anyway.
Additional context
Took me a while to get to the root of this (missing some messages in my parsing results), because I was looking at UBXReader.__next__()'s raw_data return value instead of the actual raw data I was feeding into the UBXReader. Raising an exception would really have helped me to figure it out immediately.

Hi @carstenandrich,
So the purpose of the UBXReader.read() method is to read entire UBX, NMEA or RTCM3 messages from any binary data stream supporting a read(n) method. If it is unable to read such a message, it will return a value of (None, None).
The circumstances in which it does this very much depends on the behaviour of the stream class itself.
If you're using the iterator, the iterator will terminate silently in these circumstances, which is expected behaviour. If you're using discrete reads, you should check for a return value of raw=None and decide in your application how you want to handle this e.g.

terminate with or without raising an error
continue reading indefinitely
apply some kind of inactivity timeout

You would, of course, see the same behaviour using a standard Serial stream with a GNSS device outputting messages at the default rate of around 1Hz, e.g.
from serial import Serial
from pyubx2 import UBXReader

with Serial("/dev/ttyACM1, 38400, timeout=3 as stream:
    ubr = UBXReader(stream)
    i = 0
    for raw_data, parsed_data in ubr:
        print(i, parsed_data)
        i += 1

Setting timeout=3 will produce a continuous data stream; setting timeout=0.1 will terminate silently after the initial input buffer is cleared. The resolution is this case is to simply increase the timeout value. If your stream class does not implement a timeout function, then it will need external handling. Again, I would consider this expected behaviour.
More than happy to update the documentation to clarify this, but not convinced an automatic Exception is called for in these circumstances.
By way of illustration, have a look at the stream_handler._readloop() function in PyGPSClient:
https://github.com/semuconsulting/PyGPSClient/blob/master/src/pygpsclient/stream_handler.py#L219

Have a look at https://github.com/semuconsulting/pyubx2/commit/99e9013004c3ba127bfc1c55b78c10ced5f5c772 and let me know if it addresses your concerns. You can use the quitonerror flag to either ignore the error (0), log the error and continue (1) or terminate with an exception (2).

Thanks! Just tested with the RC-1.2.41 branch and tt does address my concerns. When you're new to the pyubx2 API this really is a footgun when not using pyserial or parsing from a file. I personally strongly disagree with pyserial's choice of read() only returning when the buffer is full or the timeout expires, which enforces inefficient patterns like reading a single byte per syscall to parse variable length data like NMEA sentences.
The following is a minimal working example for interfacing a ZED-F9P on Linux:
import io
import os
import pyubx2
import termios

def open_tty(path: str) -> io.FileIO:
	fd = os.open(path, os.O_RDWR | os.O_CLOEXEC | os.O_NOCTTY)
	attr = termios.tcgetattr(fd)
	#[iflag, oflag, cflag, lflag, ispeed, ospeed, cc]
	attr[0] = 0
	attr[1] = 0
	attr[2] = termios.CS8 | termios.CLOCAL | termios.CREAD
	attr[3] = 0
	attr[4] = termios.B115200
	attr[5] = termios.B115200
	# configure blocking read
	attr[6] = [0] * len(attr[6])
	attr[6][termios.VMIN] = 1
	attr[6][termios.VTIME] = 0
	termios.tcsetattr(fd, termios.TCSAFLUSH, attr)

	return open(fd, "r+b", buffering=0)

with open_tty("/dev/ttyACM0") as rtk:
	for offset in range(0, 256, 64):
		rtk.write(pyubx2.UBXMessage.config_poll(7, offset, [0x0fff0000]).serialize())

	while buf := rtk.read(4096):
		# do additional stuff with buf
		pass

		# parse UBX messages
		for raw, msg in pyubx2.UBXReader(io.BytesIO(buf), protfilter=7):
			print(msg)

Without your fix it yielded me this, causing significant head scratching until I figured out the root cause:
<UBX(ACK-ACK, clsID=CFG, msgID=CFG-VALGET)>
<UNKNOWN PROTOCOL(header=b'$t')>
<UBX(ACK-ACK, clsID=CFG, msgID=CFG-VALGET)>
<UNKNOWN PROTOCOL(header=b'$\x00')>
<UBX(ACK-ACK, clsID=CFG, msgID=CFG-VALGET)>
<UBX(ACK-ACK, clsID=CFG, msgID=CFG-VALGET)>

With the raise Exception I can now simply read from the serial port again to append to the buffer and subsequently try UBXReader() again.
The main reason I cannot simply use
for raw, msg in pyubx2.UBXReader(io.BufferedReader(rtk), protfilter=7):
	print(msg)

is that I have to embed UBXReader in an asyncio coroutine.

Hi @carstenandrich,
Ok glad it was a result. You'll appreciate that pyubx2 and its companion libraries are solely concerned with platform-agnostic protocol parsing, so I deliberately leave the intricacies of serial and socket I/O to external libraries, of which pySerial (for all its foibles) is overwhelmingly the most popular. So it's probably fair to say my streaming test cases are somewhat blinkered in this direction.
Quick observation on your code snippet above, which I appreciate may only be illustrative. Sending CFG POLL requests to a UBX receiver and then reading the input stream in a linear sequence is not going to be bomb-proof in all circumstances, though you may 'get away with it' at 115200 baud and a nominal navigation interval. A more robust model would be to set up a concurrent read process (using whichever concurrent/parallel model you want to work with) first and then send the polls. Likewise dealing with CFG SET commands and their acknowledgements.

You'll appreciate that pyubx2 and its companion libraries are solely concerned with platform-agnostic protocol parsing, so I deliberately leave the intricacies of serial and socket I/O to external libraries [...]

Absolutely agree with that. Just wanted to get this fixed upstream for the sake of potential other non-pyserial-users, so they won't stumble over the same pitfall.

Quick observation on your code snippet above, which I appreciate may only be illustrative.

Thanks. Of course this is just an MWE to illustrate the issue at hand.

Reopening, because I just stumbled over a regression. UBXReader(stream, quitonerror=0|1) now returns a str on error:
with open_tty("/dev/ttyACM0") as rtk:
	for offset in range(0, 256, 64):
		rtk.write(pyubx2.UBXMessage.config_poll(7, offset, [0x0fff0000]).serialize())

	for raw, msg in pyubx2.UBXReader(rtk, quitonerror=0, protfilter=7):
		print(type(msg), msg)
		print(msg.identity)

<class 'pyubx2.ubxmessage.UBXMessage'> <UBX(ACK-ACK, clsID=CFG, msgID=CFG-VALGET)>
ACK-ACK
<class 'str'> Serial stream terminated unexpectedly. 326 bytes requested, 122 bytes returned.
Traceback (most recent call last):
  File "/home/user/EMS/Projekte/24_ICAS4M/mqtt-dev/node/rtk/./pyubx2_issue.py", line 33, in <module>
    print(msg.identity)
          ^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'identity'

As per README.md, it should only ever return a pyubx2.*Message:

Individual input UBX, NMEA or RTCM3 messages can then be read using the UBXReader.read() function, which returns both the raw binary data (as bytes) and the parsed data (as a UBXMessage, NMEAMessage or RTCMMessage object, via the parse() method).

Reopening, because I just stumbled over a regression. UBXReader(stream, quitonerror=0|1) now returns a str on error:

Easily fixed, but I'll need to do a quick impact assessment on this as I suspect there may be some lazy programming in PyGPSClient which utilises the str in the parsed field so it can display 'ignored' errors on the console. In the short term, check raw is not None before any further processing as a quick workaround.

Alright.  Just wanted to let you know that #150 possibly breaks API compatibility, again for the sake of other users out there. I'd suggest to update the README and docstring, because neither mention that as of right now.

No, it needs fixing as it was a lazy solution. There are no other downstream impacts. Assume behaviour as per docs once RC 1.2.41 is merged.

Works for me, but as commented in 8fa0bcf, I'd strongly recommend to use Python's built-in logging module instead of printing to stdout.


Access Link Attributes From Event

Hello,
I'm trying to figure out a way to pass parameters to the JS events triggered by Cocoon. The best option seems to me to add data attributes to link_to_add_association, then get those attributes when "cocoon:before-insert" is called. Is there currently a way for the link to be referenced from the event function?
Thank you.

I'm trying to figure out a way to pass parameters to the JS events triggered by Cocoon.

JS or jquery?  I imagine you'd use the jquery either ...
Read the field which was generated by cocoon after rendering by using a dom selector to get the value
OR
to get the parms out of the url that just execute using ... https://stackoverflow.com/questions/19491336/get-url-parameter-jquery-or-how-to-get-query-string-values-in-js

Apologies if my question wasn't clear, I did mean the jQuery events. There are ways with which this could be achieved but I felt that adding some extra parameters to the event itself would be the cleanest. Added it in PR #466.

If this is solved do you want to go ahead & close them both out?

Certainly, I suppose I wanted to see if there may be a better solution which I missed, but I guess this works well enough.

I would definitely keep it open if you were going to gather ideas to submit a PR for the cocoon gem, as generally this issues list is for bugs or features & stackoverflow has a tag for cocoon gem which is checked by the gem maker almost daily.  ( https://stackoverflow.com/questions/tagged/cocoon-gem )


Release v0.2.4 (Patch)

Publish a new version of the "Trace Server for VSCode", that benefits from the recently updated dependencies (yarn upgrade), including a fixed webpack package that not subject to a recently discovered vulnerability.

The following 1 GitHub releases will be created once this pull request got merged.
Release v0.2.4 with changes since v0.2.3

Release v0.2.4 (Patch) f838a4c
perform yarn upgrade 117ddba
check for trace server URL ending with slash 3e76706

Thanks for the review!


Custom overflow button

The overflow button shows text via CSS, but it would be useful to be able to use an icon or another component.

The approach we have chosen with [part="overflow-button"] is pretty much the same as with any other Vaadin components (e.g. toggle button, clear buttons, rich text editor toolbar buttons etc).
The only actual difference is this extra element we have in the markup:
https://github.com/vaadin/vaadin-menu-bar/blob/4db8dd98b1a7917f66ca6bda3d2d5557036945f7/src/vaadin-menu-bar.html#L52
That one we had to introduce because vaadin-button already used ::before and ::after pseudo elements in CSS for different purpose (effects and alignment), so we couldn't use them here.
I think we should change that only after we agree on new approach on the icons and implement that in all the components so they would be customisable in the same way for consistency.

What about a slot for the overflow button component, which defaults to

?

Sounds good to me. That might be one of the ideas for the next minor release.


Label encoding

@YangZhang4065 @Xyouz  thanks for sharing the source code , can you please let me know what is the use of functions like
" SemKITTI2train_single(label):" and "SemKITTI2train(label):" which is used  during training and testing , how Is it modifying the labels during saving

Before calling the SemKitti2train function labels range from 0 (which represents points to be ignored) to 25 or so. The SemKitti2train function shift them by 1 so that they range from 0 to 24 (for the useful classes) and points that are to be ignored get labelled as 255.

@Xyouz  for visualization on the nuscenes data what code base should be used ?

I won't be able to help you on this one as I only worked with the semantickitti data.


gpu_hist performance tweaks

Remove the use of device vectors from RowPartitioner in favour of more lightweight TemporaryArray.

Remove unnecessary synchronisation after AllReduce

Codecov Report

Merging #5707 into master will decrease coverage by 0.38%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5707      +/-   ##
==========================================
- Coverage   82.56%   82.17%   -0.39%
==========================================
  Files          11       12       +1
  Lines        2598     2732     +134
==========================================
+ Hits         2145     2245     +100
- Misses        453      487      +34

Impacted Files
Coverage Δ

python-package/xgboost/sklearn.py
90.70% <0.00%> (-0.59%)
:arrow_down:

python-package/xgboost/data.py
73.26% <0.00%> (ø)

python-package/xgboost/compat.py
54.96% <0.00%> (+0.41%)
:arrow_up:

python-package/xgboost/core.py
79.30% <0.00%> (+1.27%)
:arrow_up:

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 535479e...9ec4450. Read the comment docs.


How to getText + with Emojis from EmojiconEditText and send to webservice

First let me thanks for sharing such an awesome library
I have implemented the EmojiconEditText in my app. Now I want to get the Text+Emojis from the Edit Text. and then I want to send the text to a php service and save in the My Sql Database.
Im getting the (??????????) instead of the Emojis via myEditText.getText().toString(); is there any other method for this.
Please Help

@dhams
How can I implement this with Retrofit please ?


⚠ Bofrost.es has degraded performance

In ba29027, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1565 ms

Resolved: Bofrost.es performance has improved in 90edb94 after 9 minutes.


Uwp compile error due to "Value type 'OpenCvSharp.Aruco.DetectorParameters' has an explicit default constructor"

Summary of your issue
OpenCvSharp : Gatekeeper error GK0018 : GK0018 Value type 'OpenCvSharp.Aruco.DetectorParameters' has an explicit default constructor which is unsupported. Use an initialization function instead. (Task ID: 1271)
Environment
Universal Windows Platform
Visual Studio 2022
Windows 11 22H2
.Net Core 2.0
What did you do when you faced the problem?
<IP_ADDRESS>20608 works well but failed in <IP_ADDRESS>30115. This issue only present in publish flow which might be related to .Net Native compilation

Uwp do not support for C# 10.0 (Because of .Net Core 2.0), which is necessary if we want to declare no-parameter constructor in struct.
OpenCvSharp.Aruco.DetectorParameters use this feature and which is not supported by Uwp, maybe we could remove the constructor or use conditional compilation to handle this situation for Uwp.


Error on collection.get_items() when there is no "thumbnail" asset

UndefinedError: 'dict object' has no attribute 'thumbnail' when there is no asset called "thumbnail"
Example:
import stac
service = stac.STAC('https://eod-catalog-svc-prod.astraea.earth', False)
collection = service.collection('myd13a1')
collection.get_items()
I believe the error occurs due to the html item template

this issue is related to stac_version. In your example, the STAC API is at version 1.0.0-beta.2 and stac.py does not support the version at this time. We need to add models from version 1.0.0 in jsonschemas

Can you verify with https://service-stac.int.bgdi.ch/api/stac/v0.9 (which is 0.9) using the collection ch.are.agglomerationsverkehr?
Thank you very much.

update your stac.py version to 0.9.0-12, it solves this problem


DOCS: 4x overview and general intro doc updates

Updates to the existing introductions and overviews updated for 4x.

@edbratt Hi Ed - Let me know when we can review together. I have some questions that would be better addressed in real-time.


AMD Vulkan packages are not installed

On my system using an AMD card (from lspci):
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]

I couldn't start any Vulkan games because no AMD vulkan drivers were installed.
I went with what Arch Wiki recommends:
https://wiki.archlinux.org/index.php/Vulkan#Installation
and installed the following packages:

vulkan-icd-loader
lib32-vulkan-icd-loader
vulkan-radeon
lib32-vulkan-radeon

For checking/testing vulkan I also installed:

vulkan-tools

https://wiki.archlinux.org/index.php/Vulkan#Installation
From what I can see so far, these packages are enough to solve the issue, at least for my particular card. Maybe also vulkan-intel could be considered for Intel graphics users.
But (and this might explain it) I also want to add that my card, which is a Radeon GCN 1.0 "Southern Islands" does not use by default the amdgpu driver, but radeon, so no Vulkan support by default.
To switch the card to the amdgpu driver, it has to be enabled explicitly.
https://wiki.archlinux.org/index.php/AMDGPU#Enable_Southern_Islands_(SI)_and_Sea_Islands_(CIK)_support
which I did in this case.
Maybe the Arch installation procedure is more fussy, sees this specific card and choose to not install the AMD Vulkan drivers since they're not needed by default, not sure here.
On the other hand (with amdgpu support enabled or not) on other distros tested so far, like SteamOS or Ubuntu, the AMD Vulkan drivers are installed regardless.

Could you try installing vulkan-intel on your system, restart and make sure vulkan games still work?
I am wondering if it is safe to install them side by side. According to the Arch wiki page you linked, vulkan-intel does interfere with nvidia graphics.
Just trying to figure out if we can make do with nvidia and non-nvidia cases or if we need a third case for intel.
I am actually not even sure if gamerOS will work on intel graphics. I know I could never get SteamOS to work on intel graphics.

In any case, I added the following packages to the default install:

vulkan-icd-loader
lib32-vulkan-icd-loader
vulkan-radeon
lib32-vulkan-radeon

This didn't seem to interfere with the operation of my nvidia card.
Commit: https://github.com/alkazar/gamer-os/commit/93c9e5fa7e5e15a1c62c2e9fde764003af7e2e23
@dubigrasu could you try re-installing again to see if Vulkan works for you out of the box now?

About the previous question:
I did installed vulkan-intel alongside my existing vulkan-radeon packages, and while it does still work, I'm not so sure about being interference free.
Basically the games I tested they still work, but occasionally some of them hang inexplicably.
I removed the vulkan-intel packages and the situation apparently got back to normal, so I'm not sure what to say.
Maybe it would be more safe for the moment to not have vulkan-intel packages installed.
I also tested by itself my Intel graphics :
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
(I practically removed my external card) and BPM still works, but slowly, and games are even slower or crashing, but since is a pretty old chip that's not very conclusive.
About reinstalling to test the AMD Vulkan packages, sure, (although exactly out of the box Vulkan will still not work due to my GCN 1.0 card).

OK, I did a fresh install and all the necessary AMD Vulkan packages were installed and working.

Thanks for all your help. I have left out vulkan-intel for now.
Regarding your specific graphics card. I am not very familiar with the AMD graphics stack (it is quite confusing!), but from doing some reading I understand the problem as:

mesa includes both the new amdgpu and older radeon drivers
the radeon driver does not support vulkan (despite the confusingly named package vulkan-radeon)
mesa defaults to using the radeon driver for some specific cards (including yours) because there may be some regressions for those cards with amdgpu

If that is accurate, I would say I don't want to change the defaults that mesa provides. It is possible that there could be other issues when using the amdgpu driver with these cards. Maybe one day mesa will enable amdgpu by default for all cards when it is considered more tested/stable.
It does unfortunately mean that those using these generations of cards will not be able to use vulkan for now.

It is confusing indeed, but you sum it up well.
There used to be issues with amdgpu on old CGN cards in the past, yes, like HDMI sound not working or various graphical weirdness, but I haven't seen these (or heard about) since years maybe.
But yes, Mesa still defaults to radeon for whatever reason, maybe some cards out there do exhibit issues, IDK.
So I guess the risk does exists, that someone somewhere is having a CGN 1.0 card that doesn't play well with amdgpu, for which defaulting to radeon is the sensible choice.
Maybe an optional install.sh with amdgpu enabled could exist for these cards, or just a choice in the installer:
"You have a CGN 1.0 AMD card, do you want to enable amdgpu? Y/N"

@dubigrasu there was some big changes made to the detection and configuration of amd gpus. Could you test the latest master branch to see if things are setup correctly for you by default now? Thanks!

The installation went as usual except the GPU detection part, where my GPU was detected as a legacy one:
lspci: Unable to load libkmod resources: error -12
Legacy AMD/ATI GPU detected, installing drivers...

And it went on and installed only xf86-video-ati, mesa-vdpau and lib32-mesa-vdpau.
But before actually executing the install.sh, I did checked manually with:
lspci | grep -E -i '(vga|3d|display)' | grep -i amd
also:
lspci -nnk | grep -i vga -A3 | grep 'Kernel modules: radeon, amdgpu'
and the output seemed OK:
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]
respectively:
Kernel modules: radeon, amdgpu
Also, after the reboot I downloaded again the install.sh script, edited it and executed only the GPU detection section (basically kept the lines 95 >142), and this time the GPU was correctly detected and the appropriate packages installed, log here:
gpu.log
This is the actual shell used:
install_edited.sh.txt
So the GPU detection section works basically fine, but not from within the initial installer.

Investigated a little bit and found that lspci -nnk does not output the kernel modules line when run from inside the arch chroot. That is what the libkmod resources error is about. An easy work around is to do the detection from outside the chroot and record the results for use later.

@dubigrasu  could you test the gpu-detection-fix branch? I believe I have fixed the issue, but would like confirmation from an AMD user. Thanks!

Yes, is working now.
I could see during the installation the message:
"AMD graphics card with radeon kernel module detected, switching kernel module and installing drivers..."
After the reboot I could install and play right away a couple of SteamPlay/Proton games using Vulkan, and some native ones also using Vulkan without issues.
AFAICT this issue is solved. Good job.

@dubigrasu great, thanks for testing!

Is there a way to test if I had a vulkan driver I stalled? I believe that something is wrong. After proton 5, vulkan is default enable andI have to disable using PROTON_USE_WINED3D=1.
I have a radeon pro wx4100 .

Is there a way to test if I had a vulkan driver I installed? I believe that something is wrong. After proton 5, vulkan is default enable andI have to disable using PROTON_USE_WINED3D=1.
I have a radeon pro wx4100 .

I found the system was loading intel vulkan drivers. I delete intel ico files and the system is workingo with amd vulkan drivers


Avoid duplicate text: README <-> website

As discussed in https://github.com/leap-stc/ClimSim/pull/44, it is not optimal that we have text that is duplicated in the README and on the website. A concern is that duplicated docs will very quickly fall out of sync as time goes on.
Ways forward are discussed in https://github.com/leap-stc/ClimSim/pull/44, but were not implemented before the PR was merged.

👋 thanks for opening this

@NoraLoose now that I see the newly-built website, the landing page (intro.md) has a really nice simplicity and directness to it.
What do you think about just making the README look exactly like the current intro.md? This means users will link to the website for even intro material like Quickstart, but one click doesn't seem too burdensome?

One disadvantage is that #23 is a little awkward for the website but IMHO #23 is good idea but not an absolute requirement.

What do you think about just making the README look exactly like the current intro.md? This means users will link to the website for even intro material like Quickstart, but one click doesn't seem too burdensome?

I like that idea! 🙌


jquery has batch-only inference error after re-aliasing support (##42284)

Notably, this does not show up in the editor. I haven't got it to reproduce outside the jquery project either:

You can see this error with npm test jquery inside Definitely Typed.
Or you can observe that tsc before #42284 has 12 (expected) errors, whereas tsc afterward has 14 errors.
Or you can paste this code into a test file (I used jquery-slim-no-window-module-tests.ts), since it's a smaller repro:

function delegate_0(events: string, handler: JQuery.TypeEventHandler<HTMLElement, any, any, any, string>) {
    delegate(events, handler);
}
declare function delegate<TType extends string>(eventType: TType, handler: JQuery.TypeEventHandler<HTMLElement, any, any, any, TType>): void;

Expected: No error on the argument events
Actual: Error on the argument events: "Argument of type 'string' is not assignable to parameter of type "myEvent"."
It looks like TType is inferred as "myEvent" instead of string. I can't figure out why. TType should be constrained to string | number, since its constraint as written is TType extends keyof TypeToTriggeredEventMap<TDelegateTarget, TData, TCurrentTarget, TTarget> and TypeToTriggeredEventMap has a string index signature (plus a dozen properties or so).
Changing events to "myEvent" gets rid of the error.

Mmm, nasty little issue. Problem is that the keys we compute for type instantiations need to include both the alias and the alias type arguments. I was only including the alias in the mistaken belief that the rest of the key would represent all necessary information. But it is possible (though clearly very rare) for an alias to have type arguments that map many-to-one to a single type representation--at which point we randomly pick one of them. So, only by including the alias type arguments is the key truly unique.

Mmm, nasty little issue. Problem is that the keys we compute for type instantiations need to include both the alias and the alias type arguments. I was only including the alias in the mistaken belief that the rest of the key would represent all necessary information. But it is possible (though clearly very rare) for an alias to have type arguments that map many-to-one to a single type representation--at which point we randomly pick one of them. So, only by including the alias type arguments is the key truly unique.

I the OP example, the last type parameter of JQuery.TypeEventHandler<...> is used in a mapper that maps different type arguments to a single type. Thus we started confusing instantiations of the type.

I the OP example, the last type parameter of JQuery.TypeEventHandler<...> is used in a mapper that maps different type arguments to a single type. Thus we started confusing instantiations of the type.

Here's a simple repro for the issue:
type Foo<T> = T | string | number;
type Bar<T> = Foo<T> | undefined;

declare let x1: Bar<'a'>;
declare let x2: Bar<'b'>;

With the current nightly build, depending on which variable you hover on first we'll pick one or the other instantiation of Bar and use it for both.

Here's a simple repro for the issue:
type Foo<T> = T | string | number;
type Bar<T> = Foo<T> | undefined;

declare let x1: Bar<'a'>;
declare let x2: Bar<'b'>;

With the current nightly build, depending on which variable you hover on first we'll pick one or the other instantiation of Bar and use it for both.


[ci skip] adding user @trey-stafford

Hi! This is the friendly automated conda-forge-webservice.
I've added user @trey-stafford as instructed in #21.
Merge this PR to add the user. Please do not rerender this PR or change it in any way. It has [ci skip] in the commit message to avoid pushing a new build and so the build configuration in the feedstock should not be changed.
Please contact conda-forge/core to have this PR merged, if the maintainer is unresponsive.
Fixes #21

@conda-forge-admin please rerender


[featured charts]Browse selection does not persist across log outs/ins

Setup

Rancher version: 2.7.0-rc8
Browser type & version: chrome latest

Describe the bug
requirements - user choice should persist across log ins; ie, if 'browse' was selected, user should see 'browse' next visit.
when logged out and in after selecting 'browse,' featured was again displayed when returning to the apps>charts page
To Reproduce

go to apps>charts
select 'browse' - carousel not shown
log out
log in
go to apps>charts

Result
featured is displayed with carousel
Expected Result
browse setting should be saved from setting prior to logging out
Screenshots

Additional context

We'll need to add a preference for the user to remember the browse setting.

On the Apps view we now show a featured carousel at the top - the user can toggle to 'browse' where we don't show this - but this is not remembered across sessions, so refreshing the page defaults back to showing the carousel - we need to add a preference.

retest passes. site now saves user's preferences regarding 'browsing' or 'feature' on the apps > charts page
tested on 2.7head 8062f1e


'Add: "[word]" to dictionary'. Not working.

The 'Add: "[word]" to dictionary' command from the Ctrl+. menu is no longer working. The word remains underlined.
This used to work. Perhaps a bug due to recent Visual Studio Code updates?
I'm on:

Code Spell Checker: 1.6.9; and
Visual Studio Code: 1.22.2.

You got it, that solved. Apologies for this being a support issue rather than a genuine bug.
To make explicit your recommended solution:

{Visual Studio Code} > File > Preferences ... > Settings.
View > Problems.
Review problems as in above image.


After resizing the image getting error and not able to other blocks

Steps:

Open https://grapesjs.com/demo-newsletter-editor.html
Resize any image and check console

Uncaught TypeError: Cannot read property 'get' of undefined
    at r.isTargetStylable (PropertyView.js:504)
  at r.checkVisibility (PropertyView.js:326)
   at r.targetUpdated (PropertyView.js:269)
    at Et (index.js:759)
 at r.<anonymous> (index.js:772)
at r.<anonymous> (index.js:113)
 at m (backbone.js:371)
  at v (backbone.js:356)
   at d (backbone.js:151)
    at r.c.trigger (backbone.js:346)

Any Solution? Work Around?? facing the Same issue

I got a same before when i used grapesjs 0.16.30 & grapesjs-preset-newsletter 0.2.20 then i solved with using grapesjs ver. 0.16.34 (it worked!! u guys might don't care but i am so happy now lol)


Update parser for recent developer platform changes

Do we need to change our handling of fields like user timezones or background profile images?
We could add warnings or other notifications that these fields are going away.
For reference, see here.

Looking into it.


[WIP][MB-4656] update email copy - move submitted confirmation

Description
This PR updates the content of the email the service member receives after signing and submitting their move request.
Reviewer Notes
Is there anything you would like reviewers to give additional scrutiny?
Setup
Add any steps or code to run in this section to help others prepare to run your code:
echo "Code goes here"

Code Review Verification Steps

[ ] If the change is risky, it has been tested in experimental before merging.
[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Screenshots
If this PR makes visible UI changes, an image of the finished UI can help reviewers and casual
observers understand the context of the changes. A before image is optional and
can be included at the submitter's discretion.
Consider using an animated image to show an entire workflow instead of using multiple images. You may want to use GIPHY CAPTURE for this! 📸
Please frame screenshots to show enough useful context but also highlight the affected regions.

Messages

:book:
:link: MB-4656

  Generated by :no_entry_sign: dangerJS against 5f7681bc0e67929922a78ca45cdca70775e3b792


render loop fixes

Fixes #9
The problem was actually the caching library we were using, see https://github.com/seqeralabs/staticreg/commit/1261cfcb1f89e1bcd9e2935bbaa4bea254f1de6c
While fixing that I discovered other issues  and inconsistencies with status codes and sent the other patch to address those.

Ok I need to do a fix release for this so I can update, if there are any comments and fixes needed to do I can address them in a new PR.


Elden Ring crash when camera turns

[2022-12-23 01:17:18.246] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-12-23 01:17:18.247] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-12-23 01:17:18.247] [modengine] [info] Main thread ID: 2488
[2022-12-23 01:17:18.248] [modengine] [info] Enabling extension base
[2022-12-23 01:17:18.248] [modengine] [info] Enabled extension base
[2022-12-23 01:17:18.248] [modengine] [info] Enabling extension mod_loader
[2022-12-23 01:17:18.248] [modengine] [info] Installing mod location mod
[2022-12-23 01:17:18.248] [modengine] [info] Resolved mod path to C:\Users\drwic\Documents\ModEngine-2.0.0-preview3-win64\mod
[2022-12-23 01:17:18.248] [modengine] [info] Enabled extension mod_loader
[2022-12-23 01:17:18.291] [modengine] [info] Applied 3 hooks
[2022-12-23 01:17:18.293] [modengine] [info] Starting worker thread
[2022-12-23 01:20:06.785] [modengine] [info] Destroying
[2022-12-23 01:20:06.785] [modengine] [info] Destroying
[2022-12-23 01:20:06.785] [modengine] [info] Destroying
[2022-12-23 01:20:06.785] [modengine] [info] Destroying
[2022-12-23 01:20:06.785] [modengine] [info] Destroying
[2022-12-23 01:20:06.785] [modengine] [info] Destroying
[2022-12-23 01:20:06.785] [modengine] [info] Destroying
[2022-12-23 01:20:06.791] [modengine] [info] Destroying
[2022-12-23 01:20:06.791] [modengine] [info] Destroying
[2022-12-23 01:20:06.792] [modengine] [info] Destroying
[2022-12-23 01:24:51.887] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-12-23 01:24:51.887] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-12-23 01:24:51.887] [modengine] [info] Main thread ID: 26244
[2022-12-23 01:24:51.888] [modengine] [info] Enabling extension base
[2022-12-23 01:24:51.888] [modengine] [info] Enabled extension base
[2022-12-23 01:24:51.888] [modengine] [info] Enabling extension mod_loader
[2022-12-23 01:24:51.888] [modengine] [info] Installing mod location mod
[2022-12-23 01:24:51.888] [modengine] [info] Resolved mod path to C:\Users\drwic\Documents\ModEngine-2.0.0-preview3-win64\mod
[2022-12-23 01:24:51.888] [modengine] [info] Enabled extension mod_loader
[2022-12-23 01:24:51.933] [modengine] [info] Applied 3 hooks
[2022-12-23 01:24:51.934] [modengine] [info] Starting worker thread
[2022-12-23 01:26:19.494] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-12-23 01:26:19.494] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-12-23 01:26:19.494] [modengine] [info] Main thread ID: 11060
[2022-12-23 01:26:19.495] [modengine] [info] Enabling extension base
[2022-12-23 01:26:19.495] [modengine] [info] Enabled extension base
[2022-12-23 01:26:19.495] [modengine] [info] Enabling extension mod_loader
[2022-12-23 01:26:19.495] [modengine] [info] Installing mod location mod
[2022-12-23 01:26:19.495] [modengine] [info] Resolved mod path to C:\Users\drwic\Documents\ModEngine-2.0.0-preview3-win64\mod
[2022-12-23 01:26:19.495] [modengine] [info] Enabled extension mod_loader
[2022-12-23 01:26:19.539] [modengine] [info] Applied 3 hooks
[2022-12-23 01:26:19.540] [modengine] [info] Starting worker thread
[2022-12-23 01:27:51.082] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-12-23 01:27:51.082] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-12-23 01:27:51.083] [modengine] [info] Main thread ID: 1868
[2022-12-23 01:27:51.084] [modengine] [info] Enabling extension base
[2022-12-23 01:27:51.084] [modengine] [info] Enabled extension base
[2022-12-23 01:27:51.084] [modengine] [info] Enabling extension mod_loader
[2022-12-23 01:27:51.084] [modengine] [info] Installing mod location mod
[2022-12-23 01:27:51.084] [modengine] [info] Resolved mod path to C:\Users\drwic\Documents\ModEngine-2.0.0-preview3-win64\mod
[2022-12-23 01:27:51.084] [modengine] [info] Enabled extension mod_loader
[2022-12-23 01:27:51.129] [modengine] [info] Applied 3 hooks
[2022-12-23 01:27:51.131] [modengine] [info] Starting worker thread
[2022-12-23 01:30:49.271] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-12-23 01:30:49.271] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-12-23 01:30:49.271] [modengine] [info] Main thread ID: 12716
[2022-12-23 01:30:49.272] [modengine] [info] Enabling extension base
[2022-12-23 01:30:49.272] [modengine] [info] Enabled extension base
[2022-12-23 01:30:49.272] [modengine] [info] Enabling extension mod_loader
[2022-12-23 01:30:49.272] [modengine] [info] Installing mod location mod
[2022-12-23 01:30:49.272] [modengine] [info] Resolved mod path to C:\Users\drwic\Documents\ModEngine-2.0.0-preview3-win64\mod
[2022-12-23 01:30:49.272] [modengine] [info] Enabled extension mod_loader
[2022-12-23 01:30:49.316] [modengine] [info] Applied 3 hooks
[2022-12-23 01:30:49.317] [modengine] [info] Starting worker thread
[2022-12-23 01:46:54.686] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-12-23 01:46:54.686] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-12-23 01:46:54.686] [modengine] [info] Main thread ID: 25884
[2022-12-23 01:46:54.688] [modengine] [info] Enabling extension base
[2022-12-23 01:46:54.688] [modengine] [info] Enabled extension base
[2022-12-23 01:46:54.688] [modengine] [info] Enabling extension mod_loader
[2022-12-23 01:46:54.688] [modengine] [info] Installing mod location mod
[2022-12-23 01:46:54.688] [modengine] [info] Resolved mod path to C:\SteamLibrary\steamapps\common\ELDEN RING\Game\mod
[2022-12-23 01:46:54.688] [modengine] [info] Enabled extension mod_loader
[2022-12-23 01:46:54.729] [modengine] [info] Applied 3 hooks
[2022-12-23 01:46:54.731] [modengine] [info] Starting worker thread
[2022-12-23 01:55:13.679] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-12-23 01:55:13.679] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-12-23 01:55:13.679] [modengine] [info] Main thread ID: 3596
[2022-12-23 01:55:13.680] [modengine] [info] Enabling extension base
[2022-12-23 01:55:13.680] [modengine] [info] Enabled extension base
[2022-12-23 01:55:13.681] [modengine] [info] Enabling extension mod_loader
[2022-12-23 01:55:13.681] [modengine] [info] Installing mod location mod
[2022-12-23 01:55:13.681] [modengine] [info] Resolved mod path to C:\SteamLibrary\steamapps\common\ELDEN RING\Game\mod
[2022-12-23 01:55:13.681] [modengine] [info] Enabled extension mod_loader
[2022-12-23 01:55:13.727] [modengine] [info] Applied 3 hooks
[2022-12-23 01:55:13.728] [modengine] [info] Starting worker thread
[2022-12-23 01:56:05.817] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-12-23 01:56:05.817] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-12-23 01:56:05.817] [modengine] [info] Main thread ID: 21972
[2022-12-23 01:56:05.818] [modengine] [info] Enabling extension base
[2022-12-23 01:56:05.818] [modengine] [info] Enabled extension base
[2022-12-23 01:56:05.818] [modengine] [info] Enabling extension mod_loader
[2022-12-23 01:56:05.819] [modengine] [info] Installing mod location mod
[2022-12-23 01:56:05.819] [modengine] [info] Resolved mod path to C:\SteamLibrary\steamapps\common\ELDEN RING\Game\mod
[2022-12-23 01:56:05.819] [modengine] [info] Enabled extension mod_loader
[2022-12-23 01:56:05.862] [modengine] [info] Applied 3 hooks
[2022-12-23 01:56:05.864] [modengine] [info] Starting worker thread
[2022-12-23 01:57:06.901] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-12-23 01:57:06.901] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-12-23 01:57:06.901] [modengine] [info] Main thread ID: 24248
[2022-12-23 01:57:06.902] [modengine] [info] Enabling extension base
[2022-12-23 01:57:06.902] [modengine] [info] Enabled extension base
[2022-12-23 01:57:06.902] [modengine] [info] Enabling extension mod_loader
[2022-12-23 01:57:06.902] [modengine] [info] Installing mod location mod
[2022-12-23 01:57:06.902] [modengine] [info] Resolved mod path to C:\SteamLibrary\steamapps\common\ELDEN RING\Game\mod
[2022-12-23 01:57:06.902] [modengine] [info] Enabled extension mod_loader
[2022-12-23 01:57:06.941] [modengine] [info] Applied 3 hooks
[2022-12-23 01:57:06.943] [modengine] [info] Starting worker thread

Not sure what's causing this, i only added  Clever's Moveset Modpack. Launched game through steam and it was fine


Add ordinal numbers to the .num files

Now that our next release is expected to be a beta release, "make update"
wants to see ordinal numbers in the .num files.
Run make update to add them.
Marking this as urgent because it is causing CI runs to fail.

... and the game is on...

Errr... @levitte you added the "ready to merge" label but didn't click "approve". I'm assuming this is approved???


Update MinRTT in dispatcher thread in adaptive concurrency

It is for https://github.com/envoyproxy/envoy/issues/14997

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

It is tracked by https://github.com/envoyproxy/envoy/pull/15004


Notify the user to upgrade if they're on <= 2022 to use Navie

Because input doesn't work in the web view, users must upgrade to 2023. A dialog box would be sufficient.
Show Navie, pop up dialog box.

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

v0.59.0
GitHub release

Your semantic-release bot :package::rocket:


Add syntax test

This PR add tests for syntax using Neovim 0.9

Feel free to merge if you feel comfortable maintaining it


Updated docusaurus config

Updated/removed links to docusaurus
Added some links to Z3/RiSE resources
Added legal info

@pelikhan I tried to add the legal stuff as a JSX component (like what you did with jacdac-docs), but could not figure out a way to do so with docusaurus.config.js, so instead I added everything to a separate Legal column at the bottom.

Are you using mui?

Are you using mui?

I was going to but not in this commit. I'm going to use MUI for the code block buttons anyways.


QTerminal 1.2.0 on LXQT Fedora 38

Thank you for this, and all of your other screenshots!  :-)
This one is a wild one.  It's almost like it tries to treat the symbol block in the upper right as proportional rather than fixed-width; this is the only terminal I've seen do that.  I've seen arrows in different directions have different lengths, but never quite so strongly, nor having the diagonal arrows be bolder and the horizontal arrows displaced downwards.
Shaded blocks share a problem with many other terminals in that they are smaller than solid blocks, and dashed box drawing characters seem to be missing entirely, as are some of the more advanced drawing characters.
I like that the skin tone swatches actually are colored rather than grey; as a fallback, that's better behavior.  The emoji face handling is a bit odd -- it appears that whether it shows as outline or as yellow depends on the Unicode version it was introduced in.
The 4-bit color swatches are unusual -- are they hand-tuned or from a theme?  (And if so, which one?)
May I use this screenshot in the docs?

I'll have access to that computer next week again. Yes, you may use this screenshot in docs.


NodeRuntimeWrapper is not required when deploying app?

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
NodeRuntimeWrapper wrap children with ErrorBoundary and NodeRuntimeContext.
It maybe bring a little performance loss for one node. But it is common that there are over 30 nodes in one page of real app.
function RenderedNodeContent({ node, childNodeGroups, Component }: RenderedNodeContentProps) {
  ...

  return (
    <NodeRuntimeWrapper nodeId={nodeId} componentConfig={Component[TOOLPAD_COMPONENT]}>
      {isLayoutNode ? (
        <Component {...props} />
      ) : (
        <Box
          sx={{
            display: 'flex',
            alignItems: boundLayoutProps.verticalAlign,
            justifyContent: boundLayoutProps.horizontalAlign,
          }}
        >
          <Component {...props} />
        </Box>
      )}
    </NodeRuntimeWrapper>
  );
}

Expected behavior 🤔
No response
Steps to reproduce 🕹
Steps:

Context 🔦
No response
Your environment 🌎
No response

Thanks for reporting this issue @WangLarry.
Not sure how plausible it would be to not to wrap each component with this - we'd also have to measure how much this is affecting performance to see if it's worth tackling.

NodeRuntimeContext inside of it  is unnecessary.

NodeRuntimeContext inside of it is unnecessary.

At the moment, it's indeed only used by the editor. But unless there's a significant measurable performance hit, I think we can live with it, the context value should be stable for the lifetime of the component, so I don't expect there to be any problem. I believe there are more important performance issues to focus on in the application runtime.


Add Ethereum components from Frontier

This PR adds Ethereum compatibility components from Frontier. Solves #4.
TODO:

[x] Add EVM and Ethereum to runtime
[x] Implement AccountMapping scheme
[x] Add very basic RPC client
[x] Implement pallet_evm::FindAuthor
[ ] Add tests, examples, documentation, etc. as needed
[x] Precompiles
[x] Move ManagedAddressMapping to runtime/src with other pallets
[x] Merge main

I'm testing this manually trying to get it merged soon. I want to be able to deploy and execute some contract in the evm, and I can't yet do that.
I'm trying with remix and also with polkadot js apps. Trying the node in instant seal and pow. It seems like I'm having fee related issues. Is there some particular gas price you have in mind, or other tips?

I've messed with the address mapping a little bit. One bug I noticed is that both Alice and Bob can map the same ethereum H160 address, let's call it Gerald. This is trouble because if Gerald sends an eth transaction to pallet ethereum, only one of Alice or Bob will be charged fees.
It might be nice to make a similar check to the one you make for Native addresses first.
On a related note, I tried to install unified accounts which I think would be really nice, but I couldn't quite make it compile. See #19 if interested

I've disabled fees, and I'm now able to deploy and call a contract using polkadot js. That's a good start! Now to Metamask.
I can see my balance (with a funny number of decimals). But when I try to send tokens the transactions fail.


Help me

Thank you very much, but I want to ask you about the struct of workflow in the xml file, can you help me? example in the Montage_25.xml file, I see the output data size in the job ID00000 is 4167312, but I don't know 4167312MB or 4167312GB or 4167312B, can you help me???
thanks

I would assume it is in Bytes, however I have not been able to find the answer on the Pegasus website (http://pegasus.isi.edu/), it seems they have modified their DAG format. I am sorry I cannot be of more help.

Thank you very much
On Thu, Dec 10, 2015 at 11:53 PM, Gopi<EMAIL_ADDRESS>wrote:

Closed #1 https://github.com/Gaupy/linear-workflows/issues/1.
—
Reply to this email directly or view it on GitHub
https://github.com/Gaupy/linear-workflows/issues/1#event-488412783.


Android start on reboot broken

Not sure why it didn't work a while ago, but I just checked on my phone and two emulator phones, and it works.


Generated static site (at public/index.html) is broken - no style

Describe the bug
When following the Getting Started guide, the site works correctly when using the local hugo server, but the static site generated under the public directory with the hugo command has no style. See screenshot.
To Reproduce
git init
git submodule add https://github.com/wangchucheng/hugo-eureka.git themes/eureka
cd themes/eureka
git checkout v0.8.0
cd ../..
cp -r themes/eureka/* .
hugo

I also tried installing the theme over a virgin hugo site (i.e. add a step hugo new site . after the git init step above, and delete the generated config.toml file), and it made no difference.
Environment

Hugo v0.83.1 (MacOS, installed via Homebrew)
Eureka v0.8.0 (also tried v0.7.0 and master)

I am able to fix this by editing the generated "public/index.html" file and removing the leading slash from the external stylesheet reference:
<link rel="stylesheet" href="/css/eureka.min.css">

becomes
<link rel="stylesheet" href="css/eureka.min.css">

Ah... sorry. I see now that the problem was with my baseURL setting. My bad.


Extend constant folding to do arithmetic simplifications

This is a pre-requisite for #889.
Currently, a constant folding library exists for integer types (https://github.com/KhronosGroup/SPIRV-Tools/blob/master/source/opt/fold.cpp).  This will need to be extended to fold floating point expressions and other simplifications (e.g., %21 - %21 folds to 0 for any integer result ID).
With the current implementation, we can get some of the required behaviour for SSA-CCP, but this folding helper will need to be extended.

@dneto0 I think we did everything except for the undef absorption.  Since there is #710 is opened for that,
@dnovillo Do you have specific simplifications that you want done?  Can they be listed here so we can know when we are done?  Otherwise, I would like to close this.  We have the ability to add the constant folding rules that we want.  A few are implemented.

Marking as done.  We have the infrastructure to get this done, and we can do most of the obvious stuff.  If we want to do anything specific open a new issue with an example.


Update installing-cli.md

Removed an extra "m365" in the command.

Fixes the command for "Check the installed version".

Good catch! Thank you! 👏

Merged manually. Thank you and welcome to the team! 👏


org-mpv-notes-link-regex support for youtube file format

The regex currently doesn't support square bracket characters in file
names, which is part of the standard youtube file naming format. For
example, file
How To Tie Your Shoes Insanely Fast! [6cBtqhq5P28].mp4
fails not because of the exclamation point, but because of the square
brackets.

This issue is solved now.


Possible exposed AWS Key

I found your keys on one of the top comments on Hacker News within a repo search tool
https://github.com/rtbkit/rtbkit/blob/master/soa/service/testing/aws_test.cc#L28
https://news.ycombinator.com/item?id=34691804
https://grep.app/search?current=2&q=AKIA[0-9A-Z]{16}&regexp=true

I see that this key is an example key. My mistake ignore this.


Ensure GCS javascript file is behind CloudFlare

As an end user I want the GCS jsvscript file to be behind CloudFlare (CF) so that I can request it quickly and securely from anywhere.
Acceptance Criteria:

CloudFlare serves the GCS js file.
Good caching rules are set up via CF console.

Notes:

We'll likely need to work with 350.org to configure CloudFlare for our needs. Even if we don't work with them to set up GCS, we need to work with them on this one as they already have a CF account.
This is blocked by #7

This has been done. You can see the demo being served by CloudFlare here: http://assets.digitalclimatestrike.net/demo.html and the widget here: http://assets.digitalclimatestrike.net/widget.js


Do noop and identity really belong into the public exports of rxjs?

Bug Report
Current Behavior
This is a minor issue, but every time I type noop or identity in my projects I get a VS Code autocomplete suggestion to auto-import it from rxjs. This feels weird to me, because those functions don't really have anything to do with Observables. My natural place to import them from would be lodash, but instead rxjs is always suggested first. If anything you'd think a noop export from rxjs would be a "noop Observable", not a plain noop function.
This seems to have been very intentional though: https://github.com/ReactiveX/RxJS/commit/810c4d0
Expected behavior
These to just be internal functions (unless there's a good reason I am missing).
Environment

RxJS version: 6.5.5

Possible Solution
Not export in index.ts
Additional context/Screenshots

Makes sense to me too, not sure if it's worth we reexport these utilities.


Fix: Error with jsdom and attribute names with .

Lots of Microsoft properties have attributes such as ms.title for analytics. These names will break jsdom's querySelectorAll with a SyntaxError.
This fixes that.


VsiVolumeForm: Issue 194

Created VsiVolumeForm & story
Rendered VsiVolumeForm within VsiForm & updated VsiForm.stories.js

@jvallexm One thing I'm unsure about is if we still want the iops field to be included within the VsiVolumeForm since according to the terraform docs, the iops value is required for custom profiles only, but we aren't supporting custom profiles.
Currently I removed the iops field from the form in my changes based on this.


Add rid-brute flag to mssql protocol

Description
This uses Transact-SQL queries in order to do a rid bruteforce via the mssql protocol.
This can be done by anyone with the PUBLIC role (everyone).
At the moment, this doesn't display the SidType, like it does for SMB, as I haven't found a way to query that via MSSQL. If anyone knows if it's possible though, I'd love to add it.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] This requires a third party update (such as Impacket, Dploot, lsassy, etc)

How Has This Been Tested?
Tested on the following VulnLab machines:

Klendathu
Redelegate

Screenshots:

Checklist:

[x] I have ran Ruff against my changes (via poetry: poetry run python -m ruff check . --preview, use --fix to automatically fix what it can)
[x] I have added or updated the tests/e2e_commands.txt file if necessary
[x] New and existing e2e tests pass locally with my changes
[x] My code follows the style guidelines of this project (should be covered by Ruff above)
[x] If reliant on third party dependencies, such as Impacket, dploot, lsassy, etc, I have linked the relevant PRs in those projects
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (PR here: https://github.com/Pennyw0rth/NetExec-Wiki/pull/31)

Nice !!!

Really cool! Thanks for the PR

All good


feat: [FW-25 ] add custom not found page

Closing PR in favor of https://github.com/DanielMoraDC/festwrap-ui/pull/1


Remove version: FengHe.FocusNote version 2.16.2-682

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://download.kirakuapp.com/FN_PC/Focus Note 2.16.2-682.exe
Response Error: The remote server returned an error: (403) Forbidden.
(Automated message - build 912)

Hi @Exorcism0666,
This manifest has the highest version number for this package. Is it available from another location? (This might be in error if the version is switching from semantic to string, or string to semantic.)
(Automated response - build 887.)

URL: https://download.kirakuapp.com/FN_PC/Focus Note 2.16.2-682.exe
Response status code does not indicate success: 403 (Forbidden).
(Automated message - build 887)

For moderators or/and anyone else

[!Caution]
As a result of several personal problems I've had over the last few months + my final exams coming up very soon, I'm currently unable to look at my GitHub notifications every day and maintain my executions correctly.
If you detect a certain problem on a certain pul request:

Either you can close the pull request directly without mentioning me.
Or you can send me a message on X (Twitter): @Exorcism0666

Thank you for your understanding, and I'm sorry if some pull requests can't be approved due to the situation I'm in.

This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping Exorcism0666.

[!warning]
With the new version of Komac, numerous Pull Requests may contain bugs or unwanted elements. If such issues arise, please tag russellbanks so that these bugs can be addressed in future updates.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

URL: https://download.kirakuapp.com/FN_PC/Focus Note 2.16.2-682.exe
Response status code does not indicate success: 403 (Forbidden).
(Automated message - build 887)

URL: https://download.kirakuapp.com/FN_PC/Focus Note 2.16.2-682.exe
Response status code does not indicate success: 403 (Forbidden).
(Automated message - build 887)

URL: https://download.kirakuapp.com/FN_PC/Focus Note 2.16.2-682.exe
Response status code does not indicate success: 403 (Forbidden).
(Automated message - build 887)


Use README.rst file

The README.md file should be a README.rst file and in use fo rthe long description in the setup.py so it is used to display at pypi: https://pypi.python.org/pypi/hanging_threads

@niccokunzmann This issue probably should be closed, right?

@artemrizhov sure, please close if you feel like it.


As of 0.6.0, new Map() cannot satisfy existing generic constraints

Related #41, and specifically - this bug was introduced in #53.

Previously (when new Map() returned a Map<any, any>) - this would have worked:
function expectsBooleanMap(map: Map<string, boolean>) {}
expectsBooleanMap(new Map());

But with 0.6.0 it no longer works!
error TS2345: Argument of type 'Map<unknown, unknown>' is not assignable to parameter of type 'Map<string, boolean>'.

This also reproduces with usages such as:
const map: Map<string, boolean> = new Map();
const map = new Map() satisfies Map<string, boolean>;

Can confirm, after upgrade most new Map()s return a type error now, before they were type inferred properly.
(needed to revert to previous version)


About download progress

下载的时候能显示当前下载速率以及进度条么？我的网络下载不是很快，经常以为会卡在下载这一步。
Can I display the current download rate and progress bar when downloading?My network download is not very fast, I often think that it will be stuck in the download step.

Done.


Modified Enable-SNI function to fix issue #118

In Enable-SNI added double quotes around the web site name to fix issue #118

I am fixing the comments as I want to release 1.2.4 version of the extension with this fix as well


Fix for random camera crash

Description
Fixed a random crash on the simulation that appeared after a while.
The cameras logic were rolled back to the reordering logic. This means that the cameras are being rendered at the end of the frame to avoid intermediate flushes on the GPU pipeline.
The atlas code and logic were removed for readability and maintenance.
Where has this been tested?

Platform(s): Ubuntu 18.04
Python version(s): 3
Unreal Engine version(s): 4.24

This change is

I can no longer see the problem, and it was happening to me regularly after 1-2 mins of simulation with the leaderboard. Accepted


Cherry-pick: Fix broken links (#411)

Because the pull request author hasn't admin or write permission, the build will use the Jenkinsfile from the target branch on the origin repository.

Because the pull request author hasn't admin or write permission, the build will use the Jenkinsfile from the target branch on the origin repository.

Because the pull request author hasn't admin or write permission, the build will use the Jenkinsfile from the target branch on the origin repository.


Change query from epochtime to time

Can one of the admins verify this patch?

ok to test

retest this please


Add EPSG code for all UTM/WGS84

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

Project coverage is 95.25%. Comparing base (7d53e63) to head (375fc3b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #114      +/-   ##
==========================================
- Coverage   95.41%   95.25%   -0.16%
==========================================
  Files          27       27
  Lines        1177     1181       +4
==========================================
+ Hits         1123     1125       +2
- Misses         54       56       +2

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


Make lib to support more browser

I had change getUsermedia to new API that make current quiet.js support more browser included Safari

Sorry, not sure what's going on here, but I'm not super keen on taking a 32,000 line PR.


Change the iam rule to blacklist.

This fits better with the description of "disallow the service account" and also highlight the blacklist mode.

Adding cla: yes label, as the PR author is a googler at the time of this PR was created.


Provide full test coverage for DI

With distage-core at 88% we seem to be in a pretty good place https://codecov.io/gh/pshirshov/izumi-r2/tree/develop/distage/distage-core/src/main/scala


[BUG] addRow() not adding merged cells correctly which are read from source file

Hi All,
I am trying to read from a excel file, manipulate some data and write to another excel. I am seeing a weird issue when adding rows which have merged cells. They are not getting added as expected in the destination file, the rows are appearing non-merged.
Below is the relevant part of the code. I am using streams and addRow.
const readerOptions = {
sharedStrings: 'cache',
 hyperlinks: 'cache',
 worksheets: 'emit',
 styles: 'cache',
};
const writerOptions = {
 filename: fpath,
 useStyles: true,
 useSharedStrings: true
}
const workbook = new ExcelJS.stream.xlsx.WorkbookWriter(writerOptions)
const myworksheet = workbook.addWorksheet('Sheet 1');
const workbookReader = new ExcelJS.stream.xlsx.WorkbookReader(sheet.path, readerOptions);
workbookReader.read();
workbookReader.on('worksheet', worksheet => {
 worksheet.on('row', row => {
  const r = myworksheet.addRow();
  Object.assign(r, row);
 });
});

workbookReader.on('end', async () => {
 await workbook.commit();
});

Please find the below images for your reference. first image is actual_result.png and second image is expected_result.png

Any help on how to fix this will be really great, Thanks.

@Siemienik tagging for help.

HI,
Just an update from my side. I have tried with the below code but i still do not seem to get the rows with merged cells to copy correctly
const readerOptions = {
  sharedStrings: 'cache',
  hyperlinks: 'cache',
  worksheets: 'emit',
  styles: 'cache',
};
const writerOptions = {
 filename: fpath,
 useStyles: true,
 useSharedStrings: true
}
const workbook = new ExcelJS.stream.xlsx.WorkbookWriter(writerOptions)
  const workbookReader = new ExcelJS.stream.xlsx.WorkbookReader(sheet.path, readerOptions);
  const myworksheet = workbook.addWorksheet('Sheet 23');
  for await (const worksheetReader of workbookReader) {
    for await (const row of worksheetReader) {
      const r = myworksheet.addRow();
      Object.assign(r, row);
    }
  }
await workbook.commit();

Hi, any help on how to fix this will be really great. running out of ideas as to how to fix this.
I am ready to work on a PR as well can someone please point me in the correct direction?
Thanks.

@alubbe tagging for help

If i try to merge cells by hardcoding, i get the error Cannot merge already merged cells. But the cells in the excel do not appear to be merged
Error: Cannot merge already merged cells
    at /node_modules/exceljs/lib/stream/xlsx/worksheet-writer.js:438:15
    at Array.forEach (<anonymous>)
    at WorksheetWriter.mergeCells (/node_modules/exceljs/lib/stream/xlsx/worksheet-writer.js:436:18)
    at WorksheetReader.<anonymous> (/lib/excel/transformer.js:55:27)
    at WorksheetReader.emit (events.js:310:20)
    at WorksheetReader.EventEmitter.emit (domain.js:482:12)
    at WorksheetReader.read (/node_modules/exceljs/lib/stream/xlsx/worksheet-reader.js:96:16)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async WorkbookReader.read (/node_modules/exceljs/lib/stream/xlsx/workbook-reader.js:57:13)

Probably I can't help you because of the lack of time to investigate it deeply. However my will you try to use non-stream API?

hi @Siemienik thanks for your reply. Actually, excel files in some case might be large that's the reason i need to use streams.
I have found a workaround, i am checking if the row has merged cells and then merge it again after adding rows.  The way i am checking if rows contain merged cells is as follows.
if((newRow.actualCellCount !== newRow.cellCount) && (newRow.actualCellCount == 1)) {

Do you think the above way makes sense or may be there might be a better way to detect if rows has merged cells.
Full relevant code to copy excel is as follows.
        const workbook = new ExcelJS.stream.xlsx.WorkbookWriter(writerOptions);
        const workbookReader = new ExcelJS.stream.xlsx.WorkbookReader(sheet.path, readerOptions);
        const myworksheet = workbook.addWorksheet('Sheet 1');
        workbookReader.read();
        workbookReader.on('worksheet', worksheet => {
          worksheet.on('row', row => {
            const newRow = myworksheet.addRow();
            Object.assign(newRow, row);
            if((newRow.actualCellCount !== newRow.cellCount) && (newRow.actualCellCount == 1)) {
              let cellLength = newRow.model.cells.length;
              myworksheet.mergeCells(`${newRow.model.cells[0].address}:${newRow.model.cells[cellLength - 1].address}`)
            }
          });
        });

Do let me know if this makes sense or may be better way to achieve this, for now this works for me.
Thanks.

Probably, your problem follows from that, when on('worksheet',...) is called, then not all rows are read. That means. the worksheet object hasn't full knowledge about its model.
I'm happy that your code works :+1:

Hi! Could this be related to #292? My use-case is duplicating rows: currently duplicating a row with merged cells results into a row with all cells unmerged. I've came up with a workaround (it assumes that row you're duplicating only contains merged cells within itself, i.e no cell in this row is merged with other rows):
const duplicateRowWithMergedCells = (sheet: any, row: number, count: number) => {
  sheet.duplicateRow(row, count, true);

  const merges: string[] = sheet.model.merges;
  // Find all merges inside initial row
  const rowMerges = merges.filter(range => range.match(`\\w+${row}:\\w+${row}`));

  _.times(count, index => {
    const newRow = row + index + 1;

    // Unmerge everything in a newRow so we dont run into conflicts
    merges
      .filter(range => range.match(`\\w+${newRow}:\\w+${newRow}`))
      .forEach(range => sheet.unMergeCells(range));

    // Merge the same cells as in the initial row
    rowMerges
      .map(range => range.replace(new RegExp(`${row}`, 'g'), `${newRow}`))
      .forEach(range => sheet.mergeCells(range));
  });
};

Do you think the above way makes sense or may be there might be a better way to detect if rows has merged cells.

@aksharj note how I unmerge rows before manually transferring new merges. I think this answers you question.
I did not dive deep into the library, but my understanding of this part of the bug is: when duplicating a row with insert = true (and maybe in other scenarios) it does not remove old merges from cells which were previously on the positions where are you inserting. Therefore you can run into conflicts sometimes.

Hello ExcelJS community,
I wanted to share a solution I implemented to handle the challenge of inserting rows in Excel files with merged cells. As many of you might know, managing merged cells during row insertions can be tricky, and I didn't find a built-in method in ExcelJS that handles this seamlessly.
Overview of the Solution:

Unmerge Cells: Initially, all merged cells are unmerged to simplify the insertion process.
Track Indices: The system keeps track of the indices of the originally merged cells to remember their initial state.
Handle Insertions/Deletions: When adding or removing rows, the indices are adjusted accordingly to maintain data consistency.
Duplicating Rows with Merged Cells: To duplicate a row with merged cells, simply insert a new row and transpose in the system the merges from the row to be duplicated to the new row.
Re-merge Cells: After the modifications are complete, cells are re-merged based on their original state using the tracked indices.

While I can't share the enterprise-specific code, I hope this high-level overview provides some guidance or inspiration for those facing a similar challenge. If anyone has further questions or would like more details on the logic, I'd be happy to discuss !
To accès the merges in TypeScript was something like :
const merges = ((sheet.model) as any).merges;
Best regards, Maxime Gaber.

I've addressed the bug topic in this comment: link.

Hello,
I faced this issue as well, I also wanted to add rows and keep the merging model at the same time.
Adding a new row also breaks the merging model of the rows underneath.
So, I ended up not using merged cells, rather centering data horizontally on multiple cells: https://kb.wisc.edu/helpdesk/page.php?id=119089

I opted to update the merge model in the worksheet which seems to do the trick for me.
In my case, my xlsx template contained merged cells underneath a table whose rows were due to be duplicated, but where these merged cells are is not known ahead of time.
The approach is to loop through the private worksheet._merges object and add (or subtract) the same number of rows to the range as the number of rows inserted above.
function moveMergesModel(
  worksheet: ExcelJS.Worksheet,
  afterRow: number,
  numRows: number,
) {
  // @ts-ignore - _merges is a private property
  const merges = worksheet._merges as { [cell: string]: ExcelJS.Range };
  // @ts-ignore - _merges is a private property
  worksheet._merges = Object.fromEntries(
    // Loop through each of the ranges in the merges map
    Object.entries(merges).map(([cell, range]) => {
      // If the range is below the target row, return it as is
      if (range.top <= afterRow) {
        return [cell, range];
      }
      // Otherwise, move the precached merge range down by numRows
      // This also works for negative numbers if rows were deleted
      range.top += numRows;
      range.bottom += numRows;
      // Update the name of the map entry to the new top-left cell name
      const newTopLeftCell = worksheet.getCell(range.top, range.left).address;
      return [newTopLeftCell, range];
    }),
  );
}

// Example usage
const workbook = new ExcelJS.Workbook();
const worksheet = workbook.getWorksheet(1);
const rowToDuplicate = 5;
const rowsToAdd = 10;
worksheet.duplicateRow(rowToDuplicate, rowsToAdd, true);
moveMergesModel(worksheet, rowToDuplicate, rowsToAdd);

@Siemienik @mikez perhaps this strategy can be used in spliceRows in https://github.com/exceljs/exceljs/blob/5bed18b45e824f409b08456b59b87430ded023ab/lib/doc/worksheet.js#L486 ?


lr

Hello, what is the initial value of the learning rate set for fine tuning?

Hi, the initial learning rate is set to 0.1 for fine tuning.


image-pre-processor: support adding noise to depth images

Either via externally generated noise images or via builtin noise generators there needs to be more control over the noise applied to depth image.
Currently we simply apply white noise with with a hardcoded amplitude which seemed reasonable when we were mimicking the Tango Zenfone AR camera data, but e.g. if we look at the noise for iPhone X TrueDepth cameras it looks like we should apply some form of perlin noise to mimic the wobbly/wavey nature of the noise we see, maybe with a very low amplitude white noise combined too.

This was fixed a long time ago, probably in https://github.com/glimpse-project/glimpse/commit/54e03848fd33b2c3bfe1f27839f6e8f53edb348c