Prisma tries to re-create indexes in migration if they were previously created with "WHERE"

Bug description
Prisma tries to re-create indexes if they were previously created with "WHERE"
How to reproduce
https://github.com/cawa-93/issue-prisma-migration Demo repository in which the first 3 steps were applied.

Create schema like below:

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model ShortLink {
  id               Int       @id @default(autoincrement())
  slug             String?   @unique
  domainId         String?

  @@unique([slug, domainId])
}

Run npx prisma migrate dev --create-only --name domains.
 You should note that this migration has been applied. However, prisma does not understand that the indexes ShortLink_slug_key and ShortLink_slug_domainId_key have been created, considers that the current database and the schema are not synchronized and tries to create these indexes again.

Applying migration `20220804092501_domains`

The following migration(s) have been applied:

migrations/
  └─<PHONE_NUMBER>2501_domains/
    └─ migration.sql

⚠  Warnings for the current datasource:

  • A unique constraint covering the columns `[slug]` on the table `ShortLink` will be added. If there are existing duplicate values, this will fail.
  • A unique constraint covering the columns `[slug,domainId]` on the table `ShortLink` will be added. If there are existing duplicate values, this will fail.

✔ Are you sure you want create and apply this migration? … yes
✔ Enter a name for the new migration: … domains-again
Applying migration `20220804092553_domains_again`
Error: P3018

A migration failed to apply. New migrations cannot be applied before the error is recovered from. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve

Migration name:<PHONE_NUMBER>2553_domains_again

Database error code: 42P07

Database error:
ERROR: relation "ShortLink_slug_key" already exists

DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState(E42P07), message: "relation \"ShortLink_slug_key\" already exists", detail: None, hint: None, position: None, where_: None, schema: None, table: N
one, column: None, datatype: None, constraint: None, file: Some("index.c"), line: Some(869), routine: Some("index_create") }

Expected behavior
Just normal migration
Prisma information

Environment & setup

OS: Ubuntu in WSL and Windows
Database: PostgreSQL 14.4
Node.js version: v18.9.0

Prisma Version
prisma                  : 4.7.0
@prisma/client          : 4.7.0
Current platform        : windows
Query Engine (Node-API) : libquery-engine 39190b250ebc338586e25e6da45e5e783bc8a635 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 39190b250ebc338586e25e6da45e5e783bc8a635 (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core 39190b250ebc338586e25e6da45e5e783bc8a635 (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt 39190b250ebc338586e25e6da45e5e783bc8a635 (at<EMAIL_ADDRESS>Format Wasm             : @prisma/prisma-fmt-wasm 4.7.0-74.39190b250ebc338586e25e6da45e5e783bc8a635
Default Engines Hash    : 39190b250ebc338586e25e6da45e5e783bc8a635
Studio                  : 0.477.0

Still actual for v4.4.0

Still actual for v4.6.1

Still actual for v4.7.0

It will unfortunately keep doing that until we either implement support for conditional indexes (https://github.com/prisma/prisma/issues/3076) or we change our behavior here explicitly. We are aware and will evaluate which options we can implement sooner.

How did the @@unique originally find its way into the Prisma schema? Did Introspection pick it up?

I don't fully understand your question. All schema was written and changing manually by hands. Having two partial indexes is required by bussines logic.
I apply first migration with partial indexes and canceled second one. Then prisma db pull generate scheme below without @unique and @@unique:
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model ShortLink {
  id       Int     @id @default(autoincrement())
  slug     String?
  domainId String?
}

Can you share the SQL of the<PHONE_NUMBER>2553_domains_again generated migrations SQL by the way?

/*
  Warnings:

  - A unique constraint covering the columns `[slug]` on the table `ShortLink` will be added. If there are existing duplicate values, this will fail.
  - A unique constraint covering the columns `[slug,domainId]` on the table `ShortLink` will be added. If there are existing duplicate values, this will fail.

*/
-- CreateIndex
CREATE UNIQUE INDEX "ShortLink_slug_key" ON "ShortLink"("slug");

-- CreateIndex
CREATE UNIQUE INDEX "ShortLink_slug_domainId_key" ON "ShortLink"("slug", "domainId");

And it failt with Database error
ERROR: relation "ShortLink_slug_key" already exists

What happens if you remove the @@unique from your schema and run migrate dev? Does it try to drop the index?
You mean after the first<PHONE_NUMBER>2501_domains migration was applied? If so, then it try creates only 1 index:

/*
  Warnings:

  - A unique constraint covering the columns `[slug]` on the table `ShortLink` will be added. If there are existing duplicate values, this will fail.

*/
-- CreateIndex
CREATE UNIQUE INDEX "ShortLink_slug_key" ON "ShortLink"("slug");

Ok. So you solution would be to remove both @unique and @@unique from your Prisma Schema for the conditional uniques. Those attributes are only for non conditional uniques. Prisma can not understand the conditional index, and hence tries to create what you defined in your schema: A non conditional one. As it generates the same name as the existing index is already using, it fails.

May be. But, as I said, that data must be unique as required by the business logic. In addition, it can lead to typescript errors like:
db.findUnique({
  where: {
    slug: ' ... ' // <- may throw error because in scheme `slug` isn't actually unique
  }
})

With https://github.com/prisma/prisma/issues/3076 not implemented, so Prisma not fully supporting conditional indexes, you will have to choose between either Migrate always trying to create a unique index that already exists as a conditional unique index - and hence modify the migration file - or find a workaround for the type problems. Most probably modifying the migration file is easier and more effective.

(Feature request issue has changed to https://github.com/prisma/prisma/issues/13417)

Still actual for v5.14.0

Still actual for v5.22.0


Testing

Currently, there is no automatic robust testing. We need to implement testing so that each time a change is made, there are some automatic controls that check whether the changes break stuff. We need to have test files that have different sizes (both small and big) so that all of the different components, such as the waffle graphs, look good.

closing issue, this will be tackled in the new implementation


Improve the interpolation performance and avoid unnecessary state clones

Description

This PR

improve the internal API to avoid unnecessary clones of prover and verifier states during IOP
improve the verifier complexity from O(num_vars^3) to O(num_vars^2)

with this PR
Verify/ML/10            time:   [143.88 us 144.17 us 144.48 us]

Verify/ML/11            time:   [156.66 us 157.11 us 157.58 us]

with 3d5c5325bb4f7f669024e33c4e6666834662a153 (prior to this PR)
Verify/ML/10            time:   [261.08 us 261.52 us 262.06 us]
                        change: [+78.989% +80.218% +82.102%] (p = 0.00 < 0.05)

Verify/ML/11            time:   [290.51 us 291.10 us 291.71 us]
                        change: [+83.756% +85.006% +86.476%] (p = 0.00 < 0.05)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against correct branch (master)
[x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[x] Wrote unit tests
[x] Updated relevant documentation in the code
[x] Added a relevant changelog entry to the Pending section in CHANGELOG.md
[x] Re-reviewed Files changed in the Github PR explorer

I updated the code a little bit.
I would not say that the complexity reduces, but we know that the concrete efficiency generally improves. I adjusted the comments for this.

I would not say that the complexity reduces, but we know that the concrete efficiency generally improves. I adjusted the comments for this.

Is it because get_divisor is still a quadratic function?
We can actually use a similar method to compute divisors in linear time -- at a cost of 2 field divisions (where as the current code only has one division) per iteration. But it appears that O(n^2) primitive type multiplications is still faster than 1 field division.
Anyway, thanks for the review, and I am okay with the changes.

Do you have the code for that? I am thinking about including a general-purpose case, even if it can be slightly slow (note that this interpolation usually is not the bottleneck).

I just pushed the code for that, and I managed to avoid the extra field division I thought that I needed.
Here are the latest benchmark result
Verify/ML/10            time:   [127.30 us 128.11 us 128.94 us]
Verify/ML/11            time:   [147.69 us 148.81 us 150.05 us]

Should field_factorial also use field elements in the middle of the computation?

I will need to look at the field_factorial again. Please wait for me :)

I will need to look at the field_factorial again. Please wait for me :)

sure, no rush

field_factorial

My bad. Misunderstood your point @weikengchen . fixed with https://github.com/arkworks-rs/sumcheck/pull/55/commits/e6d4b9d1c377ec9e0a20c42f069a6bc99cfc6877


Word frequency counter

@king04aman I have added script and README file for Word frequency counter.
Please verify the PR.

Yes. I would work on it.


audit and fix sorting issues

Notes for Reviewers
This PR fixes #11256

[!NOTE]
I have audited for searching and it works properly everywhere

Signed commits

[ ] Yes, I signed my commits.

@MUzairS15 @Yashsharma1911 the sorting for metadata.name in k8s tables in dashboard sort doesn't work. Last time Pranav fixed the support for search so i guess sort was missed.


feat: encoding the text diagram description in UTF-8

Thanks for this package, but when I use some Chinese character in the text diagram description, the uml sever response an error.
I find this issue just due to character encoding, so I try to fix it.

Thanks for your PR!
Would you care as to add a test case for the problem you're fixing, so that we don't break it in the future? =)

add test in #8

Published in v1.1.0 🎉
Thank you again =)


Use and run unit and integration tests with MongoDB 2.4, 2.6 and 3.2

This pull request updates Travis file so we now run unit and integration tests with MongoDB 2.4, 2.6 and 3.2.
In the future we should drop official support for versions < 3.2 since they are quite old now.
In addition to the MongoDB change, I also updated the script to create a ramdisk and use this for MongoDB data dir. In theory, this should speed things up a bit, but probably not by much since we are running on a shared environment.
Note: If it turns out that the whole build now takes too long because we run 4 additional jobs, we can update the build configuration and only run tests with MongoDB 3.2.

So yeah, sadly running takes many jobs does slow down the whole build quite a bit so for now I will only make sure we run tests with MongoDB 3.2.
The code itself is ready so it's easy to get it up and running with multiple versions in case we upgrade to get more parallel builds or similar.


Make column headers in politician table sticky

Column headers should be sticky (same as filters)

also adjust zindex for menu

handled on https://github.com/Stand-With-Crypto/swc-web/issues/815


time chooser should default by current time

time is null when users don't pick time

This is occuring in master, closing


Remove blank space on profile search results

See https://govuk-components.netlify.app/components/summary-list/#summary-lists-without-actions
Changes in this PR:
Before

After

 Expand width of Job Preferences on the Candidate Profiles page


GCP PubSub scaler produces large amount of errors when subscription has no messages.

Report
The GCP Pub/Sub Scaler produces large amounts of "error getting metric" errors when the Pubsub subscription is empty. In our case it's producing 10's of thousands of error messages per day. Along with causing excessive error spam, this also appears to cause issues with Flux deployment reconciliations, as the scaler sometimes does not get marked as healthy during scaler changes and results in delayed deployments.
Expected Behavior
There to be some form of mechanism for accepting the fact that sometimes subscriptions may have no messages for an extended period of time. Such as the valueIfNull default value feature on the older Stackdriver scaler. This allows us have a default fallback value if there is no data returned from the backing GCP metric.
Actual Behavior
Keda logs large amounts of "error getting metric" and "error getting scale decision" as result of having no default fallback value. From testing this appears to not only cause excessive error spam, but somtimes interferes with our Flux deployments as the scaler fails to be marked as healthy due to failing to resolve a scale decision and thus delays our deployments.
Steps to Reproduce the Problem

Create a pubsub scaler
Have it pointing at Pubsub subscription that only receives sporadic messages throughout a given day. (The majority of the time the subscription is empty)
Monitor over the period of the day and note repeated repeated log messages with failing to get metric and failing to make scale decision

(The more scalers the more noticeable this issue is, in our case we have 40+ pubsub scalers)
Logs from KEDA operator
could not find stackdriver metric with filter fetch pubsub_subscription | metric 'pubsub.googleapis.com/subscription/oldest_unacked_message_age' | filter (resource.project_id == 'xxx' && resource.subscription_id == 'xxx') | within 2m

KEDA Version
2.14.0
Kubernetes Version
1.28
Platform
Google Cloud
Scaler Details
Google Cloud Platform Pub/Sub
Anything else?
The most straightforward solution I have is to add in the functionality to have a default value that pubsub scalers can optionally use if configured when the Google Cloud Platform metrics returns no value/null. This functionality already exists on the default Stackdriver scaler implementation and as a result is easy to port.
I have created a pr that adds this functionality onto the pubsub scaler and this resolves our issues with Keda continuously logging errors. Found here

This has been resolved with the recent changes I made in version 2.15.0. Closing issue out.


Environment variables from .env file altered when debugging flask

Looking through the issues I could not find a duplicate. However potentially related might be #4758, as it mentions debugging and related characters. Furthermore the beavior can only be observed, when using git bash (or presumably another bash shell), when using powershell, things work as expected.
I am running a flask app and configuring environment variables via an .env file. When the app.py file is executed in the terminal, the app runs as expected, and all environment variables get properly picked up.
When a debug task is specified according to the flask template, environment variables that start with a "/" character, for some reason are prefixed with "C:/Program Files/Git".
I noticed the behavior, when accessing a backend service could no longer be accessed when using the debug task, while everything works properly when executed in the terminal.
Environment data

VS Code version: 1.37.1
Extension version (available under the Extensions sidebar): latest
OS and version: Windows_NT x64 10.0.18362
Python version (& distribution if applicable, e.g. Anaconda): Python 3.6.9
Type of virtual environment used: venv
Relevant/affected Python packages and their versions: flask
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): NA

Expected behaviour
During debugging with flask task using a git bash as integrated terminal, environment variables should be available as specified in .env file
Actual behavior
Environment variables that start with / are prefixed with "C:/Program Files/Git"
Steps to reproduce:

Build a simple flask app.
Place .env file in the project root create a variable whose value starts with "/"
Create a debug task for flask using template
Configure the integrated terminal to use git bash
Execute the debug task and observe the value of the defined environment variable.

Logs
No relevant logs seen, just standard notices about linting etc.

@ericsnowcurrently , thanks for you questions.

the variable is names AZURE_CLIENT_SECRET, but I tested it with others as well (admittiedly all start with AZURE_.
No environment variables explicitly set to "C:/Program Files/Git", but "C:\Program Files\Git\cmd" is on PATH
python.envFile uses the default
envFile in debug configuration is not explicitly set

@roeap, thanks for the info.  Unfortunately, I don't see anything there that would relate to the problem.  This may have to do with how VS Code processed environment variables when launching the debugger (only an educated guess at this point).  It may be trying to normalize paths on Windows, thus turning a leading "/" into something something more "OS-appropriate".
Along those lines, here are some questions:

do you have this problem with other shells (e.g. powershell)?
what is the current working directory set to ("cwd" in debug config)?  (i.e. what is in your launch.json?)
what is it if you put print(os.getcwd()) in the code you are debugging?
what do you see in the debug console?
what is in the "Python" output panel?

FYI, I plan on following your "Steps to reproduce" as soon as I have a suitable Windows environment set up.

@ericsnowcurrently, first your intuition is absolutely correct, I circumvented the behavior by using powershell rather than git bash. Probably should have brought that to your attention sooner.
Most of the settings in launch.json are the defaults. The working directory is the root folder of my project. For completeness here is the launch.json:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Verbund API",
            "type": "python",
            "request": "launch",
            "module": "flask",
            "env": {
                "FLASK_APP": "verbundapi/app.py",
                "FLASK_ENV": "development",
                "FLASK_DEBUG": "0"
            },
            "args": [
                "run",
                "--no-debugger",
                "--no-reload",
                "--port",
                "6143"
            ],
            "jinja": true
        }
    ]
}

