Grammatical error in "Waypoint: Specify How Fonts Should Degrade"

Challenge http://www.freecodecamp.com/challenges/waypoint-specify-how-fonts-should-degrade has an issue.
In the third paragraph from the top, it says "For example, if you wanted an element to use the "Helvetica" font, but also degrade to the "Sans-Serif" font when "Helvetica" wasn't available, you could do use this CSS style: p { font-family: Helvetica, Sans-Serif; }."
"you could DO use this..." - is the error.
You can omit "DO" from this sentence.

Thanks for catching this. I've fixed it!

So I visited the page again, and the "do" is still there. Just a heads up.

It may have not been pushed up to production yet but it will get there eventually.

I see, thanks.


runtime: gdb stepping behavior when debugging Go program on ppc64le changed when split-stack prologue marked non-preemptible

What version of Go are you using (go version)?

$ go version
go1.14rc1

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
linux/ppc64le

What did you do?
Tried to debug Go program on ppc64le using gdb by breaking at a function's address then stepping through the first several instructions.

What did you expect to see?
Normal gdb behavior, gdb prompt returning within a reasonable amount of time (usually immediately) when stepping through code at the beginning of a function. This type of stepping works normally for programs compiled with Go 1.13.
I found that this behavior started with b2482e4, so with that knowledge I now know that if I break after the split-stack prologue code the hanging/delay doesn't happen and only happens with functions that have split-stack prologue.
What did you see instead?
Break at the beginning of a function that has a split-stack prolog using its address. After typing 'ni' to go to the next instruction, gdb hangs and the prompt can take a long time and sometimes does not return (or I didn't wait long enough).

/cc @aclements @randall77 per owners.

So if I set GODEBUG=asyncpreemptoff=1 then the problem doesn't happen. I'm not entirely sure that it only happens at the beginning of a function.

I don't see how this could be related specifically to marking the split-stack prologue non-preemptible (/cc @cherrymui), but I could see asynchronous preemption affecting this.
My hunch is that this is just an extension of a problem we've had for a long time. If you try to step over a split stack prologue and it actually grows the stack, GDB gets very confused because the SP changes dramatically, but GDB assumes the SP is a stable indication of what frame you're in. Though I'm not quite sure why asynchronous preemption would make that worse because that won't actually grow the stack (it can't). It may be that the preemption gets injected and switches to a different goroutine and the dramatic SP change of the goroutine switch confuses GDB. It wouldn't surprise me if GDB sees the SP increase dramatically from the goroutine switch and assumes you've exited the frame you were trying to next in, and it just gives up on nexting.

Here is what I just tried, using math.test built from the math package. I set a break at the start of the sin function.
Thread 1 "math.test" hit Breakpoint 1, math.asin (~r1=<optimized out>, x=0.77388724745781046) at /home/boger/golang/base/go/src/math/asin.go:21
21	func asin(x float64) float64 {
(gdb) ni
0x000000000008e324	21	func asin(x float64) float64 {
(gdb) ni
0x000000000008e328	21	func asin(x float64) float64 {
(gdb) ni  <---- hung here for a long time. top shows 100% in gdb
^C
Thread 2 "math.test" received signal SIGINT, Interrupt.
[Switching to LWP 92085]
0x00000000000741f0 in runtime.usleep () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:134
134		SYSCALL	$SYS_nanosleep
(gdb) x/i 0x8e328
   0x8e328 <math.asin+8>:	blt     0x8e338 <math.asin+24>
(gdb) bt
#0  0x00000000000741f0 in runtime.usleep () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:134
#1  0x0000000000050240 in runtime.sysmon () at /home/boger/golang/base/go/src/runtime/proc.go:4468
#2  0x0000000000047af4 in runtime.mstart1 () at /home/boger/golang/base/go/src/runtime/proc.go:1098
#3  0x0000000000047a00 in runtime.mstart () at /home/boger/golang/base/go/src/runtime/proc.go:1063
#4  0x00000000000747ec in runtime.clone () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:566

If I set GODEBUG=asyncpreemptoff=1 this doesn't happen.  If I break at a later spot, the ni doesn't hang either, at least in this case. The last instruction it tried was the blt. I don't think it is related to morestack because it will happen on any function, and I don't think it is called that often. I don't think this is a problem that has been around for a long time, I use gdb on programs built by Golang all the time and have never seen this before.

My guess is that when one thread is stopped in the prologue, which is non-preemptible, other threads may keep sending signals to try to preempt it. Maybe the signals keep gdb busy? Maybe try info threads to see what other threads are doing, whether they are sending signals. Maybe try set scheduler-locking on to block other threads from running when single stepping?

I was not familiar with set scheduler-locking but that does seem to fix it. In any case, when it hangs, here is the output from the active threads and their backtraces. I don't see anything that would be sending signals.
I also tried this same experiment with Go 1.13 and if I stop at the same location, the threads and their stacks look the same.
21	func asin(x float64) float64 {
(gdb) ni
0x000000000008e324	21	func asin(x float64) float64 {
(gdb) x/20ni $pc
=> 0x8e324 <math.asin+4>:	cmpld   r3,r1
   0x8e328 <math.asin+8>:	blt     0x8e338 <math.asin+24>
   0x8e32c <math.asin+12>:	mflr    r5
   0x8e330 <math.asin+16>:	bl      0x71310 <runtime.morestack_noctxt>
   0x8e334 <math.asin+20>:	b       0x8e320 <math.asin>
   0x8e338 <math.asin+24>:	mflr    r31
   0x8e33c <math.asin+28>:	stdu    r31,-48(r1)
   0x8e340 <math.asin+32>:	lfd     f1,80(r1)
   0x8e344 <math.asin+36>:	xxlxor  vs2,vs2,vs2
   0x8e348 <math.asin+40>:	fcmpu   cr0,f1,f2
   0x8e34c <math.asin+44>:	beq     0x8e40c <math.asin+236>
   0x8e350 <math.asin+48>:	bge     0x8e404 <math.asin+228>
   0x8e354 <math.asin+52>:	fneg    f3,f1
   0x8e358 <math.asin+56>:	lis     r31,26
   0x8e35c <math.asin+60>:	lfd     f4,25976(r31)
   0x8e360 <math.asin+64>:	fcmpu   cr0,f3,f4
   0x8e364 <math.asin+68>:	bgt     0x8e3e8 <math.asin+200>
   0x8e368 <math.asin+72>:	fmul    f5,f3,f3
   0x8e36c <math.asin+76>:	fsub    f4,f4,f5
   0x8e370 <math.asin+80>:	fsqrt   f4,f4
(gdb) info reg $r3
r3             0xc00003cb80<PHONE_NUMBER>36
(gdb) info reg $r1
r1             0xc00003ce60<PHONE_NUMBER>72
(gdb) ni
^C
Thread 2 "math.test" received signal SIGINT, Interrupt.
[Switching to LWP 103396]
0x00000000000741f0 in runtime.usleep () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:134
134		SYSCALL	$SYS_nanosleep
(gdb) info thread
  Id   Target Id         Frame
  1    LWP 103393 "math.test" 0x000000000008e324 in math.asin (~r1=<optimized out>, x=0.49790119248836734)
    at /home/boger/golang/base/go/src/math/asin.go:21
* 2    LWP 103396 "math.test" 0x00000000000741f0 in runtime.usleep () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:134
  3    LWP 103397 "math.test" 0x0000000000074730 in runtime.futex () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:501
  4    LWP 103398 "math.test" 0x0000000000074730 in runtime.futex () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:501
  5    LWP 103399 "math.test" 0x0000000000074730 in runtime.futex () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:501
(gdb) bt
#0  0x00000000000741f0 in runtime.usleep () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:134
#1  0x0000000000050240 in runtime.sysmon () at /home/boger/golang/base/go/src/runtime/proc.go:4468
#2  0x0000000000047af4 in runtime.mstart1 () at /home/boger/golang/base/go/src/runtime/proc.go:1098
#3  0x0000000000047a00 in runtime.mstart () at /home/boger/golang/base/go/src/runtime/proc.go:1063
#4  0x00000000000747ec in runtime.clone () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:566
(gdb) thread 3
[Switching to thread 3 (LWP 103397)]
#0  0x0000000000074730 in runtime.futex () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:501
501		SYSCALL	$SYS_futex
(gdb) bt
#0  0x0000000000074730 in runtime.futex () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:501
#1  0x000000000003f26c in runtime.futexsleep (addr=0xc0000444c8, val=0, ns=-1) at /home/boger/golang/base/go/src/runtime/os_linux.go:44
#2  0x000000000001a618 in runtime.notesleep (n=0xc0000444c8) at /home/boger/golang/base/go/src/runtime/lock_futex.go:151
#3  0x0000000000049158 in runtime.stopm () at /home/boger/golang/base/go/src/runtime/proc.go:1829
#4  0x000000000004a930 in runtime.findrunnable (gp=<optimized out>, inheritTime=<optimized out>)
    at /home/boger/golang/base/go/src/runtime/proc.go:2361
#5  0x000000000004b6e0 in runtime.schedule () at /home/boger/golang/base/go/src/runtime/proc.go:2521
#6  0x000000000004bc88 in runtime.park_m (gp=0xc000000c00) at /home/boger/golang/base/go/src/runtime/proc.go:2691
#7  0x0000000000071178 in runtime.mcall () at /home/boger/golang/base/go/src/runtime/asm_ppc64x.s:202
#8  0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) thread 4
[Switching to thread 4 (LWP 103398)]
#0  0x0000000000074730 in runtime.futex () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:501
501		SYSCALL	$SYS_futex
(gdb) bt
#0  0x0000000000074730 in runtime.futex () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:501
#1  0x000000000003f26c in runtime.futexsleep (addr=0xc000080148, val=0, ns=-1) at /home/boger/golang/base/go/src/runtime/os_linux.go:44
#2  0x000000000001a618 in runtime.notesleep (n=0xc000080148) at /home/boger/golang/base/go/src/runtime/lock_futex.go:151
#3  0x0000000000049158 in runtime.stopm () at /home/boger/golang/base/go/src/runtime/proc.go:1829
#4  0x000000000004a930 in runtime.findrunnable (gp=<optimized out>, inheritTime=<optimized out>)
    at /home/boger/golang/base/go/src/runtime/proc.go:2361
#5  0x000000000004b6e0 in runtime.schedule () at /home/boger/golang/base/go/src/runtime/proc.go:2521
#6  0x000000000004bc88 in runtime.park_m (gp=0xc000000a80) at /home/boger/golang/base/go/src/runtime/proc.go:2691
#7  0x0000000000071178 in runtime.mcall () at /home/boger/golang/base/go/src/runtime/asm_ppc64x.s:202
#8  0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) thread 5 bt
[Switching to thread 5 (LWP 103399)]
#0  0x0000000000074730 in runtime.futex () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:501
501		SYSCALL	$SYS_futex
(gdb) bt
#0  0x0000000000074730 in runtime.futex () at /home/boger/golang/base/go/src/runtime/sys_linux_ppc64x.s:501
#1  0x000000000003f26c in runtime.futexsleep (addr=0xc000044848, val=0, ns=-1) at /home/boger/golang/base/go/src/runtime/os_linux.go:44
#2  0x000000000001a618 in runtime.notesleep (n=0xc000044848) at /home/boger/golang/base/go/src/runtime/lock_futex.go:151
#3  0x0000000000049158 in runtime.stopm () at /home/boger/golang/base/go/src/runtime/proc.go:1829
#4  0x000000000004a930 in runtime.findrunnable (gp=<optimized out>, inheritTime=<optimized out>)
    at /home/boger/golang/base/go/src/runtime/proc.go:2361
#5  0x000000000004b6e0 in runtime.schedule () at /home/boger/golang/base/go/src/runtime/proc.go:2521
#6  0x000000000004bc88 in runtime.park_m (gp=0xc000114000) at /home/boger/golang/base/go/src/runtime/proc.go:2691
#7  0x0000000000071178 in runtime.mcall () at /home/boger/golang/base/go/src/runtime/asm_ppc64x.s:202
#8  0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thanks, @laboger . Okay, it seems other threads are not actively sending signals (which is expected), even not actively running. So maybe it is gdb itself stuck? I guess the next step is to see what gdb does at this point. Maybe run gdb inside gdb to find out?
Also, does this happen with other non-preemptible places? For example, if you single step in runtime.memmove or any assembly function (but not the prologue), is it stuck?

Normally, when single stepping in one thread, other threads are still running. set scheduler-locking on will let gdb suspend other threads.

Today was kind of strange, I found some systems where I didn't hit the error when at one time I thought it happened all the time. I am fairly sure in Go code it only happens within the code that checks the stack and calls morestack and that I can still reproduce on some systems. I thought I was hitting this a lot while debugging an asm function called update in poly1305 which now I see does not have the morestack sequence but today I can't reproduce it. I kind of got into the habit of setting the asyncpremptoff=1 while debugging because it was so annoying so I didn't really keep track of when and where it happened and didn't happen. I can't really make it happen today in other asm files.
I don't know what's different, although I do see some gdb's have the scheduler-locking default set to replay while some have it set to step. I can't find the documentation that tells what those two values mean so not sure if it makes a difference.
If this only affects Power I don't really expect a fix. Probably no one else does this type of debugging except me. (When you set a break at a symbol it sets it after the morestack sequence). I don't know if there is documentation for using gdb with Go but maybe could be mentioned there how to work around this problem.

(gdb) help set scheduler-locking
Set mode for locking scheduler during execution.
off    == no locking (threads may preempt at any time)
on     == full locking (no thread except the current thread may run)
          This applies to both normal execution and replay mode.
step   == scheduler locked during stepping commands (step, next, stepi, nexti).
          In this mode, other threads may run during other commands.
          This applies to both normal execution and replay mode.
replay == scheduler locked in replay mode and unlocked during normal execution.

So, if it is set to step, other threads will be suspended while single stepping. If it is set to replay, other threads can still run.
I tried to reproduce on linux/amd64 with math.test but couldn't.
Do the systems you run have the same version of GDB?
Does it only happen if it actually calls morestack, or it can happen no matter whether it actually grows the stack?

OK, the scheduler-locking values make sense. On the system where the default is step, it does not hang, but all other systems default to replay and on those it hangs.
There are different versions of gdb on the systems I tried.
works: GNU gdb (GDB) Red Hat Enterprise Linux 8.2-6.el8_0; defaults to step
doesn't work: GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1; default to replay
doesn't work: GNU gdb (Debian 8.2.1-2+b3) 8.2.1; defaults to replay
doesn't work: GNU gdb (Ubuntu 8.1-0ubuntu3) <IP_ADDRESS>80409-git: defaults to replay
Once it gets into this code sequence the delays when stepping happen pretty consistently.  I don't think it is related to the morestack call, because the delay in stepping starts before it gets to the call to morestack, either on the first cmp or the blt.
I also tried breaking at the call to math/big.mulAddVWW which is asm without the morestack sequence and I do see some step delays in the code as well on the systems with replay as the default.
As mentioned above, once scheduler-locking is set to step or off then the delays are gone.

I have not seen this behavior in a while so I am closing it.


ValueError: More than 4094 XFs (styles) # when writing to xls

Hi,
Thanks for the excellent library.
I'm getiing this error,
ValueError: More than 4094 XFs (styles)
when writing to xls.
Full trace:
  File "D:\Tools\Python34\lib\site-packages\pyexcel-0.1.8-py3.4.egg\pyexcel\sheets\sheet.py", line 39, in save_as
    return self.save_to(source)
  File "D:\Tools\Python34\lib\site-packages\pyexcel-0.1.8-py3.4.egg\pyexcel\sheets\sheet.py", line 33, in save_to
    source.write_data(self)
  File "D:\Tools\Python34\lib\site-packages\pyexcel-0.1.8-py3.4.egg\pyexcel\sources\file.py", line 49, in write_data
    raw_sheet.write_array(data_table)
  File "D:\Tools\Python34\lib\site-packages\pyexcel_io\base.py", line 227, in write_array
    self.write_row(r)
  File "D:\Tools\Python34\lib\site-packages\pyexcel_xls\__init__.py", line 189, in write_row
    self.native_sheet.write(self.current_row, i, value, style)
  File "D:\Tools\Python34\lib\site-packages\xlwt\Worksheet.py", line 1033, in write
    self.row(r).write(c, label, style)
  File "D:\Tools\Python34\lib\site-packages\xlwt\Row.py", line 240, in write
    style_index = self.__parent_wb.add_style(style)
  File "D:\Tools\Python34\lib\site-packages\xlwt\Workbook.py", line 323, in add_style
    return self.__styles.add(style)
  File "D:\Tools\Python34\lib\site-packages\xlwt\Style.py", line 94, in add
    return self._add_style(style)[1]
  File "D:\Tools\Python34\lib\site-packages\xlwt\Style.py", line 153, in _add_style
    raise ValueError("More than 4094 XFs (styles)")
ValueError: More than 4094 XFs (styles)

Seems to be the same issue as noted here,
http://stackoverflow.com/questions/17130516/xlwt-set-style-making-error-more-than-4094-xfs-styles
The problem is in the method XLSheetWriter.write_row in __init__.py under pyexcel_xls,
a style instance is repeatedly created in a loop,
style = XFStyle()
taking it out of the loop fixes the problem,
class XLSheetWriter(SheetWriter):
    """
    xls, xlsx and xlsm sheet writer
    """
    def set_sheet_name(self, name):
        """Create a sheet
        """
        self.native_sheet = self.native_book.add_sheet(name)
        self.current_row = 0

    def write_row(self, array):
        """
        write a row into the file
        """
        style = XFStyle()  # create only one instance
        for i in range(0, len(array)):
            value = array[i]
            style_assigned = False
            tmp_array = []
            if isinstance(value, datetime.datetime):
                tmp_array = [
                    value.year, value.month, value.day,
                    value.hour, value.minute, value.second
                ]
                value = xlrd.xldate.xldate_from_datetime_tuple(tmp_array, 0)
                style.num_format_str = DEFAULT_DATETIME_FORMAT
                style_assigned = True
            elif isinstance(value, datetime.date):
                tmp_array = [value.year, value.month, value.day]
                value = xlrd.xldate.xldate_from_date_tuple(tmp_array, 0)
                style.num_format_str = DEFAULT_DATE_FORMAT
                style_assigned = True
            elif isinstance(value, datetime.time):
                tmp_array = [value.hour, value.minute, value.second]
                value = xlrd.xldate.xldate_from_time_tuple(tmp_array)
                style.num_format_str = DEFAULT_TIME_FORMAT
                style_assigned = True

            if style_assigned:
                self.native_sheet.write(self.current_row, i, value, style)
            else:
                self.native_sheet.write(self.current_row, i, value)
        self.current_row += 1

with regards,
Rafael.

I will look at this issue when free

please evaluate the fix by using the following installation method:
pip install https://github.com/chfw/pyexcel-xls/archive/master.zip

Hope you will find it satisfactory.

Excellent!
Thanks for your efforts.
Greatly appreciated.

My pleasure. It is OK to publish it to pypi, isn't it? master branch works for you?

Yes. It is working well.

published


Clarify persistence requirements for "election_id_past" in section 5.3

The spec is a little vague:

Let election_id_past be the highest election ID the server has ever seen for the given device_id and role_id (including the one of the current primary if there is one).

For correctness, election_id_past should probably be persistent across reboots. This may be particularly important in cases of non-stop forwarding or warm reboot. However, we might be able to relax the constraint in cold reboot cases or other scenarios where forwarding is disrupted.
We should clarify the requirement and include some guidelines in the spec.
cc: @pudelkoM @kuujo

Don't we already have text to clarify that?

This invariant must be maintained across in-service software upgrades, and the P4Runtime server must remember the highest election_id after such a restart. However, across a full restart, the election_id must be reset. In fact, a full restart is the only way to reset the election_id.

Don't we already have text to clarify that?

This invariant must be maintained across in-service software upgrades, and the P4Runtime server must remember the highest election_id after such a restart. However, across a full restart, the election_id must be reset. In fact, a full restart is the only way to reset the election_id.

@stefanheule Ah, thanks! I remembered some discussion, but didn't look for it in the right place.

@stefanheule Ah, thanks! I remembered some discussion, but didn't look for it in the right place.


Training code

Hi, when do you open source the training code?

Thanks for your patience. The training codes will be released in the following one month.


Disable deprecated filters by default

Description

Remove logic for disabling deprecated filters via global override
Update logic to ensure deprecated filters are disabled by default

Motivation and Context
As described in #134, this change is part of a strategy to move event filtering out of this library and into Sensu Core.
How Has This Been Tested?
Updated unit tests to test the new desired behavior.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have updated the Changelog following the conventions laid out on Keep A Changelog

Known Caveats
Requires a major version bump in order to follow SemVer.


select expand(out().out()) get two same vertex?

I have a test graph below
a_1 ---[e_a_b]---> b_1
a_1 ---[e_a_b]---> b_2
b_1 ---[e_b_c]---> c_1
b_2 ---[e_b_c]---> c_1
execute sql
select expand(out("e_a_b").out("e_b_c")) from v_a

return two same vertex(two c_1), it's a BUG? or I used in a wrong way?
How can I get one single c_1 after select expand(out("e_a_b").out("e_b_c")) from v_aon my test data?
My purpose is to count friends of friends and sort by the result
How can I get this.
I know traverse out("e_a_b", "e_b_c") from (select from v_a where name = "a_1") ,but this only get one of the v_a(the a_1), I need a page of v_a and the count of relation's relation
My English is not very well, thanks reading.
data scripts
create class v_a extends v clusters 1;
create vertex v_a content {"name": "a_1"};
create class v_b extends v clusters 1;
create vertex v_b content {"name": "b_1"};
create vertex v_b content {"name": "b_2"};
create class v_c extends v clusters 1;
create vertex v_c content {"name": "c_1"};
create class e_a_b extends e clusters 1;
create edge e_a_b from (select from v_a) to (select from v_b);
create class e_b_c extends e clusters 1;
create edge e_b_c from (select from v_b) to (select from v_c);

OrientDB Version: 2.2.24
Java Version: 1.8.0_102
OS:   centos 6.8
Expected behavior
select out().out() from v_areturn one vertex
Actual behavior
return two same vertex

select name, set(out("e_a_b").out("e_b_c")).size() from v_a
I… find the answer?
The problem is always solved after the problem is raised - -b
any better way?
the stackoverflow
https://stackoverflow.com/questions/45550381/orientdb-select-out-out-return-two-same-vertex/45550641#45550641

Hi @lightjiao
Yes, it's expected, you can also use .asSet(), but there is no particular advantage compared to your solution
Thanks
Luigi

@luigidellaquila Thank you ^_^


Fix time zone issue in Velocity952TestCase

Fix issue where testEnd2End fails when run outside of the GMT+1 time zone.

Need to check this.

I cannot reproduce, please describe and show.

The easiest way to reproduce the issue is to run the test on a machine that is not in the GMT+1 time zone (Central European Time).
For example if I run the test in Seattle, it fails with the following error: Velocity952TestCase.testEnd2End:93->BaseTestCase.assertEvalEquals:207->BaseTestCase.assertEvalEquals:216 expected:<[36]00000> but was:<[-288]00000>.
Alternatively, you can simulate running the test in another time zone by adding the following to the velocity-engine-core pom.xml file, under /project/build/plugins/plugin[6]/configuration/systemProperties:
<property>
    <name>user.timezone</name>
    <value>America/Los_Angeles</value>
</property>

That will reproduce the issue.
The root cause is: the java.util.TimeZone.getDefault(..) method returns the default time zone of the JVM. See https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/TimeZone.html#getDefault(). The value depends on where the machine running the tests is located.

Verified on
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /usr/local/share/java/apache-maven-3.8
Java version: 1.8.0_422, vendor: OpenJDK BSD Porting Team, runtime: /usr/local/openjdk8/jre
Default locale: de_DE, platform encoding: UTF-8
OS name: "freebsd", version: "13.4-stable", arch: "amd64", family: "unix"

with TZ=America/Los_Angeles mvn clean verify


Add "Show source" link on documentation pages

For the documentation of the latest version, a "show source" link is an easy way to tell users where the source of the documentation lives, and also to encourage contributions. Should be easy enough to add to https://github.com/duckdb/duckdb-web/blob/master/_layouts/docu.html .
Examples: See the "Source" link at the top of https://dplyr.tidyverse.org/reference/arrange.html or https://dplyr.tidyverse.org/articles/grouping.html .

Love this idea! Let's get more folks involved.

Thanks. I took a look at the layout, a good place would be next to the "version" selector? I don't feel comfortable tinkering with the layout, the Jekyll code could be something like:
Source: {{ basename }}

I'd be happy with that location? We can definitely see how it looks and tweak it later if desired

Sure! Maybe "Docs Source" for the link text? DWe don't want to confuse folks that may be looking for the DuckDB core source.

If someone gets to this at some point, an option is also adding just a grey pencil symbol (SVG?), that on clicks redirects to the GitHub page (plus on hover ideally becomes more visible / has explanation like "Improve this page...")

Fixed in https://github.com/duckdb/duckdb-web/pull/1093


[Bug] fetchTimeout does not handle network latency

Current Behavior
If I specify fetchTimeout in the init method, the timeout only comes into effect when the request fails. If the request is simply slow, due to network latency, the timeout doesn't trigger.
Expected Behavior
The timeout should be triggered when the fetch request is slow.
Steps to Reproduce

Initialize Transifex Native using a fetchTimeout.
Simulate network latency through a proxy or other developer tools. The latency must be longer than the configured timeout.
Observe that translation-fetching continues past the timeout.

Possible Solution
Add a timeout to the axios.Get call.
Possible Implementation
I would use an Axios AbortController with a timeout based on fetchTimeout, as documented on this page: https://axios-http.com/docs/cancellation

This is handled as part of this PR: https://github.com/transifex/transifex-javascript/pull/204

Fix has been released on<EMAIL_ADDRESS>


Elastic Search SQL update

For some context… This article was written some time ago and needed an update. The original was not written by me, so I've updated our feature list and re-written slightly, I'd appreciate opinions on if the content is still accurate and makes sense.
Bear in mind that this article is a search entry point to our website, so I've tried to make sure people can get an idea of who we are and what we do, when they likely have no idea.

looks good for me...


Multiple device lightning is not working as expected

This is my settings.json.
For example when I select this:

Mobo, gpu, mousemat, mouse everything becomes yellow. It is acting like lightning but it is just static color. And lightning layers carry over those devices:

I can give different colors on OpenRGB.

The problem is that:
https://github.com/expired6978/CUEORGBPlugin/blob/9af7f27e132360b99272d5ffe9cc9b22aaea8a02/CUESDKDevice.h#L185
On this line DeviceType's are wrong.
enum class DeviceType : std::uint32_t { 	CDT_Unknown = 0, 	CDT_Mouse = 1, 	CDT_Keyboard = 2, 	CDT_Headset = 3, 	CDT_MouseMat = 4, 	CDT_HeadsetStand = 5, 	CDT_CommanderPro = 6, 	CDT_LightingNodePro = 7, 	CDT_MemoryModule = 8, 	CDT_Cooler = 9, 	CDT_Motherboard = 10, 	CDT_GraphicsCard = 11 };
This should be the enum here.
And when you check here,
https://github.com/expired6978/CUEORGBPlugin/blob/9af7f27e132360b99272d5ffe9cc9b22aaea8a02/CorsairPluginDevice.cpp#L40
This is actually not keyboard but Mouse. Since 1 corresponds to Mouse in the correct enum.
The issue is that when you set every device as Keyboard, on multiple devices it acts as a single one.
I tried using different deviceTypes.
I can use these without a problem,
CDT_Mouse
CDT_MouseMat
CDT_Headset
But the other ones, I can not set any lights for example CDT_GraphicsCard, it won't work in the icue. Maybe these needs different creating method?

Example to use 3 devices corrrectly:


Line breaks and other markdown support

Hi,
More of a question. I've been trialing use of this widget and I can get limited markdown to work (e.g. lists). However I'm not able to trigger line breaks or horizontal rules using markdown.
Is this something that is configurable or have I missed a beat here?
Thanks

Hi @byrne-greg ! Thanks for the heads up, that was a problem with the package we  were using to render markdown and it was limited for those cases. We already changed it and it will be in the next version :smile:

Hi @mcallegari10, do you have an example of this?
How can I use this markdown when I call addResponseMessage()
Tks

In case someone else wants to print line breaks in the response message: the only one that seems to work is   \n (double space \n). <br/> is escaped and \n is ignored.

any update on this ?

I just found that I can use 2 \n to print line breaks , i.e., \n\n


Permission issue with LibreChat Deployment

Hello,
I'm running into a permission issue when deploying LibreChat under Harbor. I get the following error when starting the container:
><EMAIL_ADDRESS>backend
> cross-env NODE_ENV=production node api/server/index.js

2024-09-17 11:37:21 info: [Optional] Redis not initialized. Note: Redis support is experimental.
2024-09-17 11:37:23 error: There was an uncaught error: EACCES: permission denied, open '/app/api/logs/meiliSync-2024-09-17.log'

Then the container stops and exits.
I tried reverting to an older image version than the latest one but I still get the same error.
I also tried setting the variables PUID and PGID to 1000.
None of this worked.
Deploying with the docker-compose file from the original LibreChat repository does not have this issue.

Sorry, you were so quick I didn't manage to provide the feedback in time!
FS permissions are a classic issue when mounting host volumes with docker. So, there's a built-in (underdocumented, though) util to fix:
harbor fixfs

It'll prompt you for the user password and will run as root, updating the permissions on folders of most of the services


[WIP] Decimal support in Signature binder

A FunctionSignature for an operation is composed of TypeSignatures and TypeVariableConstraints.
Today there is no support to define data types that accept variables or literals as parameters while defining a TypeSignature.
For instance: Decimal(a,b), here a and b are placeholders for long numbers or Decimal(10,5), where 10 and 5 are literals is not supported. We do have support for TypeSignatures like "ARRAY(T)", where T can be a named type.
This PR adds the support to list literals and variables in TypeSignature.
It also adds the capability to define constraints that are function callbacks. For instance, an ADD operation would accept 2 parameters and the return type is constrained by the input parameters' precision and scale.
DECIMAL(r_precisoin, r_scale) ADD (DECIMAL(a_precision, a_scale), DECIMAL(b_precision, b_scale))

Here we want to bind the parameters of returnType TypeSignatures to:

r_precision = min(38, max(a_precision - a_scale, b_precision - b_scale) + max(a_scale, b_scale) + 1)
r_scale = max(a_scale, b_scale)

Duplicate of https://github.com/facebookincubator/velox/pull/1435/


Add Docker support for the server

run the NLP server inside a docker container to make running the server practical

thanks for your mail and the issue report - i just read this issue after getting your mail. could you let me know, what issues were you facing that made starting and running the corenlp server "impractical"? we do provide a simple command (see readme.md) to startup the server so im unsure how this is not practical. or did you face an issue when starting up the server?

I had a few issues:

I did not want to install  jdk in my computer to run the server.
The server has some dependency to wget and I did not want to install that either.
There was a dependency on some unziping tool as well which I did not have and also did not want to install.
I saw that you can change the port that the Giveme5W1H library tries to dial but I did not see how I could change it if I needed to. Maybe I did not look hard enough though for this particular case.
This is more of a comment but ever since I managed to run the command you provide inside a container I have been able to reproduce the desired behaviour every time and I think in general Docker would provide some stability in running the server reliably.
Lastly I am not saying I my way is the best way or that my Docker support is actually the best it could I put it together from wherever I could but  just wanted to share  an idea that might make the project better and easier to use :)

I understand your comments. In general, I  want to keep our repos as lean as possible, i.e., so that they focus on only the core functionality (which here is the 5W1H extraction). Only for convenience, we added this "download and run" command for the server. Having two ways of doing this function also means having two things to support and generally I try to avoid redundancy. However, in case the docker version is more convenient, I might add it and perhaps remove the current way Feel free to open a PR for me and my colleagues to have a look :)


No Pending tasks? pls create tasks/isuses so that others can  self assign and contribute.

as per title.

@codingdrone Hey thanks for this great suggestion, but unfortunately we don’t have a lot of tasks at the moment, but we gonna do it once there’s something should be fixed or added, Thanks.


HADOOP-16629: support copyFile in s3afilesystem

1655

 Quality gate: Failed
15 Issues

 1 Vulnerabilities
 14 Code issues

Details

 Quality gate: Failed
14 Issues

 1 Vulnerabilities
 13 Code issues

Details


What are "Data Exploration" and "HogQL", and what can you already do with them?

If you're reading this, you're either a curious character, or have been added to the data exploration beta. Read on to know what you can already do, and what's coming soon.
What is data exploration?
"Data exploration" is an umbrella term that includes:

Formulas in the "live events" table
HogQL to power those formulas
Support for similar formulas in insight filters
Customisable columns for person tables
An "edit source" button next to most insights and tables, to give powerusers superpowers.
All of the above is defined through a data structure of nested query nodes

I'll cover all of this below.
How do I know if I'm in the beta?
If you see the <> button next to the "live events" table, or the persons list table, you're using the new data exploration interface.

You don't need to click this button under normal usage.
HogQL and data tables
When you open the "live events" table and click "configure columns", you're now presented with a new filter type: "HogQL".

You're free to write any supported expression in this field, including conditionals.
HogQL is our translation layer that parses this expression, and transpiles it to ClickHouse SQL.
The list of HogQL functions is ever expanding. See the full reference in code here.
Here are some fun HogQL expressions to try:

1 + 2
concat(properties.$browser, ' ', properties.$geoip_city_name)
ifElse(toInt(properties.$screen_width) < toInt(properties.$screen_height), 'portrait', 'landscape')
coalesce(properties.$current_url, properties.$screen_name)
toStartOfMonth(timestamp)
person.properties.$initial_browser
leftPad(properties.$screen_width, 10, '0')

There are a few peculiarities to keep in mind at this stage:

Currently all properties are parsed as strings, so you'll have to wrap numeric property access with toInt or toFloat.
We don't surface SQL errors, yet. Thus if you make a mistake, you'll only see "query failed", not exactly what syntax caused the problem.
Unlike regular SQL, regular "equals" checks are performed with double equals a == b, not single equals a = b

We're working on resolving these points
In case the expression gets too long, append an alias with a # comment, such as:

ifElse(toInt(properties.$screen_width) < toInt(properties.$screen_height), 'portrait', 'landscape') # Orientation

HogQL aggregations
HogQL also supports aggregations. When using those, make sure to remove any "not at all unique" columns (like * or person) from the table for meaningful results.
~Currently we support the following aggregations: total, min, max, sum, avg, any. Except for total that takes no arguments, you'll have to cast the properties you're aggregating to integers with toInt~ total changed to count
Currently we support the following aggregations: count, min, max, sum, avg, any.

count can either take no arguments and return the count of rows matching the rest of the columns
count(properties.bla) with an argument will return the count of distinct properties.bla values
The other aggregations require numeric inputs. Because all properties are currently returned as strings, you'll have to cast the properties you're aggregating with toInt.

Here's an example using several aggregations and expressions:

(note that total() in the screencast above changed to count())
Edit source
This "edit source" button lets you edit the query powering the page at hand. You do not need to use this button, ever. But you can. Clicking it can take you to the query editor, which shows a bunch of example queries you can run.

Feel free to play around! The idea is to make every part of posthog hackable, copy-pasteable and embeddable :).
Coming soon
Work will continue on improving this interface further, and adding the following:

Pivot tables
HogQL expressions in insights
A formal HogQL language specification
A nicer UI for configuring HogQL expressions in data tables.

@mariusandra 👋
It seems to be awesome. I'm actually interested by these features to be able to filter a series with multiple property value. How can we be added to the beta ?

Hey @grouville, find me in the PostHog users slack, send me your PostHog cloud e-mail along with a promise to share all the feedback you have on this feature... and the access is yours :).

@mariusandra will I be able to "Save As" in some way - so ability to use the new HogQL stuff to save different "views" of the live events stream? (and ability to share with everyone in the project etc too maybe just like insights are visible to everyone by default).

looks cool - will share some quick feedback or examples in here as i use it.
first thing i did was try to filter my event stream via a HogQL expression - i think that was wrong on my end as really it should just be trying to use HogQL to make "derived columns" or something it seems?
So i think i assumed i could use HogQL to in some way filter too from the above below.
This is just me not reading stuff properly but just wanted to share as feedback.

Hey @andrewm4894 , great to see you test this out!

will I be able to "Save As" in some way - so ability to use the new HogQL stuff to save different "views" of the live events stream?

You can save the URL, which contains the entire query behind the table in the #q= part. If you give this (admittedly long) URL to someone else in the same project, they should see exactly what you're seeing.
Saved views are an obvious next step, but not there yet :).

event = 'META'

Regarding this expression, you'll need to use == instead of a single =. It's a limitation we'll get rid of once we switch the AST parser from python to something custom.
You can use HogQL to filter as well, but for that you'll need to add a manual where clause in the query editor:

Actually using HogQL in the filters in the interface is the next thing I'm working on: https://github.com/PostHog/posthog/pull/13264

just trying to get a sum or total count of events on these 3 dims to get a sort of breakout of our crash stats by OS name and version over last 24 hours:

Try total() without any arguments.

@mariusandra sweet - yep that works and being able to share the url works for now and defo will be useful for sharing with colleagues etc.
Any plans for something like count distinct or unique() in my case i might want total events, count of machines, and maybe then a further derived "crashes per machine" col that's just ratio of other too.
Also would be really cool then to be able to build an insight on this too or visualize in some way.
Being able to maybe use this to just show a date or hour and then drive two ratios for example and then just plot those two ratios on same chart could be cool. Might be better done direct in insights (ability to go beyond 1 formula) but this seems like could be another way to at least get them into a tables (if i can wrangle Time into a date or hour):

Most of what you described is planned, and coming as soon as we can get it out. Aliasing fields, just for display in the table, is possible already. Just separate the alias from the sql exprrssion with a # symbol, like you'd add a line comment in python.

Hi, we started to play with the HogQL API.
It seems promising, but there's still a use-case we didn't manage to implement: relying on that to filter a serie, based on several property values, as we cannot do it for now:

When using above filtering, we below events (that are duplicates), we want to un-duplicate by time / mirror and os:

The idea was to rely on this feature to create a new column, on which we could filter. But, even after checking the clickhouse / https://github.com/PostHog/posthog/blob/master/posthog/hogql/expr_parser.py#L67 reference, I'm still not sure how to implement that.
Do you have any hints ? 🙏

Hey, without seeing your query, here's what I think: the time column currently resolves to timestamp, which means any day. Change it to toStartOfMonth(timestamp). Then also change the column properties.downloads to sum(toInt(properties.downloads)). Finally, remove the * column.
Thanks for testing it out this clunky interface :). Improvements to many of the points here are coming...

If you're following along, then the latest updates (as soon as this PR is merged) will bring:

New table column headers that let you manipulate columns without the "column configurator"
The total() aggregation is renamed to a more standard count()
We added support for counting unique values: count(value), which translates to something like count(distinct value)

I've just merged in a few new aggregations, and made a "breaking change" - https://github.com/PostHog/posthog/pull/13854
The count(thing) aggregation, which returned the number of distinct thing-s in the database, has been renamed to countDistinct(thing). That's to make it more in line with actual SQL, and to distinguish it from other count-s like countIf. So please rename count(bla) to countDistinct(bla) if you already started to use it!
That means you can now do the following:

count() # number of events
countDistinct(properties.$browser) # number of unique browsers
countIf(properties.$browser == 'Chrome') # number of Chromes
countDistinctIf(properties.$browser_version, properties.$browser == 'Chrome') # number of unique Chrome versions
avg(toInt(properties.$browser_version)) # average browser version
avgIf(toInt(properties.$browser_version), properties.$browser == 'Chrome') # average Chrome version

There's also sum, sumIf, min, minIf, max, maxIf, any, anyIf


Type error: Could not convert A3BY5KCNQZXV5U to numeric

Can you please elaborate on your issue or leave a screenshot related to your issue?


Add integration test for the application editor

Test basic functionality in a playwright test:

Can we test drag & drop?
selection and default property values https://github.com/mui/mui-toolpad/issues/755
deleting elements
updating property value
...

Can we test drag & drop?

MUI X has a few tests about this https://github.com/mui/mui-x/blob/249969c611a2d89ff895bdb639551b6dae0d5e3d/test/e2e/index.test.ts#L175


[New Feature]: WinGet 1.9 Schema Documentation

Description of the new feature/enhancement
Add the new schema elements for 1.9 and add to: https://github.com/microsoft/winget-pkgs/tree/master/doc/manifest/schema
Proposed technical implementation details (optional)
No response

I'm already working on this in a local branch :D

I think @ryfu-msft may also be looking at this. Let's see if we can coordinate before one of you is finished :D


Add methods that allow to duplicate Memory storage easily

Memory.copyToWritableMemory()
Memory.copyToWritableMemory(offset, lenBytes)
Memory.toBytes()
Memory.toBytes(offset, lenBytes)

The copyTo methods are written as static methods and make no sense as no source or destination is specified. Even as non-static methods they still don't make any sense : no destination is specified.
They also duplicate an already existing copyTo(...) method that covers all the cases.
The toBytes methods also duplicate existing putByteArray() methods that already exist.  And they would violate another principle of internally allocating objects, which we try hard not to do.
Adding these would just add clutter to an already complex API.
There has been no attempt to explain the justification for these.

Without any further comment from you I am going to close this issue.


[WIP]update mrs to 2.5.5

What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes:

Fixes #
Problem Summary(Required):

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.21 out of 22 committers have signed the CLA.:white_check_mark: Astralidea:white_check_mark: evelynzhaojie:white_check_mark: meegoo:white_check_mark: nshangyiming:white_check_mark: sevev:white_check_mark: ABingHuang:white_check_mark: packy92:white_check_mark: liuyehcf:white_check_mark: amber-create:white_check_mark: hellolilyliuyi:white_check_mark: Smith-Cruise:white_check_mark: zombee0:white_check_mark: luohaha:white_check_mark: ZiheLiu:white_check_mark: decster:white_check_mark: zaorangyang:white_check_mark: fzhedu:white_check_mark: EsoragotoSpirit:white_check_mark: huangfeng1993:white_check_mark: andyziye:white_check_mark: yongbingwang:x: mergify[bot]You have signed the CLA already but the status is still pending? Let us recheck it.


Add settings option to allow maintaining current tool selection after tool use.

If you draw a shape, after drawing that shape the selected tool resets to your default tool (pointer, hand, etc). This can be frustrating if you intend to draw multiples of the same shape. E.g. drawing multiple lines in a row. You have to reselect the tool each time. Expected behavior for many similar apps is to leave the tool selected, rather than resetting after drawing.
Haven't looked at how tldraw is integrated, but if you want, I am happy to fork and make a PR for this if it's viable.

Yeah, great idea! had the same today, while was using this addon

@N-Argyle If you are still interested in making a PR, I would happily review it.

I figured out that there is a default keybind for this. Basically select the shape you want to keep using, and press q on your keyboard. You can also click the lock button when you have your shape selected.


Testing non commercial backends accepts cancellation.

Fix #687
Uses ibmqx4 to test the jobs can be cancelled.

Thanks @delapuente !


Adds Cmake build process

I've tested on Linux, and can correctly build (cmake .. && make), install (make install), and run tests (make test).
The library is installed to the system's libpath (ex: /usr/local/lib/sago/libplatform_folders.a)
The header is installed to the system's includepath (ex /usr/local/include/sago/platform_folders.h)
Other projects can also use Cmake's find_package() to find platform_folders.
I assumed you follow Semver, and set the compatibility to SameMajorVersion, which takes effect when someone runs find_package() with a required version.
Hopefully I edited the .travis.yml correctly, but I might've messed that up.
edit: Seems I missed some -framework thing for macOS? Not sure..

I have looked at it. Travis CI cannot compile the Mac version. I believe "-framework CoreServices" is missing during linking.
# Minimum C++11 for "nullptr" target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
The library was designed to support C++98. I wanted to keep support for it, at least until 2017-04-28 (Ubuntu 12.04 eol). It is the reason that NULL is used instead of nullptr and that copy and assignment constructers are not deleted. I don't mind upgrading to C++11 now although that means version 4.0.0.
Me MXE build version uses CMake version 3.0.2 and it fails with:
Unknown CMake command "target_compile_features".
Looks like it requires CMake 3.1.0 or newer.
The Cmake files states:
cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)

