Build Commands

Feature
✅ - Completed
❗ - Todo
✘ - Abandoned
⁉ - Needs further work
Mixed Commands

Status
Command
Permissions
Description

✅
alive/respond
ALL
Sends a response message to the user.  Defaults to taunting yourself.

❗
explode [person]
ADMIN
Explodes a person.  (Taunt the user who runs this command.)

❗
link <website> [WORDS]
ALL
Links to a website - What is this one supposed to do again?

❗
remind <User> <TimeSpan> <message>
ALL
Reminds a person at a designated time from now.

❗
puppet <user> <message>
ADMIN
Makes another person send a message.

❗
slap <user>
ADMIN
Slaps a user.

✅
streams
ALL
Lists all current streams

❗
casts
ALL
Lists the mosts recent casts

❗
badwords <get | add <word> <gravity> | del <word>>
ADMIN
Manages badwords.

❗
rwords
ALL
Prints the list of checked reactionwords

❗
reactionwords <get | add <word> <reply> | del <word>>
ADMIN | MANAGE_MESSAGES
Manages reactionwords. {sender} in the <reply> will be replaced with the person who triggered the reaction.

❗
repeat <get | add <ID> <seconds> <channel> <message> | del <ID>>
ADMIN | MANAGE_MESSAGES
Makes QAI repeat words in a channel each <seconds>.

❗
google [words]
ALL
Googles something.

❗
tournaments/tourneys
ALL
Gets the current tournaments.

IRC Only Commands

Status
Command
Permissions
Description

❗
join <IRC Channel>
ADMIN
Forces the bot to join another channel.

❗
leave [IRC channel]
ADMIN
Forces the bot to leave the channel, or a provided channel

❗
offlinemessage <User> <message>
ALL - HIDDEN
Sends a message to a user once they come online.

❗
puppet <user> <message>
ADMIN
Makes another person send a message.

❗
groupping <group name>
ALL
Pings all people in the indicated group

❗
group <get | join <group name> | leave <group name>>
ALL
Gets group list, or joins/leaves a selected group.

❗
groupmanage <get | add <group name> [TEXT] | del <group name> | join <group name> <player name> | leave <group name> <player name>>
ADMIN
Manages groups.

❗
blacklist <IRC user>
ADMIN
Prevents a user for using streams or casts

❗
badwords <get | add <word> <gravity> | del <word>>
ADMIN
Manages badwords.

❗
move <nick> <channel>
CHATLIST
Moves a user into a channel.

❗
chatlist [<channel> | add <channel> <user> | del <channel> <user>]
CHATLIST
Manages chat lists?

Discord Only Commands

Status
Command
Permissions
Description

❗
link <playername>
ALL
Links a FAF account to a Discord account.

❗
subscribe <rolename>
ALL
Subscribes to a Discord role set by the bot

❗
unsubscribe <rolename>
ALL
Unsubscribes from a Discord role set by the bot

⁉
registerrelay <Discord Channel> <IRC Channel>
MANAGE_CHANNELS
Registers a Discord channel to relay with IRC

⁉
removerelay <IRC channel | Discord channel>
MANAGE_CHANNELS
Removes a registered Relay

❗
blacklist <Discord User>
MANAGE_MEMBERS
Prevents a user from using commands on this guild

❗
blacklist
MANAGE_MEMBERS
Gets the current list of blacklisted users

❗
unblacklist <Discord User>
MANAGE_MEMBERS
Removes a user from the blacklist

❗
restrict <command name>
MANAGE_GUILD
Prevents anyone but those with moderation permission for using a command.

❗
unrestrict <command name>
MANAGE_GUILD
Removes a restriction on a command.

❗
fixbridge
MANAGE_CHANNELS
Reinitialize IRC relays

❗
links/showlinks
MANAGE_MEMBERS
Shows current user to IRC account links.

❗
unlink <user ID | FAF Id>
MANAGE_MEMBERS
Force un-link a user.

❗
loghere
MANAGE_GUILD
Registers the current channel for moderation action logging.

❗
testlog
MANAGE_GUILD
Tests the log channel.

❗
record <command name> <message>
MANAGE_GUILD
Records a predefined message that will show up next time anyone fires the command. Does not stop command execution.

❗
record <command name>
MANAGE_GUILD
Removes a record associated with a command.

❗
records/showrecords
MANAGE_GUILD
Shows the recorded messages

❗
ban <Discord User> [duration] [message]
BAN_MEMBERS
Bans a user from the server with an optional message and ban time.

❗
kick <Discord User> [message]
KICK_MEMBERS
Kicks a user from the server with an optional message.

❗
warn <Discord User> [message]
MANAGE_MESSAGES
Warns a user with an optional message.

❗
userinfo <Discord User>
MANAGE_MESSAGES
Gets the bans/kicks/warnings for a user.

❗
registerrole <Role Name>
MANAGE_ROLES
Registers a new role with the bot. Will attempt to create a new role if one does not exist.

❗
removerole <Role Name> [<true | false>]
MANAGE_ROLES
Removes a role registered with the bot. If the argument true is provided, the bot deletes the role. Defaults to false

❗
logmapshere
MANAGE_CHANNELS
Adds the channel to the map watching list- new maps will automatically be show in this channel whenever they are uploaded

❗
unlogmapshere
MANAGE_CHANNELS
Removes the channel from the map watching list.

Replay command needs support for responding to messages that start with # and then contain a replay ID afterwards. This change would have to be done inside of the Command Handler, most likely using a custom command call to call the command method normally.


add transform support

example:
translate-s-X
translate-e-X

Hi,
I don't think this is actually how it should work.
https://tailwindcss.com/docs/translate
the translation parameter is the axis (Y or X) so there is no left/right or start/end.

Try to imagine this switch:
function Switcher(props)
{
    const {
        checked,
        enabledLabel,
        disabledLabel,
        label,
        onChange,
        errors,
        name,
        description
    } = props;

    return(
        <>
            {label &&

                    {label}

            }

                    <div
                        className={`inline-block h-5 w-5 rounded-full bg-white shadow transform transition ease-in-out duration-200 ${checked ? '-translate-x-5' : '-translate-x-0'}`}
                        aria-hidden="true"
                    >

                    {checked
                        ? {enabledLabel}
                        : {disabledLabel}
                    }

            {errors &&
                <Error errors={errors}/>
            }
            {description &&
                <Description>{description}</Description>
            }
        </>
    )
}

export default Switcher;

The position on the X axis (left or right) varies depending on the direction.

I understand the use case,
I will consider adding this.

@20lives Thank you!

I know this issue is a little old. But i ran into the same issue, but on further inspection there is a rtl: variant in tailwind (might be new?) so you can just do the opposite transform if you need to.

I solve this problem by this way from documentation :
To use a negative translate value, prefix the class name with a dash to convert it to a negative value.
So you can use class:
-translate-y-6
And reverse it by
translate-y-6


ModuleNotFoundError: No module named 'maskrcnn_benchmark.config'

❓ Questions and Help
$ python webcam.py --min-image-size 800
Traceback (most recent call last):
File "webcam.py", line 5, in
from maskrcnn_benchmark.config import cfg
ModuleNotFoundError: No module named 'maskrcnn_benchmark.config'

Hi, are you using python 2?
Also, did you follow the installation instructions in INSTALL.md?

I've added a section in the README with instructions that should help you fix your problem. It is probably related to https://github.com/facebookresearch/maskrcnn-benchmark/issues/22
I'm closing this issue, but let me know if you don't manage to solve your problem.

Hi I still have this problem using this setup, do you know what's wrong with it?@fmassa Thanks!

You didn't install maskrcnn-benchmark properly.
Note that now you need to have a nightly version of PyTorch. 1.0.0 or 1.0.1 won't work

Same error.
$ pwd
/home/emblab/satyam/maskrcnn/maskrcnn-benchmark/demo
$ python -V
Python 3.6.8 :: Anaconda custom (64-bit)

import torch
print(torch.version)
1.2.0.dev20190704

$ nvcc --version
The pinstarogram 'nvcc' is currently not installed. You can install it by typing:
sudo apt ll nvidia-cuda-toolkit
$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
No GPU on the system
$ python webcam.py --min-image-size 300 MODEL.DEVICE cpu
Traceback (most recent call last):
File "webcam.py", line 5, in
from maskrcnn_benchmark.config import cfg
ModuleNotFoundError: No module named 'maskrcnn_benchmark'
Can you help me out @fmassa

Same error.
$ pwd
      /home/emblab/satyam/maskrcnn/maskrcnn-benchmark/demo

$ python -V
Python 3.6.8 :: Anaconda custom (64-bit)

>>> import torch
>>> print(torch.__version__)
1.2.0.dev20190704

$ nvcc --version
      The pinstarogram 'nvcc' is currently not installed. You can install it by typing:
      sudo apt ll nvidia-cuda-toolkit

$ gcc --version
       gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
       Copyright (C) 2015 Free Software Foundation, Inc.
       This is free software; see the source for copying conditions.  There is NO
       warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

GPU-No (Only CPU)
$ python webcam.py --min-image-size 300 MODEL.DEVICE cpu
       Traceback (most recent call last):
           File "webcam.py", line 5, in <module>
        from maskrcnn_benchmark.config import cfg
        ModuleNotFoundError: No module named 'maskrcnn_benchmark'

Can you help me out @fmassa

i have the same problem with u , have u solved it?

@AnnZhn, yeah the torchvision-nightly version was conflicting with torchvision. I uninstalled torchvision using: pip uninstall torchvision.


Alternate from AM to PM when changing hours

HI, I been using this plugin and I think it's really good but I would like to have the feature when you are changing hours in a 12 hour style, when you go from 11:00 am to 12, it automatically changes to PM, right now this confuses my users because they don't notice that the AM o PM is static.
Thanks in advance.

I've encountered a similar bug when setting to noon and reverts to midnight.


Add hero videos (YouTube/Vimeo) to single.html layout

Cool, thanks for taking the time to educate me :-) Will push updates this weekend - happy Friday!

@justintoo :+1:


StepButtons and Interval Time

Undo and Skip Forward Buttons, check for implementation!
Make somehow to change the interval time the user!

Slider range for interval time implemented and skip forward button also!
The undo button is not necessary and I will think about that in the future!


docs(vite-plugin-angular): mention current limitations of the Vitest …

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/analogjs/analog/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been updated for explicitness

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[x] Documentation content changes
[ ] Other... Please describe:

Which package are you modifying?

