Add SRV multiaddr protocol

See https://github.com/multiformats/multiaddr/pull/143

@Pandapip1 see the validation failure here (you can run it locally), you'll need to fix up your comment to remove commas at least, try and keep it fairly simple and follow the patterns you can see in there for comments

As you can tell, this is my first time. Thanks for the feedback!
One quick question: SRV is defined as a record: _service._proto.domain. tcp and udp are the most commonly used values for proto. How would I go about specifying that (for example) in /srv/coolservice/tcp/domain.example.com, the /tcp/domain.example.com is NOT an encapsulated multiaddr?

try and keep it fairly simple and follow the patterns you can see in there for comments

Another quick question: where do you specify the format of new multiaddr protocols?

try and keep it fairly simple and follow the patterns you can see in there for comments

Another quick question: where do you specify the format of new multiaddr protocols?

I'd recommend reading https://github.com/multiformats/multiaddr/#interpreting-multiaddrs. Multiaddrs should be interpreted right to left. In this case I think the proper format of something like _ldap._tcp.example.com would be: /dns/example.com/tcp/0/srv/ldap. We interpret the multiaddr right to left, so we first see that this is a srv protocol, and the rest of the multiaddr (the stuff left of srv) makes sense in the context of srv (i.e. this is on example.com and a tcp addr) (note that tcp/0 is chosen since we aren't specifying a specific tcp port, just that we want tcp).

I'm curious, what's the use case here? I think outlining the use case helps everyone understand the motivation and get on the same page :)

I'm curious, what's the use case here? I think outlining the use case helps everyone understand the motivation and get on the same page :)

If I'm being honest here, I actually forgot... I'll just close this until I re-remember it.


Add Code Of Conduct To Docs Site

It's imperative that we have the CoC prominently displayed on the website as well. This needs to be done before anything else is done on the docs site, IMO.

I'll take care of it


מה קוה מגה

כושי

Please avoid opening issues if they are not related to this repository and if possible use english language, thanks.


Hotkey to force reload?

I am trying to use Live Frame for Jekyll site development and the frame does not update after the site is rebuilt by a watch script. I managed to only see the changes if there is another tab shown for a brief moment instead of Live Frame.

It's actually not related to Jekyll. Same thing happens to static html files served via Python web server. The page is cached so I have to modify url in order to update it, like adding ?1 to the end. Removing that part show the old version again. Any idea how to solve it?


scalability: delaying large number of tasks

From reading the source, scheduler is going to handle_delayed_items each 5 seconds (sleep interval).
This method is going to take the next timestamp from the queue and process all tasks associated with that timestamp.
If i have huge amount of tasks which are scheduled (delayed) to be run like this:

now -> task 1
now + 1 second -> task 2
now + 2 seconds -> task 3
now + 3 seconds -> task 4
now + 4 seconds -> task 5
now + 5 seconds -> task 6
... and so on

Scheduler is going to run like this:

now -> task 1
now + 5 seconds -> task 2
now + 10 seconds -> task 3
now + 15 seconds -> task 4
now + 20 seconds -> task 5
now + 25 seconds -> task 6
... and so on

If these repeated tasks are infinite, scheduler will keep lagging more and more as the time passes.
I see two solutions to this:

set sleep interval to 1s
refactor handle_delayed_items to keep looping until next_delayed_timestamp reaches the current timestamp

This seems to be handled now, tasks are enqueued in a loop until no more timestamps currently have tasks: https://github.com/resque/resque-scheduler/blob/5d7a4e1d4ef33c37e9c05c9a91236e7ef12e1529/lib/resque/scheduler.rb#L189-L192


[Bug] The downstream task instance is not triggered to execute when I click the button for force success

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When the task retries the maximum number of times and failed, and I click the button for force success, the downstream task instance is not triggered to execute.
What you expected to happen
I think the downstream task should be triggered when I click the button for force success, if not, what's the point of force success.
How to reproduce
The problem will reproduce when you force a task successed that the task retries the maximum number of times and failed
Anything else
No response
Version
2.0.6
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@JensonZou Hi, you can try to Recovery Failed the workflow after force success the task.

@JensonZou Hi, you can try to Recovery Failed the workflow after force success the task.

Thank you for your reply. I think it's a way, but this requires the whole process to end

@JensonZou Hi, you can try to Recovery Failed the workflow after force success the task.

Thank you for your reply. I think it's a way, but this requires the whole process to end

If you want to bypass the whole workflow you can use dry run.


Feature/openqasm local simulator

Issue #, if available:
Description of changes:
Testing done:
Merge Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[ ] I have read the CONTRIBUTING doc
[ ] I used the commit message format described in CONTRIBUTING
[ ] I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have checked that my tests are not configured for a specific region or account (if appropriate)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Can you recreate this PR? As it stands, it contains all recent changes to the SDK

Can you recreate this PR? As it stands, it contains all recent changes to the SDK

Ah, I should have closed this. I brought in the openqasm simulator from feature/openqasm-local-simulator to feature/openqasm in https://github.com/aws/amazon-braket-sdk-python/pull/388 by rebasing the local sim commit onto feature/openqasm-generation to create the new combined openqasm feature branch


How can I add more than 1 Keenetics?

Thank you for a wonderful project!
But as far as I understand, it is designed to monitor only 1 device. How do I add multiple Keenetics for monitoring?

@likeoff
Current implementation support only one device.
You could run multiple docker containers and specify two different configs with two different influxdb buckets "bucket=keenetic""bucket=keenetic1"


add cgroup subsystem hugetlb

Signed-off-by: Ma Shimiao<EMAIL_ADDRESS>

LGTM, thanks @Mashimiao!

Shouldn't this be added to non-systemd code also?

Thanks @crosbymichael ,  non-systemd added.

LGTM

LGTM


ImportError: /usr/local/lib/python2.7/dist-packages/cv2.so: undefined symbol

I'm just a beginner.when I run the train.py,there are some problems.How can I deal with the problem?
Traceback (most recent call last):
File "train/train.py", line 21, in
import libs.nets.pyramid_network as pyramid_network
File "train/../libs/nets/pyramid_network.py", line 10, in
from libs.layers import anchor_encoder
File "train/../libs/layers/init.py", line 9, in
from .wrapper import anchor_decoder
File "train/../libs/layers/wrapper.py", line 12, in
from . import mask
File "train/../libs/layers/mask.py", line 7, in
import cv2
ImportError: /usr/local/lib/python2.7/dist-packages/cv2.so: undefined symbol: _ZN2cv11arrowedLineERNS_3MatENS_6Point_IiEES3_RKNS_7Scalar_IdEEiiid

Run:
pip3 install --upgrade opencv-python
should fix it

Thank you...I was trying to install OpenCV3.3 on Ubuntu 14.04 with Python 3.4.3 and faced the error
.virtualenvs/cv2/lib/python3.4/site-packages/cv2.so: undefined symbol: _ZTIN2cv3dnn19experimental_dnn_v15LayerE
and doing
pip3 install --upgrade opencv-python
completed the import of cv2.  Thank you.

For addition, if you want to upgrade to specific version just run this command for example
pip3 install --upgrade opencv-python==<IP_ADDRESS>


Not solved should allow linking to solution page

Consider the page
https://mosp.evanchen.cc/chapter/1/spoil
and look at a situation in which the solver has some unlocked/found puzzles that aren't solved yet.
The "Not Solved" links should ideally be "Not Solved (link to solution)".. Search for the "Bypass puzzle" link in order to figure out how to set the URL.
Note that the link to solution should only show up in spoiler mode, so https://mosp.evanchen.cc/chapter/1 should not show such links.

obsolete in the v1 rewrite


@deprecated tag

Problem
I want to rename a column in production but, of course, I want to avoid the exclusive lock that 'RENAME COLUMN` takes
My strategy is
1. mark old column as deprecated
2. add new column with new name
3. adapt code to use both columns
4. later in time, adapt code to ONLY use new column
5. delete old column
6. handle VACUUM as a separate issue

I would like to mark a column as deprecated on the schema.prisma file. Typescript already allows variables to be marked as deprecated using a tsdoc. linting can the warn you when a deprecated column is in use.
Suggested solution
New deprecated tag that also generates a tsdoc @deprecated tag during prisma generate
// old
model User {
  id               String        @id
  username         String        @unique
  password         String
}

// after deprecation
model User {
  id               String        @id
  username         String        @unique
  password         String        @deprecated(message: "use passwordHash")
  passwordHash     String
}

Alternatives

Additional context

It would be great if this could add the @deprecated JSDoc in the client, so it gets picked up by editors.
For example
/**
 * Model User
 *
 */
export type User = {
  id: string
  username: string
  /** @deprecated use passwordHash */
  password: string
  passwordHash: string
}

model User {
     id            String    @id @default(auto()) @map("_id") @db.ObjectId
     email         String?   @unique
     name          String
     currentAge    String?   @deprecated("Use `age` instead")
     age           Int
}

I would also be interested in being able to deprecate a whole model.

I would also love to see this feature being implemented!

+1

May i suggest that we allow other types of tsdoc comments too? the ability to add a @description or @remarks or similar to the prisma schema, to describe how fields should be used, would be amazing.

Running into this now while doing a big migration. It's getting hard to keep track of what columns are deprecated and which aren't.

You could achieve this by adding a three-slash comment to the column, which will be generated as JSDocs, allowing you to mark it as deprecated:
model User {
  id               String        @id
  username         String        @unique
  password         String        /// @deprecated Use `passwordHash` instead.
  passwordHash     String
}

Result:

IDE:

That is a genius solution @leandro-hermes! I wonder if with this do we have a reason for a dedicated tag within the schema file? Like, do we have a use case specifically for the AST?

This is great! Also works for Models. 🙌
/// @deprecated Use `FacilitySnapshot` directly
model Report {
  id        String   @id
  // ..etc
}

/**
 * Model Report
 * @deprecated Use `FacilitySnapshot` directly
 */
export type Report = $Result.DefaultSelection<Prisma.$ReportPayload>

The lack of this feature can make things extra complicated when trying to ship changes that are incompatible with existing clients (removing/renaming a field).
For example. Let's say we're planning to remove the column myTable.A. The pattern to safely remove this is:

Remove all the references to myTable.A in the code and deploy
Run a database migration that removes myTable.A

For the first step, if I edit schema.prisma and remove the column, it fails the drift detection, as I don't have a database migration that matches it (and I will not have, until there are no more references to myTable.A).
If I create the migration and move on, by the time the migration is applied, the clients that eagerly load myTable (for example, myTable.findFirst()) will fail because A doesn't exist in the database.
Having a way to deprecate a field is crucial to automate this process. In our current workflow, we have to:

Manually skip drift detection for this kinds of changes
On a short period of time, merge the changes that actually runs the database migrations
Re enable drift detection