I added that because I made some changes on a separate branch to use nullptr over NULL (among other things). I'll remove that and target_compile_features.

It looks good to me.
I am not against switching to C++11 now but I want to just do a 3.1.0 release first.


Add EMR client to spark connector

Description

Add EMR client with sync approach mentioned in https://github.com/opensearch-project/sql/issues/1721
This is follow up for https://github.com/opensearch-project/sql/pull/1780

DO NOT MERGE before https://github.com/opensearch-project/sql/pull/1780
Issues Resolved

https://github.com/opensearch-project/sql/issues/1721

Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

when do we delete the query result?

when do we delete the query result?

We need to set ISM policy for result index for deleting results.

when do we delete the query result?

Added delete query result after retrieving from index .query_execution_result


[tooling] EE Memory analysis tool feature requests

It would be nice if the tool instead of always generating a single output for each EE dump, could be given a previous input file to append to.  I imagine situations where you'd want to take multiple save-states over the course of a session and amalgamate the type info all into one place.  Right now that is a little cumbersome.
Supporting arrays would be very helpful
Resolving nested types would be a nice to have.

Maybe the way to go here is to output to JSON, and then have a mode to convert one or more JSON outputs into a single easy-to-read output, merging them as needed.
This should be easy for arrays of basics. Inline arrays would be harder but it might be possible to identify the first element.
Agreed. This could let us find structures that can't be found by the basic scan, which might give us a lot more information.  The challenge here is to not get confused by following garbage pointers when we've misidentified basics, and not to get stuck in loops when we have circular references.

