Comparing paths with single keyword

Sometimes tests are run with different operating system and then comparing paths can be tricky if one operating system is Windows and others are example Linux. I know that I can do something like this:
    ${path} =    Get Path From Somewhere
    ${expected_path} =    Normalize Path    ${OUTPUT_DIR}${/}foo/bar/path.txt
    Should Be Equal    ${path}    ${expected_path}

But Instead I would like to do something like this
    ${path} =    Get Path From Somewhere
    Should Be Equal As Path    ${path}    ${OUTPUT_DIR}${/}foo/bar/path.txt

This should be easy to do with Python pathlib and doing:
def should_be_equal_as_path(path1, path2):
    if Path(path1) != Path(path2):
        raise ValueError("Decription")

I understand the use case, but I don't think it's a good idea to add one more Should Be Equal As X keyword. Instead of that we should enhance Should Be Equal so that it can optionally do type conversion. We already have #5053 about that and, because our argument conversion supports pathlib.Path, it would provide the requested functionality. That issue was initially targeted for RF 7.1, but I just moved it to RF 7.2 scope. If you @aaltat are interested to help with it, getting it in already in RF 7.1 would be possible.

One thing to note is that pathlib.Path doesn't normalizing .. components in paths:
>>> Path('foo') == Path('bar/../foo')
False

The above paths would typically point to the same file/directory, but due to symlinks that's not guaranteed and pathlib doesn't want to guess. The only way to get .. in the middle normalized is using resolve(), but it also resolves possible symlinks and makes the path absolute which may not be desired. It's possible to use os.path.normpath(), but I'm not sure is that a good idea either. We could make this behavior configurable if we added a separate keyword for path comparison, but with the generic Should Be Equal that's probably not a good idea. I believe users needing to use Normalize Path explicitly in this case would be fine.

I think I can give it a try for 7.1. We can move discussion in #5053 because it looks like better idea than having another keyword for this purpose only.

Closing this one


Fix two issues around updating schemas:

Ignore error message "stopped" if we have previously seen schema invalid errors while checking if an error message is only about an invalid schema.
Set a limit on retrying row insertions after attempting to update the schema of a BQ table.

In my testing, I only saw invalid schemas followed by stopped.  I'm not sure if you can have stopped before invalid schemas, but I wanted to keep the checking as strict as possible.
I didn't really find any official documentation on this (this is all I found: http://stackoverflow.com/questions/21461317/bigquery-data-errorproto-reason-stopped), so I'm open to opinions.

Codecov Report

Merging #80 into master will increase coverage by -0.7%.

@@             Coverage Diff             @@
##             master      #80     +/-   ##
===========================================
- Coverage     76.81%   76.12%   -0.7%
- Complexity        0      189    +189
===========================================
  Files            23       23
  Lines           880      888      +8
  Branches        112       94     -18
===========================================
  Hits            676      676
- Misses          174      182      +8
  Partials         30       30

Impacted Files
Coverage Δ
Complexity Δ

...ect/bigquery/write/row/AdaptiveBigQueryWriter.java
0% <ø> (ø)
0 <ø> (ø)
:x:

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 cfb67d6...4c7b0dd. Read the comment docs.

LGTM go ahead and merge


Bot Framework not showing attaching file icons other than images i.e (.txt/.css/.doc etc)

Hi,
I'm attaching a file to bot which will be saved in one location.
When i'm attaching image file to bot its showing image icon properly as shown below,

But when i'm attaching other than image file i.e txt file, its showing like [File of type 'text/plain'] as shown below

Please help me how i can show file icons other than images?
Thanks & Regards,
Rasheed

I would upgrade to the new bot framework emulator here:
https://docs.botframework.com/en-us/tools/bot-framework-emulator/
If you find that it doesn't display a particular image type, I would ask here:
https://github.com/Microsoft/BotFramework-Emulator

@willportnoy , my current emulator version is v3.5.23. I can able to see image attachments, but when i'm attaching other files (.txt/.css/.doc etc) bot framework not showing attachment icons as in lync as shown below,

I'm expecting icons for all types of attachments from Bot emulator, where it is showing like [File of type 'text/plain'].
Can we display attachment icons (other than image files) in Bot Emulator or is it the limitation? If we can how we can display icons?

@eanders-MS can you comment?

Hi @willportnoy , @eanders-MS ,
I would like to add something more here.
I have both emulator version as of on my machine. v<IP_ADDRESS> and 3.5.23.
Agree with @RasheedSiriyala , it is not showing attachment, but the response I should get from BOT, is missing though I give same input. please find the images.
Img1 shows latest emulator screen and Img2 shows previous version.
Img 2 is older emulator.
I found the diff is, when I send "Hi", the usual response which I was sending from BOT, is missing in new emulator, but can be seen in older.
And ofcourse, attachment card with button is missing.

Kind Regards,
Ashay

Hi @RasheedSiriyala The issue you're seeing is a limitation of the new webchat control: https://github.com/Microsoft/BotFramework-WebChat. The control doesn't yet display icons for non-image file attachments. Assigning @danmarshall to follow up.
@ashay-88 I believe what you're seeing is unrelated to this, but does look like a valid issue. Could you please open a separate item for it so that the two aren't conflated here?

@ashay-88 can you still reproduce this issue? There may have been an update to the WebChat which fixes this.

@danmarshall  now when I am using IDialog to reply to conversation using postAsync, issue is not appearing.
I suspect, it could be because of my code.
Though, I will paste code which I was using, with which I was getting reply on older emulator but not on new one. That bot was without using dialog interface.

This should be fixed in the latest WebChat and Emulator. Thank you all for reporting. Please open a new GitHub issue if you see anything further.


cocomac: Watch cagridilokulu.com.tr

cocomac requests the watch of the watch_keyword cagridilokulu\.com\.tr. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Mast in Charcoal HQ


Laravel 7

Hi, do you plan an update for this project? You will maintain this project in future?
Best

Sure, just give me some time to get the dependencies done. :D

OK thanks.


fix raw_socket  on macos

Currently BfpDevice::interface_mtu() return 4096, and RawSocket::new() would add it with EthernetFrame::header_len(), so BfpDevice::recv() would return  "Invalid argument (os error 22)".
This patch avoids adding mtu with ether_hdr_len for raw_socket on macos, maybe we will also avoid adding Ieee802154 extral hdr_len.

I wonder if we should have a macOS test runner?

smoltcp currently doesn't have any device implementation for macOS, I think (correct me if I'm wrong)? The TUN/TAP devices are only compiled for Linux or Android. Is the BfpDevice something we can add to smoltcp? Or could you share where I could find this implementation?

@whitequark I made changes in my fork to add macOS test runners (https://github.com/thvdveld/smoltcp/pull/8), however, I'm not sure if it is really necessary. I don't think smoltcp contains code that is specific for macOS. As explained in my previous comment, smoltcp does not have a macOS specific device, such as the tuntap devices for Linux.
Let me know if I need to open a PR to add the macOS runners.


Can yugem be used outside of better-vim?

Love your dotfiles. Trying to load it using nvchad -> lazyvim -> plugins without being able to activate it from either nvchad theming or setting colorscheme directly.
{
    dir = '~/path/to/forked/yugem',
    lazy = true,
    priority = 1000,
    config = function()
      require('yugem').setup({})
    end,
    init = function()
      vim.cmd("colorscheme yugem")
    end
  }

Hey @bjarneo,
I'm glad you like it 😄. I think it's possible if you clone my dotfiles repo, link the yugem/ folder to your home, and set it up properly with lazy loading. What issues are you having with your approach?
By the way, I plan to release it as a Neovim theme compatible with any distro and setup, not just BetterVim.

Thank you for your reply. I am not sure what I did wrong yesterday, but it worked when I tested now. I guess it was something minor I did not notice. Really cool that you will release it. Keep it going!

FYI
Some errors like this. Disabled the theme and no error. Will have a glance at what it might be myself :)
Error executing vim.schedule lua callback: ...re/nvim/lazy/indent-blankline.nvim/lua/ibl/virt_text.lua:95: attempt to index a nil value                                                                         │
│ stack traceback:                                                                                │
│         ...re/nvim/lazy/indent-blankline.nvim/lua/ibl/virt_text.lua:95: in function 'get'                                                                                │
│         ...l/share/nvim/lazy/indent-blankline.nvim/lua/ibl/init.lua:426: in function ''                                                                                │
│         vim/_editor.lua: in function <vim/_editor.lua:0>

As it is indent-blankline, I just added this basic config to the loading of the theme, at seems like it is working require("ibl").setup {
indent = { highlight = highlight, char = "" },
whitespace = {
highlight = highlight,
remove_blankline_trail = false,
},
scope = { enabled = false },
}


add openssh version validation

Fixes https://github.com/grafana/pdc-agent/issues/44
The minimum version constraint is documented here:
https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/configure-pdc/

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Pauli iter all

Adds stim.PauliString.iter_all method.
Following the discussion in #397 the algorithm is a combination of finding the next lexicographically ordered permutation of w bits followed by iterating over all 3^w PauliStrings given this permutation of the qubit labels. For the first part I modified the bit twiddle algorithm to account for multiple words, for the second part I just iterate over 3^w integers and map this to a Pauli using the ternary representation of the integer. This was a bit trickier to get right than I expected, plenty of edge cases.
The modifications for the bit twiddle algorithm are quite specific and I was a bit torn between adding more general operators to simd_bits (like left / right shift + subtraction) which would be cleaner, and what I did, which is a bit clunky.
There are also a few optimizations that could be made which I haven't:

for small w I could avoid the repeated loop over 3^w and store the Pauli strings in the first pass, rather than repeating this work for each of the num_qubits C w permutations (combinations))
some bitwise algorithms are suboptimal (counting trailing zeros) and/or may already exist in stim but I couldn't find them. Happy to change these.
The decoded bit labels / locations could be stored rather than decode each time.

Draft for the moment until:

[x] Fix pybind issue.
[ ] Profile against naive python implmentation.
[x] Check docstrings / algorithm description

Sorry, I forced pushed when it was still a draft to clean up the many doc related fixes. Should be ready for review now sans profiling.

I was a bit torn between adding more general operators to simd_bits (like left / right shift + subtraction) which would be cleaner, and what I did, which is a bit clunky

I'd be fine with those additions to simd_bits.

from typing import Iterable

def bits_to_paulis(x: int, n: int) -> str:
    bits = bin(x)[2:].rjust(n*2, '0')[-n*2:]
    return ''.join('_XYZ'[int(bits[k:k+2], 2)] for k in range(0, len(bits), 2))

def count_trailing_zeros(x: int) -> int:
    t = 0
    while not (x & 1):
        x >>= 1
        t += 1
    return t

def masked_increment(x: int, mask: int) -> int:
    return ((x | ~mask) + 1) & mask

def next_bitstring_of_same_hamming_weight(x: int) -> int:
    c1 = x | (x - 1)
    c2 = c1 + 1
    c3 = (~c1 & -~c1) - 1
    c4 = c3 >> (count_trailing_zeros(x) + 1)
    return c2 | c4

