KBM sends unnecessary key up on releasing a modifier in a remapped shortcut to key

ℹ Computer information

PowerToys version: master
PowerToy Utility:
Running PowerToys as Admin:
Windows build number: [run "winver"]

📝 Provide detailed reproduction steps (if any)
View keyboard events using a tool like AHK or any other keyboard event logger

Remap Win+Ctrl+A->B
Press Win+Ctrl+A
Release A followed by Ctrl

✔ Expected result
What is the expected result of the above steps?
Key up should be sent for B only once
❌ Actual result
What is the actual result of the above steps?
Key up is sent for B twice successively.
📷 Screenshots
Are there any useful screenshots? WinKey+Shift+S and then just paste them directly into the form

Added in 0.25.  https://github.com/microsoft/PowerToys/releases/tag/v0.25.0


Inserting into SQL server with fast_executemany results in MemoryError

Environment
To diagnose, we usually need to know the following, including version numbers.  On Windows, be
sure to specify 32-bit Python or 64-bit:

Python: 3.6.8
pyodbc: 4.0.26
OS: Alpine 3.8
DB: Azure SQL Database
driver: Microsoft ODBC Driver 17 for SQL Server

Issue
I'm loading data from a SQL Server 2016 towards Azure SQL Database. When inserting rows with a parameterized insert statement and fast_executemany=False, it works perfectly fine. When turning fast_executemany on, a very brief error message is displayed:
in bulk_insert_rows     cursor.executemany(sql, row_chunk) MemoryError
This is all I get. I've tried setting different encodings on the connection, such as described here: https://github.com/mkleehammer/pyodbc/wiki/Unicode.
Looking for other ideas to troubleshoot. Thanks.

How many rows are you trying to insert, what is the schema of the table, and how much memory do you have?
The fast_executemany feature constructs the entire rowset in memory to send all at once to the driver, which is how it gets its performance, but that also means it requires far more memory than regular executemany.

The batch sizes are only 100 rows and 10 columns wide. Without fast_executemany there are even more insert statement than with, if I'm right? But I've also tried with 10 rows and even then no luck.
Also, the error message is very brief, but to me memory error sounds like something else than memory overload?

What are the types of the columns? Could you post an ODBC trace as well?

Is there any way to make pyodbc itself more verbose? It would be useful to have a longer error message than just 'MemoryError'.
I've made an ODBC trace with one table as example. It happened with all tables and all kinds of column types, but this specific table has the following types:

datetime2
uniqueidentifier
ntext

Here is the ODBC trace of the last SQL statement that executed before the error occured. The only other thing that happened was reading data from another source, which succeeded. It was a MERGE INTO statement, but the error also occurred with INSERT INTO.
Please remind that this exact setup works perfectly when setting cursor.fast_executemany=False.
ODBC trace:
`[ODBC][43][1553422489.399663][SQLDriverConnectW.c][290]
Entry:
Connection = 0x55c831bd68e0
Window Hdl = (nil)
Str In = [driver=ODBC Driver 17 for SQL Server;server=xxxx.database.windows.net;uid=xxxx@xxxx;pwd=xxxx;database=xxxx...][length = 144 (SQL_NTS)]
Str Out = (nil)
Str Out Max = 0
Str Out Ptr = (nil)
Completion = 0
UNICODE Using encoding ASCII 'UTF-8' and UNICODE 'UTF-16LE'
[ODBC][43][1553422491.794425][SQLDriverConnectW.c][914]
Exit:[SQL_SUCCESS_WITH_INFO]
Connection Out [[NULL]]
[ODBC][43][1553422491.803928][SQLSetConnectAttr.c][399]
Entry:
Connection = 0x55c831bd68e0
Attribute = SQL_ATTR_AUTOCOMMIT
Value = (nil)
StrLen = -5
[ODBC][43][1553422491.858737][SQLSetConnectAttr.c][862]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422491.866251][SQLAllocHandle.c][540]
Entry:
Handle Type = 3
Input Handle = 0x55c831bd68e0
[ODBC][43][1553422491.870757][SQLAllocHandle.c][1085]
Exit:[SQL_SUCCESS]
Output Handle = 0x55c831bd7d70
[ODBC][43][1553422491.887481][SQLFreeStmt.c][144]
Entry:
Statement = 0x55c831bd7d70
Option = 0
[ODBC][43][1553422491.892978][SQLFreeStmt.c][266]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422491.898865][SQLPrepareW.c][165]
Entry:
Statement = 0x55c831bd7d70
SQL = [MERGE INTO xxxx.xxxx AS Target USING (SELECT * FROM (VALUES (?,?,?,?,?,?,?)) AS t (ID, CreatedOn, UpdatedO...][length = 717]
[ODBC][43][1553422491.905985][SQLPrepareW.c][346]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422491.911176][SQLNumParams.c][144]
Entry:
Statement = 0x55c831bd7d70
Param Count = 0x7ffd7e3276be
[ODBC][43][1553422491.919205][SQLNumParams.c][231]
Exit:[SQL_SUCCESS]
Count = 0x7ffd7e3276be -> 7
[ODBC][43][1553422491.924571][SQLDescribeParam.c][185]
Entry:
Statement = 0x55c831bd7d70
Parameter Number = 1
SQL Type = 0x55c831c88a42
Param Def = 0x55c831c88a48
Scale = 0x55c831c88a50
Nullable = 0x7ffd7e327788
[ODBC][43][1553422492.024730][SQLDescribeParam.c][338]
Exit:[SQL_SUCCESS]
SQL Type = 0x7ffd7e327210
Param Def = 0x7ffd7e327300
Scale = 0x7ffd7e3273f0
Nullable = 0x7ffd7e3274e0
[ODBC][43][1553422492.041028][SQLDescribeParam.c][185]
Entry:
Statement = 0x55c831bd7d70
Parameter Number = 2
SQL Type = 0x55c831c88aaa
Param Def = 0x55c831c88ab0
Scale = 0x55c831c88ab8
Nullable = 0x7ffd7e327788
[ODBC][43][1553422492.059479][SQLDescribeParam.c][338]
Exit:[SQL_SUCCESS]
SQL Type = 0x7ffd7e327210
Param Def = 0x7ffd7e327300
Scale = 0x7ffd7e3273f0
Nullable = 0x7ffd7e3274e0
[ODBC][43][1553422492.070956][SQLDescribeParam.c][185]
Entry:
Statement = 0x55c831bd7d70
Parameter Number = 3
SQL Type = 0x55c831c88b12
Param Def = 0x55c831c88b18
Scale = 0x55c831c88b20
Nullable = 0x7ffd7e327788
[ODBC][43][1553422492.083527][SQLDescribeParam.c][338]
Exit:[SQL_SUCCESS]
SQL Type = 0x7ffd7e327210
Param Def = 0x7ffd7e327300
Scale = 0x7ffd7e3273f0
Nullable = 0x7ffd7e3274e0
[ODBC][43][1553422492.093793][SQLDescribeParam.c][185]
Entry:
Statement = 0x55c831bd7d70
Parameter Number = 4
SQL Type = 0x55c831c88b7a
Param Def = 0x55c831c88b80
Scale = 0x55c831c88b88
Nullable = 0x7ffd7e327788
[ODBC][43][1553422492.104143][SQLDescribeParam.c][338]
Exit:[SQL_SUCCESS]
SQL Type = 0x7ffd7e327210
Param Def = 0x7ffd7e327300
Scale = 0x7ffd7e3273f0
Nullable = 0x7ffd7e3274e0
[ODBC][43][1553422492.114322][SQLDescribeParam.c][185]
Entry:
Statement = 0x55c831bd7d70
Parameter Number = 5
SQL Type = 0x55c831c88be2
Param Def = 0x55c831c88be8
Scale = 0x55c831c88bf0
Nullable = 0x7ffd7e327788
[ODBC][43][1553422492.126630][SQLDescribeParam.c][338]
Exit:[SQL_SUCCESS]
SQL Type = 0x7ffd7e327210
Param Def = 0x7ffd7e327300
Scale = 0x7ffd7e3273f0
Nullable = 0x7ffd7e3274e0
[ODBC][43][1553422492.137909][SQLDescribeParam.c][185]
Entry:
Statement = 0x55c831bd7d70
Parameter Number = 6
SQL Type = 0x55c831c88c4a
Param Def = 0x55c831c88c50
Scale = 0x55c831c88c58
Nullable = 0x7ffd7e327788
[ODBC][43][1553422492.146936][SQLDescribeParam.c][338]
Exit:[SQL_SUCCESS]
SQL Type = 0x7ffd7e327210
Param Def = 0x7ffd7e327300
Scale = 0x7ffd7e3273f0
Nullable = 0x7ffd7e3274e0
[ODBC][43][1553422492.156634][SQLDescribeParam.c][185]
Entry:
Statement = 0x55c831bd7d70
Parameter Number = 7
SQL Type = 0x55c831c88cb2
Param Def = 0x55c831c88cb8
Scale = 0x55c831c88cc0
Nullable = 0x7ffd7e327788
[ODBC][43][1553422492.165468][SQLDescribeParam.c][338]
Exit:[SQL_SUCCESS]
SQL Type = 0x7ffd7e327210
Param Def = 0x7ffd7e327300
Scale = 0x7ffd7e3273f0
Nullable = 0x7ffd7e3274e0
[ODBC][43][1553422492.174531][SQLBindParameter.c][217]
Entry:
Statement = 0x55c831bd7d70
Param Number = 1
Param Type = 1
C Type = -8 SQL_C_WCHAR
SQL Type = -11
Col Def = 36
Scale = 0
Rgb Value = 0x10
Value Max = 72
StrLen Or Ind = 0x58
[ODBC][43][1553422492.183767][SQLBindParameter.c][434]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422492.192958][SQLBindParameter.c][217]
Entry:
Statement = 0x55c831bd7d70
Param Number = 2
Param Type = 1
C Type = -8 SQL_C_WCHAR
SQL Type = -11
Col Def = 36
Scale = 0
Rgb Value = 0x60
Value Max = 72
StrLen Or Ind = 0xa8
[ODBC][43][1553422492.201846][SQLBindParameter.c][434]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422492.216360][SQLBindParameter.c][217]
Entry:
Statement = 0x55c831bd7d70
Param Number = 3
Param Type = 1
C Type = 93 SQL_C_TYPE_TIMESTAMP
SQL Type = 93 SQL_TYPE_TIMESTAMP
Col Def = 27
Scale = 7
Rgb Value = 0xb0
Value Max = 16
StrLen Or Ind = 0xc0
[ODBC][43][1553422492.228062][SQLBindParameter.c][434]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422492.238050][SQLBindParameter.c][217]
Entry:
Statement = 0x55c831bd7d70
Param Number = 4
Param Type = 1
C Type = 93 SQL_C_TYPE_TIMESTAMP
SQL Type = 93 SQL_TYPE_TIMESTAMP
Col Def = 27
Scale = 7
Rgb Value = 0xc8
Value Max = 16
StrLen Or Ind = 0xd8
[ODBC][43][1553422492.247999][SQLBindParameter.c][434]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422492.260835][SQLBindParameter.c][217]
Entry:
Statement = 0x55c831bd7d70
Param Number = 5
Param Type = 1
C Type = 93 SQL_C_TYPE_TIMESTAMP
SQL Type = 93 SQL_TYPE_TIMESTAMP
Col Def = 27
Scale = 7
Rgb Value = 0xe0
Value Max = 16
StrLen Or Ind = 0xf0
[ODBC][43][1553422492.271122][SQLBindParameter.c][434]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422492.280138][SQLBindParameter.c][217]
Entry:
Statement = 0x55c831bd7d70
Param Number = 6
Param Type = 1
C Type = 93 SQL_C_TYPE_TIMESTAMP
SQL Type = 93 SQL_TYPE_TIMESTAMP
Col Def = 27
Scale = 7
Rgb Value = 0xf8
Value Max = 16
StrLen Or Ind = 0x108
[ODBC][43][1553422492.289149][SQLBindParameter.c][434]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422492.298582][SQLBindParameter.c][217]
Entry:
Statement = 0x55c831bd7d70
Param Number = 7
Param Type = 1
C Type = -8 SQL_C_WCHAR
SQL Type = -10
Col Def =<PHONE_NUMBER>
Scale = 0
Rgb Value = 0x110
Value Max =<PHONE_NUMBER>
StrLen Or Ind = 0x8000010e
[ODBC][43][1553422492.307352][SQLBindParameter.c][434]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422492.317084][SQLFreeStmt.c][144]
Entry:
Statement = 0x55c831bd7d70
Option = 3
[ODBC][43][1553422492.328063][SQLFreeStmt.c][266]
Exit:[SQL_SUCCESS]
[ODBC][43][1553422492.337245][SQLEndTran.c][417]
Entry:
Connection = 0x55c831b78810
Completion Type = 1
[ODBC][43][1553422492.377272][SQLGetInfo.c][236]
Entry:
Connection = 0x55c831b78810
Info Type = SQL_CURSOR_COMMIT_BEHAVIOR (23)
Info Value = 0x55c831b79c88
Buffer Length = 2
StrLen = 0x7ffd7e32781e
[ODBC][43][1553422492.386953][SQLGetInfo.c][236]
Entry:
Connection = 0x55c831b78810
Info Type = SQL_CURSOR_ROLLBACK_BEHAVIOR (24)
Info Value = 0x55c831b79c8a
Buffer Length = 2
StrLen = 0x7ffd7e32781e
[ODBC][43][1553422492.396740][SQLEndTran.c][566]
Exit:[SQL_SUCCESS]`

