text:
Support for container and TTL nodes

Description
Enables creating container nodes and TTL nodes
Motivation and Context
Fixes #210
How Has This Been Tested?

For both cases, it can take anywhere between 20 seconds and way more before Zookeeper actually cleans up the nodes

For container nodes
const Zookeeper = require('zookeeper');

const zkClient = new Zookeeper({
	connect: 'localhost:2181',
	timeout: 5000,
	debug_level: Zookeeper.ZOO_LOG_LEVEL_WARN,
	host_order_deterministic: false,
});

zkClient.on('connect', async () => {
	const nodeName = `/containerTest-${('' + Math.random()).split('.')[1]}`;
	await zkClient.create(`${nodeName}`, null, Zookeeper.ZOO_CONTAINER).catch((e) => console.log('create failed', e));
	await zkClient.create(`${nodeName}/child`).catch(console.log);
	await zkClient.delete_(`${nodeName}/child`).catch(console.log);
	const start = Date.now();
	while (true) {
		await new Promise(r => setTimeout(r, 1000));
		try {
			await zkClient.exists(nodeName);
			console.log(`it still exists after ${Date.now() - start}`);
		} catch(e) {
			console.log(`it was deleted after ${Date.now() - start}`, e);
			break;
		};
	}
	zkClient.close();
});

zkClient.init();

For TTL nodes:
const Zookeeper = require('zookeeper');

const zkClient = new Zookeeper({
	connect: 'localhost:2181',
	timeout: 5000,
	debug_level: Zookeeper.ZOO_LOG_LEVEL_WARN,
	host_order_deterministic: false,
});

zkClient.on('connect', async () => {
	const nodeName = `/ttlTest-${('' + Math.random()).split('.')[1]}`;
	console.log('nodeName: ' + nodeName);
	await zkClient.create(`${nodeName}`, '', Zookeeper.ZOO_PERSISTENT_WITH_TTL, 1000).catch((e) => console.log('create failed', e));
	const start = Date.now();
	while (true) {
		await new Promise(r => setTimeout(r, 1000));
		try {
			await zkClient.exists(nodeName);
			console.log(`it still exists after ${Date.now() - start}`);
		} catch(e) {
			console.log(`it was deleted after ${Date.now() - start}`, e);
			break;
		};
	}
	zkClient.close();
});

zkClient.init();

Types of changes

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

Checklist:

[X] I have read the code of conduct.
[X] I have read the contributing guide.
[x] I have updated the documentation accordingly (if applicable).

Very cool!
I'll have a look within a couple of days, not more than a week.

One thing that I just thought of is Windows support. Currently there is a (undocumented) workaround for Windows clients: because of not yet solved issues in the official C client, the version built on windows is 3.4.14 (some background can be found in the changelog).
What I'm thinking about is that it maybe is necessary to handle that, by some "if windows" clause, or if it is possible to determine the current client version running, and branch out with if/else?

AH, yeah. Can you tell me what #ifdef to use? Then I'll put that in. Unfortunately I don't have Windows available to test on though.
I suppose we'd #else define the constants as -1 (or something) then, so we can throw if people try to use them in a Windows environment.

Does the exception also apply to cygwin?

Hello again @dreusel!
I'm sorry for the delay. I think I need more time to test, review this PR and give feedback. Hope that is ok!

That's okay 👍

Hi @dreusel!
Your pull request inspired me to try and fix the Windows issue with using an outdated ZooKeeper Client version. And I think I've succeeded 😄
Now, all platforms will use v.3.5.8 of the C client code and there is no longer any need to handle Windows separately for the Container and TTL features.
This means that your Pull Request need some updates.
But don't worry about the prebuilds, I think it is totally fine to just delete them. I will build new ones in a separate release build.
I will also have a look at the changes in your PR and share some feedback.
If you are on vacay - no worries! Come back to this PR when you have an opportunity, there is no hurry from my point of view.

Hi again @dreusel!
Do you want to continue with this PR?
/David

Hi again @dreusel!
Do you want to continue with this PR?
/David

Hey there @DavidVujic , sorry, I was planning to continue on it but I didn't find the time.

Hey there @DavidVujic , sorry, I was planning to continue on it but I didn't find the time.

I've also removed the win32 workarounds, but I dont have time to actually test it.

I've also removed the win32 workarounds, but I dont have time to actually test it.

Great @dreusel, thank you!
I'm planning to review and test this within a couple of days and want to release a new version next week. I will also will have a closer look and take your good suggestions about the API in consideration. Thank you for doing this!

Great @dreusel, thank you!
I'm planning to review and test this within a couple of days and want to release a new version next week. I will also will have a closer look and take your good suggestions about the API in consideration. Thank you for doing this!