Also, do you have an example for 2?

sel-menu in debug-menu-context is an array of basics.

#562 will add support for arrays of basics, like (array-of-basics basic 10).

Was added by Vaser a long time ago, seems to be working great
Arrays are supported now
#797 is the best thing I could come up with that works in general. If there are more specific cases, we can always write more specific tools.


STT task sometimes causes ue editor to crash

STT task sometimes causes ue editor to crash

Hi! Do you have more information about this crash? Can you send me the logs? :)
And I made some changes, if you can try again, let me know if this issue is still happening.


Wrong OTP version installed

When using this:
env:
  ImageOS: "ubuntu22"
  # Elixir and Erlang versions
  OTP_VERSION: "<IP_ADDRESS>"
  ELIXIR_VERSION: "1.14.5"
...
      - name: Setup Erlang, Elixir, etc
        uses: erlef/setup-beam@v1
        with:
          otp-version: ${{ env.OTP_VERSION }}
          elixir-version: ${{ env.ELIXIR_VERSION }}

The action outputs:

Not sure why the OTP version gets changed to <IP_ADDRESS> when it's <IP_ADDRESS>.

Hi, @rlopzc. It's probably the version coercion mechanism that has an issue. Could you, in the meantime, with version-type: strict, as an input to the action?

Would you add your inputs to our CI files and pull request so we can go from there, maybe? I'm not sure when/if I'll have time to deal with this soonish, but it seems like an important issue.