After a lot of testing I found out that the problem is with the specific NTEXT column type, and not with all column types as I thought before. I just have a lot of tables including this column type so that made me think it happens for all types.
As a test, I've altered the NTEXT columns in a table to NVARCHAR(max) in the database I'm writing to. This "resolved" the issue and everything worked. However, I don't have the ability to change everything in all destinations.
Apparently, the issue is that the fast_executemany cursor can't handle NTEXT types, while executemany with fast_executemany=False can.

The driver returns TEXT/NTEXT as having a maximum size of 2GB --- so in fast_executemany mode, it will attempt to allocate a 2GB buffer for each cell of that type, certainly leading to the memory error you're experiencing.

In contrast, (n)varchar(max) is described as having a size of 0 ( "unlimited" ), causing fast_executemany to use a different strategy (DAE) to handle those columns.

So, would it make sense to plot that same strategy on the TEXT/NTEXT fields?

@v-chojas - Might it be possible to work around the issue by using setinputsizes to map the NTEXT columns to pyodbc.SQL_WVARCHAR?

@gordthompson yes, using SQL_WVARCHAR works:
cursor.setinputsizes([(pyodbc.SQL_WVARCHAR, 0, 0)])

(The (0, 0) for size and precision instructs the driver to bind as nvarchar(max) instead of regular nvarchar --- and is needed if you want to insert >4000 characters.)

I have experienced this issue as well.  It turned out that there's something buggy on the SQLDescribeParam() call on a column with nvarchar(max) using the DataDirect odbc manager on Linux with MSSQL server.  The returned ColumnSize set is like 1GB instead of 0 like what's defined in the MSSQL server documentation.
Since ColumnSize is not 0, DAE is not used and the buffer is set to ColumnSize * sizeof(WCHAR) = 2GB in my case.  Thus, each row would need to allocate a 2GB buffer to hold this.  This is obviously bad as it may work when 1-2 rows are added but will definitely cause issues for many rows.  It may not be obvious to the user to set the setinputsizes to override the behavior.
Does it make more sense if the code can make a first pass to determine the input argument's string lengths based purely on the input strings, then allocate the buffers and walk over it again?  It'll be more inefficient but at least it'll take some of these guesswork away.

Due to the ColumnSize of some of these varchar columns may be up to 4000, it may not be very memory efficient if you allocate a fixed-width buffer for all strings with that width in the executemany case.
Maybe it would make sense to basically bound the max non-DAE buffer length to a user-configurable values (say somthing smaller like 300 or even less).  Thus, if the ColumnSize for a varchar/nvarchar column would exceed this, you would force the DAE always?

there seem to be a whole lot of issues like this sitting open, which is unfortunate, however ideally pyodbc's feature should be chunking the data rather than using the entire batch at once.   Compare to psycopg2's feature https://www.psycopg.org/docs/extras.html#fast-execution-helpers which has a default page size that is also configurable.

Met the same issue.
To summarize - issue is caused by table columns with ntext/text type.

The driver returns TEXT/NTEXT as having a maximum size of 2GB --- so in fast_executemany mode, it will attempt to allocate a 2GB buffer for each cell of that type, certainly leading to MemoryError

Current solution is to change type for ntext/text columns to nvarchar(max / n) or nchar(n) (or varchar or char). Which sounds more than reasonable given that those types are deprecated - https://docs.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016
The other solution is to try to map ntext to nvarchar(max) using the following statement. Which seems like not always working (atleast for me, using ODBC Driver 17 for SQL Server)
cursor.setinputsizes([(pyodbc.SQL_WVARCHAR, 0, 0)])

Also make sure that the driver you're using supports fast_executemany - https://github.com/mkleehammer/pyodbc/wiki/Driver-support-for-fast_executemany
One my suggestion about the issue is to change code and add check to cursor.executemany function executed with fast_executemany that will make sure ntext or text types are not used or will raise an descriptive exception otherwise (or atleast will warn about possible consequences).


Add rule for selnolig

In case "babel" is loaded, it has to go before "selnolig". Otherwise, one gets "Option clash". See http://www.tex.ac.uk/FAQ-optionclash.html and https://github.com/mhelvens/latex-pkgloader/pull/18#discussion_r175339714.
"fontspec" has always be loaded before "selnolig".
The two expressed rules look the same way, but I think, it expresses only the second rule, doesn't it? What does one need to put?

I'll see if I can merge all these PRs into a single PR today. Sorry if it's taken a while. I only have a little bit of time during weekends.

One can merge one, resolve conflicts for the next, merge, resolve
conflicts, ... 😂😂
(Currently on the road)
Am 24.03.2018 7:07 nachm. schrieb "Michiel Helvensteijn" <
<EMAIL_ADDRESS>Closed #13 https://github.com/mhelvens/latex-pkgloader/pull/13.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mhelvens/latex-pkgloader/pull/13#event-1539300710, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABTafmwRWm9Uc8SPEpSgWzB1UyDBcgW2ks5thotjgaJpZM4SkI_j
.

And that's what I did, but I didn't want to merge them into master directly, and this way I only had to test / QA once.


Use React.findDOMNode to log element references

When there's an error, we currently use document.getElementById to log element element references. Since the code is executed in a componentDidMount/componentDidUpdate callback, we could use React.findDOMNode() instead.

Between this and #55, would that mean that ID generation was no longer necessary?
If that was the case, I think it would indirectly resolve a few currently open issues: #77, #79, #85
I could take a shot at this if you'd like, @kloots.

Hi, guys!
Has there been any changes in regards to this?
Thanks.

I believe as of v1.0.0 we are no longer using document.getElementById for anything.  I'm going to go ahead and close this but please let me know if you disagree.


head-end/custom.html not injected into header

Hi, I followed the doc and added my own layouts/partials/hooks/head-end/custom.html that contains a single line:
<link href="/css/all.min.css" rel="stylesheet">

However, the compiled website does not contain this line in the header. I'm using the latest wowchemy version. Am I missing something? Thanks in advance!

Make sure you're running the latest version of Wowchemy.

Thanks for the reply! I am using the latest v5.5 release version, hosted in Netlify. Do I need to use the latest main branch or some other branch?

Thanks for the reply! I am using the latest v5.5 release version, hosted in Netlify. Do I need to use the latest main branch or some other branch?

It was implemented on January, so the v.5.5 should work fine. Follow here or in the Discord server for further getting help (sharing your repo helps a lot).


Things aren't deterministic across platforms

I desire a cross platiform deterministic solution for  physics, and noticed this repo.
The JoltPhysics support cross platform deterministic, I don't the principle behind that, I am not an expert of computer and compiler.
I noticed that the JoltPhysics set floating-point behavior to precise and turn  off contract, and disable  FMADD to realize that.
I am not familiar with cmake, it seem the CMakeLists.txt alaway set floating-point behavior to be fast.
Can we do some effort to realize cross platform deterministic base on this repo?
If it is very hard, can you give me some suggestions about this topic?

I haven't documented this yet, but this project will not be making any guarantees about determinism, and will explicitly not support cross-platform determinism, regardless of what Jolt itself supports.
There is a project setting called physics/jolt_3d/simulation/more_deterministic that enables Jolt's deterministic simulation, but while this makes Jolt itself deterministic (when using the same binary) there could still be things within this extension or within Godot itself that interferes with this determinism. That's why the project setting is named "More Deterministic" and not "Deterministic". I realize determinism is not all that useful unless it's a guarantee, but I figured someone might appreciate slightly more deterministic behavior, hence the project setting.
I used to provide a CMake option for cross-platform determinism, mostly just to align with Jolt's compiler flags, but I removed it in pull request #235. This had never actually been tested, so I have no idea if it worked. I would assume that it did not.
I'm not an expert on determinism, but as I understand it the entire "pipeline" from the user's scripts in Godot to something like (for example) the AddForce call on my end needs to take determinism into account. That "pipeline" obviously includes the Godot engine itself, which means you now have to compile Godot from source with the same strict compile flags and somehow verify that this actually results in deterministic behavior.
Even if it was possible to compile everything with these compile flags and somehow verify that the entire "pipeline" is indeed deterministic, it would be a constant battle so long as Godot itself doesn't make the same guarantees about determinism, since any pull request to Godot could break this.
I believe the only reliable way of achieving cross-platform determinism in Godot is to do something like what SG Physics 2D does, which uses fixed-point math instead of floating-point math, and also doesn't implement the proper PhysicsServer2D, which means the user has much better control over how and when the physics simulation is interacted with.