In the python output or the debug console i could see nothing out of the ordinary. Search paths are reported, normal status updates etc. Particularly I could see no relevant differences when using the different terminals.
In case you need a more detailed output from the respective consoles,let me know, and I can paste them here.

@ericsnowcurrently ,  I recently observed the same behavior using Git Bash in a different context, completely unrelated to vs-code python. I hence assume it is not related to vs code at all.
If you have an intuition as to the root cause, I'd be happy to hear it, but as for this issue, I guess we can close it as the root cause seems to be outside the scope of vscode.python.
Thanks for your help!


Connection on Port 80, although https is enabled

I set up this integration with https enabled in the router and in the integration.
The initial config flow is successful, but no data is fetched from the router.
The debug logs show that the integration is trying to access the router web interface on port 80.
But it should be port 443 when https is selected.
When disabling https  on the router side it works.

I'm facing the same issue!
Disabling https at router side works but is not really an option... ;-)

Logger: homeassistant.config_entries
Source: config_entries.py:406
First occurred: 4. Januar 2024 um 00:40:39 (3 occurrences)
Last logged: 4. Januar 2024 um 00:45:44
Error setting up entry Speedport for speedport
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 992, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1085, in create_connection
raise exceptions[0]
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1069, in create_connection
sock = await self._connect_sock(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 973, in _connect_sock
await self.sock_connect(sock, address)
File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 628, in sock_connect
return await fut
^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 668, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [Errno 111] Connect call failed ('<IP_ADDRESS>', 80)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 406, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/speedport/init.py", line 26, in async_setup_entry
speedport = await Speedport(
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/speedport/speedport.py", line 60, in create
await self.update_status()
File "/usr/local/lib/python3.11/site-packages/speedport/speedport.py", line 118, in update_status
self._status = await self.api.get_status()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/speedport/api.py", line 116, in get_status
return await self.api.get("data/Status.json")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/speedport/connection.py", line 94, in get
async with self._session.get(url, headers={"Referer": referer}) as response:
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 1187, in aenter
self._resp = await self._coro
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 574, in _request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 544, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 911, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1235, in _create_direct_connection
raise last_exc
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1204, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1000, in _wrap_create_connection
raise client_error(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host <IP_ADDRESS>:80 ssl:default [Connect call failed ('<IP_ADDRESS>', 80)]

Hello, if I read my logs correctly I think I am running into the same issue with port 80.
I installed the integration through HACS, and then added/configured it in devices and integrations to use the IP <IP_ADDRESS> and HTTPS.
But when I look at the integration in settings > devices and integrations the Speedport integration states: Failed to set up
In the Speedport logs I see that a login was successful for the time of the set up of the Speedport integration.
As a side note, the Speedport is on the subnet <IP_ADDRESS>/24 while my Home Assistant is on <IP_ADDRESS>/24 but I can log into the Speedport from HA, as I stated above and can also ping the Speedport from HA.
Logger: homeassistant.config_entries
Source: config_entries.py:444
First occurred: 10:11:52 (3 occurrences)
Last logged: 10:37:11

Error setting up entry Speedport for speedport
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 992, in _wrap_create_connection
    return await self._loop.create_connection(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1119, in create_connection
    raise exceptions[0]
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1101, in create_connection
    sock = await self._connect_sock(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1004, in _connect_sock
    await self.sock_connect(sock, address)
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 637, in sock_connect
    return await fut
           ^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 677, in _sock_connect_cb
    raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [Errno 111] Connect call failed ('<IP_ADDRESS>', 80)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/speedport/__init__.py", line 26, in async_setup_entry
    speedport = await Speedport(
                ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/speedport/speedport.py", line 60, in create
    await self.update_status()
  File "/usr/local/lib/python3.12/site-packages/speedport/speedport.py", line 118, in update_status
    self._status = await self.api.get_status()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/speedport/api.py", line 116, in get_status
    return await self.api.get("data/Status.json")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/speedport/connection.py", line 94, in get
    async with self._session.get(url, headers={"Referer": referer}) as response:
  File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 1194, in __aenter__
    self._resp = await self._coro
                 ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 578, in _request
    conn = await self._connector.connect(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 544, in connect
    proto = await self._create_connection(req, traces, timeout)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 911, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 1235, in _create_direct_connection
    raise last_exc
  File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 1204, in _create_direct_connection
    transp, proto = await self._wrap_create_connection(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 1000, in _wrap_create_connection
    raise client_error(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host <IP_ADDRESS>:80 ssl:default [Connect call failed ('<IP_ADDRESS>', 80)]

Hi, this setting seems to have been ignored, it should work now.


[C++]: make constant fields static constexpr

Constant properties now are truly constant, which allows us to perform compile-time usage of them.

Ouch, this is broken -- I've cherry-picked the wrong commit. Closing till I fix this.


Fixed default configuration in Web.config

It seems that this "n" was introduced as a typo, but now the site is crashing with the default configuration

Hi @DixonD-git, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

@DixonD-git this was fixed in our dev branch, but it's indeed good to replay this on master as well. Thanks!


The model is harder to converge with mid mode (--mid True)

@D641593
Thanks for the great repo.
I trained 2 model versions: with and without mid mode (--mid True/False). Seem like the model with the midline prediction branch (--mid True) is harder to converge than the other one.
I trained the model from scratch on the Totaltext dataset and did not pre-train on Synthtext. Do you have any advice about this issue?
Thank you. Hope to see your response soon!

Hi
Please try the following steps

Use --mid False to train on the total-text.
Load the optimal weights from the above steps and train for a few epochs using --mid True.

Applying --mid True should improve the evaluation results.
Can you give me the evaluation result for --mid False?
F1-score should be between 86%-88%. If the result is below the range, there's something wrong with my code.


cephfs: Add volumesnapshotclass for external-storage

Add volumesnapshotclass yamls to  more tests for cephfs external-storage later
update #2015
depends-on: #4542

This needs backporting because CI jobs will fail after merging #4542 and the script does not exist.

@mergifyio rebase

@mergifyio queue


Chat screen: long-pressing a face is broken

It should open member details screen

won't be fixed (The member details is already opened on a simple tap)


Unable to view boxes in Sharktopoda

When we are cleaning up the ML proposals often when we finish with one file and then open our next file the boxes don't show up in Sharktopoda. We have to restart VARS 2 or 3 (sometimes more) times before the boxes show up again.

This dive file was not showing boxes:
V4394_20220427T172554Z_prores.mov

This bug does not appear when opening the same video repeatedly. It occurs when you open a second/different video in VARS>

Yes, it often (not always) does occur repeatedly. Sometimes you need to restart 2 or 3 times. This issue has been noticed by Kyra, Kris, & Lonny.

I'm finding that you can click the 'refresh data' button -- might take 1 or 2 times -- and eventually the localizations will show. This is a better option than having to restart vars and s2 completely.

This works to make the localizations show up, but all my buttons in my concept map disappear. So, I've been restarting VARS for pretty much every file.

From @kwalz:

Latest log, I just opened a file (V4444 20221028T203700Z, prores file) and no boxes drawn from VARS anno to Sharktopoda.

vars-annotation.20240403.log

From @kwalz

A copy of my VARS logs--this morning it has been particularly difficult to open VARS, either the boxes are not being drawn in sharktopoda or I get the boxes but my buttons are missing, has been taking me 4-5 times to restart VARS anno to get both of these items at the same time. Unfortunately, for me I don't get my buttons to show up just by resizing the VARS anno window.

vars-annotation.20240409.log

@NancyJS @hohonuuli I'm back to editing proposals in VARS Annotation and this issue (above) is a show stopper, I have reopen VARS Anno and the file numerous time to get the boxes to show up (after I've reopened VARS annotation a few times to get my maps populated). Can we get these two issues fixes as soon as possible?
kris

This is still happening as of Jun 24, 2024. I refreshed VARS 15 times this morning and boxes still did not show in S2. I will now close and re-open VARS, hopefully they show. Unfortunately many hours of the day are burned dealing with this issue. Constantly having to restart is not an option when we're trying to be productive.

Restarted VARS, no boxes. Restarted VARS and S2, still no boxes.

@hohonuuli  A note on this issue, Im having where some of my boxes are drawing to shark-2 but there are some that are not, mixed throughout the video file. A restart fixes this but just a note that we need to thoroughly test this since it may seem like they are drawing on shark-2 but not all are drawing for the file.

Boxes are drawn for the first file that I open with VARS anno but when I go to open another video file, boxes are not on the second file that I open or any other files until I restart VARS anno (consistently drawn for first file).

Need the video lab to do some more testing with v2.1.2

@hohonuuli This is still happening for us in lab, @rissalemon and I had this issue again today, restarted VARS anno and sharktopoda to get boxes to show up.

@kwalz Thanks for letting me know. Hope to dig into some of these box issues after the marine imaging workshop.

This is still a big issue. I am having to restart multiple (5 to 6) times a day. It is 2pm right now and I have had to refresh at least three times in between files, usually resulting in having to restart so I get both my concepts and the localization boxes. I think it wouldn't be as big of an issue with normal annotation, but I am cleaning up the rest of the Paull dives for the EXPRESS group  so these need to be cleaned up to match previously annotated dives. The new aspect is that upon the second or third refresh, I get the beach ball loading icon until I have to force quit.

@rissalemon Can you give the URL to one of the files that you are experiencing this issue with? I have a suspicion there might be bounding boxes with zero-width/height or out of the video bounds that may be contributing to this issue. But I need to have a pointer to a video where this is occurring to confirm this.

@hohonuuli This is one that I was working on yesterday, but has been going on for a while.  The force quite aspect is new though...
http://m3.shore.mbari.org/videos/M3/mezzanine/DocRicketts/2021/08/1377/D1377_20210815T155838Z_h264.mp4

Probably not a Mac chip vs intel issue, boxes were not drawing for me on my new laptop which is m2 and also weren't drawing on my desktop machine which is intel.


New Release Requested

Hello
would it be useful to have a new release for all those that use packages that include deployers and that cannot reference the master directly via composer?
For me it would be very important to have this change (#1775) in order to use ssh in a windows environment.
Thanks a lot.
Greetings

Hi, yes. Will release today.

+1

Are there any news about it?
Greetings
Luca


Add regular expression to bold all SHALL, SHOULD, etc

Update the documentation renderer to make keywords SHALL, SHOULD, MUST (specified in the general requirements notation section) bold

Turns out it is rather complex to automate the bolding.  Instead, will just make sure the RFC-2119 terms are in all caps


Workaround for lack of dotnet nuget push --dry-run will always fail for Nuget.org

While investigating https://github.com/HaloSPV3/HCE.Shared/issues/407, I stumbled upon a design failure which may require breaking changes to fix.
Problem 1
Our Nuget.org token tests will always respond with Error 403 (unauthorized) when using the same "static dummy package" strategy we use for GitHub and GitLab (W.I.P.). The generated package ID of the dummy package is "DUMMY". This package ID corresponds to the hidden package https://www.nuget.org/packages/DUMMY/ which almost none of our API users can push to. Hence, HTTP Error 403.
Problem 2
Even if the token has permission to push DUMMY to Nuget.org, it may lack permission to push the real packages, causing a critical failure partway through semantic release's publish step. Git tags and more will have been created by then, so the partial release will need to be cleaned up manually.
Proposal
Part 1: Object Type

A source is Nuget API URL { url: URL | string }
A source cannot be accessed without an API token. { tokenEnvVar: string }

A token's value should be in memory for as little time as possible.

One or more package IDs must be paired with a token and source. A package can be pushed to multiple sources, but a package cannot have multiple tokens for one source. { packageIDs: string[] }

implements NugetRegistryPair?
extends NugetRegistryInformation?
class PushInfo {
  readonly url: URL | string;
  readonly tokenEnvVar: string
  get tokenValue(): undefined | string {
    // if not already in process.env, load .env file from process.cwd(), update process.env, and return the env var's value or undefined
    return getEnvVarValue(tokenEnvVar);
  }
}

Part 2: Implementation

Locate *.*proj using projectsToPackAndPush (array of glob strings)
Per-project, evaluate package IDs with dotnet msbuild ${projPath} -getProperty:PackageId to get their package IDs
If a given project ID does not exist at the given registry, set dummy version to 0.0.1-dummy.

otherwise, set dummy's version to latest package version.

Don't forget --skip-duplicate!
Create a copy of DUMMY.*.nupkg (or create a new one with a custom ID; refactor createDummyNupkg) with Version 0.0.1-DUMMY.

Can we de-list it to prevent clutter?

Optional: refactor dummy-push commands to semantic-release/exec's verifyConditionsCmd to conform to semantic-release expectations
Don't forget to allow signing dummy packages! Dummy packages may be rejected despite valid tokens if they are unsigned and pushed to a signed-only package ID!

semanticReleaseConfigDotnet.ts
Will resolve
NuGet clients and server APIs do not implement --dry-run functionality. The request for it has been open for three years with no progress. So, I have to improvise effectively-equivalent functionality out of existing NuGet features.

If the authorization token DOES NOT have permission to push new versions/packages for the given package ID, fail the release.
If the package ID already has the new version listed, fail the release.

Both are accomplished by the following:

grab the new version during Prepare
copy our pre-made, lightweight v0.0.1-DUMMY dummy package. Overwrite its PackageID with the real ID.
query the NuGet source (i.e. package registry/server) for the package ID and check the existing package versions for the "new version" we want to publish.
dotnet nuget push ./publish/${PackageId}.0.0.1-DUMMY.nupkg -source NugetSourceName --api-key private_token --skip duplicate.

--skip-duplicate tells the Source and client it's okay if the dummy package already exists.
If we do not receive an error, proceed. If the error is 403, then the token was denied access. This can happen if "the token is invlaid, unrecognized, or was denied access to the Source" (private, GitLab, GitHub), "the token has Write or Delete permission for one or more packages, but was used for an package ID it's not authorized to access" (NuGet.org, private), or "the token was created without Write or Delete permissions" (any source). If any error occurs, including 403, add the error to an array.
Repeat for every given PackageId, per each NuGet source. Each PackageId will need one auth token per Source.
After all test pushes finish and if the error array is not empty, throw new AggregateError(errors) and halt the release procedure. Otherwise, proceed with the rest of the release procedure.
I'll need:

new FileInfo class for MSBuildProject constructor parameter. Ensures the parameter passed to the constructor represents an existing file. Dirent is close, but requires extra steps to get. Our TypeScript/JavaScript runtime will not read the project file's contents directly—we delegate that to Dotnet CLI's dotnet msbuild -getProperty:PropertyName0 -getProperty:PropertyName1 ... to evaluate MSBuild properties.
NugetRegistryInfo constructor with MSBuildProject parameter
...


Prepare release notes for v1.6.14

After #7838
Generated Release Notes
containerd 1.6.14
Welcome to the v1.6.14 release of containerd!
The fourteenth patch release for containerd 1.6 fixes a regression in the CRI plugin related to swap
Notable Updates

Fix memory.memsw.limit_in_bytes: no such file or directory error in CRI plugin (#7838)

See the changelog for complete list of changes
Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.
Contributors

Akhil Mohan
Derek McGowan
Kazuyoshi Kato

Changes
3 commits

1347d7c87 Prepare release notes for v1.6.14
Revert "[release/1.6] support fetching containerd from non public GCS buckets" (#7830)

e8b22c100 Revert "[release/1.6] support fetching containerd from non public GCS buckets"

Dependency Changes
This release has no dependency changes
Previous release can be found at v1.6.13

LGTM after merging #7838
Can we have v1.7.0-beta.2 too?

Can we have v1.7.0-beta.2 too?

(Thanks for the fix and sorry for the pain)
My changes aren't part of v1.7.0-beta.1 so we should be fine in terms on this issue.


BUG - unknown time zone

Summary
I set the time zone Asia/Shanghai in plugin, and the log throw error "config unknown time zone"
{"level":"error","ts":1556557748.1725073,"caller":"mlog/sugar.go:23","msg":"unknown time zone Asia/Shanghai","plugin_id":"standup-raven"}
I also tried some other time zone, all failed without UTC.
Steps To Reproduce
Steps to reproduce the behavior:

install plugin
modify the plugin config
See error

Expected behavior
What you expected to happen.
Observed Behavior
What actually happened.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (if applicable):

OS: windows 10 desktop app 4.2.0

I found a temporary solution, I added a line in time zone of settings_schema in plugin.json to set the time zone.
{"display_name": "Local", "value": "Local"},
I guess this problem may be caused by a dependency package.

@tgly307 big thanks for the bug report!
I did a quick try but I'm not getting this error. Will try it out again with a clean setup.

BTW which version of Mattermost are you using?

My mattermost version is 5.10.0, run by docker-compose. I build the image by myself and run docker-compose up, maybe the issue is related with the build part? My OS is centOS7 64bit.

I have the same issue - Europe/Prague is reported as unknown time zone. Mattermost version 5.9.0 through Docker Compose deployment.

@tgly307 @hubpav can you try running this code from StackOverflow answer - https://stackoverflow.com/a/40130882/1589165
Inserting code here for quick reference -
package main

import (
	"fmt"
	"io/ioutil"
	"strings"
)

var zoneDirs = []string{
	// Update path according to your OS
	"/usr/share/zoneinfo/",
	"/usr/share/lib/zoneinfo/",
	"/usr/lib/locale/TZ/",
}

var zoneDir string

func main() {
	for _, zoneDir = range zoneDirs {
		ReadFile("")
	}
}

func ReadFile(path string) {
	files, _ := ioutil.ReadDir(zoneDir + path)
	for _, f := range files {
		if f.Name() != strings.ToUpper(f.Name()[:1]) + f.Name()[1:] {
			continue
		}
		if f.IsDir() {
			ReadFile(path + "/" + f.Name())
		} else {
			fmt.Println((path + "/" + f.Name())[1:])
		}
	}
}

This will generate a list of timezone strings available for your system. I suspect this is something system-specific.
It would be helpful if you could tell which OS are you on.

@harshilsharma I guess the problem is on the alpine image, because the image is based on the alpine image. It is estimated that the time zone setting here is different from that of centOS. I enable the official experimental feature ExperimentalTimezone, then I chose automatic in user profile setting, the time zone is displayed as Shanghai instead of Asia/Shanghai

@tgly307 good point! I didn't realize that. I compiled the timezone list on MacOS but they run fine for me, even though I'm also running local Mattermost via docker-compose.

Let me correct that, I'm not running Mattermost via docker, but directly via the make run command from the source code. I'll test with MM docker as well.

I'm able to reproduce error on docker-compose version of Mattermost.

I'm able to reproduce it on docker version of Mattermost. We have a copy of this plugin running on Ubuntu and the timezones work fine with it. Like you mentioned, it seems to be an issue with Alpine managing timezones.

@tgly307  @hubpav would it be possible for you to install the compiled version of Mattermost to try with?

What is compiled version? The docker image is built with the package after compiled. Do you mean this?

PR just merged in mattermost-docker likely solved this problem.

@harshilsharma hi, by PR of @scottleedavis ,the problem is solved, the time zone can be set to other one. The issue can be close if you want. Thanks for the work.

👍

@scottleedavis thanks for the docker fix!
Referring the PR here for reference - https://github.com/mattermost/mattermost-docker/pull/390


Feature Request: Sales tax support

Thanks for a great plugin. It would be applicable to a large number of users who collect sales tax with a slight modification to specify the locality type as "state" or "country". If this field matches the given code, the applicable VAT or sales tax is applied, e.g.:
org.killbill.billing.plugin.simpletax.taxCodes.TAX_NY_std_2014_8%.locality = state
org.killbill.billing.plugin.simpletax.taxCodes.TAX_NY_std_2014_8%.code = NY

Would this be a feasible addition?

Hello,
I realized this limitation indeed just before freezing the development effort back in Feb 2016.
A refactoring is still underway the adjust the “taxCountry” concept into a more flexible “taxZone” concept, that can designate any geographic area. This would cover your use case.

As an update, I finalized and pushed the code for taxZonesupport a few weeks ago, in the refactor-taxCountry-into-taxZone branch.
The new taxZone form is <2-Letter-Country-Code>_<any string without any spaces>.
So, in your case this would become:
org.killbill.billing.plugin.simpletax.taxCodes.TAX_NY_std_2014_8%.taxZone = US_NY

This is a change that requires data migration, though. Indeed, all taxCountry custom fields need to be renamed to taxZone.
What I suggest as upcoming work is:

Update this plugin to recent 0.18.x versions of Kill Bill
Release an official v1.x with the now-deprecated taxCountry feature, for any people that are currently using this version in production.
Release a v2.0 version with the new taxZone feature

How does this sound to you?
And by the way, are you using this simple-tax-plugin in production?

This would be perfect. We are currently using Pierre's fork for 0.18.x with 0.18.6 in testing. It appears to work without issue (apart from the confusion and limitation of setting a single taxCountry instead of taxZones).
This is not in production yet, so there is no data to migrate. We're more than happy to test compatibility with 0.18.6 if you decide to merge Pierre's changes into the refactor-taxCountry-into-taxZone branch.


Tredlyfile > ContainerGroup > replicate=yes/no has yet to be implemented

This functionality is supposed to allow you to select which containers within your container group can be automatically replicated based on load. An example of where this functionality would be useful:
You create two containers, one nginx (which can handle 20,000 connections a second) and a second container php-fpm which is configured to handle 1000 requests a second. In the Tredlyfile for the php-fpm container you set replicate=yes. When you publish your containers, only one instance of each container is published BUT when the load on the php-fpm container gets high, Tredly-Host detects this and replicates the php-fpm container so now the nginx container has two php-fpm containers it can use.
If you wish to implement this functionality, please feel free to do so. If not, this functionality is tabled to be implemented after a few other improvements to Tredly. We will keep you posted.

Moved to tredly-build


configs: match latest API changes

Fixes example_configs_test by updating example configs to match
latest API changes.
Risk Level: low
Testing: unit tests
Docs Changes: examples themsleves are now correct
Release Notes: n/a
Signed-off-by: Stephan Zuercher<EMAIL_ADDRESS>

This keeps failing the format check, and I don't understand why.

Turns out if was a stray blank line. 🙄


Resource Type
Microsoft.Automation Microsoft.KeyVault
Api Version
2022-01-01
Issue Type
Type is unavailable
Other Notes
No response
Bicep Repro
No response
Confirm

[X] I have read the troubleshooting guide and looked for duplicates.

Not enough information. Please reopen with more information with the Bicep repro


[ARM] az deployment group/mg/sub/tenant cancel: Support cancel deployment for ARM template (#12252)

Description of PR (Mandatory)
Feature request: #12252
Testing Guide
Run az deployment group/mg/sub/tenant cancel
History Notes:
(Fill in the following template if multiple notes are needed, otherwise PR title will be used for history note.)
[Component Name 1] (BREAKING CHANGE:) (az command:) make some customer-facing change.
[Component Name 2] (BREAKING CHANGE:) (az command:) make some customer-facing change.

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

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

add to S168


Remove uses of Autohook from dedicatedmaterialsystem.cpp

Code review:

The original function is prefixed with o_p so any times where the old AUTOHOOK was calling the original function it should now be calling that instead.
The hook function is prefixed with h_ so any times where we would be wanting to call the hooked function from other functions should now be calling that instead

Testing:

Check logs to make sure that all of the changed hooks are being created properly
Make sure that the -softwared3d11 launch arg still works as before? (tbh we could remove this now? Don't think I've seen anyone use it in the last 2 years)

Make sure that the -softwared3d11 launch arg still works as before? (tbh we could remove this now? Don't think I've seen anyone use it in the last 2 years)

Docker image doesn't use it, right?


Add mnist example

This PR

adds the mnist example notebook
adds the mnist example notebook to docs
fixes some dependencies in pyproject.toml
fixes the documentation's install page

Ok, ipynbs is where PRs break down.
I'd say you can merge if you have removed all the custom libraries that can be made through sQUlearn and if the NB still runs afterwards.

Set-up of the github actions is missing, isn't it? Probably the reason why everything fails.

Sorry yes, the action is missing some stuff but I'm on it


Server Support: https://ragna4th.com/

Currently the server ragna4th isn't supported.
Using the tool in the server as usual would be great. ;D

hey @aDwCarrazzone .
https://github.com/4RTools/4RTools/commit/88d5600fa905723e8c60b71339c1719a9201085a
Just did :)

How can i manually compile it to use on the server? ;D Cuzz it isnt working rn with the newest release

Just found it xD

Cool @aDwCarrazzone 👍 Any issues let us know.
att, Authentic


Add TypeScript declaration file

Following #87 : I present you my version of a TypeScript declaration only for the Hyperapp API.
The following define lot of interfaces as fixed one, but make it able to partially use them trough Partial<Interface> (Thanks to @nippur72).
All the interfaces need to be extended in order to be used.
Custom Events support is free by extending the Events interface, but without fixed typing yet.

This declaration file has been tested against the following features with the following implementation.

import { h, app, Actions, Events, Application, emitFunction } from 'hyperapp'

interface State {
  readonly count: number,
  readonly name: string
}

interface ActionsInterface extends Actions<State> {
  inc(state: State): Partial<State>,

  subspace: {
    dec(state: State): Partial<State>
  },

  fail(_state: State, _actions: ActionsInterface, _data: any, emit: emitFunction<string>): string
}

interface EventsInterface extends Partial<Events<State, ActionsInterface>> {
  error(_state: State, _actions: ActionsInterface, error: string): never,

  loaded(): void
}

const emmiter: emitFunction<any> = app<State, ActionsInterface, EventsInterface>({
  state: {
    count: 0,
    name: "Jojo"
  },

  actions: {
    inc: state => ({ count: (state.count || 0) + 1 }),

    subspace: {
      dec: state => ({ count: (state.count || 0) - 1 })
    },

    fail: (_state, _actions, _data, emit) =>
      emit("error", "Fail")
  },

  view: (state: State, actions: ActionsInterface) => (

{state.name || ''}

{state.count || 0}

        <button onclick={actions.inc}>+</button>
        <button onclick={actions.subspace.dec}>-</button>
        <button onclick={actions.fail}>x</button>

  ),

  events: {
    error: (_state, _actions, error) => {
      throw error
    },

    loaded: () => {
      console.log('loaded')
    }
  }
})

options
value

noImplicitAny
true

strictNullChecks
true

noUnusedParameters
true

jsx
react

jsxFactory
h

todo

[x] JSX Support
[ ] Less naive VNodeData interface
[ ] Custom Events support
[ ] API documentation in the declaration file
[ ] Automated tests against API changes

Thanks @Swizz! This is looking pretty awesome.
Question: Can't prettier format this file? Try changing the pkg.scripts.format to accept .ts file extensions too.

@jbucaran Yes, prettier work with ts files and d.ts files.
I was waiting your comment to use it. Because it produce a more longer file.

@Swizz Because it produce a more longer file.

No worries.
Change package.json's format script to this:
"format": "prettier --semi false --write 'src/**/*.{js,ts}'",

and run npm run format for rock and roll🤘.

The declaration file is not under src folder but in the root folder.
And I dont know how to achieve that with glob pattern ^^'

"format": "prettier --semi false --write 'src/**/*.js' '*.ts'",

@Swizz I tried using the file in a project with vscode and intellisense didn't fire like I expected. Is there any additional work required so that vscode/$EDITOR/etc., picks up this file?

@Swizz What about a typings.json file too?
{
  "name": "hyperapp",
  "main": "src/hyperapp.d.ts"
}

@jbucaran From where are you using it ?
As it declared as a module, exported declarations will follow with
import { h, app, Actions, Events, Application, emitFunction } from 'hyperapp'

For a local use, you will need to npm link your current hyperapp repo our explicitly import the declaration file
/// <reference path="..." />

Isnt typings deprecated in favor of package.json ?
https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html

@Swizz For a local use, ... our explicitly import the declaration file.

Sweet! How can I explicitly import the declaration file?

Sweet! How can I explicitly import the declaration file?

/// <reference path="./hyperapp.d.ts" />

@Swizz Sorry, but where do I put <reference path="./hyperapp.d.ts" />? I have no clue.

Sorry,  because it was defined as module, using it in a local environement is pretty tricky
/// <reference path="./hyperapp.d.ts" />

import { h, app, Actions, Events, Application, emitFunction } from 'hyperapp'

If you are thinking about it this following implementation is also working as expected
type State = number;

interface ActionsInterface extends Actions<State> {
  inc(count: State): State,
  dec(count: State): State
}

interface ActionsInterface extends Actions<number> {
  inc(count: number): number,
  dec(count: number): number
}

I know @DanielRosenwasser expressed interest in helping out with the typings. Can you review this PR? 👋😏

@Swizz How is this coming along? 😄
Do you think you could help me a bit understand what's going on this file? It's really big and I am not
familiar with any of the syntax. 😅

Let me check, what is needed to do right now.

We need to conclude about Actions API

type ActionResult = Partial<State> | Promise<ActionResult> | void | null

export interface Actions<State> {
    [key: string]:
      | ((
          state?: State,
          actions?: Actions<State>,
          data?: any,
          emit?: emitFunction<any>
        ) => ActionResult)
      | Actions<State>
}

Decide about a naive or a complete VnodeData interface

export interface VNodeData {
    [key: string]: any
}

Perform some name polish, like Component instead of vnodeFunction

And maybe add some documentations in the .d.ts file

Isnt Typescript Guide a good teacher ? ^^

Can I ask @nippur72 @rbiggs @LucianU and @DanielRosenwasser reviews and feedbacks on it ?

@Swizz Perform some name polish, like Component instead of vnodeFunction

That sounds correct. The term we use in the documentation is Component, so that's what it should be.

@Swizz Actions/Events are no longer passed the emit function, so that argument should be removed too.

@jbucaran You are right, I need to rethink the API regarding recent changes

Would it be helpful to have another reviewer? I made a PR for Picodom, Preact, and I've done a lot of the type definitions in DefinitelyTyped.

@pspeter3 Welcome aboard! 👍

@pspeter3 May I ask you to make a PR on my fork ? I am a little bit busy these days. Or I can make you as contributor as well

/cc @Swizz
@pspeter3 Can you create a new PR with your own implementation?

Yeah, I can do that.

We reached a lot of comments here.
And I thought alot about it. How guys are you regarding closing this one an starting a fresh new one ?
Step by step, Together. We make an attempt to build the strongest one an discuss about it after. It will be more plesant and eficient to build it together.

Would it be possible to create something simpler first?
You know like skateboard -> bicycle -> bike -> car -> bus -> tractor -> boeing 777 -> tesla self-landing rocket
@jbucaran - Slack

@Swizz Sounds good to me! 👍

Happy to help out

Closed in favor of #311


Add a liveness/readiness endpoint to the extension

/assign @kfswain
The EPP should be ready only after it reconciled the InferencePool and the InferenceModels it is assigned to

@ahg-g I would like to try fixing this issue. If @kfswain has not started the work, do you mind assigning it to me?

Please go ahead, thanks!


[Bug] Image in a relationship model does not work with Spatie/MediaLibrary

Bug report
What I did
I have a field of type relationship made like this
            [
                'label'     => "Content",
                'name'  => 'content_blocks',
                'type' => 'relationship',
                'tab' => 'Additional Contents',
                'subfields' => [
                    [
                        'name' => 'title',
                        'type' => 'text'
                    ],
                    [
                        'name' => 'text',
                        'type' => 'ckeditor'
                    ],
                    [
                        'name' => 'video',
                        'type' => 'text'
                    ],
                    [
                        'name'  => 'image',
                        'type'  => 'image',
                        'withFile' => true
                    ],
                ],
            ]

Everything works fine
https://github.com/user-attachments/assets/53877929-0432-415e-ba35-2179510db28f
If I try to use a media transformation on the image, through the Spatie/MediaLibrary
            [
                'label'     => "Content",
                'name'  => 'content_blocks',
                'type' => 'relationship',
                'tab' => 'Additional Contents',
                'subfields' => [
                    [
                        'name' => 'title',
                        'type' => 'text'
                    ],
                    [
                        'name' => 'text',
                        'type' => 'ckeditor'
                    ],
                    [
                        'name' => 'video',
                        'type' => 'text'
                    ],
                    [
                        'name'  => 'image',
                        'type'  => 'image',
                        'withMedia' => ['displayConversions' => 'thumbnail']
                    ],
                ],
            ]

a wrong method to delete previous image is called.
Method Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection::delete does not exist.

https://github.com/user-attachments/assets/7cdb3aa8-42d2-4e36-8607-691a9977f40c
What I expected to happen
I expeect the same result using withFile or withMedia
Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version the output is:
### PHP VERSION:
8.3.9

### PHP EXTENSIONS:
Core, date, libxml, openssl, pcre, zlib, filter, hash, json, pcntl, random, Reflection, SPL, session, standard, sodium, mysqlnd, PDO, xml, ast, bcmath, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, iconv, igbinary, intl, exif, msgpack, mysqli, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, readline, redis, shmop, SimpleXML, sockets, sqlite3, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlwriter, xsl, zip, memcached, Zend OPcache, xdebug

### LARAVEL VERSION:
<IP_ADDRESS>

### BACKPACK PACKAGE VERSIONS:
backpack/basset: 1.3.5
backpack/crud: 6.7.25
backpack/devtools: 3.1.5
backpack/generators: v4.0.5
backpack/language-switcher: 2.0.0
backpack/medialibrary-uploaders: 1.2.0
backpack/permissionmanager: 7.2.1
backpack/pro: 2.2.12
backpack/theme-tabler: 1.2.11
backpack/translation-manager: 1.0.3
root@a6023da598e5:/var/www# php artisan make:migration create_medias_table

Hey @manfield
We are aware of the issue. A major refactoring of the Backpack Uploader is being done to cover this and other uploader-related problems. It's a BIG PR, which may take some time. Sorry for the inconvenience.
You can subscribe to our newsletter for the Backpack Progress report and other updates.


add optional flag to seclude local data from same path different query

currently local data is all saved together as long as the collection path is the same.
in some cases this is bad when a doc leaves your local storage because it doesn't adhere the where filters anymore but if you still want to keep it because it adheres other where filters you also use.
in this case we need to differentiate the local data not only on the collection path but also on the query (the where filters.)
I have to think of some flag or something for this. and add a section on it in the documentation as well. (obviously)
current architecture:

local data is saved together for same collection path no matter the where filters
each time .data is accessed the proxy checks the where filters and returns filtered local data for you

the complexity this introduces probably doesn't make it worth the effort.
might rethink my opinion in the future, but closing for now.


Unknown Number

On the landing page I have an unknown number in the top left corner of the page.

On a Grep search it finds the code here:
./_protected/data/cache/pH7_cache/db/design/static/83f0d057ba6b488def5157cfed383a3df9f6fe43.cache.php:s:14:"UA-140787018-1"; ./grep.php:$command = "grep -ri 'UA-140787018-1' ./*"; Grep job over.
I did not notice it before, because it is difficult to see with the splash video enabled, therefore I don't know if this is normal behavior. As far as I can see it does not affect the functionality of the site in a negative way.

I guess that's your Google Analytics ID. Maybe, you pasted it outside of the <script></script> tags somewhere, by mistake...
Have a look in Admin -> Setting -> Analytics Code to see if everything is fine there...

FYI @Nigrini, in Admin -> Setting -> Analytics Code,
It has to be the full given analytics tracking code (not just the UA ID).


align decorations on floating menu items so they look ok on ipad too

tweak an alignment case in a menu component. i couldn't find anywhere other than searchability/verifiedness of email/phone rows (i.e. see screenshots) that this is actually being used.
Before

After
ipad

iphone

@keybase/react-hackers @keybase/picnicsquad

will this break non tablet, seems like it might


compile riddler without BUILDTAGS=seccomp apparmor,runc is failed

at the centos7,
whne compile riddler without BUILDTAGS=seccomp apparmor,runc is failed
tips:
runc run Test
container_linux.go:247: starting container process caused "process_linux.go:334: running prestart hook 0 caused "error running hook: exit status 1, stdout: , stderr: time=\"2017-02-27T20:04:39+08:00\" level=fatal msg=\"Renaming interface ethc145913 to eth0 failed: file exists\" \n""

Yes, I'm sure, if  without BUILDTAGS=seccomp apparmor to make riddler. when use Riddler mount:
riddler -idlen 65536 -idroot 1000 -hook prestart:netns dbser
It will be wrong！！！

yeah this is working as intended riddler was made to make seccomp and apparmor default, sorry


Style the app

Make the app look nice. Light mode / Dark mode?

Might need better styling in the future. Closing for now


Clarify spec for "+=" and friends

See<EMAIL_ADDRESS>(submitted through the website and I cannot make changes to this PR. Because I am cleaning up after people, if you don't like it, please submit your own PR.)

submitted through the website and I cannot make changes to this PR.

Is you "you don't want to" or you technically can't? Editing a PR made from the website is easy:
If you don't have the repo locally, clone it:
git clone<EMAIL_ADDRESS>
or if you already have it, update its remote info:
git fetch

and then go into the usual flow:
git checkout patch-5
// make changes & commit
git push -f

This needs to be extended with semantics for operations on arrays, like ~= (for which the types of lhs and rhs are not the same, T[] vs T).
int work(ref int[] array) {
	array ~= 5;
	return 0;
}

void doTildeAssignment(T)(ref T[] x, T y) {
	x = x ~ y;
}

void main(){
    int[] array;
    version(none) {
        array ~= work(array);
    } else {
        doTildeAssignment(array, work(array));
    }

    assert(array == [5,0]);
}

See https://github.com/ldc-developers/ldc/issues/2588


Code conversion from freezed to dart_mappable supported?

I am trying to change code generation library from freezed to dart_mappable. How to convert the following code compatible with dart_mappable?
import 'package:freezed_annotation/freezed_annotation.dart';

part 'failure.freezed.dart';

@freezed
/// Represents all app failures
class Failure implements Exception {
  const Failure._();

  /// Expected value is null or empty
  const factory Failure.empty() = _EmptyFailure;

  ///  Expected value has invalid format
  const factory Failure.unprocessableEntity({required String message}) =
      _UnprocessableEntityFailure;

  /// Represent 401 error
  const factory Failure.unauthorized() = _UnauthorizedFailure;

  /// Represents 400 error
  const factory Failure.badRequest() = _BadRequestFailure;

  /// Get the error message for specified failure
  String get error => this is _UnprocessableEntityFailure
      ? (this as _UnprocessableEntityFailure).message
      : '$this';
}

Can anyone guide me on how to achieve this?

Sry for taking so long.
With dart_mappable, you write normal classes using extends, like this:
@MappableClass()
abstract class Failure implements Exception {
  String get error => '$this';
}

@MappableClass()
class EmptyFailure extends Failure {}

@MappableClass()
class UnprocessableEntitiyFailure extends Failure {
  UnprocessableEntitiyFailure({required this.message});

  final String message;

  @override
  String get error => message;
}

@MappableClass()
class UnauthorizedFailure extends Failure {}

@MappableClass()
class BadRequestFailure extends Failure {}


fix: support for arbitrary arrays of random variables in the inference function

This PR fixes #113

Codecov Report

Merging #117 (7ab5932) into master (e785887) will decrease coverage by 0.55%.
The diff coverage is 54.54%.

@@            Coverage Diff             @@
##           master     #117      +/-   ##
==========================================
- Coverage   75.73%   75.17%   -0.56%
==========================================
  Files         175      175
  Lines        6041     5906     -135
==========================================
- Hits         4575     4440     -135
  Misses       1466     1466

Impacted Files
Coverage Δ

src/inference.jl
52.45% <20.00%> (-0.44%)
:arrow_down:

src/constraints/spec/factorisation_spec.jl
78.66% <83.33%> (ø)

src/approximations/gausshermite.jl
37.50% <0.00%> (-6.95%)
:arrow_down:

src/nodes/bifm.jl
72.72% <0.00%> (-5.33%)
:arrow_down:

src/algebra/companion_matrix.jl
42.10% <0.00%> (-3.35%)
:arrow_down:

src/constraints/spec/form_spec.jl
58.33% <0.00%> (-3.21%)
:arrow_down:

src/distributions/normal.jl
81.48% <0.00%> (-1.86%)
:arrow_down:

src/nodes/flow/layers/permutation_layer.jl
74.57% <0.00%> (-1.62%)
:arrow_down:

src/nodes/autoregressive.jl
81.25% <0.00%> (-1.36%)
:arrow_down:

src/variables/constant.jl
80.00% <0.00%> (-0.96%)
:arrow_down:

... and 35 more

Continue to review full report at Codecov.

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


vulns: add HTTP/2 vulns

I ran a genesis dump without these changes (see https://github.com/stackrox/scanner/pull/1276). You'll notice in that PR in the genesis dump logs, you will find logs saying CVE-2023-39325 and CVE-2023-44487 are missing for several distributions. With this PR, they are no longer missing, as we utilize the CVSSv3 scores from our "NVD" manual entries.
Note: this does not affect Red Hat, as they track CVSS scores, themselves

/retest

/retest

/retest


Fix crs version docker command

This PR is going to fix the CRS docker command as https://github.com/coreruleset/modsecurity-crs-docker#crs-versions
❯ docker run -p 80:80 -ti -e PARANOIA=4 -v ./rules:/opt/owasp-crs/rules:ro --rm owasp/modsecurity-crs
docker: Error response from daemon: create ./rules: "./rules" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
See 'docker run --help'.

Works well in my macOS 13.2 with Docker desktop version 4.16.2 (95914)
docker run -p 80:80 -ti -e PARANOIA=4 -v rules:/opt/owasp-crs/rules:ro --rm owasp/modsecurity-crs

Just to be sure, can you also test it on Linux?

docker run -p 80:80 -ti -e PARANOIA=4 -v rules:/opt/owasp-crs/rules:ro --rm owasp/modsecurity-crs

It works well in my ubuntu machine
$ lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal


OLS-721: complete list of packages

Description
Complete list of packages, to be hopefully consumable by Cachi2 tooling.
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[x] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

Related Tickets & Documents

Related Issue #OLS-721
Closes #

/lgtm
/approve


How exactly was Diffusers modified?

Hello,  great work, but I have a confusion:
Why not use the way of referencing the original Diffusers library to customize a new pipeline locally, but put the entire Diffusers into the repository instead? This is not very user-friendly for readers.

Hi, please search for “Modified in RollingDepth” to see the modifications.

Hi, please search for “Modified in RollingDepth” to see the modifications.

Thank you very much.


x/image/webp: WebP decode contrast issue

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

go version go1.13.7 windows/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=off
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Alpha\AppData\Local\go-build
set GOENV=C:\Users\Alpha\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\Alpha\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\Alpha\AppData\Local\Temp\go-build034800510=/tmp/go-build -gno-record-gcc-switches

What did you do?
I opened up a webp using go, and saved it back to png, The output was different from the source. Other golang webp decoding packages parsed it correctly.
package main

import (
	"image"
	"image/png"
	"os"

	// you can swap between these two libs, chai2010 is okay
	"golang.org/x/image/webp"
	//"github.com/chai2010/webp"
)

func main() {

	tileStream, _ := os.Open("full.webp")
	tile, _ := webp.Decode(tileStream)
	defer tileStream.Close()

	outputStream, _ := os.Create("full.png")
	png.Encode(outputStream, tile)

	defer outputStream.Close()
}

What did you expect to see?

This is the source image, notice the details and the clarity.
What did you see instead?

This is the converted, the details are dimmed, the contrast is lower. Other webp decoding libs maintain the contrast.

/cc @nigeltao

I'm almost certain this is due to x/image's VP8 decoder (which WebP lossy is internally) not handling the full range flag:

Is there any temporary hack that can fix this? I'm using python webp library to write the images.

Out of curiosity, did anyone find a work around for this? Should we just use another webp library?

Yeah, I ended up using chai2010 webp library.

@AliFlux thanks ali, appreciate the reply, I’ll try out the library

Hey guys,
I really wanted to highlight that the problem is much worse when there is an image with a white background, for example, the image below:
Original:

After:

I added this because I think it shows the problem more pronounced than the original image submitted by @AliFlux.
And also, a big thank you for all the open source work, I really appreciate it and use most of it in my day to day work. Your work obviously has a massive impact on lives around the world.

@nigeltao @agnivade if I investigate myself and create a pull request will it be looked at?

It will be looked at (if you expliciltly add me to the PR) but:

If it involves modifying the standard library's image or image/color packages (and their YCbCr representations), then there's a higher bar for accepting the pull request.
If it involves general concepts of color correction at the API level (e.g. if it requires the caller passing in a color space somehow) then such API should ideally also work with any future color correction API in the standard library and x/image. Once again, there'd therefore be a higher bar. See https://github.com/golang/go/issues/11420 for a discussion.

Awesome, thanks @nigeltao, I appreciate it, I wanted to make sure I didn't spend a bunch of timing creating a solution that has no chance.

@savtrip are you still working on this issue, because if you aren't I'd be interested in taking over.

I’m not working on this, I have been too busy, thanks Trent and good luck!
On Sunday, 28 August 2022, Trent Moyar @.***> wrote:

@savtrip https://github.com/savtrip are you still working on this
issue, because if you aren't I'd be interested in taking over.
—
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/40173#issuecomment-1229224298, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AKCFL65ZAOWB7YEFIZ33H4LV3JACBANCNFSM4OXVH44Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

Is there any update on this? This issue discourages using a technically superior image format (WebP) for users of tools like Hugo that depend on this library because the alternative with the least friction is to go back to jpeg or png.

The issue with golang's webp implementation is that webp (or more broadly vp8) only encodes and decodes to limited YCbCr using jpeg primaries and matrices, wheras jpeg uses full ycbcr. This means that in order for webp to work, either the go standard library would have to add a new, limited YCbCr type with the proper conversion to RGB, or such a type would have to be added to x/image.
This appears to be a substantial amount of work, as the YCbCr type appears in many places, such as this  gen.go file. This means that fixing ycbcr in webp also entails rewriting chroma upsampling algorithms. If an instant fix is desired, one option would be to change the webp library to decode to some ycbcrl type, and then users would handle the rgb transform and chroma upsampling.
Here  is a link to the documented conversion functions in the libwebp source.
@nigeltao what are your thoughts? You seem to have written the bulk of the current ycbcr code, so I'm curious if you have any suggestions.
I apologize for never getting around to an update. I realized the scale of potentially adding the new limited ycbcr and i set this aside, then difficulties in my life took priority.

Yeah, the bug is a fair complaint but fixing it properly (in the standard library) is a lot of work (see also my earlier comment) and I don't have the time to do it.
You could probably fix it (without touching the standard library) if golang.org/x/image/vp8 decoded directly to an image.RGBA (instead of to an image.YCbCr) or if it had its own FullYCbCr image.Image type. But that's still a substantial change and, again, I don't have the time to do it. Sorry.


Events on uninstalling an extension

Hi,
we would love to have events raised when a user installs or uninstalls an extension.
On installing we could prepare data or user guidance a on uninstalling we could make sure we remove data the Extension had at some Point put into NAV tables.

This is a very cool idea

Thank you for the suggestion. We are actively considering the installation event. Uninstallation requires more investigation as it potentially impact the infrastructure if the data removal during uninstall fails for some reasons.

@StanislawStempin did you come up with a solution to subscribing on install or uninstall events?

Are there any updates on this functionality coming into play? We have a requirement for making changes during uninstalling

@StanislawStempin Is there any update on the UninstallApp event? I also have a situation with Workflows and Data Exchange Framework where this would be very useful.

I am going to close this suggestion as requests are tracked on http://aka.ms/bcideas. In this case there is already an entry for this topic, so please vote on that:
https://experience.dynamics.com/ideas/idea/?ideaid=2ee9e0ed-6cc5-e911-b083-0003ff68ac6b
As a side note, while the request makes sense, there are technical issues with supporting it, as any code running as part of the uninstall process could impact upgrade and require transactional rollback as well as sync across extensions (e.g., multiple extensions desiring access to the same data being remove by others), complicating it.


Investigate extra space in front of the DM20 tabular display time stamps

Investigate extra space in front of the DM20 tabular display time stamps
This example is from Function E. Delete excess space to align vertical bars, please.

Also observed in
2024-03-07T12:25:35.2882 IUMPR Data Collection Tool Data Monitor Log
in addition to Function E example above
2024-03-07T12:26:24.2921 IUMPR Data Collection Tool Data Collection Log


Only able to save as json from web editor

What is the current behavior?
I am only able to save as json when using the web editor. None of the other save options work.
Please provide the steps to reproduce, and if possible a minimal demo of the problem:
Open any existing project in the browser Yarn editor or create a new project. Click "save as yarn", "save as twee", "save as twee2", or "save as XML". Nothing happens.
What is the expected behavior?
A saved file is downloaded to the Downloads folder with the selected file type.
Please tell us about your environment:

Yarn Spinner Version: the standard web editor for Yarn, 0.4.85
Browser: Chrome but issue occurs on Firefox and Edge as well

The project only uses Yarn files, so if I can only save as json I can't keep working on it. I tried to download the editor instead, but got repeated warnings from both my browser and my antivirus that it contained a W32.Malware.Gen infection, which I've never seen before from downloads. It appears as if my only option is to redo my changes in Visual Studio, but it's much easier to use a visual editor so I'd prefer to get a fix.

This appears to be an issue related to Yarn Editor, rather than the Yarn Spinner runtime, so I'll transfer this issue here. (This issue was filed about a year ago, so the issue may already have been resolved!)


Adding unit test to project

I want to add a unit test file to a Win32 Console Application (same project), as described in this document ("Right-click on the project node in Solution Explorer and choose Add | New Item | C++ Unit Test.").
Unfortunately, the "Add New Item" dialog does not provide any template for C++ Unit Tests. Am I missing something? My version is VS2015 Professional.

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

ID: c83cfa6a-8be4-e7b5-bf06-9f70023aaa65
Version Independent ID: 92877cae-f39e-6653-ce1e-233f75988ba0
Content: Use the Microsoft Unit Testing Framework for C++ in Visual Studio - Visual Studio
Content Source: docs/test/how-to-use-microsoft-test-framework-for-cpp.md
Service: unspecified
GitHub Login: @mikeblome
Microsoft Alias: mblome

@malchera. Sorry for the confusion. This feature was introduced in Visual Studio 2017.  This topic describes how to add a unit test project in VS 2015: https://msdn.microsoft.com/en-us/library/hh598957.aspx.

I think this part document is not correct. I use latest VS2017 Professional (15.9.2), only Google Test and Boost Test exist when Add | New Item.
Here is a workaround if you need add project internal unit test:

Add $(VCInstallDir)Auxiliary\VS\UnitTest\include to Include Directories to target project;
Add $(VCInstallDir)Auxiliary\VS\UnitTest\lib to Library Directories to target project;
Create a new cpp file to target project;
Copy the below content to the new cpp file in step 3, and customize your own test code.

#include "stdafx.h"
#include "CppUnitTest.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest
{
    TEST_CLASS(UnitTestInternal)
    {
    public:

        TEST_METHOD(TestMethodInternal)
        {
            // TODO: Your test code here
        }

    };
}


Skill level in Work window (mouse hover)

when hovering above a skill, it still shows ability rather than level. so this PR will allow players to see levels on mouse hover.

Documentation
Already added in the PR #41

The submod itself (SkillLevelEverywhere) is an optional aspect, in the sense it can be turned off under MLL settings. The current addition doesn't take that into considerion.
i'm kinda lost here, since the addition simply extends the functionality of SkillLevelEverywhere (Wnd_NpcWork), and since it's inside the said submod, if the submod is disabled then so does this function.

Yes, the documentation aspect is improved with that other PR, and is enough to start with.

since it's inside the said submod, if the submod is disabled then so does this function.

It's a part of the same class/file, sure. But that's not the way the enabling was implemented. The functional side of things is implemented with MLL, and relies on this file:
https://github.com/iguanacore/iguana_acs_functions/blob/main/source/iguana_acs_functions/iguana_acs_functions.cs
For this submod in particular, the main lifting is done with SkillLevelEverywhere.enabled bool, first seen in line 11 of the changed file. And for how it's used, see lines 19 and 43. With that basic check, if the submod is disabled under MLL settings, the return ensures that the Patch does functionally nothing.
Your added Patch is on the same level as the other two existing patches, Panel_NpcInfoPanel.UpdateSkill and Panel_NpcPropertyPanel.UpdateSkill, and patches a function previously untouched. Without that bool checking, the added Patch will be utilized even when the previous two patches do functionally nothing. So for starting out, adding a similar check to your own patch (before trying, after line 66 for example) should make the proposed addition properly utilize the existing work done for enabling/disabling an aspect.
Does that make it any clearer, or should I go into more details?

No need, but Thank you for the detailed reply :) , i didn't notice the first conditional check. my mistake.

With the latest commit, it's been reworked and rebuilt. Exception catching has been disabled due to build errors. Check out KLog (found within Assembly-CSharp-firstpass.dll), would be the proper tool to use in this case.
While I see no functional difference on my end, does the new functionality work for "solving" the original issue on your instance?

Now it builds without issues, nothing seems to be broken in-game either. Merging this.


Orange-Telefonica agreement guidelines to have a common proposal for Carrier Billing

Supporting Informative Document to illustrate Orange-Telefonica agreement guidelines.
Uploaded to be mentioned within Meeting Notes of 7th June

Please @bigludo7 check and give OK to mention in Meeting Minutes


KAFKA-16278 Missing license for scala related dependencies

KAFKA-16278 Missing license for scala related dependencies
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

hello @divijvaidya
Please take a look.


How to solve this error?

OpenEXR.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZTIN13IlmThread_3_14TaskE

Can you describe more about how you encounter this error?

I had the same problem and found a solution.
Problem
On ubuntu 22.04 64bit, python 3.10.12, I did:
sudo apt install openexr
pip install OpenEXR

=> pip said Successfully installed openexr-1.3.9
But I got the following error in python terminal:
>>> import OpenEXR
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /home/bmarechal/projects/smoke/stable/sources/experiments/model_upgrade/model_upgrade_venv/lib/python3.10/site-packages/OpenEXR.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZTIN13IlmThread_3_14TaskE

=> I guess there is an issue with the wheel for OpenEXR 1.3.9 and python 3.10
Solution
Force pip to install from source. Additional dependencies are required.
sudo apt install openexr libopenexr-dev zlib1g-dev
pip install --no-binary openexr openexr

>>> import OpenEXR
>>> OpenEXR.__version__
b'1.3.9'

I tried this approach, and it worked in my case:
1- downgrade the Python package to 3.7
2- [Ubuntu]: sudo apt install libopenexr-dev
3- pip install OpenEXR==1.3.8


Check failed: receiver->IsJSFunction().

I just want to report that I got this error with<EMAIL_ADDRESS>After I restart the program, it can login automatically.
10:07:31 VERB Puppet messagePayload(1094080273)
10:07:31 SILL Puppet messagePayloadCache(1094080273) cache MISS
10:07:31 SILL Puppet messagePayload(1094080273) cache SET
10:07:31 VERB Room ready()
10:07:31 SILL Contact ready() @ Puppet#0<PuppetPadpro>(ding-dong-bot)/PuppetPadpro#0
10:07:31 SILL Contact ready() isReady() true
10:07:31 SILL Contact ready() @ Puppet#0<PuppetPadpro>(ding-dong-bot)/PuppetPadpro#0
10:07:31 SILL Contact ready() isReady() true
10:07:31 SILL Message toString() for message type: Url(12)
Message#Url[🗣Contact<傅佳卿>@👥Room<易坤投资俱乐部>]
Message discarded because it does not match ding/ping/bing/code
10:08:00 SILL Wechaty memoryCheck() free: 102 MB, require: 4 MB
10:09:11 SILL Wechaty memoryCheck() free: 102 MB, require: 4 MB
10:09:59 SILL Wechaty memoryCheck() free: 102 MB, require: 4 MB
10:10:45 SILL Wechaty memoryCheck() free: 101 MB, require: 4 MB
10:12:15 SILL Wechaty memoryCheck() free: 100 MB, require: 4 MB
10:12:59 SILL Wechaty memoryCheck() free: 105 MB, require: 4 MB
10:13:40 SILL Wechaty memoryCheck() free: 105 MB, require: 4 MB
10:14:27 SILL Wechaty memoryCheck() free: 105 MB, require: 4 MB
10:15:33 SILL Wechaty memoryCheck() free: 105 MB, require: 4 MB
10:19:33 SILL Puppet constructor() watchdog.on(reset) reason: {"timeout":240000}
10:19:33 SILL Puppet constructor() this.on(reset) reason: {"timeout":240000}
10:19:33 SILL Puppet constructor() resetThrottleQueue.subscribe() reason: {"timeout":240000}
10:19:33 VERB Puppet reset({"timeout":240000})
10:19:33 SILL StateSwitch <PuppetPadpro> off() is false
10:19:33 SILL StateSwitch <PuppetPadpro> off() is false
10:19:33 SILL StateSwitch <PuppetPadpro> off() is false
10:19:33 VERB StateSwitch <PuppetPadpro> off(pending) <- (false)
10:19:33 SILL Contact ready() @ Puppet#0<PuppetPadpro>(ding-dong-bot)/PuppetPadpro#0
10:19:33 SILL Contact ready() isReady() true
10:19:33 VERB ContactSelf name()
李卓桓 logouted
10:19:33 INFO CacheManager release()

#
# Fatal error in , line 0
# Check failed: receiver->IsJSFunction().
#
#
#
#FailureMessage Object:node -v
v10.15.3
mike@dev:~/wechaty$

@huan Do you have an idea of how to reproduce this issue?

Sorry, I have no idea about what happened at all.
If you want silly log from padpro, please tell me how to set it, and I'll set it in my environment, and hope next time I can have the silly log for padpro.

Refer to https://github.com/botorange/wechaty-puppet-padpro/issues/153#issuecomment-510737679


Were you able to build?

Hey,
This was really cool - didn't know this was possible.
I was trying to build this code with npm run start so I could understand how the components fit together and inspect the elements - but it didn't work for me. Are there any pre-requisites to building from source?
I tried an npm install - but I got some wacky error related to electron.

Good to have you checkin this out! I haven't been able to build this either, yet, on Mac. There's an issue with the node version related to electron-builder, but there's also a custom module that needs a home somewhere so we can re-initialize npm install. I'll start a new branch for development and take another look, maybe if you get anywhere you can add to it.

Ok, check out the dev branch and see if you can build. I built it successfully but on npm run start I get:
`><EMAIL_ADDRESS>start ~/Desktop/wacom-inkspace

cross-env NODE_ENV=development electron .

dyld: lazy symbol binding failed: Symbol not found: __ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_5LocalIS4_EENSA_INS_9SignatureEEEiNS_19ConstructorBehaviorENS_14SideEffectTypeE
Referenced from: ~/Desktop/wacom-inkspace/node_modules/leveldown/build/Release/leveldown.node
Expected in: flat namespace
dyld: Symbol not found: __ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_5LocalIS4_EENSA_INS_9SignatureEEEiNS_19ConstructorBehaviorENS_14SideEffectTypeE
Referenced from: ~/Desktop/wacom-inkspace/node_modules/leveldown/build/Release/leveldown.node
Expected in: flat namespace`
I'll dig more into this later.

Odd - no worries. I'll check if I can build as well.
I have a smartpad btw. What I really want to do is isolate the live sharing feature. So then I can infer the live output and create my own learning algorithm.
So - my other plan of approach is to isolate the components. I was thinking of starting at the DeviceManager code and tracking back.
In high level terms - I might try isolating the code to find the components that can help with these parts:

Connect to Device (For Slate, it seems like I can only access via BLE)
Get the state of the device
Get the transformed output of the device when live writing

I'm very much in a similar boat. My goal is to pair down the instructions to where it can be made into a simple CLI app to export drawings. I'm working on a branch where I think I've isolated the bare functions; basically, since electron is giving me the most problems, I thought it would be better to start from the CLI up. Let me add it in, I'd love thoughts and to be able to help you out.

Here it is: https://github.com/elliotberry/wacom-inkspace/tree/bare-bones.
Haven't been able to pair the device yet. The entry point should be example-device-manager.js, as this is the class for manipulating all devices in the original app. Or. potentially, a CLI/frontend could import that. Apologies, as if you're working outside OSX I've deleted the classes for windows support. I've also removed the usb support and so on for now.
It uses BLE and the Noble module in Node, which is all super easy to use. The code also includes all the of the characteristics to use on the device. All that has to be done is some basic troubleshooting, and I haven't had time yet.


fixes for the website API docs

Fixes various live code blocks that were not updated or otherwise broken.

Coverage remained the same at 98.975% when pulling 3261840afb7aea9c142ead751486eb8b4dcd8056 on isaacbrodsky:website-docs-fixes into a4395fc0cf2a267900fae1d877e883fdae4bc16b on uber:master.


Another test PR

Hi @HCasler,
You have proposed changes to files in these packages:

JobConfig

which require these tests: build.
@Mu2e/write, @Mu2e/mu2eii_sm21_ci have access to CI actions on Mu2eII_SM21.
:hourglass: The following tests have been triggered for 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb: build  (Build queue has 1 jobs)
About FNALbuild. Code review on Mu2e/Offline.

:sunny: The tests passed at 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb.

Test
Result
Details

merge
:white_check_mark:
Merged 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb at c92e9594deadf710c9712d4a6bbed30e2fdbd4eb

build (prof)
:white_check_mark:
Log file. Build time: 16 min 22 sec

ceSimReco
:white_check_mark:
Log file.

g4test_03MT
:white_check_mark:
Log file.

transportOnly
:white_check_mark:
Log file.

POT
:white_check_mark:
Log file.

g4study
:white_check_mark:
Log file.

cosmicSimReco
:white_check_mark:
Log file.

cosmicOffSpill
:white_check_mark:
Log file.

ceSteps
:white_check_mark:
Log file.

ceDigi
:white_check_mark:
Log file.

muDauSteps
:white_check_mark:
Log file.

ceMix
:white_check_mark:
Log file.

rootOverlaps
:white_check_mark:
Log file.

g4surfaceCheck
:white_check_mark:
Log file.

FIXME, TODO
:white_check_mark:
TODO (0) FIXME (0) in 0 files

clang-tidy
:white_check_mark:
0 errors 0 warnings

N.B. These results were obtained from a build of this Pull Request at 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb after being merged into the base branch at c92e9594deadf710c9712d4a6bbed30e2fdbd4eb.
For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.

@FNALbuild run build tests

:hourglass: The following tests have been triggered for 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb: build  (Build queue has 1 jobs)

The new change to codetools did what it was supposed to do, so that's good. This log line did not include the commit sha before the change:

[Mon Sep 20 18:53:49 CDT 2021] Mu2e/Production - Checking out latest commit on base branch, which is c92e9594deadf710c9712d4a6bbed30e2fdbd4eb

:sunny: The tests passed at 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb.

Test
Result
Details

merge
:white_check_mark:
Merged 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb at c92e9594deadf710c9712d4a6bbed30e2fdbd4eb

build (prof)
:white_check_mark:
Log file. Build time: 13 min 55 sec

ceSimReco
:white_check_mark:
Log file.

g4test_03MT
:white_check_mark:
Log file.

transportOnly
:white_check_mark:
Log file.

POT
:white_check_mark:
Log file.

g4study
:white_check_mark:
Log file.

cosmicSimReco
:white_check_mark:
Log file.

cosmicOffSpill
:white_check_mark:
Log file.

ceSteps
:white_check_mark:
Log file.

ceDigi
:white_check_mark:
Log file.

muDauSteps
:white_check_mark:
Log file.

ceMix
:white_check_mark:
Log file.

rootOverlaps
:white_check_mark:
Log file.

g4surfaceCheck
:white_check_mark:
Log file.

FIXME, TODO
:white_check_mark:
TODO (0) FIXME (0) in 0 files

clang-tidy
:white_check_mark:
0 errors 0 warnings

N.B. These results were obtained from a build of this Pull Request at 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb after being merged into the base branch at c92e9594deadf710c9712d4a6bbed30e2fdbd4eb.
For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.

@FNALbuild run build tests with Mu2e/Offline#588

:hourglass: The following tests have been triggered for 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb: build  (Build queue has 2 jobs)

OK, I think I confused Jenkins a bit by trying to test two PR's from the same branch together. But it looks like build-with is working correctly here, too.

:sunny: The tests passed at 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb.

Test
Result
Details

test with
:white_check_mark:
Included Mu2e/Offline#588 @ 0209ec03a20c96ce489ca9c775b9cb5a632303e9 by merge

merge
:white_check_mark:
Merged 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb at c92e9594deadf710c9712d4a6bbed30e2fdbd4eb

build (prof)
:white_check_mark:
Log file. Build time: 14 min 42 sec

ceSimReco
:white_check_mark:
Log file.

g4test_03MT
:white_check_mark:
Log file.

transportOnly
:white_check_mark:
Log file.

POT
:white_check_mark:
Log file.

g4study
:white_check_mark:
Log file.

cosmicSimReco
:white_check_mark:
Log file.

cosmicOffSpill
:white_check_mark:
Log file.

ceSteps
:white_check_mark:
Log file.

ceDigi
:white_check_mark:
Log file.

muDauSteps
:white_check_mark:
Log file.

ceMix
:white_check_mark:
Log file.

rootOverlaps
:white_check_mark:
Log file.

g4surfaceCheck
:white_check_mark:
Log file.

FIXME, TODO
:white_check_mark:
TODO (0) FIXME (0) in 0 files

clang-tidy
:white_check_mark:
0 errors 0 warnings

N.B. These results were obtained from a build of this Pull Request at 4be49d2df5d56b8cbb0cad932fbcf8836b3ee4bb after being merged into the base branch at c92e9594deadf710c9712d4a6bbed30e2fdbd4eb.
For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.