def iter_pauli_strings(weight: int, length: int) -> Iterable[str]:
    hamming_mask = (1 << weight) - 1
    while hamming_mask < 2**length:
        # Spread out bits into pairs.
        h = hamming_mask
        mh = 0b0000000000000000000000000000000011111111111111110000000000000000
        ml = 0b0000000000000000000000000000000000000000000000001111111111111111
        h = (h & ml) | ((h & mh) << 16)
        mh = 0b0000000000000000111111110000000000000000000000001111111100000000
        ml = 0b0000000000000000000000001111111100000000000000000000000011111111
        h = (h & ml) | ((h & mh) << 8)
        mh = 0b0000000011110000000000001111000000000000111100000000000011110000
        ml = 0b0000000000001111000000000000111100000000000011110000000000001111
        h = (h & ml) | ((h & mh) << 4)
        mh = 0b0000110000001100000011000000110000001100000011000000110000001100
        ml = 0b0000001100000011000000110000001100000011000000110000001100000011
        h = (h & ml) | ((h & mh) << 2)
        mh = 0b0010001000100010001000100010001000100010001000100010001000100010
        ml = 0b0001000100010001000100010001000100010001000100010001000100010001
        h = (h & ml) | ((h & mh) << 1)
        h |= h << 1

        # Iterate over non-00 values of masked bit pairs, with 00 elsewhere
        xz_mask = 0
        for _ in range(3**weight):
            xz_mask = masked_increment(xz_mask, h)
            xz_mask |= ~(xz_mask | (xz_mask >> 1)) & 0b0101010101010101010101010101010101010101010101010101010101010101
            xz_mask &= h
            yield bits_to_paulis(xz_mask, length)

        # Next mask
        hamming_mask = next_bitstring_of_same_hamming_weight(hamming_mask)

t = 0
for e in iter_pauli_strings(weight=3, length=20):
    print(e)
    t += 1
print(t)

A better one (in particular see pair_sat_increment):
import math
from typing import Iterable, Tuple

def bits_to_paulis(x: int, z: int, n: int) -> str:
    s = ''
    for k in range(n):
        s += '_XYZ'[(x & 1) + (z & 1) * 2]
        x >>= 1
        z >>= 1
    return s[::-1]

def count_trailing_zeros(x: int) -> int:
    t = 0
    while not (x & 1):
        x >>= 1
        t += 1
    return t

def masked_increment(x: int, mask: int) -> int:
    return ((x | ~mask) + 1) & mask

def next_bitstring_of_same_hamming_weight(x: int) -> int:
    c1 = x | (x - 1)
    c3 = ((c1 + 1) & ~c1) - 1
    c4 = c3 >> (count_trailing_zeros(x) + 1)
    return (c1 + 1) | c4

def pair_sat_increment(x: int, z: int, m: int) -> Tuple[int, int]:
    """Finds the next (x, z) such that x | z == m."""
    inc = x & z
    up = ~inc
    inc |= ~m
    inc += 1
    inc &= m
    up &= inc
    z &= inc | ~x
    z ^= x & up
    x ^= up
    return x, z

def iter_pauli_strings(weight: int, length: int) -> Iterable[str]:
    h = (1 << weight) - 1
    while h < 2**length:
        x, z = h, 0
        for _ in range(3**weight):
            yield bits_to_paulis(x, z, length)
            x, z = pair_sat_increment(x, z, h)
        h = next_bitstring_of_same_hamming_weight(h)

t = 0
seen = set()
for e in iter_pauli_strings(weight=4, length=10):
    assert e not in seen, e
    seen.add(e)
    print(e)
    t += 1
print(t, 3**4 * math.factorial(10) // math.factorial(6) // math.factorial(4))

Ok, I can replace my ternary iteration with the bit twiddle above.

In particular I will add additional ops to simd_bits (left/right shift and an adder) and replace my ternary iteration with the bit twiddle. I may separate out the new operations in a separate PR.

SGTM

The windows failures seem to be due to a memory error
          pauli_it = list(
              stim.PauliString.iter_all(
  >               num_qubits, min_weight=min_weight, max_weight=max_weight
              )
          )
  E       MemoryError

The test_iter_all_random_permutation tests also seems to trigger test failures on windows periodically on win32 platforms. Not sure what's going on there.

I'm going to close this as I won't have time to come back to it for another month or so.


Allow users to compress .gltf file

At present, users cannot compress Gltf file, even if it is convenient for users to view Gltf file.
There are several ways to export GLB and Gltf, where Gltf forces indenting to 4 spaces, which causes the file size to increase.
https://github.com/KhronosGroup/glTF-Blender-IO/blob/9162f9eecaf4f6873e311f51c0ab5aa99cc51fd9/addons/io_scene_gltf2/io/exp/gltf2_io_export.py#L36-L39
Although it is easy to view, it is generally used in projects, and the file size will be reduced as much as possible. I think increasing indentation is not a good practice, and Although the size of GLB file is relatively small, but GLB file also contains textures, which will also lead to The GLB file is very large. So I think many projects will choose .gltf + .bin format.
Or add a hook function of a third-party plug-in to this place for customized development?
for example：
...

from tencent_gltf.io.exp.gltf2_io_user_extensions import export_user_extensions

def save_gltf(gltf, export_settings, encoder, glb_buffer):
    gltf_format = {
      'indent': None,
      'separators': (',', ':')
    }

    if export_settings['gltf_format'] != 'GLB':
        gltf_format["indent"] = 4
        gltf_format["separators"] = (',', ' : ')

    export_user_extensions('gather_gltf_encoded_hook', export_settings, gltf_format)

    sort_order = [
        "asset",
        "extensionsUsed",
        "extensionsRequired",
        "extensions",
        "extras",
        "scene",
        "scenes",
        "nodes",
        "cameras",
        "animations",
        "materials",
        "meshes",
        "textures",
        "images",
        "skins",
        "accessors",
        "bufferViews",
        "samplers",
        "buffers"
    ]
    gltf_ordered = OrderedDict(sorted(gltf.items(), key=lambda item: sort_order.index(item[0])))
    gltf_encoded = json.dumps(gltf_ordered, indent=gltf_format["indent"], separators=gltf_format["separators"], cls=encoder, allow_nan=False)

...

Thank you so much. Blender is getting stronger and stronger ~~


Failed to execute tool ant on module qdox

Since I think Fedora's policy on packaging Java packages is the way to go for any Linux distribution I'm trying to get this to work on Alpine Linux. However, although the build starts out well it fails on qdox:
qdox: ant
org.apache.tools.ant.ExitException: ExitException: status 1
        at org.fedoraproject.mbi.tool.ant.AntTool$1.exit(AntTool.java:96)
        at org.apache.tools.ant.Main.startAnt(Main.java:241)
        at org.fedoraproject.mbi.tool.ant.AntTool.execute(AntTool.java:98)
        at org.fedoraproject.mbi.tool.ToolUtils.runToolOnProject(ToolUtils.java:113)
        at org.fedoraproject.mbi.build.BuildExecutor.completeStep(BuildExecutor.java:116)
        at org.fedoraproject.mbi.build.BuildExecutor.stepCompletionLoop(BuildExecutor.java:161)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Failed to execute tool ant on module qdox

This is with 1.20.0 of this repo and sources prepared using downstream.sh following the instructions. We're using openjdk21.
Sadly it doesn't seem to give me more information than the exit status so I can't really figure out why it's failing.

You can check the ant log at build/qdox/ant.log.
I suspect that byaccj command is not installed.

It should be documented that the build calls 2 non-standard executables:

byaccj from http://byaccj.sourceforge.net/
jurand form https://github.com/fedora-java/jurand

It was indeed missing byaccj, thanks! Good to know where the logs are stored :+1:


ato install --jlcpcb error is confusing in case the component doesn't have a footprint

Updated error message and added a link to the JLC page


Link to GitHub Page

I think it would be useful to add a link/icon to the rxjs github page.
Maybe there are other Social Media links which could be added here.

@JWO719 yeah we dont really have any social media links. what link to github page? where? on the docs site you mean?

Yeah of course I was talking about the docs, sorry for being that rough. I think it would be helpful if you could direclty jump to the github project :D

Related: #3180


Parameter test

Add logging function of LOB
Plot LOB in ipynb file
An update in configs

None of these commits are 'conventional commits' ;). We can fix up in the squash + merge but best to start off with them that way


Page allocation failure message in dmesg. Is this a hardware issue or docker issue?

Running docker on physical dedicated server with centos 6
docker version
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d/1.7.1
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d/1.7.1
OS/Arch (server): linux/amd64

docker info
Containers: 2
Images: 52
Storage Driver: devicemapper
 Pool Name: docker-253:0-1860896-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 7.342 GB
 Data Space Total: 107.4 GB
 Data Space Available: 35.08 GB
 Metadata Space Used: 7.369 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.14 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.95-RHEL6 (2015-09-08)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-431.29.2.el6.x86_64
Operating System: <unknown>
CPUs: 8
Total Memory: 7.681 GiB
Name: localhost.localdomain
ID: 6S2X:6K26:BOAJ:RTAG:Q2W4:U6CQ:6JQK:YCVC:N6RI:Q3U5:UFPD:M4TS

docker: page allocation failure. order:1, mode:0x20
Pid: 3040, comm: docker Not tainted 2.6.32-431.29.2.el6.x86_64 #1
Call Trace:
 <IRQ>  [<ffffffff8112f7ba>] ? __alloc_pages_nodemask+0x74a/0x8d0
 [<ffffffff8116e282>] ? kmem_getpages+0x62/0x170
 [<ffffffff8116ee9a>] ? fallback_alloc+0x1ba/0x270
 [<ffffffff8116ec19>] ? ____cache_alloc_node+0x99/0x160
 [<ffffffff8116fb9b>] ? kmem_cache_alloc+0x11b/0x190
 [<ffffffff8144d058>] ? sk_prot_alloc+0x48/0x1c0
 [<ffffffff8144e262>] ? sk_clone+0x22/0x2e0
 [<ffffffff8149ff16>] ? inet_csk_clone+0x16/0xd0
 [<ffffffff814b97d3>] ? tcp_create_openreq_child+0x23/0x470
 [<ffffffff814b6f8d>] ? tcp_v4_syn_recv_sock+0x4d/0x310
 [<ffffffff814b9576>] ? tcp_check_req+0x226/0x460
 [<ffffffff814b69cb>] ? tcp_v4_do_rcv+0x35b/0x490
 [<ffffffffa03dc557>] ? ipv4_confirm+0x87/0x1d0 [nf_conntrack_ipv4]
 [<ffffffff814b825a>] ? tcp_v4_rcv+0x51a/0x900
 [<ffffffff81495270>] ? ip_local_deliver_finish+0x0/0x2d0
 [<ffffffff8149534d>] ? ip_local_deliver_finish+0xdd/0x2d0
 [<ffffffff814955d8>] ? ip_local_deliver+0x98/0xa0
 [<ffffffff81494a9d>] ? ip_rcv_finish+0x12d/0x440
 [<ffffffff81495025>] ? ip_rcv+0x275/0x350
 [<ffffffff8105dc2c>] ? scheduler_tick+0xcc/0x260
 [<ffffffff8145c3eb>] ? __netif_receive_skb+0x4ab/0x750
 [<ffffffff810ec017>] ? cpu_quiet_msk+0x77/0x130
 [<ffffffff8145c72a>] ? process_backlog+0x9a/0x100
 [<ffffffff814619e3>] ? net_rx_action+0x103/0x2f0
 [<ffffffff8107a5f1>] ? __do_softirq+0xc1/0x1e0
 [<ffffffff8100c30c>] ? call_softirq+0x1c/0x30
 [<ffffffff8100c30c>] ? call_softirq+0x1c/0x30
 <EOI>  [<ffffffff8100fa75>] ? do_softirq+0x65/0xa0
 [<ffffffff8107b2ea>] ? local_bh_enable+0x9a/0xb0
 [<ffffffff814615ef>] ? dev_queue_xmit+0x11f/0x320
 [<ffffffff8149b368>] ? ip_finish_output+0x148/0x310
 [<ffffffff8149b5e8>] ? ip_output+0xb8/0xc0
 [<ffffffff8149a88f>] ? __ip_local_out+0x9f/0xb0
 [<ffffffff8149a8c5>] ? ip_local_out+0x25/0x30
 [<ffffffff8149adc0>] ? ip_queue_xmit+0x190/0x420
 [<ffffffff814b014e>] ? tcp_transmit_skb+0x40e/0x7b0
 [<ffffffff814b268f>] ? tcp_write_xmit+0x22f/0xa90
 [<ffffffff814b3210>] ? __tcp_push_pending_frames+0x30/0xe0
 [<ffffffff814a257e>] ? tcp_push+0x6e/0x90
 [<ffffffff814a357c>] ? tcp_sendmsg+0x64c/0xa20
 [<ffffffff8144b04b>] ? sock_aio_write+0x19b/0x1c0
 [<ffffffff8144491a>] ? sock_poll+0x1a/0x20
 [<ffffffff81188b4a>] ? do_sync_write+0xfa/0x140
 [<ffffffff814af983>] ? tcp_established_options+0x43/0xd0
 [<ffffffff8109afa0>] ? autoremove_wake_function+0x0/0x40
 [<ffffffff8144c155>] ? release_sock+0xe5/0x110
 [<ffffffff81226d36>] ? security_file_permission+0x16/0x20
 [<ffffffff81188f14>] ? vfs_write+0x184/0x1a0
 [<ffffffff81189811>] ? sys_write+0x51/0x90
 [<ffffffff810e1bfe>] ? __audit_syscall_exit+0x25e/0x290
 [<ffffffff8100b072>] ? system_call_fastpath+0x16/0x1b