Is physics/jolt_3d/simulation/more_deterministic still a thing? I can't see it in 4.1's release @mihe

Yes and no, there were some stability issues with having it disabled, so it's been removed and is now always enabled.


Fill out python -m numba -s field for CUDA Libraries Test Output (even if GPU is absent)

Feature request
When creating a numba environment in a Docker image or other build environment where the CUDA Toolkit libraries are present, but a GPU is absent like so...
conda create -n numba python=3.11 cuda-version=12.2 cuda-nvcc cuda-nvrtc psutil numba

...and running python -m numba -s. The information on CUDA Libraries detection is left out:
CUDA Libraries Test Output:
None

However the "CUDA Libraries Test Output:" field...
https://github.com/numba/numba/blob/3edb458c69daeaaffbfc938145c367eda1cf043f/numba/misc/numba_sysinfo.py#L611-L612
...merely calls numba.cuda.cudadrv.libs function test:
https://github.com/numba/numba/blob/3edb458c69daeaaffbfc938145c367eda1cf043f/numba/misc/numba_sysinfo.py#L16
https://github.com/numba/numba/blob/3edb458c69daeaaffbfc938145c367eda1cf043f/numba/misc/numba_sysinfo.py#L371-L375
Running this alone is ok:

python -c "from numba.cuda.cudadrv.libs import test; test()"

Finding driver from candidates:
	libcuda.so
	libcuda.so.1
	/usr/lib/libcuda.so
	/usr/lib/libcuda.so.1
	/usr/lib64/libcuda.so
	/usr/lib64/libcuda.so.1
Using loader <class 'ctypes.CDLL'>
	Trying to load driver...	ok
		Loaded from libcuda.so
	Mapped libcuda.so paths:
		/usr/local/cuda-11.8/compat/libcuda.so.520.61.05
Finding nvvm from Conda environment (NVIDIA package)
	Located at /opt/conda/envs/numba/nvvm/lib64/libnvvm.so.4.0.0
	Trying to open library...	ok
Finding nvrtc from Conda environment (NVIDIA package)
	Located at /opt/conda/envs/numba/lib/libnvrtc.so.12.3.107
	Trying to open library...	ok
Finding cudart from Conda environment (NVIDIA package)
	Located at /opt/conda/envs/numba/lib/libcudart.so.12.3.101
	Trying to open library...	ok
Finding cudadevrt from Conda environment (NVIDIA package)
	Located at /opt/conda/envs/numba/lib/libcudadevrt.a
	Checking library...	ok
Finding libdevice from Conda environment (NVIDIA package)
	Located at /opt/conda/envs/numba/nvvm/libdevice/libdevice.10.bc
	Checking library...	ok

It appears this happens as Numba skips including this info if a GPU is not found
https://github.com/numba/numba/blob/3edb458c69daeaaffbfc938145c367eda1cf043f/numba/misc/numba_sysinfo.py#L336
However it would be nice to include this information just to provide a sanity check that Numba can find the CUDA Toolkit libraries

Hi @jakirkham, thanks for the report. I have labeled this issue as a feature request.


fix errorhandling of LoggingHandler.emit

When a LogRecord has a non-string as the .msg attribute,
just trying to concatenate it with "\n" leads to an error.
A similar problem also existed in the LogBook handler.
This error was first reported in #1340, but it wasn't obvious due to a chained exception.
closes #1340

:grey_exclamation: Build Aborted

There is a new build on-going so the previous on-going builds have been aborted.

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2022-06-08T08:46:34.626+0000

Duration: 5 min 12 sec

Steps errors
Expand to view the steps failures

Show only the first 10 steps failures

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-python-3.10-httpx-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-python-3.10-httplib2-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-python-3.10-prometheus_client-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-python-3.10-sanic-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-python-3.10-aiobotocore-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-python-3.10-kafka-python-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-3.7-none

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-3.8-none

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-3.9-none

python coverage

Took 0 min 0 sec . View more details here
Description: python3 -m coverage combine && python3 -m coverage xml

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

/test linters : Run the Python linters only.

/test full : Run the full matrix of tests.

/test benchmark : Run the APM Agent Python benchmarks tests.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

:globe_with_meridians: Coverage report

Name
Metrics % (covered/total)
Diff

Packages
100.0% (68/68)
:green_heart:

Files
100.0% (227/227)
:green_heart:

Classes
100.0% (227/227)
:green_heart:

Lines
89.574% (17165/19163)
:+1: 0.007

Conditionals
76.632% (3122/4074)
:-1: -0.002


Fallback notification close button does not always close properly

Instead it acts as if you clicked the popup itself.

Without looking at code, is this just a matter of not canceling the event for the parent elements or something?

Something like that yeah


Make Batchposter post Composite POs/POLs

Same as https://github.com/FOLIO-FSE/folio_migration_tools/issues/391?

Yup!


Record Stub Generation

The one thing I miss from Power Tools in VS
https://fsprojects.github.io/VisualFSharpPowerTools/recordstubgeneration.html
Is this possible?

The Record stub generation is split into two parts -

Using FSharp.Compiler.Service to determine the content to generate
Determining where the smart tag indicator should appear within the editor buffer

The former would need additionally functionality added to FsAutocomplete, submit your PR to ionide/FsAutoComplete
The latter would be implemented using the vscode CodeAction API and submitted to this repo.


Support for file exclusion rules

The rules support glob patterns and are defined relative to workdir.
Additionally terraform files are excluded by default.
Closes #590

* Maybe add a few tests using the local filesystem

Done. Good suggestion - thank you.

* Support also the standalone command-line tool, not only the Terraform resource

Done.

* Figure out what to do with `k8s`

Will address in a follow-up, have a half-baked idea of how to approach this.


Add support for full text search (MATCH..AGAINST)

Example:
SELECT MATCH (col1,col2,col3) AGAINST ('test' IN NATURAL LANGUAGE MODE) relevance FROM tbl
Documentation:
https://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html

Coverage increased (+0.06%) to 83.786% when pulling 6750a5360084439d58b254f4e470e63ea63be77d on tomershay:support_full_text_search into c88f5ba08f4ee415f9d47a2ceb3343d40887b178 on JSQLParser:master.

Thx for improving JSqlParser


[BUG] Monitoring URLs not accessible in rancher v2.7.6

Rancher Server Setup

Rancher version: 2.7.6
Installation option (Docker install/Helm Chart): helm

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): RKE2

Information about the Cluster

Kubernetes version:  v1.24.12+rke2r1
Cluster Type (Local/Downstream):

If downstream, what type of cluster?
Imported/v1.24.12+rke2r1

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)
Admin

Describe the bug
Monitoring links are not accessible into Rancher UI.
To Reproduce