@dreusel I'm going to create a new feature branch and add your changes to it, together with updates to the prebuilds, readme and the feedback in this PR.
I'll squash and rebase the commits before merging, and will make sure your name will be in the commits (both our names will be there as "co-authored by").
I will reference the new PR to this one too, so we can keep track of the history and conversations.

@dreusel I'm going to create a new feature branch and add your changes to it, together with updates to the prebuilds, readme and the feedback in this PR.
I'll squash and rebase the commits before merging, and will make sure your name will be in the commits (both our names will be there as "co-authored by").
I will reference the new PR to this one too, so we can keep track of the history and conversations.

Sounds good @DavidVujic! Let me know if there's anything specific you want my help with

Sounds good @DavidVujic! Let me know if there's anything specific you want my help with

Closing this one. Thank you for adding this feature! I think this package is the only one out there with TTL and Container support for Node.js. Great work @dreusel!
Merged with co-authored: https://github.com/yfinkelstein/node-zookeeper/commit/b625f40ee96d7bb9940b6f96ae7eda50985ca381

Closing this one. Thank you for adding this feature! I think this package is the only one out there with TTL and Container support for Node.js. Great work @dreusel!
Merged with co-authored: https://github.com/yfinkelstein/node-zookeeper/commit/b625f40ee96d7bb9940b6f96ae7eda50985ca381

authors: DavidVujic dreusel

repo: yfinkelstein/node-zookeeper


text:
Coffee and gulp

Hey guys, any thougth about a PR with gulp instead grunt and add coffee script?

Closing because no response.

source: gharchive/issue

authors: alexrqs yfr

repo: yfr/generator-jade

license: mit

license_type: permissive

license_source: bigquery


text:
incomprehensible issue

