Issue when re-ordering server groups

SQL Operations Studio Version: 0.23.6

Steps to Reproduce:
When re-ordering server groups using drag and drop in the side explorer (to get into alphabetical order) I accidentally placed one group inside another and couldn't get it back out.
Re-ordering (note added)
Let's say I have groups A, B, C, D. Dragging B all the way down to the bottom below D and drop should reorder groups to A, C, D, B but I don't see it happening.

@topp10 Try this. Drag and drop the group which is accidentally added into another group all the way down to the Object Explorer but still within the side bar area then drop it. Let us know if you could save your group 😄

@erickangMSFT Thanks for your reply. It works now but with one quirk!
To make it work the first time I actually had to drag the parent group heading down rather than the child...
After that it works as expected by dragging the child group header out from the parent to separate the groups.

@topp10 thanks for checking. It seem there is an odd behavior that reordering is not function as expected. Let's say I have groups A, B, C, D. Dragging B all the way down to the bottom below D and drop should reorder A, C, D, B but I don't see it happening. Let me file an issue for that.

Cool. No worries.
Cheers!
On 8 Dec 2017 17:07, "Eric Kang"<EMAIL_ADDRESS>wrote:

@topp10 https://github.com/topp10 thanks for checking. It seem there is
an odd behavior that reordering is not function as expected. Let's say I
have groups A, B, C, D. Dragging B all the way down to the bottom below D
and drop should reorder A, C, D, B but I don't see it happening. Let me
file an issue for that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/sqlopsstudio/issues/167#issuecomment-350316892,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHOr-QKYX0hZ6psimV8StKV-fpQFJdxsks5s-WzogaJpZM4Qltfe
.

Please also look at https://github.com/microsoft/sqlopsstudio/issues/335 when resolving for related requirements.

This is upstream and dependent on https://github.com/microsoft/vscode/issues/32592

Can I +1 this as I have 30+ connections and my OCD is struggling with the untidiness of my list.  I understand I can modify the JSON, but that isn't so simple with so many.  Many thanks.

Would also like to +1 this, still appears this hasn't been addressed in 1.35.0.  For those of us who are tortured with having to keep up with large lists of connections, this would be a great QoL update to lessen that pain.  ;)

Would also like to +1 this, still appears this hasn't been addressed in 1.35.0. For those of us who are tortured with having to keep up with large lists of connections, this would be a great QoL update to lessen that pain. ;)

I can see all of my groups and connections in my settings.json file but how do you reorder them?  The order in the file doesn't match the order in the right slide-out panel and I don't see any attributes to set the order.  I'm trying to reorder the individual connections within a group not the actual groups themselves.  Thanks

I can see all of my groups and connections in my settings.json file but how do you reorder them? The order in the file doesn't match the order in the right slide-out panel and I don't see any attributes to set the order. I'm trying to reorder the individual connections within a group not the actual groups themselves. Thanks

The order should be based on the order in the file, but it may not make a lot of sense just glancing at it. There are two main sections you can edit: "datasource.connectionGroups" and "datasource.connections".
For "datasource.connectionGroups", the order of the child elements should match the order of the groups. The only exception is the "ROOT" object. It doesn't matter where it is, all connections that are not part of a defined group are part of this group and show at the top of the tree. If you're moving things around I would highly suggest making or keeping it the top item. For nested groups, they will appear in the order they are defined under their parent group. If you have a lot of groups, this may be very messy in the config where a group from one higher parent is defined later than a group in a different parent.
For "datasource.connections", the order will also match the order of the servers, but within the groups they are part of. This means it could look out of order as you may have connections from a later group at the top, or a mix between groups next to each other. The important thing is that all connections that reference a specific group ID will appear visually in that group in the order they are listed in this section.
For both sections, the exact order doesn't matter so much as the relative order to other entries. So, rather than doing a bunch of edits, just find an entry you want to move and place it so it's in the right order relative to the next or previous item at that tree level.
When you're done editing the config, you can reload the application window ("Developer: Reload Window" in the Command Palette) or just restart the application to get the new sort order.

I can see all of my groups and connections in my settings.json file but how do you reorder them? The order in the file doesn't match the order in the right slide-out panel and I don't see any attributes to set the order. I'm trying to reorder the individual connections within a group not the actual groups themselves. Thanks

The order should be based on the order in the file, but it may not make a lot of sense just glancing at it. There are two main sections you can edit: "datasource.connectionGroups" and "datasource.connections".
For "datasource.connectionGroups", the order of the child elements should match the order of the groups. The only exception is the "ROOT" object. It doesn't matter where it is, all connections that are not part of a defined group are part of this group and show at the top of the tree. If you're moving things around I would highly suggest making or keeping it the top item. For nested groups, they will appear in the order they are defined under their parent group. If you have a lot of groups, this may be very messy in the config where a group from one higher parent is defined later than a group in a different parent.
For "datasource.connections", the order will also match the order of the servers, but within the groups they are part of. This means it could look out of order as you may have connections from a later group at the top, or a mix between groups next to each other. The important thing is that all connections that reference a specific group ID will appear visually in that group in the order they are listed in this section.
For both sections, the exact order doesn't matter so much as the relative order to other entries. So, rather than doing a bunch of edits, just find an entry you want to move and place it so it's in the right order relative to the next or previous item at that tree level.
When you're done editing the config, you can reload the application window ("Developer: Reload Window" in the Command Palette) or just restart the application to get the new sort order.

