text:
Use correct tolerances on the solution vector in tests

The tests occasionally fail on random inputs. This is almost certainly due to not using the proper inequalities on the error bounds of the solution vector and/or residual vector. For many of these algorithms, these inequalities are known (or at least, for special cases), and we should use the known inequalities to test for correct convergence.

I think this is resolved since we're now using proper test problems with well-conditioned matrices.

authors: haampie jiahao


text:
Symmetric matrices

Implements the Symmetric matrices as a basic manifold.

Let's wait for the tests (the symmetric ones seem to not fail anymore) and wait for the test coverage – if that is fine we can merge this.

Looks good to me!

source: gharchive/pull-request

authors: kellertuer manuelweisser sethaxen

license: MIT

license_type: permissive

license_source: github-api


text:
Add algorithm of Φ₁ and Φ₂ for the invertible case

This can be further specialized to identity multiple, or diagonal.

fixed in https://github.com/JuliaReach/ReachabilityAnalysis.jl/pull/365

source: gharchive/issue


text:
New version PowerModels: 0.9.7

Registering: PowerModels
Repository: https://github.com/lanl-ansi/PowerModels.jl
Version: v0.9.7
Commit: 6e1584115680f54d46f8eda67db2ca6e94f28221
Proposed by: @ccoffrin
Reviewed by: @ccoffrin
Reference: https://github.com/lanl-ansi/PowerModels.jl/issues/496#issuecomment-487831584

I would like to cancel this release, make some updates, and try again.  How is that accomplished?

You can just make the updates and then retrigger the bot.

Looks like this is ready to go now. Does this seem good to you, @ccoffrin?

Yes, please merge.

authors: JuliaRegistrator StefanKarpinski ccoffrin fredrikekre

repo: JuliaRegistries/General


text:
New version: MUMPS v1.1.0

Registering package: MUMPS
Repository: https://github.com/JuliaSmoothOptimizers/MUMPS.jl
Created by: @dpo
Version: v1.1.0
Commit: 5e09c3cf82a3c6ee8564c51cb4fa46a5925fa395
Reviewed by: @dpo
Reference: https://github.com/JuliaSmoothOptimizers/MUMPS.jl/commit/5e09c3cf82a3c6ee8564c51cb4fa46a5925fa395#commitcomment-62666357
Description: A Julia Interface to MUMPS

[noblock] This package requires an external dependency to be installed manually. Future versions will use precompiled binaries shipped as artifacts, so manual merging should no longer be necessary.

I'm going to merge this PR this time, but for the future please read https://github.com/JuliaRegistries/General/blob/7d1e7958ed6e980dc69d380e141502131b0fdbaf/README.md#my-package-fails-to-load-because-it-needs-proprietary-softwareadditional-setup-to-work-what-can-i-do, which would avoid the need of requesting a manual merge.

authors: JuliaRegistrator dpo giordano


text:
New version: JuliaFormatter v0.2.2

Registering package: JuliaFormatter
Repository: https://github.com/domluna/JuliaFormatter.jl
Created by: @domluna
Version: v0.2.2
Commit: 9c2f82fb5a5a4699390b3c4dd42d35de3d325483
Reviewed by: @domluna
Reference: https://github.com/domluna/JuliaFormatter.jl/commit/9c2f82fb5a5a4699390b3c4dd42d35de3d325483#commitcomment-36662160

Looks like this fixes the previous issue :smile:

authors: JuliaRegistrator domluna


text:
length( ) for each_replaceNA

Just wondering if it makes sense to make each_replacena() compatible with length() function? I can perform the following operation on DataArray
df = DataFrame(
               a = @data([1, 2, 3, 4, NA]),
               b = @data([18, 20, NA, 24, 26])
               )

julia> @data([i for i in df[:a]])
5-element DataArray{Any,1}:
 1
 2
 3
 4
  NA

But if i were using each_replacena() then the operation would fail
julia> @data([i for i in each_replacena(df[:a], 3)])
ERROR: `length` has no method matching length(::EachReplaceNA{Int64,Int64})
 in anonymous at ~/.julia/v0.3/DataArrays/src/literals.jl:106

This is a DataArrays issue. Closing now that DataFrames don't use it anymore.

authors: datafig nalimilan

license: mit

license_source: bigquery


text:
[question] when type is object and no properties field, the result has  no error message.

There is no error message when schema type is object without properties filed, which is a required filed.
Here is the example code:
from unittest import TestCase
from jsonschema.validators import Draft7Validator, exceptions

class TestBestMatch(TestCase):
   def test_xxx(self, false=None):
       schema={
           "$schema": "http://json-schema.org/schema#",
           "type": "object",
           "name": {"type": "string"},
           "foo": {"type": "string"}
       }

       doc={
           "name": 3,
           "foo": 2
       }

       validator = Draft7Validator(schema)
       print(exceptions.best_match(validator.iter_errors(doc)))

Is it more reasonable to throw an error message?

Hi. Thanks. This is the behavior mandated by the spec, for better or worse.
The spec says unknown validation keywords are to be ignored. name and foo are, as far as jsonschema can know, just such unknown validation keywords that may be being used for some other purpose.

authors: Julian willson-chen

repo: Julian/jsonschema


text:
Connection error (Error code A10404)

Hi there,
I tried to implement the Jumio with my flutter app, following the instruction, but always got the error info as below:
"Connection error, we have encountered a network communication problem(A10404)"
Did I miss something?
Smartphone:

Device: Iphone 7 plus
OS: iOS 15
Flutter SDK Version: 2.8.1

Hello @seantcam,
A10404 indicates a network communication problem, usually due to an http error.
Which version of the Jumio Flutter plugin are you using? 4.0.0?
Could you share the steps you took that led to you getting this error?

Hello @seantcam, A10404 indicates a network communication problem, usually due to an http error.
Which version of the Jumio Flutter plugin are you using? 4.0.0? Could you share the steps you took that led to you getting this error?

Hello @bratapfelmus,
SDK version is 4.0.0.
I created verification from user portal and parse token from web url, put the token into sample app and got this error.

Hello @seantcam
since you already have portal access, the easiest way to resolve this issue would be to contact Jumio support.

authors: bratapfelmus seantcam

repo: Jumio/mobile-flutter


text:
Rollup

This is another proof of how and why the performance of atom-julia-client is suffering from the old JavaScriptsm and new wrong decisions.
Despite building, it throws all sorts of warnings and errors because of these wrong habits.
Circular dependencies are spread all over the codebase:
(!) Circular dependencies
lib\ui.coffee -> lib\ui\layout.js -> lib\runtime.coffee -> lib\runtime\evaluation.coffee -> lib\ui.coffee
lib\ui.coffee -> lib\ui\layout.js -> lib\runtime.coffee -> lib\runtime\evaluation.coffee -> lib\runtime\workspace.coffee -> lib\ui.coffee
lib\ui.coffee -> lib\ui\layout.js -> lib\runtime.coffee -> lib\runtime\evaluation.coffee -> lib\runtime\workspace.coffee -> C:\Users\yahyaaba\Documents\GitHub\JavaScript\github\julia-client\lib\ui.coffee?commonjs-proxy -> lib\ui.coffee
...and 7 more
created dist in 7.9s

Many unresolved dependencies:
lib/julia-client.coffee → dist...
(!) Unresolved dependencies
https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency
child_process (imported by lib\misc\paths.js, lib\connection\terminal.coffee, child_process?commonjs-external)
net (imported by lib\connection\terminal.coffee, net?commonjs-external, lib\connection\process\basic.js, lib\connection\process\remote.js, lib\connection\process\tcp.coffee)
vm (imported by lib\runtime\frontend.coffee, vm?commonjs-external)
shell (imported by lib\package\commands.coffee, shell?commonjs-external)
remote (imported by lib\ui\notifications.coffee, remote?commonjs-external)

Many other dynamic requires that I tried to solve using plugins.
My suggestion for this repository:

Use named exports/imports
Stop using dynamic require.
Use dynamic import inside a condition (if)
Avoid circular dependencies by restructuring the modules, use proper abstraction, using self-contained classes.
Don't try to do everything in one package. Use services from other packages like linter, atom-ide packages, etc. Modularity is the best development approach.
deferring execution should be the last thing to try. The program should already run fast synchronized and then could benefit from asynchronous execution.
JSfying does not help if you want to follow the same old procedure.
Many tools exist that tell you these kinds of things (Eslint, TypeScript, etc). They exist for some reason.
and lastly, be open to suggestions. People want to help.

Can you explain what rollup is and why we should use it?
Anyways, I agree with most of your points. We definitely should restructure code at the same time as translating it form CoffeeScript to JS, which is precisely why automating that task is only somewhat helpful.

Circular dependencies are spread all over the codebase:

Yeah, that's pretty bad...

Many unresolved dependencies:

Eh, those are whatever -- in theory we shouldn't rely on those being in the global context (just like the atom global, I suppose), but in practise that really doesn't matter much.

Use named exports/imports
Stop using dynamic require.

👍

Don't try to do everything in one package. Use services from other packages like linter, atom-ide packages, etc. Modularity is the best development approach.

Eh, not so sure about that. Most Atom packages aren't that great to interface with (and/or provide an awful UX). atom-linter is probably the exception there, and we should use it once we actually have a linter (and for the Traceur integration, I suppose).

deferring execution should be the last thing to try. The program should already run fast synchronized and then could benefit from asynchronous execution.

Hm, not sure what you mean here. I think we should make sure to (re-) design everything with lazy-loading and as much asynchronicity in mind -- it's pretty hard to shoehorn that in afterwards without making a mess of everything.

and lastly, be open to suggestions. People want to help.

👍
But also appreciate that we don't have an unlimited amount of time to work on this (and even reviewing PRs takes a lot of time when they touch huge parts of the codebase). I also think performance isn't the biggest problem Juno has right now.

Can you explain what rollup is and why we should use it?

It is a bundler similar to Webpack, but with better plugins. It reduced the load time even now that the code has many issues to half of its time. So once the Junos requires are converted to import,export, you can get a huge bump in the performance.

Don't try to do everything in one package. Use services from other packages like linter, atom-ide packages, etc. Modularity is the best development approach.

Eh, not so sure about that. Most Atom packages aren't that great to interface with (and/or provide an awful UX). atom-linter is probably the exception there, and we should use it once we actually have a linter (and for the Traceur integration, I suppose).

atom-ide-community packages are very well. linter is very good too. If there is something you don't like about them, you should improve those packages instead of writing everything from scratch here.

deferring execution should be the last thing to try. The program should already run fast synchronized and then could benefit from asynchronous execution.

Hm, not sure what you mean here. I think we should make sure to (re-) design everything with lazy-loading and as much asynchronicity in mind -- it's pretty hard to shoehorn that in afterwards without making a mess of everything.

Here I meant relying on deferring execution isn't good when the codebase already has other issues. It should be tried after.

and lastly, be open to suggestions. People want to help.

👍
But also appreciate that we don't have an unlimited amount of time to work on this (and even reviewing PRs takes a lot of time when they touch huge parts of the codebase).

That is why you opened the source of the packages. People will put time on helping the package improve.