I think it is better for you to append docker logs with -D enabled(enable debug level logs)

@netroby There are a few problems with your environment:

It's using Docker 1.7.1 and Docker 1.9.1 is the latest. You might be running into bugs which have been fixed already.
Your kernel is outdated. You're running 2.6.32-431.29.2.el6.x86_64 and one of my boxes with all the updates installed is running 2.6.32-573.12.1. If this is a kernel issue, you might want to install all system updates.
CentOS 6.x and RHEL 6.x aren't supported with Docker because the 2.6.32 kernel is far too old and it requires an ever increasing amount of changes to make it work with containers.
Is it hardware or is it a software problem? Based on the tree previous points, it's up to you to debug and figure out what's happening. It's not a supported setup.

Based on the above, I'm going to go ahead and close this issue as there doesn't seem to be any kind of Docker bug. Please feel free to continue the discussion. There's no need to open another issue to continue this discussion.


[Bug] features that broken after GitHub’s redesigned navigation features

Version
1.9.0
Current Behavior
After enabling the new navigation features:

Some features are broken and they are(for now I only found one broken feature):

[ ] #688

Expected Behavior
All features should function as normal.
Environment
- OS: whatever
- Browser: whatever

Any additional comments?
Welcome to leave a comment to report bugs related to the redesigned navigation features.

Hi @wxharry, for now only one feature(OSS-GPT) was found having failure. Did you experience other feature failure?

No other bug detected for now.

I found that the perceptor tab is missing in the new ui design. Simply switch tab from code to issue and refresh the page. The perceptor tab would disappear. Could you have a try if you could reproduce it? @tyn1998 @lhbvvvvv

I noticed that the issue and pull request chart is not visible when hovered over the respective buttons . This does not happen on the main repo page , it only occurs when u shift to any other page of the repo (for example : the issue page ) .
Environment :
Os: Windows
Browser: Chrome and Edge

Looks like features fail when we move to the new github ui design

I found that the perceptor tab is missing in the new ui design. Simply switch tab from code to issue and refresh the page. The perceptor tab would disappear. Could you have a try if you could reproduce it? @tyn1998 @lhbvvvvv

There is the same problem in my computer. My OS is Windows.

No longer a new feature so now all users are using the navigation features. Good for us :)


FI-1244 added bearer token to FHIR client DSL

Summary
Added DSL support for bearer token.
New behavior
Can now add bearer token.
Code changes
Added a method to fhir_client_builder.rb to define the bearer token and updated the demo group example.
Testing guidance
N/A

Codecov Report

Merging #19 (9ab2921) into main (0e8dc8d) will increase coverage by 0.02%.
The diff coverage is 100.00%.

:exclamation: Current head 9ab2921 differs from pull request most recent head e4bd531. Consider uploading reports for the commit e4bd531 to get more accurate results

@@            Coverage Diff             @@
##             main      #19      +/-   ##
==========================================
+ Coverage   93.45%   93.48%   +0.02%
==========================================
  Files          78       78
  Lines        1559     1566       +7
==========================================
+ Hits         1457     1464       +7
  Misses        102      102

Impacted Files
Coverage Δ

dev_suites/demo_ig_stu1/groups/demo_group.rb
92.47% <100.00%> (+0.08%)
:arrow_up:

lib/inferno/dsl/fhir_client_builder.rb
86.20% <100.00%> (+3.59%)
:arrow_up:

Continue to review full report at Codecov.

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


Fix documentation for take_while1.

Documentation says the predicate takes a &[T] when in actuality it takes a T (as one would expect).

Coverage remained the same at 0.0% when pulling 56653bfae374223f7fcb401a58e52a16e927e284 on tmccombs:take-while-doc into 3000d54cc643289cc1d75e48a0f49a659a8dbe4a on Geal:master.

Coverage remained the same at 0.0% when pulling 56653bfae374223f7fcb401a58e52a16e927e284 on tmccombs:take-while-doc into 3000d54cc643289cc1d75e48a0f49a659a8dbe4a on Geal:master.

Coverage remained the same at 0.0% when pulling 56653bfae374223f7fcb401a58e52a16e927e284 on tmccombs:take-while-doc into 3000d54cc643289cc1d75e48a0f49a659a8dbe4a on Geal:master.

Good catch, thanks!


[ALIASES] "Confirm delete column" modal show's original column name instead of alias

STR

Create an alias for a column in a dataset
Click on "Delete column"

Expected result
A confirmation modal comes up prompting for confirmation on deleting the column, using it's alias.
Actual result
The confirmation modal shows the original column name, not the aliased name.
Thanks for reporting @coyle5280 !

This should be good. All seems to be working as expected but let me know if anything needs to be changed.

I have made changes to address the issues that you raised.  Please review the changes in the PR and let me know if you have any questions.


TLSv1 not possible as TLS protocol

Search Guard 6.6.1-24.1 and Elasticsearch 6.6.1
JVM version Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_191/25.191-b26 and operating system RHEL 6.10 /2.6.32-754.9.1.el6.x86_64/amd64
SSL Version 1.0.1e-fips
netty-tcnative verson  2.0.20.Final-linux-x86_64-fedora.jar
Number of nodes in your cluster 3

I use Searchguard for authentication and TLS. But I've an old applicaton which only supports TLSv1. I followed the config for Configuring TLS and OpenSSL setup.
When I try to use OpenSSL for Security only TLSv1.2 and TLSv1.1 is available. But I've configured TLSv1 as well in elasticsearch.yml:
searchguard.ssl.http.enabled_ciphers:
  - 'TLS_DHE_RSA_WITH_AES_256_CBC_SHA'
  - 'TLS_DHE_DSS_WITH_AES_128_CBC_SHA256'
searchguard.ssl.http.enabled_protocols:
  - 'TLSv1'
  - 'TLSv1.1'
  - 'TLSv1.2'
searchguard.ssl.transport.enabled_ciphers:
  - 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384'
searchguard.ssl.transport.enabled_protocols:
  -  'TLSv1.2'
When Elasticsearch get's startet, TLSv1 is not enabled:
TLS Transport Client Provider : OPENSSL
TLS Transport Server Provider : OPENSSL
TLS HTTP Provider             : OPENSSL
Enabled TLS protocols for transport layer : [TLSv1.2]
Enabled TLS protocols for HTTP layer      : [TLSv1.2, TLSv1.1]
When I remove the netty-tcnative, JDK is used and TLSv1 is available:
TLS Transport Client Provider : JDK
TLS Transport Server Provider : JDK
TLS HTTP Provider             : JDK
Enabled TLS protocols for transport layer : [TLSv1.2]
Enabled TLS protocols for HTTP layer      : [TLSv1, TLSv1.1, TLSv1.2]
Is this expected behavior or a bug?

Are you forced to use a FIPS-compliant OpenSSL version?

This is the default OpenSSL Version on RHEL 6:
openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013 It supports TLSv1:
openssl s_client -help 2>&1  > /dev/null | egrep "\-(ssl|tls)[^a-z]"
 -ssl2         - just use SSLv2
 -ssl3         - just use SSLv3
 -tls1_2       - just use TLSv1.2
 -tls1_1       - just use TLSv1.1
 -tls1         - just use TLSv1