That worked!
(Hopefully, in a future release, they'll add drag-and-drop support)


There was an error processing your request: Could not analyze the repository: could not clone repo: exit status 128

On a local install following the instructions on the project page, all repositories I try return this error: "There was an error processing your request: Could not analyze the repository: could not clone repo: exit status 128"
It even fails on github.com/gojp/goreportcard itself.
Looking into _repos, a repository is created from the project repo, but only contains a single commit taken from a merge of the HEAD commit on the default branch and nothing else. Time stamp matches the HEAD commit but the message is different.

@fgm hmm, could you provide some more details about your installation? Which version of Go, on what OS?

go version:
go version go1.11.2 darwin/amd64
uname -a
Darwin FGM-GUI15.local 17.7.0 Darwin Kernel Version 17.7.0: Wed Oct 10 23:06:14 PDT 2018; root:xnu-4570.71.13~1/RELEASE_X86_64 x86_6
git --version
git version 2.17.0

@fgm are you still seeing this issue? I'm not able to reproduce it.

Checking.

I'm having the same issue here. I cannot advance through the make install part of the installation procedure.
Any ideas on how it is possible to circumvent gometalinter?
Thanks


added left_offset to robot image plugin config

previously the plugin assumed vehicle frame origin to be located
at the vehicle center. This allows the user to specify the distance
from the left of image (rear of vehicle) to the origin.

Wouldn't it be better to either:

Add a static transform in TF to account for the offset
Add fields for offset_x and offset_y as offsets from the center of the image

+1 for offsets from image center.
Requiring a TF seems like more work than I want to do most of the time.

Good suggestions. My thoughts are:

Always having to add a static transform to a vehicle_center frame in the
launch files would be cumbersome. The vehicle center frame would only be
useful for this plugin so it makes sense to do the work in the plugin
The reason I used left_offset is that it corresponds directly to a
vehicle dimensions parameter - it is equals the "rear overhang", or
distance from the rear of the vehicle to the rear axle. You can easily look
up rear overhang in the specs for commercial vehicles. You can't look up
the offset from vehicle center directly, you'd have to mentally compute it.
I didn't include an offset for y because I've never needed it personally.
The origin has always been at the image center. It wouldn't hurt to provide
one though.

On Thu, Jan 19, 2017 at 9:33 AM, Edward Venator<EMAIL_ADDRESS>wrote:

+1 for offsets from image center.
Requiring a TF seems like more work than I want to do most of the time.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/swri-robotics/mapviz/pull/470#issuecomment-273807425,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJlSTosJwT-5lDxtTg9qlAZSJ0CQldTBks5rT4I4gaJpZM4LnKGL
.

Even so, I still prefer offsetting from the center.  The math for calculating the offset should be trivial given the overhang and vehicle length.

Okay, it's a little less convenient for my use case but seems cleaner and
more general. I'll change it.
On Thu, Jan 19, 2017 at 2:00 PM, Marc Alban<EMAIL_ADDRESS>wrote:

Even so, I still prefer offsetting from the center. The math for
calculating the offset should be trivial given the overhang and vehicle
length.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/swri-robotics/mapviz/pull/470#issuecomment-273882015,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJlSTnTaQxOBUCelR6fiDSIgEOFskvRiks5rT8DNgaJpZM4LnKGL
.

I removed the left_offset parameter and added offset_x, offset_y instead. I have verified it works on my computer.


Cannot place debugger breakpoint on an assignment

Debugging currently does not work, most likely due to an ElixirSense change. This gist has some details:
https://gist.github.com/Ajwah/4dee98bbb1e0c9257bb52dcd6c6802e2#file-gistfile1-txt
The error Could not determine module at line is received when debugging.
It's seems likely that this broke from the ElixirSense update in https://github.com/elixir-lsp/elixir-ls/pull/202

Placing a debugger breakpoint on an assignment currently results in the breakpoint not being hit and the message "Could not determine module at line" being returned. I've unpinned this issue because it's impact radius is not as far-reaching as I initially thought.

With recent changes in elixir_sense this should not be a problem anymore.
To make it more resilient we can fallback to guessing the module via
:code.all_loaded()
|> Enum.filter(fn {atom, _} -> String.starts_with?(Atom.to_string(atom), "Elixir.") end)
|> Enum.group_by(fn
  {module, path} -> Path.expand(to_string(module.module_info(:compile)[:source]))
end, fn {module, _path} -> module end)

Worst case it will return a list of modules and we may set breakpoints in every one of them


Checkout Page

Continue debugging this error 👍🏻
Uncaught TypeError: Cannot read properties of undefined (reading 'items')
at checkout.js:8:1
at memoizedSelector (with-selector.development.js:79:1)
at getSnapshotWithSelector (with-selector.development.js:134:1)
at mountSyncExternalStore (react-dom.development.js:16799:1)
at Object.useSyncExternalStore (react-dom.development.js:17727:1)
at useSyncExternalStore (react.development.js:1676:1)
at useSyncExternalStoreWithSelector (with-selector.development.js:145:1)
at useSelector (useSelector.js:41:1)
at Checkout (checkout.js:8:1)
Its in line 8.

The issue for this error was due to the way we handle our cart using the cart.js function.
By modifying this line to include the array that sets it to null at the start.
const cartItems = useSelector((state) => state.items) || [];
To fix it you need to ensure that the array is set to null


Add import of docker socket

This PR Completes Docker Support in the planned_features.md

Hi @Idleite
Thank you for tackling this! I'm actually in the process of doing some major refactoring of the core JS files. I want to tackle that first before I move on to anything else. It won't effect what you've completed, but I would like to finalize those changes first before I move on to test this new addition.
Just giving you a heads up. Thanks again!

I think this should also close any requests for portainer support or dockge support as this would go straight to docker making adding portainer or dockge support redundant

I think this should also close any requests for portainer support or dockge support as this would go straight to docker making adding portainer or dockge support redundant

Issue is that it does only work for the portall host.
also if the container is in host network mode it will not work (you can get the image exposed ports in ['Config']['ExposedPorts'] it can change if some env made the app port change but it can be checked with nmap, this would allow to have a tiny bit more port in the event where you put container in host network mode without changing the default port)
Personnaly i had more of a agent based approach.
Kind of like you did but an agent in a docker container that you would deploy on each host you need and that would interact with the portall api and periodically fetch and updates ports.
This would however require an endpoint for the agent to fetch the existing ports in portall so that it can compare, assign IP Nickname accordingly and delete docker ports on portall that arent used anymore.
Woudl love to have a feature like that, wouldn't need to do anything additional to get your used ports or remove port not used anymore

this doesn't have to use the local docker host there is a env in the compose for the url of the socket you could use a tls or http socket here

i'll add logic to check for host mode and change accordingly

this doesn't have to use the local docker host there is a env in the compose for the url of the socket you could use a tls or http socket here

although i have not tested this i'll also test this

this doesn't have to use the local docker host there is a env in the compose for the url of the socket you could use a tls or http socket here

My point is that it doesn't support import for multiple IPs (also it sets the IP as <IP_ADDRESS>)
Would be great if you have only one host to manage but if as me you have multiple host it's kind of limited and I find it weird to have ability to import from docker for only one host when the tool support multiples
Apart of that, tbh I was kind of hoping for more than import as I stated above and I have some small script that does work when using the db but obviously not the api (since it doesn't have a way to get port list for now) and doesn't work if runned on an other host.
Idk what will be used worst case I'll just fork ig.

Here is what I had in mind. So here it use the sqlite file I had but it can be adapted to using the api.
It does not delete unused ports for now too, and maybe network mode host code part can be made better (not a big fan of checking before and after the func if its in host mode, better having it be checked one time) but its kind of a proof of concept
import docker
import sqlite3
import socket
import nmap
import logging

# Configure logging to stdout
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)

def get_container_ports(container):
    network_mode = container.attrs['HostConfig']['NetworkMode']
    if network_mode == 'host':
        exposed_ports = container.attrs['Config']['ExposedPorts']
        if exposed_ports:
            ports = [int(port.split('/')[0]) for port in exposed_ports.keys()]
            logger.debug(f"Found exposed ports {ports} for container {container.name} in host network mode.")
            return ports
        else:
            logger.debug(f"No exposed ports found for container {container.name} in host network mode.")
            return []
    else:
        ports = container.attrs['NetworkSettings']['Ports']
        exposed_ports = []
        for container_port, host_bindings in ports.items():
            if host_bindings:
                for binding in host_bindings:
                    exposed_ports.append(int(binding['HostPort']))
                    logger.debug(f"Found port {binding['HostPort']} (container port {container_port}) "
                                 f"for container {container.name} in bridge network mode.")
        return exposed_ports

def check_port_usage(ip, port):
    nm = nmap.PortScanner()
    nm.scan(ip, str(port))
    port_state = nm[ip]['tcp'][port]['state']
    logger.debug(f"Port {port} state: {port_state}")
    return port_state == 'open'

def get_nickname(cursor, ip_address):
    cursor.execute("SELECT nickname FROM port WHERE ip_address = ? AND nickname IS NOT NULL ORDER BY id ASC",
                   (ip_address,))
    result = cursor.fetchone()
    return result[0] if result else None

def update_database(container_name, ip_address, ports):
    conn = sqlite3.connect('portall.db')
    cursor = conn.cursor()

    nickname = get_nickname(cursor, ip_address)

    for port in ports:
        cursor.execute("SELECT * FROM port WHERE description = ? AND port_number = ?",
                       (f"{container_name}_docker", port))
        if cursor.fetchone() is None:
            cursor.execute("INSERT INTO port (nickname, description, port_number, ip_address) VALUES (?, ?, ?, ?)",
                           (nickname, f"{container_name}_docker", port, ip_address))
            logger.debug(f"Added port {port} for container {container_name} to database.")

    conn.commit()
    conn.close()

def process_container(container):
    container_name = container.name
    ip_address = socket.gethostbyname(socket.gethostname())
    ports = get_container_ports(container)
    used_ports = []

    if container.attrs['HostConfig']['NetworkMode'] == 'host':
        for port in ports:
            if check_port_usage(ip_address, port):
                used_ports.append(port)
                logger.debug(f"Port {port} is used for container {container_name} in host network mode.")
            else:
                logger.debug(f"Port {port} is not used for container {container_name} in host network mode.")
    else:
        used_ports = ports

    if used_ports:
        logger.info(f"Processing container {container_name}")
        update_database(container_name, ip_address, used_ports)
    else:
        logger.warning(f"No used ports found for container {container_name}.")

def main():
    try:
        client = docker.from_env()
        containers = client.containers.list()

        logger.info("Starting container processing")

        for container in containers:
            logger.debug(
                f"Inspecting container: {container.name}, Network Mode: {container.attrs['HostConfig']['NetworkMode']}")
            process_container(container)

        logger.info("Container processing completed")

    except Exception as e:
        logger.error(f"An error occurred: {str(e)}", exc_info=True)

if __name__ == "__main__":
    main()

My point is that it doesn't support import for multiple IPs (also it sets the IP as <IP_ADDRESS>)
Would be great if you have only one host to manage but if as me you have multiple host it's kind of limited and I find it weird to have ability to import from docker for only one host when the tool support multiples
Apart of that, tbh I was kind of hoping for more than import as I stated above and I have some small script that does work when using the db but obviously not the api (since it doesn't have a way to get port list for now) and doesn't work if runned on an other host.
it defaults to <IP_ADDRESS> if you dont set a label on the container if you set com.portall.ip to the ip you want it will use this same thing if you use com.portall.description.
I was also in the process of setting it up to not just import but to constantly pull from a socket  the code for this is in utils/docker/socket.py

My point is that it doesn't support import for multiple IPs (also it sets the IP as <IP_ADDRESS>)
Would be great if you have only one host to manage but if as me you have multiple host it's kind of limited and I find it weird to have ability to import from docker for only one host when the tool support multiples
Apart of that, tbh I was kind of hoping for more than import as I stated above and I have some small script that does work when using the db but obviously not the api (since it doesn't have a way to get port list for now) and doesn't work if runned on an other host.

it defaults to <IP_ADDRESS> if you dont set a label on the container if you set com.portall.ip to the ip you want it will use this, It will do the same thing if you use com.portall.description.
I was also in the process of setting it up to not just import but to constantly pull from a socket  the code for this is in utils/docker/socket.py

Didn't see the most recent commits my bad.
Not a big fan of having to set labels for both IP and description for all my containers tho 😅.
If there's some way to have multiple sockets, and a way to set up for all containers of a socket then I'm guess I'm fine with that too.
Would love to have a way to delete and update unused/changed port but it can probably be done too.

Oh nice one. I didn't realise this was already being worked on so I also implemented the same sort of thing. You just have to mount the docker.sock and I added a button on the import page to import from running docker containers.
My fork is here fyi but seems you've already got it handled: https://github.com/jontstaz/Portall

looking forward to this getting merged so i can start using portall!

I'll make a docker container on my repo so it can still be used

I brought this up elsewhere, but my wife and I are busy taking care of our newborn, so development is on a temporary pause.
In the meantime, I think using @Idleite’s fork is a good substitute if you like what they’re doing and want to use their features.
Docker support is definitely on my to-do list, along with supporting Portainer for those who prefer that. I’m working on developing the groundwork for a ‘plugin’ system that would house all of these external support systems now and in the future.
Cheers!

Docker image is Now available at ghcr.io/idleite/portall

Docker support is definitely on my to-do list, along with supporting Portainer for those who prefer that. I’m working on developing the groundwork for a ‘plugin’ system that would house all of these external support systems now and in the future.

i can definitely begin work on a separate system for external plugins. Ill make a different pr for it then refactor this pr for the plugin system

@Idleite
not really sure what to put inside the File Content while selecting docker socket. whatever i try i get Error importing data.
docker run -d \
  --name portall \
  --restart unless-stopped \
  -p 51643:8080 \
  -e SECRET_KEY='not_sure_whats_the_point_of_this_as_well' \
  -e DOCKER_HOST=/var/run/docker.sock \
  -v /home/radu/.portall:/app/instance \
  -v /var/run/docker.sock:/var/run/docker.sock \
  ghcr.io/idleite/portall:latest

docker host should have the protocol like this
docker run -d \   --name portall \   --restart unless-stopped \   -p 51643:8080 \   -e SECRET_KEY='not_sure_whats_the_point_of_this_as_well' \   -e DOCKER_HOST=unix://var/run/docker.sock \   -v /home/radu/.portall:/app/instance \   -v /var/run/docker.sock:/var/run/docker.sock \   ghcr.io/idleite/portall:latest

the file content does nothing you have to put something in it but it does matter

i made the change but it still doesn't work:
2024-08-05T17:43:22.519631117Z ERROR:app:Exception on /import [POST]
2024-08-05T17:43:22.519653839Z Traceback (most recent call last):
2024-08-05T17:43:22.519657609Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
2024-08-05T17:43:22.519662169Z     self.dialect.do_execute(
2024-08-05T17:43:22.519665585Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
2024-08-05T17:43:22.519668062Z     cursor.execute(statement, parameters)
2024-08-05T17:43:22.519670208Z sqlite3.OperationalError: no such column: port.docker_id
2024-08-05T17:43:22.519672366Z
2024-08-05T17:43:22.519674459Z The above exception was the direct cause of the following exception:
2024-08-05T17:43:22.519676655Z
2024-08-05T17:43:22.519678681Z Traceback (most recent call last):
2024-08-05T17:43:22.519680868Z   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1473, in wsgi_app
2024-08-05T17:43:22.519683131Z     response = self.full_dispatch_request()
2024-08-05T17:43:22.519685281Z   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 882, in full_dispatch_request
2024-08-05T17:43:22.519687516Z     rv = self.handle_user_exception(e)
2024-08-05T17:43:22.519689624Z   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 880, in full_dispatch_request
2024-08-05T17:43:22.519691876Z     rv = self.dispatch_request()
2024-08-05T17:43:22.519693996Z   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 865, in dispatch_request
2024-08-05T17:43:22.519696227Z     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
2024-08-05T17:43:22.519698497Z   File "/app/utils/routes/imports.py", line 75, in import_data
2024-08-05T17:43:22.519700708Z     existing_port = Port.query.filter_by(
2024-08-05T17:43:22.519702869Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 2728, in first
2024-08-05T17:43:22.519705123Z     return self.limit(1)._iter().first()  # type: ignore
2024-08-05T17:43:22.519707260Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 2827, in _iter
2024-08-05T17:43:22.519709730Z     result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
2024-08-05T17:43:22.519711944Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2351, in execute
2024-08-05T17:43:22.519714191Z     return self._execute_internal(
2024-08-05T17:43:22.519716352Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2236, in _execute_internal
2024-08-05T17:43:22.519718757Z     result: Result[Any] = compile_state_cls.orm_execute_statement(
2024-08-05T17:43:22.519720999Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/context.py", line 293, in orm_execute_statement
2024-08-05T17:43:22.519735617Z     result = conn.execute(
2024-08-05T17:43:22.519738908Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1418, in execute
2024-08-05T17:43:22.519741315Z     return meth(
2024-08-05T17:43:22.519743522Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 515, in _execute_on_connection
2024-08-05T17:43:22.519745852Z     return connection._execute_clauseelement(
2024-08-05T17:43:22.519748074Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1640, in _execute_clauseelement
2024-08-05T17:43:22.519750322Z     ret = self._execute_context(
2024-08-05T17:43:22.519752455Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
2024-08-05T17:43:22.519754712Z     return self._exec_single_context(
2024-08-05T17:43:22.519756847Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
2024-08-05T17:43:22.519759098Z     self._handle_dbapi_exception(
2024-08-05T17:43:22.519761202Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2353, in _handle_dbapi_exception
2024-08-05T17:43:22.519763463Z     raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
2024-08-05T17:43:22.519765647Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
2024-08-05T17:43:22.519767918Z     self.dialect.do_execute(
2024-08-05T17:43:22.519770028Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
2024-08-05T17:43:22.519772271Z     cursor.execute(statement, parameters)
2024-08-05T17:43:22.519774404Z sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: port.docker_id
2024-08-05T17:43:22.519777633Z [SQL: SELECT port.id AS port_id, port.ip_address AS port_ip_address, port.nickname AS port_nickname, port.port_number AS port_port_number, port.port_protocol AS port_port_protocol, port.description AS port_description, port."order" AS port_order, port.docker_id AS port_docker_id
2024-08-05T17:43:22.519780910Z FROM port
2024-08-05T17:43:22.519783078Z WHERE port.ip_address = ? AND port.port_number = ? AND port.port_protocol = ?
2024-08-05T17:43:22.519785312Z  LIMIT ? OFFSET ?]
2024-08-05T17:43:22.519787424Z [parameters: ('<IP_ADDRESS>', 51643, 'tcp', 1, 0)]
2024-08-05T17:43:22.519789601Z (Background on this error at: https://sqlalche.me/e/20/e3q8)

i don't see the point of the DOCKER_HOST=unix://var/run/docker.sock environment value, simply mounting the socket should be enough. also the textview should be hidden for the "docker socket" option as it creates confusion
i have lots of containers so portall would make a lot of sense for me

i removed the portall mount point folder (rm -rf /home/radu/.portall) and started the container again - it works now!

docker run -d \
  --name portall \
  --restart unless-stopped \
  -p 51643:8080 \
  -e SECRET_KEY='whatever' \
  -e DOCKER_HOST=unix://var/run/docker.sock \
  -v /home/radu/.portall:/app/instance \
  -v /var/run/docker.sock:/var/run/docker.sock \
  ghcr.io/idleite/portall:latest

the docker host environment variable allows for docker sockets at different locations or on remote hosts. When i finish the rest of the setting system i will remove this.

@Idleite I merged your docker implementation into the v1.0.9 branch.
I made several changes, all of them UI related. I've moved the docker logic into my 'Plugins' feature. There are some things I would love to see from this addition. Let me know if you're up for it.

I would prefer if the docker plugin is handled entirely from within the application, and not handled externally (either via a compose file or .env)
I don't have extensive knowledge on this, but the Docker feature needs to work on other operating systems as well. Not sure if DOCKER_HOST=unix://var/run/docker.sock would work on something like Windows.
I see that you added 'Docker-Socket' in import.html, but the addition doesn't seem fully implemented.

If you're up for it, I would love to see you finish this implementation. It think we're off to a great start. Feel to create a new PR aim at the v1.0.9 branch and let me know if you have any questions.
Cheers!

I started working on this and have made good progress. I just need to update the UI for the new 'Docker' settings tab.

I'll continue work on this and finish up the backend of the docker settings

So I implemented the Docker plugin..mostly! Still has some parts needing to be fleshed out.
I do, however, want to move the functionality into this new 'Docker Plugin Settings' sub-menu that gets created when the docker plugin is enabled.

Currently, as seen in the first image, there's single fields for host/socket. But I know there are folks out there who may have multiple hosts running docker, so I think it would be better to be able to add multiple ones, hence the updated table in the 'Docker Plugin Settings' menu.
I don't think I want the 'Docker' tab to be a permanent feature - cause I don't want a bunch of new tabs for every plugin that gets added - but it's there for now during development. What I would prefer, and feel free to chime in with your opinion, is to have the page exist and have a 'Configure' button next to the Docker plugin under 'Plugins' that simply takes you the page with the Host/Socket table. I think that's a much cleaner approach.
I have not implemented the functionality of moving the Docker plugin logic from the 'Plugins' page into the new 'Docker Plugin Settings' page. I may leave that for you to tackle. Remember to include a 'Delete' button on the table to remove entries as well!
v1.0.9 has a lot of codebase changes, as I did a lot of cleaning (mainly JS related), so hopefully things are a bit easier to follow now. Still have more work to do - but I'm rather busy at home with family business at the moment! Hopefully it's enough to help you get started.
Ping me if you have any questions. Cheers!

I believe this plugin system severely over complicates the code

I'm not a big fan of it's current implementation - but development has to start somewhere.
It's either to integrate each new feature as an integral part of the application, or to design an auxiliary system that would allow additional features, separate from the core functions, to be added - potentially by others, to compliment the core application.
I know I'll come back to redesigning it, but if you have any ideas on how to approach this right now, I would be glad to hear them.
Thanks!


testing.iconSkipped theme color not used

Behaviour
Expected vs. Actual
Expect skip icon in test explorer sidebar panel to be controlled by theme setting 'testing.iconSkipped'
Steps to reproduce:

Create a unittest.py test suite
Preface a test with @unittest.skip("")
Run tests from Test Explorer view

PS - also, the theme system in vscode is not well documented in general and it is unclear when I should expect to see the following colors used.  If some additional information on this could be provided it would be very useful:
testing.iconQueued
testing.message.info.decorationForeground
testing.message.info.lineBackground

Diagnostic data

Python version (& distribution if applicable, e.g. Anaconda): 3.7.5
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Global
Value of the python.languageServer setting: Default

User Settings

defaultLS: {"defaultLSType":"Pylance"}

downloadLanguageServer: true

envFile: "<placeholder>"

venvPath: "<placeholder>"

venvFolders: "<placeholder>"

condaPath: "<placeholder>"

pipenvPath: "<placeholder>"

poetryPath: "<placeholder>"

languageServer: "Pylance"

linting
• enabled: true
• cwd: "<placeholder>"
• Flake8Args: "<placeholder>"
• flake8Enabled: false
• flake8Path: "<placeholder>"
• lintOnSave: true
• banditArgs: "<placeholder>"
• banditEnabled: false
• banditPath: "<placeholder>"
• mypyArgs: "<placeholder>"
• mypyEnabled: false
• mypyPath: "<placeholder>"
• pycodestyleArgs: "<placeholder>"
• pycodestyleEnabled: false
• pycodestylePath: "<placeholder>"
• prospectorArgs: "<placeholder>"
• prospectorEnabled: false
• prospectorPath: "<placeholder>"
• pydocstyleArgs: "<placeholder>"
• pydocstyleEnabled: false
• pydocstylePath: "<placeholder>"
• pylamaArgs: "<placeholder>"
• pylamaEnabled: false
• pylamaPath: "<placeholder>"
• pylintArgs: "<placeholder>"
• pylintPath: "<placeholder>"

sortImports
• args: "<placeholder>"
• path: "<placeholder>"

formatting
• autopep8Args: "<placeholder>"
• autopep8Path: "<placeholder>"
• provider: "autopep8"
• blackArgs: "<placeholder>"
• blackPath: "<placeholder>"
• yapfArgs: "<placeholder>"
• yapfPath: "<placeholder>"

testing
• cwd: "<placeholder>"
• debugPort: 3000
• nosetestArgs: "<placeholder>"
• nosetestsEnabled: undefined
• nosetestPath: "<placeholder>"
• promptToConfigure: true
• pytestArgs: "<placeholder>"
• pytestEnabled: false
• pytestPath: "<placeholder>"
• unittestArgs: "<placeholder>"
• unittestEnabled: true
• autoTestDiscoverOnSaveEnabled: true

terminal
• activateEnvironment: true
• executeInFileDir: "<placeholder>"
• launchArgs: "<placeholder>"

experiments
• enabled: true
• optInto: []
• optOutFrom: []

insidersChannel: "off"

tensorBoard
• logDirectory: "<placeholder>"

Maybe related, the skip icon is not used in the gutter of the editor, making it difficult to note skipped tests when scrolling through the editor, since it looks very similar to passed tests.
Editor gutter (easily mistaken for passed tests due to the same green color):

Test tree (very clear that tests are indeed skipped):

I would prefer the skip icon to be used in the editor as well (it was this way in the previous test explorer extension)
Holler at me if I should make a new issue instead


Reduce to single link

@clararaubertas: Can you check why this PR is failing?  May be a non-issue.

Looks like this is related to the python script syntax check on this end, which I haven't been involved with.

@william76, Can you check into this?


Update web app

SonarQube analysis reported 2 issues

 1 major
 1 minor

Watch the comments in this conversation to review them.
1 extra issue
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 MockClass.java#: Move this file to a named package.

SonarQube analysis reported 8 issues

 1 blocker
 2 critical
 3 major
 2 minor

Watch the comments in this conversation to review them.
1 extra issue
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 MockClass.java#: Move this file to a named package.

SonarQube analysis reported 8 issues

 1 blocker
 2 critical
 3 major
 2 minor

Watch the comments in this conversation to review them.
1 extra issue
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 MockClass.java#: Move this file to a named package.

SonarQube analysis reported 8 issues

 1 blocker
 2 critical
 3 major
 2 minor

Watch the comments in this conversation to review them.
1 extra issue
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 MockClass.java#: Move this file to a named package.


Cannot open Xamarin.Forms project

Environment data
dotnet --info output:
NET Command Line Tools (1.0.1)
Product Information:
Version:            1.0.1
Commit SHA-1 hash:  005db40cd1
Runtime Environment:
OS Name:     Mac OS X
OS Version:  10.12
OS Platform: Darwin
RID:         osx.10.12-x64
Base Path:   /usr/local/share/dotnet/sdk/1.0.1
VS Code version: 1.13.1
C# Extension version: 1.11.0
Steps to reproduce

Create a new project with Xamarin Studio on Mac or VS on Mac
Open the folder with VS code

Expected  behavior
VS code should show IntelliSense, go to definition find references etc
Actual behavior
Error in OmniSharp log
Microsoft.Build.Exceptions.InvalidProjectFileException: The imported project "/Users/jesse/.vscode/extensions/ms-vscode.csharp-1.11.0/bin/xbuild/Microsoft/Portable/v4.5/Microsoft.Portable.CSharp.targets" was not found. Also, tried to find "Microsoft/Portable/v4.5/Microsoft.Portable.CSharp.targets" in the fallback search path(s) for $(MSBuildExtensionsPath32) - "/Library/Frameworks/Mono.framework/External/xbuild/" . These search paths are defined in "/Users/jesse/.vscode/extensions/ms-vscode.csharp-1.11.0/bin/omnisharp/OmniSharp.exe.config". Confirm that the path in the  declaration is correct, and that the file exists on disk in one of the search paths.  /Users/jesse/Documents/Project/testProject/testProject/testProject.csproj
at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject (System.String errorSubCategoryResourceName, Microsoft.Build.Shared.IElementLocation elementLocation, System.String resourceName, System.Object[] args) [0x00067] in :0
at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject (Microsoft.Build.Shared.IElementLocation elementLocation, System.String resourceName, System.Object[] args) [0x00001] in :0

Thanks for reporting this issue. It has the same underlying cause as https://github.com/OmniSharp/omnisharp-vscode/issues/1597.

I've got a fix for this in PR here: https://github.com/OmniSharp/omnisharp-roslyn/pull/923. Once it's merged, it'll appear in C# for VS Code once we take a new version of OmniSharp.

Still exist in VS code for Mac 1.17.1 and ms-vscode.csharp 1.12.1

I just tried creating a Xamarin.Forms app with iOS and Android heads. After building, I opened it in VS Code and everything appeared to load fine.
Looking more carefully at your error message, I suspect you're seeing an issue with a PCL project, yes? I suspect this may be related to https://github.com/OmniSharp/omnisharp-vscode/issues/1779.
Could you reproduce the issue with a small project and provide it here? Also, it would be useful to see your full OmniSharp Log.


IssueId #215702 fix: Mozhigal | Progress not appearing correctly for …

…below 1300 screen size

@coderabbitai review


Small documentation error

It is not an error in the library but I guess in the documentation on https://libraries.io/packagist/uafrica%2Foauth-server.
$this->Auth->config('authenticate', [
'Form',
'OAuthServer'
]);
should be
$this->Auth->config('authenticate', [
'Form',
'OAuthServer.OAuth'
]);
as it is in the documentation in your github repo.

We don't use libraries.io, I've in fact never heard of it until now! Looks like it just pulls in data from Packagist (Outdated data at that).
Please use the documentation in the repo instead of any other third-party mirror.

Thanks for reporting the error though! :+1:


Please add support for HTTP/2 Connection Preface(Magic Code)

The content of the HTTP/2 Connection Preface specified in RFC 7540 is "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"，Also known as Magic Code, it allows us to identify HTTP/1.1 or h2c for subsequent protocol processing.
Now I use your http-parse library to parse HTTP/1.1. It works very well, but does not support the "PRI" HTTP METHOD. I can't use it to parse the HTTP/2 Connection Preface, which makes it impossible to switch subsequent protocol processing logic.
So please add the handling of the HTTP/2 Connection Preface, which is the HTTP/1.1 format. The HTTP/1.1 parsing library adds support for it, which is very reasonable.
Please support the "PRI" HTTP METHOD, or add a similar "parser->upgrade" mechanism to remind developers to switch the functionality of subsequent protocol processing.

Can you explain when exactly you would use that? You normally identify a HTTP/2 connection through its ALPN protocol, no status line sniffing required.

You are right, but you are referring to the case of using TLS. If it is h2c (HTTP/2 Cleartext), you cannot use ALPN. In this case, you need to analyze HTTP/2 Connection Preface. @bnoordhuis

I'm aware of the theoretical existence of h2c but I didn't think anyone actually uses it. Can you explain what you're using it for?
The reason I ask is that retrofitting support for the connection preface may introduce some thorny backwards compatibility issues, so I'd rather only tackle that when there's a legitimate use case.

Yes, now all browsers are forced to use HTTP2 over TLS, I just saw the h2c described in the RFC so I want to support it on my own server. If this will have a bad effect on the library, then forget it. @bnoordhuis

Okay, given that I'll close the issue for now. If you or anyone else has a real world use case let me know and we can reconsider.

This is a good example how to use issue tracker in a wrong way.
User @theoryfate provided a reasonable question. Universal HTTP 1.1 parser should understand HTTP 2.0 connection preface. Nodejs developers just maintains this c library, they can't provide a stable solution without library redesign.
Than nodejs developers started a new universal library llhttp and just forgot about that question.

FYI, I have a PR open that addresses this. See notejs/llhttp#80


Bluetooth: controller: fix CIS REQ event generation and rejection

Check LE event mask state as well as host controlled feature mask state and reject CIS request accordingly.
Release pre-allocated ISO resources on rejection of request
Signed-off-by: Erik Brockhoff<EMAIL_ADDRESS>

fixup and rebase

rebased


Adds user-definable log formatting

Objective

Allow users to alter log formatting

Solution

tracing_subscriber offers a Subscriber trait to allow this customization, so I put one into LogSettings and check for it before making the prior default Subscriber.

Post-CI I'm not sure this is even worth draft status at the moment.  It seems wasm and android builds both add required trait bounds on anything holding a Subscriber that enter the HRTB territory, which is fascinating but pretty beyond me at this point and perhaps better left to collect cobwebs until I understand what's going on better

Nevermind, found a better way, seems to work fine now!

I wonder how this potentially interacts with the trace_chrome and trace_tracy features, and if it makes sense to use a separate subscriber for logging and tracing.
Could be a bit of a footgun if defining a custom logging format prevents you from profiling your code in the future.
I just want to point out another PR that touches this code here: https://github.com/bevyengine/bevy/pull/3583.

You actually were completely correct about that @rparrett, though I didn't see this until I just stumbled across it in use.  I stuck my head into tokio's Discord and had them help me modify it to a more proper version.  This one should take care of those issues

I missed the super basic formatting problem and this didn't get merged, apologies.  Looks like it has a conflict now, so I'll try to resolve it this weekend since I'm sure it'll be minor

@SonicZentropy I'd like to merge this :) While you're rebasing, there's a tiny formatting suggestion for the doc example too.

It would be great if we allowed our users to pass not just 1 layer but multiple ones. Or we maybe could allow passing a custom subscriber, like it was done in the initial attempt, I'm curious what was the problem exactly with that one.
This way users can also get the benefit of not only customizing the formatter but also passing additional layers - that would come in handy for the puffin integration for instance if we decide that it should exist outside of Bevy and be added by users via either a plugin or by passing a puffin layer manually.

I believe the functionality from this PR has already been added in other later changes. Is there a reason to keep it open?


Extended client return type

Bug description
Docs say at the bottom that nested reads or writes don't work with the extended client. Can you A: remove this limitation and support nesting. Or B: fix the return type of $extends to remove the nested read/write capability in the type signature?
How to reproduce
export type ExtendedPrismaClient = Awaited<ReturnType<typeof newPrismaClient>>

export async function newPrismaClient() {
  const datasourceUrl = process.env.POSTGRES_PRISMA_URL
  if (!datasourceUrl) {
    throw new Error('POSTGRES_PRISMA_URL is not set')
  }
  const client = new PrismaClient({ datasourceUrl })
  const extendedClient = client.$extends(getSupabaseRLSExtension(client))
  await extendedClient.$connect()
  return extendedClient
}

ExtendedPrismaClient type allows for nested reads/writes
Expected behavior
No response
Prisma information
Not needed
Environment & setup
All
Prisma Version
5.22

HI @DreamwareDevelopment
Unfortunately, I don’t think we have any update on removing the limitation or fixing the return type of $extends to remove the nested read/write capability in the type signature. If you want to infer the return type of an extended prisma client then you can do:
const extendedPrismaClient = new PrismaClient().$extends({
  /** extension */
})

type ExtendedPrismaClient = typeof extendedPrismaClient

We’ve recently revived our public roadmap, which we will update every three months with the major issues we plan to address. Here’s our first installment: https://github.com/prisma/prisma/issues/25794
We also recently put out the ORM Manifesto which goes into depth on how we want to approach the governance of the ORM. Here’s a link to that: https://github.com/prisma/prisma/discussions/25772
We’re going to continue addressing issues, primarily focusing on those with the most  reactions as it’s the clearest way we have to community need.
I know that’s probably not the answer you want, but does that make sense? Any other questions I can help answer?

I don't really understand why the nested reads/writes break with the extended client. I wouldn't expect adding extensions to break the underlying client logic regarding nested reads/writes. And from the sound of it the team doesn't plan to fix it unless there's a lot of people encountering this issue.

I think you are misreading what the docs say @DreamwareDevelopment. Nested reads and writes are absolutely supported with extended client, it is a fundamental functionality of Prisma, and hence they are present in types: there's no reason to remove them because they work, and they are obviously supposed to work.
If you know of any case where they break, then please open an issue with a reproduction, that would be a pretty bad bug.
What the part of the docs that you are quoting is saying is that you can't override the behaviour of nested queries using client extensions.

Agreed that it's core functionality that shouldn't break. I haven't hit this recently because I stopped doing RLS w/ Supabase. Will come back here if I encounter this issue again later when I revisit RLS. Focused on shipping, not security right now.


[BUG] UI filter disappears when something change in PCI devices

Describe the bug
When you filter on an SR-IOV device , and something change in an PCI Devices, the filter get cleared
https://github.com/user-attachments/assets/04e69f25-6eca-426f-bc32-06034bcec0a6
To Reproduce

Go to 'PCI devices
Filter on a SR-IOV device
Make some changes on a PCI device
Each time something change, the filter disappears.

Expected behavior
Filter should remain active when updating screen (event receive)
Support bundle
Environment

Harvester ISO version: 1.3.2
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): Dell PowerEdge R660

Additional context

Hi @samueldewever , we are evaluating if it can be fixed in next version. Thanks!

@bk201 , does this bug needs to backport to v1.4.1 or v.1.3.3 ?

@a110605 yes, we have to backport a fix to all supported versions


feat: ability to decorate esm module name before importing it

Description of the Change
This PR adds ability to decorate ESM-module name right before it will be imported by passing esmDecorator function to loadFilesAsync method.
Why should this be in core?
It helps to deal with ESM cashing issues just by adding some query parameters to modue name:
mocha.loadFilesAsync({
    esmDecorator = file => `${file}?foo=bar`
})

And it backwards compatible.
Applicable issues

https://github.com/mochajs/mocha/issues/4655

It is an enhancement (minor release).

@giltayar could you have a look a this PR, please?

Coverage increased (+0.002%) to 94.328% when pulling 93082f281085b099e8b5950350550b14dca4c0d9 on j0tunn:master into 8f3c37b6b77b6754cd9445204c536c1a0671450a on mochajs:master.

Who will use this additional parameter and for what use case.

Any who has problems with esm modules caching while using mocha by API:

https://github.com/mochajs/mocha/issues/4924
https://github.com/mochajs/mocha/issues/4655

node.js doc suggests only one whay to deal with it - different queries.
There are not too many such cases for now because most of the existing community uses CJS modules for tests for now. But there will be more.
You have a bunch of code for dealing with CJS modules cache, but nothing for ESM-modules. And while this cache problem is not solved you can't say you have full support of ESM modules.

@j0tunn Ah. I didn't know that Mocha.prototype.loadFileAsync was used as an API. In that case it makes total sense given that decorating the urls is the only way to load a different instance of the test files.
Note though that the sub-dependencies of the test files will not be loaded. You will probably need an ESM loader for that.
So if you change the small change that I requested, and add appropriate tests, this PR will be approved by me. But don't forget those tests...

@giltayar done

@juergba from my point of view, we're good to go on this PR, which makes a lot of sense for developers using the API in an ESM setting.

@giltayar thank you for your review. 👍
I will have a look at this PR on coming weekend, @j0tunn please have some patience.

@j0tunn Mocha has its own --require option which is able to load ESM modules as well. How does it behave with this PR?
Could you provide a short sample for me to do some testing, please?
@fvictorio would you mind reviewing this PR? Does it fix your issue?

@juergba

@j0tunn Mocha has its own --require option which is able to load ESM modules as well. How does it behave with this PR?

As far as I understand --require option is about cli. This PR is about API. These are for different use cases. They are not conflicting if that is your question.

Could you provide a short sample for me to do some testing, please?

There is a short sample in PR description. Someone can use this feature like this in its own code:
mocha.loadFilesAsync({
esmDecorator = file => ${file}?foo=bar
})

Thanks a lot for working on this @j0tunn!
I can confirm this seems to fix my issue if I do something like this:
        await (mocha as any).loadFilesAsync({
          esmDecorator: (file) => `${file}?invalidateCache=${Math.random()}`
        });

Notice the as any: I think this will need a PR in @types/mocha. I can do that, but I'm not familiar with the process. Do you have to wait until this is released before updating the types?

[...] I think this will need a PR in @types/mocha [...]

I don't know, @types/mocha isn't maintained by us. Normally we publish first, then the types get adapted.

I can confirm this seems to fix my issue if I do something like this

I won't merge this PR without any testing, this could take some time though.

Note though that the sub-dependencies of the test files will not be loaded.

@j0tunn could you add this statement to this PR's description, please?

@j0tunn could you add this statement to this PR's description, please?

Done.


Bugfix: reset should set clear _computed

Fixing a small bug - reset not clearing computed cache value.
Before submitting

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

Did you have fun?
Make sure you had fun coding 🙃

While we are on this, should we reset _forward_cache as well?

While we are on this, should we reset _forward_cache as well?

Fine by me :]


prefetch_related and filtering in custom resolver

I need to filter related models. Query optimizer works fine, but I cannot get it working with filtering inside custom resolver (without using @strawberry.django.filter)

When I define my own Prefetch, I am getting double prefetch queries. One is mine, the other is from optimizer.

    @strawberry.django.field(
        prefetch_related=[
            lambda info: Prefetch(
                "downloadables",
                queryset=Downloadable.objects.filter(is_published=True).all(),
                to_attr="downloadables_prefetched",
            )
        ],
    )
    def downloadables(self) -> List[Annotated["DownloadableType", strawberry.lazy("vfxtricks.common.schema")]]:
        return self.downloadables_prefetched

When I dont define my own Prefetch with custom name, then optimizer does make a Prefetch query, but query in my resolver does not take advantage of it. Meaning, I end up with way too many queries.

    @strawberry.django.field()
    def downloadables(self) -> List[Annotated["DownloadableType", strawberry.lazy("vfxtricks.common.schema")]]:
        return self.downloadables.filter(is_published=True)

thank you

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

Hey @tasiotas ,
Yeah, that's a current limitation, and I'll explain you why this case is not being optimized.
Suppose you have a query like this:
query {
  users {
    id
    emails {
      id
    }
  }
}

The prefetch for the emails will happen before even resolving users, meaning that it is not totally safe yet to call the emails resolver itself.
The main reason is because the resolver might want to use the parent object (i.e. the user) for something. This can probably be worked around by checking if the resolver is "safe" (it doesn't depend on self and neither root or a Parent argument).
But even with that, I'm worried about some complex scenarios, where people might be using the context execution or even contextvars to set something in the parent to modify the behavior of the child's resolver, meaning running it before the actual parent resolution would change the field's behavior.
Right now I would say that the best way is to either use the custom prefetch like you did, or use filters, which since https://github.com/strawberry-graphql/strawberry-django/releases/tag/v0.44.0 will be optimized properly for nested relations. Or even define a DownloadableType.get_queryset() to modify any get_queryset for the type, although I usually advice against it and to instead do that on a per-field/resolver case.
Having said all of that, I'll try to think further into this.
@patrick91 any ideas about this?

thanks for reply.
I tried using Filters, and it works fine with optimizer.
But my worry is that user can modify query and disable/remove filter. Is it possible to force certain filter, no matter what is being sent in the request ?

Also interested in filtering on the prefetch hint in this way.

After thinking about this, it seems to me that there's indeed a bug here. Your first code seems correct and the optimizer should not be doing the extra query in that case.
I'm working on a fix here


incorrect country selection from drop down

When I select any country from drop down and suppose there is any other with same country code then it picks the one which is at very end of list. E.g.
Aland Islands and finland has same country code +358, If I choose Aland Islands it will select finland because it is at very end of list

@vishal-techbitsolution I was having the same issue, you can also reproduce this issue very easily with Canada, USA and United States Minor Outlying Islands

I downloaded the demo and it works fine, which is very strange.
@mukeshsoni, any ideas?

I had to implement my own countries list by removing unwanted duplicates.

@bulby97, @vishal-techbitsolution downgrading to 4.74.4 worked for the Canada, USA and United States Minor Outlying Islands. It didn't work for Aland Islands though, my guess is that it has something to do with the character encoding, notice the "Å"

Also, strangely enough, an onFocus event that didn't propagate the event caused this behavior as well.
hope this helps @mukeshsoni, thank you so much for your awesome work!

@carlos-soto which version had the bug?

This is fixed in v4.75.5

Hey @mukeshsoni, so sorry for the late response. I just updated to 4.75.5 and can validate that the library works correctly for the Aland Islands/Finland and the Canada/USA/United States Minor Outlying Islands cases.

Thank you so much for looking into this in such a timely manner!


Delist portal; Bouncing your confirmation email (500 5.0.0: Line too long) RFC2822

Hi,
Your Delist Portal is sending a confirmation email that doesn't conform https://tools.ietf.org/html/rfc2822#section-2.1.1
** smtp-in: session [] received invalid input: 500 5.0.0: Line too long **
Will appreciate it if you could follow the RFCs and fix this.
Thanks in advance.

@sietearistas - May we know which Microsoft document link you used in reference to this issue?
Please share it with us so we can investigate further. Thank you.

@mypil Thanks your reply
(AS16012609) [DB5EUR01FT053.eop-EUR01.prod.protection.outlook.com]

@sietearistas - We need the Microsoft document link so we can investigate. The information you provided appears to be in your outlook. Please understand that this site is a product documentation site and not a support nor a feature request site. As such, the feedback section here is intended for feedback that improves the content in the Microsoft documentation and not intended for support type issues or user feedback on product features.
If you have technical issues, then it would be best for you to contact technical support and open a support ticket to get immediate resolution. Please follow this link to contact support for business products:  https://docs.microsoft.com/office365/admin/contact-support-for-business-products
However, if in case you find that it is a documentation error, feel free to comment back here and we'll be glad to help fix it. Thank you!

@mypil  I'm afraid I can't provide you with what you call a "microsoft document link" because I'm not an Office365 user.
I'm merely supervising a client's mail server who happens to have difficulties sending emails to some of your Office365 users, and who received a notification informing them that their ip address was banned.
In that same notification, my client was instructed to check the following page
https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/use-the-delist-portal-to-remove-yourself-from-the-office-365-blocked-senders-lis
and use the
https://sender.office.com/
portal to solve this problem.
If this repository doesn't address issues regarding this portal, it might be necessary to change the wording of the notification sent by the mailer-daemon, because the links many people followed to complain about this service all landed here at
https://github.com/MicrosoftDocs/microsoft-365-docs
During the delisting process at https://sender.office.com/ the user is asked to pair their "offending" ip address with their email account (1), and expect a confirmation email.
As I've seen confirmed by other users on this board, this email confirmation fails sometimes (2) to reach the user's inbox, failing to complete the process.
I opened this issue in an effort to help others identify which might be the problem.
Unless you have access to your mail server logs this might go unnoticed, and the incoming malformed email will be rejected, usually without any further warning.
I hope this clarifies the issue now.
(1) Ironically, as pointed out by @bcebulla https://github.com/MicrosoftDocs/microsoft-365-docs/issues/592#issuecomment-550073822
it seems that the Microsoft Delisting Service doesn't make any kind of MX-record checking about the alleged banned ip address, and the mail address provided.
Long story short, for the time being, you can use any mail provider to delist yourself.
(2) It does work using more "relaxed" non-RFC-strict mail servers.

@sietearistas - Thank you for taking the time to share your assessment and for providing more details about this issue.
I will get this issue over to the Microsoft 365 writing team for investigation.
I made a note to request the team to update this when the work is complete.

@sietearistas - We have already engaged with the author and the product engineering team to look into the Delist portal issue. I will close this issue now but please refer to issue #592 on updates on the status.
Thank you for your contribution to make the docs better! We truly appreciate it.


Dinosaur wants to build from source without a signing key...

Hi.
I'd like to build from source. A sort of personal hygiene.
I noticed the following in gem/rb_sys.gemspec:
spec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $0.end_with?("gem")

I could always circumvent that with a bit of hackery, but... I would greatly appreciate if there could be an easy way to build the gemfolder hierarchy with a simple command like bundle exec rake build.
Could it be possible to either consider a NO_SIGN environment variable or some explicit instructions as to how best to do it without the hassle of either brittle hackery or the overhead of creating a key in a folder location that I consider my personal private space ?
Best.
P.S.: For now, using sed -i.bak '/spec.signing_key/s/^/#/' rb_sys.gemspec.

I'd accept a PR which removes the check with RUBYGEMS_FORCE_DISABLE_GEM_SIGNING=true env var check

Done. Do you need me to cut a new release or is git sha good enough?

The git sha is good enough.


[WIP] Moved hardcoded things to .env

The changes from this branch were manually copied to branch 61-Implement-fetching-additional-headers-and-reorganizing-headings-numbers-in-a-base-html (sorry about that) and will be merged with that branch in a new PR.


Would be helpful to report issues in ascending line order, instead of descending.

Great module! Very helpful, like linting for my own modules.
It's strange to me, though that the reported issues are organized so that the ones at higher line numbers appear above the ones at lower line numbers. It'd be helpful to reverse this order.

Thanks for reporting the issue:
Fixed:
a523178


How to know when something is free on google with pdf's.

Hey,
So I was going to open a PR coming from this commit and these PDF's you can just find when you search the PDF form of it. Is this technically free or is it pirating the original authors books?

M4x

these don't look like authorized distributions

Alright thanks for you input.


Added debug mode.

Hey,
There was some spurious downtime lately on Discord, and I figured it'd be helpful to have the debug info from Discord.js inside the log.
It's a minor addition but just works. What do you think?
Regards,
Vincent.

Whilst the idea is a great one, the execution could do with some work, as you would have to manually update the config.js file for it to actually work.
I plan on adding a "bot admin/owner" section for bot settings, which is where your debug could would fit, so for now I'm going to close this PR, and I hope to see you re-open it once I've got that up and running.


Convert project to using 'pipenv' to manage dependencies

Description
Converts the project to use pipenv to manage dependencies, as discussed in Slack.

Coverage remained the same at 73.251% when pulling 842f27c4734bdc9a97f4f613bda97edadbc1a42d on javulticat:jav/pipenv into 752ffbd81c59a4619f95a3f13840251ff9174ca0 on zappa:master.

love this! thanks for the PR 💪🏼 much easier to maintain this way (at least to my mind)
I assume you didn't commit the Pipfile.lock on purpose. Is it not needed in this case? (From other projects I'm used to adding it, but that might not be the best way to go 😊)
Basically my question is: are the dependencies fixed enough without having Pipfile.lock?

@hellno, I didn't commit Pipfile.lock in this case because the lock file is specific to a single version of Python, whereas Zappa supports Py 3.6 - 3.9.  Our options would seem to be either:

Commit 1 lock file per version of Python we support
Don't commit any lock file, and rely on having dependencies pinned/bounded appropriately in Pipfile (this is the approach I went with as it minimized clutter in the repo)

Love it! The many python versions + less clutter makes a lot of sense 👍🏼


Multiple fixes and few new features

New features are:

Multiple words in a single wordanalyzer
Functionality to restart scrapers when adding a new one
Graceful shutdown at CTRL+C
Ability to add error handlers to catch and handle pastepwn errors

Pull Request Test Coverage Report for Build 76

154 of 197 (78.17%)  changed or added relevant lines in 11 files are covered.
4 unchanged lines in 3 files lost coverage.
Overall coverage increased (+6.2%) to 56.997%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pastepwn/analyzers/tests/bcrypthashanalyzer_test.py
28
29
96.55%

pastepwn/analyzers/tests/wordanalyzer_test.py
83
84
98.81%

pastepwn/util/dictwrapper_test.py
14
15
93.33%

pastepwn/core/pastedispatcher.py
0
2
0.0%

pastepwn/analyzers/genericanalyzer.py
0
3
0.0%

pastepwn/core/scrapinghandler.py
1
5
20.0%

pastepwn/scraping/pastebin/pastebinscraper.py
0
7
0.0%

pastepwn/core/pastepwn.py
6
30
20.0%

Files with Coverage Reduction
New Missed Lines
%

pastepwn/core/pastepwn.py
1
25.0%

pastepwn/core/scrapinghandler.py
1
22.22%

pastepwn/scraping/basicscraper.py
2
44.44%

Totals

Change from base Build 73:
6.2%

Covered Lines:
668

Relevant Lines:
1172

💛  - Coveralls


Trouble compiling to jar

Error: Unable to initialize main class
Cause by: Java.Lang.NoClassDefFoundError: net/sourceforge/argparser4j/inf/ArgumentParserException

Do you have the full build output? Which JDK are you using?

This error was due to me not combining the jars. However, I still see a warning that it compile parent jar. It does run correctly

If you do not give details about what warning you see, it is difficult for me to help you.
Can you provide the details if you think it is something that should be fixed, or can you close this issue if no action is needed? Thanks.

I switch to spring boot, and it works perfectly. I saw the warning with maven assembly plug-in. Thanks


Support proto library

Let's say some APIs need a common library "google-apis"
We need a feature to support user to config "google-apis" as a library
something like
apiVersion: backstage.io/v1alpha1
kind: API
metadata:
  name: helloworld-unary-api
  description: helloworld unary gRPC

spec:
  type: grpc
  lifecycle: production
  owner: zalopay-oss
  definition:
    $text: https://github.com/zalopay-oss/backstage-grpc-playground/blob/main/examples/unary/helloworld.proto
  files:
    - file_name: helloworld.proto
      file_path: examples/unary/helloworld.proto
      url: https://github.com/zalopay-oss/backstage-grpc-playground/blob/main/examples/unary/helloworld.proto
  libraries:
    - name: google-apis
      path: google
      url: https://github.com/zalopay-oss/backstage-grpc-playground/blob/main/examples/libraries/google-apis
  targets:
    dev:
      host: <IP_ADDRESS>
      port: 8084

https://github.com/zalopay-oss/backstage-grpc-playground-backend/pull/4 and https://github.com/zalopay-oss/backstage-grpc-playground/pull/10 not working as expected


feat(relations): add partial polymorphic support

make eloquent queries based on polymorphic structure searchable.
This partially address #2573

Looks good but not sure why test fails on PHP 7.4 lowest :)
Released on v9.17.0, thanks! 🚀

@yajra it appears I introduced a small bug for nested relationship :(
Assuming my query source model is CharacterInfo - and has a relationship called affiliation to the class CharacterAffiliation
The current change is doing CharacterInfo::affiliation() to retrieve relationship and determine its nature => pass
However, add a new relation to CharacterAffiliation called corporation which will target UniverseName.
Now, the current change will do CharacterInfo::affiliation.corporation() which is wrong.
I don't know how to handle that - but since the package is largely consumed, I think the best would be to rollback change until it's addressed :/
sorry about the issue :(

No problem and thanks for the initiative to support morph relation. 🍻


Add R3 Release Note

FYI - I'm trying to have all SIGs contribute their release notes in the following document: https://docs.google.com/document/d/1Ce42YycAhTtb30BxMsdwmBYGTtCoIeBTrFBs5nvX7gA/edit#heading=h.g5jlhcnz1bpj
Ultimately, SIG3 owns the final version. But for tracking purposes, you can relate to the above doc.


Hide create application quickstart action for mvp

Fixes

https://issues.redhat.com/browse/HAC-2913

Description

Hide quick start action from application details page for MVP.
Remove no standard separators and section titles.

Type of change

[ ] Feature
[x] Bugfix
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Screen shots / Gifs for design review

https://user-images.githubusercontent.com/6041994/216299979-52ef32f2-2ccb-48cf-a7c3-91f3bf9508ec.mov
Browser conformance:

[x] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

/retest


syncplay: 1.5.3 -> 1.5.4

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/syncplay/versions.
Version release notes (from GitHub):
New and improved in Syncplay 1.5.4:

Transition default macOS build to PySide2 and Qt 5.x (PR #185 by albertosottile; resolves #149)
Specify minimum macOS version for .app bundle. People on older versions of macOS should use the legacy version of Syncplay.
Fixed macOS certificate bug (#184)
Add support for ‘portable’ versions of media players (MPC-HC, MPC-BE and VLC).
Fixed bug of VLC “invalid URL error” when attempting to play an HTTPS stream with square brackets (#187)
Changed config path logic to support XDG Change config path logic to support XDG (PR #188 by sometoby)
Fixed some Unicode and Italian translation issues (PR #179 by albertosottile)
Updated the about dialog (albertosottile)
Bundle syncplayServer in py2app (albertosottile)
Future-proofing configuration reading for compatibility with Python 3 version of Syncplay (albertosottile)

https://syncplay.pl/syncplay-1-5-4/
These checks were done:

built on NixOS
Warning: no invocation of /nix/store/fdizp19hsx5h805z8pfaczdcw8a5pbq8-syncplay-1.5.4/bin/.syncplay-wrapped had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fdizp19hsx5h805z8pfaczdcw8a5pbq8-syncplay-1.5.4/bin/syncplay had a zero exit code or showed the expected version
/nix/store/fdizp19hsx5h805z8pfaczdcw8a5pbq8-syncplay-1.5.4/bin/.syncplay-server-wrapped passed the binary check.
/nix/store/fdizp19hsx5h805z8pfaczdcw8a5pbq8-syncplay-1.5.4/bin/syncplay-server passed the binary check.
2 of 4 passed binary check by having a zero exit code.
0 of 4 passed binary check by having the new version present in output.
found 1.5.4 with grep in /nix/store/fdizp19hsx5h805z8pfaczdcw8a5pbq8-syncplay-1.5.4
directory tree listing: https://gist.github.com/1701072c01c22552e9734b086b5cde50
du listing: https://gist.github.com/647209389be80f81b96996be5c8540f5

meta.description for syncplay is: '"Free software that synchronises media players"'.
cc @enzime for testing.
This build is cached with Cachix. To use the cache follow these instructions:
One time setup in nixpkgs Git checkout:
cachix use r-ryantm
git remote add r-ryantm https://github.com/r-ryantm/nixpkgs.git

Test this build:
git fetch r-ryantm && git checkout 40fa7d32d3cc4ecb014dafae69fa93f355b3343f && nix-shell --pure -I nixpkgs=. -p syncplay

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: syncplay
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Attempted: syncplay
Partial log (click to expand)
stripping (with command strip and flags -S) in /nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4/lib  /nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4/bin
patching script interpreter paths in /nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4
/nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4/bin/syncplay-server: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/fh8z4sniyv18b4jf32f3gnn862bvwc3f-python-2.7.15/bin/python2"
/nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4/bin/syncplay: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/fh8z4sniyv18b4jf32f3gnn862bvwc3f-python-2.7.15/bin/python2"
/nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4/lib/syncplay/syncplayServer.py: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/fh8z4sniyv18b4jf32f3gnn862bvwc3f-python-2.7.15/bin/python2"
/nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4/lib/syncplay/syncplayClient.py: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/fh8z4sniyv18b4jf32f3gnn862bvwc3f-python-2.7.15/bin/python2"
checking for references to /build in /nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4...
wrapping `/nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4/bin/syncplay'...
wrapping `/nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4/bin/syncplay-server'...
/nix/store/wz2s86dagsnx6gpd78wk2adjw5a8zkd4-syncplay-1.5.4

Success on x86_64-linux (full log)
Attempted: syncplay
Partial log (click to expand)
stripping (with command strip and flags -S) in /nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4/lib  /nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4/bin
patching script interpreter paths in /nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4
/nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4/lib/syncplay/syncplayClient.py: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/d3aa78jf7pm9lk6ad67x4f21a068dxn6-python-2.7.15/bin/python2"
/nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4/lib/syncplay/syncplayServer.py: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/d3aa78jf7pm9lk6ad67x4f21a068dxn6-python-2.7.15/bin/python2"
/nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4/bin/syncplay-server: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/d3aa78jf7pm9lk6ad67x4f21a068dxn6-python-2.7.15/bin/python2"
/nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4/bin/syncplay: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/d3aa78jf7pm9lk6ad67x4f21a068dxn6-python-2.7.15/bin/python2"
checking for references to /build in /nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4...
wrapping `/nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4/bin/syncplay-server'...
wrapping `/nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4/bin/syncplay'...
/nix/store/hchc528bi262w80bhg4b9yrv42ywqij0-syncplay-1.5.4

closing in favor of #43245


[WIP] Random fixes to lib-utils to make it work with HAC-Core

Taking/running the torch from @andrewballantyne and https://github.com/openshift/dynamic-plugin-sdk/pull/57
WIP because:

The fix for the store is not good... try/catch should not be used with a hook
Still trying to test out things in HAC-Core (see https://github.com/openshift/hac-core/pull/43)

@karelhala we lost the original review on https://github.com/openshift/hac-core/pull/43. Can you please review? Thanks.

/approve

/approve


[3,3.0] Unable to open browsers on WSL

Describe the bug
Open v7 has a bug on Windows and WSL. Given that many CRA user could be on Windows + WSL, I guess this is going to hit a lot of people soon.
https://github.com/sindresorhus/open/issues/154
Related PR #7910 cc @andriijas as the one who sent PR to upgrade open from v6 to v7.
Did you try recovering your dependencies?
yes
Environment
OS:  Linux 4.4
Node:  12.2.0
Yarn:  1.12.3
npm:  6.9.0
Watchman:  4.9.0
Xcode:  N/A
I'm on WSL 1 though
Steps to reproduce
Only in windows/ WSL ecosystem

Upgrade any CRA project to 3.3.0
Run development server

Expected behavior
No error
Actual behavior

Reproducible demo

git clone https://github.com/endiliey/rengorum.git
cd frontend && yarn && yarn start

I also am getting this with WSL.
Linux:   4.4.0-18362-Microsoft #476-Microsoft Fri Nov 01 16:53:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux
Node: v12.13.1
Npm: 6.13.2

Also experiencing this on WSL2
Windows 10 version 2004 build 19033.1 (Insider Slow Ring)
Linux 4.19.84-microsoft-standard
Node v12.7.0

As above:
WSL2 on
Windows 10 Pro 10.0.19037 Build 19037
Node v13.3.0
Linux 4.19.84-microsoft-standard
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-scripts": "3.3.0"

I will make PR,   thanks for the report

I'm also experiencing this issue

I'm having the same issue.
I am assuming everyone having this issue has to do with Windows SubSystems or installing Bash terminal on Windows 10 and then trying to run react. I personally have not tried running any other server but I think the issue is with the bash home directory setup where it is unable to access node_modules in windows C directory.

I'm also experiencing this issue.
Windows 10 Pro 1909 Build 18363.535
Linux version 4.4.0-18362-Microsoft
Node v13.3.0

I'm having the same issue on WSL1 but i found a workaround.
When the error pops up press ok and then follow the link from terminal with Ctrl+Click. Default browser will open the app but on random port.
Windows 10 Pro 1903 Build 18362.535
Linux 4.4.0-18362-Microsoft GNU/Linux
Node 12.13.1

It is a bug with "react-scripts':  "3.3.0".
Switch to 3.2.0 by editing package.json file then running npm install.
Worked for me.

It is a bug with "react-scripts': "3.3.0".
Switch to 3.2.0 by editing package.json file then running npm install.
Worked for me.

 Thank you. I was struggling with this issue for last few weeks and had no idea the solution was this simple. It worked 👍👍

Same here. Just use npx create-react-app and the message windows "cannot find '\http://localhost:300' create react app wsl" just pop's up

Getting this too :(

I have same bug :c

I dont have access to a windows machine for a while. Anyone who can open a PR to open?


Awesome work!

Wow!  I was searching Github after wondering what the state of FOSS clipboard tools was for MacOS and came across your project.  Seriously awesome work.  I'm still playing around with the release, but the feature set and design are more mature than anything else I've seen.
And it's native!  A million Electron tools pop up all the time, some of which are attractive, but that seems like a terrible platform for something always running in the background and using 100x more resources than a native implementation would...  I don't want to have to set aside a half of gig of ram for my clipboard to work properly.
I couldn't believe it had no stars, either, so I wanted to show support.  Give yourself a star, buddy!  You deserve it!  Props for the blog and consistent maintenance.  I'll comment back with usage feedback when I get spend some time with it.
As far as auto-updates go, maybe consider adding a Brew Cask, at least for the time being.  When you feel it's ready, I would submit it to ProductHunt.  It seems like a project that would be popular on there.  Also, I'm a designer and stay pretty busy nowadays, but if you need UI feedback or an artsy icon I'd contribute when I can find the time.  Peace.

Hey, I'm having trouble getting it to open on the latest Catalina.  Nothing happens when I tried to open it.  It didn't ask for accessibility access, so I added manually selected the app and add it to the list, but that didn't solve it. I tried the previous 2.0 release and had the same issue.  I have gatekeeper disabled.  I searched in Activity Monitor for a yippy related process and none were shown.  Any ideas?

Hey @davidbwaters, I had a look and I think the issue was to do with failing to load some fonts but it should be fixed now. Give 2.1.2 a try and let me know how you get on.

Yeah, that fixed it.  Thanks.  Awesome work.  I look forward to the right click options, etc.  I designed a few variations on a possible icon.  The app icon I need to work with the colors and variants to match macOS more, but I mocked up an attempt at a "Y" shape as scissors.  I'm attaching what I've come up with so far.  These are just screenshots but they are vector shapes in Sketch.

Hey @mattDavo great work 👍🏻
I've been using MacOS more than a year now but I could still haven't found an application that can fill the void which Ditto filled on Windows.
Today I saw Yippy project on a list and gave it a try. I can say Yippy is the best in the ones which I've tried so far. And better looking (great looking actually). And more importantly open source 😎
There are a couple features which I've tought it would be great if Yippy did have... But hey look, they are on the TODO list. 😀
I have a little suggestion if you are interested in. It will be great if the list window can be centered (and maybe resizable) with an option.
I am looking forward to new releases.

I join in to the above. amazing app! I am really looking forward to the ability to cosumize the keyboard shortcut - since the shortcut you have now is preserved in mac for cutting-and-pasting.
Anyways - thanks! Im not a swift dev so I can't really help on that one. If you need any python tasks - I am happy to help.
thanks!

Hey guys! Thanks for all of the support, it is much appreciated and I'm glad you're liking it!
@davidbwaters the icon looks great, I like the rounded version you have in the large render!
@mehyaa and @alongouldman thanks for the suggestions! I'm fairly busy this week, but those two features shouldn't be too tough, so hopefully I can get them done for you in the coming weeks!
Cheers!

@mattDavo playing around a bit more:

search is crucial actually, more then the shortcuts.
images don't work for me when I copy an image. I get "unknown format" message instead.
when working with multiple monitors, the pane is open always in the same one (even if my mouse and focus is in another)

thanks!

1,3 ok noted. They can be next in line.

Would you be able to give me an example, so that I can debug it myself?

Thanks 😄

this is what I get when I copy an image:

interesting though - When I click on image "copy image", it works fine. but when I take a snapshot and save into the clipboard (cmd+ctrl+shift+3), then I get this unknown format thingie.

Ok cool, that's really helpful. I'll look into that!

I think the TODO list, other feature requests mentioned here and the bugs should have their own issues for better tracking 🙂

@mattDavo Cool, thanks.  Do you have a preference or feedback on the icon itself from the variations I posted?  Looking at them again I am kinda leaning towards the first one and the last one.  I want it to be reminiscent of a Y and scissors, if that wasn't apparent, but if people just see a cool shape that's fine too.  The one on the right kinda resembles the mac command button, for what that's worth.


File system lag can cause Invalid source file errors to slip through

When using jetbrains idea on windows the save -> filesystem -> tslint process can be a bit lagging resulting in a partially written file being read by tslint when in watch mode. This causes a Invalid source file: ${FilePath}. Ensure that the files supplied to lint have a .ts, .tsx, .d.ts, .js or .jsx extension. fatal exception. When the file doesn't exist you are already ignoring errors (presumablly this error would be one of them). This PR expands that to also ignore the error when the filesystem isn't keeping up.

It looks like there may be an issue with yarn and TravisCI

I interrogated the error and added a few more checks as well as a comment explaining the reasoning for the checks.

@piotr-oles what do you think of the changes @joshpcausey has made?

Thank you for your work! :)

Thank you for helping me through my first pull request on github (:

Released as v0.4.3 :)


Update README.md

Closes #1920
Changes proposed
Twitter link is now working

Hi @harshhere905. Welcome to LinksHub! :) We don't accept spam pull requests, so I'm putting yours in draft mode so I can for now. In the future, please wait until an issue has been assigned to you before you submit a pull request. Refer to our Contributing Guide to learn how to effectively contribute to the project. Happy Contributing! 😊

Just to update you @harshhere905. The person who raised the issue that relates to your PR has expressed interest in working on it so I will close your PR now. Please raise a different issue.


Switch statements don't fully compile with curly braced anon function cases

Describe the bug
Switch statements that use an anonymous function (specifically with curly brackets) within a case will prevent any subsequent cases from being compiled. Since it needs curly brackets for it to bug, it seems like it's an error in the parser picking up the curly bracket to end the switch when it shouldn't.
To Reproduce

Create a switch statement in any .jmc file.
Use an anonymous execute function within a case that uses curly brackets. Any following cases will be ignored by the compiler.

Screenshots
JMC code:

Transpiled result:

Desktop

Windows 10

Temporary workaround: add a break statement.
switch ($switch_var) {
	case 0:
		execute run $result = 0;
	case 1:
		execute run $result = 1;
	case 2:
		execute run {
			$result = 2;
		}
        break;
	case 3:
		execute run $result = 3;
}

compiles to what's expected.


[Bug]: Icon only button should be square when using showIconOnlyOnMobile

Contact Details
No response
What happened?
When using showIconOnlyOnMobile, the button ends up being wider than it is tall. It should be equal in height and width.
Make sure to do this when the size is small as well.
Component
Button
Component Version
latest
Which browsers are you seeing the problem on?
No response
Mobile Device
No response
Relevant log output
No response

Done


Dependency Renders Node.JS<v12 Unsupported

uuid-to-hex version 1.1.1 no longer supports node versions under 12.
https://github.com/DeRain/uuid-to-hex/commit/2b5ccb1df554978c2ba894b9d23eacfeedb4faf6
https://github.com/epsagon/epsagon-node/blob/master/package.json#L92
Proposing updating dependency declaration to "uuid-to-hex": "~1.0.3",

Thanks @haddadnj - we're on it

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Highlighting the words only once

This is not much of an issue, merely a question, as your package works as advertised. But my use case is this: I want to highlight each of the words only once per one record in "highlight" prop. For example, if I have this:
highlight: ['word']
and an user input of "This word is not like any other word, it's a unique word" - I only want the first word to be highlighted.
Also, if I had something like this:
highlight: ['word', 'word']
then with the same input, the first two instances of word would be highlighted, but not the third instance.
How would I go about implementing such a feature? I looked at the code briefly, but got a bit intimidated by the sheer amount of code (and work!) you put into this :).
Thank you!

So I basically solved it by replacing this code (starting at line 1391):
indices.forEach(start =>
{
  var end = start+highlightObj.text.length - 1;
  this.insertRange(start, end, highlightObj, intervalTree);
});

with this one:
var numberOfHighlights = this.highlight.filter(hl => hl.text === highlightObj.text).length;
for (var j = 0; j < numberOfHighlights; j++) {
    var end = indices[j] + highlightObj.text.length - 1;
    this.insertRange(indices[j], end, highlightObj, intervalTree);
}

I know it's an ugly hack, only working in few specific cases, but solves my problem.


Fix HMC in Gibbs issue with dynamic models

This PR fixes #1095 by making sure the position in the HMC PhasePoint is of the right length and value.
CC: @xukai92 @trappmartin

Cool, thanks!


Primary/Secundary color palette

Hi,
I like how we can use colors, though I'm missing a way to use the primary/secundary color like that. So I would like to say: color-primary lighten-2 for example. If this is not yet possible, cause I may be overlooking it, then can this be a new feature?

In case I'm not overlooking it too, I'm really surprised this hasn't been given more attention. I thought it's pretty common to do it this way, so we can change the theme more easily in the future. What's the point of $primary-color if I can't use .primary class in my HTML?

You can use scss variables here


Uninstall istio revision with istioctl -f will remove other ingress

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
I installed istio 1.17.3 with istioctl with minimal profile and revision, and then install several ingressgateway with empty profile in different yaml file and separate namespaces. When I want to canary upgrade istio, and uninstall istiod 1.17.3 only and leave those ingressgateway unchanged, I tried several ways,  none of them worked for me, everytime it will remove entire istiod and all ingressgateways.
istioctl uninstall -f xxx.yaml  ，yaml file is the same file when install minimal profile with revision。
Version
istioctl version
client version:1.17.3
istiod version:1.17.3
data plane version: 1.17.3(3 proxies)

kubectl version --short
client version:1.23.8
istiod version:1.25.6

Additional Information
No response
Affected product area

[ ] Ambient
[ ] Docs
[X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[X] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

Do your other ingress have metadata.name set? I think without that the tool cannot differentiate the two installs.
Although if it didn't, I would have expected the install of the other to remove ("prune") the other..

remove

Yes，every ingress has different metadata.name. but it seems all resource including separate installed ingress will be removed。
I also tried istioctl uninstall --revision 1-17-3， but got the same result。

not stale

Fixed by https://github.com/istio/istio/pull/47961


PyPy support!

Fixes #42.
I deleted a test entirely for reasons documented in the commit I did it in: fcb3b5f3e1d724539991228d71938b81a9616017
The change to assertSpacelessEqual is... really hacky... but I think it should be Good Enough™.

Merge #44 first to make the tests pass on this branch.

Need to get a new PyPy on Travis as well, because of the impending cryptography >= 1.0 constraint.

That doesn't quite work, I'm just going to switch to using tox but I'll do that in a separate branch to keep the diff size down.

@mithrandi merged forward, there's some hilarious(tm) pypy test failures still :(

@hawkowl The remaining failures are resolved by #44, but since that's a big chunk of diff that's almost entirely unrelated to this branch, I decided to just put a (different) workaround here as well.

Okay, there's also a giant tox mess now because everything is terrible.

Is this just codecov screwing up or is this a real issue?

@glyph: It's a result of turning on branch coverage in this branch; I don't think any actual coverage was lost in this branch.

@mithrandi should we push an empty commit to master?

@glyph: It would have to be a commit that turns branch coverage on in master, not an empty commit.

@mithrandi Even better: small branches.

@glyph: Okay, I guess I'll try that and see what breaks (heh).

[Current coverage][cc-pull] is 81.65%

Merging [#45][cc-pull] into [master][cc-base-branch] will decrease coverage by -0.00%

@@             master        #45   diff @@
==========================================
  Files            45         44     -1
  Lines          7029       7024     -5
  Methods           0          0
  Messages          0          0
  Branches        871        871
==========================================
- Hits           5740       5735     -5
  Misses         1076       1076
  Partials        213        213

File ...mantissa/_version.py (not in diff) was deleted. more

Powered by Codecov. Last updated by [7a32373...5615f72][cc-compare]
[cc-base-branch]: https://codecov.io/gh/twisted/mantissa/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/twisted/mantissa/compare/7a3237362843f80f19d01ecd2133f9b25c6958d9...5615f72918cfc21ddc85fa5d13b9d4d34a8824de
[cc-pull]: https://codecov.io/gh/twisted/mantissa/pull/45?src=pr

@glyph Okay, there's still some diff from _version.py vanishing from coverage due to the directory changing shenanigans, but now the coverage diff looks sensible I think.

OK. Let's do it.


fix: remove message name parameter for avro schema

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

I checked the code for the version where this parameter was first introduced and found that it was never used, it was probably just copied from ProtobufSchema.
It is strange to let the user specify the message name for a avro schema, so we should remove it.
Checklist For Contributors
~- [ ] I have written necessary rustdoc comments~
~- [ ] I have added necessary unit tests and integration tests~
~- [ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features).~
~- [ ] I have demonstrated that backward compatibility is not broken by breaking changes and created issues to track deprecated features to be removed in the future. (Please refer to the issue)~

[x] All checks passed in ./risedev check (or alias, ./risedev c)

Checklist For Reviewers
~- [ ] I have requested macro/micro-benchmarks as this PR can affect performance substantially, and the results are shown.~

Documentation

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Connector (sources & sinks)
SQL commands, functions, and operators

Release note

statement ok
create table s9 with (
  connector = 'kafka',
  topic = 'avro_topic',
  properties.bootstrap.server = '<IP_ADDRESS>:29092',
  scan.startup.mode = 'earliest'
) row format avro
row schema location 'http://xxx/xxx-schema.avsc'

@waruto210 This change applies to all sources (Pulsar, Kinesis, etc). Correct?

@waruto210 This change applies to all sources (Pulsar, Kinesis, etc). Correct?

Yes, applied to all sources that support avro row format.