Issue with non-ascii characters in the JVM path on Windows

Context: in Brazil Around the world, many users have names, usernames and various directories containing non-ascii characters. I found this issue because some students couldn't run the same project/tools that other students (and myself) could run.
A mininmal way to reproduce is to put the JDK in a non-ascii path location. And then try the REPL steps bellow:
Python 3.10.6 (C:\Users\abav\OneDrive\Desktop\é-non-ascii-path\python.exe)
>>> import jpype
>>> jpype.getDefaultJVMPath()
'C:\\Users\\abav\\OneDrive\\Desktop\\é-non-ascii-path\\user_data\\jdk-17\\bin\\server\\jvm.dll'
>>> jpype.startJVM(jvmpath='C:\Users\abav\OneDrive\Desktop\é-non-ascii-path\user_data\jdk-17\bin\server\jvm.dll')
  File "<stdin>", line 1
    jpype.startJVM(jvmpath='C:\Users\abav\OneDrive\Desktop\é-non-ascii-path\user_data\jdk-17\bin\server\jvm.dll')
                                                                                ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
>>> jpype.startJVM()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\abav\OneDrive\Desktop\é-non-ascii-path\lib\site-packages\jpype\_core.py", line 218, in startJVM
    _jpype.startup(jvmpath, tuple(args),
OSError: [WinError 126] JVM DLL not found: C:\Users\abav\OneDrive\Desktop\é-non-ascii-path\user_data\jdk-17\bin\server\jvm.dll

Removing the é character from the folder name allows the JVM to start.
This seems to be a Windows issue, tested on Windows 10 21H1, and It seems not to be present on Linux.

I am going to have to depend on you to find a way to address the issue, as my local system likely won't produce the correct result.   Given that it is a SystemError rather than a Java error of some kind I am not sure if it is actually getting to the Java code.     Most likely some encoding converter when passing the string from Python to Java or in this case the C library forget to specify the encoding.
The specific code path is
Raw char* gets passed to Windows  LoadLibrary() call
        virtual void loadLibrary(const char* path) override
        {
                JP_TRACE_IN("Win32PlatformAdapter::loadLibrary");
                jvmLibrary = LoadLibrary(path); // <=====
                if (jvmLibrary == NULL)
                {
                        JP_RAISE_OS_ERROR_WINDOWS( GetLastError(), path);
                }
                JP_TRACE_OUT;
        }

Which was called from JPContext::loadEntryPoints()
void JPContext::loadEntryPoints(const string& path)
{
        JP_TRACE_IN("JPContext::loadEntryPoints");
        JPPlatformAdapter *platform = JPPlatformAdapter::getAdapter();
        // Load symbols from the shared library
        platform->loadLibrary((char*) path.c_str());  // <===
        CreateJVM_Method = (jint(JNICALL *)(JavaVM **, void **, void *) )platform->getSymbol("JNI_CreateJavaVM");
        GetCreatedJVMs_Method = (jint(JNICALL *)(JavaVM **, jsize, jsize*))platform->getSymbol("JNI_GetCreatedJavaVMs");        JP_TRACE_OUT;
}

Which was called from JPContext::startJVM
void JPContext::startJVM(const string& vmPath, const StringVector& args,
                bool ignoreUnrecognized, bool convertStrings, bool interrupt)
{
        JP_TRACE_IN("JPContext::startJVM");

        JP_TRACE("Convert strings", convertStrings);
        m_ConvertStrings = convertStrings;

        // Get the entry points in the shared library
        try
        {
                JP_TRACE("Load entry points");
                loadEntryPoints(vmPath);  // <====
        } catch (JPypeException& ex)
        {
                ex.getMessage();
                throw;
        }
   ....
}

Which came through PyJPModule_startup
static PyObject* PyJPModule_startup(PyObject* module, PyObject* pyargs)
{
        JP_PY_TRY("PyJPModule_startup");

        PyObject* vmOpt;
        PyObject* vmPath;
        char ignoreUnrecognized = true;
        char convertStrings = false;
        char interrupt = false;

        if (!PyArg_ParseTuple(pyargs, "OO!bbb", &vmPath, &PyTuple_Type, &vmOpt,
                        &ignoreUnrecognized, &convertStrings, &interrupt))
                return NULL;

        if (!(JPPyString::check(vmPath)))
        {
                PyErr_SetString(PyExc_TypeError, "Java JVM path must be a string");
                return NULL;
        }

        string cVmPath = JPPyString::asStringUTF8(vmPath);
        JP_TRACE("vmpath", cVmPath);

        StringVector args;
        JPPySequence seq = JPPySequence::use(vmOpt);

        for (int i = 0; i < seq.size(); i++)
        {
                JPPyObject obj(seq[i]);

                if (JPPyString::check(obj.get()))
                {
                        // TODO support unicode
                        string v = JPPyString::asStringUTF8(obj.get());  // <=====
                        JP_TRACE("arg", v);
                        args.push_back(v);
                } else
                {
                        PyErr_SetString(PyExc_TypeError, "VM Arguments must be strings");
                        return NULL;
                }
        }

        // This section was moved down to make it easier to cover error cases
        if (JPContext_global->isRunning())
        {
                PyErr_SetString(PyExc_OSError, "JVM is already started");
                return NULL;
        }

        // install the gc hook
        PyJPModule_installGC(module);
        PyJPModule_loadResources(module);
        JPContext_global->startJVM(cVmPath, args, ignoreUnrecognized != 0, convertStrings != 0, interrupt != 0);

        Py_RETURN_NONE;
        JP_PY_CATCH(NULL);
}

So we can see where the party responsible for encoding that string was
string JPPyString::asStringUTF8(PyObject* pyobj)
{
        JP_TRACE_IN("JPPyUnicode::asStringUTF8");
        ASSERT_NOT_NULL(pyobj);

        if (PyUnicode_Check(pyobj))
        {
                Py_ssize_t size = 0;
                char *buffer = NULL;
                JPPyObject val = JPPyObject::call(PyUnicode_AsEncodedString(pyobj, "UTF-8", "strict")); // <===== (1)
                PyBytes_AsStringAndSize(val.get(), &buffer, &size);
                JP_PY_CHECK();
                if (buffer != NULL)
                        return string(buffer, size);
                else
                        return string();
        } else if (PyBytes_Check(pyobj))
        {
                Py_ssize_t size = 0;
                char *buffer = NULL;
                PyBytes_AsStringAndSize(pyobj, &buffer, &size);  // <===== (2)
                JP_PY_CHECK();
                return string(buffer, size);
        }
        // GCOVR_EXCL_START
        JP_RAISE(PyExc_TypeError, "Failed to convert to string.");
        return string();
        JP_TRACE_OUT;
        // GCOVR_EXCL_STOP
}

So if it is bytes it would not be converted, but if it was unicode it would be UTF-8 with strict.   As you can see the encoder that did the work was Python.   So either we need to change the encoding or push the error upstream as the encoding came from a Python call not a JPype one.
My guess is that the  é character bare without encoding on the file system using a code which is above 128 which would be in the UTF range.   The UTF-8 encoder rendered it with UTF codes but the LoadLibrary then didn't recognize.
Looking for similar issues:
https://forums.sketchup.com/t/help-with-win32api-loadlibrary-and-utf-8-paths/95376/4
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/67561296-a414-4364-a917-2c826053f503/loadlibrary-failed-with-use-multibyte-character-set?forum=windowsgeneraldevelopmentissues
So one solution would be to convert to wide characters from UTF-8 then call LoadLibraryW.  Or we could try a different converter path on Python encoder rather than calling strict.   It should just be a simple matter of trying combinations until it works and submitting a patch to consider for inclusion.  (Even if it fixes your problem but breaks something else, I can work from the patch to make this code path special.)
Of course just fixing the startJVM may not get you working as you will also need to see if the classpath works as well.   Given most of the Java API requires UTF-8 it likely will work.
Hopefully that helps you identify the source of the issue.

Cheers @Thrameos, thank you for looking into it so promptly!
I'm afraid this is well beyond my skills and knowledge. I'd like to ask some help from @vepo and @py5conding... let's see what happens.

Okay.   I will try to see if I can replicate when I get a chance.   If you do want to mess with it there are instructions for building JPype from source on the web, and at least for the encoding options it should be as little as changing the string value from "strict" to "ignore" or one of the other options and testing.    Not sure if that would be fruitful but if it is then all I need is that info so I can start working on a production patch.
Assuming that changing the encoder doesn't work, the LoadLibraryW would be harder as you would need to pattern to convert a UTF-8 char* string into a wide string in C++.   I don't recall it either and would have to research, but perhaps others can help you there.    Perhaps I can make a proposed patch and you can test it?
Either way once we can replicate it, it should be fixable.

Hi @Thrameos , I'd like to work on this issue so it can be fixed for our non-english speaking Windows users.
To make progress here I need to be able to fiddle with the code, run the jpype build, and test. Building jpype on Linux is easy and worked on the first try. I can't run the build on Windows though...can you tell me what I am doing wrong? I have installed Microsoft Visual Studio 2022 Community Edition on my machine and java 17.
This is the output when I run the build:
>python -m build .
* Creating venv isolated environment...
* Installing packages in isolated environment... (setuptools)
* Getting build dependencies for sdist...
running egg_info
writing JPype1.egg-info\PKG-INFO
writing dependency_links to JPype1.egg-info\dependency_links.txt
writing entry points to JPype1.egg-info\entry_points.txt
writing requirements to JPype1.egg-info\requires.txt
writing top-level names to JPype1.egg-info\top_level.txt
reading manifest file 'JPype1.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.jar' under directory 'native'
warning: no files found matching '*.class' under directory 'native'
no previously-included directories found matching 'test\classes\*'
adding license file 'LICENSE'
adding license file 'NOTICE'
adding license file 'AUTHORS.rst'
writing manifest file 'JPype1.egg-info\SOURCES.txt'
* Building sdist...
running sdist
running build_ext
Jar cache is missing, using --enable-build-jar to recreate it.
  javac -cp lib/asm-8.0.1.jar -d build\temp.win-amd64-cpython-38\Release\org.jpype\classes -g:none -source 1.8 -target 1.8 -encoding UTF-8 native\java\org\jpype\JPypeContext.java native\java\org\jpype\JPypeKeywords.java native\java\org\jpype\JPypeSignal.java native\java\org\jpype\JPypeUtilities.java native\java\org\jpype\PyExceptionProxy.java native\java\org\jpype\classloader\DynamicClassLoader.java native\java\org\jpype\classloader\JPypeClassLoader.java native\java\org\jpype\html\AttrGrammar.java native\java\org\jpype\html\AttrParser.java native\java\org\jpype\html\Html.java native\java\org\jpype\html\HtmlGrammar.java native\java\org\jpype\html\HtmlHandler.java native\java\org\jpype\html\HtmlParser.java native\java\org\jpype\html\HtmlTreeHandler.java native\java\org\jpype\html\HtmlWriter.java native\java\org\jpype\html\Parser.java native\java\org\jpype\javadoc\DomUtilities.java native\java\org\jpype\javadoc\Javadoc.java native\java\org\jpype\javadoc\JavadocException.java native\java\org\jpype\javadoc\JavadocExtractor.java native\java\org\jpype\javadoc\JavadocRenderer.java native\java\org\jpype\javadoc\JavadocTransformer.java native\java\org\jpype\manager\ClassDescriptor.java native\java\org\jpype\manager\MethodResolution.java native\java\org\jpype\manager\ModifierCode.java native\java\org\jpype\manager\TypeAudit.java native\java\org\jpype\manager\TypeFactory.java native\java\org\jpype\manager\TypeFactoryNative.java native\java\org\jpype\manager\TypeManager.java native\java\org\jpype\pickle\ByteBufferInputStream.java native\java\org\jpype\pickle\Decoder.java native\java\org\jpype\pickle\Encoder.java native\java\org\jpype\pkg\JPypePackage.java native\java\org\jpype\pkg\JPypePackageManager.java native\java\org\jpype\proxy\JPypeProxy.java native\java\org\jpype\ref\JPypeReference.java native\java\org\jpype\ref\JPypeReferenceNative.java native\java\org\jpype\ref\JPypeReferenceQueue.java native\java\org\jpype\ref\JPypeReferenceSet.java
warning: [options] bootstrap class path not set in conjunction with -source 8
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 warning
Copy file native/java\org\jpype\html\entities.txt build\temp.win-amd64-cpython-38\Release\org.jpype\classes\org\jpype\html\entities.txt
  jar cvf build\lib.win-amd64-cpython-38\org.jpype.jar -C build\temp.win-amd64-cpython-38\Release\org.jpype\classes .
error: [WinError 2] The system cannot find the file specified

ERROR Backend subprocess exited when trying to invoke build_sdist>python -m build .

The directory build\temp.win-amd64-cpython-38\Release\org.jpype\classes exists and has stuff in it. The directory build\lib.win-amd64-cpython-38 exists but is empty. What file is it trying to find there?
Although on Windows I can install JPype with the tar.gz source distribution and I can create new source distributions on my Linux machine. If that's a sufficient workflow for what needs to be done here, I can go with that instead.
As to testing, if I can't reproduce it on my machine I'll get help from @villares . Between the two of us, I think we can get to the bottom of this.

Ooops, I just needed to add C:\Program Files\Java\jdk-17\bin to my PATH so it could find the jar.exe executable.  In any case, I can now create a Windows wheel.
Next I'll try to reproduce @villares 's issue on my Windows machine and will try making that "strict" change you mentioned earlier. If I can't reproduce here, @villares will be able to help test.

Sounds good.  Thus was one I wasn't able to replicate and slipped through the cracks.  Thanks for taking it up.

OK, I have created several JPype builds that change the errors param of PyUnicode_AsEncodedString in JPPyString::asStringUTF8 in the file jp_pythontypes.cpp. I tried 'ignore', 'replace', 'xmlcharrefreplace', and 'backslashreplace', which are the options mentioned in the Python documentation. There's also a baseline build which uses the original value 'strict'.
I emailed a folder with the compiled wheels to @villares for testing. The baseline build should reproduce the issue. Hopefully one of the other builds lets @villares start the JVM, which will be an important clue about what is going on and what we can do to fix it.

Hi, I tested all the wheels built by @hx2A on Windows 11 today, and got the same results as the baseline build. They work with ASCII paths, and break with non-ASCII paths:

It seems that changing the encoding didn't work, but the fact that it didn't work is useful information for planning next steps. @Thrameos , what would you like us to test next?

I can give it another shot.  My plan was to call the Python char to charge converter then LoadLibraryW.  After all this is a Python string we are passing to a system call, and not really anything to do with Javas wacky encoding.  The problem is that LoadLibraryW is a system call and I have no idea whether this wants the wide char for the displayed character or perhaps something from the region character set.   Thus all I can do is hope Python knows how to get the right encoding.
Not having a region encoded Windows version means I may not get the same behavior.
See
https://docs.python.org/3/c-api/sys.html#c.Py_DecodeLocale

@Thrameos , If you'd like to create a branch with some test code for us to try, I can take care of preparing the wheel and providing it to @villares for testing.

@Thrameos , thank you for working on this and creating a potential fix. Unfortunately I overlooked the issue notification and didn't see this until now.
@villares , you can test @Thrameos 's fix? I believe you can install it with the following command:
pip install git+https://github.com/Thrameos/jpype@windows-locale

If for some reason that doesn't work, use the wheel I created on Windows in the folder link I just DM'd you.

Wow, excellent!
Building the wheel requires compilation, which I know on Windows is a chore.
@Thrameos , thank you so much for fixing this!

fixed in 1.5.1

Dear @Thrameos and @marscher I have perhaps bad news... I tested 1.5.1 quickly on Windows and couldn't start the JVM even with a normal ascii-only path, so probably not related to this issue, but maybe a complete regression. I'll investigate more and open a new issue.

that's terrible news. Do you have any output? Please open a new issue.

I tested 1.5.1 on Windows and didn't have any issues, at least for my PyGhidra use case.


InfluxDB 2.0: The "GET" method of "/dashboards/{dashboardID}/cells/{cellID}/view" should return "cell not found" for a cell that doesn't exists [area/api]

The /dashboards/{dashboardID}/cells/{cellID}/view should return cell not found for a cell that doesn't exists:
-> GET
-> http://<IP_ADDRESS>:9999/api/v2/dashboards/03a3789a6a393000/cells/ffffffffffffffff/view

<- 404
<- Not Found
<- {
	"code": "not found",
	"message": "view not found",
	"error": {
		"code": "not found",
		"message": "view not found"
	}
}

Hey @desa, needs your inputs here. I interpret this issue as "view not found" could be a little confusing.
in order to achieve what @bednar asked, we could do a dashboard search first, then change the "view not found" error to "cell not found" error.
as well as update, delete, patch for the view.

cell not found seems like the correct error to return to me.


NullDisplayText et al. cannot be localized in display metadata provider

I'm writing custom display metadata provider.
The DisplayName, Placeholder and Description properties are of type Func<string>, which allows to make localization while app is running, depending on current UI culture.
For other properties, like NullDisplayText or FormatString the property is a string so it can't be localized. These properties are important for localization as well, because you might want to display things like nothing or never and localize them trough the app.

@ridercz thank you for your feedback. We're closing this issue as this is fixed in our working code base. Please move from ASP.NET Core MVC version 2.0.1 to 2.1.0 Preview 1. You'll then benefit from our #6730 fix.


Read repo status

I am trying to get the status of a repository, but the following code will not return.
But I am not sure if this even the correct approach, so I wanted to check if the following snippet is valid? (For readability I removed the error checking.)
repo, _ := git.PlainOpen("/path/to/repo")
work, _ := repo.Worktree()
st, _ := work.Status() // will not return

The last code I was able to see while debugging was
https://github.com/src-d/go-git/blob/1a7db85bca7027d90afdb5ce711622aaac9feaed/worktree_status.go#L227
So it could be that the Storer has to be initialized first?
Would be glad for feedback. Thanks.

Closing this as I am currently not able to reproduce the issue.
The problem was only apparent for one out of multiple repositories.


about composite images

When I was learning about  Salient Object Detection，I used composite images to augment the training set：
C= F × α + B × (1 − α)
C：composite image
F： foreground image
B: background  image
α values the image mask.
After the completion of training, the final effect does not reach the expectation, and some results often appear low gray value of the shadow.Regarding this phenomenon, do you have any suggestions for setting alpha or image mask.
Looking forward to your reply

I can not give you much useful suggestions as I have not tried this kind of
data augmentation in SOD. But you may refer to the image matting papers.
kobe<EMAIL_ADDRESS>于2021年1月27日周三 下午6:02写道：

When I was learning about Salient Object Detection，I used composite images
to augment the training set：
C= F × α + B × (1 − α i )
C：composite image
F： foreground image
B: background image
α values the image mask.
After the completion of training, the final effect does not reach the
expectation, and some results often appear low gray value of the
shadow.Regarding this phenomenon, do you have any suggestions for setting
alpha or image mask.
Looking forward to your reply
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/backseason/PoolNet/issues/75, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYO2OASPF26QCYGIHY2TMTS37QFFANCNFSM4WU7DHHA
.

--
From BackSeason-刘姜江
Major in Computer Science and Technology
Nankai University, Tianjin,300350
P.R.China
<EMAIL_ADDRESS><EMAIL_ADDRESS>

I can not give you much useful suggestions as I have not tried this kind of
data augmentation in SOD. But you may refer to the image matting papers.
kobe<EMAIL_ADDRESS>于2021年1月27日周三 下午6:02写道：

When I was learning about Salient Object Detection，I used composite images
to augment the training set：
C= F × α + B × (1 − α i )
C：composite image
F： foreground image
B: background image
α values the image mask.
After the completion of training, the final effect does not reach the
expectation, and some results often appear low gray value of the
shadow.Regarding this phenomenon, do you have any suggestions for setting
alpha or image mask.
Looking forward to your reply
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/backseason/PoolNet/issues/75, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYO2OASPF26QCYGIHY2TMTS37QFFANCNFSM4WU7DHHA
.

--
From BackSeason-刘姜江
Major in Computer Science and Technology
Nankai University, Tianjin,300350
P.R.China
<EMAIL_ADDRESS><EMAIL_ADDRESS>

I can not give you much useful suggestions as I have not tried this kind of data augmentation in SOD. But you may refer to the image matting papers. kobe<EMAIL_ADDRESS>于2021年1月27日周三 下午6:02写道：
…
When I was learning about Salient Object Detection，I used composite images to augment the training set： C= F × α + B × (1 − α i ) C：composite image F： foreground image B: background image α values the image mask. After the completion of training, the final effect does not reach the expectation, and some results often appear low gray value of the shadow.Regarding this phenomenon, do you have any suggestions for setting alpha or image mask. Looking forward to your reply — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#75>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYO2OASPF26QCYGIHY2TMTS37QFFANCNFSM4WU7DHHA .
-- From BackSeason-刘姜江 Major in Computer Science and Technology Nankai University, Tianjin,300350 P.R.China<EMAIL_ADDRESS><EMAIL_ADDRESS>


匿名回答功能没有！

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

增加一个匿名回答的功能

开发一个，很重要！
---原始邮件---
发件人: @.>
发送时间: 2023年5月22日(周一) 下午4:10
收件人: @.>;
抄送<EMAIL_ADDRESS>主题: Re: [answerdev/answer] 匿名回答功能没有！ (Issue #364)
Closed #364 as completed.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


apostrophe: 3.1 -> 3.2

Changelog: https://gitlab.gnome.org/World/apostrophe/-/releases/v3.2
Hydra failure: https://hydra.nixos.org/build/277157229/nixlog/1
Closes https://github.com/NixOS/nixpkgs/issues/353316
ZHF: #352882
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

A visual bug was observed: preview flickered between display and full black.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 353328

aarch64-linux

:white_check_mark: 1 package built:

apostrophe


failure to resolve transform when run from subdirectory within project

When running browserify + transforms from a subdirectory within a project, it will fail with the following error:
C:path\subdir> npm run browserify -t hyperxify main.js > bundle.js  # [1]

Error: Cannot find module 'C:\path\hyperxify' from 'C:\path'
    at C:\path\node_modules\resolve\lib\async.js:55:21
    at load (C:\path\node_modules\resolve\lib\async.js:
69:43)
    at onex (C:\path\node_modules\resolve\lib\async.js:
92:31)
    at C:\path\node_modules\resolve\lib\async.js:22:47
    at FSReqWrap.oncomplete (fs.js:82:15)

# [1] NB: browserify binary is aliased as a script, due to local installation of browserify

I've verified that the transform is resolved if I run browserify from the root of the project.  I've also verified that the resolve() module will properly find the transform (in this case, hyperxify) if called directly from a script in the subdirectory.

more testing:
ok node ..\node_modules\browserify\bin\cmd.js -t hyperxify main.js
ok ..\node_modules\.bin\browserify -t hyperxify main.js
fail npm run browserify -t hyperxify main.js
So this can probably be closed as npm doing something stupid with the path or working directory that isn't worth tracking down.


No download was provided for file

I assume I am just going to have to go to Curseforge and grab these manually as it says? I did set the API Key from the Curseforge console into settings.json.
npm run modpacks.ch

<EMAIL_ADDRESS>modpacks.ch
ts-node-esm src/app.ts modpacks.ch

Using modpacks.ch mod provider
Downloading files for FTB Presents Direwolf20 1.20
Downloading 395 files...
████████████████████████████████████████ 100% | ETA: 0s | 395/395
Successfully downloaded 387/395 files.
No download was provided for file: Emojiful-Forge-1.20.1-4.2.0.jar, please attempt to download this file manually.
No download was provided for file: SaveYourPets-1.20.1-1.0.9.jar, please attempt to download this file manually.
No download was provided for file: findme-3.1.0-forge.jar, please attempt to download this file manually.
No download was provided for file: functionalstorage-1.20.1-1.2.6.jar, please attempt to download this file manually.
No download was provided for file: ifly-1.0.3+mc1.20.1.jar, please attempt to download this file manually.
No download was provided for file: industrial-foregoing-1.20.1-3.5.9.jar, please attempt to download this file manually.
No download was provided for file: rsrequestify-1.20.1-2.3.3.jar, please attempt to download this file manually.
No download was provided for file: titanium-1.20.1-3.8.23.jar, please attempt to download this file manually.

Yes, indeed, you will have to manually download these from somewhere. Not much I can do on my end to fix this.
As far as I understand it CurseForge gives mod authors the ability to disable downloads via the api. This option probably exists for monitization reasons, requiring people to go through either a manual download or the offical app will net them more money.


Using Vegeta for writing to an EventStore stream

Hi,
I just started using Vegeta and I am not sure how to proceed with applying it to a POST for a Single Event for EventStore.
EventStore Single Event is documented here...
http://docs.geteventstore.com/http-api/3.0.3/writing-to-a-stream/
The Single Event headers that EventStore requires look like this...

-H "Content-Type:application/json" -H "ES-EventType: SomeEvent" -H "ES-EventId: C322E299-CB73-4B47-97C5-5054F920746E"

From what I can understand from the documentation (I may be wrong but not sure), it requires a unique non-duplicate "ES-EventId:" UUID for every single one. I am not sure how to proceed with using Vegeta on this. My goal is to run a test that will demonstrate and visualize to my client that EventStore can handle a Vegeta rate of at least 500 per second. I appreciate any advice on how to approach this...
Thank you

Have a look at this blog post: https://thisdata.com/blog/load-testing-api-interfaces-with-go-and-vegeta/

Thank you. I will give that a try.

it seems the blogpost link is not valid anymore...


On deny list without reason

Please I plugged in my minner and it worked perfectly a couple of days back started to fall lots per day and today I see that I'm on the deny list.  Please help I have a picture of the setup from the first day it's the same. Nick is Plain Bronze Dog. For any additional info i m avalable.

This is not the right place for that request - please join the Helium Discord at https://discord.gg/helium and go to the #crowdspot-denylist channel there, and read the pinned messages.

I been on Discord and nobody knows the answer to tell me why I am on the deny list. I want someone to tell me what I did wrong and if I made mistakes to correct them. I have a machine that does not work and I lose money.


added examples to account.py

added policy examples to account.py

docstring examples herein have been tested & validated


New FPile API.

Current coverage is 10.36% (diff: 60.00%)

Merging #43 into master will increase coverage by 1.99%

@@            master        #43   diff @@
=========================================
  Files           30         30
  Lines          800        839    +39
  Methods        768        800    +32
  Messages         0          0
  Branches        32         39     +7
=========================================
+ Hits            67         87    +20
- Misses         733        752    +19
  Partials         0          0

Powered by Codecov. Last update 8b003fa...0fa7ea2


Adding a new empty file

Trying to test an update to the PR Tasks Completed Check action
All Submissions:

[x] Have you followed the guidelines in our Contributer's Guide](https://github.com/NCAR/CUPiD/wiki/Contributor's-Guide) (including the pre-commit check)?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

New Feature Submissions:

[ ] Does your submission pass tests?
[ ] Have you lint your code locally prior to submission?

Changes to Core Features:

[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your core changes, as applicable?
[ ] Have you successfully ran tests with your changes locally?

I'm still seeing
GITHUB_TOKEN Permissions
  Checks: read
  Metadata: read

which doesn't seem right, given tasklist_completed.yml contains
    permissions:
      checks: write

I'll keep digging in, but we may want to consider the other tasklist checker action instead?

(for the record, I updated the permissions based on https://github.com/kentaro-m/task-completed-checker-action/issues/62 )

Is it okay to close this PR, or did you want to do more testing with it @mnlevy1981 ?

Let's close this and revisit it later when we have a better idea of how to get a task list checker to work :)


Crash to Menu when configuring Djinn Machine Operator

Describe the bug
When I attempt to finish configuring the Djinn Machine Operator, in particular setting up the target machine, and go to close the menu either through Esc or the X button at the bottom, the background blurs and I get the following message: Internal Exception:io.netty.handler.codec.EncoderException: Failed to encode packet 'serverbound/minecraft:custom_payload'  and am sent back to the server select screen.
To Reproduce
Steps to reproduce the behavior:

Place down Djinn machine operator using book of calling
Shift+Right Click the machine to open setup menu
Set up machine (I used defaults except naming which I tried with and without naming)
Close the Menu either using Esc or the button at the bottom of this menu
Above Error appears and returned to menu

Expected behavior
Djinni machine operator now works on the configured machine handling input and output.
Screenshots
If applicable, add screenshots to help explain your problem.
System (please complete the following information):

Occultism Version: occultism-1.21.1-neoforge-1.159.5.jar
OS: [e.g. Windows] Windows 10
Minecraft Version: 1.21
Modpack Link and Version, or list of mods: Direwolf20 1.21 Modpack Version 1.3.0

Additional context
Already linked book to Storage Actuator which is in a different room, and yes there are the Wormhole/Mirror things nearby. I tried setting the DMO (Djinn Machine Operator) on both an Iron Furnaces Netherite Furnace, and an EnderIO Alloy Smelter with the same result.

@Shadowfire86 Can you please provide your latest.log file, and potentially crashstack file if one was generated?
Usually these types of errors are due to negative interactions with other mods (such as performance optimization mods) and somewhat hard to track down, but in case it is an error in occultism the log file might tell us

I checked my crash log folder. Since it just booted me back to Server, nothing generated. If the location for the log you want is in another folder, I'll look for it if you tell me as much.

I also have the same issue
disconnect-2024-11-09_15.57.19-client.txt

Thank you for the info! I could not reproduce it in dev, but I have a lead, as I managed to make another error happen that might be related (sometimes dev and live behave a bit differently in how they handle errors, which leads to different symptoms in the game and logs). I will push a fix. If that does not fix it, please ping me here so I can reopen the issue!

Just updated and tried on the Craftoria modpack. Still the same issue :(
disconnect-2024-11-09_17.06.05-client.txt

@itszenergy does this happen in singleplayer or just on a server?
And can you reproduce it if you do a minimal pack on curseforge with just occultism + dependencies?
Considering that I currently do not get any errors with this process in dev it is likely that it's another mod causing it, but if it is occultism after all we should find out so I can fix it

Tried Singleplayer and Server. Currently playing with friends on the Craftoria pack. Sorry I can't be of any more help.

Unfortunately my world is singleplayer, so I don't think I'll be much more help.

@klikli-dev Would you mind if I link this issue to the FTB Modpack Team to look into since it appears to be a mod interaction issue? I already checked the issues list and verified it's not already there.

Ok making one more change to hopefully fix that!


BlAsyncElement doesn't always display the element

BlAsyncElements that are off-window when the window is opened and then scroll in to view no longer display, leaving a blank space.

In #1709, we changed BlUpdateWhenVisibleStrategy>>#needsUpdate: and BlAsyncElement geometry hooks. Maybe this is the source of this issue.


Intersection type with Object / Array doesn't work?

I have the following definition:
declare type Immutable<T: Object | Array<*>> = T & {
  // Array methods
  flatMap(fn: Function): Immutable<T>;
  asObject(fn: Function): Immutable<T>;
  asMutable(): Immutable<T>;
  // Object methods
  merge(collection: Array<any> | Object, deep?: Object): Immutable<T>;
  set(key: string, value: any): Immutable<T>;
  setIn(keyPath: Array<string>, value: Object): Immutable<T>;
  update(key: string, fn: Function): Immutable<T>;
  updateIn(keyPath: Array<string>, fn: Function): Immutable<T>;
  without(fn: Function): Immutable<T>;
  without(keys: Array<string>): Immutable<T>;
  without(...keys: Array<string>): Immutable<T>;
  asMutable(): Immutable<T>;
};

This should return an error but it doesn't:
function(someVar: Immutable<Object>){
   someVar.set(false, false)`
}

However if I remove the intersection from the definition (T &), the error is shown (but then, it doesn't treat it as array or object)

@avikchaudhuri I edited the example to give it a bit more context. someVar is just something with the type of Immutable<Object>.
As I wrote, if I don't intersect my type with T (I even tried just intersecting with plain simple Object and it won't work that way either), it shows errors correctly (like if I stick a boolean in the 1st parameter instead of string).
The moment I add the intersection, no errors at all are reported.

It seems to work now though required some tweaking. Try
For one I've changed your function to look like the following
function t(someVar: Immutable<{}>){
   someVar.set(false, false)
}

You will notice that instead of Object I've used {}, this is because Object is alias to any so I imagine any & { } will be any which is why there is no error reporting.
https://flow.org/en/docs/types/objects/#toc-object-type


heimer: 3.2.0 -> 3.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/juzzlin/heimer/releases.
meta.description for heimer is: "Simple cross-platform mind map and note-taking tool written in Qt"
meta.homepage for heimer is: "https://github.com/juzzlin/Heimer"
meta.changelog for heimer is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.4.0 with grep in /nix/store/nyywgwfhbplnan3ngig71zfpvvibx1ch-heimer-3.4.0
found 3.4.0 in filename of file in /nix/store/nyywgwfhbplnan3ngig71zfpvvibx1ch-heimer-3.4.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
heimer

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/nyywgwfhbplnan3ngig71zfpvvibx1ch-heimer-3.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A heimer https://github.com/r-ryantm/nixpkgs/archive/b7d091ea2d7cf113e79a369d300c914475b27e18.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/nyywgwfhbplnan3ngig71zfpvvibx1ch-heimer-3.4.0
ls -la /nix/store/nyywgwfhbplnan3ngig71zfpvvibx1ch-heimer-3.4.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

heimer

Maintainer pings
cc @dtzWill for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/juzzlin/heimer/releases.
meta.description for heimer is: "Simple cross-platform mind map and note-taking tool written in Qt"
meta.homepage for heimer is: "https://github.com/juzzlin/Heimer"
meta.changelog for heimer is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.5.0 with grep in /nix/store/3l1iiprgap9nwjvswk0v0jqbm1wjhzy3-heimer-3.5.0
found 3.5.0 in filename of file in /nix/store/3l1iiprgap9nwjvswk0v0jqbm1wjhzy3-heimer-3.5.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
heimer

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/3l1iiprgap9nwjvswk0v0jqbm1wjhzy3-heimer-3.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A heimer https://github.com/r-ryantm/nixpkgs/archive/8ff6f668888503babab8737ccdf8db8d16f0c3c7.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/3l1iiprgap9nwjvswk0v0jqbm1wjhzy3-heimer-3.5.0
ls -la /nix/store/3l1iiprgap9nwjvswk0v0jqbm1wjhzy3-heimer-3.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

heimer

Maintainer pings
cc @dtzWill for testing.

Result of nixpkgs-review pr 183343 run on x86_64-linux 1

1 package built:

heimer


p5.Tone outdated link

just checked the p5.Tone Wiki and the given link doesn't exist anymore...
Is there no p5.Tone support anymore? or is the link outdated?

This link is old and no longer needed.
I use p5 with Tone.js all the time, it doesn't really require any specialized build anymore and can be loaded and used together. You might need to remove p5sound from your p5 sketch so that there are no conflicts, but otherwise should work.

This link is old and no longer needed.
I use p5 with Tone.js all the time, it doesn't really require any specialized build anymore and can be loaded and used together. You might need to remove p5sound from your p5 sketch so that there are no conflicts, but otherwise should work.

oh, you're right, just tried... then maybe you should update the p5.Tone Wiki...


Allow Security Groups to be referenced by Name in Security Group Policies

What would you like to be enhanced:
IIUC, the Security Group Policies, can only contain a security group id today. Can this be extended to support security group names as well?
Why is the change needed and what use case will it solve:
In our setup developers have access to security-group-names that help them understand what resources they will have access to (for e.g. allow-foo-service). This makes it easy for developers to attach the appropriate security groups to their deployments. Supporting this use case will enable us in directly using the interface provided by the VPC Resource Controller.

Hey @abeer91, thanks for sharing your use case. This sounds similar to this #20 . We will do some research and prioritize the work if it is feasible. I am closing this request for now due to duplication. Please feel free to reopen it if otherwise. Thanks.


Crowdin - Poedit integration - unable to synchronize translations

Hi!
I'm from the Crowdin team.
We noticed that our Crowdin - Poedit integration stopped working properly and users can't sync translations.
We assume that the integration transmits the wrong language codes.
Here is the list of our default codes
https://developer.crowdin.com/language-codes/
As an example of the error users receive, please see below (Chinese Traditional language used)

Text error message
Language 'zh-Hant' not found or does not exist.
Please take a look and let us know if it can be fixed. Thank you!

This was already fixed for PO files yesterday in 970703feccc24a9d8fc25851d3e10c60971586b3 — Poedit was accidentally fixing legacy zh-TW, used by Crowdin, into zh-Hant internally.
There are other issues with Crowdin intwgration that I'm currently looking into — if you could reach out by email, assuming you're handling these things, I'd appreciate it. The above issue remains for XLIFF files where the file's language code is sometimes inconsistent with API's, and the Language header is incorrect in the downloaded PO (just zh here; this is a new-ish regression).


Email Campaigns PR

@nazeer1100126, I have made OpenJpa Changes you can now review

@Ippezrobert : We would like to pull this valuable feature in.
Can you resolve the merge conflicts and possibly point us to some requirement document / JIRA issue for this feature ?

@avikganguly01 , Am closing this PR as am sending one with conflicts resolved


Provide functionality to merge SeriesSets

Currently we can query multiple SeriesSets via label selectors but cannot merge two of them together while eliminating duplicates.
Internally we have similar functionality, so this is merely about making it accessible. We mostly need this for federation where we can have multiple AND'ed selectors (e.g. abc{de=~"fg"}) which are OR'd together.
Either we provide an external method OR'ing SeriesSets or extend the querying interface to accept more complex selectors, which would generally be trees.

Are you talking about exposing mergedSeriesSet and adding multiple series instead of just two?
Ref: https://github.com/fabxc/tsdb/blob/master/querier.go#L262-L267

Yea, functionality-wise it's pretty much the same. Just that it is less
about merging time windows of the same series but about dropping duplicates.
The code will look pretty much the same. The tricky part is how to expose
this behavior to the user.
On Mon, Mar 20, 2017 at 8:08 PM Goutham Veeramachaneni <
<EMAIL_ADDRESS>wrote:

Are you talking about exposing mergedSeriesSet and adding multiple series
instead of just two?
Ref: https://github.com/fabxc/tsdb/blob/master/querier.go#L262-L267
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fabxc/tsdb/issues/10#issuecomment-287865794, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEuA8ptV-uHncjPb13UY9ozHzvbE9iIRks5rns6PgaJpZM4Mei8a
.

Hmm not able to see what could be tricky. Can I implement something like:
MergeSeriesSet(series ....SeriesSet) SeriesSet and send a PR?
Either I am missing the point or I need to implement it to see the difficulty :/
Also, there is an implicit assumption that a SeriesSet will be giving Series in a sorted order, with sorting based on the labels. But I don't see it written anywhere in the interface definition.

Hmm, now that I actually read it again, I understand what you mean. Do we need this complexity in PromQL? Or do we need this functionality at all?
I see that the use-case for this is if we want to graph two different metrics on the same graph. But isn't that being handled by Grafana? And for federation, we can do it the way its currently being done, get the instant vectors and dedupe.

Yes, the sortedness is part of the definition – it's an invariant that's not always easy to achieve and not necessary in all use cases. In general though, it seems to be something worth holding up. It has not been written down yet because it caused me a fair bit of headache an I was going back and forth on it for a while.
The use case here is actually only federation on the Prometheus side. You can specify matching parameters for series and want the union of them if you specify multiple ones.
So now it gets tricky. Just returning a union of series will work, but take a look at #9, which is targeted at federation as well. If we have something like that, we'd like to return a set of (label_set, last_sample) rather than (label_set, full_series).
So the question is how to enable the union functionality API wise. The difficulty is definitely not implementing but exposition.
Exposing said MergeSeriesSet might just be the right choice in the mean time. Or just releasing a Prometheus 2.0 alpha with the restriction that overlapping series selectors in federation requests will yield duplicates and defer the decision.

Closing this as it has been implemented in Prometheus itself and any app that is using it can do this. Merging the series of several queries is an advanced feature and will be added only when requested.
Please feel free to re-open if need this.


Update using-topology-operator.md TOC to link properly

Fix table of contents to reference correct header IDs

Thank you!


Clarification on Units in TAPVid-3D Dataset

Hello,
First of all, thank you for the amazing work on this project!
I have a quick but important question: Are all the 3D point locations in the TAPVid-3D dataset represented in meters?
Thank you for your help!
Best regards,
Runsen

Hi Runsen, yes, it should be meters.

Nice. Thank you!


Remove dependency to ndarray crate

ndarray crate is used only in gpu_cache module, and the module uses ndarray only for 2D array of u8 type.
This commit implements ByteArray2d struct instead of OwnedArray<u8, (Ix, Ix)> to use, and remove dependency to ndarray crate.
At present, the newest version of ndarray crate is 0.6.0 and some API has changed.
But ndarray-0.6.0 uses #[deprecated] attribute and cannot compile with rustc-1.8.0 or below.
I think this is a good chance to stop using ndarray, but if this PR is rejected, this crate should use newer ndarray.

Looks good, thanks! I haven't had time lately to look at this myself, so thanks for the contribution!


scorecard - add verbose logging

Feature Request
Is your feature request related to a problem? Please describe.
This issue was found by testing the older scorecard version's use of --verbose flag with the newer scorecard implementation.  See https://bugzilla.redhat.com/show_bug.cgi?id=1865801
Describe the solution you'd like
In the prior version of scorecard, there was logging messages that were produced when the user specified the --verbose CLI flag.  Those same logging messages were not duplicated in the current scorecard implementation.  What is required I think is that the intent of verbose be looked at with respect to scorecard and what logging messages would be useful for end users to debug or get more detailed information on what scorecard is doing at a given time.  This will require some determination of what messages should be logged, and then changes to the scorecard code to produce the required messages, and also a possible update to the end user website documentation.

/kind feature

Unless more requests for this feature are filed, this will stay in the backlog/get closed by the bot if there's no activity.


More robust error handling

Client need to be notified of errors on worker nodes.  This isn't necessarily specific to the TorchService, but it's likely to happen there very often, and there's no way to robustly prevent incorrect Torch code from being sent to a worker.  We need to have a way of notifying the Client when they send a bad command, likely by sending a return to sender message that contains either a Grid-specific error message (e.g. 'command' isn't a torch command, 'obj' isn't a torch object, etc.) or a normal Python error message from a stack trace (e.g. Runtime Error: cannot call .data on a torch.Tensor: did you intend to use autograd.Variable?).

Shouldn't be to bad to do something general with try/except in targeted places (like process_command for torch).  An exception triggers the except block, and there we compile the error from the exception into a message and then send that message back to the client.  Ideally, the message would be identical to whatever error the stack trace would display for a normal Python process.


Solved Problem with 'missing default export' error

This change solves 'Missing default export' error. I simply added a export default  before the class Component. Obviously I removed previous module.exports = Bounceable;

@slavik0329


build and serve error

Describe the bug
Hey,
When I run npm run dev:serve or npm run dev:build I always getting this error

Did it happen on the first run? or after changing the content?

happen on the first run

I am not really sure how I can reproduce this issue, if you're interested in solving this bug I can help in debugging what is wrong.
So looking at the log I believe the value of contentTemplate must be null for some reason in https://github.com/abelljs/abell/blob/main/src/content-generator.js#L292
In that function maybe you can console.log(programInfo.contentIndexTempate) and see if it is null
if it is null, it must be coming from here: https://github.com/abelljs/abell/blob/main/src/content-generator.js#L168
It will throw this error if theme/[$path]/index.abell is empty I guess

yeah,  it's null

Maybe we can change this line: https://github.com/abelljs/abell/blob/main/src/content-generator.js#L168 to send '' (empty string) instead of null when the value is an empty string.
Would you be interested in creating a Pull Request?

yeah, of course

Awesome! let me know if you need any help :D

done, sent the pr


ARROW-17367: [C++] Fix the LZ4's CMake target name

I changed the LZ4's CMake target name to lz4::lz4 from LZ4::lz4 by
ARROW-16614 because I thought that the official LZ4's CMake package
uses lz4::lz4 not LZ4::lz4.
But I was wrong. The official LZ4's CMake package uses LZ4::lz4 not
lz4::lz4:
https://github.com/lz4/lz4/commit/f9378137ed306ea71d1d9cd60e1acf7b8e57f0df

@github-actions crossbow submit -g conan

+1


Docs | azure-key-vault-v1 Remarks typo

Thank you for your contribution. Please see the README.MD in this repo for details on how to contribute.

[x] Are you editing a task or YAML schema definition article? We welcome your contributions to content that is contained within "editable-content" tags. Any contributions outside of an "editable-content" tag won't be merged as these articles are auto-generated (and auto-updated when new properties or inputs are deployed), with the exception of the content inside "editable-content" tags.

Fixes a copy/paste typo in AzureKeyVault@1 docs.

@robmaas Thank you!!


retrieving windows folders broken, APPDATA

making portable java code which stores its files in the correct locations for different operating system is a challeng. as one user called it at the tiny dirs-dev library trying to implement these directories: https://github.com/dirs-dev/directories-jvm/issues/49. The internet is full of suggestions how to do it, most of them failed at some point.
At the end of the day, why on earth people think it is necessary to access a native windows system call to find something that trivial as APPDATA or LOCALAPPDATA in a reliable way?
Just some random links:

Using jna: https://github.com/harawata/appdirs/blob/master/src/main/java/net/harawata/appdirs/impl/ShellFolderResolver.java
jna in graalvm: https://stackoverflow.com/questions/77323544/graalvm-and-jna-dependency, 2024

Would you please be so kind to make a statement from Microsoft point of view how to properly and reliably retrieve the values with openjdk-21, WITHOUT using native , and for which windows operating system versions this is valid?

I'm sympathetic to the challenges here (I've read the long thread in the original dirs-dev issue tracker). However, this is not an issue related to the Microsoft Build of OpenJDK and so I'm closing this item here.  In a personal capacity, I'll reply on the dirs-dev thread to see if I can better understand the issue.


Ubuntu 18.04 Nouveau driver crash on opening project

Godot version:
Official 3.0.6 stable
OS/device including version:
Ubuntu 18.04 stock version with default Nouveau graphics drivers on Nvidia GTX 970
(Works with proprietary driver)
Issue description:
Immediate crash on opening project from the project browser
(in my case the Kinematic Character 3D demo)
It crashes the OS completely, can' t even switch into another tty via F keys, Hardware cursor still working though.
Steps to reproduce:
Start Godot, open project for editing
Minimal reproduction project:
Kinematic Character demo from asset library

Yet another sucky GLES3 drivers, I guess? Try the 3.1 alpha with GLES2 to see if it works.

@TomWor Consider reporting the bug to Ubuntu or the Nouveau project.

I have got the exact same issue but with Godot 3.1 alpha
Here is my issue
https://github.com/godotengine/godot/issues/22790

Closing, as this is most likely a driver-specific bug. Also, keep in mind Nouveau is usually as stable as the proprietary NVIDIA driver and is more prone to regressions, since it's the fruit of reverse engineering.


ctr/snapshots/diff: show media-type in stderr

By default, diff subcommand will print tar(.gz) on stdout. If we print
the media-type in stdout, the output will create invalid tar(.gz) data.
// before
➜  containerd git:(move_stdout_to_stderr) sudo ctr snapshot diff sha256:9f54eef412758095c8079ac465d494a2872e02e90bf1fb5f12a1641c0d1bb78b > /tmp/1.tar
➜  containerd git:(move_stdout_to_stderr) file /tmp/1.tar
/tmp/1.tar: data

// after change
➜  containerd git:(move_stdout_to_stderr) make bin/ctr
+ bin/ctr
➜  containerd git:(move_stdout_to_stderr) sudo bin/ctr snapshot diff sha256:9f54eef412758095c8079ac465d494a2872e02e90bf1fb5f12a1641c0d1bb78b > /tmp/2.tar
media-type: application/vnd.oci.image.layer.v1.tar+gzip

➜  containerd git:(move_stdout_to_stderr) file /tmp/2.tar
/tmp/2.tar: gzip compressed data, original size modulo 2^32 75155456

Signed-off-by: Wei Fu<EMAIL_ADDRESS>

This definitely is a bug fix, but secondary question--is there a reason to output the media type at all? It is a configurable flag (for this subcommand) and has a default so it shouldn't be a mystery to the caller.

is there a reason to output the media type at all? It is a configurable flag (for this subcommand) and has a default so it shouldn't be a mystery to the caller

Or just use the logging library, other ctr commands use that as well

@estesp @dmcgowan sorry for late reply. I agreed to remove the output. It seems that it is not necessary. Updated.


Deprecate Aurora Editor Tabbar Style

Summary
Deprecate Aurora Editor Tabbar Style
Changes Made
Removed Aurora Editor Tabbar Style
TODO
Remove grey background color of tab https://github.com/AuroraEditor/AuroraEditor/issues/755
Motivation
None
Testing
None
Screenshots/GIFs

Checklist
Please ensure all of the following are completed before submitting the PR:

[x] Code has been tested and verified.
[x] Documentation has been updated to reflect the changes.
[x] All tests pass successfully.
[x] Code follows the project's coding guidelines and style.
[x] The branch is up-to-date with the latest changes from the main branch.
[x] Reviewed by at least one other contributor.

Related Issues
This PR addresses the following issue(s): #749
Additional Notes
None

Thanks for submitting a pull request!
We will review it as soon as possible.

@aurora-care-bear please approve

Hey @0xWDG,
Thanks for your contribution.
Your PR has been merged!
Your name will appear on https://auroraeditor.com/#contributors in a few moments, if you have contributed to the editor.
Thanks again for your contribution!
Kind Regards,
Aurora Editor Team.


group by docs

This wasn't easy for me to figure out from the docs.
Curious: any interest in allowing a string to be passed to group_by as the function? i.e.
group_by("age", [{"age": 10, "name": "Alice"}])

if the seq elements are a dictionary, "age" could be automatically converted into an itemgetter. Feels more intuitive to me.

group_by() already transforms various non-callables including string to functions, i.e. string is transformed as regex match, see https://funcy.readthedocs.io/en/stable/extended_fns.html
While I support examples in docs yours

Makes sense, closing!


Add Schulte Table Game

Schulte table game is a great game to improve your peripheral vision and speed reading.
This game consists of pressing the numbers in ascending order (starting from 1) in the shortest time possible.
There are 8 levels of difficulty in which the player must select the one he/she prefers.

A great addition indeed... Thanks for the contribution


Add Spinners

https://github.com/yangshun/awesome-spinners
Showcase of different spinner implementations in CSS and/or JS.
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title.For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with these requirements:

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Has the Awesome badge on the right side of the list heading,
Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

Each link description starts with an uppercase character and ends with a period.Example: - [AVA](…) - JavaScript test runner.
Drop all the A / An prefixes in the descriptions.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

This link is broken: CodePen Collecter #2 by Ilya Pestov (Demo + Source)

Thanks for the review. Have ran awesome-bot and made sure all links are fixed.

Showcase of different spinner implementations in CSS and/or JS.

It's not really a showcase when you can't see any of them. Would be nice to show an animated GIF. At least for the coolest one.


fix: husky pre-commit hook

It seems we didn't need to get too smart with the pre-commit hook running the prettier.
npx pretty-quick --staged is smart enough to know which of the staged files it modifies, and stages them again after prettying.

:) Yeah this works for me.


Add browser field to package.json

The browser field provides as a hint to bundlers when packaging this library. This lets isomorphic applications import this library using the same import path in both the browser bundle and in Node, which is useful when the target environment is not known.

Thanks for the contribution! Will follow up shortly, but this looks 👍💯 to me.


LightGBM\include\LightGBM/utils/common.h(33,10): fatal error C1083: Cannot open include file: 'fast_double_pa rser.h': No such file or directory

Hi,
The latest version fails to compile. Someone removed a file?
LightGBM\include\LightGBM/utils/common.h(33,10): fatal error C1083: Cannot open include file: 'fast_double_pa
rser.h': No such file or directory

There are access issues
D:\Source\LightGBM>git submodule update --init --recursive
Cloning into 'D:/Source/LightGBM/external_libs/eigen'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'https://gitlab.com/libeigen/eigen.git' into submodule path 'D:/Source/LightGBM/external_libs/eigen' failed
Failed to clone 'external_libs/eigen'. Retry scheduled
Cloning into 'D:/Source/LightGBM/external_libs/eigen'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'https://gitlab.com/libeigen/eigen.git' into submodule path 'D:/Source/LightGBM/external_libs/eigen' failed
Failed to clone 'external_libs/eigen' a second time, aborting

Did you make some modifications to LightGBM? I'm surprised to see any errors about SSH<EMAIL_ADDRESS>issues cloning Eigen... LightGBM uses an HTTPS remote for Eigen.
https://github.com/microsoft/LightGBM/blob/e9a6c798071632f0e9bdf4c5fa2fdf16bfd5eb36/.gitmodules#L4-L6
And the repository at https://gitlab.com/libeigen/eigen absolutely exists and is publicly available.
What happens if you simply run this?
git clone https://gitlab.com/libeigen/eigen external_libs/eigen

I've edited your post to make the difference between code, output from code, and your own words clearer. Please see https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax if you're not familiar with editing text on GitHub.

Did you make some modifications to LightGBM? I'm surprised to see any errors about SSH<EMAIL_ADDRESS>issues cloning Eigen... LightGBM uses an HTTPS remote for Eigen.
https://github.com/microsoft/LightGBM/blob/e9a6c798071632f0e9bdf4c5fa2fdf16bfd5eb36/.gitmodules#L4-L6
And the repository at https://gitlab.com/libeigen/eigen absolutely exists and is publicly available.
What happens if you simply run this?
git clone https://gitlab.com/libeigen/eigen external_libs/eigen

I've edited your post to make the difference between code, output from code, and your own words clearer. Please see https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax if you're not familiar with editing text on GitHub.

This worked and required a password entry for the public key. I got around this by cloning on Ubuntu and moving the files to Windows...

and required a password entry for the public key

There shouldn't be any "public key" or other SSH details used in any part of this process...everything should be using only HTTPS to clone, and shouldn't require any authentication.
Maybe your git client is configured to redirect HTTPS remotes to their SSH equivalents with .insteadOf entries, like this: https://stackoverflow.com/a/11383587/3986677. You could look in ~/.gitconfig (I'm not sure what the equivalent is on Windows) to see if you have any entries like that. Or maybe you are using a managed machine from an employer where that's happening automatically, I'm not sure.
But either way, I don't believe this is something LightGBM can change. If your git client is rewriting HTTPS remotes to SSH ones, you'll need to create an account on GitLab and add SSH keys to it, following https://docs.gitlab.com/ee/user/ssh.html. Or you'll need to get your git client to stop doing that.

and required a password entry for the public key

There shouldn't be any "public key" or other SSH details used in any part of this process...everything should be using only HTTPS to clone, and shouldn't require any authentication.
Maybe your git client is configured to redirect HTTPS remotes to their SSH equivalents with .insteadOf entries, like this: https://stackoverflow.com/a/11383587/3986677. You could look in ~/.gitconfig (I'm not sure what the equivalent is on Windows) to see if you have any entries like that. Or maybe you are using a managed machine from an employer where that's happening automatically, I'm not sure.
But either way, I don't believe this is something LightGBM can change. If your git client is rewriting HTTPS remotes to SSH ones, you'll need to create an account on GitLab and add SSH keys to it, following https://docs.gitlab.com/ee/user/ssh.html. Or you'll need to get your git client to stop doing that.

Alright, thanks so much for all that detailed info!


net: tests fail when building within a docker container (tip)

Not sure if this is a known, temporary or unknown issue, so I thought I'd report it.
I've tried to build Go (master) fully within a docker container, using 1.4.3 as the bootstrapper, but the ./all.bash fails on the net package with the following errors:
--- FAIL: TestReadLine (0.00s)
	parse_test.go:24: open /etc/services: no such file or directory
--- FAIL: TestLookupPort (0.00s)
	port_test.go:60: LookupPort("tcp", "echo") = 0, unknown port tcp/echo; want 7
	port_test.go:60: LookupPort("tcp", "discard") = 0, unknown port tcp/discard; want 9
	port_test.go:60: LookupPort("tcp", "systat") = 0, unknown port tcp/systat; want 11
	port_test.go:60: LookupPort("tcp", "daytime") = 0, unknown port tcp/daytime; want 13
	port_test.go:60: LookupPort("tcp", "chargen") = 0, unknown port tcp/chargen; want 19
	port_test.go:60: LookupPort("tcp", "ftp-data") = 0, unknown port tcp/ftp-data; want 20
	port_test.go:60: LookupPort("tcp", "ftp") = 0, unknown port tcp/ftp; want 21
	port_test.go:60: LookupPort("tcp", "telnet") = 0, unknown port tcp/telnet; want 23
	port_test.go:60: LookupPort("tcp", "smtp") = 0, unknown port tcp/smtp; want 25
	port_test.go:60: LookupPort("tcp", "time") = 0, unknown port tcp/time; want 37
	port_test.go:60: LookupPort("tcp", "domain") = 0, unknown port tcp/domain; want 53
	port_test.go:60: LookupPort("tcp", "finger") = 0, unknown port tcp/finger; want 79
	port_test.go:60: LookupPort("udp", "echo") = 0, unknown port udp/echo; want 7
	port_test.go:60: LookupPort("udp", "tftp") = 0, unknown port udp/tftp; want 69
	port_test.go:60: LookupPort("udp", "bootpc") = 0, unknown port udp/bootpc; want 68
	port_test.go:60: LookupPort("udp", "bootps") = 0, unknown port udp/bootps; want 67
	port_test.go:60: LookupPort("udp", "domain") = 0, unknown port udp/domain; want 53
	port_test.go:60: LookupPort("udp", "ntp") = 0, unknown port udp/ntp; want 123
	port_test.go:60: LookupPort("udp", "snmp") = 0, unknown port udp/snmp; want 161
	port_test.go:60: LookupPort("udp", "syslog") = 0, unknown port udp/syslog; want 514
FAIL
FAIL	net	2.097s

Ok, seems that the stock Ubuntu docker image doesn't contain the netbase package which contains the /etc/services/ file.  Closing.


Dnsmasqconf patch

Description of the change

Benefits

Possible drawbacks

Applicable issues

fixes #

Additional information

Apologies, wrong repository


Disregard any metadata beginning with an underscore

Trying v2.7.1 here. I was reading up on the metadata tag in the bicep repro, and it was mooted that they should be ignoring any metadata that begins with an underscore in output. It would be handy if the bicep documentation did the same? That way, I could set my final metadata tag to perhaps be some sample code, and it wouldn't break the trailing (and un-necessary) _generator tag

I can agree with the argument that any metadata generated by the compiler when generating the markdown doesn't really belong in the markdown, let's remove that.
However, that won't really do what you are after since the last pipe char ( | ) that represents the end of a table cell will still be generated. A better solution might be to have some kind of reserved metadata names and prefixes like 'ModuleDescription' or 'example_*' that would be documented under specific headers instead of the general metadata table. There is however a risk that this would be a breaking change.
We might revisit this given enough interest.


Fix http/https only detection

This was a mistake that the httpsOnly logic was added to the http method. This is a fix for the breaking change in #1655

Thanks @gazben


Struct of arrays

(or any user-defined type). If the type of each member of a struct can be passed to a parallel_for, I should also be able to pass a struct of such types. This came up because I wanted to use something like this:
mutable struct Q
    h::JACC.Array{Float64,1}
    k::JACC.Array{Float64,1}
    l::JACC.Array{Float64,1}
    w::JACC.Array{Float64,1}
end

and pass an instance of this to a parallel_for. This is fine with the "threads" backend, but CUDA complains that this struct is not isbits.

Thanks @PhilipFackler, from our discussion would you post the structure that worked that got passed to parallel_for? Tuple?

mwe_tuple.txt
mwe_struct.txt
The struct version does not work. The tuple version works.

So far, to my knowledge the only way to do this is with Adapt.adapt_structure. But for it to work the struct has to be parameterized with the array type. This can get ugly if there are multiple different kinds of arrays or if the element type(s) is also a parameter.


Branching on Effect value and a Selector can break reactivity when Effect value is checked first

Describe the bug
It seems like the selector is completely ignored by an effect function if it's not evaluated on the first run.
In my real use case, I needed an effect that scrolls an item into view when it is selected. This does not make sense to do on the first render, only when menu items are clicked by the user.
Your Example Website or App
https://stackblitz.com/edit/solidjs-templates-kcmqlk?file=src/App.tsx
Steps to Reproduce the Bug or Issue
Click the buttons [A, B, C, D]
Expected behavior
Additional log entries appear as the createEffect function runs again and again.
Screenshots or Videos
No response
Platform

OS: Windows, Linux
Browser: Chrome
Version: 110.0.5481

Additional context
No response

If you don't read from a signal, you won't subscribe to it. This applies to selectors as well.
So even if you don't want to perform any action on the first run, you should subscribe to the sources you want to track, so they can trigger the effect next time they update.

It is disappointing that the compiler is not able to track dependencies in such cases.
The on hint is pretty useful though, my use case benefits from the defer option as well. Thank you!
One thing that's still not clear at all is how to use on with a selector?
In the docs, signal a is passed to the on helper, it is just an accessor function, that will be evaluated and the results will go to the effect function as v, but a selector is different, it needs an argument, right?
Can you provide a code sample of how my createEffect call can be rewritten to use on with the selector?

It is disappointing that the compiler is not able to track dependencies in such cases.

reactivity is fully runtime, so it has to run at least once to track dependencies

Can you provide a code sample of how my createEffect call can be rewritten to use on with the selector?

const [selectedId, setSelectedId] = createSignal(0)
const isIdSelected = createSelector(selectedId)

createEffect(on(
  () => isIdSelected(index),
  isSelected => {
    console.log(isSelected)
  },
  { defer: true }
))

reactivity is fully runtime

Disappointing, but good to know 👍
A code example like this from a contributor definitely helps relieve my anxiety about any more dependency tracking issues.
Thank you again for your very fast and helpful responses 🙏


(Don't Merge Yet) New GLAD for production

This is a disposable branch for merging the new GLAD layer to master, as we're not moving the new API to production in time for the August 2nd GLAD release. We might do a soft launch before the end of this week, but I'll need to find out from WRI first before we deploy this.
This introduces the following things that should be tested thoroughly before release:

new GLAD layer with tiles automatically generated by WRI
language selector for subscription emails
GLAD timeline uses dates from ArcGIS
Confirmed alerts toggle
GLAD coverage layer should also contain Brazil

Before deployment, we also need to copy over the GLAD layerspec changes from nuclear_hazard to the production table.

I'm going to close this one, as long as the new Glad layer will be deployed next monday


Include global RabbitMQ queue arguments in the LaGear::Worker.default_queue_args

This would allow us to set an things like x-expires or auto-delete attributes for all declared queues (see https://github.com/giftcardzen/vp-app/pull/647). Any workers that don't want the global arguments can override the default using LaGear::Worker.from_queue.

I just realized that this won't help us for auto-delete. :disappointed: auto-delete is not "queue arguments". It's part of the primary options has in the bunny gem (see here):

q  = ch.queue("bunny.examples.hello_world", :auto_delete => true)
This is going to be tricky because sneakers [doesn't](https://github.com/jondot/sneakers/blob/master/lib/sneakers/queue.rb#L41) allow you to pass in extra primary options:
```ruby
queue = @channel.queue(@name, :durable => queue_durable, :arguments => @opts[:arguments])

Looks like only a sneakers PR will allow us to use auto-delete (this goes for exclusive as well).
Do we want to try setting really long x-expires for Review Apps (staging environments)?

I create a sneakers issue for allowing more options besides durable: https://github.com/jondot/sneakers/issues/165.

Here's my PR for closing https://github.com/jondot/sneakers/issues/165: https://github.com/jondot/sneakers/pull/169.


Remove specs

Remove specs since catalina has been officially released!

@ddddxxx 主要的改变都在 Package.swift

Since there are no big changes, I will merge it directly, :-D


Add Home Energy Assessment Database

Insert URLs to the project here:
https://github.com/climate-cooperative/home-energy-assessment-database

[x] The projects is active, documented, open source licensed, shows usage from external parties and is directly targeting environmental sustainability. Find more details in the Contribution Guide.

All issues labeled as 'Good First Issue' of the project listed on OpenSustain.tech will be visible on ClimateTriage.com. This is a great way to welcome new community members to your project.

@rgraue @shilojones @jaretkeniston


InPlaceHolds - people need acces

Hi,
When people leave a company, there might be a in-Place hold on their mailbox. It is very common that their co-workers will need to access their mailbox, but not change anything.
So it would help a lot if users of active mailboxes could read the content of soft deleted mailboxes after being given access to them (Add-MailboxPermission).

@Tarjei99 Thank you for this feedback
I know the product teams are always looking for user feedback and how to make the OneDrive / SharePoint better. They keep a close tab on User Voice https://sharepoint.uservoice.com and if you don't mind it would be awesome if you could look through and give your input in User Voice and if you don't see a similar request already you could open one. Let us know and we can up-vote your request too.
Thank you for your contribution to make the docs better! Much appreciated!


Missing required architecture arm64

Can't compile the project for IOS after importing this SDK. Error:
Command CompileSwiftSources failed with a nonzero exit code
ld: warning: ignoring file /Users//Documents/Repo//build/ios/Debug-iphonesimulator/Flurry-iOS-SDK/Flurry_iOS_SDK.framework/Flurry_iOS_SDK, missing required architecture arm64 in file /Users//Documents/Repo//build/ios/Debug-iphonesimulator/Flurry-iOS-SDK/Flurry_iOS_SDK.framework/Flurry_iOS_SDK (2 slices)
Undefined symbols for architecture arm64:
"OBJC_CLASS$_FlurryParamBuilder", referenced from:
objc-class-ref in FlurryFlutterPlugin.o
"OBJC_CLASS$_FlurryCCPA", referenced from:
objc-class-ref in FlurryFlutterPlugin.o
"OBJC_CLASS$_FlurryUserProperties", referenced from:
objc-class-ref in FlurryFlutterPlugin.o
"OBJC_CLASS$_Flurry", referenced from:
objc-class-ref in FlurryFlutterPlugin.o
(maybe you meant: OBJC_CLASS$_FlurryFlutterPlugin)
"OBJC_CLASS$_FlurrySessionBuilder", referenced from:
objc-class-ref in FlurryFlutterPlugin.o
"OBJC_CLASS$_FConfig", referenced from:
objc-class-ref in FlurryFlutterPlugin.o
"OBJC_CLASS$_FlurryMessaging", referenced from:
objc-class-ref in FlurryFlutterPlugin.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Could you try exclude arm64 arch on App level in XCode project? as currently we are excluding arm64 for iOS simulator on sdk level.

Here are the build settings for excluded architecture

Will the simulator be supported in the future?  I can build to my device, but prefer to work in the simulator for the majority of the time and convenience

Is there a workaround to keep working with the simulator or do we need to exclude the flurry dependency entirely on the simulator?

Hello @jodymac and @blazer82 , you can try building the app on simulators with x86_64 architecture instead of arm64.

@blazer82 This procedure is an accommodation for how our native iOS SDK's set up. Since M1 machine brings new simulator slice (arm64) so does XCode >=12 available archs, our iOS SDK is excluding arm64 in podspec settings in order for non M1 machine to build on simulators (simulators can still run on x86_64). So this might require users to exclude arm64 for simulator in the build settings, because by default it is available archs on xcode >=12.

I was unable to get your suggestion to work as well.  I was a version behind, so I upgraded to the latest.  Same result.  I'm on Intel, macos Big sur 11.6.3, xcode 13.2.1.  Perhaps more detailed instructions as even your screenshots didn't match mine.  I can deal with having to run it on my device to test, but I don't want to have a second Flurry disabled branch/flavor solely just to be able to build and test all the other aspects of the app.  I use the simulator quite frequently and test multiple screen sizes before uploading to testflight.

@jodymac @blazer82 sorry for this issue. I was testing this and found the arm64 should be excluded for pods target as well. The built framework skipped our native sdk excluded archs, so that have to do it manually on non M1 machine

.

@hantao-flurrydev thank you! This seems to work when starting the app in Xcode. Somehow the changes on the flutter_flurry_sdk target seem to get lost when executing flutter run however. Any idea what might be the cause for this?

@hantao-flurrydev @Talgat777 @jodymac I could fix the issue by following the steps above and manually editing the file flutter_flurry_sdk.podspec.json inside the flutter_flurry_sdk. I also created a PR to hopefully fix this permanently.

Thanks everybody! The above workarounds have me working like I desired.  Hassle free.


Can't select text using shift-numpad

Describe the bug
In most web browsers and desktop applications, it is possible to select text by holding shift and one of the numpad keys 2, 4, 6 or 8 (up, left, right, top) or 7, 9, 1, 3 (home, pg up, end, pg down) assuming numlock is off.
However, Avalonia does not support this (although it supports shift-arrow key) in a simple application containing only a  and .
To Reproduce

Create a new app with just a  inside the  element.
Type text into the textbox
Try using shift-numpad(4) to select the left character - you can't.

Expected behavior
Can select text using numpad as described.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [Linux (Pop OS 22.04, built on Ubuntu)]
Version [0.10.18]

Additional context
Add any other context about the problem here.

Please try out preview1 that supports more text selection gestures

Not related to OP or their project but ran in to same/closely related issues in the current beta1.
Now if you try to select with shift up and down arrow the caret is limited to +- 1 line and keeps resetting. This behaves the same with either numpad or regular arrow keys.
Shift+Page up and page down that was expected from preview1 doesnt work (at all) either. Left/Right selection behaves as expected.
Home and end behaves differently depending on if you are holding shift for a selection or not. Holding shift causes double tapping 'End' to go (end of line/end of sentence) and equivalent for 'Home' to not work. However Ctrl+Shift+Home/End works as expected.
Reproducable with an otherwise empty window with a Textbox and a few paragraphs of text.