[ ] vite-plugin-angular
[ ] vite-plugin-nitro
[ ] vitest-angular
[ ] astro-angular
[ ] create-analog
[ ] router
[ ] platform
[ ] content
[ ] nx-plugin
[ ] trpc

What is the current behavior?

Provides more details about how the current integration works. Inspired by #1115.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

@allcontributors add @gultyayev for doc


There is no possibility to draw oscillograph kind of charts

yAxis - time [0.01, 0.02,0.03...]
Data 0,1,1,0,0,...
Can't find possibility to draw like this:

Is it possible to draw like this:
https://ecomfe.github.io/echarts-examples/public/editor.html?c=line-step


Unable to get cloud shell environment

I'm trying to connect connect to google cloud shell/terminal from my local (mac) and execute/trigger a shell script (also few other commands) present in the ephemeral VM (cloud shell).
Using the below code to get the environment details but hitting error
code:
from google.cloud import shell_v1
from google.oauth2 import service_account
credentials = service_account.Credentials.from_service_account_file('/path_to_service_account_key.json')
client = shell_v1.CloudShellServiceClient(credentials=credentials)
#  or client = shell_v1.CloudShellServiceClient().from_service_account_json('/path_to_service_account_key.json')
# Initialize request argument(s)
request = shell_v1.GetEnvironmentRequest(name="users/me/environments/default",)
# Make the request
operation = client.get_environment(request=request)
print("Waiting for operation to complete...")
response = operation.result()
# Handle the response
print(response)
Error:
Traceback (most recent call last):
File "/Users/aubanger/Desktop/sandboxpy3/py3_env4/lib/python3.8/site-packages/google/api_core/grpc_helpers.py", line 50, in error_remapped_callable
return callable_(*args, **kwargs)
File "/Users/aubanger/Desktop/sandboxpy3/py3_env4/lib/python3.8/site-packages/grpc/_channel.py", line 946, in call
return _end_unary_response_blocking(state, call, False, None)
File "/Users/aubanger/Desktop/sandboxpy3/py3_env4/lib/python3.8/site-packages/grpc/_channel.py", line 849, in _end_unary_response_blocking
raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.INTERNAL
details = "Internal error encountered."
debug_error_string = "{"created":"@1658842961.439535000","description":"Error received from peer ipv6:[2404:6800:4007:825::200a]:443","file":"src/core/lib/surface/call.cc","file_line":967,"grpc_message":"Internal error encountered.","grpc_status":13}"