Yeah, so in the case of '<IP_ADDRESS>', it seems that semver.validRange("<IP_ADDRESS>") evaluates to null, which means we do semver.coerce("<IP_ADDRESS>").version, which results in '25.3.2', .

I could probably make an exception for OTP alone, since its version scheme is not SemVer (or "somewhat closely" compliant). I've looked at a few of the latest tags for Gleam, rebar3, Elixir and Erlang/OTP, and only the last one seems not "somewhat compliant".

I think I'll add a check for this, actually. If a version isn't coercible as semver, we'll need to force 'strict'.


How to install both kalibrate-rtl and kalibrate-hackrf

Hi,
is there a way to have both software installed and
start each with separate command like "kal-hackrf" and "kal-rtl"?
Best regrads
Marxon

I have the same issue. I have downloaded, as well as installed, an Ubuntu distribution in which there are all the tools installed. In this distribution, there is kalibrate-hackrf.
The problem is that I'm unable to use it with my sdr RTL device. After typing the command "kal -h", I am shown a series of options, including "-d RTL sdr index". The problem is that I don't know how to use it. I have tried "kal -d -s GSM900", but nothing. I also ran this other command: "kal -a 1 -v -d -s GSM900", but I get an error concerning the missing hackrf device found.
I am tempted to install kalibrate-rtl, but I don't know if this further installation can conflict or compromise the one of the already existing tool .
Any suggestions? I have tried messagging the creator who edited the software for hackrf devices. I hope to get further answers.