using a triple-slash is our best option for now but i dont think it's good enough. for starters, it only supports the language's "doc" syntax you decide to write it in (e.g. JSDoc for js/ts. but what about go, python, etc.?)
if prisma had first-class support for deprecation would make it machine-intelligible, and the possibilities for the very much needed automation that that would enable are pretty vast. on top of all the things already mentioned in this thread, i'd like at the very least for prisma to warn me when i use a deprecated field (e.g. when i define a new model that uses it)

The tripple-slash approach doesn't appear to work for enums. Would be great if it would! 🙏
eg
enum FieldType {
  STRING
  CURRENCY_CODE
  DECIMAL
  MONEY
  PERCENT
  INTEGER
  CENTS
  PLAIN_DATE
  DATETIME
  /// @depreacted prefer PLAIN_DATE
  DAY
  BOOLEAN
  COUNT
}

export const FieldType: {
  STRING: 'STRING',
  CURRENCY_CODE: 'CURRENCY_CODE',
  DECIMAL: 'DECIMAL',
  MONEY: 'MONEY',
  PERCENT: 'PERCENT',
  INTEGER: 'INTEGER',
  CENTS: 'CENTS',
  PLAIN_DATE: 'PLAIN_DATE',
  DATETIME: 'DATETIME',
  DAY: 'DAY',
  BOOLEAN: 'BOOLEAN',
  COUNT: 'COUNT'
};


Arial Font Not Found

When attempting to run this it works well until running the "create_mask_report" function. After some digging I found that it's trying to open a font file that doesn't exist on Ubuntu: "arial.ttf". Looks like you can only open fonts by passing the absolute path on Ubuntu.
Recommend you include the font with the install.
.../WaterDetect/waterdetect/Common.py in create_glint_pdf(xml, name_img, output_folder, g, pdf_merger)
    956         d = ImageDraw.Draw(out)
    957         # font size
--> 958         font = ImageFont.truetype("arial.ttf", 16)
    959
    960         # Test about glint values

.../lib/python3.7/site-packages/PIL/ImageFont.py in truetype(font, size, index, encoding, layout_engine)
    834
    835     try:
--> 836         return freetype(font)
    837     except OSError:
    838         if not isPath(font):

.../lib/python3.7/site-packages/PIL/ImageFont.py in freetype(font)
    831
    832     def freetype(font):
--> 833         return FreeTypeFont(font, size, index, encoding, layout_engine)
    834
    835     try:

.../lib/python3.7/site-packages/PIL/ImageFont.py in __init__(self, font, size, index, encoding, layout_engine)
    192                     return
    193             self.font = core.getfont(
--> 194                 font, size, index, encoding, layout_engine=layout_engine
    195             )
    196         else:

OSError: cannot open resource

Thanks @jshermeyer, I will release a new version and include this issue.


Remove support for Sinatra versions below 2.0.0

We've had a deprecation message for this removal out for a while. See lib/new_relic/agent/instrumentation/sinatra.rb
Remove in a major version release.

Support was already removed in 9.0.0. The deprecation warning was just lagging behind. The deprecation warning has now been removed with #2797


export to Excel

Issue description
need the ability to export tables out of https://help.sap.com/docs webpages into Microsoft Excel
Feedback Type (Optional)
other
Page Title on SAP Help Portal (prefilled)
Tasks and Permissions
Page URL on SAP Help Portal (prefilled)
https://help.sap.com/docs/cloud-integration/sap-cloud-integration/tasks-and-permissions?q=Role Collection

Hi @alcast0007, thank you for your feedback! We’ll look into it and come back to you if we have any questions.

Hi @alcast0007
Unfortunately, we won't be able to help you with this. SAP Integration Suite is a cloud software, we add new roles frequently. As I write this reply, we are adding new information to the page. After you download the current version, we might update the content and there is a high chance that you might miss some useful information about new roles.
We suggest you bookmark the page and consume the "cloud" version to consume the latest version.
Regards,
Karuna


merge from arlac77/template-github,arlac77/template-kronos-component

package.json

chore(deps): add ^3.11.1 remove ^3.11.0 (devDependencies.ava)
chore(deps): add ^7.3.0 remove ^7.2.1 (devDependencies.c8)
fix(engines): add >=14.7.0 remove >=14.6.0 (engines.node)

Codecov Report

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

@@           Coverage Diff           @@
##           master     #737   +/-   ##
=======================================
  Coverage   92.53%   92.53%
=======================================
  Files          12       12
  Lines         777      777
  Branches       92       92
=======================================
  Hits          719      719
  Misses         58       58

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 22c8cfb...aecb5ef. Read the comment docs.


Changeset generates wrong CREATE TABLE query for auto increment primary key column

Environment
Liquibase Version: 4.7.0
Database Vendor & Version: H2 2.0.206
Description
When using a liquibase changeset containing primary auto increment keys a wrong create table statement is being generated.
Steps To Reproduce
Have a changeset containing e.g.:
<createTable tableName="FOO">
        <column name="ID" type="bigint" autoIncrement="true">
            <constraints nullable="false" primaryKey="true"/>
        </column>
        ...
</createTable>

Actual Behavior
That will produce an error like:
Syntax error in SQL statement "CREATE TABLE MYDB.FOO(ID BIGINT AUTO_INCREMENT[*] NOT NULL, ...

Expected/Desired Behavior
I would expect it to generate a proper query like:
CREATE TABLE MYDB.FOO(ID BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, ...

have a similar problem, it looks as if the newer keywords in liquibase 2.x are not applied:
     Reason: liquibase.exception.DatabaseException: Syntax error in SQL statement "CREATE TABLE PUBLIC.KEYVALUE (CORRELATIONID UUID NOT NULL, KEY[*] NVARCHAR(50) NOT NULL, DATA NVARCHAR(1024), TYPE NVARCHAR(50) NOT NULL)"; expected "identifier"; SQL statement:

I am not entirely sure why this is happening, since the PR https://github.com/liquibase/liquibase/pull/2285/files#diff-585aea777bfaf5867d624fd65d291f5f3aa3ae3662293eea3a5cb4a94a4b2dabR86 looked as if it would add those new keywords.
From the release notes it looked as if 4.7.0 would include the support for newer h2 version (and therefore also https://github.com/liquibase/liquibase/pull/2285/commits/4281f9cdacd5f7b709599e710e1c3089a4a1780c)

@nvoxland can you please take a look?

ok, actually I am seeing a different problem, when using variables then the reserved keyword quoting does not seem to work
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">

    <property name="key" value="[KEY]" dbms="mssql" />
    <property name="key" value="KEY" dbms="h2" />
    <property name="key" value="KEY" dbms="postgresql" />

    <changeSet id="id3" author="author">
        <update tableName="KEYVALUE">
            <column name="TYPE" value="val1" />
            <where>${key}=:value</where>
            <whereParams>
                <param name="value" value="val2" />
            </whereParams>
        </update>
    </changeSet>
</databaseChangeLog>

I can also reproduce the problem with autoincrement:
"CREATE TABLE PUBLIC.TABLENAME (ID BIGINT AUTO_INCREMENT[*] NOT NULL, ...)";

We hadn't updated the "what is the auto-increment clause" logic for h2 because it wasn't failing for me in the tests we have. The old AUTO_INCREMENT clause was working fine so left it at that vs. putting in a version check.
Even using the
        <createTable tableName="FOO">
            <column name="ID" type="bigint" autoIncrement="true">
                <constraints nullable="false" primaryKey="true"/>
            </column>
        </createTable>

example it's working for me.
My h2 url is just jdbc:h2:mem:liquibase. Are there different parameters that may control how well it supports the old AUTO_INCREMENT field?
Changing the logic to use the new GENERATED BY DEFAULT AS IDENTITY works fine against my setup too, though, so I'll open a PR to address that.

@rburgst could you check if the artifacts from https://github.com/liquibase/liquibase/pull/2372/checks resolves the problem for you?

ok, actually I am seeing a different problem, when using variables then the reserved keyword quoting does not seem to work

@rburgst, Liquibase doesn't try to add quoting to the the  clause you have. As a partial raw SQL statement, we don't have the ability to understand what is going on in there so we just pass it as-is to to the database. You'll have to handle the quoting there yourself.

@nvoxland I can understand that. So please ignore that part.
As to the autoincrement. It fails for me with the following JDBC URL
jdbc:h2:mem:tms;MODE=PostgreSQL;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;CASE_INSENSITIVE_IDENTIFIERS=TRUE

@nvoxland I tested your pull request in my environment. The reported problem is now solved by your fix.
But that fix also uncovers an other problem: The INT UNSIGNED data type does not work any longer with the new version in case you have a changeset defined like:
<column defaultValueNumeric="0" name="FOO" type="INT UNSIGNED">
    <constraints primaryKey="true"/>
</column>

It reports:
Syntax error in SQL statement "CREATE TABLE MYDB.BAR(FOO INT UNSIGNED[*] DEFAULT 0 NOT NULL, ...

@nvoxland BTW in case this is still relevant my test suites JDBC URL looks like this:
jdbc:h2:mem:foo;IGNORECASE=TRUE;MODE=HSQLDB;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE;AUTO_RECONNECT=TRUE;INIT=CREATE SCHEMA IF NOT EXISTS mydb\;SET SCHEMA mydb\;

Any news on this topic?

@nvoxland, I discovered two test cases that demonstrate the syntax issues. Both reproduce if you have a JDBC connection that specifies MODE=PostgreSQL. I did a quick test with the fix build; it appears one of the two test cases is addressed.
CC @yodzhubeiskyi

Steps to Reproduce

Start an h2 database

liquibase init start-h2 (v4.7.0 and up)
start-h2 (from the liquibase/examples directory; versions < 4.7.0)

Update the h2 JDBC URL in your liquibase.properties file

liquibase.command.url=jdbc:h2:tcp://localhost:9090/mem:dev;MODE=PostgreSQL

On the h2 database, manually create the table "KEYVALUE"

CREATE TABLE PUBLIC.KEYVALUE (CORRELATIONID UUID NOT NULL, "KEY[*]" NVARCHAR(50) NOT NULL, DATA NVARCHAR(1024), TYPE NVARCHAR(50) NOT NULL);

Copy the changelog pr2372-changelog.xml into the directory where liquibase.properties is.

Execute update twice, one for each of the use cases.

liquibase update --changelog-file pr2372-changelog.xml --labels case1
liquibase update --changelog-file pr2372-changelog.xml --labels case2

Actual Results

Case1: Fails

Syntax error in SQL statement "UPDATE PUBLIC.KEYVALUE SET TYPE = 'val1' WHERE [*]KEY='val2'"; expected "INTERSECTS, NOT, EXISTS, UNIQUE, INTERSECTS"; SQL statement:
UPDATE PUBLIC.KEYVALUE SET TYPE = 'val1' WHERE KEY='val2' [42001-202] [Failed SQL: (42001) UPDATE PUBLIC.KEYVALUE SET TYPE = 'val1' WHERE KEY='val2']

Case2: Fails

Syntax error in SQL statement "CREATE TABLE PUBLIC.PR2372 (""KEY"" BIGINT [*]AUTO_INCREMENT NOT NULL, CONSTRAINT PK_PR2372 PRIMARY KEY (""KEY""))"; expected "ARRAY, INVISIBLE, VISIBLE, NOT, NULL, AS, DEFAULT, GENERATED, ON, NOT, NULL, DEFAULT, NULL_TO_DEFAULT, SEQUENCE, SELECTIVITY, COMMENT, CONSTRAINT, COMMENT, PRIMARY, UNIQUE, NOT, NULL, CHECK, REFERENCES, ,, )"; SQL statement:
CREATE TABLE PUBLIC.PR2372 ("KEY" BIGINT AUTO_INCREMENT NOT NULL, CONSTRAINT PK_PR2372 PRIMARY KEY ("KEY")) [42001-210]

Expected Results

Case1 updates the table KEYVALUE successfully.
Case2 creates the table PR2372 successfully.

Case2 appears to be fixed by the change in the PR.

Test Environment
Liquibase 4.7.0
h2 v.2.0.202

The INT UNSIGNED data type does not work any longer
@0x7d7b This appears to be a change in h2 itself. We've always passed the type you give along to the database, and INT UNSIGNED has never really been a valid type for h2. But they've gotten more pedantic in their tracking. You'll have to update your changelog to work with the correct datatype. Since taht changese the liquibase checksum, you'll have to use <validChecksum> to let liquibase know you are OK with the change.

I think all the questions in this issue have been addressed.
The overall problem this issue is handling is the fact that on h2 2.x we need to use GENERATED BY DEFAULT and on 1.x we use AUTO_INCREMENT. #2372 fixes that.
Besides that issue, there has been discussion on other unconnected problems which if they were problems should have independent issues for better tracking:

Column that are reserved words in a createTable like key are not being quoted
a. They are already being correctly quoted in createTable. It's just where where they are not being
Columns in a "where" clause aren't being quoted
a. This is expected, we don't try to parse the where clause because we can't safely do it. It's up to the user to correctly quote the syntax, even when that changes from one version of their database to the other.
Syntax errors on INT UNSIGNED
a. This is expected because that is no longer a valid datatype type in newer versions of h2 like it used to be. It's an h2 question, not a liquibase issue.

If anyone is seeing any of those 3 issues still, or any other h2 2.x compatibility issues, please open them as separate issues.

@nvoxland I changed those INT UNSIGNED types accordingly.
But still: even when I try #2372 the original bug can still be reproduced. I think it has to do with my JDBC URL. There I use the MODE=HSQLDB parameter.

@nvoxland BTW in case this is still relevant my test suites JDBC URL looks like this:
jdbc:h2:mem:foo;IGNORECASE=TRUE;MODE=HSQLDB;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE;AUTO_RECONNECT=TRUE;INIT=CREATE SCHEMA IF NOT EXISTS mydb\;SET SCHEMA mydb\;

Following up here, @nvoxland and @0x7d7b.  I retested with the following changeset:
	<changeSet author="liquibase-user" id="2::useMODEInJDBCURL" labels="case2">
		<createTable tableName="PR2372">
			<column name="KEY" type="bigint" autoIncrement="true">
			</column>
		</createTable>
	</changeSet>

Results of Testing

MODE
H2 Version
AutoInc SQL
Correct?

POSTGRESQL
1.4.200
"KEY" BIGINT AUTO_INCREMENT
Yes

HSQLDB
1.4.200
"KEY" BIGINT AUTO_INCREMENT
Yes

(none specified)
1.4.200
"KEY" BIGINT AUTO_INCREMENT
Yes

POSTGRESQL
2.1.210
"KEY"  BIGINT GENERATED BY DEFAULT AS IDENTITY
Yes

HSQLDB
2.1.210
"KEY" BIGINT GENERATED BY DEFAULT AS IDENTITY)
Yes

(none specified)
2.1.210
"KEY" BIGINT GENERATED BY DEFAULT AS IDENTITY)
Yes

