text:
refactoring of closing sessions in pool

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Pull request type

Please check the type of change your PR introduces:

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

What is the current behavior?

Issue Number: #352
What is the new behavior?

Other information

Codecov Report

Merging #353 (67866e9) into master (8abc51f) will increase coverage by 6.80%.
The diff coverage is 70.45%.

@@            Coverage Diff             @@
##           master     #353      +/-   ##
==========================================
+ Coverage   35.05%   41.86%   +6.80%
==========================================
  Files         116      198      +82
  Lines       16151    21966    +5815
==========================================
+ Hits         5662     9196    +3534
- Misses      10267    12010    +1743
- Partials      222      760     +538

Flag
Coverage Δ

1.16.x
?

1.18.x
31.77% <68.93%> (-3.30%)
:arrow_down:

1.19.x
29.72% <67.42%> (-5.34%)
:arrow_down:

connection
11.03% <0.00%> (?)

discovery
8.92% <0.00%> (?)

e2e
41.86% <70.45%> (?)

macOS-latest
?

scripting
11.77% <0.00%> (?)

table
30.29% <68.93%> (?)

topic
23.06% <67.42%> (?)

ubuntu-latest
41.86% <70.45%> (+6.86%)
:arrow_up:

unit
?

windows-latest
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

internal/xerrors/issues.go
11.36% <33.33%> (+11.36%)
:arrow_up:

internal/table/client.go
60.42% <71.17%> (-18.57%)
:arrow_down:

internal/table/retry.go
81.57% <80.00%> (+27.73%)
:arrow_up:

sugar/dsn.go
0.00% <0.00%> (-100.00%)
:arrow_down:

sugar/params.go
0.00% <0.00%> (-100.00%)
:arrow_down:

retry/errors_go1.18.go
0.00% <0.00%> (-100.00%)
:arrow_down:

internal/scheme/options.go
0.00% <0.00%> (-100.00%)
:arrow_down:

internal/xsql/isolation/isolation.go
0.00% <0.00%> (-100.00%)
:arrow_down:

balancers/config.go
0.00% <0.00%> (-95.09%)
:arrow_down:

retry/retryable_error.go
0.00% <0.00%> (-83.34%)
:arrow_down:

... and 173 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

authors: asmyasnikov codecov-commenter

repo: ydb-platform/ydb-go-sdk


text:
Print long request history to log

Intermediate
Add Request Reporting throttler
Wrap ctor args in structs
Merge mistake fixed
Print LogAccumulator output on long requests
Add more information to RootCause tracker
Register VPuts in RootCause tracker

Changelog entry
...
Changelog category

Improvement

Additional information
...

Log example:
Aug 21 17:54:23 ydb-vla-dev07-001 kikimr_31003[2129691]: 2024-08-21T17:54:23.938503Z :BS_PROXY_PUT WARN: [9f73411fdbb57771] TEvPut Request was being processed for more than 50.000000s, serialized RootCause# TRootCause { CurrentCauseIdx# 6 Items# [ { Timestamp# 2024-08-21T17:53:11.750994Z IsAccelerate# 0 CauseIdx# 255 } { Timestamp# 2024-08-21T17:53:11.750994Z IsAccelerate# 0 CauseIdx# 255 } { Timestamp# 2024-08-21T17:53:11.750994Z IsAccelerate# 0 CauseIdx# 255 } { Timestamp# 2024-08-21T17:53:11.750994Z IsAccelerate# 0 CauseIdx# 255 } { Timestamp# 2024-08-21T17:53:11.750994Z IsAccelerate# 0 CauseIdx# 255 } { Timestamp# 2024-08-21T17:53:11.750994Z IsAccelerate# 0 CauseIdx# 255 } { Timestamp# 2024-08-21T17:53:49.693457Z IsAccelerate# 1 CauseIdx# 255 } { Timestamp# 2024-08-21T17:53:50.337946Z IsAccelerate# 0 CauseIdx# 6 } { Timestamp# 2024-08-21T17:53:50.337946Z IsAccelerate# 0 CauseIdx# 6 } { Timestamp# 2024-08-21T17:54:19.596562Z IsAccelerate# 0 CauseIdx# 6 } ] } Marker# BPP71

Output example, iteration 2:
Aug 29 11:37:37 ydb-vla-dev07-001 kikimr_31003[4068807]: 2024-08-29T11:37:37.950946Z :BS_PROXY_PUT WARN: [2cbfcaf1d488a2f1] TEvPut Request was being processed for more than 50.000000s GroupId# 2181038085 HandleClass# AsyncBlob Tactic# Default RestartCounter# 0 History# THistory { Entries# [ TEvVPut{ TimestampMs# 5.187 sample PartId# [72058029899564881:2:8262:9:1:2500000:6] QueryCount# 1 VDiskId# [82000005:2:0:1:0] NodeId# 2 } TEvVPut{ TimestampMs# 5.187 sample PartId# [72058029899564881:2:8262:9:1:2500000:4] QueryCount# 1 VDiskId# [82000005:2:0:7:0] NodeId# 5 } TEvVPut{ TimestampMs# 5.187 sample PartId# [72058029899564881:2:8262:9:1:2500000:3] QueryCount# 1 VDiskId# [82000005:2:0:6:0] NodeId# 7 } TEvVPut{ TimestampMs# 5.247 sample PartId# [72058029899564881:2:8262:9:1:2500000:2] QueryCount# 1 VDiskId# [82000005:2:0:5:0] NodeId# 4 } TEvVPut{ TimestampMs# 5.247 sample PartId# [72058029899564881:2:8262:9:1:2500000:5] QueryCount# 1 VDiskId# [82000005:2:0:0:0] NodeId# 1 } TEvVPut{ TimestampMs# 5.247 sample PartId# [72058029899564881:2:8262:9:1:2500000:1] QueryCount# 1 VDiskId# [82000005:2:0:4:0] NodeId# 8 } TEvVPutResult{ TimestampMs# 97547.969 VDiskId# [82000005:2:0:4:0] NodeId# 8 Status# OK } TEvVPutResult{ TimestampMs# 109705.791 VDiskId# [82000005:2:0:5:0] NodeId# 4 Status# OK } TEvVPutResult{ TimestampMs# 112969.982 VDiskId# [82000005:2:0:7:0] NodeId# 5 Status# OK } TEvVPutResult{ TimestampMs# 113192.902 VDiskId# [82000005:2:0:6:0] NodeId# 7 Status# OK } TEvVPutResult{ TimestampMs# 136785.919 VDiskId# [82000005:2:0:1:0] NodeId# 2 Status# OK } PutAcceleration{ TimestampMs# 138316.122 } TEvVPut{ TimestampMs# 138316.232 sample PartId# [72058029899564881:2:8262:9:1:2500000:5] QueryCount# 1 VDiskId# [82000005:2:0:2:0] NodeId# 3 } TEvVPutResult{ TimestampMs# 209411.839 VDiskId# [82000005:2:0:0:0] NodeId# 1 Status# OK } ] } Marker# BPP71

source: gharchive/pull-request

repo: ydb-platform/ydb

license_type: permissive

license_source: github-api


text:
关于TimeLine-icon样式问题

问题描述
目前timeline默认首个timeline-item会自动绑定样式。
.yd-timeline-item:first-child>.yd-timeline-icon {
background-color: #f23030;
width: 10px;
height: 10px;
}
但是我希望能在第二个或者第三个yd-timeline-item自定义yd-timeline-icon样式

你好，slot="icon" 不能满足需求吗？

不行 我想显示一周的记录 然后系统时间与时间轴标记一致时 样式突出，而不是将之前的隐藏

确定不能实现？

不是很好实现么？简单写下：
<template>
    <yd-timeline>
        <yd-timeline-item v-for="item in list">
            <img :src="item.img" slot="icon" style="width: 20px;height: 20px;">
            {{item.label}}
        </yd-timeline-item>
    </yd-timeline>
</template>

<script>
    export default {
        data() {
            return {
                list: [
                    {label: '1111', img: '/普通图片.png' },
                    {label: '2222', img: '/普通图片.png'},
                    {label: '3333', img: '/普通图片.png'},
                    {label: '4444', img: '/普通图片.png'},
                    {label: '5555', img: '/普通图片.png'}
                ]
            }
        },
        mounted() {
            setTimeout(() => {
                this.list[2].img = '/高亮图片.png';
            }, 1000);
        }
    }
</script>

source: gharchive/issue

authors: AnnQian ydcss

repo: ydcss/vue-ydui

license: MIT


text:
Enable documentation previews with omnicompletion?

Is there a way to enable documentation previews with omnicompletion?
I prefer to explicitly trigger autocompletion so I have set autoComplete: false and I'm using omnicompletion, however, the documentation previews don't seem to be available.

If you use a LSP that supports completionLazyDoc then you'll need to move around some of the code blocks, I assume. I havn't found any server that supports this though? 🤔

Thanks. I'll try and take a look at this at some point this week.

@andlrc: The Python pyright language server supports lazy resolving the documentation details for a completion item.

I have merged PR #320.  Can you try using the latest version of the plugin and see whether it resolves this issue?

Yup, this looks good. Thanks a lot 👍
One question, any idea how I can get rid of the weird border around the popup window?

One question, any idea how I can get rid of the weird border around the popup window?

set completepopup+=border:off

Brilliant. Thanks!

authors: andlrc lithammer newtonne yegappan

repo: yegappan/lsp


text:
Inform language servers that we really only supports utf-32

I think this configures clangd to talk utf-32, and also informs other servers that we would like to do the same.
I havn't been able to find any server that can be configured with general.positionEncoding yet, but clangd have their own way to be configured which AFAIK works in clangd14.

Is there a reason why we don't support variable-length encodings like UTF-8 and UTF-16? Only supporting UTF-32 seems like sweeping the issue under the rug.
What's the "character offset" anyway? What to you mean by "character"? Unicode can be quite confusing, and "character" is a vague term. Are you referring to unicode scalar values or grapheme clusters? What does the LSP spec mean?

Is there a reason why we don't support variable-length encodings like UTF-8 and UTF-16? Only supporting UTF-32 seems like sweeping the issue under the rug.

Well for now it's how we use the range directly from the language server with setcursorcharpos which sets the cursor position based on character offset.
As well as how a range is calculated based on the current cursor position, see util#GetLineByteFromPos. Both of these works on character offsets.

What's the "character offset" anyway? What do you mean by "character"? Unicode can be quite confusing, and "character" is a vague term. Are you referring to unicode scalar values or grapheme clusters? What does the LSP spec mean?

I don't know much about this stuff, the examples mentioned above uses vim functions, so I think the answer can be found in the source code of vim itself.

What does the LSP spec mean?

The language server specification: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/
Note that before 3.17 the specification expects that character positions are based on text being in UTF-16, meaning that this "😄😄😄" would be counted as 8 characters.
This client have been coded to always count characters in a way that this "😄😄😄" will be counted as 5 characters.
In 3.17 of the specification it was made possible to reference positions in other encodings than UTF-16. Since this client really only speaks UTF-32, when it comes to positions, it's worth informing the servers that, thats what it does. Worst case is that the servers doesn't respect the request for UTF-32 and keeps talking UTF-16 character positions, meaning the example above would be counted wrongly, but most cases works, as things like var ಠ_ಠ = 1 is counted the same in UTF-16 and UTF-32, as 11 characters. See "New in 3.17": https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocuments

Il giorno mer 5 apr 2023 alle 15:12:26 -07:00:00, Andreas Louv
@.***> ha scritto:

The language server specification:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/
Note that before 3.17 the specification expects that character
positions are based on text being in UTF-16, meaning that this
"😄😄😄" would be counted as 8 characters.
This client have been coded to always count characters in a way that
this "😄😄😄" will be counted as 5 characters.
In 3.17 of the specification it was made possible to reference
positions in other encodings than UTF-16. Since this client really
only speaks UTF-32, when it comes to positions, it's worth informing
the servers that, thats what it does. Worst case is that the servers
doesn't respect the request for UTF-32 and keeps talking UTF-16
character positions, meaning the example above would be counted
wrongly, but most cases works, as things like var ಠ_ಠ = 1 is
counted the same in UTF-16 and UTF-32, as 11 characters. See "New in
3.17":
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocuments

It seems that there's a bit of confusion about the meaning of
"character" (and it doesn't surprise me, since Unicode is quite
complex).
In Unicode there are different things that could be called characters:

A Scalar Value, which is what a programmer would call a character,
but doesn't always map to it in all spoken languages. "a" is a scalar
value, and so is "😄"; "ñ" is also a scalar value, but not always,
as that "ñ" could be made up of two different scalar values, a regular
"n" and a "Combining Tilde" (U+0303, ◌̃). See for example this C
program:
#include <stdio.h>
int main(void) {
 puts(u8"man\u0303ana");
}

It prints "mañana", but using two different scalar values "n" and
"Combining Tilde", instead of the single scalar value "ñ" (Latin Small
Letter N with Tilde, U+00F1).

A Grapheme Cluster, which is what regular people would call a
character. In the example before, "ñ" and "n"+"Combining Tilde" would
both represent a single Grapheme Cluster, but one is composed of a
single scalar value while the other uses two of them. (you can see the
difference by running the C example above and piping the output into
"wc -m")

A Code Unit, which is dependent on the UTF encoding used and is as
large as the number of the UTF used. UTF-8 has 8 bit code units, UTF-16
has 16 bits code units and (you've guessed it) UTF-32 has 32 bit code
units. As UTFs are variable-length encodings, each scalar value could
require one or more code units to be represented. "n" requires only one
code units in all encodings, "ñ" requires two in UTF-8 and one in
UTF-16, "∫" requires three in UTF-8 and one in UTF-16, and "😄"
requires four in UTF-8 and two in UTF-16. Now, it is pretty easy to
calculate the code unit, you just need to get the byte length of the
string and divide it by the size of a single code unit of the used UTF.

A C "char". Not really a character, just a byte, but I've put this
here just to note that no, C characters are not actual characters. They
are bytes. Maybe it can represent a character in ASCII or other legacy
latin encodings, but not today.

To make understanding all this a bit easier, I'd recommend taking a
quick look at sites like https://www.compart.com/en/unicode/U+222B
and https://unicodes.jessetane.com/∫, since they show how
each Scalar Value is made up in different UTFs.
The LSP spec is not super explicit about this, but it seems that they
are referring to Code Units when talking about offsets. From the spec:

Prior to 3.17 the offsets were always based on a UTF-16 string
representation. So in a string of the form a𐐀b the character offset
of the character a is 0, the character offset of 𐐀 is 1 and the
character offset of b is 3 since 𐐀 is represented using two code
units in UTF-16.

Now that you (hopefully) better understand the issue at hand, what do
you think would be the most appropriate solution? I think it'd be
better for the vim9 lsp client to always report offsets in UTF-16 code
units, since that's what all language servers must support.

To properly support UTF-16 code points, the following Vim patch is needed:
https://github.com/vim/vim/pull/12216
I created this PR last week.  Bram hasn't merged this yet.  Once this is merged, the LSP plugin can use the new functions to support the UTF-8, UTF-16 and UTF-32 code points properly.

authors: Tachi107 andlrc yegappan


text:
feat(#7): Add jtcop

Add jtcop support.
Closes: #7.

History:

feat(#7): fix all the default suggestions
feat(#7): allow more strict experimental features

@yegor256 Could you take a look, please?

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 2min)

@volodya-lombrozo thanks@

authors: rultor volodya-lombrozo yegor256


text:
pdd fails to parse files in a charset other than UTF-8

I have a file in windows-1251 charset and when I committed it into a repo, pdd has started to fail with the following error:

ERROR: src/test/wiremock/__files/series/import/request-logic/charset-windows-1251.html; puzzle at line 7; invalid byte sequence in UTF-8

Here is the comment that 0pdd posted: https://github.com/php-coder/mystamps/commit/a4d9ef2c3634f695101c1fa3d1b21568b3dad8cf#commitcomment-37196757

@yegor256/z please, pay attention to this issue

@php-coder/z this project will fix the problem faster if you donate a few dollars to it; just click here and pay via Stripe, it's very fast, convenient and appreciated; thanks a lot!

@php-coder this indeed may be a bug. Would you be interested in submitting a pull request to fix it?

@yegor256 As it's not critical to me (there is a workaround), I'm not interested in dealing with Ruby code :)

Seems like a non-issue. CP-1251? Come on. It's UTF-8 that needs attention. https://github.com/cqfn/pdd/issues/164


text:
PsGoogle creates incorrect oauth link

Line 165:
new Href(this.gauth).path("o/oauth2/token").toString()

must be:
new Href(this.gauth).path("o").path("oauth2").path("token").toString()

@yegor256 I will find a developer for the task soon...

@yegor256 I set milestone here to 1.0, let me know if it is wrong

@adko-pl the task is for you now, follow these guidelines. Don't hesitate to ask any technical questions right here... The budget of this task is 30 mins. This is exactly how much time will be compensated, when the task is completed. Read about our Definition of Done

@yegor256 many thanks, 15 mins added to your acc for reporting this bug, pmt ID 000-ffbaa473

@yegor256 assign this to me please
I would close the linked issue in Netbout

@davvd assign @dmzaytsev pls to this issue

@davvd assign @dmzaytsev pls to this issue

@yegor256 done, @dmzaytsev is a new assignment at the task, please go on. whoever worked with this task before, please stop right now

@yegor256 fixed in #378
close the ticket please

@dmzaytsev thanks!

@yegor256  release please

@rultor release, tag is 0.23.3

@rultor release, tag is 0.23.3

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.23.3

@yegor256 Done! FYI, the full log is here (took me 10min)

@ypshenychka please, review this task for compliance with our quality rules

@davvd Quality is good here.

@davvd Quality is good here.

@ypshenychka thanks a lot

@dmzaytsev I added 10 mins to @ypshenychka (for QA review) in transaction 64002112; Thanks so much! Your account was topped up for 1 hour (transaction ID is 64002119, the task took 19 hours and 48 mins); m=1188, that's why a bonus here for fast delivery; +60 to your rating, your total score is +1854

authors: davvd dmzaytsev rultor yegor256 ypshenychka


text:
Fix broken links and minor grammar error

There were two broken links to the "buffers" section of API
"putted" -> "put"

Thanks for fixes! Highly appreciated. 🎉

authors: Andarist dooart

repo: yelouafi/redux-saga


text:
error when installing on windows server 2019

when installing via pip install numberize gives
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.34.31933\\bin\ \HostX86\\x64\\cl.exe' failed with exit code 2

Is it a full trace?
Could you provide a version of your python interpreter and pip?

the error appears when installing the DAWG library. This is a common mistake for them. i use python 3.10 and pip 23.0.1

It seems, that their repo is not maintained. There is a PR, that adds python 3.10 support, but it is not merged.
I think we can just remove this library from dependencies, and use simple dicts.

this would be handy. Thank you

@TrueGodOfHyperdeath Try installing numberize now. Use 1.1.2 version. Ping me with results, please.

@yemchenko-dan Thank you. Everything worked out

@TrueGodOfHyperdeath Cool.
It should be compatible with python 3.11 btw.

authors: TrueGodOfHyperdeath yemchenko-dan

repo: yemchenko-dan/numberize


text:
Support Prometheus as a source

having looked at the code, the plugin is built to easily deal with the metric hierarchy of graphite. However, making the plugin more generic to support prometheus as well would be a great help. Prometheus has a lot of people using it. Might be something to think about. as dealing intelligently with labels might make support for graphite (with labels), prometheus and influx possible.
Cheers,
X

Sorry mate. With the current scope / design, this is not possible to support promeetheus. May be we will add this in future..

Sorry mate. With the current scope / design, this is not possible to support promeetheus. May be we will add this in future..

Still there is a way to achieve the desired output. The following section of the README explains how to implement metrics from Prometheus datasource.
https://github.com/yesoreyeram/yesoreyeram-boomtable-panel#prometheus-guidelines

Please feel free to reopen the issue if you feel that this is not the desired output

Hi @xkilian , Did you get a chance to test with Prometheus?

Wow! I just noticed the updated plugin. I will certainly get this in our pipeline, as I absolutely love the boom table plugin. I have some urgent work that has to be completed, but I look forward to testing it. Cheers and congratulations on this plugin.

authors: xkilian yesoreyeram

repo: yesoreyeram/yesoreyeram-boomtable-panel


text:
Add wasm-bindgen-cli dependency to tutorial

Description
In the tutorial I've added a description on how to install wasm-bindgen-cli when setting up the initial environment for yew.
Checklist

[x] I have reviewed my own code
[ ] I have added tests

You shouldn't need that installed as trunk downloads it. Did you run into some issue where it's needed?

I checked it again and now it works without the explicit installation of the wasm-bindgen-cli. I suppose I did something differently the last time preventing the installation of that dependency. However, I can't recall what might have been the problem.
Anyhow, thanks for your feedback. I'll close this pull request.

repo: yewstack/yew


text:
rubidium version (forge)

I know asking about forge version of fabric mods often doesn't go down well, but given how small of a change this makes I thought I'd ask - how plausible would it be to implement this exact change but for forge? Cheers

Forge version (for 1.18+) is now released. See Modrinth.

Oh wow, that's awesome! Might be worth noting it's for forge ports of sodium like rubidium rather than sodium itself, but that's super cool, thanks so much mate

license: Unlicense


text:
Failed to import RedisCacheBackend and JWTBackend class from authx. Version 0.4.0

First Check

[X] I added a very descriptive title to this issue.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to AuthX but to Pydantic.
[X] I already checked if it is not related to AuthX but to FastAPI.

Example Code
from authx import RedisCacheBackend, JWTBackend, RedisBackend
from fastapi import Depends, FastAPI
from fastapi.security import HTTPBearer
from starlette.config import Config

app = FastAPI(
    title="AuthX",
    description="AuthX authentication system for fastapi.",
    version="0.1.0",
)

config = Config(".env")

SecurityConfig = JWTBackend(
    cache_backend=RedisBackend,
    private_key=config("PRIVATE_KEY", default="private_key"),
    public_key=config("PUBLIC_KEY", default="public_key"),
    access_expiration=3600,
    refresh_expiration=3600
)

oauth_token_scheme = HTTPBearer()

# app.include_router(starlette_app.router) # pygeoapi

# Set Anonymous User
@app.get("/anonym")
def anonym_test():
    pass

# Set Authenticated User
@app.get("/user")
async def user_test(token=Depends(oauth_token_scheme)):
    is_verified = await SecurityConfig.decode_token(token)
    print(is_verified)
    pass

Description
as specified in the documentation for jwt implementation https://authx.yezz.codes/configuration/security/jwt/ , from authx import RedisCacheBackend, JWTBackend should not return an error. as shown below

i want to use JWTBackend to verify token using FastAPI dependency injection. a token should be passed to the swaggerUI docs from fastapi. and should be accessible via the oauth_token_scheme.
is_verified should return a boolean showing the verification state of the token, returns None instead of a boolean

Suspected problem
RedisCacheBackend is not an exported class from the module - not part of the module, but that is what was shown according to the documentation.
using RedisBackend(this is exported from the module) instead, returns TypeError `Expected Type 'RedisBackend', got Type[RedisBackend] instead. in the JWTBackend class
Operating System
Linux
Operating System Details
No response
FastAPI Version
0.75.1
Python Version
python 3.8.10
Additional Context
No response

could you check this https://authx.yezz.codes/configuration/cache/ cause we setup redis in this way and you need to add first the link before that

could you check this https://authx.yezz.codes/configuration/cache/ cause we setup redis in this way and you need to add first the link before that

i'm having trouble setting up openid connect, the tutorial is not well explained. can you give me directives?? please

Hello @r-scheele can you please checkout using HTTPCacheBackend https://github.com/yezz123/authx/blob/33bd6100f0f3e261de58e683e788352e1233b057/authx/cache/backend.py#L11


text:
Config - where?

"create config in root directory of project".  But there's no "project". where would that be?

@romanr
It seems I may have caused some confusion. The config.ini file already exists in the root directory of this project, so please edit that one.

After adding that configuration,
I get this error at startup:
[rgthree-comfy] Loaded 42 fantastic nodes. 🎉

Traceback (most recent call last):
  File "/Users/r/ComfyUI/nodes.py", line 1941, in load_custom_node
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/Users/roman/ComfyUI/custom_nodes/ComfyUI-Fal-API-Flux/__init__.py", line 1, in <module>
    from .modules.fal_api_flux_dev_node import FalAPIFluxDevNode
  File "/Users/r/ComfyUI/custom_nodes/ComfyUI-Fal-API-Flux/modules/fal_api_flux_dev_node.py", line 1, in <module>
    from .base_fal_api_flux_node import BaseFalAPIFluxNode
  File "/Users/r/ComfyUI/custom_nodes/ComfyUI-Fal-API-Flux/modules/base_fal_api_flux_node.py", line 2, in <module>
    import fal_client
ModuleNotFoundError: No module named 'fal_client'

Cannot import /Users/r/ComfyUI/custom_nodes/ComfyUI-Fal-API-Flux module for custom nodes: No module named 'fal_client'
Traceback (most recent call last):
  File "/Users/r/ComfyUI/nodes.py", line 1941, in load_custom_node
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/Users/r/ComfyUI/custom_nodes/ComfyUI-fal-Connector/__init__.py", line 6, in <module>
    from .config import set_fal_credentials
  File "/Users/r/ComfyUI/custom_nodes/ComfyUI-fal-Connector/config.py", line 5, in <module>
    from fal_client.auth import MissingCredentialsError, FAL_RUN_HOST
ModuleNotFoundError: No module named 'fal_client'

Cannot import /Users/r/ComfyUI/custom_nodes/ComfyUI-fal-Connector module for custom nodes: No module named 'fal_client'
------------------------------------------
Comfyroll Studio v1.76 :  175 Nodes Loaded

After I reinstalled the errors went away and I am back to what is was before,

I get this after few seconds. and nothing in logs.

authors: romanr yhayano-ponotech

repo: yhayano-ponotech/ComfyUI-Fal-API-Flux


text:
Allow loading modules with weak imports

Loading a suprx that is importing ScePgf for example (which isn't loaded yet either) will result in SCE_KERNEL_ERROR_MODULEMGR_NO_LIB. A workaround is to load the pgf module inside config.txt

I'm debating whether this should be a problem or not. The reason Sony chose to put these modules as weak imports is because they affect game load time and memory usage. If we encourage this, it may lead to plugins causing some slowdown for games. I think the workaround is find if you absolutely need to use some module.

I have got some thoughts about it:

I believe that sysmodule loads some modules with special arguments. Those can't be passed via config.txt
A future plugins manager wouldn't know which modules belong to which plugin in order to enable/disable correctly.

However there's another workaround which would require splitting a plugin into two suprx where the first one loads the neccessary libraries via sysmodule and the second one can finally import them.

The problem here is that the Vita is not designed to load suprx with weak imports (it seems to be limited to main app). Maybe I'm missing something and I will dig more into it, but it won't be easy to add without making some significant changes to modulemgr.

Can you test this? Manually modify the velf so in the import structure for that library, change the flags field (offset 4), set the uint16_t flags to 0x8 and see if that will work. If it does, I'll change the toolchain.

I can confirm that changing the flags works.

Cool, guess we can make a change in the toolchain.

This will be tracked in the toolchain https://github.com/vitasdk/vita-toolchain/issues/71 and will be closed here since no additional changes will have to be made to taiHEN to support this.

authors: TheOfficialFloW yifanlu

repo: yifanlu/taiHEN

license: mit

license_source: bigquery


text:
MySQL：场景小知识

目录

如何给字符串字段加索引
alter table、analyze table 和 optimize table 这三种方式重建表的区别
COUNT 函数的不同用法
什么时候触发刷脏页
VARCHAR 类型条件值大于定义列的长度时 MySQL 如何处理?
ORDER BY 执行机制及排序优化
DELETE 操作原理
普通索引和唯一索引的区别-Change Buffer
InnoDB 如何实现 ACID
InnoDB Buffer Pool LRU 淘汰策略
数据库时间类型总结
JOIN 使用建议

如何给字符串字段加索引

直接创建完整索引，可能比较占用空间；

创建前缀索引，节省空间，但会增加查询扫描次数，并且不能使用覆盖索引；

倒序存储，再创建前缀索引，用于绕过字符串本身前缀的区分度不够的问题，不支持范围扫描；

创建 hash 字段索引，查询性能稳定，有额外的存储和计算消，不支持范围扫描。

alter table、analyze table 和 optimize table 这三种方式重建表的区别

从 MySQL 5.6 版本开始，alter table t engine = InnoDB（也就是 recreate）是生成临时文件替换原来的表，并且生成临时文件的过程中，将所有对原表的操作记录在一个日志文件（row log）中。临时文件生成后，将日志文件中的操作应用到临时文件，得到一个逻辑数据上与原表相同的数据文件。最后，用临时文件替换原表的数据文件。
analyze table t 其实不是重建表，只是对表的索引信息做重新统计，没有修改数据，这个过程中加了 MDL 读锁；
optimize table t 等于 recreate+analyze。

对比

COUNT(*)：MySQL 专门对它做了优化，它并不会把全部字段取出来，不取值。COUNT(*) 肯定不是 null，按行累加。
COUNT(1)：InnoDB 引擎遍历整张表，但不取值。server 层对于返回的每一行，放一个数字 “1” 进去，判断是不可能为空的，按行累加。
COUNT(主键id)：InnoDB 引擎会遍历整张表，把每一行的 id 值都取出来，返回给 server 层。server 层拿到 id 后，判断是不可能为空的，就按行累加。
COUNT(字段)：如果这个“字段”是定义为 NOT NULL 的话，一行行地从记录里面读出这个字段，判断不能为 NULL，按行累加；如果这个“字段”定义允许为 NULL，那么执行的时候，判断到有可能是 NULL，还要把值取出来再判断一下，不是 NULL 才累加。

COUNT(*) 注意
在不同的 MySQL 引擎中，COUNT(*) 有不同的实现方式。

MyISAM 引擎把一个表的总行数存在了磁盘上，因此执行 COUNT(*) 的时候会直接返回这个数，效率很高；
InnoDB 引擎执行 COUNT(*) 的时候，需要把数据一行一行地从引擎里面读出来，然后累积计数。

这里需要注意的是，如果加了 WHERE 条件的话，MyISAM 表也是不能返回得这么快的。

什么时候触发刷脏页
当内存数据页跟磁盘数据页内容不一致的时候，我们称这个内存页为“脏页”。内存数据写入到磁盘后，内存和磁盘上的数据页的内容就一致了，称为“干净页”。
何时触发刷脏页

InnoDB 的 redo log 写满了。这时候系统会停止所有更新操作，把 checkpoint 往前推进，redo log 留出空间可以继续写。
系统内存不足时。当需要新的内存页，而内存不够用的时候，就要淘汰一些数据页，空出内存给别的数据页使用。如果淘汰的是“脏页”，就要先将脏页写到磁盘。
MySQL 认为系统“空闲”的时候。
MySQL 正常关闭的时候。MySQL 会把内存的脏页都 flush 到磁盘上，这样下次 MySQL 启动的时候，就可以直接从磁盘上读数据，启动速度会很快。

刷脏页虽然是常态，但是出现以下这两种情况，都是会明显影响性能的：

一个查询要淘汰的脏页个数太多（连坐机制，相邻的脏页也会被刷盘），会导致查询的响应时间明显变长；

日志写满，更新全部堵住，写性能跌为 0，这种情况对敏感业务来说，是不能接受的。

虽然利用 WAL 技术，数据库将随机写转换成了顺序写，大大提升了数据库的性能。但是，由此也带来了内存脏页的问题。脏页会被后台线程自动 flush，也会由于数据页淘汰而触发 flush，而刷脏页的过程由于会占用资源，可能会让你的更新和查询语句的响应时间长一些。

VARCHAR 类型条件值大于定义列的长度时 MySQL 如何处理?
假设表 T 中有 100 万行数据，其中字段 b (varchar(10)) 的值是’1234567890‘的有 10 万行，如果执行以下语句 MySQL 会怎么样执行：
SELECT * FROM T WHERE b='1234567890abcd';

理想情况下，当然是 MySQL 看到 b 列的长度为 10，但是传入的数据长度是 14，那么肯定就返回空，但是 MySQL 并未这样做。或者 MySQL 将 '1234567890abcd' 拿到索引里面去做匹配，会很快知道索引 b 上并没有这个值，也很快就能返回空结果，但 MySQL 也不会这样做。
实际上这条 SQL 语句的执行会很慢，它的流程是这样的：

在传给引擎执行的时候，做了字符截断。因为引擎里面这个行只定义了长度是 10，所以只截了前 10 个字节，就是’1234567890’进去做匹配，这样满足条件的数据有 10 万行；
因为是 SELECT *， 所以要做 10 万次回表；
但是每次回表以后查出整行，到 Server 层一判断，b 的值都不是’1234567890abcd’;
返回结果是空。

ORDER BY 执行机制及排序优化
排序机制
使用 ORDER BY 时如果执行计划中出现了 using filesort，那么就说明需要进行排序。
执行流程如下：

首先根据索引找到对应的数据，然后把数据放入 sort_buffer（排序缓冲区）中；
如果要排序的数据实际大小没有超过 sort_buffer_size，就会使用内存排序，如快速排序，然后取出符合条件的数据返回；
如果超过了 sort_buffer_size，就需要使用外部排序，即利用磁盘临时文件辅助排序，算法一般使用多路归并排序，首先对数据分块，然后对每块数据进行排序，排序结果保存在磁盘中，最后将排序结果合并；

可以使用下面的方法确定是否使用了临时文件：
/* 打开 optimizer_trace，只对本线程有效 */
SET optimizer_trace='enabled=on';

/* @a 保存 Innodb_rows_read 的初始值 */
SELECT VARIABLE_VALUE into @a from  performance_schema.session_status WHERE variable_name = 'Innodb_rows_read';

/* 执行语句 */
DESC SELECT * FROM jwt.heart_beat_record ORDER BY id

/* 查看 OPTIMIZER_TRACE 输出 */
SELECT * FROM `information_schema`.`OPTIMIZER_TRACE`

/* @b 保存 Innodb_rows_read 的当前值 */
SELECT VARIABLE_VALUE into @b from performance_schema.session_status where variable_name = 'Innodb_rows_read';

/* 计算 Innodb_rows_read 差值 */
SELECT @b-@a;

此外，并不是所有的 order by 语句，都需要排序操作的。MySQL 之所以需要生成临时表，并且在临时表上做排序操作，其原因是原来的数据都是无序的。如果我们需要的字段的值是天然有序的，那么就不会进行排序操作，所以要合理使用联合索引和覆盖索引。
排序优化

适当增大 sort_buffer_size 值

与排序直接相关的便是 sort buffer，对应参数是 sort_buffer_size，默认是 256k，适当增大该参数的值可以提高排序性能，但由于该参数是一个 session 级别的参数，不宜改的过大。
mysql> show variables like 'sort_buffer_size';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| sort_buffer_size | 262144 |
+------------------+--------+
1 row in set (0.02 sec)

mysql> set @@sort_buffer_size=4*1024*1024;
Query OK, 0 rows affected (0.00 sec)

使用索引

如果我们获取的数据本来就是有序的，那么 MySQL 就不会进行排序操作，这样就是最快的，因此我们可以在需要排序的字段上建立索引。
除了创建普通索引的优化，还可以进一步考虑创建联合索引，在查询时尽可能使用到覆盖索引，减少回表，也就是不需要再去主键上查询其他字段信息，从而减少 IO 消耗，提高性能。

DELETE 操作原理
DELETE 命令删除表数据并不会回收磁盘空间，只是把记录的位置或数据页打上了“可复用”的标记。这些可以复用，而没有被使用的空间，其实就是磁盘碎片。
其中，记录的复用，只限于符合范围条件的数据。比如 ID 是 300、500、600 的数据中，删除了 ID 是 500 的数据，然后插入一条 ID 是 400 的数据，那么这个记录的空间可以被复用；如果插入的是 ID 是 700 的数据，那么这个记录的空间就不能被复用。
对于数据页而言，如果相邻的两个数据页利用率都很小，系统就会把这两个页上的数据合到其中一个页上，另外一个数据页就被标记为可复用。

普通索引和唯一索引的区别-Change Buffer
普通索引和唯一索引对查询操作的影响
假设执行 SELECT id FROM T WHERE k=5。这个查询语句在索引树上查找的过程，先是通过 B+ 树从树根开始，按层搜索到叶子节点，然后可以认为数据页内部通过二分法来定位记录。

对于普通索引来说，查找到满足条件的第一个记录后，需要查找下一个记录，直到碰到第一个不满足 k=5 条件的记录。
对于唯一索引来说，由于索引定义了唯一性，查找到第一个满足条件的记录后，就会停止继续检索。

从上面可以看出，在查询时唯一索引比普通索引性能上稍微好一点，但是这个差异可以忽略不计，因为 Innodb。
普通索引和唯一索引对更新操作（update/insert/delete）的影响
更新机制：当需要更新一个数据页时，如果数据页在内存中就直接更新，而如果这个数据页还没有在内存中的话，在不影响数据一致性的前提下，InooDB 会将这些更新操作缓存在 change buffer 中，这样就不需要从磁盘中读入这个数据页了。在下次查询需要访问这个数据页的时候，将数据页读入内存，然后执行 change buffer 中与这个页有关的操作。通过这种方式就能保证这个数据逻辑的正确性。

注意： change buffer，实际上它是可以持久化的数据。也就是说，change buffer 在内存中有拷贝，也会被写入到磁盘上。

比如要在表中插入一条新记录：

对于普通索引来说，如果目标数据页在内存中，则直接进行插入；反之，则是将更新记录在 change buffer，语句执行就结束了。
对于唯一索引来说，如果目标数据页在内存中，先判断有没有冲突，然后再插入这个值；反之，则需要将目标数据页读入内存，判断有没有冲突，然后再插入这个值。由于将数据从磁盘读入内存涉及随机 IO 的访问，是数据库里面成本最高的操作之一，所以性能上会有影响。

change buffer 使用场景
change buffer 对更新操作具有加速作用，并且只适用于普通索引。但并不是普通索引的所有场景，change buffer 都会起到加速的作用。
如果业务中出现一条数据写入之后，马上又对这条数据进行查询的场景，即使更新先记录在 change buffer 中，但是之后要马上访问这个数据页，会触发 merge 操作。merge 操作会将数据页读入内存，然后将 change buffer 中的记录合并到数据页中。这样反而增加了随机 IO 的访问，并且也增加了 change buffer 的维护代价。
change buffer 机制，适合多写少读的场景，配合普通索引使用，对于数据量大的表的更新优化还是很明显的。
change buffer 和 redo log 区别

change buffer 一部分存在于 buffer pool （内存）中（change buffer 的大小，可以通过参数 innodb_change_buffer_max_size 来动态设置），一部分存在于系统表空间(ibdata)。写 change buffer 时， redo log 中会记录 change buffer 的改动。系统后台会定期将内存中的 change buffer 同步到系统表空间，进行落盘。

redo log 主要节省的是随机写磁盘的 IO 消耗（转成顺序写），而 change buffer 主要节省的则是随机读磁盘的 IO 消耗。

merge 操作
何时触发

访问某个数据页会触发 merge；
系统有后台线程会定期 merge；
在数据库正常关闭（shutdown）的过程中，也会执行 merge 操作。

merge 执行流程

从磁盘读入数据页到内存（老版本的数据页）；
从 change buffer 里找出这个数据页的 change buffer 记录 (可能有多个），依次应用，得到新版数据页；
写 redo log。这个 redo log 包含了数据的变更和 change buffer 的变更。

到这里 merge 过程就结束了。这时候，数据页和内存中 change buffer 对应的磁盘位置都还没有修改，属于脏页，之后各自刷回自己的物理数据，就是另外一个过程了。
思考
change buffer 一开始是写内存的，那么如果这个时候机器掉电重启，会不会导致 change buffer 丢失呢？

如果 change buffer 写入，redo log 写入但未 commit，binlog 未 fsync 到磁盘，这部分数据会丢失；
如果 change buffer 写入，redo log 写入但没有 commit，binlog 也 fsync 到磁盘，先从 binlog 恢复 redo log，再从 redo log 恢复 change buffer；
如果 change buffer 写入，redo log 和 binlog 都已经 fsync， 那么直接从 redo log 里恢复。

Innodb 如何实现 ACID
数据库通过原子性（A）、隔离性（I）、持久性（D）来保证一致性（C）。其中一致性是目的，原子性、隔离性、持久性是手段。因此数据库必须实现 AID 三大特性才有可能实现一致性。
原子性保证：undo log（回滚日志）是实现原子性的关键，当事务回滚时能够撤销所有已经成功执行的 SQL 语句（事务机制）。
隔离性保证：锁和 MVCC 机制。
持久性保证：binlog + redo log 两阶段提交保证持久性。

InnoDB Buffer Pool LRU 淘汰策略
InnoDB 存储引擎是基于集合索引实现的数据存储，也就是除了索引列以及主键是存储在 B+ 树之外，其它列数据也存储在 B+ 树的叶子节点中。而这里的索引页和数据页都会缓存在缓冲池中，在查询数据时，只要在缓冲池中存在该数据，InnoDB 就不用每次都去磁盘中读取页，从而提高数据库的查询性能。
虽然缓冲池是一个很大的内存区域，但由于存放了各种类型的数据，加上存储数据量之大，缓冲池无法将所有的数据都存储在其中。因此，缓冲池需要通过 LRU 算法将最近且经常查询的数据缓存在其中，而不常查询的数据就淘汰出去。
InnoDB 对 LRU 做了一些优化，我们熟悉的 LRU 算法通常是将最近查询的数据放到 LRU 列表的首部，而 InnoDB 则是将数据放在一个 midpoint 位置，通常这个 midpoint 为列表长度的 5/8。
这种策略主要是为了避免一些不常查询的操作突然将热点数据淘汰出去，而热点数据被再次查询时，需要再次从磁盘中获取，从而影响数据库的查询性能。
如果我们的热点数据比较多，我们可以通过调整 midpoint 值来增加热点数据的存储量，从而降低热点数据的淘汰率。

DATETIME 和 TIMESTAMP
DATETIME

时间存储格式：格式为 YYYYMMDDHHMMSS 的整数，使用 8 个字节存储；
时间显示格式：YYYY-MM-DD HH:MM:SS；
时间范围：1001 年到 9999 年；
与时区无关，不做任何转换，给什么数据，就存什么数据；比如中国时间 2021-12-31 12:00:00 存入在 US 时区的数据库中就是 2021-12-31 12:00:00，不会因为时区改变；

TIMESTAMP

时间存储格式：时间戳，使用 4 个字节存储；
时间显示格式：YYYY-MM-DD HH:MM:SS；
时间范围：1970 年到 2038 年（UTC 标准时间）；
与时区有关；

JOIN 使用建议

如果可以使用被驱动表的索引，那么 JOIN 语句也是有优势的；
不能使用被驱动表的索引，只能使用 Block Nested-Loop Join 算法，这样的语句就尽量不要使用；
在使用 JOIN 的时候，应该让小表做驱动表。

小表：在决定哪个表做驱动表的时候，应该是两个表按照各自的条件过滤，过滤完成之后，计算参与 JOIN 的各个字段的总数据量，数据量小的那个表，就是“小表”，应该作为驱动表。
思考： 如果被驱动表是一个大表，并且是一个冷数据表，如果使用 Block Nested-Loop Join 算法进行查询对这个 MySQL 服务有什么严重的影响?
使用 Block Nested-Loop Join 算法，可能会因为 join_buffer 不够大，需要对被驱动表做多次全表扫描，也就造成了“长事务”。所以会出现以下问题：

导致 undo log 不能被回收，导致回滚段空间膨胀问题；
SQL 执行 socket_timeout 超时后业务接口重复发起，导致实例 IO 负载上升出现雪崩；
如果业务采用 SELECT * 作为结果集返回，极大可能出现网络拥堵，整体拖慢服务端的处理；
冷数据污染 buffer pool，对被驱动表做多次全表扫描，其中间隔很有可能超过 1s，从而污染到 LRU头部，影响整体的查询体验。

SQL 死锁问题排查
当出现 SQL 死锁问题时，可以使用如下 SQL 查看出现死锁的线程 id，然后将其中一个线程 id 杀掉后，即可打破死锁。
SELECT
    locked_schema,
    locked_table,
    locked_type,
    waiting_processlist_id,
    waiting_age,
    waiting_query,
    waiting_state,
    blocking_processlist_id,
    blocking_age,
    substring_index(sql_text,"transaction_begin;" ,-1) AS blocking_query,
    sql_kill_blocking_connection
FROM
    (
        SELECT
            b.OWNER_THREAD_ID AS granted_thread_id,
            a.OBJECT_SCHEMA AS locked_schema,
            a.OBJECT_NAME AS locked_table,
            "Metadata Lock" AS locked_type,
            c.PROCESSLIST_ID AS waiting_processlist_id,
            c.PROCESSLIST_TIME AS waiting_age,
            c.PROCESSLIST_INFO AS waiting_query,
            c.PROCESSLIST_STATE AS waiting_state,
            d.PROCESSLIST_ID AS blocking_processlist_id,
            d.PROCESSLIST_TIME AS blocking_age,
            d.PROCESSLIST_INFO AS blocking_query,
            concat('KILL ', d.PROCESSLIST_ID) AS sql_kill_blocking_connection
        FROM
            performance_schema.metadata_locks a
        JOIN performance_schema.metadata_locks b ON a.OBJECT_SCHEMA = b.OBJECT_SCHEMA
        AND a.OBJECT_NAME = b.OBJECT_NAME
        AND a.lock_status = 'PENDING'
        AND b.lock_status = 'GRANTED'
        AND a.OWNER_THREAD_ID <> b.OWNER_THREAD_ID
        AND a.lock_type = 'EXCLUSIVE'
        JOIN performance_schema.threads c ON a.OWNER_THREAD_ID = c.THREAD_ID
        JOIN performance_schema.threads d ON b.OWNER_THREAD_ID = d.THREAD_ID
    ) t1,
    (
        SELECT
            thread_id,
            group_concat(CASE WHEN EVENT_NAME = 'statement/sql/begin' THEN "transaction_begin" ELSE sql_text END ORDER BY event_id SEPARATOR ";" ) AS sql_text
        FROM
           performance_schema.events_statements_history
        GROUP BY thread_id
    ) t2
WHERE
    t1.granted_thread_id = t2.thread_id

MySQL 常用系统命令
查看连接超时时间
SHOW  VARIABLES LIKE  '%timeout%';

数据库备份和恢复
全量备份
mysqldump -u [username] -p  [database] > dump.sql

repo: yifanzheng/java-notes


text:
Help

我执行了actions，也添加了相应的secrets，actions正常触发没有报错，但是并没有commit数据。

我觉着svg应该是正常生成了吧，可能提交的文件路径需要我设置下，我不太清楚怎么解决这个问题。
如果大佬有时间的话，可以帮我看下么，万分感谢！

看了下你好像把 OUT_FOLDER 删了，正常你跑出来的 poster 会存在这里

好哒好哒，我才发现那俩文件夹没了，我试下，大佬太帅了哇，respect！❤

看了下你好像把 OUT_FOLDER 删了，正常你跑出来的 poster 会存在这里

大佬，我不太懂.gitignore的作用，我第一次没您说的OUT_FOLDER文件夹就是因为 git 把他忽略了，然后 GitHub actions 也commit不了数据。😲
而且在Windows上，.gitignore这个文件是隐藏的，我折腾了好大会儿，才想起来为啥我commit不了这几个文件夹🤕

我把这个文件删了，然后重新部署了下，一切很完美🎉
大佬真的太帅了，我也要好好学习，像你一样做一些有意义的项目。🥳

看了下你好像把 OUT_FOLDER 删了，正常你跑出来的 poster 会存在这里

大佬，我不太懂.gitignore的作用，我第一次没您说的OUT_FOLDER文件夹就是因为 git 把他忽略了，然后 GitHub actions 也commit不了数据。😲
而且在Windows上，.gitignore这个文件是隐藏的，我折腾了好大会儿，才想起来为啥我commit不了这几个文件夹🤕

我把这个文件删了，然后重新部署了下，一切很完美🎉
大佬真的太帅了，我也要好好学习，像你一样做一些有意义的项目。🥳

过誉了哈哈，谢谢你喜欢


text:
possible bug with PHP8 and Union type-hint

Hi,
Nice piece of code, i think i found a possible problem in php8. I didn't do the test but looking at the code i think in some very very rare case there could have a problem in the code if the php union typehint is used.
at this line of code, the object could be a ReflectionUnionType and not a ReflectionNamedType, so the getName() function will break.
https://github.com/yiisoft/event-dispatcher/blob/master/src/Provider/ListenerCollection.php#L85
Correct me if i am missing something.
Hope this help.

Seems, yes. This is bug. Thank you, @ncou .

authors: ncou vjik

repo: yiisoft/event-dispatcher


text:
truncate begin #18

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Tests pass?
✔

PR related to issue #18

@samdark I updated the PR :)

Thanks!

authors: mapeveri samdark

repo: yiisoft/strings


text:
Improve examples in README.md

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Thank you 👍

authors: tomaszkane vjik

repo: yiisoft/yii-console


text:
Fix #282: Fix dumper

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

@olegbaturin would you please test it?

@xepozz seem to fail tests.

/**
 * @dataProvider loopAsJsonObjectMapDataProvider
 */
public function testLoopAsJsonObjectsMap(mixed $var, int $depth, $expectedResult): void
{
    $exportResult = Dumper::create($var)->asJsonObjectsMap($depth);
    $this->assertEquals($expectedResult, $exportResult);
}

public static function loopAsJsonObjectMapDataProvider(): iterable
{
    // parent->child->parent structure
    $o1 = new \stdClass();
    $o1->id = 'o1';
    $o2 = new \stdClass();
    $o2->id = 'o2';
    $o2->o1 = $o1;
    $o1->o2 = $o2;

    // 5 is a min level to reproduce buggy dumping of parent->child->parent structure
    $head1 = self::getNested(5, $o1);
    // can't imagine the expected result
    yield 'nested loop - object' => [
        $head1,
        5,
        <<<S
        {}
        S,
    ];

    // array loop must be 1 level deeper to parse loop objects
    $head2 = self::getNested(6, [$o1, $o2]);
    // can't imagine the expected result
    yield 'nested loop - array' => [
        $head2,
        6,
        <<<S
        {}
        S,
    ];

    $head3 = new \stdClass();
    $head3->id = '1';
    $head3->lv12 = [
        'id' => 2,
        'loop' => $o1,
    ];
    // can't imagine the expected result
    yield 'nested loop to object->array' => [
        $head3,
        3,
        <<<S
        {}
        S,
    ];
}

private static function getNested(int $depth, mixed $data): object
{
    $head = $lvl = new \stdClass();
    $lvl->id = 'lvl'.$depth;

    for ($i = $depth-1; $i > 0; $i--) {
        $nested = new \stdClass();
        $nested->id = 'lvl'.$i;
        $lvl->{'lvl'.$i} = $nested;
        $lvl = $nested;
    }
    $lvl->loop = $data;

    return $head;
}

@samdark I've added some tests for dumping of loop and one test for your solution.
If you show me expected results for those cases, I can make a fix.

@olegbaturin would you please test it?

this fixes the issue, but changes some dumped structures,

@xepozz need your help with expected results.

https://github.com/olegbaturin/yii3-debug/tree/282-fix-dumper
Check the output to /runtime/debug please, look like this is a fix. Results in the test errors will become the expected results.

https://github.com/yiisoft/yii-debug/pull/284

@olegbaturin I like your fix more.

authors: olegbaturin samdark

repo: yiisoft/yii-debug


text:
\yii\i18n\Formatter::format() -- add $options parameter

I'm working on creating an editable GridView, which is essentially using the Formatter to output fields as form elements. Much of it is more straight-forward than I expected, making it easier to implement than in Yii1. (Yay Yii2!). There are a few functions that I'm overriding that I wonder if my changes would be useful for other developers.
One is to add a third parameter to the Formatter format() function to pass an array of options, like so:
public function format($value, $format, $options = [])
that then gets passed to the related as*() method. This allows me to pass form element attributes to the as function for its output.
I realize this may be a particular case, but is this something others would benefit from as well?

aren't the options already support by using an array for $format, as shown in https://github.com/yiisoft/yii2/blob/master/framework/i18n/Formatter.php#L309 and the example at http://www.yiiframework.com/doc-2.0/guide-output-formatting.html

aren't the options already supported by using an array for $format, as shown in https://github.com/yiisoft/yii2/blob/master/framework/i18n/Formatter.php#L309 and the example at http://www.yiiframework.com/doc-2.0/guide-output-formatting.html

authors: dynasource nikhiltri


text:
OPTIONS Verb, except and only

'rules' => [
                [
                    'class' => 'yii\rest\UrlRule',
                    'controller' => ['v1/customer'],
                    'except' => ['delete'],
                    'pluralize' => true
                ],
            ],

DELETE /restful/web/v1/customers/0000000001 HTTP/1.1
Host: localhost:81

HTTP/1.1 405 Method Not Allowed
Date: Fri, 29 Apr 2016 11:35:42 GMT
Server: Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.5.15
X-Powered-By: PHP/5.5.15
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/json; charset=UTF-8

OPTIONS method should not remove "delete" from "allow"?
Sorry for my bad english.

the problem here is that options action does not know about rule configuration, you have to adjust options action configuration as well, configure $resourceOptions property.

authors: DarkMarkosSnake cebe


text:
UnlinkAll for conditionally relation

What steps will reproduce the problem?
I have relation in Trait:
    public function getPhones()
    {
        /** @var $this \yii\db\ActiveRecord */
        return $this->hasMany(Phone::className(), ['sub_id' => 'id'])
            ->andOnCondition(['sub_type' => static::tableName()]);
    }

And in afterSave:
        if (!$insert) {
            $this->unlinkAll('phones', true);
        }

What is the expected result?
to delete only ['sub_type' => static::tableName()] links
What do you get instead?
deletes all links w/o ON condition
Additional info

Q
A

Yii version
2.0.9

PHP version
5.6.23

Operating system
CentOS

Confirmed

Only where condition is checked in https://github.com/yiisoft/yii2/blob/master/framework/db/BaseActiveRecord.php#L1436

Oh no. I'm use it too. That is why i have trubles.

Thank you for the report. Fixed

authors: Razzwan SilverFire svit-ws


text:
Hebrew translation fix

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
?

Fixed issues
?

Thank you!

authors: SiarheiVolkau samdark


text:
Embedding Visualization

Hi! How do you visualize the embedding as shown in Fig.1 (c)?

I used PCA to reduce the dimension of embedding to 3, then scaled it to [0, 1] and visualized it based on RGB.

authors: eugenelawrence yinghdb

repo: yinghdb/EmbedMask


text:
请问需要多大的显存

在跑test.py时 使用multi-GPU了，但是还是提示cuda out of memory,所以请问，需要多大的显存能够执行？

If your GPU memory is not enough, try to decrease the batch size.

If your GPU memory is not enough, try to decrease the batch size.

ok ,thank you


text:
🛑 Anime Garden is down

In 49e16cb, Anime Garden (https://garden.breadio.wiki) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Anime Garden is back up in 539aa6b after 7 minutes.


text:
Wiki: 与LangChain进行集成文档错误

详细描述问题
与LangChain进行集成文档

--embedding_path = text2vec-large-chinese  在 google colab 中运行报错 401,需改成 --embedding_path 'GanymedeNil/text2vec-large-chinese'
运行截图或日志

你好，我们这里是假设用户已经把text2vec-large-chinese下载到了本地
不过感谢提醒，我们会在文档中明确说明。

@airaria 您好，我是在 google colab 运行，目前遇见 GPU 显存 OOM, 请问一下，需要多少，已经能否提供一个 notebook 哈

我在 google colab A100 上成功运行了，以下是 notebook
https://colab.research.google.com/drive/1U8iZOP2xJ2abTbMqoVqS1z4Rk37lp1HB?usp=sharing

authors: airaria tluo-github

repo: ymcui/Chinese-LLaMA-Alpaca


text:
Bug: Maya Look Attribute for aiSubdivType fails to apply on assignment

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior:
With a published look with attribute values like:
		"attributes": {
			"aiSubdivType": "catclark",
			"aiSubdivIterations": 6,
			"aiDispPadding": 0.0,
			"aiDispAutobump": true,
			"aiAutobumpVisibility": 97
		}

The look assigner fails to set the mesh attributes due to aiSubdivType being a string.
Expected Behavior:
Look assignment should work with arnold attributes.
Version
3.15.12-nightly.3
What platform you are running OpenPype on?
Windows
Steps To Reproduce:
Tested with Maya 2024.1 + Mtoa 5.3.2
To reproduce:

Publish a look for a (referenced!) mesh with the arnold subdiv type set to catclark

Assign the look on a new/fresh model - it fails on setting the attributes.

Are there any labels you wish to add?

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

Relevant log output:
# Traceback (most recent call last):
#   File "E:\openpype\OpenPype\openpype\hosts\maya\tools\mayalookassigner\app.py", line 280, in on_process_selected
#     assign_look_by_version(nodes, version_id=version["_id"])
#   File "E:\openpype\OpenPype\openpype\hosts\maya\api\lib.py", line 1730, in assign_look_by_version
#     apply_shaders(relationships, shader_nodes, nodes)
#   File "E:\openpype\OpenPype\openpype\hosts\maya\api\lib.py", line 1871, in apply_shaders
#     apply_attributes(attributes, nodes_by_id)
#   File "E:\openpype\OpenPype\openpype\hosts\maya\api\lib.py", line 1618, in apply_attributes
#     set_attribute(attr, value, node)
#   File "E:\openpype\OpenPype\openpype\hosts\maya\api\lib.py", line 1595, in set_attribute
#     cmds.setAttr(node_attr, value, type=attr_type)
# RuntimeError: setAttr: The attribute 'prop_cheese_bite_GESShape.aiSubdivType' does not accept data of type 'string'.
#

Additional context:
No response

Fixed with #5261

authors: BigRoy tokejepsen

repo: ynput/OpenPype


text:
Tools: Implement "Dependency" or "Links" view (e.g. in Loader)

Is your feature request related to a problem? Please describe.
The "Dependency" loader will get more useful after ynput/OpenPype#3629 and ynput/OpenPype#3633. However, to easily trace from a selected version I'd recommend implementing some additional changes.
The current state:

Describe the solution you'd like

Allow to identify the Link type, e.g. color code, icon or tooltip based on whether the link is "generative" or "reference"
Allow to double click to 'go to' in the Loader. So that your asset+subset+version selection in the Loader changes to that Input/Output.
Potentially even "visualize" whether that 'input version' used is the latest version of that subset. So that you could select a PUBLISH and see from its Inputs that it's not publish using the latest input version.

Describe alternatives you've considered
Of course better tooling to visualize the dependencies in general would be even better, like a node graph (e.g. ReactFlow) or even just showing the recursive inputs/outputs in a hierarchy would be useful, like this example of what we had used in one of our productions before OpenPype.
[cuID:OP-3715]

Came up on Discord here:
I commented these 'reference' links:

In OpenPype there was the Dependency Links shown in the Loader tool but it's been removed from AYON when rewriting large parts of the UIs (plus the UI sucked a bit in OpenPype). I think it still has merit to have something nearby somewhere.
Reference of links in loader: https://github.com/ynput/OpenPype/pull/3629#issuecomment-1209153823 + https://github.com/ynput/OpenPype/pull/3629#issuecomment-1243870103
I had this tiny widget in avalon: https://github.com/BigRoy/core/blob/acre/avalon/tools/representationinput.py which was basically the screenshot shown here: https://github.com/getavalon/core/issues/395#issuecomment-501749753 which we actually ended up using in a project back then, more details here: https://github.com/getavalon/core/issues/395#issuecomment-778078006 with the gist linking to the UI.
Originating from these Avalon issues at the time: https://github.com/getavalon/core/issues/395
It wouldn't be too hard to transfer these to AYON codebase since the data is relatively similar, just a different query.
In one of those threads I also had a NodeGraphQt demo, here: https://github.com/getavalon/core/issues/395#issuecomment-518670047

repo: ynput/ayon-core


text:
Maya: Load RenderSetup add more options

Changelog Description
Maya Load Rendersetup with more options:

allow loading unmanaged
automatically 'accept' the import
pick import mode

Additional info
n/a
Testing notes:

Loading RenderSetup to maya should work.

When applying the renderSetup product aka loading it via Loader Im getting an error message however those settings in JSON got applied to my workfile...

  File "C:\Work\REPO\ayon-core\client\ayon_core\tools\loader\models\actions.py", line 740, in _load_representations_by_loader
    load_with_repre_context(
  File "C:\Work\REPO\ayon-core\client\ayon_core\pipeline\load\utils.py", line 323, in load_with_repre_context
    return loader.load(repre_context, name, namespace, options)
  File "C:\Work\REPO\ayon-core\client\ayon_core\hosts\maya\plugins\load\load_rendersetup.py", line 114, in load
    asset = context['asset']['name']
KeyError: 'asset'

Sorry, my bad. Fixed with https://github.com/ynput/ayon-core/pull/310/commits/27d531536c779561ad6b0573be226eaf70e86b1b

Could you elaborate on what this resolves that is not in current develop?

Without this PR by default any loaded rendersetup layers will be visually 'cursive/italic' in the render setup manager and still need to be marked "accepted" after the import. This PR exposes an option to accept them automatically, which is now enabled by default.

I tried loading in a renderSetup and I dont get any import dialog.

The option box should be on the Load option in the Loader. (The option box on the right side of the loader action).

Does that answer your question @tokejepsen ?


text:
logrotate::rule adds blank su to wtmp and btmp

Hi,
When enabling su directive for a log on a certain node, su is added to wtmp and btmp without user or group.
Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 3.8.7
Ruby: 2.0.0p598
Distribution: CentOS 7.2.15111
Module version: 1.4.0 from 2016-05-30

How to reproduce (e.g Puppet code you use)
create a new logrotate::rule and add
su              => true,
su_owner   => 'apache',
su_group   => 'apache',

}
PS. The rule must not be wtmp or btmp
What are you seeing
The new rule:
+++ /tmp/puppet-file20160901-7674-m97syb        2016-09-01 08:53:46.469657902 +0200
@@ -8,5 +8,6 @@
missingok
rotate 4
size 2M

su apache apache
weekly
}

wtmp file:
--- /etc/logrotate.d/wtmp       2016-08-01 16:55:33.554317181 +0200
+++ /tmp/puppet-file20160901-7674-104n5n9       2016-09-01 08:53:46.509658075 +0200
@@ -8,4 +8,5 @@
monthly
nomissingok
rotate 1

su
}

btmp file:
--- /etc/logrotate.d/btmp       2016-08-01 16:55:33.561317213 +0200
+++ /tmp/puppet-file20160901-7674-1aimh6        2016-09-01 08:53:46.532658174 +0200
@@ -8,4 +8,5 @@
missingok
monthly
rotate 1

su
}

What behaviour did you expect instead
The su directive to be applied only to the new logrotate::rule
Output log
Any additional information you'd like to impart

After upgrading to Puppet4 this issue was automagically solved.


text:
Update pypi version and dependences

Hi, actually i'm in debian with python 3.7, and i try install from pip but sadlt didn't works
root@La:/home/pipe/a# pip3 install guesslang
Collecting guesslang
  Using cached https://files.pythonhosted.org/packages/d5/e2/0416000ea8c42665ca1c3a9b527b585e9a9610b4a6494d728358f25a3a46/guesslang-0.9.3-py3-none-any.whl
Collecting numpy (from guesslang)
  Downloading https://files.pythonhosted.org/packages/d6/c6/58e517e8b1fb192725cfa23c01c2e60e4e6699314ee9684a1c5f5c9b27e1/numpy-1.18.5-cp37-cp37m-manylinux1_x86_64.whl (20.1MB)
    100% |████████████████████████████████| 20.1MB 16kB/s
Collecting tensorflow==1.7.0rc1 (from guesslang)
  Could not find a version that satisfies the requirement tensorflow==1.7.0rc1 (from guesslang) (from versions: 1.13.0rc1, 1.13.0rc2, 1.13.1, 1.13.2, 1.14.0rc0, 1.14.0rc1, 1.14.0, 2.0.0a0, 2.0.0b0, 2.0.0b1)
No matching distribution found for tensorflow==1.7.0rc1 (from guesslang)

Thx.

Hi @latot
You can install the latest version with pip3 install guesslang==2.0.0a1
I didn't update the pypi version yet.
Thanks.

okis, for now i change the issue's name, and thx telling me how install it :)

@yoeo Hi, i'm trying now what you wrote, sadly didn't works u.u
pip3 install guesslang==2.0.0a1
Collecting guesslang==2.0.0a1
  Downloading https://files.pythonhosted.org/packages/d4/31/ac242280a56496bb280ef06c64ceb742a5bd3a9ab72ea6d5500cbe2e5ce5/guesslang-2.0.0a1-py3-none-any.whl (13.0MB)
    100% |████████████████████████████████| 13.0MB 129kB/s
Collecting tensorflow==2.2.0 (from guesslang==2.0.0a1)
  Could not find a version that satisfies the requirement tensorflow==2.2.0 (from guesslang==2.0.0a1) (from versions: 1.13.0rc1, 1.13.0rc2, 1.13.1, 1.13.2, 1.14.0rc0, 1.14.0rc1, 1.14.0, 2.0.0a0, 2.0.0b0, 2.0.0b1)
No matching distribution found for tensorflow==2.2.0 (from guesslang==2.0.0a1)

That's strange...
Could you tell me:

Which version of Python are you using?
Which OS are you using? Which version?

I updated a new stable Guesslang version, you can now install it with pypi install guesslang
I'm able to install it on a fresh virtual environment:
✓ pip3 install guesslang==2.0.0a1
Collecting guesslang==2.0.0a1
  Using cached guesslang-2.0.0a1-py3-none-any.whl (13.0 MB)
Collecting tensorflow==2.2.0
  Using cached tensorflow-2.2.0-cp37-cp37m-manylinux2010_x86_64.whl (516.2 MB)
Collecting protobuf>=3.8.0
  Using cached protobuf-3.12.2-cp37-cp37m-manylinux1_x86_64.whl (1.3 MB)
Collecting tensorflow-estimator<2.3.0,>=2.2.0
  Using cached tensorflow_estimator-2.2.0-py2.py3-none-any.whl (454 kB)
Collecting astunparse==1.6.3
  Using cached astunparse-1.6.3-py2.py3-none-any.whl (12 kB)
Requirement already satisfied: wheel>=0.26; python_version >= "3" in ***/lib/python3.7/site-packages (from tensorflow==2.2.0->guesslang==2.0.0a1) (0.34.2)
Collecting grpcio>=1.8.6
  Using cached grpcio-1.29.0-cp37-cp37m-manylinux2010_x86_64.whl (3.0 MB)
Collecting google-pasta>=0.1.8
  Using cached google_pasta-0.2.0-py3-none-any.whl (57 kB)
Collecting tensorboard<2.3.0,>=2.2.0
  Using cached tensorboard-2.2.2-py3-none-any.whl (3.0 MB)
Collecting opt-einsum>=2.3.2
  Using cached opt_einsum-3.2.1-py3-none-any.whl (63 kB)
Collecting six>=1.12.0
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Processing ***/termcolor-1.1.0-cp37-none-any.whl
Collecting h5py<2.11.0,>=2.10.0
  Using cached h5py-2.10.0-cp37-cp37m-manylinux1_x86_64.whl (2.9 MB)
Collecting numpy<2.0,>=1.16.0
  Using cached numpy-1.18.5-cp37-cp37m-manylinux1_x86_64.whl (20.1 MB)
Collecting keras-preprocessing>=1.1.0
  Using cached Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB)
Processing ***/wrapt-1.12.1-py3-none-any.whl
Collecting scipy==1.4.1; python_version >= "3"
  Using cached scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl (26.1 MB)
Collecting gast==0.3.3
  Using cached gast-0.3.3-py2.py3-none-any.whl (9.7 kB)
Processing ***/absl_py-0.9.0-py3-none-any.whl
Requirement already satisfied: setuptools in ***/lib/python3.7/site-packages (from protobuf>=3.8.0->tensorflow==2.2.0->guesslang==2.0.0a1) (47.3.1)
Collecting tensorboard-plugin-wit>=1.6.0
  Using cached tensorboard_plugin_wit-1.6.0.post3-py3-none-any.whl (777 kB)
Collecting google-auth-oauthlib<0.5,>=0.4.1
  Using cached google_auth_oauthlib-0.4.1-py2.py3-none-any.whl (18 kB)
Collecting markdown>=2.6.8
  Using cached Markdown-3.2.2-py3-none-any.whl (88 kB)
Collecting requests<3,>=2.21.0
  Downloading requests-2.24.0-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 616 kB/s
Collecting google-auth<2,>=1.6.3
  Using cached google_auth-1.17.2-py2.py3-none-any.whl (90 kB)
Collecting werkzeug>=0.11.15
  Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Collecting requests-oauthlib>=0.7.0
  Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)
Collecting importlib-metadata; python_version < "3.8"
  Using cached importlib_metadata-1.6.1-py2.py3-none-any.whl (31 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2020.4.5.2-py2.py3-none-any.whl (157 kB)
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
  Using cached urllib3-1.25.9-py2.py3-none-any.whl (126 kB)
Collecting chardet<4,>=3.0.2
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting idna<3,>=2.5
  Using cached idna-2.9-py2.py3-none-any.whl (58 kB)
Collecting rsa<5,>=3.1.4; python_version >= "3"
  Using cached rsa-4.6-py3-none-any.whl (47 kB)
Collecting cachetools<5.0,>=2.0.0
  Using cached cachetools-4.1.0-py3-none-any.whl (10 kB)
Collecting pyasn1-modules>=0.2.1
  Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
Collecting oauthlib>=3.0.0
  Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)
Collecting zipp>=0.5
  Using cached zipp-3.1.0-py3-none-any.whl (4.9 kB)
Collecting pyasn1>=0.1.3
  Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
Installing collected packages: six, protobuf, tensorflow-estimator, astunparse, grpcio, google-pasta, tensorboard-plugin-wit, oauthlib, certifi, urllib3, chardet, idna, requests, requests-oauthlib, pyasn1, rsa, cachetools, pyasn1-modules, google-auth, google-auth-oauthlib, absl-py, zipp, importlib-metadata, markdown, numpy, werkzeug, tensorboard, opt-einsum, termcolor, h5py, keras-preprocessing, wrapt, scipy, gast, tensorflow, guesslang
Successfully installed absl-py-0.9.0 astunparse-1.6.3 cachetools-4.1.0 certifi-2020.4.5.2 chardet-3.0.4 gast-0.3.3 google-auth-1.17.2 google-auth-oauthlib-0.4.1 google-pasta-0.2.0 grpcio-1.29.0 guesslang-2.0.0a1 h5py-2.10.0 idna-2.9 importlib-metadata-1.6.1 keras-preprocessing-1.1.2 markdown-3.2.2 numpy-1.18.5 oauthlib-3.1.0 opt-einsum-3.2.1 protobuf-3.12.2 pyasn1-0.4.8 pyasn1-modules-0.2.8 requests-2.24.0 requests-oauthlib-1.3.0 rsa-4.6 scipy-1.4.1 six-1.15.0 tensorboard-2.2.2 tensorboard-plugin-wit-1.6.0.post3 tensorflow-2.2.0 tensorflow-estimator-2.2.0 termcolor-1.1.0 urllib3-1.25.9 werkzeug-1.0.1 wrapt-1.12.1 zipp-3.1.0

Hi, still not working, i'm using python 3.7.3 with Debian 10 (buster) x64.
pip3 install --no-cache-dir -U guesslang==2.0.0a1
Collecting guesslang==2.0.0a1
  Downloading https://files.pythonhosted.org/packages/d4/31/ac242280a56496bb280ef06c64ceb742a5bd3a9ab72ea6d5500cbe2e5ce5/guesslang-2.0.0a1-py3-none-any.whl (13.0MB)
    100% |████████████████████████████████| 13.0MB 19.2MB/s
Collecting tensorflow==2.2.0 (from guesslang==2.0.0a1)
  Could not find a version that satisfies the requirement tensorflow==2.2.0 (from guesslang==2.0.0a1) (from versions: 1.13.0rc1, 1.13.0rc2, 1.13.1, 1.13.2, 1.14.0rc0, 1.14.0rc1, 1.14.0, 2.0.0a0, 2.0.0b0, 2.0.0b1)
No matching distribution found for tensorflow==2.2.0 (from guesslang==2.0.0a1)

I try installing and upgrading tensorflow too, but the installed version was the 1.14.
Thx.

Hello,
Thanks for the info, I was able to reproduce your issue in a Debian 10 virtual machine:
user@debian:~$ pip install guesslang
Collecting guesslang
  Cache entry deserialization failed, entry ignored
  Using cached https://files.pythonhosted.org/packages/1c/d3/369d13611fb26eeb2b79098398705d22781e5ead7e9883e418ef41426d03/guesslang-2.0.0-py3-none-any.whl
Collecting tensorflow==2.2.0 (from guesslang)
  Cache entry deserialization failed, entry ignored
  Could not find a version that satisfies the requirement tensorflow==2.2.0 (from guesslang) (from versions: 1.13.0rc1, 1.13.0rc2, 1.13.1, 1.13.2, 1.14.0rc0, 1.14.0rc1, 1.14.0, 2.0.0a0, 2.0.0b0, 2.0.0b1)
No matching distribution found for tensorflow==2.2.0 (from guesslang)

You can fix this issue by upgrading your "pip" version then installing Guesslang:
pip3 install --upgrade pip
pip3 install guesslang

:O Nice, just to avoid break the system pip3 install --user --upgrade pip
All working now :)

authors: latot yoeo

repo: yoeo/guesslang


text:
tomato share

Cannot mount smb share on tomato router - cifs1/2 no authentication

@to0w1r3d I cannot find the reason, because the information you reported was very little. Could you confirm the debug console log by using the following steps?
https://github.com/yoichiro/chromeos-filesystem-cifs/wiki/How-to-Capture-the-Console-Log-of-DevTools

@to0w1r3d I close this issue, because you didn't provide enough information to solve this issue. You can re-open this, if you get same issue with the latest version. Thank you for the reporting.

repo: yoichiro/chromeos-filesystem-cifs


text:
Fork virtual-dom

Not using all of the features of virtual-dom (too big)
There many optimizations that I could make (for my specific use case)
Need to add a few small features (for my specific use case)

Hi @garbles,
I really like the minimalist and easy to use API of yolk. Thanks for making the effort to put it together!
Do you plan to remove virtual-dom as a dependency?
I have a question regarding your presentation only tangentially related to this issue. In the presentation all your examples user use JSX React components. Can you share an example with virtual-dom?

Hi @adicirstei,
I'm planning to replace virtual-dom with this or a better solution. There are a few optimizations that I'm able to make for the Yolk use case. For example, I don't need Thunks or the ability to parse tags.
The examples in the presentation use JSX, but not React. Unfortunately JSBin does not allow me to specify the JSX Pragma so it defaults to React.createElement. Hidden on the HTML panel of each of those bins, you'll see that I had to say React.createElement = Yolk.createElement.

Completed here: https://github.com/yolkjs/yolk/pull/23

authors: adicirstei garbles

repo: yolkjs/yolk


text:
Make Swaggen library work on Linux and split Model/Request/Client

Sorry it's a big PR 🙇♂
This PR make swagger library work on Linux(with FoundationNetworking when needed) and still work on Darwin.
I did these changes because I needed to have a generated library working on Linux and Alamofire even the version 5 don't support Linux(https://github.com/Alamofire/Alamofire/pull/3098).
This PR will give more control on which part of generated code you want to use:

only Models (no need for Alamofire)
Models + Requests (no need for Alamofire / you can create a simple client if needed on Linux for example)
Models + Request + Client (required Alamofire)

The generated code is usable with or without dynamic library(it will now work with dynamic dependencies in Xcodegen that are imported in multiples frameworks).
This should change nothing at all to most people except the removal of Timeline(which is a class of Alamofire that have bleed into the client).
This should simplify refactoring of any part of the template if needed. For example if we want to migrate out of Alamofire it easier because now there is only one part of the code to focus on to remove it.
I did move code around lot and made multiple SPM targets but tried to reduce the other modifications to the strict minimum.
├── Client
│   ├── APIClient.swift
│   └── RequestBehaviour.swift
├── Models
│   ├── APIModel.swift
│   ├── AnyCodable.swift
│   ├── Coding.swift
│   ├── Enum.swift
│   └── Model.swift
├── Requests
│   ├── API.swift
│   ├── APIRequest.swift
│   ├── APIResponse.swift
│   ├── APIService.swift
│   ├── AnyRequest.swift
│   └── Request.swift
└── SharedCode
    ├── APIClientError.swift
    └── APIResult.swift

Issue

This force me to remove Timeline feature of Alamofire.

Questions
I'm not sure of what should be public in KeyedDecodingContainer if I can have guidance on that @yonaskolb ?

Should this be in another Template(Linux) ?
The client could be made using https://github.com/swift-server/async-http-client ?

Adding test on podspec in CI could be great too.
#!/usr/bin/env sh

sw_version=$(swift --version | head -n 1 | cut -d ' ' -f 4)
podspec=$(ls *.podspec)
pod lib lint "${podspec}" --no-clean --verbose --swift-version="${sw_version}" --use-libraries --allow-warnings

@yonaskolb I would love to have your insight on this when you have time. Thanks

I would love to drop support for Cocoapods and Carthage since SPM is now compatible with iOS projects(and it will slightly simplify the code).

Hi @mackoj! Thanks for your work on this. There seem to be 3 main changes bundle up in this PR

Removing Alamofire from generated code: This is great and something people have asked for for a while.
Get generated template running on Linux: This is facilitated by the above, and perhaps some other small changes. (I haven't gone through everything). This is definitely useful.
Splitting up the generated code into multiple modules: This is quite a large and complicated change. I would urge you to use your own template if you want this sort of change. This can be done using the --template argument

Would you be able to create a PR for 1, then a follow up with a PR for 2? For number 3 I would probably leave that to your own template, but if you want to submit that after as another PR we can review more closely

Hi @yonaskolb,
Thanks for taking the time to review this.

1. Removing Alamofire from generated code: This is great and something people have asked for for a while.

I did not remove Alamofire for the moment I split the generated into multiple module that allow me to not use the client part on Linux and other iOS project. In order to fully remove Alamofire we will need to rewrite the client part of the template.

2. Get generated template running on Linux: This is facilitated by the above, and perhaps some other small changes. (I haven't gone through everything). This is definitely useful.

Removing the Timeline object(removed from APIClient/APIResponse/RequestBehaviour) allow me to move Alamofire in the Client folder but force me to add the two functions below in APIRequest in order to make createURLRequest work again.
  private func encodeURLParameters(_ urlRequest: URLRequest, with parameters: [String: Any]?) throws -> URLRequest {
    var urlRequest = urlRequest
    guard let parameters = parameters else { return urlRequest }
    guard let url = urlRequest.url else { throw(APIClientError.missingURL) }

    if var urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: url.resolvingAgainstBaseURL), !parameters.isEmpty {
      var queryItems = urlComponents.queryItems ?? []
      let urlQueryItems = parameters.map { (arg0) -> URLQueryItem in
        let (key, value) = arg0
        return URLQueryItem(name: key, value: value as? String)
      }
      queryItems.append(contentsOf: urlQueryItems)
      urlComponents.queryItems = queryItems
      urlRequest.url = urlComponents.url
      return urlRequest
    }
    throw(APIClientError.urlEncodingError)
  }

  private func encodeFormParam(_ urlRequest: URLRequest, with parameters: [String: Any]?) throws -> URLRequest {
    var urlRequest = urlRequest
    guard let parameters = parameters else { return urlRequest }
    guard let url = urlRequest.url else { throw(APIClientError.missingURL) }

    if urlRequest.value(forHTTPHeaderField: "Content-Type") == nil {
        urlRequest.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type")
    }

    if var urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: url.resolvingAgainstBaseURL), !parameters.isEmpty {
      var queryItems = urlComponents.queryItems ?? []
      let urlQueryItems = parameters.map { (arg0) -> URLQueryItem in
        let (key, value) = arg0
        return URLQueryItem(name: key, value: value as? String)
      }
      queryItems.append(contentsOf: urlQueryItems)
      urlComponents.queryItems = queryItems

      urlRequest.httpBody = urlComponents.queryItems?.map { (queryItem) -> String in
        "\(queryItem.name)=\(queryItem.value)"
      }.joined(separator: "&").data(using: .utf8, allowLossyConversion: false)
    }

    throw(APIClientError.urlEncodingError)
  }

3. Splitting up the generated code into multiple modules: This is quite a large and complicated change. I would urge you to use your own template if you want this sort of change. This can be done using the --template argument

The rest of the change are missing public or import. I can do another template but I want to upstream this one because it don't really differ from the original Swift template it is basically the same with some code moved around and isolation of Alamofire in the client folder/target.
Most of the work require the splitting up of generated code in order to make sense and the split is really working only in SPM for the moment.
Thus I don't see how I can split this into smaller PR maybe I can redo a PR without the fixtures then you will be able to better parse the signal from the noise.

https://github.com/yonaskolb/SwagGen/pull/232

authors: mackoj yonaskolb

repo: yonaskolb/SwagGen


text:
Add extension that allows UUID to be encoded

This PR adds code to encode the UUID type

Thanks @peterringset! 👍

authors: peterringset yonaskolb


text:
Failed to resolve dependency from jcenter

Can't get dependency from jcenter:

Failed to resolve: com.infstory:kotlinx-android-sharedpreferences:1.0.0

Hi @timurgilfanov ,
Sorry, it no works now, could you get deps from jitpack instead?

authors: timurgilfanov yongjhih

repo: yongjhih/kotlin-extensions


text:
License issues

Hi :-).
I read through your license file and noticed a couple of things:

It's spelled "LICENCE" instead of "LICENSE". This can make automatic LICENSE detectors miss your file
You (Yeung Shu Hung) share the copyright with "the Go Authors", but aren't you the sole author of this project?

It'd be nice if you can change the spelling from "LICENCE" to "LICENSE", as this may make it easier for automatic license detectors to find your license file.
Number 2 isn't a big deal, it's your project and you get to assign copyright to whoever you want of course. I just thought it was curious :-).
Cheers!

Hi @js-sketch,
Thanks for reading about this project. My answers to your comments:

Thanks for spotting out. Will change it later.
Some of the source code (mainly, fcgi.go) is from the core Go fcgi library. I do not solely own that part of the source code. So I licensed it accordingly.

Some of the source code (mainly, fcgi.go) is from the core Go fcgi library. I do not solely own that part of the source code. So I licensed it accordingly.

Ah, cheers! I tried looking into the git log to see if you had clearly copied some code, but I didn't look closely enough apparently.

authors: js-sketch yookoala

repo: yookoala/gofast


text:
Data is not saved when using a specific field name. ( root.compList )

What happened:
Data is not saved when using a specific field name. ( root.compList )
What you expected to happen:
to work well
How to reproduce it (as minimally and precisely as possible):
Use the code below
        // init yorkie
        let yorkieDoc;
        async function main() {
            const client = new yorkie.Client('https://***.****.com', {
                apiKey: '*****',
            });
            await client.activate();

            yorkieDoc = new yorkie.Document('my-first-document');
            await client.attach(yorkieDoc);

            yorkieDoc.update((root) => {
                if (!root.compList) {
                    root.compList = [];
                }
            }, 'create content if not exists');

            yorkieDoc.subscribe(event => {
                console.log(event);
            });
        }

        main();

       // add data
        yorkieDoc.update(root => {
            root.compList.push({
                id: data.id
            });
        });

Anything else we need to know?:
Environment:

Operating system: MacOS 13.0.1
Browser and version: Chrome 107
Yorkie version (use yorkie version):
Yorkie JS SDK version: 0.2.16

It won't be reproduced. I will close this issue.

authors: denzels hackerwins

repo: yorkie-team/yorkie-js-sdk


text:
Prevent selecting while drawing

We should prevent the text selection event while drawing on the canvas. Currently, as shown above, text are randomly selected while drawing on mobile devices.

It looks like already fixed.


text:
Hitting Buildings affects health

For some reason when destroying buildings Player Health Decreases

Resolved - tested by Harry

authors: dom-hall printincident


text:
一覧画面が正しく表示されません

一覧の画面で、表示直後に画面が崩れてしまいます。
小見出し

対応しました


text:
🛑 Hacker News is down

In f86dcdc, Hacker News (https://news.ycombinator.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Hacker News is back up in 7b5c72a after 2 hours, 22 minutes.

repo: yoshi-jotaeyang/upptime


text:
Add New Cash Codelist into options for default-aid-type

Hi Aidstream Team
Now that the new codelist for cash and voucher modalities has been added into the IATI Standard please could Aidstream be updated so that the new codelist can be used (via default-aid-type at both activity and transaction level)
Many thanks

Hi Wendy,
Thank you for updating us with the recent changes.
We will definitely integrate it in AidStream.
Regards,
Karuna

Hi Wendy,
The Cash and Voucher Modalities codelist has been added to both Activity and Transaction Level.
Thank you

authors: 77karuna manibibek wendyrogers

repo: younginnovations/aidstream


text:
Use InetSocketAddress as function param in RpcClientFactory

SocketAddress represents a socket address with no protocol attachment.
It is too general to be useful as often the subclass needs to know the
hostname and port info.

@enisoc

LGTM

authors: enisoc yaoshengzhe

repo: youtube/vitess


text:
v3: vschema broken out by keyspace

@alainjobart

This change is

LGTM after (minor) comments are addressed.

authors: alainjobart sougou


text:
Write comments

To shut golint warnings

done

repo: yowcow/go-romdb


text:
Chrome 71 autojoin not working anymore

When pressing the "Join Now" button on GBF Raiders, raids aren't automatically joined anymore (even if the API box is ticked). The following error appears on the console:
Error sending join command to Viramate: Cannot read property 'contentWindow' of null TypeError: Cannot read property 'contentWindow' of null
    at SendJoinCommand (main.js:773)
    at HTMLButtonElement.<anonymous> (raids.js:283)

I did roll back to Chrome 70, no problem. It doesn't seems to be a Viramate issue since joining through api_test.html is working fine as well.

Your browser does not support iframes.

Looks like the issue is that this iframe used to load right above the welcome div, but for some reason it doesn't load in chrome 71

This should be re-opened, still having issue as of today, Chrome 72.0.3626.121
Chrome 70 still has no issue.

@Antipika please make sure that the browser cache is cleared. Also, try the site in incognito mode to see if that works. The issue that caused this has been fixed as long as your browser has the correct version.

Cleared cache and worked, sorry again about that :)

authors: Antipika bosiddon ypinskiy

repo: ypinskiy/GBF-Raiders


text:
Implement transpose for MSE column matrix version

672f5fdc57f9764a0949eb5fcd09110c3214a60e
https://en.wikipedia.org/wiki/Mean_squared_error

>>> import numpy as np
>>> a = np.array(range(4)).reshape(2,2)
>>> a
array([[0, 1],
       [2, 3]])
>>> a.T
array([[0, 2],
       [1, 3]])
>>> a
array([[0, 1],
       [2, 3]])
>>> a.transpose()
array([[0, 2],
       [1, 3]])
>>> a
array([[0, 1],
       [2, 3]])

>>> import torch
>>> torch.tensor(range(4))
tensor([0, 1, 2, 3])
>>> t = torch.tensor(range(4)).reshape(2,2)
>>> t
tensor([[0, 1],
        [2, 3]])
>>> t.T
tensor([[0, 2],
        [1, 3]])
>>> t
tensor([[0, 1],
        [2, 3]])
>>> t.transpose()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: transpose() received an invalid combination of arguments - got (), but expected one of:
 * (int dim0, int dim1)
 * (name dim0, name dim1)

>>> t.transpose(0, 1)
tensor([[0, 2],
        [1, 3]])
>>> t
tensor([[0, 1],
        [2, 3]])

repo: yrmo/cudagrad


text:
Not Working In Windows 11

Hope can fix it and work in Windows 11
Thank You 😊

It works for me in windows 11 😎

It works for me in windows 11 😎

I can't I press the taskbar icon it not showing anything I also run it on administrator also didn't work 😔

There are some problems with WIndows 11 specifically. I dont know if its due to my hardware but the thing actually works. The "Phone Link" app can cause problems. So first stop phone link on your android device if you have it and then pair it with windows, if you get an error stop the AudioPlaybackConnector from task manager and then try. Once paired try connecting from the dialogue of AudioPlaybackConnector and it should work.

Hope can fix it and work in Windows 11 Thank You 😊

Provide details as to what is actually wrong?

It works for me in windows 11 😎

I can't I press the taskbar icon it not showing anything I also run it on administrator also didn't work 😔

Have you check where the shorcut is pointed to? is the exe actually there?

There are some problems with WIndows 11 specifically. I dont know if its due to my hardware but the thing actually works. The "Phone Link" app can cause problems. So first stop phone link on your android device if you have it and then pair it with windows, if you get an error stop the AudioPlaybackConnector from task manager and then try. Once paired try connecting from the dialogue of AudioPlaybackConnector and it should work.

Newest version of win 11. I used the "Phone Link" at the same time, it's totally okay, nothing wrong will happen.
最新的win10没问题，也不会和win自带的连手机app冲突，这个bug怎么复现啊。

authors: KIANCHONGYT KarimFereidooni brentleywilson jingcjie utkarshsethi


text:
hexo g出现问题

ERROR ReferenceError: /Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/archive.ejs:6
4| }) %>
5|

6|     <%
7|         var posts = [];
8|
9|         page.posts.each(function(post){

_ is not defined
at eval (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/archive.ejs:24:25)
at archive (/Users/apple/Documents/steady/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiled (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:136:50)
at _View.render (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:39:17)
at /Users/apple/Documents/steady/blog/node_modules/hexo/lib/hexo/index.js:64:21
at tryCatcher (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/util.js:16:23)
at /Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/method.js:15:34
at RouteStream._read (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/hexo/router.js:47:5)
at RouteStream.Readable.read (stream_readable.js:479:10)
at resume (_stream_readable.js:966:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
path: '/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/archive.ejs'
}
ERROR ReferenceError: /Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/tag.ejs:1

1| <%- partial('tags', {
2|     title: theme.tags_title + ': '+ page.tag
3| }) %>
4|

/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/tags.ejs:1

1| <%- partial('_partial/header', {
2|     title: locals.title || theme.tags_title,
3|     hdClass: 'tags-header'
4| }) %>

/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/header.ejs:40
38|
39|

40|     <%- partial('tags-bar', {
41|         type: hdClass.split('-')[0]
42|     }) %>
43|

/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/tags-bar.ejs:7
5|         <%= __('tag.all') %>

7|         <%
8|             var options = [];
9|
10|             (type === 'tags' ? site.tags : site.categories).each(function(o) {

_ is not defined
at eval (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/tags-bar.ejs:34:25)
at tags-bar (/Users/apple/Documents/steady/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiledSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:132:24)
at _View.renderSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:59:25)
at Object.partial (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/plugins/helper/partial.js:34:15)
at eval (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/header.ejs:57:17)
at header (/Users/apple/Documents/steady/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiledSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:132:24)
at _View.renderSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:59:25)
at Object.partial (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/plugins/helper/partial.js:34:15)
at eval (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/tags.ejs:10:17)
at tags (/Users/apple/Documents/steady/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiledSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:132:24)
at _View.renderSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:59:25)
at Object.partial (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/plugins/helper/partial.js:34:15)
at eval (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/tag.ejs:10:17)
at tag (/Users/apple/Documents/steady/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiled (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:136:50)
at _View.render (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:39:17)
at /Users/apple/Documents/steady/blog/node_modules/hexo/lib/hexo/index.js:64:21
at tryCatcher (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/util.js:16:23)
at /Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/method.js:15:34 {
path: '/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/tag.ejs'
}
ERROR {
err: ReferenceError: /Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/layout.ejs:6
4|
5|     <%- partial('_partial/loading') %>

6|     <%- partial('_partial/menu') %>
7|
8|         <%- body %>
9|         <%- partial('_partial/footer') %>

/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/menu.ejs:27
25|             menuItem = theme.menu[i];
26|           %>

27|
28|               <a href="<%- url_for(menuItem.url) %>" <% if(menuItem.target){ %>target="_blank"<% } %> >
29|
30|                 <%=(menuItem.text || _.startCase(i)) %>

_ is not defined
at isActive (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/menu.ejs:34:88)
at eval (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/menu.ejs:42:11)
at menu (/Users/apple/Documents/steady/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiledSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:132:24)
at _View.renderSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:59:25)
at Object.partial (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/plugins/helper/partial.js:34:15)
at eval (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/layout.ejs:18:17)
at layout (/Users/apple/Documents/steady/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiled (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:136:50)
at _View.render (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:39:17)
at /Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:51:25
at tryCatcher (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (internal/timers.js:461:21) {
path: '/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/layout.ejs'
}
} Render HTML failed: index.html
ERROR ReferenceError: /Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/layout.ejs:6
4|
5|     <%- partial('_partial/loading') %>

6|     <%- partial('_partial/menu') %>
7|
8|         <%- body %>
9|         <%- partial('_partial/footer') %>

/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/menu.ejs:27
25|             menuItem = theme.menu[i];
26|           %>

27|
28|               <a href="<%- url_for(menuItem.url) %>" <% if(menuItem.target){ %>target="_blank"<% } %> >
29|
30|                 <%=(menuItem.text || _.startCase(i)) %>

_ is not defined
at isActive (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/menu.ejs:34:88)
at eval (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/_partial/menu.ejs:42:11)
at menu (/Users/apple/Documents/steady/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiledSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:132:24)
at _View.renderSync (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:59:25)
at Object.partial (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/plugins/helper/partial.js:34:15)
at eval (/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/layout.ejs:18:17)
at layout (/Users/apple/Documents/steady/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiled (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:136:50)
at _View.render (/Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:39:17)
at /Users/apple/Documents/steady/blog/node_modules/hexo/lib/theme/view.js:51:25
at tryCatcher (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/Users/apple/Documents/steady/blog/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (internal/timers.js:461:21) {
path: '/Users/apple/Documents/steady/blog/themes/hexo-theme-indigo/layout/layout.ejs'
}
INFO  Generated: sitemap.xml
INFO  1 files generated in 75 ms

使用hexo4或者把_.xxx 替换为原生的写法

我曾找过很久的博客主题，觉得就 indigo 最好看，没有之一，可惜作者不维护了呀。。。

authors: MrChen1993 Steady-brother naivesecret

repo: yscoder/hexo-theme-indigo

license: unlicense


text:
using rootView instead of first child

https://github.com/yshrsmz/KeyboardVisibilityEvent/issues/61
Not sure this is the best solution but works for me

thanks, let's see how it goes ;)

authors: kuno yshrsmz

repo: yshrsmz/KeyboardVisibilityEvent


text:
Download from a list of url and multiple downloads

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 asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
Hi, came across this program recently, still figuring it out but so far working well,
Just wanted to ask if it was possible to download from a list or url and also to do more than one at a time,
Had it working by manually doing 1 in different windows, but want to know if its possible to import/run the program and download from a saved list or url and run them all at the same time,
thx
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
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

With -a you can pass a text file containing a list of links https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#filesystem-options
A single yt-dlp instance can't run multiple downloads in parallel. I would also not recommend this. If downloading from Youtube you should instead add some of the sleep options to slow downloading/extraction down since otherwise your IP might get blocked.

also to do more than one at a time
manually doing 1 in different windows

You might be looking for gnu parallel: https://www.gnu.org/software/parallel/, which allows you to easily run shell commands in parallel

authors: StefanLobbenmeier seproDev soullessj

repo: yt-dlp/yt-dlp