proposal: iter: convert between Seq and Seq2

Proposal Details
Recently we introduce iter package with two Seq types: Seq and Seq2.
Writing operations on both types are annoying and repetitive.
So I propose add function to convert Seq to Seq2 and Seq2 to Seq
Possible function signatures:
func Join[K, V, R any](s Seq2[K, V], f func(K, V) R) Seq[R] {
    return func(yield func(R) bool) {
        for k, v := range s {
            if !yield(f(k, V)) {
               break
            }
        }
    }
}

func Split[R, K, V any](s Seq[R], f func(R) (K, V)) Seq2[K, V] {
    return func(yield func(K, V) bool) {
        for x := range s {
            if !yield(f(x)) {
                break
            }
        }
    }
}

These are in the xiter thread as Map21 and Map12 https://github.com/golang/go/issues/61898#issuecomment-1683969720

These are in the xiter thread as Map21 and Map12 #61898 (comment)

My personal thought is that this conversion is crucial for developers who write fundamental libraries, and placing it in xiter requires the basic library to introduce an additional package. In many cases, it is expected that the basic.

Oh, shoot, never mind, Zip is already taken by proposal https://github.com/golang/go/issues/61898.


database updates

Database updates is not very descriptive ;)

i did not know what further updates i could be adding :D


Release v0.5 ?