Using @0x7d7b's JDBC URL generated the correct SQL for me on h2 v2.1.210.
JDBC:
url:jdbc:h2:tcp://localhost:9090/mem:dev;IGNORECASE=TRUE;MODE=HSQLDB;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE;AUTO_RECONNECT=TRUE;INIT=CREATE SCHEMA IF NOT EXISTS mydb\\;SET SCHEMA mydb\\;

GENERATED SQL
-- Changeset pr2362-changelog.xml::2::useMODEInJDBCURL::liquibase-user
CREATE TABLE MYDB.PR2372 ("KEY" BIGINT GENERATED BY DEFAULT AS IDENTITY);

Test Environment
Liquibase Core: h2-autoincrement/1214/c29a51, Pro: master/405/dee743
H2 v1.4.200
H2 v2.1.210
Windows 10


add date limiter to collections

for clarion, kristen request

Just discussed in SCA meeting; would be helpful for all collections, not just Clarion!

Refactored the collection view controller to use the Search module service

Added the daterange limiter to the collection view, added required variables to view data


added getLocaleDate snippet

New snippet added!
Detail: https://github.com/30-seconds/30-seconds-of-code/issues/1653

Hi What can be improved? just closed like that?


K8SPG-467 - Add support for PG operator 1.5.0

This is for production so don't merge before release!!!

Test name
Status

api-tests
passed


api generator: Add test for optional enum

please provider a proper description of what you want to show us here


Seems it's not working in the tbb task.

My sample code is like this:
#include <iostream>
#include "backward.hpp"
#include <oneapi/tbb.h>

int main() {
  backward::SignalHandling sh;

  int sum = oneapi::tbb::parallel_reduce(
      oneapi::tbb::blocked_range<int>(1,101), 0,
      [](oneapi::tbb::blocked_range<int> const& r, int init) -> int {
        for (int v = r.begin(); v != r.end(); v++) {
          init += v;
        }
        char *nn = nullptr;
        nn[3] = 'a';
        return init;
      },
      [](int lhs, int rhs) -> int {
        return lhs + rhs;
      }
  );

  printf("sum: %d\n", sum);

  std::cout << "hello\n";
  return 0;
}

Look at the code char *nn = nullptr; nn[3] = 'a'; And the backward-cpp can not output the stack.

What do you mean by cannot output? Please expand. What was the output you expected and what did you end up seeing instead.
Could it be that oneapi is setting its own signal handler?

https://www.man7.org/linux/man-pages/man7/signal.7.html