The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/aubanger/Desktop/sandboxpy3/gcp_sandbox/gcp_test5.py", line 14, in
operation = client.get_environment(request=request)
File "/Users/aubanger/Desktop/sandboxpy3/py3_env4/lib/python3.8/site-packages/google/cloud/shell_v1/services/cloud_shell_service/client.py", line 529, in get_environment
response = rpc(
File "/Users/aubanger/Desktop/sandboxpy3/py3_env4/lib/python3.8/site-packages/google/api_core/gapic_v1/method.py", line 154, in call
return wrapped_func(*args, **kwargs)
File "/Users/aubanger/Desktop/sandboxpy3/py3_env4/lib/python3.8/site-packages/google/api_core/retry.py", line 283, in retry_wrapped_func
return retry_target(
File "/Users/aubanger/Desktop/sandboxpy3/py3_env4/lib/python3.8/site-packages/google/api_core/retry.py", line 190, in retry_target
return target()
File "/Users/aubanger/Desktop/sandboxpy3/py3_env4/lib/python3.8/site-packages/google/api_core/grpc_helpers.py", line 52, in error_remapped_callable
raise exceptions.from_grpc_error(exc) from exc
google.api_core.exceptions.InternalServerError: 500 Internal error encountered.
Please let me know if I'm following a right approach here, if not please suggest, thanks

Thanks for the report.
I just went through the same code as above, with no errors. One note: since the client is not the Async version, the call client.get_environment(request=request) returns the result, not an operation. However, the returned result is correct.
This may have been due to a problem since fixed, but it works properly now. If the problem recurs, reopen this comment with more details.


error: unsupported uint16: unsupported or not implemented yet.

Hi!
I'm trying to connect from prosys opcua client (osx) to your example/server (with my changes of course).
Have an issue while connect:
2018/10/01 00:30:44 main.go:79: D Successfully established connection with <IP_ADDRESS>:60570
2018/10/01 00:30:44 main.go:89: D Successfully opened secure channel with <IP_ADDRESS>:60570
2018/10/01 00:30:44 main.go:95: E ReadService error: unsupported uint16: unsupported or not implemented yet.
Any Ideas?
Ready to collaborate.

Hi, thank you for trying the sample and reporting the issue!
What OPC UA Service did you send from the client? ReadService reads Service above UASC and try to decode, and if the type of service is not implemented in our stack, it raises error.
For sure that non-user-friendly error message should be improved...
Here you have two options to address

Use Read instead of ReadService, which you can get Service in binary with UASC header.

Implement the service you want to use in services directory, and add it in services.Decode(), which requires some work depending on the complexity of the service.

Hi! Thanks for your answer!
I'm using 3d-party application - Prosys OPC UA Client.
So, I don't know what it sends, but right after i've pressed connect button I have this error (unsupported uint16: unsupported or not implemented yet - on server side of course.)

I don’t know how it behaves either... Could you capture the packets and attach here?

Add some to  github.com/wmnsk/gopcua/services/service.go
default:
		fmt.Fprintln(os.Stderr, "Unsupported id is", n.Identifier)
		fmt.Fprintf(os.Stderr, "Data: %X", b)
		return nil, errors.NewErrUnsupported(n.Identifier, "unsupported or not implemented yet.")
	}

Received
Unsupported id is 422
Data: 0100A601000000000000000000000000000000000000FFFFFFFFC0D40100000000190000006F70632E7463703A2F2F6C6F63616C686F73743A31343834300000000000000000
E ReadService error: unsupported uint16: unsupported or not implemented yet.

I've checked freeopcua.
It's a   FIND_ServerS_REQUEST = 0x1A6, // 422

@rowdyroad
Let me know if something's still go wrong. Thanks.


Data source ionoscloud_image fails to return an existing image

Description

Data source ionoscloud_image fails to return an existing image.
Expected behavior

When searching for Debian 11, I want the data source to return the latest Debian 11 image.
Looking at https://api.ionos.com/cloudapi/v6/locations?depth=1, at the time being it's debian-11-genericcloud-amd64-20220307-939 which is available in both locations I've tested (de/fra and de/txl).
It's THE ONLY image matching name and version specified in the data source. According to your changelog for v6.1.6 I expect it to return this exact match.
Environment
Terraform version:
Terraform v1.1.7

Tested with the following provider version:
registry.terraform.io/ionos-cloud/ionoscloud v6.1.6
registry.terraform.io/ionos-cloud/ionoscloud v6.2.0

OS:
macOS Big Sur 11.6.2
darwin_amd64

Configuration Files

I've only set IONOS_TOKEN.
How to Reproduce

Tested for data centers in locations de/txl and de/fra.
main.tf
terraform {
  required_version = "~> 1.1.6"

  required_providers {
    ionoscloud = {
      source  = "ionos-cloud/ionoscloud"
      version = "6.1.6"
    }
  }
}

provider "ionoscloud" {
  # IONOS Cloud credentials are read from environment variables
}

resource "ionoscloud_datacenter" "my_datacenter" {
  name        = "My datacenter"
  location    = "de/txl" # Alternatively "de/fra"
}

data "ionoscloud_image" "os" {
  name = "debian"
  version = "11"
  location = ionoscloud_datacenter.my_datacenter.location
}

output "image_name" {
  value = data.ionoscloud_image.os.id
}

Error and Debug Output

$ terraform plan -out=tfplan

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # data.ionoscloud_image.os will be read during apply
  # (config refers to values not yet known)
 <= data "ionoscloud_image" "os"  {
      + cloud_init             = (known after apply)
      + cpu_hot_plug           = (known after apply)
      + cpu_hot_unplug         = (known after apply)
      + disc_scsi_hot_plug     = (known after apply)
      + disc_scsi_hot_unplug   = (known after apply)
      + disc_virtio_hot_plug   = (known after apply)
      + disc_virtio_hot_unplug = (known after apply)
      + id                     = (known after apply)
      + image_aliases          = (known after apply)
      + license_type           = (known after apply)
      + location               = "de/txl"
      + name                   = "debian"
      + nic_hot_plug           = (known after apply)
      + nic_hot_unplug         = (known after apply)
      + public                 = (known after apply)
      + ram_hot_plug           = (known after apply)
      + ram_hot_unplug         = (known after apply)
      + size                   = (known after apply)
      + version                = "11"

      + timeouts {
          + create  = (known after apply)
          + default = (known after apply)
          + delete  = (known after apply)
          + update  = (known after apply)
        }
    }

  # ionoscloud_datacenter.my_datacenter will be created
  + resource "ionoscloud_datacenter" "my_datacenter" {
      + cpu_architecture = (known after apply)
      + description      = "Test ionoscloud_provider"
      + features         = (known after apply)
      + id               = (known after apply)
      + location         = "de/txl"
      + name             = "terraform-test"
      + version          = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + image_name = (known after apply)

──────────────────

Saved the plan to: tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply "tfplan"

$ terraform apply "tfplan"
ionoscloud_datacenter.my_datacenter: Creating...
ionoscloud_datacenter.my_datacenter: Creation complete after 0s [id=364f7799-1e5d-42ae-919b-a3e5c30eae29]
data.ionoscloud_image.os: Reading...

│ Error: no image found with the specified criteria: name debian and version 11 (debian-11)
│
│   with data.ionoscloud_image.os,
│   on main.tf line 22, in data "ionoscloud_image" "os":
│   22: data "ionoscloud_image" "os" {
│

Additional Notes

It works when downgrading provider to v6.1.5 or v6.1.4.
$ terraform init -upgrade

Initializing the backend...

Initializing provider plugins...
- Finding ionos-cloud/ionoscloud versions matching "6.1.5"...
- Installing ionos-cloud/ionoscloud v6.1.5...
- Installed ionos-cloud/ionoscloud v6.1.5 (signed by a HashiCorp partner, key ID 2D2E9201D5B7747D)

# ... omitted for readability

$ terraform plan -out=tfplan

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # data.ionoscloud_image.os will be read during apply
  # (config refers to values not yet known)
 <= data "ionoscloud_image" "os"  {
      + cloud_init             = (known after apply)
      + cpu_hot_plug           = (known after apply)
      + cpu_hot_unplug         = (known after apply)
      + disc_scsi_hot_plug     = (known after apply)
      + disc_scsi_hot_unplug   = (known after apply)
      + disc_virtio_hot_plug   = (known after apply)
      + disc_virtio_hot_unplug = (known after apply)
      + id                     = (known after apply)
      + image_aliases          = (known after apply)
      + license_type           = (known after apply)
      + location               = "de/txl"
      + name                   = "debian"
      + nic_hot_plug           = (known after apply)
      + nic_hot_unplug         = (known after apply)
      + public                 = (known after apply)
      + ram_hot_plug           = (known after apply)
      + ram_hot_unplug         = (known after apply)
      + size                   = (known after apply)
      + version                = "11"

      + timeouts {
          + create  = (known after apply)
          + default = (known after apply)
          + delete  = (known after apply)
          + update  = (known after apply)
        }
    }

  # ionoscloud_datacenter.my_datacenter will be created
  + resource "ionoscloud_datacenter" "my_datacenter" {
      + cpu_architecture = (known after apply)
      + description      = "Test ionoscloud_provider"
      + features         = (known after apply)
      + id               = (known after apply)
      + location         = "de/txl"
      + name             = "terraform-test"
      + version          = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + image_name = (known after apply)

──────────────────

Saved the plan to: tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply "tfplan"

$ terraform apply "tfplan"
ionoscloud_datacenter.my_datacenter: Creating...
ionoscloud_datacenter.my_datacenter: Creation complete after 0s [id=bb636f20-5b91-4008-894b-64c5f65b9e51]
data.ionoscloud_image.os: Reading...
data.ionoscloud_image.os: Read complete after 1s [id=f5905e36-9f97-11ec-81ea-9af10147ecbd]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Outputs:

image_name = "f5905e36-9f97-11ec-81ea-9af10147ecbd"

$ terraform state show data.ionoscloud_image.os
# data.ionoscloud_image.os:
data "ionoscloud_image" "os" {
    cloud_init             = "V1"
    cpu_hot_plug           = true
    cpu_hot_unplug         = false
    disc_scsi_hot_plug     = false
    disc_scsi_hot_unplug   = false
    disc_virtio_hot_plug   = true
    disc_virtio_hot_unplug = true
    id                     = "f5905e36-9f97-11ec-81ea-9af10147ecbd"
    image_aliases          = [
        "debian:latest",
        "debian:11",
    ]
    license_type           = "LINUX"
    location               = "de/txl"
    name                   = "debian-11-genericcloud-amd64-20220307-939"
    nic_hot_plug           = true
    nic_hot_unplug         = true
    public                 = true
    ram_hot_plug           = true
    ram_hot_unplug         = false
    size                   = 2
    type                   = "HDD"
    version                = "11"
}

Hi @marcelbrueckner
Thank you for pointing this issue out! We will come back with a fix shortly.

Hi @marcelbrueckner,
Here I am with an update regarding this, after some internal discussions. First of all, the solution right now for you is to use the whole name (debian-11-genericcloud-amd64-20220307-939) of the image in the name parameter of the data-source, to get the image you want. In addition remove the setting of the version parameter.
To explain why in the previous versions the data source worked as you intended, that was happening due to the fact that in version 6.1.4 we introduced a different behavior, based on substring matching, a behavior that we removed in v6.1.6. The removal happend due to the fact that making a substring matching returned ambiguous results (more than one) and could lead to errors (e.q. creating a resource in the wrong datacenter).
Solution provided in a future release
In the future we will provide a new feature for the data-sources - an additional field partial_match that if set to true, the data source will make a substring match on the name parameter. Until then, please use the data-source as explained in the first paragraph.
Furthermore, please note that in the next release the version parameter will become deprecated, as we do not recommend using it due to the fact that not all images have a version included in the name.


config.go add omitempty to device.Major and device.Minor

Signed-off-by: zhouhao<EMAIL_ADDRESS>

Can you please explain why you think this should change?
It is hard to provide a reason to reject or approve this change without knowing first why you think it should be different.

Modify according to the following spec：
1major, minor** (int64, REQUIRED unless type is p)
2.Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p.

I don't think this should be changed.  A device type of p is not valid for the devices cgroup.  I think adding omitempty is enough

I don't think this should be changed. A device type of p is not valid for the devices cgroup.

cb01bcd86c is updating the LinuxDevice struct, which is used for linux.devices.  The cgroup uses linux.resources.devices, which is backed by LinuxDeviceCgroup.  The current specs for both (unchanged since v1.0.0) are here (for linux.devices):

major, minor (int64, REQUIRED unless type is p) - [major, minor numbers][devices] for the device.

and here (for linux.resources.devices):

major, minor (int64, OPTIONAL) - [major, minor numbers][devices] for the device.

That means that both cases should have omitempty for Major and Minor and LinuxDeviceCgroup already does.
Once we add an omitempty, we need to decide on pointer vs. non-pointer.  I don't think we have a clear policy on this at the moment (#772), but LinuxDeviceCgroup uses pointers for the same (occasionally) OPTIONAL situation, so cb01bcd8 keeps us consistent with that.  Keeping non-pointers would also work for Major, since major zero is reserved]6, and that would make migration easier for Go consumers.  But using a non-pointer for Minor is a no-go, because 0 is a valid minor value (e.g. here).  And the slightly easier migration for:
Major int64 `json:"major,omitempty"`
Minor *int64 `json:"minor,omitempty"`

does  not seem worth breaking consistency with LinuxDeviceCgroup.

NACK
I don't think this is needed. This sets up implementations to now get a nil where that was not possible before, so this would need a version bump for not a particular gain or fix.


[check] lecture transfers

Check if lectures have been transferred succesfully and are in line with https://github.com/QuantEcon/lecture-source-py/issues/956

@mmcky should search.rst be deleted?

@DrDrij does the search page generated by search.rst support the search feature on the site?

@DrDrij does the search page generated by search.rst support the search feature on the site?

Yup this page displays the search results from google custom search. When you enter keywords in the header and submit it redirects to this page, and results are displayed.

thanks @DrDrij. @najuzilu it is similar to the 404.rst file and they are contained in a hidden toc in index_toc.rst. Can you remove it from the issue on splitting the lecture as it is an infrastructure page.

Done! I'll close this issue since all lectures have been transferred.


Add Stand.app

Make standing up a habit.

via https://getstandapp.com/

Thank you for the contribution. It needed some fixes, so they were made in 7da6b4a1fc7fbc2586f26886ff42a5a0ae0890c8. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


Only pass failing spec files to AI for updating tests

Following the issue https://github.com/gumroad/shortest/issues/35
This will only pass failing test files to AI to update the tests to ensure a successful build.

Booyah!


Add post filter logic and enhance readme

Enable the usage of post_filter in your query.
Added TermsQuery readme section.

Thanks!


WIP: Feature/group permissions2.0

Rebasing of groupPermissions adding the following in support of Local (mms-only) Groups:

Authentication refactor to support clear User vs Auth workflows
Group refactor adding API capabilities
Group permission management (i.e. Admin Users who will be able to add/remove members from local (mms-only) groups).

Why is gradlew an empty file now?


Add nixpkgs notify news job

Resolves GH-846
Preparation for GH-902

Clone with depth 1
shallow since target commit. Do not depend on fixed datetime

GraphQL: Resource not accessible by integration (addComment)

https://github.com/cli/cli/issues/8374
Didn't work in PR by default?

Raising same error as https://github.com/kachick/dotfiles/pull/903#issuecomment-2451205141 after merge 🤔

GITHUB_TOKEN Permissions
  Actions: write
  Attestations: write
  Checks: write
  Contents: write
  Deployments: write
  Discussions: write
  Issues: write
  Metadata: read
  Packages: write
  Pages: write
  PullRequests: write
  RepositoryProjects: write
  SecurityEvents: write
  Statuses: write

Followed by these commits https://github.com/kachick/dotfiles/compare/85ee29bb3bd376123dd77797fe245326c2e9f49f...c2cddc8541f74c419dc41f874c5179da0c5e61be


Waiting for Mapbox 5.0 support , thanks!

I have created a PR for this: https://github.com/hulab/ClusterKit/pull/75


Adding stddev and stdvar aggregation functions

Issue: https://github.com/thanos-community/promql-engine/issues/41
Also added changes() and drive()

This is mainly for stddev|stdvar_over_time right? Not stddev and stdvar aggregation function. So probably we can update the PR title and this doesn't fix #41. But overall this looks good 👍

yes I will add  stddev() and stdvar() in next pr.


Update it.json

Fixed some text as not correctly translated

@papperone could you please update the pull request. Even i've added some new translation keys into the english version. Can you directly translate them into italian?

@idaho  it shoudl be ok with all the new keys translated in Italian :)

@papperone thank you


Best practice for programmatically controlling the player?

What would you consider to be the best approach to programmatically control the player? I could see two approaches:

Exposing the _internalPlayer to the Parent component, and allowing the parent to make calls against _internalPlayer directly

Augmenting react-youtube component, so that Parent components can pass in player commands. _interalPlayer thus remains hidden from the Parent component, and the logic for calling those commands is maintained within react-youtube.

I suppose 1 would be the easiest option. We could pass the internal player up via onReady, but it feels kinda dirty honestly. thoughs?

For now I'm going with option 1. I agree its a little dirty, but its the easiest and prevents you from having to rewrite all the API methods. If I run into any issues I'll provide an update.

Player is now accessible in every event handler, similar to the official API. See a3c2479ba729aad50db97e7214fea4ff31014a95, 932fc99b8372343438ccbbbccd97c2c475f9e96f
Thanks for the ideas & help!


Optionally generate interfaces in Java when possible

This pull request is a continuation of #47. I've made the new behavior optional and off by default. If I understand correctly, there was concern that djinni might not properly handle a Java class that implemented multiple interfaces generated by djinni, but I tested that theory in my Android app, by having some c++ code call both bar() and baz() on the one Java object that implemented those interfaces, defined below, and I didn't have any problems.
hello_world = interface +c {
    static create(): hello_world;
    foo(bar_delegate: hello_bar, baz_delegate: hello_baz): string;
}

hello_bar = interface +j {
    bar(): string;
}

hello_baz = interface +j {
    baz(): string;
}

Automated message from Dropbox CLA bot
@csimmons0, thanks for the pull request! It looks like you haven't yet signed the Dropbox CLA. Please sign it here.

Automated message from Dropbox CLA bot
@csimmons0, thanks for signing the CLA!

I just checked the implementation and we already forbid static methods on +j and +o interfaces (https://github.com/dropbox/djinni/blob/master/src/source/resolver.scala#L268), so this change doesn't have to be made optional or depend on the interface's contents. The generated type can always be an interfacae.

Good point, @mknejp.  I think there are two definitions of "optional" at work here, so let me see if we agree on the details:

Regarding which Djinni interfaces can safely be represented as Java interfaces, I think you're arguing that's true for any interface which is +j but not +c.  Such an interface can have constants but not static methods, nor an inner class for the proxy, which is consistent with what Java interfaces support in Java versions <8.  I'd still call this "optional" though with a much simpler test for compatibility.

Regarding command-line optionality, that's intended to avoid breaking any existing code which subclasses the Djinni interface using "extends" rather than "implements".  If we generate Java interfaces only for Djinni interfaces which are "+j but not +c" then I think there can still be breakages, since there will be existing code which extends the class in Java.

I think that leaves us still wanting a command-line option, and still with an approach of "generate interfaces when possible", though the logic for "when possible" can become simpler if the generator properly supports generating constants on Java interfaces.
Are you suggesting something different?

Regarding which Djinni interfaces can safely be represented as Java interfaces, I think you're arguing that's true for any interface which is +j but not +c. Such an interface can have constants but not static methods, nor an inner class for the proxy, which is consistent with what Java interfaces support in Java versions <8. I'd still call this "optional" though with a much simpler test for compatibility.

I don't think this differentiation matters. Because +j +c interfaces are +j they cannot have static methods, so even the +j +c types can be an interface in Java.

Regarding command-line optionality, that's intended to avoid breaking any existing code which subclasses the Djinni interface using "extends" rather than "implements". If we generate Java interfaces only for Djinni interfaces which are "+j but not +c" then I think there can still be breakages, since there will be existing code which extends the class in Java.

True. It's a shame Java uses different syntax for this.

Are you suggesting something different?

I'm pretty sure we can always generate interface for anything containing the +j flag because that implicitly disables static methods, and that's the only thing holding us back (and isn't allowed in +j for symmetry with +o).

I don't think this differentiation matters. Because +j +c interfaces are +j they cannot have static methods, so even the +j +c types can be an interface in Java.

I had forgotten that the rule was "+c only" not "+c at all".  However any +c interface will have the static inner class for the CppProxy, which can't exist on a Java interface.  That can (and probably should) be moved out into a separate class, but I think that's beyond the scope of what the author was intending to take on in this PR.

However any +c interface will have the static inner class for the CppProxy, which can't exist on a Java interface.

What makes you think that?

What makes you think that?

An unfounded assumption, apparently  Now that I've researched it and tried it I see that's incorrect.  I'd always assumed you couldn't have classes in interfaces, and that figured prominently in the discussion on the issues which lead to this PR.  Apparently I was wrong; sorry for the confusion.
You can have a class inside an interface, but you can't make it private.  So we could allow +j +c interfaces to be Java interfaces, so long as we're okay with the CppProxy class being public, which I think is a reasonable trade-off to make.  We still couldn't produce Java interfaces for +c interfaces with static methods as-is, though it looks like there's a reasonable alternative I can propose:
Java interfaces can't have static methods (or apparently native methods, which Djinni's static methods also are) in Java <8, but static inner classes within interfaces can.  Given the interface generation option is going to be enabled by a command-line switch, and will require code changes anyway, we could have it always generate interfaces, and move the static methods into an inner class called Statics or somesuch.  There could also be another cmdline switch to generate the Java 8 version without the intermediate class.
Thoughts?

Just make the CppProxy constructors private and that should do.
Static methods aren't allowed for +j not because of issues with Java but because they don't work in Objective-C so this limitation exists solely for symmetry with +o.

Yeah, that makes it safe enough.  I don't like the "messiness" of the extra public class, but don't think it's a blocker, as I said.

@mknejp @artwyman
At first, I didn't understand what you two were discussing, but I believe that I do understand it now that I've attempted to generate Java interfaces in the +c case.

So we could allow +j +c interfaces to be Java interfaces, so long as we're okay with the CppProxy class being public, which I think is a reasonable trade-off to make. (artwyman)

From my perspective, this isn't a great trade-off. I, too, dislike the messiness of making the CppProxy class public, and all my Djinni interfaces are either +c or +j +o. What's the use case for +j +c?

+j interfaces cannot have static methods, so the whole distinction logic is unnecessary. The only criteria on whether or not to create interfaces is spec.javaGenerateInterfaces.

+j interfaces cannot have static methods, so the whole distinction logic is unnecessary.

This code also runs to generate the Java bindings for +c interfaces. When I remove the check for static methods and run the test code, interfaces such as this:
cpp_exception = interface +c {
    throw_an_exception(): i32;
    static get(): cpp_exception;
}

produce errors such as this:
    [javac] /Users/christophersimmons/Documents/repos/vitalsoftware/deps/djinni/test-suite/generated-src/java/com/dropbox/djinni/test/CppException.java:14: error: static interface methods are not supported in -source 1.7
    [javac]     public static native CppException get();

This is very useful for Callback definitions. What's missing here for a merge?

Right now I think it's waiting for me to have time to re-build context enough to understand and review this again.  I don't think I realized there were new changes here to review, but I also haven't had time to be very responsive recently.  Will post about next steps when I can get caught up.

So, at risk of re-opening a bikeshed, I want to have a brief discussion about where we landed on when Java-interfaces are generated.  @csimmons0 and @mknejp I wonder what you think about the "variability" of the current solution, which will generate Java-interfaces anytime a Djinni-interface doesn't have static methods.  It's a bit weird that adding or removing a method will have the side-effect of changing the output in incompatible ways (extends vs. implements).
The alternative I'd consider is to generate Java-classes for Djinni-interfaces which are "+c only" (i.e. not also +j).  If my recollection of the options is correct, that identifies an interface which is allowed to have static methods, whether it has any right now or not, and is a decision which won't vary as easily.  The tradeoff for doing that is generating Java-interfaces slightly less often.  However I'd argue that the value of this feature is for +j or +j+c interfaces, where it allows Java classes to implement more than one of them.  On a +c interface, I don't see how generating a Java-interface is better than a Java-class.
To be clear, I think this is a discussion of small tweaks, and getting the overall feature is more important, so if we don't reach a clear consensus on this relatively quickly I'm fine with merging the current behavior (after the code-review is approved).

@artwyman I think I prefer the last alternative of generating always interfaces, using static methods in interface. This way be behaviour will be more coherent.
Android Studio 3.0 and the gradle plugin 3.0 went stable yesterday, so this isn't a blocking point anymore.

I'd be in favor of that if @csimmons0 or @4brunu wants to propose an alternative PR.

I think this PR only need some tweaks, do you want to do it @csimmons0?

I'll see if I can get it done today.

I've implemented generating interfaces regardless of the presence of static methods, but I'm afraid it doesn't work. These static methods are also native methods, which, as I understand it, aren't allowed in interfaces because native methods aren't allowed to be abstract. I run the tests and get lots of build errors such as this:
    [javac] /Users/csimmons/Documents/repos/onedoclily/client/deps/djinni/test-suite/generated-src/java/com/dropbox/djinni/test/WcharTestHelpers.java:12: error: modifier native not allowed here
    [javac]     public static native WcharTestRec getRecord();

Referring to code such as this:
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from wchar_test.djinni

package com.dropbox.djinni.test;

import java.util.concurrent.atomic.AtomicBoolean;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;

public interface WcharTestHelpers {
    @Nonnull
    public static native WcharTestRec getRecord();
    . . .

Is there a workaround aside from generating interfaces conditionally, as in the original request?

@csimmons0 could you create another branch and commit your changes there so I can make some tests?

@4brunu https://github.com/csimmons0/djinni/tree/java-interfaces-optional-test

Thanks @csimmons0, tomorrow I will try to take a look a it, because here it's late :)

@artwyman Regarding the other option that was being considered, where we generate abstract classes for "+c only" interfaces, I'm not seeing the benefit of that option over the original method. I've thought through the ways the interface, as defined in the djinni file, may change, and I haven't found any way that the change to the interface would break code. Code would break if a Java class implemented the interface and that interface changed from a Java interface to a Java abstract class or vice-versa.
If the interface changed from a Java interface to a Java abstract class, the new version of the Djinni interface must include a static method. Therefore the new Djinni interface must be +c only. The Java class that implemented the interface is now broken due to the change from Java interface to Java abstract class, but it's also broken because Java implementations of +c only interfaces aren't supported. Furthermore, the alternative implementation of this change, which looks for +c only interfaces, would have the exact same effect.
If the interface changed from a Java abstract class to a Java interface, the old version of the Djinni interface must have had a static method. Therefore its old interface must have been +c only. Therefore there was no preexisting Java implementation to break.
Also, if something starts +c only, without static methods, and then changes to +c +j,  and we were to implement this change the other way, wouldn't some generated code change, where it wouldn't change using the original method?

I should mention that I have git treat Djinni-generated files as binaries, which means that changes from interfaces to abstract classes don't show up in diffs. If you were concerned about code churn in generated files, I can see the benefit to the other way of doing things.

@csimmons0 I tried to found a way to solve this but without success 😞

Static methods are not abstract (even on interfaces) so I don't think there's any fundamental reason you couldn't have static native methods on an interface.  I'd believe that the Java 8 designers may not have thought about that case, though.
It looks like you could solve the problem with an extra level of indirection, though, since interfaces can have static inner classes (like CppProxy), which can have static native methods.  I just tried this test and IntelliJ seems to accept it:
public interface TestInterface {
    // static native int nat(); // This won't compile
    static int nat() {
        return Inner.nat();
    };

    static class Inner {
        Inner() {}
        static native int nat();
    }
}

Comment on the discussion of "+c only" vs. "has static methods" as the trigger (maybe moot if we switch to Java 8 and can make static native methods work):
That's an excellent point that "+c only" interfaces are generally meaningless to extend in Java, and thus the likelyhood of anyone's code breaking when they add a static method is very low.  In theory, though, people might make Java-only subclasses of the method which they don't need to pass through to C++.  I'm not sure I'd prioritize this use case highly given Djinni's purpose, but it could be valid in cases where all your users of your interface are in Java, but you want to have two different implementations in Java vs. C++.  The Java implementation might even be a mock for testing.
I'm not worried about generated files causing churn in source-control or reviews, since in general I don't recommend putting generated files in source-control at all.  In general, I think it's always fine if Djinni changes generated output in response to an IDL change (or a Djinni change), so long as the output is compatible with what the user expects. Doing otherwise would but a lot more limitations on the ability to change Djinni's behavior.

I've completed the suggested changes.

@csimmons0 This is awesome! Great work!
I just annotated some missing public, private, static and final keywords.
I'm not sure if this was on propose or if something is missing.
Also could you please explain the 00024CppProxy?
Thanks! 👍

@csimmons0 Thanks for the quick responses, looks good to me 👍

Sorry for the delay again.  I think I'm fine with this feature as implemented now.  I only pointed out one problem with the test suite configuration in my latest review.
@xianwen will need to test this on the Dropbox codebase to ensure it doesn't break anything (at least when the feature is disabled).  It may also be worth considering enabling it too (and modifying existing code to use implements rather than extends when necessary.  I believe the Dropbox codebase has either already adopted Java 1.8, or will do so soon.

@artwyman @xianwen Any news on this PR? I'm really looking forward to see this get merged 🙂

See my last round of comments for the remaining small issues behind my "request changes".  I think it was only the test suite and state of re-generation thereof which was at issue.
In parallel @xianwen should be able to test this to make sure it doesn't break anything in the Dropbox codebase, since we use modes not covered in the test suite.

@4brunu, I was waiting for @csimmons0  to update the diff per: https://github.com/dropbox/djinni/pull/288/files/941947dc1345021988ac3af0072d9416b229b502..cd86c27df026193fe497918eadd064e39076d606#diff-2fa8e91b1f628c75dbbe9f7bebb317ee
I'll wait for one more week in case @csimmons0 prefers to take care of it, otherwise I'll adjust it myself next week, and merge it if it passed all our tests.

@artwyman @xianwen thanks for the update and the help to get this merged. 🙂

Should be good now.

@xianwen I believe that 7d0fc1d fixes the build error you hit.

@xianwen any news on this pr? It's a very useful change on Java/Kotlin (Android) side, since it allows less verbose code. Thanks!

Looks like @xianwen may need to take a look at the latest commits here.
My recollection is that we decided it was okay for Java 8 to be required to enable this configuration flag, so long as with it disabled Djinni can still be used with older Java versions.

@xianwen Any update on this ? As @gabrielformiga mentioned, it would be really useful on on the Android/Kotlin side.


Differences from mousetrap?

I see references to Mousetrap in the documentation, which leads me to believe this library was inspired by or adapted from it. Can you explain the differences between this library and Mousetrap?

@sloria There is no relationship with Mousetrap. I think the translation is more accurate and I read people's documents. This is a mistake and I will correct it.

Ah, ok. I'm still curious if there are differences in featureset or approach between hotkeys.js and Mousetrap.


size mismatch for voxel_encoder.pfn_layers.0.linear.weight: copying a param with shape torch.Size([64, 9]) from checkpoint, the shape in current model is torch.Size([64, 10]).

Hi,  I  received this error when I ran the following command:
python demo/pcd_demo.py demo/data/kitti/kitti_000008.bin configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py checkpoints/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class_20200620_230421-aa0f3adb.pth --show
The "hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class_20200620_230421-aa0f3adb.pth" is downloaded form https://download.openmmlab.com/mmdetection3d/v0.1.0_models/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class_20200620_230421-aa0f3adb.pth
And the same error occurs when I ran the following command:
python demo/pcd_demo.py demo/data/kitti/kitti_000008.bin configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-car.py checkpoints/hv_pointpillars_secfpn_6x8_160e_kitti-3d-car_20200620_230614-77663cd6.pth --show
Any ideas? Thanks!

I have found the same problem, looking for help

邮件已收到！！！

Thanks for your report. It's because of a modification of PointPillars in #1166 , involving a new feature dimension into the voxel encoder. We will update models ASAP.

Models should be updated.

邮件已收到！！！

邮件已收到！！！


Wrong window split, fixed.

When I started leetbuddy the coding window ended up being the small bottom right one and the input one being the largest one taking half the screen on the left.
Fixed it by adding this line in the split.lua:31 file to rotate the window after the first v split and before the second split.
vim.cmd("wincmd x")

The issue has been fixed.


Update Composer dependencies (2021-07-01-00-12)

Visual regression test passed!
View the visual regression test report


Preview not loading for Kitchen Sink example

The current example doesn't load the preview since there is a minor bug in the code
File: examples/react/kitchen-sink/src/components/ActionButtons.tsx
Section:
<span className="flex items-center gap-1">
  | Go to page:
  <input
    type="number"
    min="1"
    max={table.getPageCount()}    /////////// table doesn't exist here, should refer to pageCount prop \\\\\\\\\\\\\
    defaultValue={pageIndex + 1}
    onChange={e => {
      const page = e.target.value ? Number(e.target.value) - 1 : 0
      setPageIndex(page)
    }}
    className="border p-1 rounded w-16"
  />
</span>

I would be grateful to contribute to the fix.

Found pull request for this issue: https://github.com/TanStack/table/pull/5786


Magic header is not correct according to standard

According to the official format description from Google, the magic header for snappy streams should be the following:

4.1. Stream identifier (chunk type 0xff)
The stream identifier is always the first element in the stream.
It is exactly six bytes long and contains "sNaPpY" in ASCII. This means that
a valid Snappy framed stream always starts with the bytes
0xff 0x06 0x00 0x00 0x73 0x4e 0x61 0x50 0x70 0x59
The stream identifier chunk can come multiple times in the stream besides
the first; if such a chunk shows up, it should simply be ignored, assuming
it has the right length and contents. This allows for easy concatenation of
compressed files without the need for re-framing.

snappy-java was developed before this framed format was born. For compatibility SnappyOutputStream uses its own format. If you need to use the framed format, use SnappyFramedOutputStream.

So, we spent quite a while trying to track down the incompatibility between the python-snappy library, and the snappy-java library, before eventually coming across this.
Would it be possible to put a warning or note in the README here, to explain the situation?
It could save other people from hitting this same issue.

@TJC Yes. Here are some notes on README for this compatibility: https://github.com/xerial/snappy-java#compatibility-notes
PR to README would be easier for me to fix the documentation to notify users about this issue.


update to docusaurus >= 3.0

There's a new major version available.
https://docusaurus.io/docs/migration/v3

Started in #4


Resume behavior (rebased)

Rebased version of the resume behavior.

Nitesh, I'm good with having this merged. Then we can let final validation happen over the next 2 months as we test the implementation before calling it 1.0.

@NiteshKant @stevegury @robertroeser Any chance this can be reviewed soon? If possible I'd like to merge it this week.

@NiteshKant you mentioned on Gitter that you're ready to merge this and allow any small remaining things to be discussed separately. May I merge?

Thanks Nitesh!


footprint decals cause a .decals file to me created/modified

based on a conversation in IRC this seems to be an 'overzealous saving action' by the decal subsystem.
However, this constant changing triggers git monitoring and causes git related problems since you cant ignore the file and constantly committing the file is also not a solution.

Failed to create resource: [levels/Outpost.mis.decals]
this appears in the log file when just entering the mission, I'm assuming its part of the same issue but because the editors' aren't loaded write permissions are not set


Standardise flag definitions in CLI commands

A general house cleaning PR that helps to break up the overloading of the /pkg/runtime package. See also https://github.com/dapr/dapr/pull/6323 https://github.com/dapr/dapr/issues/1172.
PR moves all flag option definitions into dedicated /options packages for each respective CLIs. For Daprd, this results in removing cli.go completely, and creating a Config and internalConfig type, with config.go handling defaulting.

Thanks @ItalyPaleAle, PTAL

something cross with https://github.com/dapr/dapr/pull/6372

Please fix DCO and lint.


RF73 Be notified of the creation of new metadata records, according to a set of filtering criteria.

Metadata records shall always be owned by an organization. As such metadata notifications about actions performed on datasets that are not public shall apply only to users that are members of the relevant organization.

Issue already opened in #365

Issue already opened in #365


Remove the StructuredDocument AST from AsciidoctorJ 1.6

The StructuredDocument AST was a competing effort to create an AST in AsciidoctorJ. While it served its purpose (namely to motivate the project to create an official AST), its presence is now just causing confusion. It's time to remove it (along with any related API).
Any functionality it provides should be integrated into the official AST or the main Asciidoctor interface. Though I believe the findBy method covers most of the methods it provided.
We'll leave this AST in 1.5.x so any existing code that relies on it will continue to work. But we've already told users of 1.6 to avoid these APIs, so they can be safely removed in that version.

AST Builders should live in ast package and provide a way of creating AST objects independent of JRuby

StructuredDocuments don't exist anymore in AsciidoctorJ 1.6.x with #699


Autolink issues with RN > 0.60

I get this error when building on IOS:
React Native CLI uses autolinking for native dependencies, but the following modules are linked manually:
  - react-native-shake

As a temporary work around I did
react-native unlink react-native-shake --platforms ios

As a temporary work around I did
react-native unlink react-native-shake --platforms ios

You're right. For RN >= 0.60 manual linking is not required. I will update README asap.

You're right. For RN >= 0.60 manual linking is not required. I will update README asap.


Is esp32 devkit footprint correct?

Hi, thanks for your work and making it public.
I am new to fritzing and needed a ESP32 devkit v4 schematic and footprint, and found yours.
But I am having a problem with it: when I try to use it in my PCB and put it in the default upper layer (looking from upside), the pins are mirrored, as if it were put in the down (last) layer or you were looking from the opposite side of the board.
The letters read correctly.
Other components, when I put it in the board, letters read correctly and pins are correctly ordered as seen from upside of the board.
May be I am missing something, but it seems as the pinout is mirrored.
May you help me with this please?

Hello,
unfortunately, I did it very long time ago and doesn't remember the
details, sorry. :-(
On 22.01.2023 13:55, Fernando (Ariznaf) wrote:

Hi, thanks for your work and making it public.
I am new to fritzing and needed a ESP32 devkit v4 schematic and
footprint, and found yours.
But I am having a problem with it: when I try to use it in my PCB and
put it in the default upper layer (looking from upside), the pins are
mirrored, as if it were put in the down (last) layer or you were
looking from the opposite side of the board.
The letters read correctly.
Other components, when I put it in the board, letters read correctly
and pins are correctly ordered as seen from upside of the board.
May be I am missing something, but it seems as the pinout is mirrored.
May you help me with this please?
—
Reply to this email directly, view it on GitHub
https://github.com/Warlib1975/Fritzing-parts/issues/2, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUITK6EUNDZHSHBFFLEDY3WTUGY7ANCNFSM6AAAAAAUC5LMB4.
You are receiving this because you are subscribed to this
thread.Message ID: @.***>

--
Best regards,
Ph.D. Andrey A. Fedorov
Mobile: +7<PHONE_NUMBER>
Skype: fedorov_andrew
@.***
Telegram: @Warlib

OK, thank you, does not matter. I will try other way.


Change replace_with to pass a mutable reference to the Slab into the closure

This allows you to mutate the slab from inside replace_with.
This would be useful in the rotor library to allow a state machine to immediately add and borrow other machines from the slab. Currently it is not possible to add a machine and immediately retrieve its token.
It also alters replace to prevent it from panicking if passed a previously removed index and returns the passed in value on failure.

Hey, sorry for the delay. I'm not quite following. Could you explain more how it is useful to have a mutable ref in the function? Perhaps an example?

Here's an approximate example
struct Loop {
	slab: Slab
}

impl Handler for Loop {
	fn ready(&mut self, token: Token) {
		slab.replace_with(&token, |machine, slab|
			machine.ready(slab)
		|)
	}
}

struct RtspServer {
	rtp_sockets: Vec<Token>
}

impl Machine {
	fn ready(&mut self, slab: Slab) {
		// Looks like we need a new rtp socket for some reason
		let rtp_socket = create_socket();
		let token = slab.insert(rtp_socket).unwrap();

		// Store the token for later. e.g. to shutdown the socket on disconnect
		self.rtp_sockets.push(token);
	}
}

As far as I know there is currently no way to do this while keeping the token of the original machine constant. replace_with seemed like the most flexible method to alter but with and with_mut could also be useful.

Hey, I'm still not following too well. What type is contained by the Slab in this case? It seems to be Machine but then you insert a socket? Also, the ready function isn't returning anything.
Slab::insert_with allows you to insert a value that also knows about its Token. replace_with allows you to swap the value at a token.

Hi.
Sorry this took me so long to get back to you. I've just been moving house.
That was a very approximate example. I was feeling lazy.
My motivation for this is to be able to insert another machine into the slab from within replace_with while keeping the token of the original machine stable, it results in a borrow error. You can currently do this without keeping the token stable with remove and insert but that doesn't suit my needs.
I've improved the example a bit so hopefully it's understandable.
trait Machine {
    fn ready(&mut self, state: &mut State);
}

struct Loop {
    slab: Slab<Box<Machine>>
}

impl mio::Handler for Loop {
    fn ready(&mut self, event_loop: &mut EventLoop<Self>, token: Token, events: EventSet) {
        slab.replace_with(token, |machine, slab|
            let state = State {
                slab: slab
            };

            machine.ready(&mut state)
        |)
    }
}

struct State<'a> {
    slab: &'a mut Slab<Box<Machine>>
}

impl State {
    fn add_machine(&mut self, machine: Box<Machine>) -> Token {
        // TODO: Register machine with the event loop
        let token = slab.insert(rtp_socket).unwrap();
        token
    }

    fn shutdown_machine(&mut self, machine: Token) {
        slab.remove(token);
        // TODO: Deregister machine with event loop
    }
}

struct RtspServer {
    rtp_servers: HashMap<String, Token>,
    stream: TcpStream
}

impl Machine for RtspServer {
    fn ready(&mut self, state: &mut State) {
        // Read self.stream and figure out what to do
        let action = figure_out_action(self.stream);

        match action {
            CreateRtpServer(session) {
                let rtp_server = RtpServer::new();
                let token = state.add_machine(rtp_server);
                self.rtp_sockets.insert(session, token);
            },
            ShutdownRtpServer(session) {
                let token = self.rtp_servers[session];
                state.shutdown_machine(token);
            }
    }
}

struct RtpServer {
    socket: UdpSocket
}

impl Machine for RtpServer {
    ...
}

I'm still not following. I don't see how this code snippet will work. Machine::ready here doesn't return anything, so the fn passed to replace_with isn't correct.

That should return Some(machine). This isn't that actual code. That's probably a bit too long to put here.
This is the boiled down version of what this allows you to do:
let token = //Some token
let mut other_token = None;

slab.replace_with(token, |thing, slab| {
    other_token = slab.insert(Thing::new());
    Some(thing)
});

And the correct code for ready:
impl mio::Handler for Loop {
    fn ready(&mut self, event_loop: &mut EventLoop<Self>, token: Token, events: EventSet) {
        slab.replace_with(token, |machine, slab|
            let state = State {
                slab: slab
            };

            machine.ready(&mut state);
            Some(machine)
        |)
    }
}

You could probably do something like:
let token = //Some token
let mut other_token = None;

let mut other = None;

slab.replace_with(token, |thing| {
    other = Some(Thing::new());
    Some(thing)
});

slab.insert(other.unwrap());

If you use the pattern a lot, you could probably abstract it. I don't think that the ergonomic overhead is worth it unless there is a fundamental usage pattern that is not currently possible.
I'm going to close this for now, but feel free to re-open it if you disagree.

Unfortunately in my use case thing needs to be able to add other items to the slab and immediately use the returned token. This is demonstrated in the longer example I gave.

Also I can't actually re-open this.

This could still be implemented without the change to replace_with. For example, you could store an Option in the slab if you need to be able to implement your more involved replace_with semantics. Even replace_with could have been implemented in "user land". I just think that the simple version is convenient enough to merit being included.

I didn't think of using option. In that case I'm happy to close this.


hack: display diff on verify-mod-tidy failure

to debug ART PR failures

/lgtm

/cherry-pick release-4.17 release-4.16

/override ci/prow/e2e-hypershift


bug: SyntaxError: Invalid or unexpected token at ScriptTransformer

SyntaxError: Invalid or unexpected token
      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17)

example:
https://travis-ci.org/fluents/chain-able/jobs/248851055#L2031
this does not happen every time, but it happens randomly

Duplicate of #1874

Before proceed to #1874 check that jest is configured to use babel.
To configure need to add to jest config at least:
"transform": {
  "^.+\\.js$": "babel-jest",
  "^.+\\.jsx$": "babel-jest"
}


chore (docs): document disableForeignKeysDownstream flag

I feel like it could be slightly reworded. With the current wording to me it's not clear whether on postgres foreign keys are disabled or enabled during replication.

@kevin-dp Yes, that makes it clearer. Thanks!


Can't create installer file on Mac

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior:
This is what I get in the terminal:

Using python [ 3.9 ]
Specify an app
Creating dmg image ...
Could not find 120
Traceback (most recent call last):
File "/Users/pranulit/ayon-launcher/tools/build_post_process.py", line 682, in
main()
File "/Users/pranulit/ayon-launcher/tools/build_post_process.py", line 678, in main
create_installer(ayon_root, build_root)
File "/Users/pranulit/ayon-launcher/tools/build_post_process.py", line 648, in create_installer
installer_path = _create_installer(
File "/Users/pranulit/ayon-launcher/tools/build_post_process.py", line 611, in _create_installer
return _create_darwin_installer(*args, **kwargs)
File "/Users/pranulit/ayon-launcher/tools/build_post_process.py", line 588, in _create_darwin_installer
raise ValueError("Failed to create DMG image")
ValueError: Failed to create DMG image
!!!> Failed to create installer
All done. You will find AYON and build log in /Users/pranulit/ayon-launcher/build directory.

Any suggestions how to fix this?
Expected Behavior:
No response
Version
1.0.0
What platform you are running on?
MacOS
Steps To Reproduce:

Install AYON 1.0.4-dev.1 based on build guidelines:
https://github.com/ynput/ayon-launcher/blob/develop/docs/build_guides/macos.md
try to run ./tools/make.sh make-installer

Are there any labels you wish to add?

[X] I have added the relevant labels to the bug report.

Relevant log output:
No response
Additional context:
No response

Hello, did you run ./tools/make.sh build before make-installer?

Yeah, it installed the app just fine. Just having issues with the .dmg and metadata.json (for the installer) files

Could you try to run this command in terminal:
create-dmg --volname "AYON Installer" --windows-pos 200 120 --window-size 600 300 --app-drop-link 100 50 "
{SOME DIR}/AYON-macos.dmg" "{PATH TO CREATED .app FILE}"

Please replae SOME DIR with path to a directory (~ can be used to use user home) and PATH TO CREATED .app FILE should lead to .app in build.

Hmmm, gives:

Could not find 120

But all paths are right :/

Hmm, could you try to change --windows-pos 200 120 in the command to --windows-pos 200 160, just to validate that is the 120 which could not be found.

Yeah, tried it - same

We've maybe find out why it is. macOs build does require Rosetta virtualization. You have to set your terminal application to be launched with rosetta virtualization and uninstall and install again most of the packages afterwards (python, pyenv, homebrew etc.).

Hmm, I'm running on Mac intel (AMD Radeon Pro 5500M 8 GB
Intel UHD Graphics 630 1536 MB, 2.3 GHz 8-Core Intel Core i9) - so Rosetta virtualization isn't really applicable?

It is, you have to run and install everything with rosetta virtualization (including terminal, cmake, pyenv, python etc.). So if you want to build it on your own, this is only way how to do it.

The link you provided is for Apple Silicon. As I said I'm running on Mac intel. So all the apps are already running on rosetta essentially.

Ok, then I don't know, sorry.


Adding some modules

Hi,
Tell me if someone wants to arrange this new modules in a other order.
Best regards.
Jean-Marie

Nice :beer:
Just one thing, please sort items alphabetically.

Sort is done :)

Thanks!
Merged.


Readme + Swiftlint + Tests

[x] Update Readme to add documentation
[x] Update swift classes to remove Swiftlint warnings
[x] Add tests for UnsplashKit
[x] Add tests for UnsplashKit+Calls

Current coverage is 85.27% (diff: 31.57%)

Merging #2 into master will decrease coverage by 1.59%

@@             master         #2   diff @@
==========================================
  Files             8          8
  Lines           160        163     +3
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            139        139
- Misses           21         24     +3
  Partials          0          0

Powered by Codecov. Last update 579536a...43bea89

Good job @sergigracia !

Thanks @pepibumur 👍


feat: support .mbt extension for moonbit language

HI!
Recently I have been focusing on a new programming language called Moonbit. It seems that moonbit's repository also needs a github action to check license header.
I happened to remember today that hawkeye was used in the greptime repository. So I just gave it a try.
Unfortunately, it seems that hawkeye currently does not know how to handle the moonbit code.

Thank you and this looks correct. Do you verify it locally that every thing works as expected?
Perhaps build locally and test against the binary is enough.

Thanks for your quick reply.
I am now on a laptop without a rust compiler. Maybe I'll just install one and check later tonight.

@DiamondMofeng Cool. This patch won't affect other user cases so as long as you can confirm it I'm OK to merge.
Just I'm too unfamiliar with moonbit to try it out.

Just fixed a typo and it works well now. Ready to merge.

Thank you!


Showcase Submission for challenges/179-wolfram-ca

Thank you Patrick McTIghe for your contribution! A member of the Coding Train team will review it shortly.

Cellular Automata with control form
Patrick McTIghe

This is so wonderful! I'd love to be able to run it right from a link on the site. Are you hosting it with github pages by any chance? Let me know if you'd like help with that!

Wow! Thank you! I am hosting it on github pages. Link:
https://patrickmctighe.github.io/cellular-automata/
On Mon, Jan 22, 2024 at 4:00 PM Daniel Shiffman @.***>
wrote:

@patrickmctighe https://github.com/patrickmctighe This is so wonderful!
I'd love to be able to run it right from a link on the site. Are you
hosting it with github pages by any chance? Let me know if you'd like help
with that!
—
Reply to this email directly, view it on GitHub
https://github.com/CodingTrain/thecodingtrain.com/pull/1394#issuecomment-1904808324,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3O2IWRYARI4RADZXMBRPS3YP3HQTAVCNFSM6AAAAABCFZLFNWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBUHAYDQMZSGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I updated the URL thank you @patrickmctighe!


Fixed a bug in DCT.ipynb

Previously, the 1-dimension DCT was not implemented correctly, which leads to the mistaken illustration that the approximated function is not closer to the original function one as the precision level increases.  Now it is fixed.

BayerLuetticke is there -- it's just moved, I forget where, you should be able to find it.


feat: organisation services

I've been deep down a rabbit hole of trying out multiple approaches to how to deal with database-results etc. My original branch was starting to get quite far behind, with a lot of random commits that does not make sense anymore, so the result is that I brought some of the ideas to this branch, and if we like it I can introduce the other stuff as well (eg. filtering and paging).
This touches on most of the keypoints in the issue raised earlier. I will try to tackle the keypoints and explain my thoughts.
Services
We didn't want an ORM and that's fine. However I found using the raw database results very cumbersome. "Service" is a very imprecise term, but it's what I came to call this, but they are not classes or injected in any way - they are simple functions exported together. I'm not opposed to splitting up in different files, but having an index-file or the like to group them so you can do Organisation.find() is more developer friendly in my opinion. The services are not fundamentally different from the current "data-consept". They are simple functions that fetch data using knex, but also transform this using the models to an internal model.
We can also reuse the data-handlers if we want to extract that code out of the services, but as I tried out filters etc. I found that it was better to be able to access the queries directly instead of executing them elsewhere.
Keypoints:

Solves transactions annoyances. Every service-function takes in a db-parameter as the last parameter and can thus be given a transaction to compose other service-functions together in a single transactions. See the tests (1) for examples of this.

An annoying part of this is that it can be easy to forget to pass this parameter, crashing the app. Potential solutions: a default-parameter and set it to the knex-instance, register the service as a plugin (and have access to knex from the context) or just keep it as is.

Easier to import and use, less verbose naming. The ideas is that we have common function-names per service, ie find, create, findByUuid, remove, etc. Where eg. find would accept a filter-object that can be used to construct a filtered-query according to passed query-params.

Models
I really tried to stay away from classes here, but in many ways it would make sense. In the end I decided to use joi-schemas to describe the object and simple transformations. The idea is that we have three "model-shapes". Internal, database and external. Using joi.alter() and joi.tailor(), we can use the same base and describe what changes to schema we want per key. We can also expand upon the schemas using .append().
The idea is that the described object is the "internal" model. This should hopefully be pretty similiar to the external-output. Renames on the internal model (without alterations) are from db -> internal, as this was the use case I wanted solve at first.
The idea of external is still work in progress, and some endpoints would probably want other schemas and validations per endpoint, but the idea is that they can use this schema as a base, and either expand or restrict based on that shape, and keep common external rules together (ie strip IDs).
When an object is fetched from the database we call parseDatabaseJson. This function can be changed to anything, but for simple transformations like renaming, I've opted for a default function that basically just maps the result through the joi schema.
One downside is that we lock in to joi, however it's very powerful and quite easy to get into (atleast the concepts I've used).
Keypoints:

Joi used for transforming and validating data
Override functions (parseDatabaseJson, formatDatabaseJson) if we need more special handling (mapping from id to uuid)

Error handling
As you can see I don't try to manually catch errors. I believe that catching e.g. database-errors and rethrowing them as a custom error like Failed to get organisation ${error} is just unncessary code. I might be lazy, but just letting the native errors bubble up is cleaner in my opinion. I've also worked on a solution to map these errors using db-errors to client-friendly errors.
On another note I believe using joi.attempt instead of joi.validate is the way to go, as we tend to just check for the error and throw that anyways.
TODO:

[ ] Add route handler for organisation

This explanation is pretty much longer than the code, so I hope that you look through it and respond with some feedback!

I think we're already so depending on the hapi eco-system that depending on joi is not a deal breaker. We also already use it for input and output validation so it's not a matter of adding yet another dependency but instead use it more.

Easier to import and use, less verbose naming. The ideas is that we have common function-names per service, ie find, create, findByUuid, remove, etc. Where eg. find would accept a filter-object that can be used to construct a filtered-query according to passed query-params.

I agree that much of this refactoring is sound to make. I also think we should not keep functions such as findByUuuid but as you already mentioned make a more generic find which accepts a filter object (as in your code).
Will need to poke around a bit in the code before giving more feedback

I think the comments you had @erikarenhill has been accounted for. Please have another look.

@Birkbjo this needs to be rebased on master, and before merging I think squashing the commits would be nice.


[Refactor] Refactor optimizer code

What type of PR is this：

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

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

None logical change
Checklist:

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

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

[FE PR Coverage Check]
:heart_eyes: pass : 8 / 8 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/transformer/RelationTransformer.java
8
8
100.00%
[]

run starrocks_admit_test

run starrocks_admit_test


Next release version and date

Hello. I`m trying to create ModSecurity binding for Java.  I saw that your last published release was 3.0.4  but there are a lot of significant changes in the master branch. My question is what will be the next release number and went it could be released? Thanks!

Hi, @artemMartynenko  thanks for the interest in expanding ModSecurity bindings! That is awesome!!! :1st_place_medal: :+1:
Our effort towards releases is expressed on GitHubProjects. What kind of bindings do you want to provide? To cover all library functionality or to cover pieces such as the rules parser?
I would focus on v3/master, that is the code that will be used on a possible 3.0.5 and it is the code that is the base for v3.1. Meaning changing from v3/master to 3.1.0 should be easier than from 3.0.4 to v3.1.

This issue caught my eye, thanks for the projects link. Does that mean 3.1.0 is ready to go and will be released any day now?

Hello. Thanks a lot. The binding will cover main library functionality like Transaction, RuleMessage and so on.
From my personal plan, the first step will be just to allow usage of library functionality from Java. Pull Request for this is already created. The next step will be a WebFilter for Spring Framework which will allow using ModSecurity as a WAF on the framework level independently of the type of embedded web server.

@artemMartynenko it sounds like an exciting project indeed!
Good to see that you already have significant progress. Great! 👍 👍 💯
There should be version 3.0.5 by next week. Likely to happen on Tuesday -- Jul, 06.


Experiment with ZH workflows

Seems worth experimenting with for iter8.

For e.g., one workflow for new features that affect end users could be 1) Create GH issue 2) Design review 3) Implement 4) Add (and if needed, modify) unit test(s) 5) Code review 6) If applicable, add (and if needed, modify) integration test(s) 7) If applicable, add (and if needed, modify) e2e test(s) 8 ) Document 9) Final review before the issue is closed.

Closing for now.


Divided components into smaller components

Description
I moved large sets of code into separate components. Here are the following new components added to
this branch:

QuizPage/QuizPage
NavBar/NavContainerLeft
NavBar/NavContainerRight
NavBar/LogInModal
NavBar/SignUpModal
Result/Result
Home/FirstSection
Home/Footer
Home/GetStartedModal

Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
I started the client and server locally on my local machine and I had successfully received a JWT after creating a teacher. Also, I was able to login and logout.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Looks good


Android: Support installing .obbs outside of .xapks

#64 brings support for installing .xapk files, including any .obb files they may contain.
But .obbs also occur outside of .xapks. For example, PlaystoreDownloader also supported downloading these with the -b flag.
We need to support passing them to installApp() along the split APKs. Shouldn't be hard now that we already have support for installing them.

Interestingly, the PlaystoreDownloader linked to https://android-developers.googleblog.com/2020/11/new-android-app-bundle-and-target-api.html. Apparently, .obbs are now deprecated. We should still support them for the time being now that @zner0L has implemented support anyway.


Add sonarcloud status badge to readme

We want to see the current sonarcloud report on the README page. Please add the following badge with the correct Sonarcloud project URL for the frontend and backend repo like this:
[![Sonarcloud Status](https://sonarcloud.io/api/project_badges/measure?project=com.lapots.breed.judge:judge-rule-engine&metric=alert_status)](https://sonarcloud.io/dashboard?id=com.lapots.breed.judge:judge-rule-engine)

Found the right URL string :) I'll do this quickly

Opened PR https://github.com/smallbusinesshero/dds-wvv-frontend/pull/46

merged


Testing onPR with Consumer and consumer deploy check

Jira link (if applicable)
Change description
Checklist

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)
[ ] Does this PR introduce a breaking change

Closing due to branch issue, working in new branch and will open PR when appropriate.


Fix typescript definitions

Fixes errors present in strict mode
Adds getCurrentUrl and route override definitions
Adds a RoutableProps interface consumers can extend to implement a routable component
Fixes the types of RouterProps, Route, Link (closes #133)
Re-enables the typings file in package.json

Any chance of getting this published @developit 😄

Yup yup.

ty! 🌮


Hold NixOS release retrospective

Some of the larger pain points already have some related threads around their discussion. https://discourse.nixos.org/t/what-should-stable-nixos-prioritize/9646
However, it would be nice for people to voice their opinion on pain-points (both large and small) felt across the community.
The goal of the retrospective would be to find ways to improve the process: from people contributing to the process, schedules, tasks, human processes, etc.
cc @worldofpeace

Yeah, I can organize this and followup with a Discourse thread with What/When/Where/How

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/20-09-release-retrospective/9851/1

retro was held, closing. you can read about the outcomes: https://discourse.nixos.org/t/20-09-release-retrospective/9851


CandidateExtractor Regular Expression error

When I extract candidates using regular expressions the RegexNgramMatch returns added elements that do not match the regular expression I inputed. I tested my regular expression on Rubular and it worked and returned what i wanted, however when I test that regular expression in ddlite it returns different things. I tested this regular expression '?<=[\s\W])[0-9]+[-,.]?[0-9]+\s' and ddlite starts returning entities with numbers and words and parentheses. For example it returns [u'100', u'ng/ml']. Is there an error or is there a reason for this?

Hey @cmorbaab thanks for pointing this out!  Could you perhaps point me to / send some examples where there is confusing output (and the expected / "correct" output for each one as well)?  We're actually in the middle of a small refactor of this part of the code so perhaps this will fix it- either way I'll look into it.  If you send me some examples I can also integrate them in the tests

I'm testing a regular expression('(?<=[\s\W])[0-9]+[-,.]?[0-9]+\s(?=[a-zA-Z,.])') to return possible candidates about the levels of a biomarker found in a article. I tested it on this paper:
AGR2_blood_biomarker.txt
and the correct results are:
regex_test_results.docx

The file regex_test_results.docx are the actual text spans that should be matched?  I think what's going on here is that the matcher is matching even if part of the n-gram matches the regex; unclear semantics for this operator...  This will be fixed in the new matcher code in a day or two, sorry!

Has this issue been fixed?

We're hopefully minutes away from merging new PR... Which should fix this I hope!

This should be fixed now- reopen if not


⚠ SolarOscp has degraded performance

In 9213158, SolarOscp ($SOLAROSCP_URL) experienced degraded performance:

HTTP code: 200
Response time: 392 ms

Resolved: SolarOscp performance has improved in c9bb465 after 47 minutes.


App-compat related change in ServicePointManager.SecurityProtocol

App-compat related change in ServicePointManager.SecurityProtocol
This documents a change in the default value of the ServicePointManager.SecurityProtocol property in the .NET Framework 4.7.
Suggested Reviewers
@CIPop @mairaw @GuardRex

I've updated the topic, @CIPop.

Thanjs @rpetrusha ! LGTM

@rpetrusha Do you need me to :eyes: look so you can merge this? [or do you have :sparkles: magic powers :sparkles: like (@)mairaw?]

@GuardRex, yes, please take a look.

@rpetrusha Sure thing. I'll take a break from the "fun" of the review and do it now.


[Communication] 1.0.0 Init

Close https://github.com/Azure/azure-cli-pr/issues/99

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

Communication


Simple Client Recording Attempt

I start up the server via $ python ./run_server.py
(whisper_live)  whisperlive git:(main)✗  🚀 python ./run_server.py
Downloading: "https://github.com/snakers4/silero-vad/archive/master.zip" to /Users/justinwinter/.cache/torch/hub/master.zip
2023-08-21 12:14:34.119619 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '628'. It is not used by any node and should be removed from the model.
2023-08-21 12:14:34.119647 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '629'. It is not used by any node and should be removed from the model.
2023-08-21 12:14:34.119652 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '623'. It is not used by any node and should be removed from the model.
2023-08-21 12:14:34.119655 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '625'. It is not used by any node and should be removed from the model.
2023-08-21 12:14:34.119659 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '620'. It is not used by any node and should be removed from the model.
2023-08-21 12:14:34.119696 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '139'. It is not used by any node and should be removed from the model.
2023-08-21 12:14:34.119701 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '131'. It is not used by any node and should be removed from the model.
2023-08-21 12:14:34.119704 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '140'. It is not used by any node and should be removed from the model.
2023-08-21 12:14:34.119708 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '134'. It is not used by any node and should be removed from the model.
2023-08-21 12:14:34.119711 [W:onnxruntime:, graph.cc:3543 CleanUnusedInitializersAndNodeArgs] Removing initializer '136'. It is not used by any node and should be removed from the model.
ERROR:root:no close frame received or sent

Then start up the client via:
(whisper_live)  whisperlive git:(main)✗  🚀 python ./run_client.py
[INFO]: * recording
[INFO]: Waiting for server ready ...
False en transcribe
[INFO]: Opened connection
[INFO]: Server Ready!
Traceback (most recent call last):
  File "/Users/justinwinter/projects/whisperlive/./run_client.py", line 3, in <module>
    client()
  File "/Users/justinwinter/projects/whisperlive/whisper_live/client.py", line 298, in __call__
    self.client.record()
  File "/Users/justinwinter/projects/whisperlive/whisper_live/client.py", line 234, in record
    data = self.stream.read(self.CHUNK)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/whisper_live/lib/python3.9/site-packages/pyaudio/__init__.py", line 570, in read
    return pa.read_stream(self._stream, num_frames,
OSError: [Errno -9981] Input overflowed

// run_client.py
from whisper_live.client import TranscriptionClient
client = TranscriptionClient("<IP_ADDRESS>", "8080", is_multilingual=False, lang="en", translate=False)
client()

Are you running this on a mac?

A temporary workaround is to set exception_on_overflow=False in https://github.com/collabora/WhisperLive/blob/main/whisper_live/client.py#L234.
This might cause that we skip some frames, we are looking into updating the frame rate for the different platforms.

@zoq Thanks for the idea. Yes, I am on a mac. I tried setting the exception_on_overflow=False but still getting the same error:
(whisper_live)  whisperlive git:(main)✗  🚀 python ./run_client.py
[INFO]: * recording
[INFO]: Waiting for server ready ...
False en transcribe
[INFO]: Opened connection
[INFO]: Server Ready!
Traceback (most recent call last):
  File "/Users/justinwinter/projects/whisperlive/./run_client.py", line 3, in <module>
    client()
  File "/Users/justinwinter/projects/whisperlive/whisper_live/client.py", line 299, in __call__
    self.client.record()
  File "/Users/justinwinter/projects/whisperlive/whisper_live/client.py", line 235, in record
    data = self.stream.read(self.CHUNK)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/whisper_live/lib/python3.9/site-packages/pyaudio/__init__.py", line 570, in read
    return pa.read_stream(self._stream, num_frames,
OSError: [Errno -9981] Input overflowed

    def record(self, out_file="output_recording.wav"):
        n_audio_file = 0
        # create dir for saving audio chunks
        if not os.path.exists("chunks"):
            os.makedirs("chunks", exist_ok=True)
        try:
            for _ in range(0, int(self.RATE / self.CHUNK * self.RECORD_SECONDS)):
                if not Client.RECORDING: break
                self.exception_on_overflow=False
                data = self.stream.read(self.CHUNK)
                self.frames += data

                audio_array = Client.bytes_to_float_array(data)

                self.send_packet_to_server(audio_array.tobytes())

                # save frames if more than a minute
                if len(self.frames) > 60*self.RATE:
                    t = threading.Thread(
                        target=self.write_audio_frames_to_file,
                        args=(self.frames[:], f"chunks/{n_audio_file}.wav", )
                    )
                    t.start()
                    n_audio_file += 1
                    self.frames = b""

Okay, I can reproduce the issue on a mac, I'll come up with a fix.

welp

rip?

welp

Do you still have this problem with the latest release?

I have pulled the latest changes from the git repo and I still have this issue on my mac. Have you made changes regarding this issue?
Thanks.

OK, I just tried to increase the self.chuck value to 1024 * 4 and I don't get the error anymore and the transcription works fine.
This is in client.py file.

This is on a mac?

This is on a mac?

Yes, this is on MacBook Pro (intel based). I increased the chunk size and I could get the code to work. I also noticed that if I use the bigger Whisper model (medium), then I have to increase this further to 1024 * 8.

This issue still persists on macbook. Tried sending an audio file, is working just fine.

Looking into it today.

OK, I just tried to increase the self.chuck value to 1024 * 4 and I don't get the error anymore and the transcription works fine. This is in client.py file.

tried that but for me it still crashed with the original error.

I can confirm if I update the chunk  size it works. @niderhoff let try to figure out why it's not working on your system. Just to make sure our setup is the same. You are using the pip package, and not the docker container, or do you run the scripts without the pip package?

I have the same problem.
[INFO]: * recording
[INFO]: Waiting for server ready ...
True ko transcribe
[INFO]: Opened connection
[INFO]: Server Ready!
Traceback (most recent call last):
  File "/Users/asadal/Documents/Dev/Hani/WhisperLive_streamlit.py", line 13, in <module>
    client()
  File "/Users/asadal/miniconda3/lib/python3.10/site-packages/whisper_live/client.py", line 490, in __call__
    self.client.record()
  File "/Users/asadal/miniconda3/lib/python3.10/site-packages/whisper_live/client.py", line 371, in record
    data = self.stream.read(self.chunk)
  File "/Users/asadal/miniconda3/lib/python3.10/site-packages/pyaudio/__init__.py", line 570, in read
    return pa.read_stream(self._stream, num_frames,
OSError: [Errno -9981] Input overflowed

Macbook Pro 14 M1 Pro. Simple client Recording.
I used pip package.
# Run the client
from whisper_live.client import TranscriptionClient
client = TranscriptionClient(
  "localhost",
  9090,
  is_multilingual=True,
  lang="ko",
  translate=False,
  # model_size="small"
)
client()

Then, I encountered an error,
TypeError: TranscriptionClient.init() got an unexpected keyword argument 'model_size'
So, I disabled the option, model_size="small" and ran again.
But an error occured, OSError: [Errno -9981] Input overflowed
I changed self.chunk = 1024 to self.chunk = 1024 * 4. But encounterd same error.

We have to release the latest pip package, in the meantime you can remove model_size="small" from the TranscriptionClient call. For the overflow issue, can you try stream.read(self.chunk, exception_on_overflow=False) in https://github.com/collabora/WhisperLive/blob/main/whisper_live/client.py#L415

Thanks zoq,
I'll wait for update pip.
Thank you for creating such a great application.
Best Regards.

@asadal pip package is updated. Let us know if you are still facing the issue.

I have had sucsess with the newest version and setting exception_on_overflow to False. Can this be set by default?

https://github.com/collabora/WhisperLive/pull/83 does that, we will merge it and release a new version

@JonathanLehner can you share more details when do you see the segfault?and does it happen always on the latest version?