Install rancher-monitoring chart (I've tried with two different chart version 101.0.0+up19.0.3 & 102.0.1+up40.1.2)
Test if monitoring UIs are available

Result
The monitoring links are not usable
Expected Result
The monitoring UIs should be available.
Screenshots

I have the same issue here. Both the Grafana link in Monitoring and all Grafana dashboards across Rancher UI are broken:

Also, I have tested both chart versions above, and also tried multiple k8s versions, 1.24, 1.26, 1.27.
@nickwsuse any ideas?

Facing the same issue in 1.23 as well

i am facing the same issue with 1.24

Hi @rosskirkpat, do you know anyone who can fix this?
It is very important for us

We tested the permission listed below and found it to be effective. Nevertheless, I'm uncertain whether it necessitates a "get" authorization for the "app" resource. Additionally, it's essential that the APIGroup is set to "*" (using "apigroup = project.cattle.io" will not suffice).
Can someone please explain why it needs "app" resource permissions.

@tomitesh  Doesn't work for me. Created this role and assigned it to admin user.
Can you share the exact steps you have performed ?

@anandt-ini8labs : there are two issues on this page (not sure which one you are facing)

rancher monitoring urls grayed out raised by @bogdanstefan010
page not found raised by @mig4ng (this happens on 101.0.0+up19.0.3 & 102.0.1+up40.1.2)

The fix i posted above is for origional issue (issue 1).
issue 1: in my case, Rancher monitoring urls were enabled for admin user and disabed for members. So granted additional access to member to enable rancher monitoring urls.

@tomitesh I am also talking about issue1 here, even for admin user links are disabled in my case, my rancher version v2.7.6 and on EKS 1.23, I upgraded the cluster to v1.26 then too same issue :(

@anandt-ini8labs you are on which version of rancher monitoring helm package? i am using 100.1.0+up19.0.3

hi @tomitesh , your solution does not work in my case too or maybe I did something wrong. Could you please explain exactly the steps to reproduce it? ( in my case I am using monitoring chart version 102.0.1+up40.1.2)

My error happened when upgrading to 102.0.1+up40.1.2. The clusters required upgrading the monitoring chart when upgrading the kubernetes cluster version as some resources of the previous chart version were deprecated from kubernetes API.

When we upgraded rancher from 2.6.9 to 2.7.6 we also encountered this problem. We install the monitoring chart not through the APPS (catalog) but with helm or argocd. We deploy the chart on many clusters and therefore deploy it automatically with a value file and not manually. (When installing from the catalog it works) In addition we see an error in the browser:
Failed to load resource: the server responded with a status of 404() /k8s/ clusters/c-/v1/catalog.cattle.io.apps/cattle-monitoring-system/rancher-monitoring*

We install the monitoring chart not through the APPS (catalog) but with helm

I also install it via helm chart and not the catalog. This might be important for debugging

https://github.com/rancher/rancher/issues/43323


Heat Generators

I've noticed that a single heat generator doesn't seem to put out the indicated J/t (When powered passively at least)
I have one surrounded by 5 lava blocks, and it claims to be producing 25J/t, however my oxidizer with energy upgrades, consuming 15 J/t is running out of power.  It is consuming more than the heat generator is putting out.  Some images:
http://imgur.com/a/Cb7Qh
It could also be an issue with energy upgrades, and/or the gui's display?
I've attempted similar setups with other machines.  An osmium compressor with 5 energy upgrades claims to consume 23.7 J/t, however a single heat generator cannot keep it powered.
Bio generators, conversely, seem to be accurate in their output claims.  A machine consuming just shy of the 350 J/t produced from a bio gen, is able to be sufficiently powered by it.
Is there some way I can further test this, and/or can someone else look into it please?
EDIT: forgot to mention the version I'm using.  This is Mekanism 8.0.0
Also I had initially thought it might be due to the energy upgrades, but further testing with other generators leads me to believe it's the heat generator itself.

Ah, yeah - the output display is based on the old generation system. Fixed in development - it now shows exactly how much it is producing.

The reason for this is that I changed the Heat Gen to behave more like a non-ideal Carnot engine, partially as a test of the thermal energy system that I was designing and implementing, but was pushed back to Mek v9 as I wasn't able to finish it in time for v8's release. I forgot I'd altered the Heat Gen, so didn't change it back.
Long term, I'd like to make a generator (possibly a new one, possibly change the heat generator) that works properly like a Carnot Engine, generating power based on the temperature difference between two sides (i.e. the player will need to keep one side as cold as possible, and the other as hot as possible). I could then possibly have the current heat generator just burn items to produce heat, then transmit it to a Carnot Generator to produce power. @aidancbrady (and anyone else), do you think this is a good idea?

Like RP thermophile?

Sounds great!  One suggestion - I would replace the "Generator" term in this new Heat Generator with something else, I think "Generator" should be reserved for blocks that produce heat.  Maybe "Heat Producer"?  Then we could name the actual generator a "Carnot Generator."

I didn't know about that, I've never really used RedPower, but that does look like the kind of thing I was thinking of, yes.

I agree about not calling machines that don't generate power "Generator"s, maybe something like "Thermal Burner"?

Solid Fuel Heater?

We could potentially also turn the Gas-burning generator into a Heater, and make most low-level generation into ways to heat up the Carnot Generator? Not sure about the Bio Generator, we could maybe do the same with that?

Guys, ic2-exp.jar

Good point, maybe best to not accidentally copy ic2.
I've just realised that the solar evaporation plant would possibly work well as a heat-based thing, given it works with temperature. Not sure how much people would want to change though.

And I guess it could possibly be annoying for early-game if many of the generators suddenly need an extra stage to get any power out of them?

That's pretty much exactly what I was thinking haha.  IC2 exp branch is all of the things thermal related.
I guess it comes down to how far towards realism do you want to go though.  IC2's heat mechanics are literally "Block X heats block Y with direct contact"  It adds a second machine needed for every step.

Make it an upgrade instead of change. Heat pipes, heaters working by
themselves with lower efficiency, rp-like heat'n'cold system.

Yeah early on especially it becomes tedious to have a secondary block for every generator.
Perhaps an option in the generator's gui, either you can burn fuels in them and generate power as normal, or you can have them accept coolant of sorts and have it output hot coolant?
That way, you could use them as currently, with an "inefficient internal turbine" in theory, or you could run them and pipe their heat into a more efficient turbine that would be its own block?

Kind of like BR's reactors? That could work.
I have already designed and implemented a heat transmitter that works kind of like universal cables, is pretty physically accurate and looks quite nice (The code is in Mekanism, but is disabled due to not being finished yet), but may or may not be really CPU-intensive compared to other transmitters. The way I simulate heat transfer is based on the heat equation so should work pretty well in terms of being physically accurate.

The Carnot Engine would be one way of getting power out of heat; other planned uses for heat would be a big multiblock steam boiler (which is again already implemented but has issues so is hidden) with matching turbine, and I guess we could do some kind of directly heat-powered smelter? It's still mostly in the planning stages at the moment, so it's still fluid in terms of what we do with it.

Then you should have a multiblock heater too. And it would be awesome if it
could be something like BR dev doc.

BR dev doc? I assume you mean the roadmap but I'm not sure what you're referring to within that?
The Fusion reactor will probably act like a kind of complicated multiblock heater, replacing it's current steam generation functionality, but a big multiblock burner thing could be cool too.

Actually, i'd prefer it with generators being heated and cooled down in the
world, like rp, and pipes transferring just heat by being filled with gold
or something.
...Dont mind me. I just really like pre-frame rp.


chore(main): release 1.5.0

:robot: I have created a release beep boop
1.5.0 (2023-09-11)
Features

extend Tanimoto similarity calculation functionality (6e89091)
include CDK CircularFingerprinter (f728c92)

Bug Fixes

added empty molecule checks for sugar removal routines - resolves #386 (0b8414d)
parameters for CDK Tanimoto calculation (0f0fae6)
python docstrings (dc6ef81)
reenabled ocsr module (4cd86e6)
removed exception for empty IAtomContainer - returning empty string for now (needs a more informative json response in future releases) (85fb17f)
resolves #387, #388 (593342c)
tanimoto test (f83d7ba, 70ccec0)
test case failing issue fix and OCSR parameter description fixes (e72dcbc)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Steinbeck-Lab/cheminformatics-microservice/releases/tag/v1.5.0 :sunflower:


Styled-components doesn't work properly with functional components + TS

Version
styled-components: 3.1.6
VSCode: 1.20.1
typescript: 2.8
Reproduction
https://codesandbox.io/s/y042x24wlz
Expected Behavior
Functional components should be working with styled-components.
Actual Behavior
Typescript says:
<TextWithProps />: JSX element type 'StyledComponentClass<DetailedHTMLProps<HTMLAttributes, HTMLDivElement>, any, Deta...' is not a constructor function for JSX elements.
Property 'render' is missing in type 'StyledComponentClass<DetailedHTMLProps<HTMLAttributes, HTMLDivElement>, any, Deta...'.

In your reproduction you're returning TextStyled (A component class) from TextWithProps. Instead you should return <TextStyled /> if that is your plan? Otherwise you're not rendering an element :wink:

I'll use your recommendations.Thank you for caring to answer.


is method public Response loginLinkedin(){ return Response.ok().build();} is complete or some code needs to be written, can somebody share the code for linkedin login in server java

LinkedIn auth for Java has not been implemented yet. You can look at existing java auth examples, and look at how Node.js Linkedin auth is implemented. There is no magic, no abstractions, if you just follow the code, it should be pretty trivial.
I will get to it eventually, but don't have the bandwidth to do it right now.


Limit 30 videos download

Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2<IP_ADDRESS>
[ ] I've checked that all provided URLs are alive and playable in a browser
[ ] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ ] I've searched the bugtracker for similar bug reports including closed ones
[ ] I've read bugs section in FAQ

Verbose log

PASTE VERBOSE LOG HERE

Description

I am use  youtube-dl.exe https://www.youtube.com/c/CloudTreinamentos/videos ,  and youtube-dl only 30 videos.
The total is 1077.  Help me please

thank you very mutch


Generated code doesn't compile for TM4C123GH6PM

When I try to compile the generated code for the TM4C123GH6PM it throws lots of errors complaining about duplicate definitions (complete log):
[...]

error[E0592]: duplicate definitions with name `reset`
      --> src/lib.rs:163262:13
       |
163262 | /             pub fn reset(&self) {
163263 | |                 self.write(|w| w)
163264 | |             }
       | |_____________^ duplicate definitions for `reset`
...
163331 | /             pub fn reset(&self) {
163332 | |                 self.write(|w| w)
163333 | |             }
       | |_____________- other definition for `reset`

error: aborting due to 255 previous errors

error: Could not compile `tm4c123gh6p`.

I generated the file using:
svd2rust -i TM4C123GH6PM.svd | rustfmt > src/lib.rs

rustfmt complained about some lines which are too long, but I'm not sure, if that's important.

This fails because the SVD file has two registers with the same name is several register blocks. For example:
        <register>
          <name>MCS</name>
          <description>I2C Master Control/Status</description>
          <addressOffset>0x00000004</addressOffset>
          <fields>
            <!-- .. -->
          </fields>
        </register>
        <register>
          <name>MCS</name>
          <description>I2C Master Control/Status</description>
          <alternateGroup>I2C0_ALT</alternateGroup>
          <addressOffset>0x00000004</addressOffset>
          <fields>
            <!-- .. -->
          </fields>
        <register>

In general this is not allowed by the standard, but it may be OK in this case because the second register specifies <alternateGroup> information (I'm not 100% sure). In any case, svd2rust doesn't know how to handle <alternateGroup> information.
But it seems to me that the idea here is that for this register its bits have some meaning when the register is read but the bitfields have a different meaning when the register is written to. Unfortunately, the SVD file contains no information about this being the case. So, at best what we could generate here is a union with two variants: one per set of bitfields where both variants allow read/write access to the bit fields, which is wrong because the data sheet indicates that one set is read-only (used for reads) and the other is write-only (used for writes) -- however, the SVD file doesn't contain any information about that so we can't do any better.

Maybe there is another (better) SVD file somewhere. Maybe there could be some kind of option how to deal with alternate groups (ignore, treat as read only ...)? Even ignoring would be better (for me at least) than the current status as it would compile and you could at least use the registers which are defined in a normal group.

@SolidTux does @whitequark's new SVDs address your needs?

Sorry for taking so long. I don't get the redefine errors anymore, but now I get
error[E0133]: call to unsafe function requires unsafe function or block
     --> src/lib.rs:69892:17
      |
69892 |                 self.bit(true)
      |                 ^^^^^^^^^^^^^^ call to unsafe function

error[E0133]: call to unsafe function requires unsafe function or block
     --> src/lib.rs:69896:17
      |
69896 |                 self.bit(false)
      |                 ^^^^^^^^^^^^^^^ call to unsafe function

error: aborting due to 2 previous errors

If you want more information on this error, try using "rustc --explain E0133"
error: Could not compile `tm4c123gh6p`.

It doesn't matter whether I use tm4c123x.xml or tm4c123x-vendor.xml (what is the difference between those two?). I updated the library dependencies to the most recent version.

You need svd2rust from master. The tm4c123x crate and repository already include generated Rust code, is there a reason you're rebuilding it?

I somehow didn't notice that there is a crate for this series of microcontrollers, thank you! I will try to use that.

And with the master version it works, so I thinks this issue is resolved.


[docs] Improve typography documentation

Improves typography documentation to show use case with interplay with CssBaseline.
Resolves #18901

[x] I have followed (at least) the PR section of the contributing guide.

Thank you :)

Hello, I have the problem that CssBaseline resets other preconfigured styles. Do you have another option to import your own hosted fonts?. The example in the doc doesn't work for me.


ESP32 - OTA Agent - Reboot Requirement - Firmware Rollback or Brick Device

Our device is based on ESP32. It needs to wait before rebooting after an OTA.
The ResetDevice function has been change to send an event to request reboot of the system.
This delay leads to the OTA Agent performing the following queued OTA when a firmware is rejected and reboot is pending.
Is there any documentation about the reboot requirement of the OTA Agent ?
How should the OTA Agent implementation cope with delaying the reboot ?
The Firmware version is the following :
AFR : v1.4.7-45-geb0e75b3-dirty
IDF : v3.1.3-15-g97deba922
The behavior observed are different depending on the OTA slot where the OTA occurs.
V0.14-25-gae996f79-dirty-F
V0.14-25-gae996f79-dirty-F	0	updating
V0.14-26-gf7822525-dirty-O	16	accepted
V0.14-26-gf7822525-dirty-O
V0.14-26-gf7822525-dirty-O	16	updating
V0.14-27-g64c33d30-dirty-O	17	accepted
V0.14-27-g64c33d30-dirty-O
V0.14-27-g64c33d30-dirty-O	17	updating
V0.14-25-gae996f79-dirty-O	16	rejected

The OTA_1 (17) slot get corrupted if the rejected update runs on OTA_0 (16) slot.
OTA_0 (16) is not valid, but it booted since it has a valid image.
This leads to a Firmware Rollback to V0.14-25. Should not happen since we accepted V0.14-27

V0.14-25-gae996f79-dirty-O
V0.14-25-gae996f79-dirty-O	16	updating
V0.14-28-g768df95a-dirty-O	17	accepted
V0.14-28-g768df95a-dirty-O

V0.14-25-gae996f79-dirty-F
V0.14-25-gae996f79-dirty-F	0	updating
V0.14-26-gf7822525-dirty-O	16	accepted
V0.14-26-gf7822525-dirty-O
V0.14-26-gf7822525-dirty-O	16	updating
V0.14-25-gae996f79-dirty-O	17	rejected

The OTA_0 (16) slot gets corrupted if the rejected update runs on OTA_1 (17) slot.
OTA_1 (17) is not valid. OTA_0 (16) is corrupted.
The system has a factory app ( not standard ). The bootloader falls back to it.
If the system has no factory, the OTA_1 (17) slot is booted.

V0.14-25-gae996f79-dirty-F
V0.14-25-gae996f79-dirty-F	0	updating
V0.14-27-g64c33d30-dirty-O	16	accepted
V0.14-27-g64c33d30-dirty-O

Hi sbertrand-witekio,
Thank you for reporting this, we are looking into the issue and trying to reproduce it.

While the OTA Agent does not have a reboot pending flag, it has a xInSelfTest flags which can be use to avoid processing of the next OTA while it is not cleared.
The following patch is my changes to use that flag.
0001-OTA-using-self-test-flag-before-processing-new-job.patch.txt

Hi sbertrand-witekio,
When the platform is in self-test only operations related to self-test should be performed.
The xInSelfTest flag was introduced to filter messages of type eOTA_PubMsgType_Stream when the platform is in self-test. This ensures that we do not process any data blocks received when we are in self-test. The flag is then reset when the image is accepted and its state is changed to eOTA_ImageState_Accepted.
In addition to that we should also ignore any new job received when the platform is in self-test and that is filtered in prvProcessOTAJobMsg by calling prvInSelftest which reads the platform state.
From the patch that you shared it seems you are shutting down and then restarting the OTA agent to delay the reboot. Is that correct?
We have a callback App_OTACompleteCallback which gets the event eOTA_JobEvent_Activate which then calls OTA_ActivateNewImage. This callback can be used to perform some operations (or wait ) before activating the image. Let me know your thoughts.

From the patch that you shared it seems you are shutting down and then restarting the OTA agent to delay the reboot. Is that correct?

The patch has  the addition of shutting down the OTA Agent, however this is commented. Shutting down the agent is not entirely valid, it does not guarantee anything. I am not shutting down nor restarting the OTA Agent in this patch.
App_OTACompleteCallback Usage
The implementation could wait proper reboot condition before calling OTA_ActivateNewImage. This would be a suitable implementation. However, OTA_ActivateNewImage is not the only method and cause for the OTA Agent to request a reboot of the system.
The OTA Agent does provide any notification when the OTA Validation fails. The OTA Agent request a reboot directly.
prvProcessOTAJobMsg & prvInSelftest
My patch change the use of prvInSelftest for xInSelfTest in prvProcessOTAJobMsg.
prvInSelftest provides the current state of the image. This return Self Test until the validation is performed. Once the validation is done, the state return will no longer be Self Test allowing for a new job to start transfer. prvProcessOTAJobMsg is the first step in starting the transfer by creating a file for reception prvPAL_CreateFileForRx.
The overwrite issue faced is due to prvPAL_CreateFileForRx being called by a failed-validation firmware. The currently firmware is pending reboot and should not be allows to download new firmware. The call is made since the current image is no longer in self test, it change to rejected.
By changing  prvInSelftest for xInSelfTest in prvProcessOTAJobMsg, we check the very first initial state of the image ( Self Test or not ).  If we booted as Self Test, downloading will only be allow if the image is accepted and xInSelfTest is reset by call to eOTA_ImageState_Accepted.
The patch changes affectation of xInSelfTest during the initialization of the OTA Agent. Restart of the Agent would clear xInSelfTest. If the agent is started with xInSelfTest set, the flags is not updated.

Hi sbertrand-witekio,
In the App_OTACompleteCallback when we receive the eOTA_JobEvent_Activate event we should suspend and wait for the application specific event that you can add as per application logic  before calling OTA_ActivateNewImage to delay the reboot.  This is last step before reboot and OTA agent loop should not execute after the App_OTACompleteCallback is called with eOTA_JobEvent_Activate event.

The implementation could wait proper reboot condition before calling OTA_ActivateNewImage. This would be a suitable implementation. However, OTA_ActivateNewImage is not the only method and cause for the OTA Agent to request a reboot of the system.

The OTA Agent does provide any notification when the OTA Validation fails. The OTA Agent request a reboot directly.

When image is not executing in self-test OTA agent will only initiate a reboot after it validates the received image on other bank. We have the above mentioned user callback before this happens.
When image is executing in self-test then self-test timer/watchdog (if used on the platform) can reboot the device  which is expected. The device will then fall back to the previous image.  Other than these two situations which other scenario does the OTA agent reboots directly?

The overwrite issue faced is due to prvPAL_CreateFileForRx being called by a failed-validation firmware. The currently firmware is pending reboot and should not be allows to download new firmware. The call is made since the current image is no longer in self test, it change to rejected.

Lets consider we are executing from bank 1 and receiving image on bank 2 which fails validation. The bank 2 will now be erased and when next job doc is received prvPAL_CreateFileForRx is called to prepare for receiving image on bank 2. If image is in self-test then we have already filters in place to ignore job and data messages.
I think using App_OTACompleteCallback to wait for an application specific event on receiving eOTA_JobEvent_Activate  should solve the issue here. If not can you please also share how you are delaying the reboot and console logs ?

Hi sbertrand-witekio,
Closing this issues now, please update if you have more questions about reboot requirements.
Thanks.


PHP Compatablility

INI directive 'safe_mode' is deprecated from PHP 5.3 and forbidden from PHP 5.4.

I don't use this library (or PHP at all) anymore, so I have no plans to update it, but I could review/merge a PR.


Track future work from the UnifiedSpendAuthority PR

construct 8-possibility receiver-selection test fixture
for scan_bundle does the parameter list make sense if "unconfirmed" is true?
can we entirely-or-mostly separate "unconfirmed" logic into its own fn-or-method?

Test of fn get_zaddr_from_bip39_seed

replacing UnifiedSpendAuthority with WalletCapability in

#241


Feature bbduk documentation

PR checklist

[x] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/detaxizer branch on the nf-core/test-datasets repository.
[x] Make sure your code lints (nf-core lint).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[x] Usage Documentation in docs/usage.md is updated.
[x] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[x] README.md is updated (including new tool citations and authors/contributors).

Reason for the changes
The documentation of detaxizer was updated to represent the current state of the development.

@nf-core-bot fix linting


Added redis cache publisher schema for azure event grid.

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

LGTM. Would like to @kalyanaj review before I sign off.

Can one of the admins verify this patch?

It looks good from event grid perspective.


Add bun support

Closes https://github.com/browserslist/update-db/issues/25

@alec-c4 it is draft without implementation https://github.com/browserslist/update-db/pull/26/files#diff-e727e4bdf3657fd1d798edcd6b099d6e092f8573cba266154583a746bba0f346R174
Try to send your own PR. It should not be hard.


Provide method to register async shutdown function

For any custom setups of the client that don't call install(), we should provide a method to register the async shutdown function (_curl_handler is protected so otherwise this can't be done).