Signal mask and pending signals
Each thread in a process has an independent signal mask, which
indicates the set of signals that the thread is currently
blocking.  A thread can manipulate its signal mask using
pthread_sigmask(3).  In a traditional single-threaded
application, sigprocmask(2) can be used to manipulate the signal
mask.

   A thread-directed signal is one that is targeted at a specific
   thread.  A signal may be thread-directed because it was generated
   as a consequence of executing a specific machine-language
   instruction that triggered a hardware exception (e.g., SIGSEGV
   for an invalid memory access, or SIGFPE for a math error), or
   because it was targeted at a specific thread using interfaces
   such as [tgkill(2)](https://www.man7.org/linux/man-pages/man2/tgkill.2.html) or [pthread_kill(3)](https://www.man7.org/linux/man-pages/man3/pthread_kill.3.html).

   A thread can obtain the set of signals that it currently has
   pending using [sigpending(2)](https://www.man7.org/linux/man-pages/man2/sigpending.2.html).  This set will consist of the union
   of the set of pending process-directed signals and the set of
   signals pending for the calling thread.

By default threads accept all signals. The library is most likely setting the signal mask per thread.

By default threads accept all signals. The library is most likely setting the signal mask per thread.

I understand this, and try replace the sig_handler by simple system api backtrace and backtrace_symbols ， it works.
And I gdb the above code, and single step one by one, it works.
So I think it's the problem like my comment, when multi thread program receive signal, the kernel arbitrarily selects one thread to deliver, the chosen thread trigger the sig_handler, but other threads continue to execute and crash again, it's not expected behavior.

Finally, I find delete the SA_RESETHAND flag and add one recursive mutext in the sig_handler function, the problem is fixed.
Please review the code, if there is better one solution of this problem (multiple threads program crash meanwhile nearly)

Thanks for the code. If I understand correctly, it serializes the execution of the signal handler. In other words, the signal handler can never be executed concurrently on multiple threads, but instead, one by one. In your case, since it aborts after a SIGSEGV, only one will ever execute.

So I think it's the problem like my comment, when multi thread program receive signal, the kernel arbitrarily selects one thread to deliver, the chosen thread trigger the sig_handler, but other threads continue to execute and crash again, it's not expected behavior.

For hardware exception; like SIGSEGV; the documentation states that they are thread-directed. Which means that the signal handler will only execute on the thread that triggered the fault. The kernel doesn't randomly pick a thread here.
You mentioned that multiple threads are segfaulting at the same time. And you say that it works with your code that is serializing all invocations of the signal handler. But it also it works fine if you call backtrace directly. I wonder if the issue is concurrent execution of backward-cpp and the various libraries that it calls.

For hardware exception; like SIGSEGV; the documentation states that they are thread-directed. Which means that the signal handler will only execute on the thread that triggered the fault. The kernel doesn't randomly pick a thread here.

But the strange result is, if using std::mutex , the deadlock happens.

For hardware exception; like SIGSEGV; the documentation states that they are thread-directed. Which means that the signal handler will only execute on the thread that triggered the fault. The kernel doesn't randomly pick a thread here.

But the strange result is, if using std::mutex , the deadlock happens.

Sorry, it's my trying code logic error, only add std::mutex, it works correctly.

Thanks for the code. If I understand correctly, it serializes the execution of the signal handler. In other words, the signal handler can never be executed concurrently on multiple threads, but instead, one by one. In your case, since it aborts after a SIGSEGV, only one will ever execute.

PS. Deleting the SA_RESETHAND flag is also important, as multiple threads crash would trigger the sig_handler not the default core dump.

Maybe deleting the SA_RESETHAND is awful, with using recursive_mutex it cause re-call signal_handler, plus using jemalloc  the crash report dead lock.

Also not working for me with OpenMP, might be related.


xml sitemaps for member pages #484

@thatbudakguy I haven't written unit tests yet, but would appreciate it if you have time to look over and give me any feedback on approach or any of the notes I have in comments.


Let eclipse-wtp remove the "jst.utility" facet in ejb modules

Fixes #17681
Context

The gradle eclipse-wtp plugin adds an Eclipse jst.utility facet to each java project.
If you want Eclipse IDE to recognize it as  an EJBs project, you have to add a jst.ejb facet:
eclipse.wtp.facet {
    facet name: 'jst.ejb', version: '3.2'
}

However as jst.ejb and jst.utility facets are incompatible, Eclipe IDE will complain and state that it is misconfigured.
If you use gradle to build projects but want to use the Eclipse  IDE, then the gradle configuration should be considered as the source of truth. However this implies that the eclipse and eclipse-wtp plugins must configure the corresponding Eclipse projects correctly.
In addition, to align with the behavior of the Eclipse IDE wizard, the jst.ejb facet should also be defined as fixed.
This can be done using the EclipseWTPFacet.file method:
eclipse.wtp.facet.file.whenMerged { it.facets = it.facets.findAll { it.name != 'jst.utility' }}

but, in my opinion, this should be reserved for tricky edge cases not basic project configuration.
That's why I think developers using the Eclipse IDE would benefit from this change.
Relevant forum: https://discuss.gradle.org/t/easily-customize-the-eclipse-wtp-facet-version/8690
Remark:
I'm not sure if the EclipseWTPFacet.facet method is the right place to add this modification, but I haven't found a better one.
Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass sanity check: ./gradlew sanityCheck
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[x] Verify design and implementation
[x] Verify test coverage and CI build status
[x] Verify documentation
[x] Recognize contributor in release notes

@bot-gradle test RFM

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@donat I've made the requested modifications.
Do you want a rebase ?

@donat I have made the requested modifications.
Do you want a rebase?

@bot-gradle test RFM

OK, I've already triggered the following builds for you:

PullRequestFeedback build

Do you want a rebase?

You don't have to worry about it.

I've squashed and rebased the branch to the latest master to keep the history clean.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

OK, I've already triggered a build for you.

@HvB Thank you for the contribution!


Momentum buffers still created and computed even if beta1 is 0

With methods like schedule-free gaining popularity, should someone go through all the transforms and only create and use momentum if beta1>0? Could save a lot of memory. I would be willing to take the time if it seems beneficial

huh. This sounds interesting!. I think we just have to make sure this would be compatible with things like inject_hyperparams (https://optax.readthedocs.io/en/latest/api/optimizer_schedules.html#optax.inject_hyperparams) that allows to change hyperparameters on the fly.
What do you thnk @vroulet ?

@fabianp Oh yeah good point, it might be hard with inject hp, for example this is my version of adam with optional mu:
    def init_fn(params):
        if b1 > 0:
            mu = otu.tree_zeros_like(params, dtype=mu_dtype)
        else:
            mu = None
        nu = otu.tree_zeros_like(params)
        return transform.ScaleByAdamState(count=jnp.zeros([], jnp.int32), mu=mu, nu=nu)

    def update_fn(updates, state, params=None):
        del params
        count_inc = numerics.safe_int32_increment(state.count)
        if b1 > 0:
            mu = otu.tree_update_moment(updates, state.mu, b1, 1)
            if nesterov:
                mu_hat = jax.tree.map(
                    lambda m, g: b1 * m + (1 - b1) * g,
                    otu.tree_bias_correction(
                        mu, b1, numerics.safe_int32_increment(count_inc)
                    ),
                    otu.tree_bias_correction(updates, b1, count_inc),
                )
            else:
                mu_hat = otu.tree_bias_correction(mu, b1, count_inc)
            mu = otu.tree_cast(mu, mu_dtype)
        else:
            mu = None
            mu_hat = updates
        nu = otu.tree_update_moment_per_elem_norm(updates, state.nu, b2, 2)
        nu_hat = otu.tree_bias_correction(nu, b2, count_inc)
        updates = jax.tree.map(
            lambda m, v: m / (jnp.sqrt(v + eps_root) + eps), mu_hat, nu_hat
        )
        return updates, transform.ScaleByAdamState(count=count_inc, mu=mu, nu=nu)

but not having momentum buffers from init and those if then statements wouldn't be inject hp friendly. Also, here instead of momentum I use just the grads for numerator, but there may be cases that aren't so straightforward on what to replace momentum with.

Yes, that's exactly what I was thinking about in #1006 (just for rmsprop) but not in such general way (just to make the current schedulefree_adamw more memory friendly)

@vroulet that sounds like a good compromise so folks can at least skip momentum by using schedule free adam from the contrib... changing all the optimizers in optax might be too much crazy work lol


GSoC 2023 Ideas

GSoC 2023 Ideas
We need to propose our ideas for the upcoming GSoC.
They need to be added here: https://owasp.org/www-community/initiatives/gsoc/gsoc2023ideas

There's a sheet/diagram of ideas from Varese, somewhere…

I have it on photo but need to find it and transcribe.

Here are the ideas from Varese:

Joint project with OWASP Honeypot
Design a usable report with CRS CAPEC tags, and link it to the OWASP Top 10
Performance measurement of targets in rules
Regex assemble "debugger"

Block/line step
Terminal colours / syntax highlighting

Regex-only tests with crs-toolchain, YAML

We should consider re-submitting the ModSecurity transformation operators investigation idea from last year:
https://github.com/OWASP/www-community/blob/master/pages/initiatives/gsoc/gsoc2022ideas.md#crs-transformations-review

It's worth a try.

Schedule: https://developers.google.com/open-source/gsoc/timeline
It seems we are really behind schedule.

Created https://github.com/OWASP/www-community/pull/752.
Can someone expand on what is needed in the previous points listed https://github.com/coreruleset/coreruleset/issues/3160#issuecomment-1479868893 ?

We're behind schedule, but maybe it's worth adding:

Design usable report with CRS CAPEC tags (for use with OWASP Top 10 for example, or for management)
Regex assemble "debugger": line stepping, term colors, etc.
Regex-only tests (with crs-toolchain YAML / *.ra files)

The joint honeypot project is far too late. We would need to coordinate this in advance.

The GSoC 2023 contributor proposal submission period has now closed. We had 5,704 contributors submit 7,723 proposals for GSoC 2023.
I would say let's add an extended description in the same format as the others to the file, so when copied to 2024 we get that from the start?

Sounds leggit. Sorry I let this slip. I think it's my mistake.

Closing this one.


Paragraphs Set at 70% Width

The CSS has paragraphs set at a max-width of 70%. Any particular reason for this? It's causing my text to wrap unnecessarily.

@adrienne do you know if this has to do with your latest changes?

@sjelfull - the default CSS it uses is literally exactly what you had in there before, i didn't make any modifications. And i remember seeing that paragraphs were set to 70% width before my changes, honestly, and thinking that was odd.
If you want to modify the default CSS for folks, it's in this file now: https://github.com/sjelfull/craft-entry-instructions/blob/master/src/models/Settings.php

@kgrote FWIW, I've fixed this in the Custom CSS overrides using p {max-width: 100%;}.


join giveaway in 10sec

should change line #19 (100,200) (20,30)

Joining giveaways too fast could result in a ban. You can change it if you want, but I won't change it on GitHub.


Can't make the chat to understand previous context

Hello, there is my Langchain stuff method:
private static aiRespond = async (
    id: ChatSession['id'],
    {
      writer,
      encoder,
      chatMessageId,
    }: {
      writer: WritableStreamDefaultWriter<Uint8Array>;
      encoder: TextEncoder;
      chatMessageId: ChatMessage['id'];
    }
  ) => {
    const messages = await prisma.chatMessage.findMany({
      where: { sessionId: id },
      orderBy: { createdAt: 'asc' },
    });
    const lastMessage = messages.find((message) => message.id === chatMessageId);

    if (!lastMessage) return;

    const history = [
      new SystemChatMessage(`You're a friendly assistant. You're helping a customer with a problem.`),
      ...messages
        .filter((message) => message.id !== chatMessageId)
        .map((message) => {
          if (message.userType === ChatMessageUserType.HUMAN) {
            return new HumanChatMessage(message.content);
          } else if (message.userType === ChatMessageUserType.AI) {
            return new AIChatMessage(message.content);
          }

          throw new Error('Unknown message type');
        }),
    ];

    console.log('history', history);

    const newAIMessage = (await prisma.chatMessage.create({
      data: {
        content: '',
        sessionId: id,
        userType: ChatMessageUserType.AI,
      },
    })) as ChatMessage;

    await this.onMessage(id, { writer, encoder, chatMessageId: newAIMessage.id, respond: false });

    const llm = new ChatOpenAI({
      temperature: 0,
      streaming: true,
      modelName: 'gpt-3.5-turbo',
      callbacks: [
        {
          handleLLMNewToken: async (token: string) => {
            await this.sendToken(id, { writer, encoder, chatMessageId: newAIMessage.id, content: token });
          },
        },
      ],
    });

    const memory = new BufferMemory({
      memoryKey: 'chat_history',
      chatHistory: new ChatMessageHistory(history),
      returnMessages: true,
      humanPrefix: 'Human:',
      aiPrefix: 'AI:',
    });

    const prompt = new PromptTemplate({
      template: '{content}',
      inputVariables: ['content'],
    });

    const chain = new LLMChain({
      memory,
      prompt,
      llm,
    });

    const { text } = (await chain.call({ content: lastMessage.content })) as { text: string };

    await prisma.chatMessage.update({
      where: { id: newAIMessage.id },
      data: {
        content: text,
      },
    });
  };

As you can see I remove the latest message from history to pass it to chain.call. Then I initialise ChatMessageHistory as BufferMemory field, then I initialise LLMChain with the memory and basic prompt instance. But unfortunately the set up doesn't make it "know" the previous context. I've double-checked the history array and items are there.

What do I do wrong? Thank you!

I had the same problem, and my solution was to just disregard all "helpful" tools that stores the history and just build it myself from scratch. So just a super simple solution that we have full control over and that works.

@AlfredOdling what is 'rl' in 'rl.question'? And also how do you use this 'recursivelyPrompt()'???

@finom, take a look at this issue (and its PR): https://github.com/hwchase17/langchainjs/issues/1800
This is how I plan to fix it :)


Snowflake DDL Deployment

We are planning to build the Snowflake DDL pipeline from Azure Devops.
We are looking for version controlling at component level(Similar to Snowflake DB objects like DB--> Schema --> Tables, Views, Functions, Procedures etc.. ie each object will have physical file available in DevOps where we have version controlling available at object level
Can we have achieve this using Schemachange? Thanks

Any update on this please?

@praneeth1987 , schemachange is probably not the best choice for this specific use case. It keeps tracks migrations, but not specific objects.
Recently I've open sourced a declarative-style tool SnowDDL, which has a config with 1 file per object. Maybe it can work for you a little bit better.

@littleK0i  thanks for the update. Also I have roles and schemas based on environment, where I want to deploy the code in all the 3 environments(DEV, QA & PROD) where as source artifact is same. How to variabilize this roles & schemas per environment in Azure DevOps and deploy in particular environment based on particular stage(DEV,QA & PROD) in stage?
It would be really helpful if you have any working example for this

@praneeth1987 , yes, it is possible.
Normally I would suggest to create separate Snowflake accounts for every environment. It helps to simplify things a lot.
Alternatively, it is possible to use a feature called "env prefix". It adds prefixes to most account-level objects, while applying the same config.
For example: DEV__DB, QA__DB, PROD__DB.
However, SnowDDL uses its own role hierarchy, which is currently semi-enforced. It is definitely not an easy "drop-in" replacement for schemachange.
I think we should definitely move to SnowDDL discussions section, if you have more questions.
Thank you.

@littleK0i  : Thanks for the update, one last question regarding this
We are planning to configure the new Snowflake environment where we will be using schemachange to create warehouses, databases, schemas , roles and grant privileges,
What would be the best folder structure you suggest to have all these SQL related to admin activties

going to have separate folder for databases, schemas, warehouses, roles & grants privileges SQL files
Clubbing together in single folders

Hello @praneeth1987
We are reviewing open issues. Were you able to leverage Schemachange as intended.
To answer your questions, specifically, there is no restriction on folder structure. However, you can change the order of operation by following Approaches discussed in #110 OR execute the scripts in each folder using -f switch and executing the object types in a specific order of your choosing. The choice really depends on your use case.
Let us know if you have applied a different approach and if we could close this issue instead.


Guest cannot execute cells even though enable "Allow Guest Execute Cells".

Environment data

Steps to reproduce:

Install the LiveShare VSCode Extension (VS Live Share Extension Pack)
Open manualTestFile.py in VSCode
Run the first cell in the file
Switch to the Live Share tab in VS Code and start a session
Move your cursor to a line, but don't select anything. Shift-enter should send that line to the Interactive Window
Verify that Jupyter server instance should appear in the live share tab
Open another window of VSCode
Connect the second instance of VSCode as a Guest to the first Live Share session
After the workspace opens, open the manualTestFile.py on the Guest instance
Open VS Code settings, change "Liveshare>languages:Allow Guest Command Control" to true
Change "Liveshare>languages:Allow Guest Execute Cells" to true
On Guest intance, click "Run cell"

Expected behaviour
The file can be executed.
Actual behaviour
"Run cell" is gray and cannot be clicked.

Closing LiveShare related issues.


configureApp for defineCustomElement Not Executed for Async Components

Vue version
3.5.12
Link to minimal reproduction
https://stackblitz.com/edit/vitejs-vite-b9enev?file=src%2Fmain.js
Steps to reproduce

Open the link to the reproduction
Observe app-injected not displayed in the preview

What is expected?
When given an async component, defineCustomElement with the configureApp option results in configureApp being called on the loaded component's mount.
What is actually happening?
When given an async component, defineCustomElement with the configureApp option does not result in configureApp being called on the loaded component's mount.
System Info
System:
    OS: Linux 5.15 Debian GNU/Linux 10 (buster) 10 (buster)
    CPU: (8) x64 Intel(R) Core(TM) i7-10610U CPU @ 1.80GHz
    Memory: 1.41 GB / 7.76 GB
    Container: Yes
    Shell: 5.0.3 - /bin/bash
  Binaries:
    Node: 16.20.2 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 8.19.4 - /usr/local/bin/npm
  npmPackages:
    vue: ^3.5.12 => 3.5.12

Any additional comments?
When resolving an async component, the component's loader is called and the loaded component is resolved.
https://github.com/vuejs/core/blob/06310e82f5bed62d1b9733dcb18cd8d6edc988de/packages/runtime-dom/src/apiCustomElement.ts#L404-L411
However, the configureApp function is attached to the async wrapper. When the component is loaded and the wrapper is discarded, configureApp is discarded as well. Thus when the component is mounted,  configureApp is not called.
https://github.com/vuejs/core/blob/06310e82f5bed62d1b9733dcb18cd8d6edc988de/packages/runtime-dom/src/apiCustomElement.ts#L401
https://github.com/vuejs/core/blob/06310e82f5bed62d1b9733dcb18cd8d6edc988de/packages/runtime-dom/src/apiCustomElement.ts#L414-L424
A fix here may be to assign the function from the wrapper to the loaded component before reassignment of this._def.
const asyncDef = this._def.__asyncLoader;
if (asyncDef) {
  this._pendingResolve = asyncDef().then(
    (def) => {
      if (this._def.configureApp) {
        def.configureApp = this._def.configureApp;
      }
      resolve(this._def = def, true);
    }
  );
} else {
  resolve(this._def);
}

An interesting workaround is to move configureApp into the component's options as shown by this repro. I'm not sure if this is intentional or of the repercussions.

@farcry550
Nice, You've found the root cause of the problem.
PR welcome!

PR welcome!

I’ll create one!


CRITICAL: Program does not work properly on Odin Version: dev-2024-09

After migrating my primary development environment from Linux to MacOS I decided to also update the version of Odin I use to develop OstrichDB. As of me writing this issue OstrichDB has only been written in Odin version dev-2024-06.
After updating versions and migrating OS's, several program breaking bugs have come to light.
Instead of creating a separate issue for each bug found due to this update/migration, this issue will have a checklist of all of them
BUGS
After deleting the /bin dir and doing a fresh rebuild and run of the project:

error thrown from the OST_READ_CONFIG_VALUE proc. For some reason the program cannot read the config file even though it is created properly. Subsequently the next error thrown is triggered by this error.

error thrown from the OST_FIND_CONFIG proc. This proc is being call in the OST_FIND_ALL_CONFIGS proc. which in turn is called from the OST_CREATE_CONFIG_FILE proc. This confises me because the file is indeed created but for some reason it cannot be read.

error thrown from the OST_CHECK_IF_USER_ID_EXISTS proc. This is a crazy bug. In this snippet of the procedure

OST_CHECK_IF_USER_ID_EXISTS :: proc(id: i64) -> bool {
	buf: [32]byte
	result: bool
	openCacheFile, openSuccess := os.open("../bin/secure/_secure_.ost", os.O_RDONLY, 0o666)

You can see that the proc is trying to make a _secure_.ost file. This file was deprecated for v0.3.0. Before v0.3.0 the all user data was stored within this file but now each user has their own "secure" file. This technically should have been breaking the program for several weeks now but I guess Odin wasnt catching it.

It seems like the first bug occurs on Initial startup only. Possibly because the program is trying to read the config file right before it is created.

So it seems that the first two bugs mentioned above only occur on the initial startup of the program. After starting it a second time those two errors do not appear. It is possible OstrichDB is trying to read the ostrich.config file before it is created...
After the initial start up a new error is thrown from the OST_GEN_SECURE_DIR_FILE proc. Which is also odd because it did its job correctly and created the secure directory and yet threw an error.....

After modyfing the code a bit to fix the above bugs and successfully starting the program. after creating the admin accouint and restarting OstrichDB the program is re-running the user creation process. Even though the configs OST_ENGINE_INIT value shows true the program is acting as if its false thus preventing the user from moving foward

Mostly fixed for MacOS and Linux


[BUG] Typing errors whenever Link[SomeDoc] is used  (Pylance)

Describe the bug
I am sure many people must have experienced this, but I can't find another issue for it (Except an old closed-as-stale one)
To Reproduce
from motor.motor_asyncio import AsyncIOMotorClient
from beanie import Document, init_beanie, Link, WriteRules

class ModelToLink(Document):
    some_int: int

class ModelOne(Document):
    some_field: str
    link_field: Link[ModelToLink]

async def test_link():
    await init_beanie(database=client[DB_NAME], document_models=[ModelToLink, ModelOne])

    model_to_link = ModelToLink(some_int=1)

    model_one = ModelOne(some_field="test", link_field=model_to_link)
    # type error:
    # Argument of type "ModelToLink" cannot be assigned to parameter "link_field" of type "Link[ModelToLink]" in function "__init__"

    await model_one.save(link_rule=WriteRules.WRITE)

    assert model_one.link_field.some_int == 1
    # type error:
    # Cannot access member "some_int" for type "Link[ModelToLink]"
    #  Member "some_int" is unknown

Expected behavior
Links are followed to apply typing information as if they were the target of the link
Additional context
I started to see if I could fix this myself, and I found a way that half solves it.
In beanie/odm/fields.py:
T = TypeVar("T")

class Link(Generic[T]):
....
     if TYPE_CHECKING:
         def __get__(self, instance: Any, owner: Any) -> T:
            pass

This simple change half-solves the problem - now when in this example:
        assert model_one.link_field.some_int == 1

It will correctly detect some_int as type: int
But it does not fully work, because it will not detect when fields don't exist, eg:
        assert model_one.link_field.does_not_exist == 1

Will not raise any type error.  does_not_exist will show as Unknown, but not type error is shown.
Can anyone help me get this fix fully working so that Link[SomeDoc] can evaluate all fields of SomeDoc with no typing errors, and also detect when fields do not exist?
Or am I missing something about how Link[..] works, and is there already some way to get this working?
I do love Link[], it's really powerful - but it's quite frustrating that it causes so many typing errors that have to have # type: ignore added, hiding real errors.
Thanks in advance

Hi! Thank you for the catch.
The main problem is that Pylance and mypy are different, and I paused Pylance support around 2 years ago when it started to implement new typing checks very frequently. It introduced new typing errors every week, stopping me from developing actual features. I think now it is more or less stable, so yes, I have to make Beanie support it again.

Thank you! Yes I would say Pylance is pretty stable. There are releases no more than once a month, and nothing changed wrt to PyLance-Beanie in at least the last few releases (2023-12 -> 2024-02)
For now I worked around the issue by adding these helper functions:
T = TypeVar("T", bound=Document)

def as_link(instance: T) -> Link[T]:
    return cast(Link[T], instance)

def from_link(instance: Link[T]) -> T:
     return cast(T, instance

So for example anywhere in my code I have a Link[X] field I can do
assert from_link(some_model.some_link_field).some_field == 1

It's not great though so would be awesome to get a proper fix in Beanie.
Thanks again.

Thank you for the context! I'll pick this up (the pylance support) after I finish Beanie and Bunnet sync. In a few weeks probably.

The problem with Unknown is not because of the Link class but because LazyModel (which is parent of Document) defines __getattribute__. So type checker thinks "maybe this field is dynamic, so I just don't know".
Also in reality type of the linked field is Link[T] | T and which type it is exactly depends on link_rule parameter. So this technically is more correct:
class Link(Generic[DocType]):
    if TYPE_CHECKING:
        def __get__(self, instance, owner) -> Link[DocType] | DocType: ...

Otherwise linked field won't be type checked as Link.
Then whenever you use your models you'd have to disambiguate types:
from typing import reveal_type

class Nested(Document):
    foo: str

class MyModel(Document):
    linked: Link[Nested]

async def main():
    mm: MyModel = await MyModel.get("my_model_id", fetch_links=False)

    reveal_type(mm.linked)
    # information: Type of "mm.linked" is "Nested | Link[Nested]"

    reveal_type(mm.linked.foo)
    # information: Type of "mm.linked.foo" is "str | Unknown"
    # error: Cannot access member "foo" for type "Link[Nested]"

    if isinstance(mm.linked, Nested):
        reveal_type(mm.linked.foo)
        # information: Type of "mm.linked.foo" is "str"
        # NOTE: no error because of type narrowing via `isinstance` check

    reveal_type(mm.linked.fetch)
    # information: Type of "mm.linked.fetch" is "Any | Unknown | ((fetch_links: bool = False) -> Coroutine[Any, Any, Nested | Link[Nested]])"
    # NOTE: there is no error that `Nested` has no attribute `fetch` because it inherits `LazyModel`

I don't like this hack, because Link isn't a descriptor, but I don't know any other quick way either. Technically, the proper way would be to write a mypy plugin (as pydantic) that generates proper annotations, including __init__ etc. But I'd imagine it's too much just to make Link behave properly. Maybe if there is a way to hook into pydantic plugin, but I don't know anything about that.
Since @roman-right is maintainer of lazy-model, I decided to add this:
How to fix `LazyModel.__getattribute__`

Just hide it from type checker like that. Then undefined fields will raise errors as expected.
from typing import TYPE_CHECKING

class LazyModel(BaseModel):

    if TYPE_CHECKING:
        pass
    else:
        def __getattribute__(self, item):
            ...

I can open an issue in lazy-model, if needed.

btw, duplicate https://github.com/roman-right/beanie/issues/820

Hi @roman-right , just a heads-up to say that I would love to see Pylance support added to Beanie, as I sometimes find myself adding some # type: ignore comments next to Beanie code!
(thanks a lot for the great work on Beanie btw)

Thanks a lot @bedlamzd for the proposed fix! Did you end up opening an issue in Lazy Model?
Fixing this in Beanie would help my team delete some # type: ignore comments in our codebase :)

@tristandeborde

Did you end up opening an issue in Lazy Model?

No, since I got no reply from the @roman-right. I assume he's busy with some other work, because there is almost no activity for the past few month.


Code size with XLA AOT

I currently research about xla using AOT compilation and use Cifar10 as benchmark
After using AOT compilation, I got a binary file that size is 5.3MB, but the original tensorflow graph's size is about 4.2MB. Does it means a using AOT compilation can't promise always reduce code size efficiently?

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

The AOT generated binary contains machine code for the CPU you're targeting (for instance x86) whereas the TF graph is a serialized representation of the TensorFlow graph (very different from machine code).  Everything else remaining equal, you can expect that a larger TF graph will generate a larger binary; but other than that there is no correlation between these two things.

@sanjoy  Thanks for your help.
So if I want to test whether AOT reduce code size, how should I test?
Does it means I should take final binary file's  size which generate from AOT compare with original TF graph + runtime size?

@sanjoy Thanks for your help very much.
According to speech at TensorFlow Dev Summit 2017(https://youtu.be/kAOanJczHA0?t=2831),
Code size can be evaluated by Original(Runtime + Graph) compare with Compiled(Code+Weigh).
As I know, Graph = TF graph, what does the rumtime means? Does it mean all libraries that graph need to use?
And does Code+Weight mean the binary file which compiled by AOT?

what does the rumtime means? Does it mean all libraries that graph need to use?

Yes, it is everything that you need to actually execute the graph.

And does Code+Weight mean the binary file which compiled by AOT?

It depends on the context, but most likely yes.

It probably makes sense to move any further discussion on this topic to stackoverflow, since it isn't a bug report or feature request. Thanks!


Dynamic button title

It would be great if the button could have a dynamic title, like the standard buttons in Mendix

Resolved in pull request #8

it's in the latest version.


Posts not completing - 500 error

We chatted about my posting issues for TechLifeWeb on the idieweb chat the other day but I thought I'd post here for easier tracking.  It seems like BF is seeing my new posts which is an improvement over the other day but now it is erroring. See this BF Log FIle.  It gets in kind of a loop a little way down then finishes with a 500 Internal Server Error.

https://botsin.space/@agora has an unusual bit of AS2 that BF choked on. Fix will be deployed within 5m, feel free to retry then!

Looks like it's working, thanks! Seems Post counts are showing up on
Mastodon too which is cool.
On Thu, Jul 27, 2023 at 3:11 PM Ryan Barrett @.***>
wrote:

@.*** has an unusual bit of AS2 that BF choked on.
Fix will be deployed within 5m, feel free to retry then!
—
Reply to this email directly, view it on GitHub
https://github.com/snarfed/bridgy-fed/issues/603#issuecomment-1654651206,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACAJWR4VGDSU6MUFS2YDUZ3XSLRRPANCNFSM6AAAAAA22GUP4Y
.
You are receiving this because you authored the thread.Message ID:
@.***>


docs: datasheet: soc_sysinfo: fix NEORV32_SYSINFO.SOC bits description

Fix the descriptions for NEORV32_SYSINFO.SOC register bits 14 and 15.

Eagle eyes!
Thanks for the fix :+1:


[SPARK-50397][CORE] Remove deprecated --ip and -i arguments from Master/Worker

What changes were proposed in this pull request?
This PR aims to remove --ip and -i arguments and SPARK_MASTER_IP environment variable from Master/Worker from Apache Spark 4.0.0.
Why are the changes needed?
These arguments were deprecated on Apr 15, 2013 before v0.8.0-incubating and have never been used in Apache Spark code base.

https://github.com/apache/spark/commit/d90d2af1036e909f81cf77c85bfe589993c4f9f3#diff-6a66898887ff9c00a900384bdc2a0c098a4e97a302fecf484b46814a5371210a

Utils.checkHost(value, "ip no longer supported, please use hostname " + value)

Does this PR introduce any user-facing change?
Yes, however, I believe these incubating-era arguments are not only misleading (because IPs are not hostnames) but also not required in Apache Spark 4.0.0 users.
How was this patch tested?
Manual review.
BEFORE
$ sbin/start-master.sh --help
Usage: ./sbin/start-master.sh [options]

Options:
  -i HOST, --ip HOST     Hostname to listen on (deprecated, please use --host or -h)
  -h HOST, --host HOST   Hostname to listen on
  -p PORT, --port PORT   Port to listen on (default: 7077)
  --webui-port PORT      Port for web UI (default: 8080)
  --properties-file FILE Path to a custom Spark properties file.
                         Default is conf/spark-defaults.conf.

AFTER
$ sbin/start-master.sh --help
Usage: ./sbin/start-master.sh [options]

Options:
  -h HOST, --host HOST   Hostname to listen on
  -p PORT, --port PORT   Port to listen on (default: 7077)
  --webui-port PORT      Port for web UI (default: 8080)
  --properties-file FILE Path to a custom Spark properties file.
                         Default is conf/spark-defaults.conf.

Was this patch authored or co-authored using generative AI tooling?
No.

To @mridulm , I saw that these were deprecated by you at 0.8.0-incubating.
It's over 10 years and probably I believe we can let them go from Apache Spark 4.0.0. WDYT?

All tests passed.

Could you review this PR, @panbingkun ?

Could you review this PR when you have some time, @viirya ?

Do we need to remove SPARK_MASTER_IP together? as follows:
https://github.com/apache/spark/blob/d9757b5653b9b221dcd571354435e5be41eb8861/core/src/main/scala/org/apache/spark/deploy/master/MasterArguments.scala#L37-L40

You are right. Thank you for review, @panbingkun . I addressed the comments.

Thank you for reviewing and approval, @yaooqinn .

Merged to master.
Thank you again, @panbingkun and @yaooqinn .

Thank you, Liang-Chi.


24px - terminal

#162
https://www.figma.com/file/2rjsQp42uKvzPXzLZIqOeA/Octicons-v2-Source?node-id=746%3A2274

I think I prefer the left version. @colebemis what do you think?


how to add pinch to zoom like insatgram

I am using Toro videoview in multi list recycle view. we are done to zooming feature on imageview but not toro videoview.
i am trying  https://github.com/imablanco/Zoomy  to zoom image and text..

please tell me more about toro version you are using, and what happen with using that Zoomy? it supports any view I suppose


Avoid pinceau-theme from being included in every page of static site

New to nuxt.
I am using this plugin along with content module.
Every thing works fine, however pinceau-theme styles <style id="pinceau-theme">
is being included in every page of static generated site.
Is there some where to isolate this to a single css file which can be thn included in page, so it doesnt pollute every page
and the css file can be seperately cached by browsers

Hello @snimavat ;
I'm very interested in reading how you would prefer the Pinceau theme sheet to be loaded.
You would prefer that to only be included on the pages where you use typography, right?


Performance of nn.conv1d and keras.layers.Conv1D is low the first time any given input size is processed even if retracing is prevented!

Please make sure that this is an issue related to performance of TensorFlow.
As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:performance_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):

yes

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):

Linux Ubuntu 20.04

TensorFlow installed from (source or binary):

pip

TensorFlow version (use command below):

tested with TF 2.4, 2.6, 2.8

Python version:

3.7

CUDA/cuDNN version:

Cuda Toolkit 11.3.1
CUDNN 8.3.1

GPU model and memory:

Tested with GeForce GTX 1050 Ti  and GeForce GTX 1080 Ti
Describe the current behavior
In both cases using eager mode and using a tf.function with experimental_relax_shapes=True
running tf.nn.conv1d is slow the first time a tensor of any given size is processed and the processing of a new tensor of the same size then becomes 4 times (on GPU 1050 TI) or 10 times (on GPU 1080 Ti) faster the second or further times
.
The observed behavior is a severe problem for running inference with audio signals because audio signals generally have very different sizes and therefore in a production environment the code will run only with 10% of maximum performance (on a GPU 1080 Ti)
for the first few 100k examples until the model has seen sufficiently many lengths to achieve peak performance.
Describe the expected behavior
conv1d processing time should depend on the size of the input vector and not on the number of times the same size has been seen.
Standalone code to reproduce the issue
colab notebook is
here
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem.
 If you run the same notebook again the first run will be fast as well, which indicates the GPU is caching something.
to have the effect again your need to restart the notebook
the behavior is not CUDA imposed because an equivalent PyTorch script runs the first and second pass of the inner loop without speed difference.

I believe to have made some progress using tensorboard profiler. The first time the convolution is run on a given size the profiler displays running all the following kernels

maxwell_scudnn_128x128_relu_small_nn_v1,
implicit_convolve_sgemm,
cudnn::cnn::im2col4d_kernel,
explicit_convolve_sgemm,
fft1d_c2r_256,
maxwell_gcgemm_32x32_nt.

The second time any given size is processed only a single kernel is used. In the present case these are either  maxwell_gcgemm_32x32_nt or maxwell_scudnn_128x128_relu_small_nn_v1. So it appears tensorflow is trying to optimize by means of adaptively selecting the best kernel for each size.
This is problematic notably for inference with audio where size of audio files can vary between 1 second (16000 samples) and 40 seconds (640000 samples) because as mentioned above the software will spend most of the time trying to optimize and will therefore need more than a day before it starts to perform optimally. The question here would be whether this trial stage can be prevented by means of manually preselecting a strategy.

Hi @chunduriv ! Could you please look at this issue? Its replicating in 2.8 and throwing different error in 2.7 and nightly. Thanks!

@roebel ! Did you try the same in distribution training yet?

@mohantym Thanks for your reply. But I wonder why you suggest distribution training? I don't have a problem with training I have a problem with inference. Also for my use cases, I don't have access to multiple GPUs so I cannot use distribution inference - or could I? If these tests would be run in parallel on the same GPU this may help but would also require more memory.

Hi, got a similar problem (running on GTX 1080), using conv1d layers makes my kernel died every time, as my memory GPU is fully saturated even with very low dim input shpaes. I tried tensorflow version 2.5, 2.6, 2.7 and 2.9. I am running on CUDA v11.6 and CudNN v8.4.1 (windows). I could not find any thing to avoid crashing. If anyone has an idea, your very much welcome!

This thread save me : https://stackoverflow.com/questions/72356588/could-not-locate-zlibwapi-dll-please-make-sure-it-is-in-your-library-path

@roebel , Could you try the solution from the above link, also check the solution from the link here https://github.com/tensorflow/tensorflow/issues/56387 which is similar to your issue, which was solved by exporting path.

@sachinprasadhs
I am sorry but the report of @LerysG is completely unrelated to what I describe here.

I don't have crash
I don't have a library missing.

So there is nothing I could reasonably check here.
Similarly, issue 56387 is not related at all.
The problem I describe is an implementation problem in the TensorFlow code.

I think I found the source code that is responsible for the issue: cuda supports a number of convolution kernels that in the current version of TensorFlow 2.9.0 are obtained by means of CudnnSupport::GetConvolveRunners here
https://github.com/tensorflow/tensorflow/blob/21368c687cafdf97fac3dd0eefaed710df0068a2/tensorflow/stream_executor/cuda/cuda_dnn.cc#L4557
Which is then used here in autotune functions
https://github.com/tensorflow/tensorflow/blob/21368c687cafdf97fac3dd0eefaed710df0068a2/tensorflow/core/kernels/conv_ops_gpu.cc#L365
It appears that each time a configuration consisting of data shape, filter shape, and maybe other parameters are encountered the cuda driver tests all of the kernels and retains the most efficient one. This is a very nice optimization for most cases, notably training with constant batch shapes, or inference with constant image sizes. For inference with audio signals the cuda implementation is testing most of the time all kernels versions. It hardly ever benefits, from the information which of the kernels is the most efficient one for any given configuration, as the same configuration is hardly ever encountered a second time.
All this reminds me of fftw3, which also uses such kind of autotuning depending on the FFT size, but there FFT sizes do not change so much, and more over it is possible to store results in form of wisdom.
I think for the present case it would be nice to affect the kernel selection explicitly. I wonder if one cannot define a maximum size above which the selected kernel would no longer be adapted. E.g assuming one would be able to select a maximum adaptation length via env variable TENSORFLOW_CONV_MAXADAPLEN and if the variable is set, one would then always run autotuning with min (shape[i],  TENSORFLOW_CONV_MAXADAPLEN). In that case the current problem could be solved if needed without any negative impact for te cases that have networks working on constant shapes (image processing).

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.

Hello,
thanks for your comment, but this is probably a joke. Since the 2 years that I have opened the issue, and documented the exact location in the source code where the problem is located, I have not received any competent feedback. Now you ask me to open a new issue delivering updated information?

We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue.

I cannot afford to buy the latest hardware to confirm the issue is still an issue.
In any case, the problem is not solved. Here the colab that I had produced above, but  running under TF2.17
https://colab.research.google.com/drive/1X_zJLfVboHfne7y2RC5Dp0P20CiJbopI#scrollTo=M521fw4_sNSA
Still, 3 times slower for every new input size.
I agree colab is not good for measurements.
At the end of this message you find the same test running with the most recent version I use on our cluster (TF2.16.2) - exactly as for TF2.9, for every new input size it is 10 times slower compared to the second time it is run.
The problem is by design, but it appears the use case of constantly changing input sizes is not of central interest for the TF developers. Why should I open a new issue then.


AWS-roles notifications

add email notification when a aws-role added to user
[Friday 4:32 p.m.] Husain, Khurrum CITZ:EX
Subject: New role assigned (AWS)
Hi [Name],
You that you have been assigned a new role as [role name] in our AWS product [product name] by [person who assigned]. Please feel free to reach out if you have any questions or need further information about your new role.
like 1
removed for a user
Subject: Unassigned from a role (AWS)
Hi [Name],
You that you have been unassigned from the role of [role name] in our AWS product [product name] by [person who unassigned]. Please feel free to reach out to [person who unassigned] if you have any questions or need further information about this change.

Clarify with the Public Cloud team if this requirement is still relevant and if they are planning to remove the role's tup from the Public Cloud page.

from Prabhu:
May be You can just put that ticket on hold for now. We are not entirely sure on how the SSO process would look like in the LZA, If this is still relevant when we move to LZA, I guess we can work on that then. I will bring this up in our Standup tomorrow


Nice work

@Eric-Canas Hello, this is excellent work. I understand that you didn't use barcode data during training, which is not very helpful for my current project. My project involves detecting and decoding barcodes, so I was wondering if you could share your training code. I would greatly appreciate it! My email is<EMAIL_ADDRESS>

Hi!!
I don't fully understand what do you understand by training code. For training the YoloV7 model, I directly used the YoloV7 repo. As author explains there, you can train a YoloV7 just by:
python train.py --workers 8 --device 0 --batch-size 32 --data data/coco.yaml --img 640 640 --cfg cfg/training/yolov7.yaml --weights '' --name yolov7 --hyp data/hyp.scratch.p5.yaml

However, yesterday I finished the migration to the Ultralytics YoloV8 which I think is a better option now.
They have a very good documentation where they explain how to train their model in a very few lines of code.
Is that what you need? Or is something different?
You are right, I didn't include any barcode data :(

Thanks! I know how to train YOLOV8 with my data!


Frontend Dev (HTML, CSS, JS): Grid vs Flex

I'll submit documentation on the topic "Grid vs Flex" that explains both topics and will contain the comparison of both CSS properties.

Domain of Contribution 📊

[x] Frontend Dev (HTML, CSS, JS)

/assign


Inquiry about backward compatibility between XRCE Agent and XRCE Client

Hi,
Are there any known compatibility issue between Agent 1.4.2 and Client 1.1.1 ?
I notice that when shifting from Agent 1.1.0 to Agent 1.4.2, one of the topic which my client is subscribing to encountered an error 0x80 (STATUS_ERR_DDS_ERROR). This occurred when trying to create entities using uxr_run_session_until_all_status().

There is no known compatibility issue but this is a new Agent version with and quite an old Client version. You can find the compatible version in the releases of the XRCE-DDS repository: https://github.com/eProsima/Micro-XRCE-DDS/releases.
Is it possible for you to upgrade the Client version to v.1.2.5?

Looking at https://github.com/eProsima/Micro-XRCE-DDS/releases does it mean that Agent 1.4.0 is only guaranteed to work well with Client 1.2.3? Not even Client 1.2.1?
All the topic that my device is subscribing to have similar datareader_xml, with the exception of topic name and topic dataType. Hence, I am not sure why this is happening just for this particular topic.
It is possible to upgrade the Client version to v.1.2.5, but will upgrading definitely solve this issue?

Could you share the code?


vendoring dependencies

the vendored deps appear to be out of date, I'm seeing many errors attempting to build Traefik now.
Does this only build within a docker image now?

Hello @drewwells,
the vendored deps are up to date. 😉 You can build as normal. 😃
Could you give more information about your problem?

I'll close the issue due to inactivity but feel free to re-open if needed.


Electric proxy hangs while creating migrations with Prisma

This is possibly similar to #655, but the LOG_LEVEL seems to have no effect on the behavior. I've tried various versions down to v0.10, rebooted, tried different node versions etc.
Steps to reproduce:

git clone git@github.com:recurser/electric-sql-debugging.git
cd electric-sql-debugging
yarn install

Run the sync service:

make electric-proxy

In another tab:

make prisma-migrate-dev - this very occasionally works, but sometimes hangs
make prisma-migrate-dev - on subsequent runs, it seems to hang on Starting migration engine RPC server.

The prisma debug log gets to SENDING RPC CALL... and seems to hang, migrating nothing.
terminal screencast

Just wanted to say - this is a super well put together bug report, IMO. Thank you for setting a great example!

It looks likeElectric SQL hangs while creating the _prisma_migrations table. If you create that table first by hand, everything else works as expected.
CREATE TABLE public._prisma_migrations (
    id character varying(36) NOT NULL,
    checksum character varying(64) NOT NULL,
    finished_at timestamp with time zone,
    migration_name character varying(255) NOT NULL,
    logs text,
    rolled_back_at timestamp with time zone,
    started_at timestamp with time zone DEFAULT now() NOT NULL,
    applied_steps_count integer DEFAULT 0 NOT NULL
);

ALTER TABLE ONLY public._prisma_migrations
    ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id);

Closing this...

I am actually getting this issue even when I have created the schema manually
prisma:schemaEngine:stderr {"timestamp":"2024-06-29T08:45:01.826329Z","level":"ERROR","fields":{"message":"Error
in PostgreSQL connection: Error { kind: Db, cause: Some(DbError { severity: \"FATAL\", parsed_severity: None, code:
SqlState(E57P01), message: \"terminating connection due to administrator command\", detail: None, hint: None, position:
None, where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file:
Some(\"postgres.c\"), line: Some(3206), routine: Some(\"ProcessInterrupts\") }) }"},"target":"quaint::connector::postgres::native"} +15936ms


Datatable - allow header row theming, including such as custom color

At the moment, it is not possible to configure color for a DataTable header row....
https://github.com/flutter/flutter/issues/21864

Use case

Proposal

Thanks for your suggestion, this will be possible after https://github.com/flutter/flutter/issues/56079 is done. I'll close this issue for now.


Windows command prompts pop up when executing pypandoc function calls in IPython console

Description
What steps will reproduce the problem?
In IPython console execute the following commands:

import pypandoc
pypandoc.convert_text('hello', format='markdown', to='html')

Windows command prompts pop up and disappear again (stealing the focus every time, making it impossible to work while a script using pypandoc runs in spyder).
What is the expected output? What do you see instead?
pypandoc.convert_text() should execute without command prompts popping up.
Please provide any additional information below
These commands execute in an external python console and an external IPython console as expected without displaying additional windows.
Spyder was installed as part of Anaconda. pypandoc 1.4 was installed from conda-forge, yielding pandoc <IP_ADDRESS> in conda list.
Version and main components

Spyder Version: 3.2.0
Python Version: 3.6.1
Qt Versions: 5.6.2, PyQt5 5.6 on Windows

Dependencies
pyflakes >=0.6.0 :  1.5.0 (OK)
pycodestyle >=2.3:  2.3.1 (OK)
pygments >=2.0   :  2.2.0 (OK)
pandas >=0.13.1  :  0.20.1 (OK)
numpy >=1.7      :  1.12.1 (OK)
sphinx >=0.6.6   :  1.5.6 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
jedi >=0.9.0     :  0.10.2 (OK)
nbconvert >=4.0  :  5.1.1 (OK)
sympy >=0.7.3    :  1.0 (OK)
cython >=0.21    :  0.25.2 (OK)
qtconsole >=4.2.0:  4.3.0 (OK)
IPython >=4.0    :  5.3.0 (OK)
pylint >=0.25    :  1.6.4 (OK)

@andfoy, please take a look at this one. I think we can redefine subprocess.Popen in our sitecustomize, so that all calls to subprocess include these flags, which prevent cmd windows to appear.

@ccordoba12 How do I include that modifications on sitecustomize?

I forgot about it, but this is a duplicate of issue #3529.


Refactor project

Features

Use parcel to build project instead of create-react-app

improve project build speed
remove heavy package node-sass
support TypeScript (and many assert types, see https://parceljs.org/assets.html)

Enable eslint, force code style. So please check yarn lint if any errors before a push
Improve develop experience, serve static course-plus-data, see course-plus/server.js
GitHub Actions support

Usage
yarn install
yarn lint
yarn lint:fix
yarn start
yarn build

/cc @skyzh @PhotonQuantum

Awesome!


Egg RNG Pulling 0

Hello,
I'm trying to get egg rng working for crystal and i'm running into an issue where the script is pulling 0s for the next egg stat.
https://media.discordapp.net/attachments/297211485921345536/410585014187851786/Screen_Shot_2018-02-06_at_18.57.05.png
I've tried to use the daycare viewer to capture the moment when the next egg is set and i'm on that dialog but still encountering this. Is it something i need to modify? Thanks.

The delay needs some work.
Right here :

I set it to 150 and was able to do EVERY pokemon with that delay.

Thanks for your response. I was actually just logging on to comment that I modified that line to 1, 130 and was able to get that to work but this is good information to have.


Running Information is not accessible on the Java API

For the operator will be nice to have metrics and information inside the java code to create custom metrics. For instance, how many custom resources a reconciler or the complete operator manages.
The scenario could be extended depending on the status. For instance, if there are CR's that are on a failing or error status, even though this is a bit business specific.
When an operator is running, a probable scenario is to handle more than one Custom Resource of the same type, which becomes an intriguing metric to know on a multinamespace setting of a large cluster.
i.e. for the web page example, https://github.com/java-operator-sdk/java-operator-sdk/blob/main/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/customresource/WebPage.java there could be many webpages on different namespaces, and how many of them are running correctly(have all the dependencies complete).

I think it should be possible to determine the information you want using the default metrics implementation by querying / filtering the produced metrics in your metrics aggregator of choice, no?

Thanks @csviri the fact remains that there is no API access from Java to this information, the metrics is a good example but not the only use case.

@hurtadosanti  what are other use cases?


double-beep: Blacklist ufa007.co

double-beep requests the blacklist of the website ufa007\.co. See the MS search here and the Stack Exchange search here.

ufa007\.co has been seen in 8 true positives, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Fix invalid formated documentation

Remove some warnings on build

@confluentinc It looks like @treziac just signed our Contributor License Agreement. :+1:
Always at your service,
clabot

LGTM


Using red wire for power.md

"The input capacitor of the voltage regulator module (usually rated 100uF) will be replaced with a 1000uF Low-ESR capacitor." Why would you put buffer cap on high voltage side? It is shorted by bus driver anyway (or is it protected by a diode?). Should you put it on 5V side and use 5v to 3.3v on board regulator for driving board? Sorry, I just ordered my stuff. It will take a few weeks till it arrives.

It doesn't really matter now anyway as the voltage regulator and ESP can't be powered by the GDO's red wire.  I'm parking this for now.

Issue closed as prototype of power supply using red wire current parked due to current draw too high.

@Kaldek Do you think it may work for Genie using the obstruction sensor wire that has ~12V?

@Kaldek Do you think it may work for Genie using the obstruction sensor wire that has ~12V?

If you can find a voltage source that can take the current, absolutely.

I mean the existing sensors that are already installed and wired. They have 12V on them, but I'm not sure what extra current their power source can provide. I'm afraid to damage the Genie by trying to pull too much current for ESP32 via the buck converter.

I gave it a try and it didn't work. Even 0.3A current is too much for the obstruction sensor, and its light goes off when I plug my test board.
The worst part is that even a voltage divider needed to read the pulses from the sensor with ESP32 seems to affect the sensor (its indicator LED becomes dimmer).
Maybe an optocoupler will work better?

I gave it a try and it didn't work. Even 0.3A current is too much for the obstruction sensor, and its light goes off when I plug my test board.

Yeah it's a bit of a bummer, but I suppose there's no real issue with using external power via USB.  It's mainly going to be an issue for development of a raw board using an ESP-12F for example.  Arguably any design which removes the USB interface is a bit of a pain though because reflashing the chip becomes annoying unless the reflash can be done OTA (which it generally can), and the initial flash before building using an ESP flashing cradle is also more work than just connecting a D1 Mini board to USB.

I plan on opening up my GDO and tapping 3.3v from the board.

Has anyone tried putting a large capacitor on the input to see if smoothing the power consumption allows the esp to be powered?

Has anyone tried putting a large capacitor on the input to see if smoothing the power consumption allows the esp to be powered?

It's just too much current.  A capacitor won't help unfortunately.

That's really surprising considering we are stepping down from 12v. How is it using that much current?

The ESP8266 pulls between 0.11 and 0.2 amps of current.  I suspect the WiFi is what pulls the most, but the point is basically moot; as soon as the ESP8266 tries to power up the voltage collapses.


Popup - change icon image

Is your feature request related to a problem? Please describe.
Change image/icon for popup.
Describe the solution you'd like
Change icon.
Describe alternatives you've considered
Maybe use awesome font info with imageURL rather than type = info.

Additional context
Code is in the server.R file and is implemented with shinyalert, type = "info".  Should be able to use a custom image.  Maybe from

looks good

looks good


[Identity] update recordings for msal-common and msal-node updates

With the recent upgrades to msal node (2.15 to 2.16) and msal common (14.15 to 14.16), the request uri used by msal has now been updated to include the client-request-id as a query parameter in the request uri. I have manually updated recordings of the tests to reflect the change, in order to fix the breaking recorded tests after upgrading dependecy on msal.
Unable to re-record the tests to auto-generate the recordings, due to tenant restrictions, hence manually updated the recordings.
Also unpinning the msal dependency that were pinned in this PR - https://github.com/Azure/azure-sdk-for-js/pull/31819/

Seems some tests still failing and may need updates too

Seems like my git push had got messed up @jeremymeng Hopefully it's fixed now. Feel free to review again.

/azp run js - core - ci


South kurzan

I took the liberty to add South Kurzan infos for Lost Merchants.
A few caveats:

I don't know my way around c# so I only updated the config file, I could not test it live
I used infos from Maxroll and what I found myself in-game
Thus I'm not sure about Narkiel Epic status
I'm not 100% sure of the in-game names and Epic status of Simple Purifier, Military Supply Purifier, Copper Ring and Tiara Made of Stems
I infer the merchant spawn time from Pleccia merchant since they're both currently up and there's only 1 merchant in those 2 regions

Simple Purifier and Copper Ring poppep up on my server so I fixed their status (now Rare)

Merchant appeared again alongside Pleccia merchant so I'm now quite sure the spawn times I entered are correct

Looks good, I'll probably merge after work.
I may remove the misc items for now, usually I don't put every item in there, just the important/rare ones. Most items people don't care too much about so I don't really want to force someone to check all the boxes every time.


URI for mongoDBStore uses only 'test' db

var store = new MongoDBStore(
      {
        uri: 'mongodb://localhost:27017/sessions',
        collection: 'mySessions'
      });

I have the above configuration, it must use 'sessions' db but it uses only 'test' db.

var store = new MongoDBStore({uri: 'mongodb://localhost:27017/<db>', databaseName: '<db>', collection: 'sessions'});
You gotta give your db name at two places for it to work.

Same issue here and I don't want to duplicate config parameters.

Having the same issue.

The new mongoDB driver requires specifying the DB name, you can likely remove the DB name from the uri property that you are passing into the store if you want to avoid duplication. I didn't want to make it parse the uri property and handle the new format behind the since in cause other options are ever passed in via the uri property.

@iPipelineMK I don't think that's totally correct. If I understand the documentation correctly, the database option is required only if database name is not specified in the connection string.
I confirmed that the library still works as expected if I delete database option from the configuration but provide it in database URI.
https://github.com/mongodb-js/connect-mongodb-session/blob/master/index.js#L19
This change is breaking a lots of software which relies on infrastructure providers supplying connection URI as environment variable. The library would still work as of today even if we remove database name config option.
IMO, even if we want to make this change, it should be thought through in details.
//cc @vkarpov15

As a workaround for now, I am using this poor man's parsing function (not tested enough to be used in production).
export const extractDatabaseName = uri => uri.split('/')[3].split('?')[0];

with test
  it('should extract database name from the connection URI', () => {
    const connectionURI = 'mongodb://username:password@hostName:13509/database-name?replicaSet=rs-1234';

    const databaseName = extractDatabaseName(connectionURI);
    expect(databaseName).toBe('database-name');
  });

This only affects 2.0.0, and is because the new 3.0.0 release of the mongodb driver gives you a client rather than an individual database handle. In hindsight, this change is exceedingly inconvenient, so we'll add a workaround in 2.0.1.

As a workaround, specify databaseName in the options object.

2.0.1 released with the fix :+1:

Thanks!

Thank you! :)

@vkarpov15 not sure if this helps you or not, but in the v3.0.4 release we added this feature, which allows you to do something like this:
MongoClient.connect('mongodb://localhost/mydb', (err, client) => {
  client.db().collection('foo').insertOne()....
});

and it will automatically use the db you provided in your connection string.
Also, as you can see from the commit itself, the database name is not lost but instead stored in an accessible internal variable client.s.options.dbName.
HTH!

Thanks @mbroadst, that syntax is extremely helpful, I adapted our code to use it in 02fd1a4. Will have to port it to mongoose too so mongoose doesn't have to parse the uri twice

@vkarpov15 It seems that your fix is not published in v2.0.1.
https://github.com/mongodb-js/connect-mongodb-session/commits/2.0.1
Could you please release a new version with this commit ?

@vkarpov15 the fix in b609830 (v2.0.1) doesn't work for replica sets -- note the bad value for path:
> url.parse("mongodb://server-1,server-2/dbname?replicaSet=rs0")
Url {
  protocol: 'mongodb:',
  slashes: true,
  auth: null,
  host: 'server-1',
  port: null,
  hostname: 'server-1',
  hash: null,
  search: '?replicaSet=rs0',
  query: 'replicaSet=rs0',
  pathname: '/,server-2/reactive',
  path: '/,server-2/dbname?replicaSet=rs0',
  href: 'mongodb://server-1/,server-2/dbname?replicaSet=rs0' }

Sorry for the noise, but +1 for publishing a new release so that RS works, please!

Thanks for the heads up @zbjornson , I wasn't aware that this was broken for replica sets. I just published 2.0.2 with this fix :+1:

Thank you! :)