I upgraded Elasticsearch and SearchGuard yesterday. From ES 5.6.15 with SearchGuard 5.6.15-19.3. OS and JVM did not change.
TLSv1 was possible with this setup (with ES 5.6.15). Here are the Logs before the upgrade:
Open SSL OpenSSL 1.0.1e-fips 11 Feb 2013 (268439647) available
java.version: 1.8.0_191
sslTransportClientProvider:OPENSSL with ciphers [TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
sslTransportServerProvider:OPENSSL with ciphers [TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
sslHTTPProvider:OPENSSL with ciphers [TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256]
sslTransport protocols [TLSv1.2]
sslHTTP protocols [TLSv1, TLSv1.1, TLSv1.2]

From which version (ES+SG) did you upgrade?

As written, I upgraded from ES 5.6.15 with SG 5.6.15-19.3 to ES 6.6.1 with SG6.6.1-24.1

Thanks, will try to reproduce and investigate ...

Seems to be a bug, will be fixed with 24.2 next week ...

Perfect, sounds good!

Fixed with v24.2 released today

Very good. Just upgraded ES to 6.6.2 ans SG to 6.6.2-24.2 and OpenSSL works as expected.
Thanks!


Auto populate library

Would it be possible to auto populate the library in Streama according to what you put in the data dir?

Like how Plex automatically scans your library folders for content? Should be possible.

you can use the new bulk-add feature  for now. that works similar, except that you get some control over the matching of the files. let us know what u think

Is this something that could added to the admin page, along the lines of scan folder at x intervals?

Where is the Bulk-add on feature I can't find it ?


The package name is currently registered

Hello
Сould you unregister “kk” package please? I wrote to owner (@qihong1983) of the repository earlier (https://github.com/qihong1983/kk/issues/1), but got no response.

kk has been unregistered.
FYI @qihong1983


Refactor contract binding to use git submodule

When generating the contract bindings, the node downloads the contracts directly from the npm repository. Some time ago, we added the rollups contracts to a git submodule in the node repo. So, it makes sense to use this submodule as the contract code source instead of downloading it again from npm.

After further investigation, I don't think it is worth refactoring this because the necessary ABI files are not present in the rollups-contracts repo. So, the build process would need node.js to be installed, which currently isn't a dependency.


Proposing an example logo for the package.

I have added a single file to the assets directory of the gh-pages branch, with my attempt at a graphic for LibPQ.jl. Feedback or comments welcome. Thanks.

Could you post an embedded image in the comments of the logo?

@Nosferican  Just for fun:
LibPQ_Julia_logo_long.pdf

@jd-foster, @Nosferican: Any news on it?

@Neustradamus No news - just thought the docs might like to have some extra colour :)

Finally took a look at the relevant policies: https://www.postgresql.org/about/policies/trademarks/
Looks like this logo is in violation of two specific trademark policies:

The marks should not be modified in any way without prior approval. They should not be presented with other trademarks or logos.

and

The Elephant Logo (Slonik) must appear in one of the forms below:

This isn't the end though! I will email a request for approval to the relevant mailing list. I like this logo!

Finally took a look at the relevant policies: https://www.postgresql.org/about/policies/trademarks/
Looks like this logo is in violation of two specific trademark policies:

The marks should not be modified in any way without prior approval. They should not be presented with other trademarks or logos.

and

The Elephant Logo (Slonik) must appear in one of the forms below:

This isn't the end though! I will email a request for approval to the relevant mailing list. I like this logo!

@jd-foster: A little improvement request:

At right side, please add a blank part like at left side

@jd-foster: A little improvement request:

At right side, please add a blank part like at left side

Thanks for the comments and feedback. Looks like the PostgreSQL trademark policy is pretty clear on this, so it's really up to their "sole discretion" of getting special approval. If not, that's fine too!

Thanks for the comments and feedback. Looks like the PostgreSQL trademark policy is pretty clear on this, so it's really up to their "sole discretion" of getting special approval. If not, that's fine too!

Hi all, I've received a response to my request for use of the Elephant (Slonik) logo from the PostgreSQL Community Association of Canada - Board, who handle the management of the PostgreSQL trademarks.
I have added the response below; the catch here is the requirement for identifying a (legal?) entity using the marks.
@iamed2 , do you know if Invenia would accept the task of signing their licence agreement?
For clarity, I will state here that I contribute my created logo under the LibPQ.jl project license.

Apologies for the delay in getting back to you. We now have licence agreements prepared for the use of the PostgreSQL trademarks that we can offer to allow your use of our marks, at no cost. If you can please supply me with the following information, I'll prepare the agreements and send them to you for review and signing.
Thank you.

Legal name of the entity using the mark(s)
Address
Name of the product or project for which the licence will apply
The territory (e.g. Europe, USA, worldwide etc)

I realise that this is low priority stuff; still, hoping to make progress on finishing this up.
@iamed2 : was wondering if you know if Invenia would consider signing the PostgreSQL licence agreement for using Slonik?  If so, I can post the General Use Licence document. Good to know either way on whether this becomes a logo or we just drop it. Thanks.

Closing this to open a different pull request that does the logo addition correctly.

Sorry for never getting to this, I've really been tied up with internal work and haven't spent much time on open source. Is there anything I need to do for the license agreement? If you have the license and you're granting permission here that's fine, but I'm also happy to put it in Invenia's name if that needs to happen. Happy to merge #224 but we should probably include the license itself there.

Thanks for the response. I have mentioned you in the license as project leader. I will include the full agreed license file in #224, but I will redact the signatures as they are sensitive information.


install ioncube loader

How I can install the ioncube loader?

https://www.digitalocean.com/community/tutorials/how-to-install-ioncube-on-ubuntu-16-04

Thanks for your attention,
My doubts is also related how to make the changes permanents inside the container when I instal the ioncube loader. Also, when I try to start a container there exists a default domain and ip that I'm unable to delete. I'm not sure how to proceed.

I add iconcube loader in 1.6.1


Exam mode: Allow instructors to verify attendance check for students

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
[x] I implemented the changes with a good performance and prevented too many database calls.
[x] I documented the Java code using JavaDoc style.

Client

[x] I followed the coding and design guidelines and ensured that the layout is responsive.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Changes affecting Programming Exercises

[ ] I tested all changes and their related features with all corresponding user types on Test Server 1 (Atlassian Suite).
[ ] I tested all changes and their related features with all corresponding user types on Test Server 2 (Jenkins and Gitlab).

Motivation and Context

It would be important that the instructor immediately identify if a student has started the exam without being in the lecture hall, as this is not allowed and would be considered as cheating

When removing all students from an exam, the images cannot be deleted, there is an error message on the server FileService.manageFilesForUpdatedFilePath:
Could not delete old file '/api/files/exam-user/39411/ExamUserImage_2023-02-12T11-35-22-366_40ba6781.png' due to exception Unknown Filepath: /api/files/exam-user/39411/ExamUserImage_2023-02-12T11-35-22-366_40ba6781.png

It would be good if the web client can cache the downloaded images for the exam users, so that they do not need to be downloaded multiple times when navigating through the exam users on the page

Description

In this PR the following are implemented:

New endpoint to identify students who did not sign
GET courses/{courseId}/exams/{examId}/verify-exam-users : Retrieves a list of students who started the exam but did not sign

Cahce images of exam users

Delete old files (exam user images)

Steps for Testing

Prerequisites:

1 Instructor
1 Course with Exam
Multiple students registered to the Course

Log in to Artemis
Navigate to Course Management and go under Exams as instructor
You should prepare the exam and generate the student exams.
Now login as student and navigate to the exam.
Start the exam as student (you can start the exam for all students)
Now login as instructor and  After exam starts check the students by letting them sign (This step can be done through Ipad app or through postman see below)
After exam starts navigate to students as Instructor
You should see a new button called Verify Attendance , click it
You should see all students that started the exam but did not sign.

Note:In Order for students to sign, you need to have IPad and the exam-attendance-checker app downloaded. But if you want you can change/update exam-user information by making a request to the following endpoint (use postman):
/**
     * POST /courses/:courseId/exams/:examId/exam-users : Update the exam user with the given DTO info
     *
     * @param examUserDTO   the dto containing exam user info
     * @param signatureFile the signature of the student
     * @param courseId      the id of the course
     * @param examId        the id of the exam
     * @return saved examUser ResponseEntity with status 200 (OK) or with status 404 (Not Found)
     */
    @PostMapping("courses/{courseId}/exams/{examId}/exam-users")
    @PreAuthorize("hasRole('INSTRUCTOR')")
    public ResponseEntity<ExamUser> updateExamUser(@RequestPart ExamUserDTO examUserDTO, @RequestPart(value = "file", required = false) MultipartFile signatureFile,
            @PathVariable Long courseId, @PathVariable Long examId) {

....................
}

Here you can see an postman request example:

examUserDTO object is as follow:
{
 "login": "student",
"didCheckImage":true,
"didCheckLogin":true,
"didCheckName":true,
"didCheckRegistrationNumber":true
}

Note: login field is important as its used as identifier for students
Exam Mode Testing

Prerequisites:

1 Instructor
2 Students
1 Exam with a Programming Exercise

Log in to Artemis
Participate in the exam as a student
Make sure that the UI of the programming exercise in the exam mode stays unchanged. You can use the exam mode documentation as reference.
...

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[x] Test 1
[x] Test 2

Exam Mode Test

[ ] Test

Test Coverage

Server

Class/File
Branch
Line

ExamUserAttendanceCheckDTO.java
n/a
100%

FileService.java
85%
87%

ExamUserResource.java
75%
91%

FileResource.java
60%
77%

Client

Class/File
Branch
Line

exam-management.service.ts
76.46%
95.69%

exam-students.component.ts
69.56%
86.59%

students-upload-images-dialog.component.ts
48.38%
84.44%

exam-students-attendance-check.component.ts
74.35%
98.38%

exam-users-attendance-check.model.ts
100%
0%

Screenshots

New button to access the verify attendance page:

Shows students that were not checked:

Codecov Report

Merging #6252 (3494b50) into develop (eefa70f) will increase coverage by 3.77%.
The diff coverage is 7.79%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #6252      +/-   ##
=============================================
+ Coverage      76.44%   80.21%   +3.77%
- Complexity         0    12907   +12907
=============================================
  Files           1229     2289    +1060
  Lines          46734    88756   +42022
  Branches        8690    13111    +4421
=============================================
+ Hits           35727    71198   +35471
- Misses          5689     9802    +4113
- Partials        5318     7756    +2438

Impacted Files
Coverage Δ

...va/de/tum/in/www1/artemis/service/FileService.java
79.25% <0.00%> (ø)

...tum/in/www1/artemis/web/rest/ExamUserResource.java
84.84% <0.00%> (ø)

...temis/web/rest/dto/ExamUserAttendanceCheckDTO.java
0.00% <0.00%> (ø)

.../app/entities/exam-users-attendance-check.model.ts
0.00% <0.00%> (ø)

.../webapp/app/exam/manage/exam-management.service.ts
90.32% <0.00%> (-0.99%)
:arrow_down:

...-check/exam-students-attendance-check.component.ts
0.00% <0.00%> (ø)

...pp/exam/manage/students/exam-students.component.ts
83.73% <100.00%> (+0.68%)
:arrow_up:

...idebar/conversation-selection-sidebar.component.ts
88.66% <0.00%> (-0.67%)
:arrow_down:

...m/in/www1/artemis/web/rest/StatisticsResource.java
90.47% <0.00%> (ø)

...programming/ProgrammingExerciseGradingService.java
91.94% <0.00%> (ø)

... and 1056 more

Flag
Coverage Δ

client
76.34% <8.69%> (-0.11%)
:arrow_down:

server
84.53% <0.00%> (?)

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 eefa70f...3494b50. Read the comment docs.

Please also address all open change requests from #6137, if not done already.

I have addressed your suggestions but i still have to address some other suggestion and add a db migration. This will be done in another PR from this chore/exam-code-quality-improvements

Just a quick note if you also want to test it with postman and don't have much experience with it. You also need to add a valid JWT to the header. Otherwise, you don't have permission to POST to the API endpoint. You can get a valid token e.g. by logging in as an instructor in your browser, inspecting the network traffic in the dev tools, and copying it from header -> request -> cookie.

Thanks for the hint!


Adding Ludo Model Data

Purpose
Adding Ludo's model data.

Quick quality control of strongly nonlinear case.
Tests run.
Need to update link in Box.


Create a new pull request for branch Feature/fileapi pdf protector

As Vishal request, close the current PR and create a new one. The code review tool we use doesn't open the current PR since it has a lot of commits.

sdk/rms_sdk/FileAPI/Protector.h, line 58 at r3 (raw file):

 * with the wrapper document. It extends the ability to set the wrapper document.
 */
class ProtectorWithWrapper : public Protector

Do we always create a protected PDF using a wrapper? Is that configurable?
Also, we should have the default PDF wrapper as a resource checked in the source code.

Comments from Reviewable

sdk/rms_sdk/FileAPI/PDFProtector.cpp, line 315 at r3 (raw file):

  memcpy(reinterpret_cast<uint8_t *>(&vec_publishing_license[0]),
         publishing_license, publishing_license_size);
  //vec_publishing_license.push_back('\0');

remove any unused or commented out code

Comments from Reviewable

sdk/rms_sdk/UnitTests/fileapi_ut/pdf_protector_ut/PDFProtector_child.h, line 11 at r3 (raw file):

#ifndef RMSSDK_UNITTESTS_FILEAPI_UT_PDF_PROTECTOR_UT_PDFPROTECTOR_CHILD_H_
#define RMSSDK_UNITTESTS_FILEAPI_UT_PDF_PROTECTOR_UT_PDFPROTECTOR_CHILD_H_

This is an exact copy of PDFProtector.cpp and not a mock. Please delete it and add mock later when we create unit tests
The end to end tests can use the actual PDFProtector.cpp

Comments from Reviewable

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 25 at r3 (raw file):

PDFModuleMgrImpl::PDFModuleMgrImpl() {
  pdf_codec_module_ = CCodec_ModuleMgr::Create();

this constructor should be private since this is a singleton class.

Comments from Reviewable

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.h, line 49 at r5 (raw file):

  std::shared_ptr<PDFSecurityHandler> shared_security_hander_;

  static PDFModuleMgrImpl* instance_;

You can do the singleton implementation very simply without 'instance_' as a member variable. You can do it like this:
static PDFModuleMgrImpl& Instance() {
static PDFModuleMgrImpl instance_;
return instance_;
}
and then the bool PDFModuleMgr::Initialize() would look like this:
PDFModuleMgr::Initialize() {
if (g_pdf_module_mgr == nullptr) {
g_pdf_module_mgr.reset(&PDFModuleMgrImpl::Instance());
}
return true;
}
Since PDFModuleMgrImpl is a Singleton, you should delete the copy and move constructors:
PDFModuleMgrImpl(const CPDFModuleMgrImpl&) = delete;
PDFModuleMgrImpl& operator=(const CPDFModuleMgrImpl&) = delete;
PDFModuleMgrImpl(CPDFModuleMgrImpl&&) = delete;
PDFModuleMgrImpl& operator=(CPDFModuleMgrImpl&&) = delete;
Refer here: http://www.nuonsoft.com/blog/2017/08/10/implementing-a-thread-safe-singleton-with-c11-using-magic-statics/

Comments from Reviewable

Reviewed 6 of 212 files at r1, 68 of 69 files at r2, 213 of 259 files at r3.
Review status: 203 of 223 files reviewed at latest revision, 20 unresolved discussions.

sdk/rms_sdk/PDFObjectModel/pdf_creator.cpp, line 415 at r3 (raw file):

    const std::string& filter_name,
    const std::vector<unsigned char> &publishing_license,
    std::shared_ptr<PDFCryptoHandler> crypto_hander,

nit: typo 'handler'

sdk/rms_sdk/PDFObjectModel/pdf_creator.cpp, line 605 at r3 (raw file):

    CPDF_Parser *pdf_parser,
    CPDF_Dictionary* encryption_dictionary,
    std::shared_ptr<PDFCryptoHandler> crypto_hander,

nit: typo 'handler'

sdk/rms_sdk/PDFObjectModel/pdf_creator.cpp, line 640 at r3 (raw file):

    PDFSharedStream inputIOS,
    const std::string& filter_name,
    std::shared_ptr<PDFSecurityHandler> security_hander,

nit: typo 'handler'

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 25 at r3 (raw file):
Previously, vishmittal (Vishal Mittal) wrote…
this constructor should be private since this is a singleton class.

LGTM

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 48 at r5 (raw file):

}

void PDFModuleMgrImpl::SetSharedSecurityHandler(std::shared_ptr<PDFSecurityHandler> shared_security_hander) {

typo: shared_security_handler

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 50 at r5 (raw file):

void PDFModuleMgrImpl::SetSharedSecurityHandler(std::shared_ptr<PDFSecurityHandler> shared_security_hander) {
  if (shared_security_hander_) {
    shared_security_hander_.reset();

you only need to do either reset() or make it equal to nullptr. They are equivalent

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 59 at r5 (raw file):

}

static CPDF_SecurityHandler* CreateCustomerSecurityHandler(void* param) {

typo error 'CreateCustomSecurityHandler'

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 59 at r5 (raw file):

}

static CPDF_SecurityHandler* CreateCustomerSecurityHandler(void* param) {

Delete if 'param' is not being used anywhere

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 64 at r5 (raw file):

  std::shared_ptr<PDFSecurityHandler> security_hander = pdf_module_mgr->GetSharedSecurityHandler();
  //core takes over custom_security_handler
  CustomSecurityHandler* custom_security_handler = new CustomSecurityHandler(security_hander);

use smart pointer here.  You can do:
auto custom_security_handler = std::make_shared(security_handler);
return custom_security_handler.get();

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 68 at r5 (raw file):

}

void PDFModuleMgrImpl::RegisterSecurityHandler(const std::string& filter_name, std::shared_ptr<PDFSecurityHandler> security_hander) {

typo: security_handler

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 77 at r5 (raw file):

        CreateCustomerSecurityHandler,
        nullptr);
  }

you could call PDFModuleMgr::Initialize() if g_pdf_module_mgr is nullptr

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 89 at r5 (raw file):

      nullptr,
      nullptr);
}

Indentation

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 89 at r5 (raw file):

      nullptr,
      nullptr);
}