Goodmorning,
I run longqc with ONT data with the following command :
srun longQC.py sampleqc -x ont-rapid -s ${sample} -p 30 -o ${folder_sampleqc}/${sample}_500X_rapid ${long_read}
and some of my samples succeeded but some other seemed to crash and I don't understand why (the issue is uncomprehensible for me, I'm biologist...-> see below for the issue)
I've questioned the cluster manager @lecorguille and he thinks it's rather a tool dependant issue than an installation one.
Could you help us to resolve it ?
thans a lot
regards
Chloé
lq_coverage:2021-03-16 18:57:46,714:374:INFO:Coordinates of coverage analysis were parsed.
Traceback (most recent call last):
File "/opt/LongQC/longQC.py", line 933, in
main(args)
File "/opt/LongQC/longQC.py", line 63, in main
args.handler(args)
File "/opt/LongQC/longQC.py", line 598, in command_sample
lc.plot_length_vs_coverage(fig_path_cl)
File "/opt/LongQC/lq_coverage.py", line 461, in plot_length_vs_coverage
self.__check_outlier_coverage(interval)
File "/opt/LongQC/lq_coverage.py", line 482, in __check_outlier_coverage
meds = stats['median'][np.where(stats['size']>=LqCoverage.LENGTH_BIN_THRESHOLD)[0]]
File "/opt/conda/lib/python3.8/site-packages/pandas/core/series.py", line 908, in getitem
return self._get_with(key)
File "/opt/conda/lib/python3.8/site-packages/pandas/core/series.py", line 943, in _get_with
return self.loc[key]
File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 879, in getitem
return self._getitem_axis(maybe_callable, axis=axis)
File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 1099, in _getitem_axis
return self._getitem_iterable(key, axis=axis)
File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 1037, in _getitem_iterable
keyarr, indexer = self._get_listlike_indexer(key, axis, raise_missing=False)
File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 1254, in _get_listlike_indexer
self._validate_read_indexer(keyarr, indexer, axis, raise_missing=raise_missing)
File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 1315, in _validate_read_indexer
raise KeyError(
KeyError: "Passing list-likes to .loc or [] with any missing labels is no longer supported. The following labels were missing: Int64Index([2, 3], dtype='int64', name='Binned read length'). See https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike"
srun: error: cpu-node-18: task 0: Exited with exit code 1

Hello @ChloeAmbroset,
Thank you for your interest in LongQC.
As you can run the tool for some datasets, some unexpected output could be generated by some of your datasets.
If it is possible, could you please share 2 files (coverage_err.txt and coverage_out.txt) for a dataset faced this issue?
They should be located in a folder ${folder_sampleqc}/${sample}_500X_rapid/analysis/minimap2/.
I would be able to spot the issue from these files.
For now, I think lengths of reads may have caused this issue (either much shorter/longer than our expectations).
Technically these files should not contain sensitive information, but you can edit (sample name, path, etc.) when you need.
Yoshinori

Hello Yoshinori,
Thank's a lot for your reply. As request, I share you the following files :
coverage_err_Mbv-L15762C1.txt
coverage_out_Mbv-L15762C1.txt
hope you will be abble to read it. otherwize I'll copy-paste them again.
Thank's a lot in advance
Best regards
Chloé

Hello @ChloeAmbroset,
Thank you for sharing the files. They're very helpful.
Let me check at my side.
In the meantime, updating the codes by cluster manager (@lecorguille) might resolve the issue as the output should come from a bit older version (<version 1.2).
Will update once I pinpoint the issue. thanks.
Best,
Yoshinori

Hello @ChloeAmbroset,
Thank you for your patience and sharing.
I pushed revised codes, and could you please ask upgrading LongQC?
Version 1.2.0b should be able to handle your datasets faced some issues.
$python longQC.py --version
The command should return "LongQC 1.2.0b".
Yoshinori

Hi @yfukasawa , can you tag the 1.2.0b version.
We provide longqc as a Singularity image that pull this github repository
Thanks!

Hi @lecorguille,
Sure, I just added 1.2.0b in release. Could you please check it?

We provide longqc as a Singularity image that pull this github repository
that's cool. never tested on Singularity, but our cluster also uses it. it's good to know, thanks!

Y.

Hi @yfukasawa ,
@lecorguille installed and updated the new version of longqc/1.2 and longqc crashed again ...
I had this error message after this following command:
srun longQC.py sampleqc -x ont-rapid -s ${sample} -p 30 -o ${folder_sampleqc}/${sample}_rawreads-rapid ${long_read}
Traceback (most recent call last):
File "/opt/LongQC/longQC.py", line 957, in
main(args)
File "/opt/LongQC/longQC.py", line 63, in main
args.handler(args)
File "/opt/LongQC/longQC.py", line 370, in command_sample
df_mask = pd.read_table(lm.get_outfile_path(), sep='\t', header=None)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 689, in read_table
return _read(filepath_or_buffer, kwds)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 462, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 819, in init
self._engine = self._make_engine(self.engine)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 1050, in _make_engine
return mapping[engine](self.f, **self.options) # type: ignore[call-arg]
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 1898, in init
self._reader = parsers.TextReader(self.handles.handle, **kwds)
File "pandas/_libs/parsers.pyx", line 521, in pandas._libs.parsers.TextReader.cinit
pandas.errors.EmptyDataError: No columns to parse from file
srun: error: cpu-node-39: task 0: Exited with exit code 1
thanks again for your help
Chloé

Hi @ChloeAmbroset,
Thank you for letting me know.
The error looks unrelated to the issue revised recently, unfortunately, so let me ask a below question to trouble shoot.

do you get some errors when you execute below? (from the command, I understood LongQC was installed under /opt)
/opt/LongQC/minimap2-coverage/sdust

the expected message is below:

Usage: sdust [-w 64] [-t 20] <in.fa>.

If you don't get the above message, a program 'sdust' may haven't run in your environment due to some reasons.
This may not be the case, but let me check this point first.
Yoshinori

Indeed, my bad!
I had a misspelling in the minimap2-coverage path (minimap2_coverage).

authors: ChloeAmbroset lecorguille yfukasawa

repo: yfukasawa/LongQC

license: MIT

license_source: github-api


text:
it is a good example but...

if it is a maven project , is is better more.do you wanna create a new one ?

@leavegee Gradle and Maven are both build tools, and the Gradle syntax is more concise, so I'm not going to create a new project

authors: leavegee yidongnan

repo: yidongnan/spring-cloud-netflix-example


text:
fix: hang after running for a long time (#282)

the session.get process without a timeout in poll_latest_ask task may hang.
add a time out of 15sec in total.
no hang found for 24 hour run.

@huwei901108
can you add some info in the content that fix: # issue_number
and then fix the ci lint

OK.
I have changed the commit info. As well as check and reformat my code.

@huwei901108
pip install -U black
black .

source: gharchive/pull-request


text:
Can't install Yii2 RBAC Extension

I'm trying to install RBAC Extension on yii2 advanced template but it throws error. How to I install RBAC?
$ ls
composer.phar   yii
$ which composer
/usr/local/bin/composer
$ composer global require --prefer-dist yii2mod/yii2-rbac "*"
Changed current directory to /Users/imac/.composer ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.
Problem 1 - yii2mod/yii2-rbac 1.0 requires yiisoft/yii2-jui * -> satisfiable by yiisoft/yii2-jui[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7].
....
Installation request for yii2mod/yii2-rbac * -> satisfiable by yii2mod/yii2-rbac[1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.9.1, 1.9.2, 1.9.3, 2.0, 2.1, 2.2, 2.2.1, 2.3].
Potential causes: - A typo in the package name - The package is not available in a stable-enough version according to your minimum-stability setting see https://getcomposer.org/doc/04-schema.md#minimum-stability for more details. - It's a private package and you forgot to add a custom repository to find it
Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.
Installation failed, deleting ./composer.json.

I'm trying to install RBAC Extension on yii2 advanced template but it throws error. How to I install RBAC?
$ ls
composer.phar yii
$ which composer
/usr/local/bin/composer
$ composer global require --prefer-dist yii2mod/yii2-rbac "*"
Changed current directory to /Users/imac/.composer ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.
Problem 1 - yii2mod/yii2-rbac 1.0 requires yiisoft/yii2-jui * -> satisfiable by yiisoft/yii2-jui[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7].
....
Installation request for yii2mod/yii2-rbac * -> satisfiable by yii2mod/yii2-rbac[1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.9.1, 1.9.2, 1.9.3, 2.0, 2.1, 2.2, 2.2.1, 2.3].
Potential causes: - A typo in the package name - The package is not available in a stable-enough version according to your minimum-stability setting see https://getcomposer.org/doc/04-schema.md#minimum-stability for more details. - It's a private package and you forgot to add a custom repository to find it
Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.
Installation failed, deleting ./composer.json.

try to updated fxp/composer-asset-plugin to latest version and try again.

authors: aksthelion gredek


text:
Fixed InvalidArgumentException in TokenRepository::getClaims()

JWSSerializerManager which is used in TokenRepository throws invalid argument exception and it is not handled by Authentication::$failureHandler class.

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
none

Thanks!

authors: samdark strorch

repo: yiisoft/auth-jwt


text:
Long schema scan query on row insert

What steps will reproduce the problem?
Insert row
/** @var \Yiisoft\Db\Connection\ConnectionInterface $db */
$db
                ->createCommand()
                ->insertWithReturningPks('my.my_table_name', [
                    ...
                ]);

What is the expected result?
Row inserted
What do you get instead?
Row inserted, but
A long additional query is performed to scan the database schema - from 60 to 80 seconds.
Additional info
Slow query:
SELECT d.nspname AS table_schema, c.relname AS table_name, a.attname AS column_name,
    COALESCE(td.typname, tb.typname, t.typname) AS data_type, COALESCE(td.typtype, tb.typtype, t.typtype) AS type_type,
    (SELECT nspname
     FROM pg_namespace
     WHERE oid = COALESCE(td.typnamespace, tb.typnamespace, t.typnamespace)) AS type_scheme,
    a.attlen AS character_maximum_length, pg_catalog.col_description(c.oid, a.attnum) AS column_comment,
    information_schema._pg_truetypmod(a, t) AS modifier, NOT (a.attnotnull OR t.typnotnull) AS is_nullable,
    COALESCE(t.typdefault, pg_get_expr(ad.adbin, ad.adrelid)) AS column_default,
        COALESCE(pg_get_expr(ad.adbin, ad.adrelid) ~ 'nextval', false) OR a.attidentity != '' AS is_autoinc,
    pg_get_serial_sequence(quote_ident(d.nspname) || '.' || quote_ident(c.relname), a.attname) AS sequence_name,
    CASE WHEN COALESCE(td.typtype, tb.typtype, t.typtype) = 'e'::char
             THEN array_to_string((SELECT array_agg(enumlabel)
                                   FROM pg_enum
                                   WHERE enumtypid = COALESCE(td.oid, tb.oid, a.atttypid))::varchar[], ',')
         ELSE NULL END AS enum_values,
    information_schema._pg_numeric_precision(COALESCE(td.oid, tb.oid, a.atttypid),
                                             information_schema._pg_truetypmod(a, t)) AS numeric_precision,
    information_schema._pg_numeric_scale(COALESCE(td.oid, tb.oid, a.atttypid),
                                         information_schema._pg_truetypmod(a, t)) AS numeric_scale,
    information_schema._pg_char_max_length(COALESCE(td.oid, tb.oid, a.atttypid),
                                           information_schema._pg_truetypmod(a, t)) AS size,
    ct.oid IS NOT NULL AS is_pkey,
    COALESCE(NULLIF(a.attndims, 0), NULLIF(t.typndims, 0), (t.typcategory = 'A')::int) AS dimension
FROM pg_class c
         LEFT JOIN pg_attribute a ON a.attrelid = c.oid
         LEFT JOIN pg_attrdef ad ON a.attrelid = ad.adrelid AND a.attnum = ad.adnum
         LEFT JOIN pg_type t ON a.atttypid = t.oid
         LEFT JOIN pg_type tb ON (a.attndims > 0 OR t.typcategory = 'A') AND t.typelem > 0 AND t.typelem = tb.oid OR
                                 t.typbasetype > 0 AND t.typbasetype = tb.oid
         LEFT JOIN pg_type td ON t.typndims > 0 AND t.typbasetype > 0 AND tb.typelem = td.oid
         LEFT JOIN pg_namespace d ON d.oid = c.relnamespace
         LEFT JOIN pg_rewrite rw ON c.relkind = 'v' AND rw.ev_class = c.oid AND rw.rulename = '_RETURN'
         LEFT JOIN pg_constraint ct ON ct.conrelid = c.oid AND ct.contype = 'p' AND a.attnum = ANY (ct.conkey) OR
                                       rw.ev_action IS NOT NULL AND ct.contype = 'p' AND
                                       (ARRAY(SELECT regexp_matches(rw.ev_action,
                                                                    '{TARGETENTRY .*? :resorigtbl (\d+) :resorigcol (\d+) ',
                                                                    'g')))[a.attnum : a.attnum] <@
                                       (ct.conrelid::text || ct.conkey::text[])
WHERE a.attnum > 0 AND t.typname != '' AND NOT a.attisdropped AND c.relname = 'my_table_name' AND d.nspname = 'my'
ORDER BY a.attnum;

Q
A

Version
1.3.0

PHP version
8.1.29

Operating system
CentOS Linux 7

@tQuant Could you try this PR

https://github.com/yiisoft/db-pgsql/pull/378

Also plan to make type casting optional in DB 2.0.

Can you please give me a result query? I will run it in DB, to check performance?

SELECT
            a.attname AS column_name,
            COALESCE(td.typname, tb.typname, t.typname) AS data_type,
            COALESCE(td.typtype, tb.typtype, t.typtype) AS type_type,
            (SELECT nspname FROM pg_namespace WHERE oid = COALESCE(td.typnamespace, tb.typnamespace, t.typnamespace)) AS type_scheme,
            a.attlen AS character_maximum_length,
            pg_catalog.col_description(c.oid, a.attnum) AS column_comment,
            NOT (a.attnotnull OR t.typnotnull) AS is_nullable,
            COALESCE(t.typdefault, pg_get_expr(ad.adbin, ad.adrelid)) AS column_default,
            COALESCE(pg_get_expr(ad.adbin, ad.adrelid) ~ 'nextval', false) OR a.attidentity != '' AS is_autoinc,
            pg_get_serial_sequence(quote_ident(d.nspname) || '.' || quote_ident(c.relname), a.attname)
            AS sequence_name,
            CASE WHEN COALESCE(td.typtype, tb.typtype, t.typtype) = 'e'::char
                THEN array_to_string(
                    (
                        SELECT array_agg(enumlabel)
                        FROM pg_enum
                        WHERE enumtypid = COALESCE(td.oid, tb.oid, a.atttypid)
                    )::varchar[],
                ',')
                ELSE NULL
            END AS enum_values,
            COALESCE(
                information_schema._pg_char_max_length(
                    COALESCE(td.oid, tb.oid, a.atttypid),
                    a.atttypmod
                ),
                information_schema._pg_datetime_precision(
                    COALESCE(td.oid, tb.oid, a.atttypid),
                    a.atttypmod
                ),
                CASE a.atttypmod
                    WHEN -1 THEN null
                    ELSE ((a.atttypmod - 4) >> 16) & 65535
                END
            ) AS size,
            information_schema._pg_numeric_scale(
                COALESCE(td.oid, tb.oid, a.atttypid),
                a.atttypmod
            ) AS scale,
            ct.contype,
            COALESCE(NULLIF(a.attndims, 0), NULLIF(t.typndims, 0), (t.typcategory='A')::int) AS dimension
        FROM
            pg_class c
            LEFT JOIN pg_attribute a ON a.attrelid = c.oid
            LEFT JOIN pg_attrdef ad ON a.attrelid = ad.adrelid AND a.attnum = ad.adnum
            LEFT JOIN pg_type t ON a.atttypid = t.oid
            LEFT JOIN pg_type tb ON (a.attndims > 0 OR t.typcategory='A') AND t.typelem > 0 AND t.typelem = tb.oid
                OR t.typbasetype > 0 AND t.typbasetype = tb.oid
            LEFT JOIN pg_type td ON t.typndims > 0 AND t.typbasetype > 0 AND tb.typelem = td.oid
            LEFT JOIN pg_namespace d ON d.oid = c.relnamespace
            LEFT JOIN pg_rewrite rw ON c.relkind = 'v' AND rw.ev_class = c.oid AND rw.rulename = '_RETURN'
            LEFT JOIN pg_constraint ct ON (ct.contype = 'p' OR ct.contype = 'u' AND cardinality(ct.conkey) = 1)
                AND (
                    ct.conrelid = c.oid AND a.attnum = ANY (ct.conkey)
                    OR rw.ev_action IS NOT NULL
                    AND strpos(rw.ev_action, ':resorigtbl ' || ct.conrelid || ' ') > 0
                    AND regexp_like(
                        rw.ev_action,
                        ' :resno ' || a.attnum || ' :resname \S+ :ressortgroupref \d+ :resorigtbl '
                        || ct.conrelid || ' :resorigcol (?:'
                        || replace(substr(ct.conkey::text, 2, length(ct.conkey::text) - 2), ',', '|') || ') '
                    )
                )
        WHERE
            a.attnum > 0 AND t.typname != '' AND NOT a.attisdropped
            AND c.relname = 'my_table_name'
            AND d.nspname = 'my'
        ORDER BY
            a.attnum;

"[42883] ERROR: function regexp_like(pg_node_tree, text) does not exist"
The regexp_like() function was introduced in PostgreSQL 15

Oh, sorry, try now, I updated the query above

Thats work (execution: 1 s, fetching: 23 ms)

Great improvement considering that it's possible to cache it.

https://github.com/yiisoft/db-pgsql/pull/378

authors: Tigrov samdark tQuant

repo: yiisoft/db-pgsql


text:
Add StringHelper::implode()

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Fixed issues
#82

See https://github.com/yiisoft/strings/issues/82#issuecomment-1774478969

repo: yiisoft/strings


text:
[bug/feature-request] Unable share any parameters to mail layout

What steps will reproduce the problem?
I want to add in layout mail-tail with parameters - user unsubscription link and  user personal manager contact
What is the expected result?
that i can got it in layout with $this->params, or from custom variables
What do you get instead?
that it impossible by design - https://github.com/yiisoft/yii2/blob/master/framework/mail/BaseMailer.php#L299
in layout strict passed only $message and $content with template render result
My own solution
I extend Mailer class and override render method with  params passed to template

public function render($view, $params = [], $layout = false)
    {
        $output = $this->getView()->render($view, $params, $this);
        if ($layout !== false) {
            return $this->getView()->render(
                $layout,
                ['content' => $output, 'params' => $params, 'message' => $this->_message],
                $this
            );
        } else {
            return $output;
        }
    }

But in this method used private $_message property, So I was forced to override also  metod compose
My solution work, but it not look pretty for me. And also i don`t want repeate same code in each mail template
Additional info

Q
A

Yii version
2.0.12

PHP version
does not matter

Operating system
does not matter

This is the same behavior, which any alyout rendering applies including Controller::render().
'Layout' term refers to some universal parameters-less entety. If you wish to compose any part of the result output based on particular view params you should do it inside main view, not inside layout.
If you wish to reduce code duplication, you can put 'user unsubscription link and user personal manager contact' inot a separated view file and render it inside your main views.

authors: Insolita klimov-paul


text:
Revert changes in mimeTypes.php from 4a1f2c6b9bc90427e91da73f5e8c8fa33d3c53c1

see https://github.com/yiisoft/yii2/commit/4a1f2c6b9bc90427e91da73f5e8c8fa33d3c53c1#r129302787
restores https://github.com/yiisoft/yii2/pull/19936

Was this the only version check which was accidentally changed?
Since there were 3 checks in the original PR: https://github.com/yiisoft/yii2/pull/19936/files

For FileValidatorTest it is still there:
https://github.com/yiisoft/yii2/blob/master/tests/framework/validators/FileValidatorTest.php#L550
MimeTest was removed in https://github.com/yiisoft/yii2/pull/19951


text:
[Fixes #9177] Password Hash Cost setting for Security component

Fixes #9177

Thanks!

:+1:

authors: cebe freezy-sk samdark


text:
🛑 KeepShare is down

In e50149a, KeepShare (https://keepshare.org/gv78k1oi/magnet%3A%3Fxt%3Durn%3Abtih%3AULRHXZU7IHGEIVKIXMRIGSRHSY26K7TF) was down:

HTTP code: 500
Response time: 20839 ms

Resolved: KeepShare is back up in fd0837c after 7 minutes.


text:
Update extract review letterbox docs

Changelog Description
Update Extract Review - Letter Box section in Docs. Letterbox type description is removed.
Additional info
Screenshot is replaced with the one from the latest build (3.15.9)

Thank you

authors: mkolar movalex

repo: ynput/OpenPype


text:
[Vssue]Java 全栈知识体系

http://localhost:8080/

你好

repo: ynushehao/md


text:
建议：希望群排名功能可以分开按群单独设置

#建议：
##希望群排名功能可以分开按群单独设置，每个群群友对pvp看法不同，不能因一个群而全部关闭群排名功能或者将群排名列为喵喵单独分区，通过单独群配置进行禁用

嗯，后面会加分群的独立开关

群面板排名功能已禁用...
——这个功能怎么打开哇，没查到命令

群面板排名功能已禁用... ——这个功能怎么打开哇，没查到命令

#喵喵设置里面

喵喵设置这个pvp榜貌似默认只允许主人设置。。没办法管理员来管理自己的群么🤔
Bot提供人并不在群里，希望可以群管理管理自己的群，谢谢

嗯，后面会加分群的独立开关

请问koukoumi大大功能实现了吗

此功能已经支持
可在对应群内执行 #禁用排名 或 #启用排名 来单独关闭或打开排名功能
群管理员暂不支持设置，后续版本会增加支持

repo: yoimiya-kokomi/miao-plugin


text:
GitHub Action to lint Python code

Output: https://github.com/cclauss/flask-state/actions
Run pytest .
ImportError while loading conftest '/home/runner/work/flask-state/flask-state/tests/conftest.py'.
tests/conftest.py:4: in <module>
    from src.flask_state import DEFAULT_BIND_SQLITE
E   ModuleNotFoundError: No module named 'src'
Error: Process completed with exit code 4.

Added tests/__init__().py
Added redis to pip installed dependencies.  Should it also be added to setup.py?
pytest fails on tests/test_utils.py ....F..

redis  is a pluggable dependency, so we do not plan to add it to setup.py. The redis ImportError will be fixed in the next version.

Dear @cclauss, we sincere thanks for your those improvement code review. Have a good day!

authors: aaajiulong cclauss

repo: yoobool/flask-state


text:
The trajectory can't match it

Hello, I am trying to reproduce on the rpelica dataset, but I have encountered an error, indicating that traj_ref and traj_est cannot be aligned, have you ever encountered this situation? How to solve it?

I tried to print out two tracks and found that traj_est showed that the camera moved 0M, that is, no movement

Hi,
I'm sorry for not getting back to you sooner. I don't know what happened. But maybe you can try to debug it by setting the mapping and mesh triggered in lines: https://github.com/youmi-zym/GO-SLAM/blob/main/src/slam.py#L379C15-L379C15. That is:
self.only_tracking=False
mp.Process(target=self.mapping, args=(3, not dont_run)),
mp.Process(target=self.meshing, args=(4,  not dont_run)),

Then you can check the system by viewing the generated mesh.
Best,
Youmin

  Thank you very much for your reply. I once sent many emails to the author, and you were the only one who replied to me, which touched me very much. I tried to run it under windows before, so there was a problem.
I will try to fix this problem according to your guidance, and now I am trying to reproduce it under ubuntu. If I encounter new problems, I may have to bother you again. Thanks again for your reply, which means a lot to me!
  非常感谢您的回复，我曾经发送过很多邮件给作者，您是唯一回复我的人，这让我非常感动，之前我是在windows下尝试复现的，所以出现了问题。
  我将按照您的指导尝试着去修复这个问题，目前我正在尝试在ubuntu下复现，如果我遇到了新的问题，也许又要叨扰您了，再次感谢您对我的回复，这对我意义重大！
Best，
远在时间另一城市的梓浩
Far away time another city of Zihao
时移世易丶
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "youmi-zym/GO-SLAM"                                                                                @.>;
发送时间: 2024年1月8日(星期一) 晚上7:29
@.>;
@.@.>;
主题: Re: [youmi-zym/GO-SLAM] The trajectory can't match it (Issue #28)
Hi,
I'm sorry for not getting back to you sooner. I don't know what happened. But maybe you can try to debug it by setting the mapping and mesh triggered in lines: https://github.com/youmi-zym/GO-SLAM/blob/main/src/slam.py#L379C15-L379C15. That is:
self.only_tracking=False mp.Process(target=self.mapping, args=(3, not dont_run)), mp.Process(target=self.meshing, args=(4,  not dont_run)),
Then you can check the system by viewing the generated mesh.
Best,
Youmin
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Hi,
Cool, no problem!
Best,
Youmin

authors: jiaodeshou youmi-zym

repo: youmi-zym/GO-SLAM


text:
数据映射

为了您的问题能得到及时准确解答，请认真填写下面各个选项，感谢您的配合。

当前使用的UReport的具体版本号：

2.2.9

遇到的问题描述：

数据映射时怎么让读取到空的显示空而不是原数据的id

涉及到的异常信息（完整异常信息）：

相关截图：

[图片]

repo: youseries/ureport


text:
worker: bug fixes

grpc: disable FailFast
Issues #3401, #3412
When we upgraded to 1.7.1, we had to make dialing asynchronous to
get things working. However, the default behavior of requests was
to immediately fail if a connection is not ready yet, which can
happen if a request is made as soon as dial returned. To circumvent
this, the FailFast flag must be disabled, which will make grpc
retry requests until the timeout.
worker: improved error message on generateChunks
Issue #3407
Error messages did not specify the tablet or table they were
failing on.

After discussion, we don't think this is a good idea: this will cause vtgates to retry any unavailable vttablets until the timeout instead of immediately retrying on a different vttablet.
Closing this to work on a more robust fix.

repo: youtube/vitess


text:
BDB as memcachedb backend

Use BDB backend as memcachedb storage, replying in memcached protocol

LGTM

repo: yowcow/go-romdb

license: Unlicense


text:
Fix on recent neovim build

I was configuring my go env and struggled to get dap-go.nvim to work. I managed to fix the two issues that were blocking me and included them in this PR.
I'm not sure of what is happening, but I thought that bringing them forward would be useful in case someone else is blocked or if you want to investigate.
:version
NVIM v0.7.0-dev+923-gecec95712
Build type: Release
LuaJIT 2.1.0-beta3

@yriveiro I'll clear this PR later today by removing the sloppy sleep and making the timeout configurable 👍

@jhchabran thanks for the contribution 😃

authors: jhchabran yriveiro


text:
🛑 GetCannab is down

In a3af345, GetCannab (https://getcannab.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: GetCannab is back up in b76e6e8 after 52 minutes.


text:
🛑 GetCannab is down

In ff1f2d7, GetCannab (https://getcannab.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: GetCannab is back up in 19f56aa after 8 minutes.


text:
🛑 API is down

In a7cb8c7, API (https://ysfapi-dummy.glitch.me/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: API is back up in 6fc573e after 9 minutes.

repo: ysfsvm/uptime


text:
Sample CloudFormation

I added a CloudFormation directory with a README and 3 templates needed to spin up a CF stack with the image-resizer working.  The three templates are applied sequentially to the same stack, to handle some CF dependency issues.  End state is a pair of buckets, one with code and logs, one with images, both raw and resized

@amacks Thank you for you PR. This seems useful for CF users, but those templates cannot change easily themselves. So in order to add this feature,  I want to consider about following things:

Configuration is loose coupling from our project stack. so it would be better to external project
If we bundle those, we gonna have to create generator like npm run cloudfront and generate youse templates automatically by config.json and npm-config.

Do you have any idea for above things?
If have a time, plz review this @kdybicz

From logical and technical point of view this approach seems to be more than valid. But I totally agree with both points @ysugimoto presented. If we would want to merge this feature I think it would be nice to try to hide the CF magic behind some generator, to don't discourage less experienced users.

Agreed, it's not easy to make CF a turnkey solution.  I thought of this more as a "here's a way known to work, modify as needed" rather that a complete stack for all needs.
I don't have any experience with CF Template generation/regeneration, so I'm not sure I'd be able to create any sort of template generator.  There would have to be a lot of config variables on that
One code change to the main app that would make this easier would be if the bucket name for the app could be specified as a lambda environment variable.  Then the bucket names could be entirely controlled from the CF stack.

@amacks you can actually do this all in one template there is a rather helpful amazon FAQ on the subject here https://aws.amazon.com/premiumsupport/knowledge-center/unable-validate-circular-dependency-cloudformation/

@amacks this can totally be done end to end with a single template today. CustomResources would help.  I'm debating on forking this and modifying this build system to at least better support multi-environment deployments  (different config files), and parameter passing, like which aws credential profile you want to be used. I have development/production deployments in different regions and it's much too dangerous to use as is. The CF turnkey is ideal, it's just a lot of work, but at least you got basics out of the way.

authors: amacks fran-worley kdybicz rromanchuk ysugimoto

repo: ysugimoto/aws-lambda-image


text:
Crunchroll DMR videos

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and am willing to share it if required

Region
Egypt
Example URLs
www.crunchyroll.com
Provide a description that is worded well enough to be understood
for example one piece is free to watch but have a lot of ads on the site so I use Seal to download them and enjoying them without Ads, but they patched it and used DMR with there videos, so if there is any way or another to bypass it, I will be grateful 🤍
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
App version: 1.12.1 (11212)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
Yt-dlp version: 2024.06.24.232830

URL: https://www.crunchyroll.com/watch/GJWU29E0V?utm_medium=android&utm_source=share
WARNING: [crunchyroll] The extractor is attempting impersonation, but no impersonate target is available; if you encounter errors, then see  https://github.com/yt-dlp/yt-dlp#impersonation  for information on installing the required dependencies
ERROR: [crunchyroll] GJWU29E0V: This video is DRM protected

I mistakingly

repo: yt-dlp/yt-dlp