I also think performance isn't the biggest problem Juno has right now.
Writing good code is always important, even if you don't care about performance. The things I mentioned are not that complicated, most of them are a matter of just replacing a few lines of code.

Regarding the Atom's performance, people complain about it all over the internet. Many (including the actual Atom developers) have already switched to other platforms! We should all write performant code, especially when we gain a lot with very minor adjustments (like import and require).

authors: aminya pfitzseb

repo: JunoLab/atom-julia-client


text:
Goes Offline upon shutdown of Sys32

Hello, team.
I just heard of this Github today, and I am glad I came along it.
Now, I have finished setting up the bot, it's in my server, had it play some songs and stuff. DisgraceBot#3014 I set up the BOT on my PC, and I use my MacBook more than my PC. Whenever I'd close the System32, the bot would cut the music and go Offline. Is that normal? Must be PC always remain on on the System32 screen for it to stay Online and play music non-stop?
Thanks!

Um yes of course the PC must be on in order for the bot to keep running. I just use a headless Linux Server to host it instead. You just want to ensure that Python3 is running for Windows I guess....

If you want to keep the music bot up, you must keep the machine with the bot on.
In addition, "System32" is not synonymous to "Windows 10" or "PC".  You don't "close" System32; it's just a directory that contains files that helps Windows run.

authors: DAVID47624 SimonOrJ VBQL

repo: Just-Some-Bots/MusicBot


text:
Music doesn't work

Everytime i try to play music (windows based bot) :
[03/02/2017 22:18] ERROR red on_command_error 363: Exception in command 'play' Traceback (most recent call last):   File "lib\discord\ext\commands\core.py", line 50, in wrapped     ret = yield from coro(*args, **kwargs)   File "C:\Users\Xelion\Documents\Red Bot\Red-DiscordBot\cogs\audio.py", line 1342, in play     await self._join_voice_channel(voice_channel)   File "C:\Users\Xelion\Documents\Red Bot\Red-DiscordBot\cogs\audio.py", line 633, in _join_voice_channel     await self.bot.join_voice_channel(channel)   File "lib\discord\client.py", line 3196, in join_voice_channel     voice = VoiceClient(**kwargs)   File "lib\discord\voice_client.py", line 213, in __init__     raise RuntimeError("PyNaCl library needed in order to use voice") RuntimeError: PyNaCl library needed in order to use voice
And yes i've already tried to update the requirements, but no change :/

just update youtube-dl
https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl

How do i do that on Windows ?

XelionIO
have you tried run update_deps.bat?

i don't have that bat file but like i've said i've already tried to update all the requirements

ok, then
Error occurs only when you try execute play cmd? Or even on voice channel connection?
try run in cmd
python -m pip list
if PyNaCl is not in list execute
python -m pip install pynacl
if it will not help
download https://github.com/Just-Some-Bots/MusicBot/blob/master/update_deps.bat
and execute

i've figured out the problem, i was running Python 2.6 not 2.5 :)

i actualy use 3.5...

Sorry my mistake, i was running 3.6 not 3.5

authors: XelionIO doranych


text:
show场景下的onBackPressed()未支持

添加一个fragment 按返回键 close了,但是再次添加Fragment后,再按返回键 ,activity就退出了.你们遇到过吗? 这里还有个问题 就是我若是加了多层的fragment,按一次fragment会吧所有的fragment全部移除,怎么做到一层层移除?

请给出添加Fragment的相关源码及请确认onRiggerBackPressed()是否是public的，如有异常，请给出相关异常信息。

通过showFragment加载的Fragment，无法拦截回退按钮，这个在设计回退拦截的时候是不是就只是处理通过startFragment加载进来的fragment

@xiaoyan159 是的，show场景下的onBackPressed暂未支持，这种情况因为没有栈的管理比较特殊，所以还未实现。

@JustKiddingBaby 我说一下环境先.

Mainactivity中有 四个标签 tabA, tabB tabC tabD 初始化的时候 Rigger先addFragment,用.showFragment(tag)显示每个tab页面;
在tabD的页面 我又做了一个startFragment的添加内嵌fragment,就如同您的demo中的例子;
3.在tabD页面多层startFragment以后, 按返回会清掉D页面所有的fragment, 包含tabD的根fragment;
这时候我切换到tabA页面, 这时候显示A页面,我再按返回, 程序返回后台了;

这里我查看下了 有这样几个问题 @Puppet BaseFragment , 然后 每个子Fragment也有@Puppet 这样 子Fragment监听返回是没有效果,
估计是BaseFragment截断了, 但是我再BaseFragment里面重写BackPress 里面再调用一个抽象方法,让子Fragment实现 好像子Fragment不会调用;
有很多逻辑上的问题 没办法管理 看看怎么处理下..或者提供些接口 我们自己自定义处理;
若是只在BaseFragment注释Puppet, D页面start就只能在根目录下切换,但是好像close的时候会返回上一个, 不知道是不是我做的对象重新new还是怎么回事..

@jxfjack 抱歉，近期因为工作问题没有来得及回复框架中的问题，近期会对框架进行进一步迭代。
以下说说你遇到的问题：

A/B/C/D四个Fragment是通过show方式进行添加的，但是框架还没有为show方式下添加的Fragment添加onBackPressed()方法支持。

@jxfjack  近期已经对返回键的监听进行了完整的设计，支持了所有场景下的Fragment的返回键监听，并支持任意级别的拦截，demo中封装了你提供的场景。

请升级版本到v1.3.0，详细使用请看 wiki

@xiaoyan159 近期已经对返回键的监听进行了完整的设计，支持了所有场景下的Fragment的返回键监听，并支持任意级别的拦截。

请升级版本到v1.3.0，详细使用请看 wiki

authors: JustKiddingBaby jxfjack xiaoyan159

repo: JustKiddingBaby/FragmentRigger


text:
Cannot log in with Google account?

Trying to log in, my Deezer account is linked to a google account but I can never get past the "Deezer wants additional access" screen. Just an endless loop of loading!

Not exactly the same issue, but when trying to log in using a phone number, it will also endlessly loop as well.

Hey, thanks for reporting this issue. I fixed it in https://github.com/JustYuuto/deezer-discord-rpc/commit/280737aa73cd9be2e3c7bc76a15060be52714108, just wait the next update

It now says the browser isn't secure once you enter the email, weird..

same here

authors: JustYuuto Korge LucasCampbell0 WK-M

repo: JustYuuto/deezer-discord-rpc


text:
Dealing with multiple Blender versions

I think a nice way to structure the project is the following:
blenderneuron
  ._blender
    .addon
    .controller
    .patches
  .rpc
  .nrn
    .rpc_client

Since we're dealing with a peer dependency, Blender, that doesn't really seem to care for backwards compatibility, we can try to have 1 version of our package work with as many Blender versions as possible by constructing the blender addon from ._blender.addon and then passing it through every function in ._blender.patches, something as follows:
def get_blender_version():
  try:
    return bpy.app.version_string.split(".")
  except:
    raise Exception("Oh no, they changed the API that helped us fix the changes in their API")

def patch_blender_addon():
  version = get_blender_version()
  import .addon, .controller, .patches
  for patch in sort(patches.__dict__, sorting_for_sequential_patching):
    patch(version, addon, controller)

The resulting addon module we'll inspect for a __blender__ or __exports__ magic dictionary whose key value pairs we import into blenderneuron to make the blenderneuron a Blender addon for the appropriate version.
This should allow every "patch function" in ._blender.patches to modify the original ._blender.addon and ._blender.controller modules as it pleases based on Blender version. I think that as long as we work with atomic function such as register_addon which then neatly calls very precise and easy to override register_operators, register_menu, register_ui, ... functions we should be able to in the future apply monkey patches if they do break the API again. Same thing for the controller, whenever we use something that is blender, we should encapsulate it in a function, however tiny or silly, so that we can patch it should the API for it change, and still be able to support both versions by monkey patching like this.
The addon module does all the addon registering etc while the controller is the object that executes manipulations of the blender environment such as creating, deleting, moving, animating objects.

Some problems: when installing an addon into Blender, the module isn't actually loaded but they either read the lines of the module file (speedy mode) for a line that starts with bl_info or they use an AST and a literal eval of a target whose id is bl_info in either case to succesfully register as an addon the python file itself needs to be literally contain the values, it is never evaluated as actual Python.
To run our addon (after installation) our module is actually loaded and I believe we can apply the patches.
In conclusion this means that the installer (#20) will have to obtain the blender version (probably using blender --version and parsing the output) and write the version into blenderneuron/__init__.py before asking Blender to install it.

Some problems: when installing an addon into Blender, the module isn't actually loaded but they either read the lines of the module file (speedy mode) for a line that starts with bl_info or they use an AST and a literal eval of a target whose id is bl_info in either case to succesfully register as an addon the python file itself needs to be literally contain the values, it is never evaluated as actual Python.
To run our addon (after installation) our module is actually loaded and I believe we can apply the patches.
In conclusion this means that the installer (#20) will have to obtain the blender version (probably using blender --version and parsing the output) and write the version into blenderneuron/__init__.py before asking Blender to install it.

Seems like it could get complex.
I wonder if each BN version should target a specific Blender version (latest-ish) and users who need the addon to work in an earlier Blender version would download an earlier version of the addon. e.g. a "lock-step" strategy.
The strategy would trade management simplicity for us at the expense of the latest BN features being only available in the latest-ish version of Blender.

Seems like it could get complex.
I wonder if each BN version should target a specific Blender version (latest-ish) and users who need the addon to work in an earlier Blender version would download an earlier version of the addon. e.g. a "lock-step" strategy.
The strategy would trade management simplicity for us at the expense of the latest BN features being only available in the latest-ish version of Blender.

Ah, I was brainstorming under the assumption that there was some reason you wanted to support multiple Blender versions! If that's not required that massively simplifies things! In that case we just post a table on the README for which Blender versions each BN version supports. Sadly I don't think it'll be possible to declare this dependency in any Pythonic way, but the installer could pip install only versions matching the current blender version ofcourse.

authors: Helveg JustasB

repo: JustasB/BlenderNEURON


text:
mingw usage?

hello,
i am trying to use the library with https://github.com/tpoechtrager/wclang in order to compile a PE from linux. i have tried with both clang-6 and clang-8 but i always get the following error:
$ ./x86_64-w64-mingw32-clang++ -Wall --pedantic hello.cpp -o hello.exe
In file included from hello.cpp:8:
In file included from ./inline_syscall/include/in_memory_init.hpp:20:
In file included from ./inline_syscall/include/inline_syscall.hpp:103:
./inline_syscall/include/inline_syscall.inl:61:28: warning: inline variables are a C++17 extension [-Wc++17-extensions]
                "_sysc")]] inline static JM_INLINE_SYSCALL_ENTRY_TYPE entry{ Hash };
                           ^