you could call PDFModuleMgr::Initialize() if g_pdf_module_mgr is nullptr

sdk/rms_sdk/PDFObjectModel/pdf_object_model.h, line 22 at r3 (raw file):

//#define CDECL_CALLING_CONVENTION

#ifdef RMS_LIBRARY_STATIC

are RMS_LIBRARY_STATIC and RMS_CALLING_CONVENTION used for static build for MSIPC?

Comments from Reviewable

sdk/rms_sdk/PDFObjectModel/pdf_module_mgr.cpp, line 64 at r5 (raw file):
Previously, vishmittal (Vishal Mittal) wrote…
use smart pointer here.  You can do:
auto custom_security_handler = std::make_shared(security_handler);
return custom_security_handler.get();

It should be:
auto custom_security_handler = std::make_shared(security_handler);
return custom_security_handler.get();

Comments from Reviewable

Reviewed 3 of 259 files at r3.
Review status: 205 of 223 files reviewed at latest revision, 25 unresolved discussions.

sdk/rms_sdk/FileAPI/PDFProtector.h, line 37 at r5 (raw file):

 * It is implemented by PDF protect, and it is invoked by PDF object model to access to the stream data.
 */
class FDFDataStreamImpl : public pdfobjectmodel::PDFDataStream {

should be 'PDFDataStreamImpl'

sdk/rms_sdk/PDFObjectModel/basic.cpp, line 133 at r3 (raw file):

  }
}

nit: remove extra empty line

sdk/rms_sdk/PDFObjectModel/pdf_object_model.h, line 126 at r5 (raw file):

 * @brief The type definitions of PDF wrapper doc.
 */
enum PDFWrapperDocType{

use scoped enums.
https://blog.smartbear.com/programming-languages/closer-to-perfection-get-to-know-c11-scoped-and-based-enum-types/

sdk/rms_sdk/PDFObjectModel/pdf_object_model.h, line 141 at r5 (raw file):

 * It is implemented by PDF object model, and it is invoked by PDF protector.
 */
class PDFWrapperDoc {

It seems PDFWrapperDoc and PDFUnencryptedWrapperCreator are related in functionality. Why don't you have a single class for them?

sdk/rms_sdk/PDFObjectModel/pdf_object_model.h, line 332 at r5 (raw file):