Looking further info this, we might not need this new method.  We could instead modify the existing client registerShutdownFunction() method, allowing it to be run more than once.  It needs to run more than once anyways, so I'm not sure why it has this limitation :)

The Raven_CurlHandler::join() method runs 4 times:

It's first registered as a shutdown function by CurlHandler::_construct() calling CurlHandler::registerShutdownFunction().
It's called by Client::onShutdown() which is registered as shutdown function at the end of Client::_construct().
Client::install() calls CurlHandler::registerShutdownFunction() so that CurlHandler::join() runs after fatal error is captured.
Finally, if there wasn't a fatal error, it runs a fourth time in CurlHandler::_destruct().

So I don't think there's anything wrong with registering it more than once :)

Since there is no official method to register the shutdown handler that async requires - aside from Client::install() - my current workaround is this:
register_shutdown_function([$client, 'onShutdown']);

I'm not sure why we should not "protect" it from running more than once. Seems sensible to only register it when needed and only once. No need to register the same handler multiple times.

See my comment on June 15 - we are already calling Raven_CurlHandler::join() four times.
This is re: number 3 in my June 15 comment - we need to register the shutdown function again when handling fatal errors with curl async, so that they can be sent after the fatal error is handled.
It should be possible to refactor things so that shutdown functions run as few times as possible - the problem is that it's running too early, making an additional call necessary.  Calling registerShutdownFunction() in install() could perhaps replace the other ways that shutdown handlers are being registered?
I wasn't really trying for a major refactoring here, just trying to provide a public method that works, but refactoring would be nice.

Closing this as 1.x is an old version and I don't think that there is any willing in keep it updated apart from bug fixes


uncaught exception when running crow in a thread

Nice project. I really like the simple interface.
I have been exploring crow as a way to provide a ReST API for a larger application. I have been running it in a singleton in the application and I use a thread to start the server. If I add a dynamic route immediately after starting the thread, I get an error unless I put a wait in after starting the thread. Example code is something like:
#include "crow_all.h"
#include <iostream>
#include <thread>
#include <chrono>

int main(int argc, char** argv)
{
  std::cout << "Test of running CROW in a thread" << std::endl;

  crow::SimpleApp app;

  std::thread server_thread([&app](){
      //Start server
      app.port(18080).multithreaded().run();
    });

  //If I put in the following wait, it works
  //std::this_thread::sleep_for(std::chrono::milliseconds(10));

  app.route_dynamic("/info")([]() {
      return "This is a journey into sound...";
    });

  server_thread.join();

  return 0;
}

I compile with:
g++ -std=c++1y -o test_server -I../amalgamate test_server_thread.cpp -lboost_system