hello.cpp:18:24: error: implicit instantiation of undefined template 'jm::syscall_function<long long (*)()>'
    NTSTATUS status  = INLINE_SYSCALL(NtAllocateVirtualMemory)((HANDLE)-1, &allocation, 0, &size, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
                       ^
./inline_syscall/include/inline_syscall.hpp:26:5: note: expanded from macro 'INLINE_SYSCALL'
    INLINE_SYSCALL_MANUAL(               \
    ^
./inline_syscall/include/inline_syscall.hpp:44:5: note: expanded from macro 'INLINE_SYSCALL_MANUAL'
    ::jm::syscall_function<decltype(function_pointer)> { syscall_id }
    ^
./inline_syscall/include/inline_syscall.hpp:55:11: note: template is declared here
    class syscall_function;
          ^
1 warning and 1 error generated.

The source code of hello.cpp is the following:
#include <winternl.h>
#include <ntstatus.h>
#include <windows.h>
#include <iostream>

// This header contains the initialization function.
// If you already initialized, inline_syscall.hpp contains all you need.
#include "inline_syscall/include/in_memory_init.hpp"

int main() {
    FARPROC NtAllocateVirtualMemory = GetProcAddress(GetModuleHandle("NTDLL.DLL"), "NtAllocateVirtualMemory");
    // Needs to be called once at startup before INLINE_SYSCALL is used.
    jm::init_syscalls_list();

    // Usage of the main macro INLINE_SYSCALL
    void* allocation = nullptr;
    SIZE_T size      = 0x1000;
    NTSTATUS status  = INLINE_SYSCALL(NtAllocateVirtualMemory)((HANDLE)-1, &allocation, 0, &size, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
    return 0;
}

any idea on how to fix the template error?

Try adding c++17 flag -std=c++17
NtAllocateVirtualMemory needs to have the correct type:

#include <winternl.h>
#include <ntstatus.h>
#include <windows.h>
#include <iostream>

// This header contains the initialization function.
// If you already initialized, inline_syscall.hpp contains all you need.
#include "inline_syscall/include/in_memory_init.hpp"

// I'd recommend https://github.com/processhacker/phnt for these definitions
NTSTATUS NtAllocateVirtualMemory(HANDLE ProcessHandle, PVOID *BaseAddress, ULONG_PTR ZeroBits, PSIZE_T   RegionSize, ULONG AllocationType, ULONG Protect);

int main() {
    // Needs to be called once at startup before INLINE_SYSCALL is used.
    jm::init_syscalls_list();

    // Usage of the main macro INLINE_SYSCALL
    void* allocation = nullptr;
    SIZE_T size      = 0x1000;
    NTSTATUS status  = INLINE_SYSCALL(NtAllocateVirtualMemory)((HANDLE)-1, &allocation, 0, &size, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
    return 0;
}

it works, thank you @JustasMasiulis !
i have another question: is it possible to check at runtime if the syscall is available on the host operating system? eg:
if (!GetProcAddress(GetModuleHandle("NTDLL.DLL"), "NtQuerySecurityPolicy")) {
	// NtQuerySecurityPolicy is not available, os < win10
}

You can use modified version of init function (didn't test - wrote it up in the comment editor)

template<std::uint32_t Hash>
JM_INLINE_SYSCALL_FORCEINLINE bool syscall_present_impl() {
    ::jm::detail::exports_directory exports(static_cast<const char*>(::jm::detail::ntdll_base()));
    for(auto i = exports.size();; --i) {
        if(::jm::hash(exports.name(i)) == Hash)
            return true;
    }
    return false;
}
#define SYSCALL_PRESENT(syscall_name) (syscall_present_impl<::jm::hash(#syscall_name)>())

Define syscall entry type to syscall_entry_full and check if ID is 0 (won't work for 0th syscall but eh)
Create your own init function which does more handling.

thanks again!

authors: JustasMasiulis phra


text:
Telegram Bot domain invalid

你好，我在尝试用webview授权Telegram的login时，在重定向后报错了:Bot domain invalid,貌似是telegram没有收到referer，不知道有没有好的解决办法？这个是telegram login的链接：https://core.telegram.org/widgets/login。

用手机浏览器测试是正常的，很神奇在webview里面不可以

请问这个问题有解决吗？

同问，这个问题解决了吗？

repo: Justson/AgentWeb


text:
JaCoCo Integration

Closed and re-opened now that Code Climate was relaxed

Looks great, but can you revert the moving of the files into the directory hierarchies?

Unfortunately, no I cannot. Kotlin doesn't need folders in those files, but Code Climate does. If you look at one of the CircleCI builds (such as this one) it "succeeds" but reports a bunch of errors that look like this:
ERRO[0000] failed to read file src/main/java/com/juul/able/experimental/messenger/GattCallback.kt
open src/main/java/com/juul/able/experimental/messenger/GattCallback.kt: no such file or directory
WARN[0000] Couldn't find file for path "src/main/java/com/juul/able/experimental/messenger/GattCallback.kt" from build/reports/jacoco/jacocoTestDebugUnitTestReport/jacocoTestDebugUnitTestReport.xml coverage data. Ignore if the path doesn't correspond to an existent file in your repo.

Their logic requires source files to be in the package-folders 😭.

@cedrickcooke - Emily here with Code Climate Support. Thanks for the email about this.
I think this should do the trick:

the test reporter has a JACOCO_SOURCE_PATH you can use to set the path to your source files
related conversation here: https://github.com/codeclimate/test-reporter/issues/243#issuecomment-456673215

Let me know if that covers your use case. 👌 Happy to help further.

I was asked to look at why this couldn't work on code climate.
TL'DR: Codeclimate + jacoco depend on package name being where the files live. For example: com.juul.package => com/juul/package.kt.
Kotlin has slightly augmented this to not require the full package name when the whole package has a root prefix. For example the root is com.juul and therefore the file is just package.kt without the path prefix.
You can read more here:
https://kotlinlang.org/docs/reference/coding-conventions.html#source-code-organization
After looking into the cc-test-reporter, I found that it's making the assumption that the path name is the full package name (including the root). This obviously does not work with Kotlin best practices.
https://github.com/codeclimate/test-reporter/blob/master/formatters/jacoco/jacoco.go#L63
Therefore both jacoco and codeclimate need to support the root package name to omit that from the path structure.
Related: https://github.com/jacoco/jacoco/issues/939

What about Cobertura?

What about Cobertura?

Cobertura fails with:
* Where:
Build file '/Users/travis/Projects/able/build.gradle' line: 59

* What went wrong:
A problem occurred evaluating root project 'able'.
> Failed to apply plugin [id 'net.saliman.cobertura']
   > Could not create an instance of type net.saliman.gradle.plugin.cobertura.CoberturaExtension_Decorated.
      > Failed to apply plugin [class 'org.gradle.language.base.plugins.LifecycleBasePlugin']
         > Declaring custom 'clean' task when using the standard Gradle lifecycle plugins is not allowed.

It also does not support the latest versions of Kotlin.

authors: cedrickcooke efueger jessecollier twyatt yonigoldberg

repo: JuulLabs-OSS/able


text:
Migrate all user projects

Hi, is it possible to migrate all projects of a user, instead of only a group?
If so, what do i need to change in the code or what parameters do I need to pass?

What has worked for me, is to update the very bottom of the script:
- migrateGroup "${SOURCE_PATH}"
+ migrateProjects "noplanman/proj1" "noplanman/proj2"

It's not fully automated, but works more than well enough for my needs 😇
Thanks so much for the script!

Hi @noplanman,
great that you found a way to get this done with small alterations to the script. To understand your use case better: what exactly do you mean by "projects of a user":

All projects a users has access to
All personal projects that are located under your personal user namespace
From your code example I assume the latter but wanted to make sure

Hi @albuch, you're right, I mean the personal user namespace projects 👍

authors: albuch noplanman

repo: K-MailOrder/gitlab-migration


text:
Setup Authentication and Authorization

This pull requests adds the following backend functionality to the application:

Login
Logout
Password reset
Registration (disabled)
E-mailaddress verification (disabled)

The features are covered by feature tests.

Codecov Report

:exclamation: No coverage uploaded for pull request base (acceptance@6121db5). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             acceptance       #2   +/-   ##
=============================================
  Coverage              ?   63.15%
  Complexity            ?       87
=============================================
  Files                 ?       30
  Lines                 ?      247
  Branches              ?        0
=============================================
  Hits                  ?      156
  Misses                ?       91
  Partials              ?        0

Continue to review full report at Codecov.

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

To test the redirection after logging in, I created a dashboard controller including a route with a simple view response.

A basic overview of the added classes to the system is:

authors: codecov-commenter cyrildewit

repo: KA-Huis/space-management


text:
「AtCoder Save Buffer」を追加

https://greasyfork.org/ja/scripts/416780-atcoder-save-buffer
インストールして動作チェックをしたが、保存されていない?しばらく待つか、何かボタンを押さないといけない?

削除されている

repo: KATO-Hiro/AtCoderClans


text:
記事「AtCoder Problems のパクリアプリ CF Problems を作りました」を追加

https://kira000.hatenadiary.jp/entry/2021/03/06/123556

既に掲載済みだった


text:
Continuous Integration Service

Use a continuous integration service to produce nightly builds of software.

With nightly builds, supporting non-release versions of the software, as well as ensuring schema compatibility in persistent files is a a lot of extra work. Feature work is done on other repositories and pulled in anyways, so between a feature is completed and when a new release is created is usually very short, so having nightly builds of this repository doesn't make much sense. Official maintenance releases are also created to fix user impacting bugs.

repo: KFDtool/KFDtool


text:
Demo crashes when entering the tunnel

I just saw the demo crash when Pac-Man tried entering the tunnel during the ChaseGhost behavior. It would probably not have crashed with #21 but that's something we should investigate nevertheless.

I could reproduce an exception thrown by AvoidGhostBehavior by forcing PacMan into the tunnel by overriding the command manually 🕹 :grin:
diff --git a/demo/include/utils/pacman_wrapper.hpp b/demo/include/utils/pacman_wrapper.hpp
index 9380637..0522eaf 100644
--- a/demo/include/utils/pacman_wrapper.hpp
+++ b/demo/include/utils/pacman_wrapper.hpp
@@ -30,7 +30,7 @@ public:
     void printKeybindings();

 private:
-    void handleUserInput();
+    std::optional<SDL_Scancode> handleUserInput();
     void renderPath(const demo::Positions& path);

     int scaleFactor_;
diff --git a/demo/src/pacman_wrapper.cpp b/demo/src/pacman_wrapper.cpp
index 3428afc..665d847 100644
--- a/demo/src/pacman_wrapper.cpp
+++ b/demo/src/pacman_wrapper.cpp
@@ -54,7 +54,9 @@ PacmanWrapper::PacmanWrapper()
     SDL_SetRenderDrawBlendMode(renderer_.get(), SDL_BLENDMODE_BLEND);
 }

-void PacmanWrapper::handleUserInput() {
+std::optional<SDL_Scancode> PacmanWrapper::handleUserInput() {
+    std::optional<SDL_Scancode> commandOverride;
+
     SDL_Event event;
     while (SDL_PollEvent(&event) != 0) {
         if (event.type == SDL_QUIT) {
@@ -75,15 +77,26 @@ void PacmanWrapper::handleUserInput() {
                 renderPath_ = !renderPath_;
                 break;
             }
+            if (event.key.keysym.scancode == SDL_SCANCODE_UP || event.key.keysym.scancode == SDL_SCANCODE_DOWN ||
+                event.key.keysym.scancode == SDL_SCANCODE_LEFT || event.key.keysym.scancode == SDL_SCANCODE_RIGHT) {
+                commandOverride = event.key.keysym.scancode;
+                break;
+            }
         }
     }
+
+    return commandOverride;
 }

 void PacmanWrapper::progressGame(const demo::Command& command,
                                  const demo::EnvironmentModel::ConstPtr& environmentModel) {
-    handleUserInput();
+    std::optional<SDL_Scancode> commandOverride = handleUserInput();

-    game_.input(command.scancode());
+    if (commandOverride) {
+        game_.input(commandOverride.value());
+    } else {
+        game_.input(command.scancode());
+    }

     if (pause_) {
         return;

The exception is thrown by an out of bounds access to the Maze ('Maze::isWall) https://github.com/KIT-MRT/EnTT-Pacman/blob/master/src/util/grid.hpp#L61 with position = {x:19, y:9}andmazeState_.size = {x:19, y:22}`
Looks like positionConsideringTunnel() doesn't do a correct job here…
Stacktrace:
Grid<Tile>::operator[](Pos) const (/usr/local/include/pacman/util/grid.hpp:61)
utils::Maze::at(demo::Position const&) const (/workspaces/demo/include/utils/maze.hpp:40)
utils::Maze::isWall(demo::Position const&) const (/workspaces/demo/include/utils/maze.hpp:66)
demo::EnvironmentModel::isWall(demo::Position const&) const (/workspaces/demo/include/demo/environment_model.hpp:109)
demo::AvoidGhostBehavior::getCommand(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<double, std::ratio<1l, 1l>>> const&) (/workspaces/demo/src/avoid_ghost_behavior.cpp:15)
arbitration_graphs::Arbitrator<…>::Option::getCommand(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<double, std::ratio<1l, 1l>>> const&) const (/usr/include/arbitration_graphs/arbitrator.hpp:70)
arbitration_graphs::Arbitrator<…>::getAndVerifyCommand(std::shared_ptr<arbitration_graphs::Arbitrator<demo::Command, demo::Command, demo::Verifier, demo::VerificationResult>::Option> const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<double, std::ratio<1l, 1l>>> const&) const (/usr/include/arbitration_graphs/internal/arbitrator_impl.hpp:54)
arbitration_graphs::Arbitrator<…>::getAndVerifyCommandFromApplicable(std::vector<std::shared_ptr<arbitration_graphs::Arbitrator<demo::Command, demo::Command, demo::Verifier, demo::VerificationResult>::Option>, std::allocator<std::shared_ptr<arbitration_graphs::Arbitrator<demo::Command, demo::Command, demo::Verifier, demo::VerificationResult>::Option>>> const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<double, std::ratio<1l, 1l>>> const&) (/usr/include/arbitration_graphs/internal/arbitrator_impl.hpp:115)
arbitration_graphs::Arbitrator<…>::getCommand(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<double, std::ratio<1l, 1l>>> const&) (/usr/include/arbitration_graphs/arbitrator.hpp:131)
demo::PacmanAgent::getCommand(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<double, std::ratio<1l, 1l>>> const&) (/workspaces/demo/include/demo/pacman_agent.hpp:67)
main (/workspaces/demo/src/main.cpp:29)

Nice investigative work 🕵
Present-me thinks that the implementation of past-me makes absolutely no sense.
You're right, the wrapped position should be returned no matter the type. The question is: Why is the wrapped position a wall? Did that make sense in the situation you described?
And one other question: Should we implement the manual override into the demo? Might be handy in other situations too. 😀

After a brief thought: clamping the position for non-tunnel positions does the job.
See

dd1903a for the new, failing unit test
54d36d1 for the fix

You're right, the wrapped position should be returned no matter the type. The question is: Why is the wrapped position a wall? Did that make sense in the situation you described?

That's a good question!

Ah yes, that makes sense. Thanks for the fix, I'll take a look now :ok_hand:

authors: ll-nick orzechow


text:
🛑 KMHARS Makati Datacenter / Facebook Cache is down

In 2225e02, KMHARS Makati Datacenter / Facebook Cache (103.190.139.4) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KMHARS Makati Datacenter / Facebook Cache is back up in fd75ba7 after 10 minutes.

repo: KMHARS/uptime


text:
Scatterer version issue

CKAN install v0.0171 while newest version is  v0.0175.
.ckan is available so its some kind of version issue. I don't know how to fix this :disappointed:

I have v0.0175 showing in CKAN. Is it showing 1 thing and installing another?

It were showing and installing v0.0171 (tested on two KSP installations) but now it seems to work OK. Weird. I suppose I can close it now.

repo: KSP-CKAN/NetKAN


text:
SaruPlanetPack to spacedock

Closes https://github.com/KSP-CKAN/NetKAN/pull/3254

poke Jenkins

Merging with my thanks


text:
feat: Support \textsc via small caps font cmcsc10

Fixes #471 , adding support for the \textsc command via the small caps font cmcsc10.  Thanks to everyone who suggested solutions in the original thread.  I'm willing to take this over the finish line, but will need a bit of assistance verifying that the changes I made are reasonable.
For future reference, these are the steps I needed to take (inside the dev container) to run the font generation scripts on my machine:

sudo apt install mftrace fontforge fonttools ttfautohint texlive-fonts-recommended (should these be added to the dev container?)
modify src/fonts/Makefile to call perl with perl -I .  since @INC no longer includes the current working directory in recent Perl versions
sudo apt-get install python-pip
pip install fonttools zopfli brotli
./dockers/fonts/buildMetrics.sh
cd src/fonts && make clean && make all

Output for \textsc{Lorem Ipsum Dolor}

Questions / Concerns:

[ ] I'm not sure how to deal with combinations of font weight/shape/style (esp in src/buildCommon.js).  Not all combinations are valid, and I'm not sure what the desired priority is, so I made my best guess.
[ ] Should anything be added to src/fonts/makeFF or src/fonts/makeBolder?
[x] In the Chrome inspector, unchecking the "font-style" property of any text command (like \textit, \textsc, \mathbf, etc.) causes the text to render as small caps.  Why might this be?  How to fix it?
[ ] What's the difference between src/fonts/makeFF and src/metrics/mapping.pl?  Is one generated from the other?  Should they be kept in sync somehow?  The changes I made to each were just my best guess.
[ ] How should the documentation be updated?  I see some font prefetching instructions at docs/browser.md which I suspect will need to be updated with the new font.
[ ] All existing tests (jest and screenshots) pass on my machine.  What kind of tests should be added for the new font and command?

Based on the failing automated test artifacts, the new small caps font overrides the default font in some cases.  I'll investigate myself, but any help would certainly be appreciated.  Thanks!

The new commit fixes the font override issue.  According to the CSS spec, the font-variant property is not used by the font matching algorithm when determining which font to display.  Instead, I created a separate font family for the smallcaps font.
The generated character mappings still need some attention, and the automated tests will reveal whether this fixed the spacing issues.

This PR is ready for review, no rush though.  (the tasklist just has some questions that need attention before merging).  The changes to font building at #2866 might also affect this PR.

Any update on this?

Yes please can someone please review this?
Thanks @benrbray ❤

authors: RexYuan benrbray yuvaltassa

repo: KaTeX/KaTeX


text:
Error: Error reading cache files

Hello!
Just tried installing this, I'm running next 14.1.0. Getting this error:
⨯ ../node_modules/.pnpm/next-cache-toolbar@0.1.1_@types+react-dom@18.2.19_@types+react@18.2.57_next@14.1.0_react-dom@_sjr35uyvym3e66scuvb5ztjxci/node_modules/next-cache-toolbar/dist/es/index.mjs (50:14) @ Error
⨯ Internal error: Error: Error reading cache files
   at getCacheFiles (../../node_modules/.pnpm/next-cache-toolbar@0.1.1_@types+react-dom@18.2.19_@types+react@18.2.57_next@14.1.0_react-dom@_sjr35uyvym3e66scuvb5ztjxci/node_modules/next-cache-toolbar/dist/es/index.mjs:69:15)
   at async NextCacheToolbar (../../node_modules/.pnpm/next-cache-toolbar@0.1.1_@types+react-dom@18.2.19_@types+react@18.2.57_next@14.1.0_react-dom@_sjr35uyvym3e66scuvb5ztjxci/node_modules/next-cache-toolbar/dist/es/index.mjs:73:19)
@nextgen/merlin:dev: null
⨯ ../node_modules/.pnpm/next-cache-toolbar@0.1.1_@types+react-dom@18.2.19_@types+react@18.2.57_next@14.1.0_react-dom@_sjr35uyvym3e66scuvb5ztjxci/node_modules/next-cache-toolbar/dist/es/index.mjs (50:14) @ Error
⨯ Internal error: Error: Error reading cache files
   at getCacheFiles (../../node_modules/.pnpm/next-cache-toolbar@0.1.1_@types+react-dom@18.2.19_@types+react@18.2.57_next@14.1.0_react-dom@_sjr35uyvym3e66scuvb5ztjxci/node_modules/next-cache-toolbar/dist/es/index.mjs:69:15)
   at async NextCacheToolbar (../../node_modules/.pnpm/next-cache-toolbar@0.1.1_@types+react-dom@18.2.19_@types+react@18.2.57_next@14.1.0_react-dom@_sjr35uyvym3e66scuvb5ztjxci/node_modules/next-cache-toolbar/dist/es/index.mjs:73:19)
@nextgen/merlin:dev: digest: "3930452139"

Could you look into .next/cache/fetch-cache folder and check if there is any non-ordinary file?
Most if not all of them should be named as hash.
If there is nothing extra ordinary, if you could find file that isn't matching JSON format.
Later today I will release 0.1.2 with better error handling to properly narrow to exact file that throws an error

Released new version with fix, now instead of throwing an error, every issue is logged into console (next to server)
Please provide example of thrown error in console

authors: KajSzy benjick

repo: KajSzy/next-cache-toolbar


text:
Reflection attempts on obfuscated classes

I'm using this as a libary for my Minecraft Sponge plugin which is mixed with JDA, it seems to work fine with the framework and latest reflection shaded, however there are errors on startup from what I believe is other classes being scanned that aren't my plugin. If this is the case, it would be nice to specify a package name used for the command annotation scanning or something else.
https://gist.github.com/Blve151/f514d0c72210642014c22d184986fd52

which version of reflection are you using?

I think the above is 0.9.12, but this is 0.9.10
https://pastebin.com/pGRRzrXA

I used to have this bug with 0.9.12, but it worked with 0.9.10 for me. So make sure that no other dependency is providing a newer version of reflections. However, I'll also add an option to specify a package

repo: Kaktushose/jda-commands


text:
Connected 404 page to home icon

The logo of home page is connected with the 404 error page
Fixes #60
https://github.com/Karamraj/BookTown/assets/142514166/aa4bbe5f-eb91-434d-b5a2-8825a25f01e5

Someone Already Fixed.

no it is not fixed , see on your website

authors: AbhineshJha Karamraj

repo: Karamraj/BookTown


text:
youtube upload

is it only downloading tiktok videos or there is a youtube upload code?

yea just download tiktoks non-watermark allvideosuser.js is working for downloading all user videos non-watermark
youtube doesn't need code it just drags and drops it will upload them all

incase you want to bypass youtube 50's daily limit upload check that repo https://github.com/Reamasa/Stekeblads-Video-Uploader

incase you want to bypass youtube 50's daily limit uploads,  check that repo https://github.com/Stekeblad/Stekeblads-Video-Uploader

authors: Karim-Arab iGetAlways


text:
Dexter only called once

Expected behaviour
Dexter to ask again for permissions if they are turned off in the app settings after having accepted them
Actual behaviour
When accepting permissions and afterwards turning them off in the settings; I'm expecting Dexter to be called in the onResume method in my BaseActivity. Since there is already a running instance it is called only once.
Steps to reproduce
Accept permissions, go to settings, go back to the app and see that the permissions are not requested in the onResume
@Override
    protected void onResume() {
        super.onResume();

        if (!Dexter.isRequestOngoing()) {
            Dexter.checkPermissions(new MultiplePermissionsListener() {
                @Override public void onPermissionsChecked(MultiplePermissionsReport report) {/* ... */}
                @Override public void onPermissionRationaleShouldBeShown(List<PermissionRequest> permissions, PermissionToken token) {/* ... */}
            }, android.Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CAMERA);
        }
     }

Version of the library
com.karumi:dexter:2.2.2

Hi @Isabellle
I'm wondering if you are actually implementing the onPermissionRationaleShouldBeShown callback. When the user denies a permission, either through the dialog or the settings, the Android framework gives the app the opportunity to show a rationale to explain your user why do you need that permission.
In the case of Dexter, this callback is called with a token parameter. Once the app has informed the user, the app must use the token to continue the permission request process. If you don't want to show anything at all, you still need to call token.continuePermissionRequest() in order to notify Dexter that you are ready to effectively request the permission(s).
This is explained in the Dexter documentation. If the problem still persists let us know and we'll see if there is something we can do.
Sorry for the delay and thanks for giving us your feedback!

Hi @Isabellle I'd like to know if @Serchinastico's comment was helpful. Can we close this issue or the problem is related with the library implementation?

I switched to an homemade solution. Thanks for your assistance.

I ran into this issue today.  The setup documentation is not very clear and it seems that the helpful "builders" should make this work easier.  Instead you have to setup a "helpful" builder listener and then also setup a listener to take care of this other case, which, imo, doesn't seem to be as helpful as it could be.

What is solution ?

authors: Isabellle Serchinastico jonl-percsolutions-com pedrovgs valterh4ck3r

repo: Karumi/Dexter


text:
Frontend-homework-15

Metric
Value

alert_status
b:white_check_mark: OK/b

bugs
0

code_smells
0

reliability_rating
A (0 Bugs)br/Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)br/Note: A being best, E being worst

vulnerabilities
0

repo: KashitaWadhwa/kdu-coursework


text:
Added cursor lock support

After your release from the other day, I realized Fullscreenizer wasn't locking the cursor to the window unlike other borderless programs, so I added support for it.
There's a new "Lock cursor" checkbox that will lock the cursor when fullscreenizing and a new hotkey to lock/unlock the cursor whether the window is borderless or not. The hotkey works without enabling the "Lock cursor" checkbox. The cursor is automatically unlocked by the OS when alt-tabbing or pressing the Windows key, so there's no risk .
Both hotkeys can't be the same (I had to change the keyDict list item type to object to be able work with the combo box's ObjectCollection without casting the whole list).
I didn't go to the full extent of locking the cursor after tabbing back in, that'd require additional work (adding more win32 functions and listening to WM_SETFOCUS/WM_KILLFOCUS messages) for such little value.
Groupboxes are now disabled when unchecking the hotkey checkboxes so there's no need to check if the hotkey is active anymore when changing the modifiers/keys.
I also fixed a bug present in the stable release where a window made borderless by Fullscreenizer couldn't be restored to its original state if it was at (0, 0) initially.
Aside from that, I did some minor code refactoring such as removing unnecessary variables and making sure the code I added in my previous pull request matches your code style.
Here's what it'll look like:

Hmmm, there is currently a bug where pressing only the modifier key can fullscreenize a window (or possibly lock the cursor), I can't find a way to consistently reproduce it yet.

Huh, apparently there's another bug where the cursor gets locked on the Fullscreenizer window instead of the one I want to. No repro steps yet.

I fixed both of the issues above.

Terribly sorry I haven't had time to check this out — busy days! I'll have a look properly next time I'm on my Windows machine. Thank you very much for looking into this; greatly appreciated.

No problem. I think this one will be out of my league though so I will leave it to you! I just pushed my workaround, you'll have to undo it to reproduce the problem.
It's worth noting that it happens in both Dungeon Siege 1 and 2, which both have a fixed main menu resolution, however the problem also happens when loading game without fullscreenizing beforehand.


text:
Datatypes with duplicate names

Your README says:

Dot not parse datatypes with names that already exist anywhere, regardless of in which category, otherwise type might end up with wrong name

I think the solution for this is to use an appropriate DataTypeConflictHandler in this line instead of null
https://github.com/Katharsas/ghidra-struct-importer/blob/1ae2ec69d723d25ec22da390c32920bcb2d08f02/ImportCStruct.java#L241
The default one implicitly used does a "rename and add" and probably leads to the issue described in the README.

Cool thanks, ill try that!

Hey @fmagin
The big problem im seeing here is that the "Parse" Button is already seemingly modifying the state of the global DataTypeManager. Simply executing the line type = parser.parse(text); can already override existing types, if a struct with existing name was parsed. The apply button does not need to be pressed at all.
The reason seems to be that the parser actually adds/overwrites datatypes on parsing. The line type = parser.parse(text); will call dtMgr.startTransaction("Parsing"); by itself, the apply button is not needed. This happens because the parser is instantiated with our global DataTypeManager (var parser = new CParser(dtm);).
I think to make this work as expected (only modify program state when apply button is actually pressed) i have to pass a temporary DTM that acts as dataType buffer, but can still resolve referenced types from the global DTM. I will look into that.

Ok i implemented BufferedDataTypeManager  in the latest commit, and it fixes the the main issue (datatypes do no longer get added on parse). I tried to basically implement a combined view onto two underlying DataTypeManagers: an standalone in-memory DTM as buffer and the global program DTM. It does resolve existing program DataTypes for the parser, so that is great.
However, i have a problem with the current implementation:
The datatypes do not actually get saved inside the buffer, they simply disappear. The only reason why i do no loose them entirely is that i get the last parsed DataType from the parser on parsed, just as in the original implementation.
So now, we cannot:

parse multiple structs at once because all except the last one disappear
have multiple parsed structs depend on each other because that would require BufferedDataTypeManager to resolve them to each other which it does not do because it is always empty

I guess the way in which i implemented BufferedDataTypeManager breaks the parent class StandAloneDataTypeManager somewhat, but im not sure why.

Actually what i said earlier about the parser adding/overwriting datatypes on parsing is probably not true. I tried it again and i can no longer reproduce that behaviour unless is explicitely set storeDataType = true;

Ok i was just being stupid. CParser literally has methods that allow getting all parsed DataTypes without having to use the storeDataType flag at all, which means that dependency resolution also works. Should now be properly implemented.

authors: Katharsas fmagin

repo: Katharsas/ghidra-struct-importer


text:
Dúvida sobre o "about-me"

Opa man
Beleza?
Como você fez esse "about-me"?

Opa, boa noite.
Você  quer saber como eu fiz para usar o repositório About Me com o Github Paages, deixando assim, o site que terminarei, no ar? Se caso for isso, segue abaixo um passo a passo para que você consiga resolver seu problema.

Primeiro abra a aba no Github de configurações (settings), estando no projeto que deseja deixar amostra
Após isso clique em Pages, na parte inferior e no lado esquerdo, na navegação/side-bar
Com o Pages selecionado clique em Nome
Escolha a Branch main
Salve a página

Caso não tenha entendido acesse os links a seguir ou veja as imagens abaixo:  Github Pages | Curso Em Vídeo

Imagens para uma melhor compreenção:

A dúvida é sobre essas animações no about me.

A sim, desculpe pelo mau entendo!!!
As animações em questão foram feita pelo próprio Github com códigos em Markdown e HTML. Usei também um repositório como base, sendo ele o . Porém os códigos que fazem essas animações são:

Animação 1 [ Hi World!!! I'm Kauã Santos ]:

<img width=100% src="https://capsule-render.vercel.app/api type=waving&color=001090&height=180&section=header&text=Hi,+World!!!++I'm+Kauã+Santos&fontSize=25&fontColor=fff&animation=twinkling&fontAlignY=35"/>

Animação 2 [ Hi, My Name's Kauã Santos. I'm 16 years old. I am from SP, São Paulo Brasil ]:

[![Typing SVG](https://readme-typing-svg.herokuapp.com/?color=001090&size=35&center=true&vCenter=true&width=1000&lines=Hi,+My+Name's+Kauã+Santos.;I'm+16+years+old;I+am+from+SP,+São+Paulo+Brasil;I'm+a+just+Study+Software+Development.;Be+Welcome!+:%29)](https://git.io/typing-svg)

Observação
Sempre que você for adicionar uma palavre dentro dos parâmetros 1000&line= e header&text, deve-sê adicionar um símbolo de + entre cada palavra.
E ai? Respondi sua pergunta?
Caso você tenha alguma dificuldade basta me avisar que, quando possível, lhe ajudarei.

authors: KauahsSantos gabrielvitorsd

repo: KauahsSantos/About-Me


text:
Runtime syntax loading

Resolves #262.
I'm less-than-100% sure that https://github.com/remexre/gutenberg/blob/64fa890aa96a2aea351ed3ebe3257ed4b6d5dde5/components/rendering/src/markdown.rs#L104 is an appropriate course of action, but other than that, I've tested this on my own project and it works.

The code itself looks ok but I think I would like a test for it.
Also, can you run the benchmarks of the rendering sub-crate to see if there is any regression?

Okay, I'll add tests tonight.

9675ab190de74c1135d79681dfcefc644463cb93:
test bench_render_content_no_shortcode         ... bench:      58,594 ns/iter (+/- 273)
test bench_render_content_with_highlighting    ... bench:   1,073,077 ns/iter (+/- 5,828)
test bench_render_content_without_highlighting ... bench:     287,527 ns/iter (+/- 1,221)
test bench_render_shortcodes_one_present       ... bench:     217,656 ns/iter (+/- 1,169)

64fa890aa96a2aea351ed3ebe3257ed4b6d5dde5:
test bench_render_content_no_shortcode         ... bench:      61,328 ns/iter (+/- 157)
test bench_render_content_with_highlighting    ... bench:   1,074,319 ns/iter (+/- 7,664)
test bench_render_content_without_highlighting ... bench:     285,738 ns/iter (+/- 944)
test bench_render_shortcodes_one_present       ... bench:     235,043 ns/iter (+/- 788)

Ha, good thing for those tests, I didn't realize we didn't automatically chdir to the site being built.

Does this look good?

Nice, thanks!

authors: Keats remexre

repo: Keats/gutenberg


text:
2.1.0 package references non existant Xamarin pacakage and is uninstallable

The 2.1.0 release is not installable via the nuget package manager.  It appears there is a typo in the nuspec file.  When trying to install this error occurs:
1>C:\Program Files\dotnet\sdk\7.0.401\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.Shared.targets(152,5): warning NETSDK1023: A PackageReference for 'Xamarin.Google.Crypto.Tink.Android' was included in your project. This package is implicitly referenced by the .NET SDK and you do not typically need to reference it from your project. For more information, see https://aka.ms/sdkimplicitrefs
1>E:\Zecil\Board Game Copilot\frontend-blazor\Board Game Copilot\Board Game Copilot.csproj : error NU1605: Warning As Error: Detected package downgrade: Xamarin.Google.Crypto.Tink.Android from 2.1.0 to 1.8.0.1. Reference the package directly from the project to select a different version.
1>E:\Zecil\Board Game Copilot\frontend-blazor\Board Game Copilot\Board Game Copilot.csproj : error NU1605:  Board Game Copilot -> Kebechet.Maui.RevenueCat.InAppBilling 2.1.0 -> Xamarin.Google.Crypto.Tink.Android (>= 2.1.0)
1>E:\Zecil\Board Game Copilot\frontend-blazor\Board Game Copilot\Board Game Copilot.csproj : error NU1605:  Board Game Copilot -> Xamarin.Google.Crypto.Tink.Android (>= 1.8.0.1)
1>Done building project "Board Game Copilot.csproj" -- FAILED.

I suspect this may have been an attempt to fix #13 but the nuspec file references v 2.1.0 of this package which does not exist, and seems like a typo since its the same version as the current release.  The nuspec looks like this:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>Kebechet.Maui.RevenueCat.InAppBilling</id>
    <version>2.1.0</version>
    <authors>Maui.RevenueCat.InAppBilling</authors>
    <license type="file">LICENSE</license>
    <licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl>
    <readme>README.md</readme>
    <projectUrl>https://github.com/Kebechet/Maui.RevenueCat.InAppBilling</projectUrl>
    <description>Serves as an abstraction around RevenueCat Android and iOS SDKs https://docs.revenuecat.com/docs</description>
    <releaseNotes>Added Entitlements into CustomerInfoDto</releaseNotes>
    <repository type="git" url="https://github.com/Kebechet/Maui.RevenueCat.InAppBilling" />
    <dependencies>
      <group targetFramework="net7.0-android33.0">
        <dependency id="Tonestro.Maui.RevenueCat.Android" version="6.5.0.1" exclude="Build,Analyzers" />
        <dependency id="Xamarin.Google.Crypto.Tink.Android" version="2.1.0" exclude="Build,Analyzers" />
      </group>
      <group targetFramework="net7.0-ios16.1">
        <dependency id="Kebechet.Maui.RevenueCat.iOS" version="4.19.0" exclude="Build,Analyzers" />
      </group>
      <group targetFramework="net7.0-maccatalyst16.1" />
      <group targetFramework="net7.0-windows10.0.19041" />
    </dependencies>
  </metadata>
</package>

The most recent version of Xamarin.Google.Crypto.Tink.Android is 1.10.0.1 so this can't possibly be right.

This is really weird, I haven't touched the version of Tink.Android. I tried to do a fix release:
https://www.nuget.org/packages/Kebechet.Maui.RevenueCat.InAppBilling/2.1.1
Here is seems to be the correct version of the library

I just tried this package and this correction fixes it.  2.1.1 installed and worked with no problems

authors: CameronVetter Kebechet


text:
Add rate of return

I want to be able to see the annualised return based on the actual transactions (deposits, withdrawals) that I make. Need to do some research on which measure is the most appropriate. https://www.investopedia.com/terms/t/time-weightedror.asp

https://www.sharesight.com/blog/time-weighted-vs-money-weighted-rates-of-return/
Seems that money weighted is more appropriate as Spaceship Voyager is a micro-investing platform, allowing regular withdrawals and deposits of any dollar amount.

repo: Kedoodle/spaceship-ui


text:
Add autoreload option

One of the most requested features is autoreloading aiohttp server on source file changes.
I never use the feature at all and don't have a strong personal feeling for adding it.
It may have negative effects by abnormal breaking opened connections (e.g. websockets) also.
But I see to many requests for the feature over internet for last months, so we need to implement it.
It's a easy task though.

This functionality is provided by aiohttp_utils already. Also it's possible to use watchdog (watchmedo) without writing any Python code :)

As, forgot. There is also --reload option for gunicorn which is works for me.

See also https://github.com/anti1869/aiohttp_autoreload/blob/master/src/aiohttp_autoreload.py and https://github.com/tornadoweb/tornado/blob/master/tornado/autoreload.py
https://github.com/sloria/aiohttp_utils/blob/327de04a1c3a09d4aa641a01137c67826b1ccc57/aiohttp_utils/runner.py

https://github.com/samuelcolvin/aiohttp_runserver
As I just explain on the mailing list I don't think it makes sense to include all the debug paraphernalia in aiohttp itself.
Whether it's this library or anther I think the should be a companion tool for aiohttp which help during development.
I built aiohttp-runserver after using gunicorn with --reload for a while and getting annoyed at it's logging (amount other things), particularly when you change the terminal window size!

@samuelcolvin just my two cents, but as someone who recently bet on using aiohttp in production, it would be a huge turn off for me if all of the debug and development tools are scattered around a bunch of small modules that may never get maintained.
unless it's a single other lib that's officially maintained and has all of the development tools, having a bunch of small libs these small libraries will lead to another left pad / reactjs style bootstrapping nightmare for new adopters.  https://twitter.com/thomasfuchs/status/708675139253174273
The batteries included mentality of the python community is what made me choose aiohttp and not something built on top of node.

@ohsabry I've create a new issue #1156 addressing this very reasonable concern directly.

gunicorn --reload does not work immediately. it waits until the next timeout loop. any idea?

Have a try with aiohttp-devtools, it's still a work in progress but the runserver command is working well and has autoreload by default.

thank you for your reply and thank for the module. it looks great but I had the following problems:
I cannot figure out how does it work.
after installation, I got this error: cannot import name ‘StaticRoute'
I commented out the corresponding lines and still have problem with running my script.
let’s say I should run my script as: “aiohttp-runserver main.py” I get a long chain of errors, starting with:
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/aiohttp_runserver/serve.py", line 240, in import_string
module = import_module(module_path)
File "/usr/lib/python3.5/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 956, in _find_and_load_unlocked
ImportError: No module named 'main'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/aiohttp/helpers.py", line 454, in log
self.logger.info(self._log_format % tuple(values), extra=extra)
File "/usr/lib/python3.5/logging/init.py", line 1279, in info
self._log(INFO, msg, args, **kwargs)
File "/usr/lib/python3.5/logging/init.py", line 1415, in _log
self.handle(record)
File "/usr/lib/python3.5/logging/init.py", line 1425, in handle
self.callHandlers(record)
File "/usr/lib/python3.5/logging/init.py", line 1487, in callHandlers
hdlr.handle(record)
File "/usr/lib/python3.5/logging/init.py", line 855, in handle
self.emit(record)
File "/usr/local/lib/python3.5/dist-packages/aiohttp_runserver/logs.py", line 53, in emit
method, path, _, code, size = msg.split(' ')
ValueError: too many values to unpack (expected 5)
During handling of the above exception, another exception occurred:
…
to keep it simple, main.py holds the following codes only:
app = aiohttp.web.Application()
aiohttp.web.run_app(app=app, host=config.SERVER_HOST, port=config.SERVER_PORT, shutdown_timeout=1)

On Nov 28, 2016, at 2:21 PM, Samuel Colvin notifications@github.com wrote:
Have a try with aiohttp-devtools https://github.com/samuelcolvin/aiohttp-devtools, it's still a work in progress but the runserver command is working well and has autoreload by default.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/KeepSafe/aiohttp/issues/778#issuecomment-263240975, or mute the thread https://github.com/notifications/unsubscribe-auth/AGNhsGkbkPZuB1dKf6WbcNv1XK_eG2fzks5rCrI1gaJpZM4HZ5MC.

Hi @mshahbazi happy to help but please repost the question over on https://github.com/samuelcolvin/aiohttp-devtools to avoid even more confusion.
A few more details like OS and aiohttp version would be helpful too.

For me https://github.com/samuelcolvin/aiohttp-devtools is ready for use so this can be closed.

closing in favor of https://github.com/samuelcolvin/aiohttp-devtools

authors: asvetlov fafhrd91 mshahbazi ohsabry samuelcolvin ssbb

repo: KeepSafe/aiohttp


text:
Improve library update

[x] After adding some folders to the library and then come back to the tracks list view, the whole app is lagging as hell.
[x] Resetting the library should AppActions.player.stop() then empty ArtistsList
[x] Updating the library does not refresh ArtistsList

Done in c5d0e3362a850d4f26666a611f8a48acbace446a :+1:

repo: KeitIG/museeks


text:
Rack figure update

Updated the rack figure and description in the "overview_of_kempner_cluster.md" file.

@dmbala , we have one A100 rack and four H100 racks. Please modify the text.

updated the H100 racks from three to four

authors: dmbala mmshad

repo: KempnerInstitute/kempner-hpc-handbook


text:
Monitor instance refresh status as part of deployment process

Add the ability to monitor instance refresh progress as part of a deployment.
When switched on Capistrano won't complete until the autoscaling group instance refresh has completed.
Running cap $env rolling:instance_refresh_status directly will monitor the status of the most recent instance refresh.

Not really, I wanted to test the latest changes but I haven't found time yet. I'll plan it for next week :)
But the code changes look good. Only thing is terminating the instance, I was thinking of moving the rescue to Instance#terminate. Then it is also rescued from the code that runs in the at_exit hook. But then I'm not sure how we would log the error...

Thanks for the update :+1:

I've made a few small changes and will make a new release in the next days.

authors: lloydwatkin ppostma

repo: KentaaNL/capistrano-asg-rolling


text:
Find a way to automatically generate release notes

Motivation
We use AppVeyor to automatically push new versions to GitHub releases (https://www.appveyor.com/docs/deployment/github/).
It would be nice if the description of each release contained all fixed issues/PRs since the last release.
Reference

https://help.github.com/articles/creating-releases/
https://developer.github.com/v3/repos/releases/#create-a-release

N/A anymore

repo: Kentico/kontent-generators-net


text:
Update README.md

Small note about test location, would have saved me a couple of minute on discovering this library :)

Thanks!

authors: Kentzo stuaxo

repo: Kentzo/Power


text:
Python 2

Hi Kevin,
Great work! I'm thinking of using this for a little project i'm working on, however, many of the libraries i'm using only support python 2, and not 3.
Any chance for a python 2 version? This would be much more practical for most python users :)
Thanks, and keep up the great work!

Hi josephtey,
i will try to get it work with Python 2 but it could take a while because i have not so much time at the moment but i let you now if it works.

Thanks so much! Let me know if works well :)

Hey, any luck? :)

authors: KevDi josephtey

repo: KevDi/Flashcards


text:
🛑 Altoro J is down

In 3449f74, Altoro J (https://demo.testfire.net/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Altoro J is back up in 531c0ee.


text:
Remote Fetching Examples arent loading data

material-react-table version
1.8.4
react & react-dom versions
17.0.2
Describe the bug and the steps to reproduce it
remote fetching examples currently just displaying "Error Loading Data" on website
Minimal, Reproducible Example - (Optional, but Recommended)
https://www.material-react-table.com/docs/examples/remote
https://www.material-react-table.com/docs/examples/react-query
Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
No, because I do not know how
Terms

[X] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

I'm aware. Vercel is being dumb

This ended up being a problem with my Vercel account billing and they shut off my api routes. It is fixed now lol

authors: KevinVandy marketsystems

repo: KevinVandy/material-react-table


text:
iOS App Crash for IRLinkage error after upgrading to 1.9.40-alpha04

Hello, I was having this issue with 1.9.20 so I updated to last alpha 1.9.40-alpha04 as suggested.
Now, at startup, I have the following linkage crash on iOS 18
Seems unrelated to the Webview instance itself, but it arises only with this library upgraded to latest alpha.
Any help?
Uncaught Kotlin exception: kotlin.native.internal.IrLinkageError: Function 'clickable' can not be called: No function found for symbol 'androidx.compose.foundation/clickable|clickable@androidx.compose.ui.Modifier(androidx.compose.foundation.interaction.MutableInteractionSource;androidx.compose.foundation.Indication?;kotlin.Boolean;kotlin.String?;androidx.compose.ui.semantics.Role?;kotlin.Function0<kotlin.Unit>){}[0]'
    at 0   <Redacted>.debug.dylib              0x10ca7e8bb        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 119
    at 1   <Redacted>.debug.dylib              0x10ca77b97        kfun:kotlin.Error#<init>(kotlin.String?){} + 115
    at 2   <Redacted>debug.dylib              0x10cab4397        kfun:kotlin.native.internal.IrLinkageError#<init>(kotlin.String?){} + 115
    at 3   <Redacted>.debug.dylib              0x10cab445b        kfun:kotlin.native.internal#ThrowIrLinkageError(kotlin.String?){}kotlin.Nothing + 175
    at 4   <Redacted>.debug.dylib              0x10dd0186f        kfun:androidx.compose.material.Surface$lambda$4#internal +

Update: this was solved by updating compose multiplatform dependency version to 1.7.1
1.7.1 solves the following issue: https://github.com/JetBrains/compose-multiplatform-core/pull/1647
This solves also this linkage error.

repo: KevinnZou/compose-webview-multiplatform


text:
Make Demo application use local KeyboardKit, rather version from GitHub repo.

First of all thank you very much for your project.
I'm currently trying play with KeyboardKit and experiment with new locales. I've followed guide from Localization.md.
Now I'm trying to run Demo against local copy of KeyboardKit, but it is configured to take KeyboardKit from GitHub.
Is it possible to change Demo app to use locally modified library? If yes, could you please clarify how to do it (maybe by adding another readme)? Thanks a lot in advance!

Hi @mstyura
Yes, it's possible. Just remove the GitHub dependency and add the local folder, using the "Add local" button:

authors: danielsaidi mstyura

repo: KeyboardKit/KeyboardKit


text:
Improve documentation of missing features and workarounds

KaTeX is optimized for rendering a subset of LaTeX fast—which is great! What's not so great, though, is when you don't know quite what that subset is and run into issues. Right now, KaTeX's main documentation doesn't cover well what it's missing. There's a listing of what is present, but not what isn't. CONTRIBUTING.md tells you how to add a new symbol, but doesn't tell you where you should start. Aside from paging through the issue tracker, there's no clear way to know what's missing or where you should help out first.
I believe a central source of missing features would greatly help with both directing contributors at what's missing and with making sure people considering KaTeX for LaTeX rendering on the web know what they're setting up. If a user needs more intense LaTeX rendering, KaTeX's documentation should direct them to MathJax, perhaps with a guide to set it up as a fallback. For the features that are partially supported, this would be a great place to put or link workarounds so that they're easy to find. If a user wants to update their site's math after a few months of KaTeX improvements, they could just scroll through for what they used and see if there are better workarounds (or if they've been eliminated entirely) without having to subscribe to or bookmark a (potentially large) set of issues.

It sounds like you're looking for an index of the feature requests (say, "regular LaTeX features") that are in the issues? (Unless you have in mind a way to also find LaTeX features we're missing that are not yet issues...)  I worry about keeping such a list up-to-date...  Maybe if there was a tag on issues for "missing LaTeX feature", we could link to the list of them (as opposed to the entire list of issues, which has many other KaTeX-specific things on it).
Could you walk through a use-case where you want a list of missing features?  My impression is that most users who are considering KaTeX just try it out and see if it's missing anything they need, and if so, they search for that feature in the issues (it's usually clear that some \command is not supported), follow it, and/or report it as a new issue. Then we try to add it when possible...  Personally, KaTeX has basically all the features I want, and the many users seem to agree...
Personally I'd be more interested in some way to automatically detect (and list) features supported by MathJax (say) but not KaTeX.  Not sure how difficult this would be.

The list of what isn't in KaTeX could be very large.  LaTeX supports lots of packages.  I guess we could list some popular packages that we don't support at all, and then for packages where we do have partial support list those things from those packages which we don't support.  This would take a big effort though so I'd want to have some way to automate this.

There is an Alphabetical List of TeX Commands available in MathJax. Maybe we can use it to build a list of missing features and compare with MathJax.

This page makes a pretty good attempt at documenting which MathJax commands are not yet in KaTeX.  The KaTeX Contributing page already alludes to it.

Several of those MathJax features are not present in any LaTeX package. And some of them are duplicates of LaTeX functionality. Like \cases in addition to \begin{cases}. Such features may never make it into KaTeX.

As to a fallback, I used to have a site in which I would make the following call after calling renderMathInElement;
(function () {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src  = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML";
  document.getElementsByTagName("head")[0].appendChild(script);
})();

That code is now out of date. MathJax has changed their CDN and they now have version numbers, not "latest" in the address.
But I stopped calling a fallback because there was no longer any point. KaTeX renders all that I need.

Linking this page prominently in the main KaTeX documentation instead of in the contributing page would be enormously helpful if someone installs KaTeX only to later find out that something they want to use for a new document isn't supported yet.

@kevinbarabash Query: Should I put this page into the list of links on the function support page?

I can't think of a title short enough to fit onto the list. Maybe I'll just add the link to the introductory paragraph at the top of the page.

@blackhole12 thank you for reminding me about that page.
Interestingly % fails b/c we require a new line at the end of comments.  The test for \left and \right fail b/c we require those to be balanced as does LaTeX (MathJax appears to be more liberal with what it accepts).  We should probably file issues with https://github.com/utensil-site/available-in-katex/issues for the \left and \right at least.
The list appears to be out of date a bit, e.g. \S and varGamma etc were added recently.  It's use the version from khan.github.io/KaTeX which explains why.  I need to update that.
Some of the tests should fail, e.g. \end on its own.  Some are easy to add, e.g. \cal is the implicit group style version of \mathcal which we already support.  I think \unicode would be pretty easy to add too.
The list is also highlighting some bug, e.g. the \llap test.  We aren't allowing \, in text mode but we should.  Same thing with \rlap except it's \;.

I've also opened https://github.com/utensil-site/available-in-katex/issues/2 to find a way to run the tests in node so that we can use the data to update our README.md at publish time.

I think \brace and \brack wouldn't be too hard to support as we already support \over, \choose, and \atop.  They're all very similar.

Yeah,  \llap and\rlap are difficult. In LaTeX, they work in math mode, but only sometimes, depending on what's in the argument. And I have not found a robust rule that tells me exactly when they work and when they don't.

The list of what isn't in KaTeX could be very large.

Yes, but we can focus on a subset taken from two sources:

KaTeX's GitHub issues page.
http://utensil-site.github.io/available-in-katex/

Those are items that somebody either cared about enough to program them or at least to sit down and write a request.
That subset is much smaller, with fewer items to manage than the KaTeX function support page. So I've written it up. It's a KaTeX wiki page.
Please feel free to edit it and improve it.

I think \brace and \brack wouldn't be too hard to support

Technical notes on the amsmath package deprecates the whole family of functions that use the infix syntax similar to \atop. It suggests using \genfrac instead.  I can write a PR that will add \genfrac to KaTeX.
Once we have \genfrac, do we still want to include \above, \brace, \brack, and \atopwithdelims ? \genfrac can be used as an alternate for any of those functions.
The AMS Tech Notes says that they deprecated those functions because the infix syntax causes problems for macros. Maybe @edemaine can weigh in here?

I'd say we should ideally support both.  We already support \over and \atop (which I'm very happy about, as I use those myself day-to-day -- I find they are more intuitive than say \frac).  It also shouldn't be hard to support one given the other (and I'd be happy to work on that aspect of it, as I've added these kinds of implicit-argument commands before).  But \genfrac sounds like a good starting point!

@edemaine Say that we add the other infix functions. Should the function support page then include a disclaimer saying that they might coexist poorly with macros?
Or are those problems just the sort of thing that a macro writer is expected to know?

I think a warning to not use infix functions inside macros is a good note as lots of people will probably be writing macros even though they don't know some of these issues.

Personally, I find the AMS's deprecation of a standard TeX/LaTeX feature kind of obnoxious, even if it is well-intentioned.  Many users don't \usepackage{amsmath}, so they don't even have a choice here.  I believe KaTeX should be agnostic on these points (we shouldn't deprecate them), in particular because it's unlikely that KaTeX-level macros will get into the issues mentioned.  But it certainly wouldn't hurt to link to the AMS document for reference.

authors: bb010g blackhole12 edemaine kevinbarabash ronkok ylemkimon

repo: Khan/KaTeX


text:
Support Unicode colon equals

This PR adds support for three Unicode characters: ≔ ≕ ⩴

I withheld these characters from PR #933 because three packages address these characters and they all disagree on the alias.

Character
Code Point
mathtools and KaTeX
colonequals and KaTeX
unicode-math

≔
U+2254
\coloneqq
\colonequals
\coloneq

≕
U+2255
\eqqcolon
\equalscolon
\eqcolon

⩴
U+2A74
\Eqqcolon
\equalscoloncolon
\Coloneq

Not only that, but the Unicode math aliases are used by mathtools to render a different character.

Alias
unicode-math
mathtools and KaTeX

\coloneq
≔
:−

\eqcolon
≕
−:

\Coloneq
⩴
::−

I have said in earlier PRs that for Unicode support, the internal alias is only a means, not an end. What matters is that the author must get the results desired from the input of a specific Unicode character. That is still true, so I have implemented these Unicode characters by writing macros that call the mathtools aliases.
It’s a good thing that those internal aliases don’t really matter. This could have been ugly.

Visual confirmation:


text:
Fix \underset

This PR modifies \underset and \overset so that they will behave like LaTeX when an exponent is applied after the \underset. Fixes issue #1275.
I also changed the spacing from KaTeX mop to KaTeX mrel. The result seems to be a better match to LaTeX.

Visual confirmation:

It looks like a few screenshots need to be updated.

I have never mastered Docker and so am unable to update screenshotter tests. In the past, @kevinbarabash  has been kind enough to update them for the PRs that I submit. In the most recent example, he ran the test; then pasted the two relevant screenshot files into a comment on the PR's comment thread.  I took the png files and copied them into the screenshotter folder in that branch.
That could work again if anyone would care to help me out.

I updated the screenshots for you (pushing directly to your branch).  Check out the https://github.com/Khan/KaTeX/pull/1277/files?short_path=da83f1e#diff-da83f1efcd086fe5f05c338688da3c18 to make sure it looks like the right new behavior.

@edemaine  The new screenshots look perfect to me. Feel free to proceed with final approval and a merge.

authors: edemaine ronkok


text:
ver 1.3.280.0 failed for 'VK_ERROR_INCOMPATIBLE_DRIVER' on macOS 14.3.1

OS: macOS 14.3.1
GPU: Apple Silicon M1 Max
Vulkan SDK: 1.3.280.0
It works well on my Windows PC. On macOS, it build successfully, but execute failed for VK_ERROR_INCOMPATIBLE_DRIVER while creating VkInstance. I have tried Cmake and Xcode projects.
Below is my CMakeLists.txt
cmake_minimum_required(VERSION 3.27)
project(Tutorials LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
if (NOT DEFINED ENV{VULKAN_SDK})
        set(ENV{VULKAN_SDK} "/Users/cheneyshue/VulkanSDK/1.3.280.0/macOS")
        set(ENV{VK_ICD_FILENAMES} "$ENV{VULKAN_SDK}/share/vulkan/icd.d/MoltenVK_icd.json")
        set(ENV{VK_LAYER_PATH} "$ENV{VULKAN_SDK}/share/vulkan/explicit_layer.d")
        include_directories("$ENV{VULKAN_SDK}/include")
        find_library(VulkanLib NAMES vulkan PATHS "$ENV{VULKAN_SDK}/lib")
endif ()
add_executable(Tutorials main.cpp
        VulkanApp.cpp
        VulkanApp.h)
target_link_libraries(Tutorials ${VulkanLib})

Below is my code to create VkInstance
    VkApplicationInfo appInfo {
            .sType = VK_STRUCTURE_TYPE_APPLICATION_INFO,
            .pApplicationName = "Vulkan Tutorials",
            .applicationVersion = VK_MAKE_VERSION(1, 0, 0),
            .pEngineName = "No Engine",
            .engineVersion = VK_MAKE_VERSION(1, 0, 0),
            .apiVersion = VK_API_VERSION_1_0
    };
    VkInstanceCreateInfo createInfo {
            .sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
            .flags = VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR,
            .pApplicationInfo = &appInfo,
            .enabledLayerCount = 0,
            .ppEnabledLayerNames = {},
            .enabledExtensionCount = 0,
            .ppEnabledExtensionNames = {}
    };

    VkResult result = vkCreateInstance(&createInfo, nullptr, &instance);

Below is the statements to execute built binary.
source /Users/cheneyshue/VulkanSDK/1.3.280.0/setup-env.sh
./Tutorials

BTW, the vkcube and vulkanCapsViewer can execute well on my macOS.

You are missing the portability instance extensions required on macOs. Some recommended reading here that will help smooth the way for you:
https://www.lunarg.com/news-insights/white-papers/the-state-of-vulkan-on-apple-devices-updated/

You are missing the portability instance extension required on macOs. Some recommended reading here that will help smooth the way for you: https://www.lunarg.com/news-insights/white-papers/the-state-of-vulkan-on-apple-devices-updated/

Thanks. It works after add portability extension.

I fixed the problem by installing molten-vk with:
brew install molten-vk

Thank you for the heads up!

You are missing the portability instance extension required on macOs. Some recommended reading here that will help smooth the way for you: https://www.lunarg.com/news-insights/white-papers/the-state-of-vulkan-on-apple-devices-updated/

Thanks. It works after add portability extension.

Could you elaborate on how you solved this? I have the same problem and when I link to Vulkan I can't create instances, but when I link to MoltenVK I can but it's missing the validation layer I need.

authors: CheneyER08 YINGHAIDADA rgaufman richard-lunarg

repo: KhronosGroup/MoltenVK


text:
android api layers

Add a JSON file as attached to the APK assets
openxr.zip
And when building the loader in cmake we have the following:
OPTION(USE_OPENXR_LAYERS "Use OpenXR layers" ON)
set(BUILD_ALL_EXTENSIONS ON CACHE INTERNAL "Build loader and layers with all extensions")
set(BUILD_TESTS OFF CACHE INTERNAL "Build tests")
set(BUILD_CONFORMANCE_TESTS OFF CACHE INTERNAL "Build conformance tests")
set(BUILD_API_LAYERS ${USE_OPENXR_LAYERS} CACHE INTERNAL "Use OpenXR layers")
FetchContent_Declare(
        oxr
        URL https://github.com/KhronosGroup/OpenXR-SDK-Source.git)

I have just tested this on a Meta Quest 2 and was able to load the XR_APILAYER_LUNARG_core_validation layer. I will update the chapter 6.3 text.

Commit 859d1d9 updates the chapter 6.3 text to include Android's usage of API layers.

authors: AndrewRichards-Code rbessems

repo: KhronosGroup/OpenXR-Tutorials


text:
spirv-opt: CCP pass might create a new constant and return SuccessWithoutChange

               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main"
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 320
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 1
          %7 = OpConstant %6 2
         %13 = OpConstant %6 4
         %21 = OpConstant %6 1
         %10 = OpTypeBool
         %17 = OpTypePointer Function %6
          %4 = OpFunction %2 None %3
         %11 = OpLabel
               OpBranch %5
          %5 = OpLabel
         %23 = OpPhi %6 %7 %11 %20 %15
          %9 = OpSLessThan %10 %23 %13
               OpLoopMerge %8 %15 None
               OpBranchConditional %9 %15 %8
         %15 = OpLabel
         %20 = OpIAdd %6 %23 %21
               OpBranch %5
          %8 = OpLabel
               OpReturn
               OpFunctionEnd

The attached shader contains a SPIR-V that causes an assertion failure at https://github.com/KhronosGroup/SPIRV-Tools/blob/b78f4b1518e0052491f4e7e01ace4ee915cb5de2/source/opt/optimizer.cpp#L590-L592
if the tool is executed with the following command spirv-opt <attached binary> -o out.spv --ccp (can be reproduced on b78f4b15).
The reason is that a new OpConstantTrue is created here https://github.com/KhronosGroup/SPIRV-Tools/blob/b78f4b1518e0052491f4e7e01ace4ee915cb5de2/source/opt/ccp_pass.cpp#L138-L140
when a CCP pass tries to fold an instruction with id %9 for the first time. The second time the pass tries to simulate the execution of that instruction, it finds out that the instruction actually has a varying value, so the pass returns SuccessWithoutChange even though a new constant was created previously.

@alan-baker @s-perron ping

I see how that would happen.  I don't know the implementation for that pass well enough to know what to do about it.  @dnovillo Do you have any ideas on how to fix this up?  I think you are the one who implemented it.

I will take a look.

So, here I think CCP should actually said "yes, I've modified the source".  It introduces the constants %int_3 and %true during simulation.  The fact that it later finds it impossible to replace either constant is independent.  It is still generating code that ends up being dead.  So, it's no different than if it did an actual replacement in the IR.
We still want to run DCE after this to get rid of the newly created constants.
Thoughts?

I'm fine with that.  It does mean that some analyses will be invalidated needlessly, but that is not a big deal as long at it is not the inst-to-block map and the def-use chains.

Neither should be affected.  When constants are needlessly created, they will just show up as new (and unused) OpConstant declarations.

authors: Vasniktel dnovillo s-perron

repo: KhronosGroup/SPIRV-Tools


text:
Add macros for error and status logging.

Depends on #401.
Add the following macros for logging purpose:

SPIRV_ASSERT
SPIRV_DEBUG
SPIRV_UNIMPLEMENTED
SPIRV_UNREACHABLE

The last two is always turned on, while the first two can only
be turned on in debug build.

I'll wait for a rebase on top of https://github.com/KhronosGroup/SPIRV-Tools/pull/401 before reviewing.

@dneto0: rebased.
Sorry this one doesn't have tests. These macros will abort the program, but not through abort(), which googletest death tests depend on. As for SPIRV_DEBUG, it's only for a single build type with extra options turned on.
But I do use these macros in latter PRs. So they should be fine.

-1

-1 have to #undef snprintf again at the end of the log.h (conditionally of course)

+2
Please squash


text:
Set cmake-policy CMP0048 to NEW

When including this Project as subdirectory, cmake pushes a warning about the CMP0048 Policy. #864

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant SWIFTingAround


text:
Add option to relax validation of store types.

There are a number of users of spriv-opt that are hitting errors
because of stores with different types.  In general, this is wrong, but,
in these cases, the types are the exact same except for decorations.
The proper solution to the problem is being discussed, but in the
meantime I would add an option to accept these cases.
The options is "--relax-store-struct", and it can be used with the
validator or the optimizer.

FYI, I ran clang-format on the files I changed.  That created a lot of purely formatting change.  I can undo some of that if people want.

Updated.  Ready for another review.

Rebased, squashed, and pushed into master as 716138ee14


text:
Overzealous warning on vkGetPhysicalDeviceSurfacePresentModesKHR

In this code:
VkPresentModeKHR supported_modes[VK_PRESENT_MODE_RANGE_SIZE_KHR];
int num_modes = ARRAY_SIZE(supported_modes);
vkGetPhysicalDeviceSurfacePresentModesKHR(physd, surf, &num_modes, supported_modes);

I get an error as follows:
vkGetPhysicalDeviceSurfacePresentModesKHR() called with non-NULL pPresentModeCount; but no prior positive value has been seen for pPresentModeCount

But I believe common sense dictates that the number of supported swapchain modes can never exceed the number of swapchain modes. I think this warning is a bit too aggressive in cases like these.

To clarify, the expected behavior would be for this layer check to look at the contents of *pPresentModeCount, and only warn if it's lower than VK_PRESENT_MODE_RANGE_SIZE_KHR.

Problem with common sense is that it is wrong more often than not.
Firstly you should not be using VK_PRESENT_MODE_RANGE_SIZE_KHR. TMK it is deprecated. And always was non-standard anyway.
Secondly it is defined as VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1) which results in 4, but if you look closely, there is 6 present modes including the extended ones.
Such warning simply says you are not using the API as intended. Though as I modified similar commands I used to think it is bit overzealous too. Then again, people seem to keep trying to cheat around the need to query the array size first.

authors: haasn krOoze


text:
Update to cmake files to use variables as destinations used in make install

CMake files had destinations for install hard-coded. This request updated them to use variables that the user can define.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

This looks good.  Thanks!  I need to make one other change to the install command for the layer json files.  It makes sense to make that change along with these.  I'll apply this soon.

pushed to master

authors: CLAassistant johnzupin karl-lunarg


text:
Export Texture to DDS to support Windows 10 Mixed Reality Portal

Microsoft has indicated that the textures that are to be used in the Windows 10 Creators Update Mixed Reality Portal need to be in DDS format.

I think I'd recommend using glTF-Toolkit to prepare assets for MR Portal. When there is a texture compression format in broader/multi-vendor use we can add support for it here.

authors: donmccurdy hridpath

repo: KhronosGroup/glTF-Blender-Exporter