 * @brief The error code definitions for PDFCreator.
 */
enum PDFCreatorErr{

use scoped enums.
https://blog.smartbear.com/programming-languages/closer-to-perfection-get-to-know-c11-scoped-and-based-enum-types/

Comments from Reviewable

sdk/rms_sdk/PDFObjectModel/unencrypted_wrapper.cpp, line 125 at r3 (raw file):

bool PDFWrapperDocImpl::StartGetPayload(PDFSharedStream output_stream) {
  if (wrapper_type_ == PDFWrapperDocType::IRMV1 || is_irmv2_without_wrapper) {
    uint8_t* buffer_pointer_temp = new uint8_t[payload_size_];

use vector instead of char*

Comments from Reviewable

Reviewed 2 of 259 files at r3, 3 of 12 files at r6.
Review status: 207 of 223 files reviewed at latest revision, 25 unresolved discussions.

sdk/rms_sdk/PDFObjectModel/pdf_creator.cpp, line 24 at r3 (raw file):

FX_BOOL CustomCryptoHandler::Init(CPDF_Dictionary* encryption_dictionary,
                                  CPDF_SecurityHandler* security_handler) {
  FX_UNREFERENCED_PARAMETER(encryption_dictionary);

is this just to suppress the compiler warning?

sdk/rms_sdk/PDFObjectModel/unencrypted_wrapper.cpp, line 182 at r3 (raw file):

  wrapper_file_stream_ = std::make_shared<FileStreamImpl>(wrapper_doc_stream);
  FX_DWORD parse_result = pdf_parser_.StartParse(wrapper_file_stream_.get());
  if (PDFPARSE_ERROR_SUCCESS == parse_result) {

What happens if the parse_result is not success?

sdk/rms_sdk/PDFObjectModel/unencrypted_wrapper.cpp, line 191 at r3 (raw file):

  pdf_parser_.CloseParser();

  wrapper_file_stream_.reset();

you need to do either reset() or assign a nullptr to it. No need to do both since they are equivalent.

sdk/rms_sdk/PDFObjectModel/unencrypted_wrapper.cpp, line 195 at r3 (raw file):

  if (payload_file_stream_) {
    payload_file_stream_.reset();

you need to do either reset() or assign a nullptr to it. No need to do both since they are equivalent.

sdk/rms_sdk/PDFObjectModel/unencrypted_wrapper.cpp, line 225 at r3 (raw file):

  if (payload_file_stream_) {
    payload_file_stream_.reset();

you need to do either reset() or assign a nullptr to it. No need to do both since they are equivalent.

Comments from Reviewable

Reviewed 4 of 12 files at r6.
Review status: 211 of 223 files reviewed at latest revision, 31 unresolved discussions.

sdk/rms_sdk/FileAPI/PDFProtector.cpp, line 113 at r6 (raw file):

    pdfobjectmodel::PDFBinaryBuf* dest_buf) {
  FILEAPI_UNREFERENCED_PARAMETER(dest_buf);
  data_to_be_decrypted_->write(src_buf, src_size);

check if 'data_to_be_decrypted_' is null first before writing to it

sdk/rms_sdk/FileAPI/PDFProtector.h, line 30 at r6 (raw file):

 */
#define MIN_RAW_SIZE 64 * 1024 * 1024
#define PROGRESSIVE_ENCRYPT_TEMP_FILE ".RMS.PE.temp"

append a random number to this temp file name so that multiple threads running in parallel don't create an issue.
You can use a method that returns this temp file name.

sdk/rms_sdk/PDFObjectModel/pdf_creator.cpp, line 297 at r6 (raw file):

    publishing_license_bytestring.Empty();
    if (dest_buf[0] == 0xef && dest_buf[1] == 0xbb && dest_buf[2] == 0xbf) {

add comments about this encoding logic

sdk/rms_sdk/PDFObjectModel/pdf_creator.cpp, line 466 at r6 (raw file):

}

bool PDFCreatorImpl::IsDynamicXFA(CPDF_Parser *pdf_parser) {

Add comments about what this method does

sdk/rms_sdk/PDFObjectModel/pdf_creator.h, line 11 at r6 (raw file):

/**
 * @brief The implementaion class of interface class CPDF_CryptoHandler of Foxit core.

typo: implementation

sdk/rms_sdk/PDFObjectModel/pdf_creator.h, line 70 at r6 (raw file):

/**
 * @brief The implementaion class of interface class CPDF_ProgressiveEncryptHandler of Foxit core.

typo: implementation

Comments from Reviewable

Reviewed 2 of 12 files at r6.
Review status: 212 of 223 files reviewed at latest revision, 20 unresolved discussions.

sdk/rms_sdk/PDFObjectModel/pdf_creator.cpp, line 572 at r6 (raw file):

    const std::string& filter_name,
    const std::vector<unsigned char> &publishing_license) {
  CPDF_Dictionary* encryption_dictionary = new CPDF_Dictionary;

Does PDF core take over and release this memory? If not, use a smart pointer here

sdk/rms_sdk/PDFObjectModel/pdf_creator.cpp, line 576 at r6 (raw file):

  encryption_dictionary->SetAtName("Filter", filter_name.c_str());

  CPDF_Dictionary* pCFDic = new CPDF_Dictionary;

Does PDF core take over and release this memory? If not, use a smart pointer here

sdk/rms_sdk/PDFObjectModel/pdf_creator.cpp, line 578 at r6 (raw file):

  CPDF_Dictionary* pCFDic = new CPDF_Dictionary;

  CPDF_Dictionary* crypt_filter_dictionary = new CPDF_Dictionary;

Does PDF core take over and release this memory? If not, use a smart pointer here

Comments from Reviewable


Document supported field types

PDF Form Field types

[x] Textbox field
[ ] Checkbox
[ ] Radio Button
[ ] List of choices
[ ] Dropdown list
[ ] Signature


Web UI (SaaS) learning is not updated.

Learn tab

Monitoring tab

I got 7.7k requests in monitoring tab for last 24 hours, but in learn tab it's not updating and stuck at 43 requests.

Hi @lidarbtc,
Can you please share the traffic per passet?

Alsp, can you please share Tenant ID and asset name, by sending an email to<EMAIL_ADDRESS>

Hi @lidarbtc,
Can you please share the traffic per passet?
Alsp, can you please share Tenant ID and asset name, by sending an email to<EMAIL_ADDRESS>
I have sent mail, thank you


Further fix interaction issues related to nesting and display tree positioning

Fixed further problem as reported in #3851. Also undid the constants added in #3857 because there was actually a simpler way to handle that.

The saga continues... This seems good to me, but I want to make sure that we have actually tested and verified that it addresses these cluster of issues once and for all (a la jsfiddle). Also, are there any other related issues before we'd make a release for this?

I said that constants aren't needed there! I'm a prophet!

I did confirm the fix in the reporting jsfiddle. I don't know of any other related issues - the one about clicks happening on the DOM below is a different problem entirely.


Error on directly accessing a dynamic route in the browser

Hi,
I use the latest version of nuxt (rc6) with the @nuxtjs/pwa module
I have a typical cateogry/_slug.vue page.
on that page, I have a simple created() method that gets the this.$route.params.slug variable and fetches the content from a static javascript array in the Store (No API call).
I can navigate to that page without any problem when clicking on a classic link in the app.
But when I try to access the page directly through the browser. example : http://localhost:3000/category/blog
I get a 500 Error, saying Cannot read property 'slug' of null,
either on running npm run dev and npm run start
I tried replacing created() with beforeMount(), mounted(). And I still get the same error.
I have no clue on what is going on there. Is someone facing the same problem ?
Thanks a lot for your help, in advance !

Nevermind...

 How did you solve this ?? I got the same problem...

@Jonarod I'm not sure that my mistake will help you but here it is : The static array in which I was trying to fetch the content was initialized in another route.
So I had to run that route before, in order to access the category/_slug.vue without any error.
So I ended up initializing this array in the nuxtServerInit action in the vueX store.

Yeah I ended up using nuxtServerInit as well.
Thanks
Le lundi 11 septembre 2017, philippe-effinet<EMAIL_ADDRESS>a
écrit :

@Jonarod https://github.com/jonarod I'm not sure that my mistake will
help you but here it is : The static array in which I was trying to fetch
the content was initialized in another route.
So I had to run that route before, in order to access the
category/_slug.vue without any error.
So I ended up initializing this array in the nuxtServerInit action in the
vueX store.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nuxt/nuxt.js/issues/1503#issuecomment-328424306, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AF1sz6aAj_-V-4M2k7BU6EDvfPLyZmi9ks5shMxWgaJpZM4PEVV9
.

@philippe-effinet @Jonarod  I'm running into the same issue, but mine involes hitting an api in the store. Would either you be able to comment on mine.. https://github.com/nuxt/nuxt.js/issues/1915 thanks in advance


Version 1.18.0 (1.18.0) Just Updated no longer folds code correctly

Open a file that used to use code folding correctly, and now you have a plus sign and a small ... link where there is no code to expand.
CMD K CMD J to unfold everything, still have plus signs where there should be minus
Screenshots showing same blocks open and closed, both with +

If you put the cursor at the end of the line and hit Enter, it resets that individual fold, but life must be too short to do them all manually.

Does this happen every time? Only with a certain code snippet? If so can you post the code as text?

Can you check if there is anything in the dev console? Help > Toggle Developer Tools

I think this is a dup of #38527. It's fixed in the insiders build, so if you can verify that it's fixed now, that would be great.

@aeschli I believe it is as well
i didn't realize the root of the issue at first because the file was opened twice but on the second panel it was not focused so it took me a few minutes to wade through possibilities.

Thanks, closing as duplicate of #38527 then


View Component

First requires documentation before development. Through documentation requirements can change. Current requirements are:

Provides a base view class from which all application view classes must be extended
Provides view loader as service
Provides simple PHP view loading

Ideas for the View Component can come directly into this issue.

Resolved.


Native Layers

Support for Lasagne-specific layers for advanced users.

Coverage increased (+0.002%) to 99.893% when pulling 0dd8d261a0478bcc5faee21ce8ca704272aa7ccc on native into 1d31b5ede8eb4051c258406ad29170c4add98018 on master.

Coverage increased (+0.002%) to 99.894% when pulling 5df1253becaefbd29face1a417ab001eb0888032 on native into 1d31b5ede8eb4051c258406ad29170c4add98018 on master.

Coverage increased (+0.002%) to 99.894% when pulling 6f847941a5d6f3944e2a91e429b5a28ded5bcd57 on native into 1d31b5ede8eb4051c258406ad29170c4add98018 on master.

Coverage increased (+0.002%) to 99.894% when pulling 2aa9c9db495206666006f687994a5ae0f69d3540 on native into 1d31b5ede8eb4051c258406ad29170c4add98018 on master.

Closes #179.


Menu: Ctrl+Shift results in broken shelf items

Hi,
Problem: Maya has a feature where holding Ctrl+Shift while selecting a menu item adds a shelf-icon instead of running it.
Currently this does not work with shifter as the shelf command will only hold a memory-pointer to a python function object.
My solution is to pass the command argument as a string rather than a function.
A welcome side effect is that the corresponding modules are not imported at startup (might save some time).
I hope this makes sense, let me know if not.
Cheers,
Ivo

Oh! nice! I didn't know you can pass the command as str. Thanks
btw: do you know if using strings command, the Maya middle click to repeat the last action on the menu will work?
This is something I always wanted to research since never worked in mGear menu :P

I just tried. Yes, it appears to work for the commands that I modified.
You mean middle clicking on the top menu like this, don't you?

If there were icon-files available, we could also pass them as image argument to be used when creating the shelf icon. I did that for our internal menu, it can also be SVG files which seems convenient.

yes, middle-click on the top menu.
to be more specific. With the previous implementation, the  middle click was kind of  working but only trigger the first command of the sub-menu
for example

if I click in settings by going to the menu. If I use middle-click next time. It will open the guide manager. that was the issue

Yes, on my end it properly remembers and opens the Settings dialog every time

about the icon files, we are vendoring this library https://feathericons.com/  But are too generic. I would like to have nice icons/logo for the tools. indeed there is this ticket open https://github.com/mgear-dev/mgear_dist/issues/12

Thanks for this I will check and merge all ASAP :)  Please keep it coming if you have more good ideas :D

I am adding the same format to all the modules ;)


Feature Request: Kaspersky CEF

Attached is a few logs that covers most of our events. I had to remove a lot of information since it contained usernames so I wasn't able to upload a packet capture. Please let me know if more information is needed. Thank you!
kasp.txt

No problem for CEF format I don't normally need more than the header fields

This is also released


More checks ＼\ ٩( ᐛ )و /／

[ ] Check v2/deployments for lot's of running deployments
[ ] Check v2/queue for apps that have been deploying for a long time
[ ] Check state.json for disabled=true marathon/metronome frameworks

Hi, @zen-dog. Thank you for the suggestion!
Could you please suggest

How many deployments is too many deployments?
How much time is too long for deployment?
Thank you!

Feel free to use your best judgment ;) My guess is - your know our customer clusters better than I do.


Fix ExecNode close

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] others

Which issues of this PR fixes ：

Fixes #4518
Problem Summary(Required) ：

We should not close a ExecNode if it's not initialized, so introduce a _construct_state to represent whether it has been initialized or closed.
Every ExecNode should set this state only after it really initializes.

@Mergifyio rebase


Fix versions installed in k2-tools container

k2-tools currently does this:
Python / ansible addon work
    # update pip

RUN     pip install --upgrade pip
# Adding netaddr
RUN     pip install netaddr
Instead it should use a requirements.txt file to ensure Python versions do not drift when the container image is rebuilt.

moved to k2-tools repo


Add minimum and maximum storage level limits

Pull request details
Describe the changes made in this pull request
New constraints to consider minimum and maximum limits on the storage level variables, considering user-defined profiles.
List of related issues or pull requests
Closes #523
Collaboration confirmation
As a contributor I confirm

[x] I read and followed the instructions in README.dev.md
[NA] The documentation is up to date with the changes introduced in this Pull Request (or NA)
[x] Tests are passing
[x] Lint is passing

@abelsiqueira the commits in this PR are as atomic as possible 😄 I hope that helps to follow the idea behind the changes. The documentation (for this change and the previous ones) has its own issue in the epic, so it will be updated in #458


Don't enable inverted TPE by default

Enabling inverted TPE means that users will need to be aware of which applications are being launched as non-root, and will need to add the users running the applications to the correct group. This is problematic for many users.

Still not sure if we should do this. Having the inverted TPS is a nice feature, however coldkernel users need to know how to determine the correct system users for the group.

https://github.com/coldhakca/coldkernel/tree/5_disable_itpe has TPE entirely disabled.

Not fixing for now, will revisit if further people run into difficulty.

https://github.com/coldhakca/coldkernel/commit/76a2b3621b33536c3feee877c59d56e0c8d0e27d


Add Summary Statistics to the output of the Parsing Step so they can be stored as metadata on the Portfolio

This is fixed from RMI's side, so now we need to actually store summary statistics.

V related to #187


pytest fails module not found, even tho tests are discovered & works in debug,

Thank you for your help! I have search many issues, and tried many solutions, but I can't figure it out. I understand this is OSS, and no one may have time or interest to help me. That's okay. I am very grateful for vscode-python, and appreciate your time.
We have written the needed data into your cl

VS Code Version: 1.53.2
OS Version: Windows 10.0.17763
Python: 3.6.9 from python.org, running in venv
pytest 6.2.2

Version: 1.53.2 (user setup)
Commit: 622cb03f7e070a9670c94bae1a45d78d7181fbd4
Date: 2021-02-11T11:48:04.245Z
Electron: 11.2.1
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.17763

Steps to Reproduce:

use python 3.6 to create a virtualenv: $py -3.6 -m venv venv
install requirements for pvlib and install pvlib in editable mode: pip install --no-deps -e .
open pvlib folder in vscode, it chooses venv automatically, yay!
see test are all discovered
try to run tests, select pytest as test runner, use default setup.cfg as only setting
pick any test and run it, but it fails to import pvlib in conftest.py

ImportError while loading conftest 'c:\Users\mikm\Projects\pvlib-python\pvlib\tests\conftest.py'.
pvlib\tests\conftest.py:10: in <module>
    import pvlib
E   ModuleNotFoundError: No module named 'pvlib'
Error: TypeError: Cannot read property 'testsuites' of null

run the same test again using debug, and it works!
try it in the console or a windows CMD, and it works! (venv) $ pytest pvlib/tests/test_infinite_sheds.py::test_gcr_prime

Does this issue occur when all extensions are disabled?: Yes/No
If I disable extensions, then the Python extension isn't loaded, and so no tests are discovered, and so I can't run them.
I have the following extensions installed and enabled: Python, Remote-WSL, Jupyter, Git History, C#, and C/C++
If I disable everything but Python and Jupyter (I cannot disable only Jupyter), the tests are still discovered, but still do not run.

Related Issues

https://github.com/microsoft/vscode-python/issues/14570

FYI:  I've tried the latest insider's build of vscode and the python extension and set "python.useIsolation": false in my .vscode/settings.json and the same error still occurs.
However, if I re-install pvlib using python setup.py install now it works. So I cannot tell if this is a duplicate of #14570 or not. My guess is that it is a duplicate, but then I don't understand why using the insider's version breaks it.
I'd also like to know how others are using pytest and virtualenvs in vscode?

@mikofski, thanks for letting us know about this.  Please provide the content of the "Python" output panel and the "Python Test Log" output panel.  Also, please provide the content of your settings.json file.  Of particular relevance is the "python.testing.pytestArgs" setting.
Another setting to try is "python.testing.cwd".  Set it to the root directory from which you want to run your tests.  Normally this is the workspace root.
  What about if you run the same command that shows up in the "Python" output panel?  The command output will be helpful.

Thank you very much!!!
Here is the Python test log output:
ImportError while loading conftest 'c:\Users\mikm\Projects\pvlib-python\pvlib\tests\conftest.py'.
pvlib\tests\conftest.py:10: in <module>
    import pvlib
E   ModuleNotFoundError: No module named 'pvlib'
Error: TypeError: Cannot read property 'testsuites' of null

My `settings

Hooray! Today, the python extension updated to 2021.2.1 (19 February 2021) v2021.2.582707922 and it works! Thank you so much!

@mikofski I see the nearly same behavior on my mac in my conda environment and having installed pvlib using pip install -e .. It's been awhile since I've used vscode in this way so I didn't notice when it broke (for no particular reason I am in the habit of using vscode's debug test or running from the command line). I'll guess it worked about 3 months ago. Sorry I didn't actually try this when you first reported the issue - I initially understood it to be limited to virtualenv.

The relationship to installation issues and a desire to avoid real work led me try installing the package with pyproject.toml and moving the pytest config to that file too. Same issue. Branch here.

@wholmgren I found a sneaky but unpleasant workaround. I insert this into pvlib/tests/conftest.py right before import pvlib:
import sys
sys.path.append(str(Path(__file__).parent.parent.parent))

If I open a python interpreter and print the Python path the outcome of the "editable" install is that pvlib-python is last in the list:
>>> import pprint
>>> pprint.pprint(sys.path)
['',
 '/usr/lib/python38.zip',
 '/usr/lib/python3.8',
 '/usr/lib/python3.8/lib-dynload',
 '/home/mikm/Projects/pvlib-python/venv/lib/python3.8/site-packages',
 '/home/mikm/Projects/pvlib-python']

but printing out the Python path from inside pvlib/tests/conftest.py:
import pprint
pprint.pprint(sys.path)

shows during test execution it's been removed:
['/home/mikm/Projects/pvlib-python/pvlib/tests',
 '/home/mikm/.vscode-server/extensions/ms-python.python-2021.2.582707922/pythonFiles',
 '/usr/lib/python38.zip',
 '/usr/lib/python3.8',
 '/usr/lib/python3.8/lib-dynload',
 '/home/mikm/Projects/pvlib-python/venv/lib/python3.8/site-packages']

FYI:  I've tried the latest insider's build of vscode and the python extension and set "python.useIsolation": false in my .vscode/settings.json and the same error still occurs.

I believe you need to set "python.useIsolation": false in your User Settings not your Workspace settings in VS Code Insiders. https://github.com/microsoft/vscode-python/issues/14570#issuecomment-755445657
That worked for me.

FYI:  I've tried the latest insider's build of vscode and the python extension and set "python.useIsolation": false in my .vscode/settings.json and the same error still occurs.

I believe you need to set "python.useIsolation": false in your User Settings not your Workspace settings in VS Code Insiders. #14570 (comment)
That worked for me.

I would like to add that this also solved my bug.
This being that pytest or in other words testing does not respect PYTHONPATH when it is in the root directory.
The fix, that is, adding "python.useIsolation": false` to Preferences: Open Settings (JSON) solved the following issue:

create a parent directory example_parent
create a directory named foo and at the same level create a directory called test
within the foo directory create a main.py file containing the following code:

def return_4():
    return 4

within the test directory create a file called test_file.py containing the following code:

from foo.main import return_4

def test_4():
    assert return_4() != 4

add the parent directory that foo and test reside in to your PYTHONPATH (with Mac this is done through sudo nano /private/etc/zprofile and then add :
export PYTHONPATH=~/folder/to/example_parent

open vscode

within vscode open example_parent

press ctrl+shift+p and then type python all tests

enable and configure pytest in the root directory

run pytest within vscode through the python run all tests setting with vscode opened in root

You will receive the following error

python /Users/francesco/.vscode/extensions/ms-python.python-2021.4.765268190/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /Users/francesco/Work/example_parent -s --cache-clear .
Test Discovery failed:
Error: ============================= test session starts ==============================
platform darwin -- Python 3.8.2, pytest-6.2.3, py-1.10.0, pluggy-0.13.1
rootdir: /Users/francesco/Work/example_parent
plugins: xdist-2.2.1, forked-1.3.0
collected 0 items / 1 error

==================================== ERRORS ====================================
_____________________ ERROR collecting tests/test_file.py ______________________
ImportError while importing test module '/Users/francesco/Work/example_parent/tests/test_file.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/test_file.py:2: in <module>
    from foo.main import return_4
E   ModuleNotFoundError: No module named 'foo'
=========================== short test summary info ============================
ERROR tests/test_file.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
===================== no tests collected, 1 error in 0.08s =====================

Traceback (most recent call last):
  File "/Users/francesco/.vscode/extensions/ms-python.python-2021.4.765268190/pythonFiles/testing_tools/run_adapter.py", line 22, in <module>
    main(tool, cmd, subargs, toolargs)
  File "/Users/francesco/.vscode/extensions/ms-python.python-2021.4.765268190/pythonFiles/testing_tools/adapter/__main__.py", line 100, in main
    parents, result = run(toolargs, **subargs)
  File "/Users/francesco/.vscode/extensions/ms-python.python-2021.4.765268190/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 44, in discover
    raise Exception("pytest discovery failed (exit code {})".format(ec))
Exception: pytest discovery failed (exit code 2)


Dpys

Create group analysis tutorial

@loftusa -- I'm trying to find the optimal tradeoff between seeding density and tractography runtime duration.
@dPys


V4.1.3 always wants to install additional dependencies

Laravel Mix Version: 4.1.3
Node Version (node -v): 10.15.3
NPM Version (npm -v): 6.9.0
OS: ubuntu 18.04.2 (laravel/homestead)

Description:
Since version 4.1.3, when calling npm run dev, laravel mix always wants to install additional dependencies, without telling which ones. It finishes, but it's en endless loop.
output:
vagrant@fotogecko:~/code$ npm run dev

> @ dev /home/vagrant/code
> npm run development

> @ development /home/vagrant/code
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

        Additional dependencies must be installed. This will only take a moment.

        Running: npm install  --save-dev --production=false

npm WARN<EMAIL_ADDRESS>requires a peer of webpack@^1 || ^2 || ^3 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/sass/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

        Okay, done. The following packages have been installed and saved to your package.json dependencies list:

        Additional dependencies must be installed. This will only take a moment.

        Running: npm install  --save-dev --production=false

npm WARN<EMAIL_ADDRESS>requires a peer of webpack@^1 || ^2 || ^3 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/sass/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

        Okay, done. The following packages have been installed and saved to your package.json dependencies list:

        Finished. Please run Mix again.

Steps To Reproduce:
npm run dev

Same problem

Same issue here. Also with run dev and watch. Probably caused by this commit from July 16th. Using 4.1.2 for now.

Same

here as well

Quadruple this

It started this morning for me as well but I'm not on the latest version. Here's my versions:
node - 10.15.3
npm - 6.4.1
laravel-mix - 4.0.7
osx - 10.14.3
I even tried making my webpack.mix.js file as minimal as possible but still get the same errors.

This must have been related to the collection rewrite. Patched just now in 4.1.4. Apologies!

thanks


Hanging (100% CPU indefinitely) Code Helper process (with repro)

When using the latest version of vscode-eslint with prettier configured, opening a large minified JavaScript file results in a VSCode “Code Helper (Renderer)” process consuming 100% CPU indefinitely.
Here's a minimal reproduction: https://github.com/coreyward/vscode-eslint-hanging-demo
And lest this be attributed to Prettier, it should be known that running prettier directly on this file on the same machine takes ~1.9–2.3s fairly consistently.

I can reproduce this but the CPU cycles are spent in a diff function called by the prettier plugin:

Same happens to me when validating the file using eslint in the terminal:

Command used is: ./node_modules/.bin/eslint highcharts-editor.complete.min.js
@coreyward can you please report the issue against eslint-plugin-prettier since there is little I can do to fix this.


Xamarin.UITest

Xamarin.UITest.XDB.Exceptions.DeviceAgentException : Failed to launch DeviceAgent
ExitCode: 70
iOS-16.0.2(20A380)
Xcode-14.0.1(14A400)
Mac OS-12.6(Monterery)
Xamarin.iOS
Version: <IP_ADDRESS> (Visual Studio Enterprise)

Hi @RavindraRP-Xamarin , please contact our support team. They will able to check your test run and will do their best to help with resolving it.

@DmitriyKirakosyan Thanks


ARROW-5973: [Java] Variable width vectors' get methods should return null when the underlying data is null

For variable-width vectors (VarCharVector and VarBinaryVector), when the validity bit is not set, it means the underlying data is null, so the get method should return null.
However, the current implementation throws an IllegalStateException when NULL_CHECKING_ENABLED is set, or returns an empty array when the flag is clear.
Maybe the purpose of this design is to be consistent with fixed-width vectors. However, the scenario is different: fixed-width vectors (e.g. IntVector) throw an IllegalStateException, simply because the primitive types are non-nullable.

Codecov Report

Merging #4901 into master will increase coverage by 2.27%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4901      +/-   ##
==========================================
+ Coverage   87.31%   89.58%   +2.27%
==========================================
  Files         894      661     -233
  Lines      134066    96617   -37449
==========================================
- Hits       117055    86553   -30502
+ Misses      16659    10064    -6595
+ Partials      352        0     -352

Impacted Files
Coverage Δ

cpp/src/plasma/thirdparty/ae/ae.c
70.75% <0%> (-0.95%)
:arrow_down:

r/src/recordbatch.cpp

r/R/Table.R

go/arrow/math/uint64_amd64.go

r/src/symbols.cpp

rust/datafusion/src/execution/filter.rs

rust/arrow/src/csv/writer.rs

rust/datafusion/src/bin/main.rs

go/arrow/ipc/file_reader.go

r/src/arrow_types.h

... and 224 more

Continue to review full report at Codecov.

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

This seems like the right functionality.  It looks like it impacts FixedSizeBinary as well (https://github.com/apache/arrow/blob/a222c7d4ddfa43ee35a6ecf1c1563b48ecd6b860/java/vector/src/main/java/org/apache/arrow/vector/FixedSizeBinaryVector.java)
@praveenbingo  @pravindra any concerns with the change in functionality?

This seems like the right functionality. It looks like it impacts FixedSizeBinary as well (https://github.com/apache/arrow/blob/a222c7d4ddfa43ee35a6ecf1c1563b48ecd6b860/java/vector/src/main/java/org/apache/arrow/vector/FixedSizeBinaryVector.java)
@praveenbingo @pravindra any concerns with the change in functionality?

@emkornfield Revised accordingly. Thanks a lot for your kind reminder.

+1, we should start a list someplace so we don't forget for the next release behavior changes like this.  So far I think we have:

changing the lastSet value on some of the list vectors?
This change?
Am I forgetting something?

+1, we should start a list someplace so we don't forget for the next release behavior changes like this. So far I think we have:

changing the lastSet value on some of the list vectors?
This change?
Am I forgetting something?

Good suggestion. Let's start a list in the mailing list.


Add support for BZMPOP

Add support for the BZMPOP command, the blocking version of ZMPOP which is already supported.

Codecov Report
Attention: 50 lines in your changes are missing coverage. Please review.

Comparison is base (b725b9e) 94.10% compared to head (794bbca) 92.10%.

Files
Patch %
Lines

src/NRedisStack/ResponseParser.cs
0.00%
23 Missing :warning:

src/NRedisStack/CoreCommands/CoreCommandBuilder.cs
0.00%
17 Missing :warning:

src/NRedisStack/CoreCommands/CoreCommands.cs
0.00%
7 Missing :warning:

...tack/CoreCommands/DataTypes/RedisValueWithScore.cs
0.00%
3 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #240      +/-   ##
==========================================
- Coverage   94.10%   92.10%   -2.01%
==========================================
  Files          85       86       +1
  Lines        5178     5228      +50
  Branches      487      492       +5
==========================================
- Hits         4873     4815      -58
- Misses        178      286     +108
  Partials      127      127

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


Fixed various minor flaws when running cron

There where various little issues regarding cron:

Cron does not know about PATH. We need to tell it where to find alembic
Cron does not know about ENV variables, we need to tell it
When running docker-compose up the database is not completely ready when the app container starts. This caused the alembic cronjob to fail. Built in a function to retry the connection 5 times (max)

Dit is top, ik had dat probleem indd gezien lokaal.


Add debounce to scroll event listener for better performance

closes #47.

Summary by CodeRabbit
Release Notes

New Features

Introduced a "Back to Top" button for easier navigation on blog pages.
Added lodash as a new dependency to enhance utility functions.

Bug Fixes

Improved performance and user experience with the new scroll event handling for the "Back to Top" button.

@tyaga001 pl review.

@pavanydg pls check merge conflicts

@tyaga001 fixed merge conflicts.

@pavanydg check all the blogs as I tested other blogs and I don't see back to top button in other blogs except first clerk vs supabase.


Improve consistency and testability of time to update estimation

Some changes to do a more consistent estimation of next time to update (TTU), and specially to be able to test it. Changes are specially focused on stop relying on time.Now().
TTU could be defined before these changes as the time since "now" to the time of renovation, what is obviously different depending on the moment of the calculation. After these changes the TTU is the specific point in time of renovation, that doesn't depend on any other thing
Work in progress.

[x] Add some tests with some basic cases
[x] Operate as much as possible with the specific time instead of with the duration since it was calculated as it can be inconsistent, specially on tests
[x] Explicitely report if a TTU for a secret could be calculated instead of just returning "0"
[x] Base TTU of certificates also on its creation time
[x] Add some more test cases for certificates in general

@mrodm I think this is ready to be reviewed and merged, thanks!


(WIP) Replace private API calls

I noticed that in - (void)km_resizeTransitionNavigationBarFrame, there's a call to private API:
UIView *backgroundView = [self.navigationController.navigationBar valueForKey:@"_backgroundView"];

I think it's best that we should avoid calling private APIs – since in the future it might lead to app rejections, or there could be breaking changes.
The alternative method uses navigationBar's frame, and the status bar height information is taken from the navigationBar's min Y. If the status bar is hidden, then the navigation bar's origin.y will be 0.
Another case is in - (void)setKm_prefersNavigationBarBackgroundViewHidden:(BOOL)hidden. The only way I can think of is via .subviews.firstObject (although this is basically the same way). Still thinking of an alternative way.
Tested Scenarios

Normal navigation (VC with nav bar -> VC with nav bar)
Navigation to VC with hidden nav bar
Normal navigation from scroll view
Navigation to VC with hidden nav bar from scroll view
Normal navigation with disabled status bar
Navigation to VC with hidden nav bar, with disabled status bar

Let me know if I miss any other scenarios / edge cases. Thanks!

Hi @davidchristiandy, thanks for your pull request, but there are currently no cases of rejections, the code has no magic number, it is elegant, so I don't want to change the implementation.


Conditional blocks of rules emits console.warn

emotion version: ^7.0.12
react version: 15.4.1

Relevant code.
export default withTheme(styled.label`
  label& {
    ${(props) => props.disabled ? css`
      cursor: not-allowed;
      opacity: 0.6;
    ` : ""}
  }
`);

What you did:

Rendered the component.

What happened:

Warning: Unsupported style property css-1kw3xf9. Did you mean css1kw3xf9?

Reproduction:

N/A

Problem description:

The line of code that conditionally inserts a block of rules is the culprit.

Suggested solution:

Is this something that can be supported, or is the recommendation to move all conditional logic to each individual key/value pair?

Confirmed that this does not emit a warning:
cursor: ${(props) => props.disabled ? "not-allowed" : "inherit" };
opacity: ${(props) => props.disabled ? 0.6 : "inherit" };

With just emotion:

quick-degree-finder-index-js.js.gz    21.5 kB
polyfills.js.gz    29.3 kB

If we drop preact-compat:

quick-degree-finder-index-js.js.gz    18.4 kB
polyfills.js.gz    29.3 kB

The simple fix is to wrap your "else" in css.
export default withTheme(styled.label`
  label& {
    ${(props) => props.disabled ? css`
      cursor: not-allowed;
      opacity: 0.6;
    ` : css``}
  }
`);

The better fix is something like this.
const Label = styled.label`
  label & {
    ${(props) => props.disabled && css`
      cursor: not-allowed;
      opacity: 0.6;
    `}
  }
`

We should have better errors to suggest this though.

If you look at the compiled code it may make it more clear why this works.
var Label = /* #__PURE__ */ styled(
  'label',
  'css-17fi7rq0',
  [],
  [
    function (props) {
      return (
        props.disabled &&
        /* #__PURE__ */
        css([], [], function createEmotionStyledRules () {
          return [
            {
              cursor: 'not-allowed',
              opacity: '0.6'
            }
          ]
        })
      )
    }
  ],
  function createEmotionStyledRules (x0) {
    return {
      '& span': {
        $0: x0
      }
    }
  }
)

Ah, thanks for this!  We're converting from styled-components and I guess we found that false-y values were removed implicitly.


[Feature]: update Dialog to make it scrollable vertically if the content is larger

Describe the feature
Make the content scrollable, using https://www.radix-vue.com/components/dialog.html

<template>
  <DialogPortal>
    <DialogOverlay
      class="fixed inset-0 grid place-items-center z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 overflow-y-auto"
    >
      <DialogContent
        :class="
          cn(
            'z-50 grid place-items-center w-full max-w-lg gap-4 border border-border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full',
            props.class
          )
        "
        v-bind="{ ...props, ...emitsAsProps }"
      >
        <slot />

        <DialogClose
          class="absolute top-3 right-3 p-0.5 transition-colors rounded-md hover:bg-secondary"
        >
          <X class="w-4 h-4" />
          Close
        </DialogClose>
      </DialogContent>
    </DialogOverlay>
  </DialogPortal>
</template>

Additional information

[ ] I intend to submit a PR for this feature.
[ ] I have already implemented and/or tested this feature.

@maelp  thanks for this feature request! I think we can include that in a Dialog example! Could you create a PR and add this into Dialog examples? 😁

You mean the example rather than in the code for the Dialog of shadcn directly? I think it's better in the code directly no? because if the screen is large enough it keeps the same behaviour as now, and if it is too small, it allows scrolling

It can be done with CSS :has or CVA Variants but I don't know it's worth to have or not

I can take this issue, but don't understand task properly, @sadeghbarati can you help with some screenshots? Maybe I will help ❤

@romanhrynevych Thanks man!
You can take a look 🌟Bootstrap🌟  Modal examples
https://getbootstrap.com/docs/5.3/components/modal/#scrolling-long-content

Thanks mate 👐
I will open a PR to resolve this issue 🙂

@zernonia Hi,I want to ask is this issue fixed in the latest version? At present, we also encountered the same problem, in the device with relatively small resolution, the Dialog content is not fully displayed and cannot be scroll. Or is there a hotfix to fix it? many thanks.

@0xinhua you can refer to this PR #287, see code changes, scroll works fine but need some updates in Radix-vue repo, refer to this PR PR in radix-vue, but there is a bug with toaster and Dialog, don't have time to take a look on it 🙁


Fixed typo in Crowdsale contract comment

🚀 Description

Fixed typo in Crowdsale contract comment (statemens => statements)

[x] 📘 I've reviewed the OpenZeppelin Contributor Guidelines
[x] ✅ I've added tests where applicable to test my new functionality.
[x] 📖 I've made sure that my contracts are well-documented.
[x] 🎨 I've run the JS/Solidity linters and fixed any issues (npm run lint:all:fix).

Thanks!


APK

Glad to see Odysee Android being worked on. At the moment I don't have Android Studio setup on my computer as I am in the middle of rebuilding it. Is there an easy way to get / compile an apk to test out?

We will be sharing an early version later today on Reddit + Discord.

Is that OdyseeForever on reddit and the LBRY Foundation Discord?
https://www.reddit.com/r/OdyseeForever/ 'LBRY Foundation' Discord