And then when I start the application I sometimes (say one of of 10 times) get:
Test of running CROW in a thread
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: no handler for url /info
Abort trap: 6

The test was done on Mac OS X 10.10.5. Other info:
g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.0 (clang-700.1.76)
Target: x86_64-apple-darwin14.5.0
Thread model: posix

Sorry, I think the function name route_dynamic causes confusion here. It does not mean doing dynamic routing but no compile time check for the url parameter.
Currently, Crow assumes that all the routing informations are registered before serving. I haven't tested adding route to already started server.
Do you need a feature that enables adding a routing after server started?

OK, yes the function name is a bit confusing in that case.
This would be be a very useful feature. The use case that I have is, I think, a common one. I have a larger application that I would like to add a ReST API to. In my case, modules can be loaded dynamically adding functionality to the application. It would be nice to be able to allow the dynamic modules to add ReST API components when they load. For that I would run the web server in a process wide singleton and have the modules use that singleton to register (and deregister) api components.
Does that make sense?


Unit of measurement for solar yield

Hi,
I've been thinking about adding my solar yield to the energy dashboard. However, I find it surprising that it has units of Wh, but is not strictly increasing:

Since the value is updated once per hour, I suspect it actually shows Wh/h, i.e. W, could it be?

Watt is power unit, Wh is energy unit. Units are displayed the same as your unit gives info about it, so it's not I "added".

This is data provided by API:
        {
            "id": "/solarCircuits/sc1/solarYield",
            "type": "floatValue",
            "writeable": 0,
            "recordable": 1,
            "value": 0.0,
            "unitOfMeasure": "Wh"
        },

Wh and kWh is energy unit. I don't know how bosch device is working and how it calculates but I wouldn't assume it is per hour W.


1.2.0 will take effect after joint-bilateral

And that doesn't seem necessary...An all-in-one solution is nice, but maybe let users to decide which pass to anti-ringging?

Each pass is clearly defined inside the shader file, just delete all between line 92 to line 159.
I know is not the most elegant solution but a solution it is.


Utilize multiprocessing in step 3 to dramatically improve performance

Currently step3 is the slowest step of the process. It is also single threaded. However, I see no reason why this step cannot take advantage of multiprocessing to utilize the full performance of the CPU and build many GIFs simultaneously.
As a test, I tried to modify the code myself and was able to build 16 GIFs at a time with my 16 thread CPU. I'll share what I did here, however I am an incredibly novice "developer" (I hesitate to even call myself that) and no prior experience in Python.
Added the following to build.py
import multiprocessing
def generate_gif(filename: str):
    if filename.endswith(".png"):
        print(f"Converting spritesheet to gif for {filename}")
        crop_and_save(
            filename,
        )
        fps = 5
        convert_pngs_to_gif(filename, fps)

def generate_all_gifs(filename: str):
    with multiprocessing.Pool() as pool:
        pool.map(generate_gif, filename)

Note the "fps = 5". I could not figure out how to get the fps variable passed on through to generate_gif (like I said, novice). So I just stuck it in there like that until I can figure out the proper way to do it.
modified main to:
def main():
    print("Starting step 3: Converting sprite sheets to gifs")

    for folder in [output_gifs_directory, output_images_directory, temp_directory]:
        setup_directory(folder)

    generate_all_gifs(sorted(os.listdir(input_directory), key=sort_function))

This, is, AWESOME! Yes multiprocessing is a great idea (compared to multithreading which doesn't work in Python given the GIL - global interpreter lock).
Do you want to try to create a PR and merge the code? I can add comments to the PR to how to pass in fps, but that way you'll get credit for the code.
If you aren't too familiar, you can follow the instructions here https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.
Anyways let me know so I can add you as a collaborator.

Ok give me some time to improve my code a bit more, it's a bit janky and the terminal output isn't ideal. I'd be happy to do a PR and get credited.

Hey @antiguadev any update here? Some people were looking for speeding up step3 :)

Hey man so sorry but I haven't found the time. If anyone else is willing to implement my suggestion please go ahead as I am unable to commit (lol) to getting this done any time soon.

Hey no problem @antiguadev I was able to use your code and modify it for step1 and step3. You can take a look at the PR here: https://github.com/jalagar/Generative_Gif_Engine/pull/67. Feel free to add any questions or ask anything.
Thank you for the starter code and idea! I used pool.starmap to feed the multiple arguments in and it all worked. It improved step1 and step3 by 4-8x!


device agnostic testing for hooks&utils&big_modeling

What does this PR do?

part of https://github.com/huggingface/accelerate/pull/2602#issue-2217828783
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

test results with npu

=
(lynn) [root@localhost accelerate]# RUN_SLOW=1 python -m pytest -v tests/test_big_modeling.py
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.8.19, pytest-8.1.1, pluggy-1.4.0 -- /root/miniconda3/envs/lynn/bin/python
cachedir: .pytest_cache
rootdir: /home/lynn/accelerate
configfile: pyproject.toml
collected 32 items