Are we ready to release 0.5?
cc. @samuelpowell @mgkuhn

I have been waiting for my PR #74 to be merged.

Released.


Photography/SolarEclipse: (extended description)

| NASA enlists citizen scientists to help solve solar mysteries during the total solar eclipse 2024 / Space |

#3535 closes #3542


nuget pakeage

Nuget packages plus the description and URL information, facilitate project

@geffzhang agree, good idea.


how to debug EntityFramework6 source code ?

1.When I debug EntityFramework6 souce code , Created a problem:
2.It's Says:" Failed to load file or assembly“EntityFramework, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089”Or one of its dependencies.Strong name validation fails"
3.My app.config file like this:
section name="entityFramework"type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=<IP_ADDRESS>, Culture=neutral"
requirePermission="false"

I assume you are building from source. Are you following these steps?
http://entityframework.codeplex.com/wikipage?title=Getting and Building EF Runtime

In particular you will have to do this once:
build /t:EnableSkipStrongNames

@divega  Thank you for your answer.


[feature] Show exact frames of a jump instead of %

yo popo,
make it toggalable, ty

Added base data for both code (https://github.com/JumpKingPlus/JumpKing/commit/c28774a806f1123787c89147e482c32eb8b7fb09) and library (https://github.com/JumpKingPlus/JumpKingPlus/commit/9b7023229840010c3d740cfb9abcb58e5b86c955).

To do

[ ] Add option to save choice on .config file.

Completed in https://github.com/JumpKingPlus/JumpKing/commit/d5fcf2d1b316a16278370e5949ea2c284b04244f.


[AIRFLOW-2302] Add missing operators and hooks

Many operators and hooks are not listed in the config, and therefore not picked up by the docks generator. Also fixed some warning of having invalid underlines.
Make sure you have checked all steps below.
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-2302] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-2302
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-2302], code changes always need a JIRA issue.

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

[x] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

The following classes also seem to be undocumented:

DataprocWorkflowTemplateBaseOperator
SlackAPIPostOperator
FTPSHook
HDFSHook

How about adding a check such as "if you added hooks or operators, did you update the document?" to PULL_REQUEST_TEMPLATE.md?

Nice catch @sekikn, I've added the missing classes.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #3201   +/-   ##
=======================================
  Coverage   74.23%   74.23%
=======================================
  Files         193      193
  Lines       14441    14441
=======================================
  Hits        10720    10720
  Misses       3721     3721

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 44ce9ca...b70c3cd. Read the comment docs.

LGTM


Re-think the from_array method

Currently, child classes of Raster also inherit the from_array function, which always returns a Raster instance. This is problematic for example with reproject, which returns a Raster instance:
Here's a minimum working example:
from geoutils import georaster as gr
from geoutils import datasets
from geoutils import satimg
img = satimg.SatelliteImage(datasets.get_path('landsat_B4'))
img2 = satimg.SatelliteImage(datasets.get_path('landsat_B4_crop'))
test = img.reproject(dst_ref=img2)
type(test)

Actually, from_array works as expected,a s it returns an object of the right type, see below. The problem of reproject must be elsewhere...
img_out = img.from_array(img.data, transform=img.transform, crs=img.crs)
type(img_out) == type(img)

We also need to add tests for this case, when solving the issue.

Maybe link this to #116 ?

Fixed by #116


feat: Abillity to reset /etc

There really needs to be a way to reset /etc to the default (except for a few files like fstab, passwd, and shadow). A good way to detect what needs to be reset is using the command sudo ostree admin config-diff which lists what has been deleted, modified, or added to /etc. The reset function should make a new deployment with the reset /etc. There could be a bash script or possibly a python script that does the function called reset-etc in /usr/sbin which needs to be ran by sudo. It could also be activated by ujust reset-etc which would run sudo reset-etc.

This looks like: https://github.com/ublue-os/main/issues/95


Update Build

Updates build for apply changes in #244

Hey @DevJeon1358 I wrote an automatic way to avoid these issues with builds in the future.
Your PR made me realize I needed a solution I have already in other actions. please take a look at #247

I think. We should be able to close this PR.

Yup, Closing PR 👍  (Resolved in #247)


[KoreanPhonemizerUtil] Fix for batchim "T" phoneme with initial "ㅅ"/"ㅆ" + text encoding fix (from #1179)

I noticed that KoreanPhonemizerUtil does not parse the final T phoneme (batchim jamo ㄷ, ㅅ, ㅈ, ㅊ, ㅌ, ㅆ) correctly when the next syllable starts with ㅅ/ㅆ. In actuality, the batchim should become null in this case; currently, it remains there, which is incorrect.
I also implemented the text encoding fix from #1179 already. @EX3exp Is that alright?

@lottev1991

Before you read: All phoneme variation(음운변동) in KoreanPhonemizerUtil has a basis on Korean Standard language regulations(표준어 규정), please take a read if you want some details. (I'm sorry that that's Korean texts, there's may need to use translator. I tried to find some English ones but couldn't... )

It seems there's some misunderstandings due to my lacked comments on original code.
There's no issues with T batchim jamos, and seems no need to fix. Let me explain them below 🔽

[line 337-348]

            // 3. 첫 번째 글자의 자음군단순화 및 평파열음화(음절의 끝소리 규칙)
            if (firstLastConsonant.Equals("ㄽ") || firstLastConsonant.Equals("ㄾ") || firstLastConsonant.Equals("ㄼ")) {
                firstLastConsonant = "ㄹ";
            } else if (firstLastConsonant.Equals("ㄵ") || firstLastConsonant.Equals("ㅅ") || firstLastConsonant.Equals("ㅆ") || firstLastConsonant.Equals("ㅈ") || firstLastConsonant.Equals("ㅉ") || firstLastConsonant.Equals("ㅊ") || firstLastConsonant.Equals("ㅌ")) {
                firstLastConsonant = "ㄷ";
            } else if (firstLastConsonant.Equals("ㅃ") || firstLastConsonant.Equals("ㅍ") || firstLastConsonant.Equals("ㄿ") || firstLastConsonant.Equals("ㅄ")) {
                firstLastConsonant = "ㅂ";
            } else if (firstLastConsonant.Equals("ㄲ") || firstLastConsonant.Equals("ㅋ") || firstLastConsonant.Equals("ㄺ") || firstLastConsonant.Equals("ㄳ")) {
                firstLastConsonant = "ㄱ";
            } else if (firstLastConsonant.Equals("ㄻ")) {
                firstLastConsonant = "ㅁ";
            }

There's no issues with batchim jamoes like ㅅ, ㅈ, ㅊ, ㅌ, ㅆ, ㅋ, ㅍ, etc., because they are being parsed well at line 337-348 .⬆
The possible phoneme variation for batchims itself are only 2 things:
(1) Syllable ending rules(음절의 끝소리 규칙, which known as 평파열음화).
(2) Consonant cluster simplification(자음군 단순화)
line 337-348 is for (1) Syllable ending rules.

In almost all of cases Korean batchims remains still with with changes(e.g: 샅바 -> 삳빠)) or no changes(e,g: 장화 -> 장와).
Only in special conditions(called Aspiration=유기음화 = 격음화 = 거센소리되기)  it can merged into next first consonant and become null(e.g: 숱하게 -> 수타게). (first consonant)ㅅ cannot participate in Aspiration, because don't have aspirated sound. So that's the reason of !nextFirstConsonant.Equals("ㅅ") in line 307~326.
All those phoneme changes differs by phoneme that came before or after of the targeted one, and they are strictly written in Korean Standard language regulations.

[line 331~335, line 352-356]

            // 2-1. 된소리되기 1
            if ((firstLastConsonant.Equals("ㄳ") || firstLastConsonant.Equals("ㄵ") || firstLastConsonant.Equals("ㄽ") || firstLastConsonant.Equals("ㄾ") || firstLastConsonant.Equals("ㅄ") || firstLastConsonant.Equals("ㄼ") || firstLastConsonant.Equals("ㄺ") || firstLastConsonant.Equals("ㄿ")) && basicSounds.Contains(nextFirstConsonant)) {
                // [ㄻ, (ㄶ, ㅀ)<= 유기음화에 따라 예외] 제외한 겹받침으로 끝나고 다음 소리가 예사소리이면
                nextFirstConsonant = (string)fortisSounds[basicSounds[nextFirstConsonant]];
            }

            // 2-1. 된소리되기 2
            if (basicSounds.Contains(firstLastConsonant) && basicSounds.Contains(nextFirstConsonant)) {
                // 예사소리로 끝나고 다음 소리가 예사소리이면 / ex) 닭장 = 닥짱
                nextFirstConsonant = (string)fortisSounds[basicSounds[nextFirstConsonant]];
            }

As you see, Tensing(된소리되기) is splited in two parts in KoreanPhonemizerUtil.
Line 331~335 is for when 'final double consonants'(겹받침 - e.g ㄵ, ㄶ) came. (but it actually processes Syllable ending rules and Tensing together, see second e.g)
Line 352~356 is for when (single) final consonants came*.

When there's single consonant in batchim, Tensing is follwed after applying Syllable ending rules.

(e.g) 닿자 [닫자(Syllable ending rules) -> 닫짜(Tensing)]

But when there's double consonants in batchim, It becomes complicated. We firstly apply Syllable ending rules, secondly Tensing, and thirdly Consonant cluster simplification... (I know it might feels kinda difficult, it's one of main stuffs that bothers Korean students in Korean SAT 😂 . so no need to understand these all, just please take a peek .)