tests/test_big_modeling.py::BigModelingTester::test_cpu_offload PASSED                                                                                [  3%]
tests/test_big_modeling.py::BigModelingTester::test_cpu_offload_gpt2 PASSED                                                                                [  6%]
tests/test_big_modeling.py::BigModelingTester::test_cpu_offload_with_hook PASSED                                                                                [  9%]
tests/test_big_modeling.py::BigModelingTester::test_cpu_offload_with_unused_submodules PASSED                                                                                [ 12%]
tests/test_big_modeling.py::BigModelingTester::test_dipatch_model_fp4_simple SKIPPED (test requires the bitsandbytes library)                                                                               [ 15%]
tests/test_big_modeling.py::BigModelingTester::test_disk_offload PASSED                                                                                [ 18%]
tests/test_big_modeling.py::BigModelingTester::test_disk_offload_gpt2 PASSED                                                                                [ 21%]
tests/test_big_modeling.py::BigModelingTester::test_disk_offload_with_unused_submodules PASSED                                                                                [ 25%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model PASSED                                                                                [ 28%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_bnb SKIPPED (test requires the bitsandbytes library)                                                                                [ 31%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_copy PASSED                                                                                [ 34%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_force_hooks PASSED                                                                                [ 37%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_gpt2_on_two_devices PASSED                                                                                [ 40%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_int8_simple SKIPPED (test requires the bitsandbytes library)                                                                             [ 43%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_move_model_warning SKIPPED (test requires multiple GPUs)                                                                                [ 46%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_move_offloaded_model PASSED                                                                                [ 50%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_mps SKIPPED (test requires a `mps` backend support in `torch`)                                                                           [ 53%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_multi_devices PASSED                                                                                [ 56%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_tied_weights PASSED                                                                                [ 59%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_tied_weights_memory SKIPPED (test requires multiple GPUs)                                                                                [ 62%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_tied_weights_memory_with_nested_offload_cpu SKIPPED (test requires a GPU)                                                                [ 65%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_tied_weights_memory_with_nested_offload_disk SKIPPED (test requires a GPU)                                                               [ 68%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_with_non_persistent_buffers PASSED                                                                                [ 71%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_with_unused_submodules PASSED                                                                                [ 75%]
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_with_unused_submodules_multi_device PASSED                                                                                [ 78%]
tests/test_big_modeling.py::BigModelingTester::test_init_empty_weights PASSED                                                                                [ 81%]
tests/test_big_modeling.py::BigModelingTester::test_init_empty_weights_very_large_model PASSED                                                                                [ 84%]
tests/test_big_modeling.py::BigModelingTester::test_init_on_device_cuda PASSED                                                                                [ 87%]
tests/test_big_modeling.py::BigModelingTester::test_load_checkpoint_and_dispatch PASSED                                                                                [ 90%]
tests/test_big_modeling.py::BigModelingTester::test_load_checkpoint_and_dispatch_multi_device PASSED                                                                                [ 93%]
tests/test_big_modeling.py::BigModelingTester::test_load_checkpoint_and_dispatch_multi_device_with_unused_submodules PASSED                                                                                [ 96%]
tests/test_big_modeling.py::BigModelingTester::test_load_checkpoint_and_dispatch_with_unused_submodules PASSED                                                                                [100%]

================================================================================================ warnings summary =================================================================================================
../../../root/miniconda3/envs/lynn/lib/python3.8/site-packages/torch_npu/dynamo/torchair/__init__.py:3
 /root/miniconda3/envs/lynn/lib/python3.8/site-packages/torch_npu/dynamo/torchair/__init__.py:3: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
   import pkg_resources

../../../root/miniconda3/envs/lynn/lib/python3.8/site-packages/pkg_resources/__init__.py:2871
 /root/miniconda3/envs/lynn/lib/python3.8/site-packages/pkg_resources/__init__.py:2871: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('google')`.
 Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
   declare_namespace(pkg)

tests/test_big_modeling.py::BigModelingTester::test_cpu_offload_gpt2
tests/test_big_modeling.py::BigModelingTester::test_disk_offload_gpt2
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_gpt2_on_two_devices
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_gpt2_on_two_devices
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_gpt2_on_two_devices
 /root/miniconda3/envs/lynn/lib/python3.8/site-packages/urllib3/connectionpool.py:1103: InsecureRequestWarning: Unverified HTTPS request is being made to host '<IP_ADDRESS>'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
   warnings.warn(

tests/test_big_modeling.py::BigModelingTester::test_cpu_offload_gpt2
tests/test_big_modeling.py::BigModelingTester::test_disk_offload_gpt2
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_gpt2_on_two_devices
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_gpt2_on_two_devices
tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_gpt2_on_two_devices
 /root/miniconda3/envs/lynn/lib/python3.8/site-packages/transformers/generation/utils.py:1132: UserWarning: Using the model-agnostic default `max_length` (=20) to control the generation length. We recommend setting `max_new_tokens` to control the maximum length of the generation.
   warnings.warn(

tests/test_big_modeling.py::BigModelingTester::test_cpu_offload_gpt2
tests/test_big_modeling.py::BigModelingTester::test_disk_offload_gpt2
 /root/miniconda3/envs/lynn/lib/python3.8/site-packages/transformers/generation/utils.py:1460: UserWarning: You are calling .generate() with the `input_ids` being on a device type different than your model's device. `input_ids` is on npu, whereas the model is on meta. You may experience unexpected behaviors or slower generation. Please make sure that you have put `input_ids` to the correct device by calling for example input_ids = input_ids.to('meta') before running `.generate()`.
   warnings.warn(

tests/test_big_modeling.py::BigModelingTester::test_dispatch_model_copy
 /root/miniconda3/envs/lynn/lib/python3.8/site-packages/torch_npu/utils/storage.py:38: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
   if self.device.type != 'cpu':

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================================================== 24 passed, 8 skipped, 15 warnings in 82.22s (0:01:22) ==============================================================================

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@statelesshz just ping me when we're ready for a final review :)

@muellerzr this PR is ready for review :)
Due to the lack of support for torch.Tensor.to(), some test cases fail on the MPS device :(.


Sema: Lift flag requirement for access levels on imports now that SE-0409 has been accepted

The proposal SE-0409 Access level on imports has been accepted, let's lift the flag requirement!
Also adds the upcoming feature flag InternalImports for imports to default to internal. This is the Swift 6 behavior that can be enabled in Swift 5 using this new flag. The logic is cleaned but by moving all the Swift 6 specific logic being this flag.

@swift-ci Please smoke test

This is just a nice to have, but it could be helpful to emit a warning for projects that already adopted -enable-experimental-feature AccessLevelOnImports to let them know they can remove the flag.

I think we'll get the warning automatically when we delete the flag. I'm holding off on that because the flag still has one effect, promoting to errors imports of a non-resilient module from a resilient module. It's a small thing but might as well keep it around until most projects move to Swift 6 mode.

@swift-ci Please smoke test

@swift-ci Please smoke test


Considering Level Change During Rewrite

I recently noticed that the gpu src code doesn't consider level increasing during Evaluating the Subgraph, related(rewrite.cu:429):
  if (saved - nodesAdded < 0 || (saved - nodesAdded == 0 && !fUseZeros)) // Subgraph with higher level will be considered in this scope
                continue;
  if (saved - nodesAdded < reduction || (saved - nodesAdded == reduction && rtLevel >= bestLevel))
                continue;

I'm considering to use savedLevel = nodeLevels[id] with condition control:!fUpdateLevel && savedLevel - rtLevel < 0 to avoid level increasing, is that right?

It makes sense to me, but I would also anticipate that adding the level constraint will lead to less number of feasible structures and a degradation in area.


QEMU fix, compile time check suggestion

This updates the QEMU output to what is expected, and applies the suggestions i made on your PR.

strange, i'm looking into it.

now i see what you were saying about the QEMU output haha, indeed it doesn't match expected behaviour

now i see what you were saying about the QEMU output haha, indeed it doesn't match expected behaviour

Yeah sorry I should have been a bit more clear in my original comment, glad you figured it out though 😅


Feature Request: eliminate /*/

I use a secondary url for the shortening. I would like the ability to not have /b/ in the links. I understand why (post types and structural reasons) this is not always advised. This just adds (for me) 2 extra characters I don't need.

Off the top of my head, I can't easily imagine a way to support this natively without it being pretty disruptive to the existing code and risking side-effects.  However, if you don't mind writing some minimal code, it should be doable with the existing filters (any maybe one or two new ones if necessary).
If you're okay with your "canonical" shortlinks still being of the form /b/123 (meaning that's still what's advertised in your <link rel=shortlink>, and you just want to also be able to resolve /123 links, you can use the hum_legacy_id filter.  Just use a variation of the legacy_ftl_id() function.  I haven't tested this, but conceptually something like:
add_filter('hum_legacy_id', function($id, $path) {
  return sxg_to_num($path);
}, 10, 2);

If you actually want the /123 URL advertised in your <link rel=shortlink>, then you'd likely need to replace the get_shortlink() function to do what you want.
Ideally, you'd be able to use the hum_type_prefix filter to always return an empty prefix:
add_filter('hum_type_prefix', '__return_empty_string');

But then you'd have an advertised shortlink with a double slash: //123.  We could pretty easily add a check to prevent that.  Alternately (and I kind of prefer) adding a new filter at the end of the existing get_shortlink function along the lines of:
return apply_filters('hum_get_shortlink', $link, $base, $post_id, $type);

That would allow any manner of customization, and for your use case, you could do something like:
add_filter('hum_get_shortlink', function($link, $base, $id, $type) {
  if ($id) {
    $link = trailingslashit( $this->shortlink_base() ) . num_to_sxg($id);
  }
  return $link;
}, 10, 4);

@pfefferle what do you think?

Actually... given the recent change in 25d9bebdc006f5a29a23175be9b5aea7df2f8a09, I wonder if emptying out the local_types array would end up doing the right thing?  So basically just calling:
add_filter('hum_local_types', '__return_empty_array');

Looking at the regex used in rewrite_rules, I actually think that might work, though it is much more likely to cause side-effects with other rewrite rules from WordPress core or other plugins.  It's much safer to use the hum_legacy_id filter, since that hooks into the WordPress 404 handler, after all other rewrite rules have run.

Err scratch that last comment... since I think we are always including i as a local type (not sure why?) when setting up the rewrite rule, that wouldn't work.  Even if that weren't the case, we're still looking for an additional forward slash, so it wouldn't match.  It was probably a bad idea anyway :)
add_rewrite_rule( "([{$local_types}i](\/.*)?$)", 'index.php?hum=$matches[1]', 'top' );

Thanks, Will!
I just discovered the plugin, so the impact wouldn't be too great for me if I coded things in. I can see how removing the base could cause a URL collision between 2 bases that were removed. From what I understand, the likelihood is small, but it would exist, so perhaps my request is not so good.

Looking at the proposed "standard" of shortlinks, it appears that the /*/ is part of the proposal. With that being the case, my idea wouldn't be good. I understand that it really is a proposal, but as that seems to be an integral part, I'll move on from my crazy idea. I like to future proof as much as possible.


Can't use JSX in test files (but can in imported ones)

Here's the test file I'm trying to run:
import test from 'ava';
import React from 'react';
import { createRenderer } from 'react-addons-test-utils';
import FieldError from '../../../js/components/form/FieldError.js';

test('FieldError shows when the error is in array', t => {
  const renderer = createRenderer();

  const errors = [{ attribute: 'email', code: '123' }];
  renderer.render(
    <FieldError resource="user" attribute="email" code="123" errors={ errors }>
      Error message
    </FieldError>
  );
  const resuslt = renderer.getRenderOutput();

  t.same(result, 'Error message');
});

The command I'm using:
$ NODE_ENV=development node ./node_modules/.bin/ava client/test/components/form/FieldError.spec.js

I get a syntax error on the line with JSX:
SyntaxError: /Users/Tomaz/Projects/MyProject/client/test/components/form/FieldError.spec.js: Unexpected token (11:4)
    at Parser.pp.raise (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:1413:13)
    at Parser.pp.unexpected (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:2895:8)
    at Parser.pp.parseExprAtom (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:746:12)
    at Parser.pp.parseExprSubscripts (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:501:19)
    at Parser.pp.parseMaybeUnary (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:481:19)
    at Parser.pp.parseExprOps (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:412:19)
    at Parser.pp.parseMaybeConditional (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:394:19)
    at Parser.pp.parseMaybeAssign (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:357:19)
    at Parser.pp.parseExprListItem (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:1224:16)
    at Parser.pp.parseCallExpressionArguments (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:577:20)
    at Parser.pp.parseSubscripts (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:540:29)
    at Parser.pp.parseExprSubscripts (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:511:15)
    at Parser.pp.parseMaybeUnary (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:481:19)
    at Parser.pp.parseExprOps (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:412:19)
    at Parser.pp.parseMaybeConditional (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:394:19)
    at Parser.pp.parseMaybeAssign (/Users/Tomaz/Projects/MyProject/node_modules/babylon/index.js:357:19)
From previous event:
    at Api.run (/Users/Tomaz/Projects/MyProject/node_modules/ava/api.js:148:4)
    at Object.<anonymous> (/Users/Tomaz/Projects/MyProject/node_modules/ava/cli.js:110:5)
    at Module._compile (module.js:398:26)
    at Object.Module._extensions..js (module.js:405:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Function.Module.runMain (module.js:430:10)
    at startup (node.js:141:18)
    at node.js:980:3

My .babelrc:
{
  "presets": ["react", "es2015", "stage-0"],
  "env": {
    "development": {
      "plugins": [
        ["react-transform", {
          "transforms": [{
            "transform": "react-transform-hmr",
            "imports": ["react"],
            "locals": ["module"]
          }, {
            "transform": "react-transform-catch-errors",
            "imports": ["react", "redbox-react"]
          }]
        }]
      ]
    }
  }
}

I've tried running the command with babel-node, but the result is the same.
Not sure what else to try (apart from avoiding JSX in tests all together)

JSX is not yet supported in AVA's tests.
As a workaround, you can separate <FieldError> component in a separate file, which you can compile yourself via babel. Then, import the already compiled component and do something like:
renderer.render(React.createElement(FieldError, props));

Yep, that's what I'm doing now, here's a working test:
import test from 'ava';
import React from 'react';
import ReactDOMServer from 'react-dom/server';
import FieldError from '../../../js/components/form/FieldError.js';

test('FieldError shows when the error is in array', assert => {
  const errors = [{ attribute: 'email', code: '123' }];

  const field = React.createElement(FieldError, {
    errors,
    attribute: 'email',
    code: '123',
  }, 'Error message');

  const result = ReactDOMServer.renderToStaticMarkup(field);

  assert.same(result, 'Error message');
});

Would be great to describe this workaround in a "Testing with React" recipe (#446).
@tomazzaman Do you have some free time to contribute a recipe for React? No worries if not ;)

Sure, I'd be more than happy, just let me know what to do, I'm quite a noob on contributing on GH :)

No probs, you'll love it! So, here's what you'll need to do:

Check out our Contributing guide, especially "Submitting a pull request" part.
Fork the ava repository to your account.
Clone tomazzaman/ava repository.
Create a new git branch with a short descriptive name of your work (e.g. react-recipe).
Create a new markdown file for your React recipe in docs/recipes (e.g. docs/recipes/react.md).
Write the recipe. You can check out recipes submitted by other contributors for inspiration - https://github.com/sindresorhus/ava/pull/444 and https://github.com/sindresorhus/ava/pull/402
After you review your recipe and think it's ready to go, commit & push this branch to your repository
Now go to https://github.com/tomazzaman/ava and you'll see GitHub offering to send a pull request of your branch. Here's the official guide on sending pull requests - https://help.github.com/articles/using-pull-requests/.

Let me know if you need any help ;)

Will do! Thanks for the step-by-step guide! I'll get on it once kids are in bed :)

That's weird, FWIW JSX works natively in my tests, not sure what the difference is: https://github.com/mattkrick/redux-socket-cluster/blob/master/tests/index-tests.js#L46

@mattkrick JSX works on 0.9.x as it reads in your .babelrc, but they removed reading in .babelrc file in 0.10.

ohhhh good to know. you just saved me a future headache, cheers

@vdemedes I have another recipe that doesn't necessarily include AVA but I think it could be very useful for the users so I was wondering whether you'd be interested in publishing it here. I first planned a blog post, but I think it'll get bigger exposure here. It's about integration testing.

Can I check whether AVA plans to add support for JSX again in the future or whether I should be keeping all my tests in plain JS?

@tomazzaman Could you send me a draft I can read?
@benji6 I don't think we had this discussion among core team members, but as for me personally I would like to add native JSX support in future. At the moment, feel free to use the workaround described in this thread.

@vdemedes see this gist. It's not complete, I'd explain what this script does in much more detail and why some decisions were made.

@tomazzaman Not sure about this, as it's out of AVA's scope in my opinion. There are many ways to do integration testing, and I don't feel that we can have one universal recipe for it. Let's see what others think anyway ;) /cc @sindresorhus @jamestalmage

Okay, no problem, I do have some other piece of code I'd like to share though; A basic continuous runner that keeps the process open for instant feedback. I can turn this into a recipe as well.
import path from 'path';
import childProcess from 'child_process';
import program from 'commander';
import chokidar from 'chokidar';
import { isMatch } from 'micromatch';
const AVA = require.resolve('ava/cli.js');

program
  .version('0.0.1')
  .option('-c, --coverage', 'Include code coverage')
  .option('-s, --single-run', 'Exit the process after first run')
  .parse(process.argv);

let commandArray = [AVA];
if (program.coverage) {
  const NYC = path.resolve('node_modules/nyc/bin/nyc.js');
  commandArray = [NYC, '--cache', '--reporter=text', '--reporter=html'].concat(commandArray);
}

const sourcesGlob = 'client/js/**/*.js';
const testsGlob = 'client/test/**/*.spec.js';

const watcher = chokidar.watch([sourcesGlob, testsGlob]);

watcher.on('add', function add(filepath) {
  this.sourceFiles = this.sourceFiles || [];
  this.testFiles = this.testFiles || commandArray;

  if (isMatch(filepath, sourcesGlob)) {
    this.sourceFiles.push(filepath);
  } else if (isMatch(filepath, testsGlob)) {
    this.testFiles.push(filepath);
  }
});

watcher.on('ready', function ready() {
  runSuite(this.testFiles);
});

watcher.on('change', function change(filepath) {
  runSuite(this.testFiles);
});

function runSuite(testFiles) {
  console.log('Running tests...');
  const command = testFiles.concat('--color');

  const runner = childProcess.execFile(process.execPath, command, (error) => {
    const exitCode = error ? error.code : 0;
    if (program.singleRun) process.exit(exitCode);
  });

  runner.stdout.pipe(process.stdout);
  runner.stderr.pipe(process.stderr);
}

Not sure about this, as it's out of AVA's scope in my opinion.

I agree.

A basic continuous runner that keeps the process open for instant feedback. I can turn this into a recipe as well.

I think it would be better as a pull request for https://github.com/sindresorhus/ava/issues/70.

@sindresorhus I'll have a go during the weekend

@tomazzaman \o/ :)

Let's move the JSX recipe discussion to #446.


Field not inserted into DB when using BulkInsert

I have an object that have a property called "Name".
The EF model that needs to be inserted into DB, have the property Name populated correctly.
When using BulkInsert, Name column inserts Null.
Doing the same insert with AddRange(list) and SaveChanges() works just fine.
Any idea why?

Can you write a code snippet where this would be reproducible or make a test with your case.


Unable to install memcache chart in GKE cluster

I am trying to install memcached in the GKE cluster with the following command
helm install stable/memcached --name mycache
However, I am getting the following response:
bash-3.2$ helm install -name my-release stable/memcached
Error: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request

My apiservice for v1beta1.metrics.k8s.io looks like as follows
bash-3.2$ kubectl get apiservice v1beta1.metrics.k8s.io
NAME                     SERVICE                      AVAILABLE                      AGE
v1beta1.metrics.k8s.io   kube-system/metrics-server   False (FailedDiscoveryCheck)   48m
bash-3.2$ kubectl describe apiservice v1beta1.metrics.k8s.io
Name:         v1beta1.metrics.k8s.io
Namespace:
Labels:       addonmanager.kubernetes.io/mode=Reconcile
              kubernetes.io/cluster-service=true
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"apiregistration.k8s.io/v1beta1","kind":"APIService","metadata":{"annotations":{},"labels":{"addonmanager.kubernetes.io/mode...
API Version:  apiregistration.k8s.io/v1
Kind:         APIService
Metadata:
  Creation Timestamp:  2019-10-16T05:55:17Z
  Resource Version:    XYZ
  Self Link:           /apis/apiregistration.k8s.io/v1/apiservices/v1beta1.metrics.k8s.io
  UID:                 uuid1
Spec:
  Group:                     metrics.k8s.io
  Group Priority Minimum:    100
  Insecure Skip TLS Verify:  true
  Service:
    Name:            metrics-server
    Namespace:       kube-system
  Version:           v1beta1
  Version Priority:  100
Status:
  Conditions:
    Last Transition Time:  2019-10-16T05:55:17Z
    Message:               no response from https://ip-address:443: Get https://ipaddress:443: No SSH tunnels currently open. Were the targets able to accept an ssh-key for user "gkeuser"?
    Reason:                FailedDiscoveryCheck
    Status:                False
    Type:                  Available
Events:                    <none>

I was able to fix the issue after adding the necessary firewall rule in GCP


fix typo

Description
fix typo, cancelled not canceled
Checklist:

[x] Securely signed commits
[x] User guide updated

Thank you.
But it seems American spelling is canceled.
https://en.wiktionary.org/wiki/canceled
I wait for the opinions of native English speakers.

yes, you are right!
then let native English speakers decide..

This is one of those that always looks wrong to me with the American spelling. And I'm American. I'm fine fixing this. Thanks!


Benchmarks

@lemire I have translated the benchmarks as-is . Please review them and if you merge, you can get rid of the old ones as well.

Looks good. Merging.


Wrong display of DartPad under Chrome

Same page ( https://flutter.dev/docs/codelabs/implicit-animations ) under Firefox works OK. Both browsers are in factory settings.

Thanks for reporting this, Tomasz. We've seen a few bug reports over the last week relating to display in Chrome.
Do you mind providing a little more information?

What operating system and version you're using.
What version of Chrome you're using.
Whether there are any extensions installed that might affect traffic to and from DartPad.
Whether there are any errors or warnings in your browser console.


[fatal][tid:main] Unable to resolve module react

I run xcode project prompted the following error：
[tid:main] Unable to resolve module react from /Users/chenchen/Documents/project/mywebsite/index.ios.js: Unable to find this module in its module map or any of the node_modules directories under /Users/node_modules/react and its parent directories
Do the checklist before filing an issue:
This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:

Clear watchman watches: watchman watch-del-all.
Delete the node_modules folder: rm -rf node_modules && npm install.
Reset packager cache: rm -fr $TMPDIR/react-* or npm start -- --reset-cache.

I follow the above instructions, but still valid

@XiaoLiz I think this could be a problem with PATH+npm on windows.
Please try the following:
reinstall all to latest:
npm: 3.10.3
node: 6.3.0
react-native: ^0.29.0
react: 15.2.1

Then:
rm -rf node_modules
npm clean cache
watchman watch-del-all
npm i
npm start -- --reset-cache

@stoffern  The need to install npm install react ?

Yes, react-native uses react framework to get its structure.
import React, {Component} from 'react'

@stoffern According to the above process still not been resolved

@stoffern According to the above method is still not able to solve this problem

According to the above method is still not able to solve this problem

@XiaoLiz can you post your index.ios.js code?

init project index.ios.js
/**

Sample React Native App
https://github.com/facebook/react-native
@flow
*/

import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
class mywebsite extends Component {
render() {
return (

Welcome to React Native!

To get started, edit index.ios.js

Press Cmd+R to reload,{'\n'}
Cmd+D or shake for dev menu

);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
AppRegistry.registerComponent('mywebsite', () => mywebsite);

@XiaoLiz no problems there.
is your project located here: /Users/chenchen/Documents/project/mywebsite ?
what happends if you run:
./node_modules/react-native/packager/packager.sh start --reset-cache

@stoffern
Yes !  my project located here: /Users/chenchen/Documents/project/mywebsite
my run:
./node_modules/react-native/packager/packager.sh start --reset-cache

@XiaoLiz is your package.json and your node_modules folder inside: /Users/chenchen/Documents/project/mywebsite ?

@stoffern
Yes !

@XiaoLiz
you not install  react
npm i --save react

不谢！

Looks like this has been solved.


Peer certificate cannot be authenticated: Failed to register with ACVP server

This is the error I'm seeing when I try ti connect to ACVP server. When I use "acvp.nist.gov" for ACV_SERVER I get "Couldn't resolve host name" error which is why I'm using demo server.

amritha@thorath-vm:~/cavp_tool/libacvp-master$ ./app/acvp_app
Using the following parameters:
ACV_SERVER:     demo.acvts.nist.gov
ACV_PORT:       443
ACV_URI_PREFIX: acvp
ACV_CA_FILE:    certs/demo.server.crt
ACV_CERT_FILE:  certs/CSR_athorath-corsec.cer
ACV_KEY_FILE:   certs/privateKey.pem

POST [
{
"acvVersion": "0.4"
},
{
"password": "38026102"
}
]
***ACVP [ERR][acvp_curl_http_post:267]--> Curl failed with code 60 (Peer certificate cannot be authenticated with given CA certificates)
***ACVP [ERR][acvp_curl_http_post:283]--> HTTP response: 0
***ACVP [ERR][acvp_send_login:616]--> Unable to register with ACVP server. curl rv=0
***ACVP [STATUS][acvp_register:1069]--> Login Response Failed (null)
***ACVP [STATUS][acvp_register:1072]--> Login Send Failed
Failed to register with ACVP server (rv=3)

All the certificates and keys are under certs folder:

amritha@thorath-vm:~/cavp_tool/libacvp-master$ ls -l certs/
total 284
-rw-rw-r-- 1 amritha amritha   1566 Oct 15 15:10 acvp.nist.gov.crt
-rw-rw-r-- 1 amritha amritha   1398 Oct 15 15:11 CSR_athorath-corsec.cer
-rw-rw-r-- 1 amritha amritha   2256 Oct 22 13:07 demo.server.crt
-rw-rw-r-- 1 amritha amritha 274340 Oct 15 15:10 mozzila_trust_anchors.pem
-r--r----- 1 amritha amritha   1704 Oct 15 15:11 privateKey.pem

Any help is appreciated!

Got answer to this issue on another thread!

ACV_URI_PREFIX acvp/
not
ACV_URI_PREFIX acvp
From: amy123<EMAIL_ADDRESS>Sent: Monday, October 22, 2018 2:28 PM
To: cisco/libacvp<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [cisco/libacvp] Peer certificate cannot be authenticated: Failed to register with ACVP server (#164)
Got answer to this issue on another thread!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/cisco/libacvp/issues/164#issuecomment-431925823, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGnx9kC49VfnykYqMzUtL7a5tqN2Mccmks5ung5IgaJpZM4Xz0rX.