(e.g) 핥다 [할ㄷ다(Syllable ending rules) -> 할ㄷ따(Tensing) -> 할따(Consonant cluster simplification)

I'll just close this PR, I don't wanna do anything wrong.


VS Code removing all files from directories. Not showing any files.

Type: Bug
Randomly, all files in a directory are removed, only showing an empty folder. Has happened with many different directories and working projects. Unable to restore to working state, as files are shown as deleted.
VS Code version: Code 1.74.3 (Universal) (97dec172d3256f8ca4bfb2143f3f76b503ca0534, 2023-01-09T17:07:18.579Z)
OS version: Darwin x64 22.2.0
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
7, 8, 6

Memory (System)
64.00GB (36.66GB free)

Process Argv
--crash-reporter-id 2309f291-3296-4c55-b8b6-1e20c0d69326

Screen Reader
no

VM
0%

Extensions (18)

Extension
Author (truncated)
Version

js-quick-console
Aha
0.0.3

vscode-sqlite
ale
0.14.1

vscode-color
ans
0.4.5

es7-react-js-snippets
dsz
4.4.3

prettier-vscode
esb
9.10.4

isort
ms-
2022.8.0

python
ms-
2022.20.2

vscode-pylance
ms-
2023.1.20

jupyter
ms-
2022.11.1003412109

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.13

vscode-jupyter-cell-tags
ms-
0.1.6

vscode-jupyter-slideshow
ms-
0.1.5

ruby
reb
0.28.1

LiveServer
rit
5.7.9

vscode-lldb
vad
1.8.1

vscode-ruby
win
0.28.0

code-debuger
wow
0.1.1

(6 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vscaat:30438848
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
azure-dev_surveyone:30548225
vsccc:30610678
pyindex848cf:30577861
nodejswelcome1cf:30587006
2e4cg342:30602488
89544117:30613380
fim-prod:30623723
vscup:30628656

\gifPlease

Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.
If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.
Happy coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Sync Java 17 migration branch with main

Purpose
Java 17 migration
Examples
Checklist

[ ] Linked to an issue
[ ] Updated the specification
[ ] Updated the changelog
[ ] Added tests
[ ] Checked native-image compatibility

Lets create an issue for graalvm check failing.

Created an issue to address the GraalVM failures in Ubuntu https://github.com/ballerina-platform/ballerina-standard-library/issues/4718


feat: Run e2e tests on CI job for Rust policies

Description
Relates to https://github.com/kubewarden/kubewarden-controller/issues/855#issuecomment-2310453623.

Test

See CI for https://github.com/viccuad/verify-image-signatures/pull/1.
Example: https://github.com/viccuad/verify-image-signatures/actions/runs/10575780671/job/29300167919#step:5:56
(e2e tests run which is the important part, expected failure).

Additional Information
To be tagged as 3.3.3.
Tradeoff

The build of the policy prior to e2e tests takes 40s on a complex policy (such as verify-image-signatures). This happens in parallel with other CI jobs (unit tests, lints..).
Potential improvement

tagged as v3.3.3


SteamAppList not working with different appId

When the default appid 480 is changed to an other registred id SteamAppList is not working:
https://prnt.sc/k55ags

Valve has to enable SteamAppList on a per AppId basis, seems like it might not be supported anymore though since they took down the documentation page for it though.


Shopify Sync Inventory - Missing parameters in interrface/event

Describe the request

Make Shpfy Shop Location non-internal.

Extend Shpfy Stock Calculation with the Shpfy Shop Location OR Shpfy Shop as a parameter for a GetStock procedure.

Extend the OnAfterCalculationStock with the Shpfy Shop Location as a parameter

Additional context
When synchronizing inventory from Business Central to Shopify there's multiple different options for the stock calculation.
However when Shopify receives the Inventory it will always subtract the commited stock (open orders) and the result becomes the available stock in Shopify.
To accomodate this Business Central must always synchronize an inventory level that is Inventory + Committed.
One Shopify Shop
Committed should be equal to outstanding quantity from all sales lines.
In theory this could be made using the current implementation if you're only using one Shopify Shop.
Multiple Shopify Shops
When working with multiple Shops the "Committed" quantity is different per shop, which means that the outstanding quantity on sales lines must also be filtered per shop.
This is not possible currently.
There's two ways to do it, but neither works:

Creating an Enumextension and a new implementation for Shpfy Stock Calculation
This is not possible because the interface does not include the shop, shop location or anything. Which means you're not able to do the sales line calculation here.

Subscribing to OnAfterCalculationStock
This is also not possible because the OnAfterCalculationStock does not include the ShopLocation (only the Stock Filter), so there is no option to check which implementation is selected.
Shopify Shop Location table is also marked as internal, so no way of checking manually.

Solutions
I would prefer to have the interface extended to include the Shopify Shop Location as a parameter.
If that's not possible, it would also be enough to include the Shopify Shop Location as a parameter on the OnAfterCalculationStock - However, this requires you to make a new implementation AND an event subscriber.
Internal work item: AB#555031

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 25763.

Availability update: We will publish a fix for this issue in the next update for release 25.
Build ID to track: 25849.


Upgrade Sanity

I upgraded the studio and added the performance fix Simeon gave us. That removed the endless loading spinner for me. Are you able to verify this @SvSven  ?

At first glance it looks like everything is working as it should
I can load news, topic content, top level routes and child routes, events, menu. No real lag, no loading spinners being stuck. Seems to be okay?


[WIP] Replace export -p with a dedicated agent command for printing env

Issue: #1780

I wonder about putting map[string]string between the os.Environ() output and the JSON representation 🤔
Go's non-deterministic ordering of map makes the output unstable; harder to test / diff / etc. I think at a minimum we should make the ordering stable, somehow. Unless I'm misremembering, and Go maps or JSON serialization thereof is already stable, but I don't think so.
 AFAIK Unix/POSIX/computerey “environment” is loosely defined. At a code level, Go's os.Environ(), Linux's environ() call, and other implementations all agree that environment is a list of strings. But what can we assume about the strings?
Linux says:

By convention, the strings in environ have the form "name=value".
The name is case-sensitive and may not contain the character "=".
The value can be anything that can be represented as a string.
The name and the value may not contain an embedded null byte
('\0'), since this is assumed to terminate the string.

POSIX.1-2017 says…

These strings have the form name=value; names shall not contain the character '='. For values to be portable across systems conforming to POSIX.1-2017, the value shall be composed of characters from the portable character set (except NUL and as indicated below). There is no meaning associated with the order of strings in the environment. If more than one string in an environment of a process has the same name, the consequences are undefined.

So Linux suggests that strings are only name=value by convention, implying they might be something different.
And neither Linux nor POSIX are specific about what happens if there's duplicate names.
I guess I'm wondering if buildkite-agent env should serialize to:

an object like {"name": "value", …} object, implicitly deduped from os.Environ()…

in random order via Go's map[string]string,
in defined order e.g. sorted by name,
in the order they came out of os.Environ(),

an array of (name, value) tuples like [[name, value], …] after splitting each line by first =…

in defined order e.g. sorted by name,
in the order they came out of os.Environ(),

an array like ["name=value", …]

verbatim from os.Environ()

I would lean towards either:

[[name, value], …] in the order that os.Environ() provided.
{"name": "value", …} sorted by name.

The former gives fairly useful uncontroversial/unopinionated lossless representation of the environment as provided by the OS. The latter gives a slightly more useful shape but is slightly more opinionated re. deduping and ordering.

re: ordering in the environment, when serializing maps, json.Marshal() sorts the maps by key alphabetically: https://pkg.go.dev/encoding/json#Marshal:

Map values encode as JSON objects. The map's key type must either be a string, an integer type, or implement encoding.TextMarshaler. The map keys are sorted and used as JSON object keys

So we get ordering for free! that's nice. I verified this myself:
$ AARDVARK="yep!" ZEBRA="nope!" buildkite-agent env --pretty
{
  "AARDVARK": "yep!",
  "BUILDKITE_API_TOKEN": "nice try!",
  # ...
  "ZEBRA": "nope!",
  "__CFBundleIdentifier": "com.googlecode.iterm2",
  "__CF_USER_TEXT_ENCODING": "0x1F5:0:15"
}

re: ordering in the environment, when serializing maps, json.Marshal() sorts the maps by key alphabetically: https://pkg.go.dev/encoding/json#Marshal:

Map values encode as JSON objects. The map's key type must either be a string, an integer type, or implement encoding.TextMarshaler. The map keys are sorted and used as JSON object keys

So we get ordering for free! that's nice. I verified this myself:
$ AARDVARK="yep!" ZEBRA="nope!" buildkite-agent env --pretty
{
  "AARDVARK": "yep!",
  "BUILDKITE_API_TOKEN": "nice try!",
  # ...
  "ZEBRA": "nope!",
  "__CFBundleIdentifier": "com.googlecode.iterm2",
  "__CF_USER_TEXT_ENCODING": "0x1F5:0:15"
}
# Bloody good of them to have animals at each end of the alphabet i reckon

part of the reason that i decided on "big ol json map" as the encoding mechanism here is because the env.Environment type is just a map[string]string with a bit of sauce on it, so it makes the encode/decode cycle of this nice and easy.


Feature request: predefined secrets positions

It'd be nice to have the ability to load Apel's and Nenad's rearranged secrets with this tool as a predefined preset… although it kinda defeats the purpose of randomization, so maybe it's not such a great idea after all?
(This is an idea I had after seeing Erack getting easy secrets on a hard secrets stream.)

perhaps we can label the secrets that are easy and exclude them if hard is ticked


obs-studio-plugins.obs-move-transition: 2.7.1 -> 2.8.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/obs-move-transition/versions.
meta.description for obs-studio-plugins.obs-move-transition is: "Plugin for OBS Studio to move source to a new position during scene transition"
meta.homepage for obs-studio-plugins.obs-move-transition is: "https://github.com/exeldro/obs-move-transition"
meta.changelog for obs-studio-plugins.obs-move-transition is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.8.0 with grep in /nix/store/fqi8k5lhf5grvvgr3rrjhziw9y6jaf1v-obs-move-transition-2.8.0
found 2.8.0 in filename of file in /nix/store/fqi8k5lhf5grvvgr3rrjhziw9y6jaf1v-obs-move-transition-2.8.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
obs-studio-plugins.obs-move-transition

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/fqi8k5lhf5grvvgr3rrjhziw9y6jaf1v-obs-move-transition-2.8.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A obs-studio-plugins.obs-move-transition https://github.com/r-ryantm/nixpkgs/archive/c5a43a4aa03fdc9196cb2c68ac66ea0db0a5123d.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/fqi8k5lhf5grvvgr3rrjhziw9y6jaf1v-obs-move-transition-2.8.0
ls -la /nix/store/fqi8k5lhf5grvvgr3rrjhziw9y6jaf1v-obs-move-transition-2.8.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

obs-studio-plugins.obs-move-transition

Maintainer pings
cc @starcraft66 for testing.

@ofborg build obs-studio-plugins.obs-move-transition obs-studio-plugins.obs-move-transition.passthru.tests


Database Swap not triggering repaint of app

I am using re-posh to transact and query my react native data.
I am also trying to implement a restore database feature because I write out my datascript database to a file and I would like to read it back in and swap out the current db with the newly restored database. Here is what I do.

A button is used to trigger the read of the file which then dispatches to the event handler below

(rf/reg-event-db
  :app/restore-db

  (fn [db [_ {:keys [data]}]]

      (if (or (nil? data) (empty? data))
        ;; if the restored file is empty - there is nothing to do. Call the normal reframe
   ;; db setup using re-posh
        (do
          (u/log "--: Restore: No file : creating new :--")
          (rf/dispatch [:reposh-initialize-db])
          )

      ;; otherwise take the string, call datascript/conn-from-db on the read-in string, pass that
  ;; to re-posh's connect function and THAT SHOULD SWAP out the OLD DB for the RESTORED ;;one.
        (do
           (u/log "--: Restore: calling connect on detransited file :--")
           (re-posh/connect! (in/fromTransitString data))
           (u/log "--: Restore: complete :--")
          )

      )
      app-db
    ))

THis code seems to work beautifully. Except that while I hoped it would cause re-frame triggers to my components that are showing the older data - to now show the data that was in the restored database, .. nothing really happens
The ASK:  Do I have to remount my whole application again for the changed database to be 'visible' to the app or is there another function call that I can use in re-posh (or elsewhere) to trigger a repainting of the components whose data has changed
ASK 2: WIth re-posh, do I ever need to explicitly hold on to a reference of the conn that I created initially - for example, by adding a key for it in the reframe app-db ?
THanks

I. Literally. just. saw. the. closed. issue. on. this.


Make trtl region and pid test vars

This PR resolves sc-2098, doing a bit of cleanup on the environment variables for the trtl & honu tests.

Codecov Report

Merging #247 (f019d4b) into main (3a4e628) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #247   +/-   ##
=======================================
  Coverage   43.80%   43.80%
=======================================
  Files          53       53
  Lines        6029     6029
=======================================
  Hits         2641     2641
  Misses       2917     2917
  Partials      471      471

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 3a4e628...f019d4b. Read the comment docs.

Look like this is failing due to a docker 500 error, likely related to the ongoing us-east-1 outage. Will try again later


ci: check if tests are being run as they should

They run, in two consecutive runs, first the --ignored, then the others.


Fixing issue #74

Description
Fixing nil pointer dereference in sql rules
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #74
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[x] Unit tests passing

Codecov Report

Merging #75 (47d068a) into main (8fd8b41) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #75      +/-   ##
==========================================
+ Coverage   40.71%   40.75%   +0.04%
==========================================
  Files          46       46
  Lines        2579     2581       +2
==========================================
+ Hits         1050     1052       +2
  Misses       1496     1496
  Partials       33       33

Impacted Files
Coverage Δ

internal/scanners/sql/rules.go
81.33% <100.00%> (+0.51%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Please add range of host.json parameters

Would you please describe value range of parameters in host.json ?
I got following error when I set 1 to prefetchCount.
System.ArgumentOutOfRangeException
The value supplied must be between 10 and<PHONE_NUMBER>. (Parameter 'PrefetchCount') Actual value was 1.

Because the data range is not documented, I unexpectedly get this exception. I think it's good for other developers to write min/max value of batchCheckpointFrequency, maxBatchSize and prefetchCount in the document.
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs-trigger?tabs=csharp#functions-2x-and-higher

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a109c38e-b241-c9a2-7ef8-2e828659191c
Version Independent ID: 69842b0f-607f-5cf5-6e1a-4d312c98100c
Content: Azure Event Hubs trigger for Azure Functions
Content Source: articles/azure-functions/functions-bindings-event-hubs-trigger.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@NT-D Thanks for catching that! We have worked up a PR to address this, which once merged should reflect in a couple of hours.
Looks like this is coming from the Event Hub SDK rather than the Extension itself, but I believe it would be best to mention it here.


feat(Comodoro): Add support for presets

Description
With the release of Comodoro 0.8, it's been rewritten to support custom time management cycles.
This adds support for those.
Screencast
N/A
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Thank you @pernielsentikaer! 🙏🏻


[Windows]A socket operation encountered a dead network while running peertest

The problem: When I run peertest on a Windows Server 2019 VM in Azure, it fails with Could not serve from IPC path /tmp/ethportal-peertest-buddy-1.ipc: Os { code: 10050, kind: NetworkDown, message: “A socket operation encountered a dead network.” }.
The error is being thrown when calling uds_windows::UnixListener::bind in the JSON RPC service.
Our CI currently also runs Windows Server 2019 and succeeds with the same IPC path. I'm not sure what the difference is between these machines, or whether there's a enable_unix_domain_sockets flag somewhere in Windows, or if Azure disables this.
I've tried many modifications of the IPC path to be more windows-friendly to no avail. I haven't found anything relevant while googling yet. Posting here in case anyone has any ideas/relevant docs in the meantime.

I would suggest switching to Windows Server 2022, as 2019 is not far away from the end of the Mainstream Support cycle (end of 2023).

closing since we do not currently support windows


FIXED:XIAMEN AIR A321neo(1ST

@kolos26 You uploaded it quickly, but I've added one more detail that I would like you to upload it again

@kolos26 I found that the China Eastern Airlines A320neo is doing something terrible, can I make another one?

You can


[Feature Request]: OpensearchVectorClient should allow synchronous initialization

Feature Description
Currently, when OpensearchVectorClient class is being created, it checks for the requested index to exist, and creates it, if it does not.
It is implemented here and implicitly runs an asynchronous event loop.
There need to be a way to run in synchronously.
Reason
It all works fine until you decide to run it in some fancy environment like Jupyter Notebook, that uses event loop for its own needs. ;-)
Code example:
os_client=OpensearchVectorClient(endpoint=os_endpoint,
                                 index='documents_test',
                                 dim=config.OS_EMBEDDING_MODEL_DIM,
                                 embedding_field='article.paragraphs.content_embedding',
                                 text_field='article.paragraphs.content',
                                 method={
                                    "name": "hnsw",
                                    "space_type": "innerproduct",
                                    "engine": "nmslib"
                                 })

Error returned:
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[6], line 1
----> 1 os_client=OpensearchVectorClient(endpoint=os_endpoint,
      2                                  index='documents_test',
      3                                  dim=config.OS_EMBEDDING_MODEL_DIM,
      4                                  embedding_field='article.paragraphs.content_embedding',
      5                                  text_field='article.paragraphs.content',
      6                                  method={
      7                                     "name": "hnsw",
      8                                     "space_type": "innerproduct",
      9                                     "engine": "nmslib"
     10                                  })

File /usr/local/lib/python3.12/site-packages/llama_index/vector_stores/opensearch/base.py:118, in OpensearchVectorClient.__init__(self, endpoint, index, dim, embedding_field, text_field, method, engine, max_chunk_bytes, search_pipeline, os_client, **kwargs)
    116 event_loop = asyncio.get_event_loop()
    117 try:
--> 118     event_loop.run_until_complete(
    119         self._os_client.indices.get(index=self._index)
    120     )
    121 except not_found_error:
    122     event_loop.run_until_complete(
    123         self._os_client.indices.create(index=self._index, body=idx_conf)
    124     )

File /usr/local/lib/python3.12/asyncio/base_events.py:663, in BaseEventLoop.run_until_complete(self, future)
    652 """Run until the Future is done.
    653
    654 If the argument is a coroutine, it is wrapped in a Task.
   (...)
    660 Return the Future's result, or raise its exception.
    661 """
    662 self._check_closed()
--> 663 self._check_running()
    665 new_task = not futures.isfuture(future)
    666 future = tasks.ensure_future(future, loop=self)

File /usr/local/lib/python3.12/asyncio/base_events.py:622, in BaseEventLoop._check_running(self)
    620 def _check_running(self):
    621     if self.is_running():
--> 622         raise RuntimeError('This event loop is already running')
    623     if events._get_running_loop() is not None:
    624         raise RuntimeError(
    625             'Cannot run the event loop while another loop is running')

RuntimeError: This event loop is already running

Value of Feature
Being able to work with llama-index from a Jupyter Notebook.

An alternative solution here could be making index check/creation optional.

I rewrote that logic in my code to use sync calls to openseasrch-py. I may put in a PR to handle this because when trying to use the opensearch calls in FastApi it breaks. However for your case you can add
import nest_asyncio
nest_asyncio.apply()
to your first notebook cell and it will work in there.

Thank you @GeorgeDittmar, the nest_asyncio workaround works.


Rollover index with mapping?

Is it possible to port the mappings property to rollover builder?

Is this project dead?  Anybody?


Apply extra validation on validated object

I have an object that is validated and I want to apply another validation after the object is created. Is there a way to avoid having to use the if statement as below? Is there a way to achieve this in a functional style?
        Validated<Dataset> validatedDataset
                = Validations.combine(readModel(), readScenario())
                .apply(this::createDataset)

        if (!validatedDataset.isValid()) {
            return validatedDataset;
        }

        return Validated.of(DATASET_VALIDATOR.validate(validatedDataset.value())

Thanks for the help in advance.

Please provide the full minimal reproducible code. I can't determine what you want to do from your fragmented code.

Validated means that the object has been validated.
Re-validating a Validated object is a breach of contract.


Merge the verbose and quiet concepts

Right now the codebase uses both verbose and quiet. Both are equivalents of each other. Merging them would simplify things.

really, that was a mistake then, I should have replaced all verbose with quiet

Addressed in #8

closed with 27e998527899535f1c23d44d8328e82a2b0388d2