Ngen automated test

This PR describe in detail how automated test work in ngen repo.
Additions
doc/AUTOMATED_TEST.md
Removals

Changes

Testing

Viewing in the browser

Screenshots
Notes

Todos

Checklist

[x ] PR has an informative and human-readable title
[x ] Changes are limited to a single goal (no scope creep)
[x ] Code can be automatically merged (no conflicts)
[x ] Code follows project standards (link if applicable)
[ ] Passes all existing automated tests
[x] Any change in functionality is tested
[x ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[x ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist (automated report can be put here)

Target Environment support

[ ] Linux

Have made update according to your suggestions.
On Mon, Feb 26, 2024 at 3:03 PM Justin Singh-M. - NOAA <
@.***> wrote:

@.**** requested changes on this pull request.
In doc/AUTOMATED_TEST.md
https://github.com/NOAA-OWP/ngen/pull/726#discussion_r1503282693:

@@ -0,0 +1,40 @@
+# Github Automated Testing
+- What Is Automated Test and How to Start It
+- What Code Tests Are Performed
+- Local Testing
+- What to Do When a Test Fail

+## What Is Automated Test and How to Start It
+
+In ngen github repo, we use github actions/workflows (for an online reference, see for example) to automatically test the validity of commited codes by developers. The test is triggered when a developer pushes some codes to a branch in his ngen fork and creates a Pull Request. The successful test is marked by a green check mark, a failed test is marked by a red cross mark. If a test fails, you have to debug your codes (see What to Do When a Test Fail below) and commit and push to the same branch again and the automatic testing will restart in the Pull Request.
+
+## What Code Tests Are Performed
+
+- Unit tests: this includes every set of codes that serves a unique functionality. Unit test eveolves as new codes are added.
+- BMI (Basical Model Interface) based formulations tests including codes in C, C++, Fortran, and Python.
⬇ Suggested change
-- BMI (Basical Model Interface) based formulations tests including codes in C, C++, Fortran, and Python.
+- BMI (Basic Model Interface) based formulation tests for C, C++, Fortran, and Python.

In doc/AUTOMATED_TEST.md
https://github.com/NOAA-OWP/ngen/pull/726#discussion_r1503282918:

@@ -0,0 +1,40 @@
+# Github Automated Testing
+- What Is Automated Test and How to Start It
+- What Code Tests Are Performed
+- Local Testing
+- What to Do When a Test Fail

+## What Is Automated Test and How to Start It
+
+In ngen github repo, we use github actions/workflows (for an online reference, see for example) to automatically test the validity of commited codes by developers. The test is triggered when a developer pushes some codes to a branch in his ngen fork and creates a Pull Request. The successful test is marked by a green check mark, a failed test is marked by a red cross mark. If a test fails, you have to debug your codes (see What to Do When a Test Fail below) and commit and push to the same branch again and the automatic testing will restart in the Pull Request.
+
+## What Code Tests Are Performed
+
+- Unit tests: this includes every set of codes that serves a unique functionality. Unit test eveolves as new codes are added.
⬇ Suggested change
-- Unit tests: this includes every set of codes that serves a unique functionality. Unit test eveolves as new codes are added.
+- Unit tests: this includes every set of codes that serves a unique functionality. Unit test evolve as new codes are added.

In doc/AUTOMATED_TEST.md
https://github.com/NOAA-OWP/ngen/pull/726#discussion_r1503285086:

@@ -0,0 +1,40 @@
+# Github Automated Testing
+- What Is Automated Test and How to Start It
+- What Code Tests Are Performed
+- Local Testing
+- What to Do When a Test Fail

+## What Is Automated Test and How to Start It
+
+In ngen github repo, we use github actions/workflows (for an online reference, see for example) to automatically test the validity of commited codes by developers. The test is triggered when a developer pushes some codes to a branch in his ngen fork and creates a Pull Request. The successful test is marked by a green check mark, a failed test is marked by a red cross mark. If a test fails, you have to debug your codes (see What to Do When a Test Fail below) and commit and push to the same branch again and the automatic testing will restart in the Pull Request.
⬇ Suggested change
-In ngen github repo, we use github actions/workflows (for an online reference, see for example) to automatically test the validity of commited codes by developers. The test is triggered when a developer pushes some codes to a branch in his ngen fork and creates a Pull Request. The successful test is marked by a green check mark, a failed test is marked by a red cross mark. If a test fails, you have to debug your codes (see What to Do When a Test Fail below) and commit and push to the same branch again and the automatic testing will restart in the Pull Request.
+In the ngen github repo, we use github actions/workflows (for an online reference, see for example) to automatically test validity of committed codes by developers. The test is triggered when a developer pushes some code to a branch in their ngen fork and creates a Pull Request. The successful test is marked by a green check mark, a failed test is marked by a red cross mark. If a test fails, you have to debug your code (see What to Do When a Test Fail below) and commit/push to the same branch again. The automatic testing will restart in the Pull Request.

In doc/AUTOMATED_TEST.md
https://github.com/NOAA-OWP/ngen/pull/726#discussion_r1503287534:

+- Unit tests: this includes every set of codes that serves a unique functionality. Unit test eveolves as new codes are added.
+- BMI (Basical Model Interface) based formulations tests including codes in C, C++, Fortran, and Python.
+- Running ngen executable on example hydrofabric with various realistic modules/models, initial condition, and forcing data.

+## Local Testing
+
+We strongly recommend you run all the tests on your local computer before you push up the new codes to the branch in your fork. To be able to run the tests, when building the executables (for build with cmake see here), you need to set the test option to ON using cmake option:
+

-DNGEN_WITH_TESTS:BOOL=ON

+After build completes, assuming your build directory is cmake_build, you can check that the ngen executable is in cmake_build directory, and all unit test executables are in cmake_build/test directory. To run a unit test, for example, run the following command while in the top project directory:
+

./cmake_build/test/test_unit

+There are many other unit test executables you need to run for a complete test.
+To run a ngen test job, for example, using the data set in the data directory, and run the following command:
⬇ Suggested change
-To run a ngen test job, for example, using the data set in the data directory, and run the following command:
+For example, to run an ngen test job using the data set in the data directory, use the following command:

In doc/AUTOMATED_TEST.md
https://github.com/NOAA-OWP/ngen/pull/726#discussion_r1503290051:

./cmake_build/test/test_unit

+There are many other unit test executables you need to run for a complete test.
+To run a ngen test job, for example, using the data set in the data directory, and run the following command:
+

./cmake_build/ngen data/catchment_data.geojson '' data/nexus_data.geojson '' data/example_bmi_multi_realization_config.json

+To run a multi-processors job with MPI, please see a complete description in here
+
+## What to Do When a Test Fail
+
+- Before getting into debugging, first thing, we recommend that you perform all the necessary tests listed above on you local computer. If all tests are successful, then push up your codes to the intended branch in your fork.
+
+- Sometimes, some tests may fail even they have passed tests on local computer. If that happens, you have to look into details why they failed. To do that, click on the word Details in blue on the right for a particular test. This will open a window with detailed information for that particular test, the error information are usually near the bottom. You can scroll up and down the side bar for more information. you can also search by key workds in Search logs menu entry at the upper right corner.
+
+- Othertimes, if you are lucky (or unlucky depending on your perspective), the test may have failed due to time out or some unknown reasons, in that cases, you may rerun the test by placing the cursor on the test name, a cycling icon will appear and you can rerun your test by clicking on the icon. In any case, you may manually rerun any failed test by following procedure described above. But it is strongly recommended that you carefully examine the fail error first.
⬇ Suggested change
-- Othertimes, if you are lucky (or unlucky depending on your perspective), the test may have failed due to time out or some unknown reasons, in that cases, you may rerun the test by placing the cursor on the test name, a cycling icon will appear and you can rerun your test by clicking on the icon. In any case, you may manually rerun any failed test by following procedure described above. But it is strongly recommended that you carefully examine the fail error first.
+- Otherwise, if you are lucky (or unlucky depending on your perspective), the test may have failed due to time out or some unknown reasons. In those cases, you may rerun the test by placing the cursor on the test name, a cycling icon will appear and you can rerun your test by clicking on the icon. In any case, you may manually rerun any failed test by following procedure described above. But, it is strongly recommended that you carefully examine the error first.

In doc/AUTOMATED_TEST.md
https://github.com/NOAA-OWP/ngen/pull/726#discussion_r1503290977:

@@ -0,0 +1,40 @@
+# Github Automated Testing
+- What Is Automated Test and How to Start It
+- What Code Tests Are Performed
+- Local Testing
+- What to Do When a Test Fail

+## What Is Automated Test and How to Start It
⬇ Suggested change
-## What Is Automated Test and How to Start It
+## What Are Automated Tests and How to Start Them

In doc/AUTOMATED_TEST.md
https://github.com/NOAA-OWP/ngen/pull/726#discussion_r1503292985:

+After build completes, assuming your build directory is cmake_build, you can check that the ngen executable is in cmake_build directory, and all unit test executables are in cmake_build/test directory. To run a unit test, for example, run the following command while in the top project directory:

./cmake_build/test/test_unit

+There are many other unit test executables you need to run for a complete test.
+To run a ngen test job, for example, using the data set in the data directory, and run the following command:
+

./cmake_build/ngen data/catchment_data.geojson '' data/nexus_data.geojson '' data/example_bmi_multi_realization_config.json

+To run a multi-processors job with MPI, please see a complete description in here
+
+## What to Do When a Test Fail
+
+- Before getting into debugging, first thing, we recommend that you perform all the necessary tests listed above on you local computer. If all tests are successful, then push up your codes to the intended branch in your fork.
+
+- Sometimes, some tests may fail even they have passed tests on local computer. If that happens, you have to look into details why they failed. To do that, click on the word Details in blue on the right for a particular test. This will open a window with detailed information for that particular test, the error information are usually near the bottom. You can scroll up and down the side bar for more information. you can also search by key workds in Search logs menu entry at the upper right corner.
⬇ Suggested change
-- Sometimes, some tests may fail even they have passed tests on local computer. If that happens, you have to look into details why they failed. To do that, click on the word Details in blue on the right for a particular test. This will open a window with detailed information for that particular test, the error information are usually near the bottom. You can scroll up and down the side bar for more information. you can also search by key workds in Search logs menu entry at the upper right corner.
+- Sometimes, tests may fail even when they have passed locally. If that happens, you have to look into the details of why they failed. To do that, click on the word Details in blue on the right for a particular test. This will open a window with detailed information for that particular test, the error information are usually near the bottom. You can scroll up and down the side bar for more information. You can also search by key words in Search logs menu entry at the upper right corner.
—
Reply to this email directly, view it on GitHub
https://github.com/NOAA-OWP/ngen/pull/726#pullrequestreview-1901970055,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACA4SROHB65KHWGREXOZJ3DYVTZ77AVCNFSM6AAAAABDBZMQOGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTSMBRHE3TAMBVGU
.
You are receiving this because you were assigned.Message ID:
@.***>


Create a source generator to register service in DI

This example shows three Implementations that needs to be registered into dependency injection.
[AddFactory(FactoryScope.Transient)]
public class SomeImplementation : SomeInterface
{
}

[AddFactory(FactoryScope.Transient, SomeInterface)]
public class AnotherImplementation : SomeInterface, SomeOtherInterface
{
}

[AddFactory(FactoryScope.Transient)]
public class AnotherClass
{
}

The source generator results in
public static class ServiceRegistry
{
    public static void RegistorServices(IServiceCollection service)
    {
        // Add a service of type SomeInterface with the implementation type SomeImplementation using a scoped lifetime
        services.AddFactory<SomeInterface, SomeImplementation>(FactoryScope.Scope);

        // Add another service of type SomeInterface with the implementation type AnotherImplementation using a scoped lifetime
       services.AddFactory<SomeInterface, AnotherImplementation>(FactoryScope.Scope);

       // Add a service of type AnotherClass using a transient lifetime
       services.AddFactory<AnotherClass>(FactoryScope.Transient);
    }
}

The class and the method will always be available even if no attributes are found.
The Initialize method of the FactoryService class should be modified and a call to ServiceRegistry.RegistorServices added

This issue is being closed because development has been moved to the repo DependencyInjection.Toolkit

This issue is being closed because development has been moved to the repo DependencyInjection.Toolkit


Getting internal server error when trying to save meta

I've called playground gittp in this url:
https://gittp.playground.tweek.host/api/content/meta/content/14589_facetime-not-working-ios_isenabled.json

With the following payload:
{ commit_message: 'meta for rule for 14589_facetime-not-working-ios',
  content:
   { key_path: 'content/14589_facetime-not-working-ios_isenabled',
     meta:
      { name: 'content/14589_facetime-not-working-ios_isenabled',
        tags: [],
        description: '',
        archived: false },
     implementation: { type: 'file', format: 'jpad' },
     valueType: 'string',
     dependencies: [],
     enabled: true } }

And I get status code 400 with the message "internal server error"

My bad, forgot to stringify the JSON


Instructions to Upgrading To 1.1 are out-dated as Google API's has changed

See github issue: https://github.com/rainlab/googleanalytics-plugin/issues/102
@LukeTowers @daftspunk

Just tried to continue installation and notice that this plugin completely doesn't work with Google Analytics.
See my comment here: https://github.com/rainlab/googleanalytics-plugin/issues/101#issuecomment-727250601
Therefore the part:
The Profile ID number has also changed, follow these settings to find the new one:

1. In a new tab, navigate to the main [Google Analytics site](https://www.google.com/analytics/web/) and select the property you want to track.
1. Click the **Admin** main menu tab again and select **View > View Settings** from the menu. *Copy to your clipboard* the Profile ID (should be a number).
1. Paste this number in the **Analytics View/Profile ID number** field in the October back-end settings form.

Is completely wrong and doesn't exist anymore!
This plugin no longer works with Google Analytics.

This plugin doesn't appear to work with Google Analytics 4, it still works just fine with universal analytics AFAIK. I'm personally not convinced at this time it's worth supporting Google Analytics 4, but that's probably just because I haven't used it yet. If Google's going to be heavily pushing GA4 down my throat then I'm going to be more closely evaluating competing products like Matomo

The problem is we're using this plugin: https://octobercms.com/plugin/bedard-analyticsextension

Before installing the Google Analytics Extension plugin, make sure your project already has the RainLab Google Analytics plugin installed and configured. Once this is done, you're ready to start creating your perfect dashboard. Here are some examples to get you started...

This allows GA to be displayed in the dashboard.
Google's moving all GA to version 4 (it's because GA3 and below don't fully pass GDPR). So they soon will turn off GA3.
Most people use and will continue to use GA, see below Analytics Usage Distribution in the Top 10 Million Sites:
Google Analytics Usage Statistics: 87.24%
Matomo Usage Statistics: 1.83%

When exactly are they going to "turn off" universal analytics?

@LukeTowers

When exactly are they going to "turn off" universal analytics?

From what I've seen so far doing some research, it seems like they are going to be turning off the following:

Universal Analytics Tracking ID (which begins with "UA-") will be turned off and replaced with Measurement ID (which begins with "G-").

analytics.js will be turned off and replaced with gtag.js

PROPERTY ID seems to be removed and I can't find a replacement? Seems like it's changed to either Measurement ID or STREAM ID

Measurement Protocol API has changed from v3 to v4. However, v4 is in Aplha, see here: , see here: https://developers.google.com/analytics/devguides/collection/protocol/ga4

AMP-HTML <amp-analytics> now doesn't work at all and after an issue we opened Google added this pr: https://github.com/ampproject/amphtml/pull/31095/files

Google's most popular Analytics extension / plugin for Google Analytics called: AutoTrack

They have turned off, see here: https://github.com/googleanalytics/autotrack/commit/646e079dbdad6dfb698d1fb4b5047d7edfcb07ef

GDPR, in v3 the data didn't pass and in v4 various changes were automatically set.

Probably lots more things.
Universal Analytics versus Google Analytics 4 data: https://support.google.com/analytics/answer/9964640?hl=en
Google Analytics Release Logs: https://support.google.com/analytics/answer/9164320?hl=en&ref_topic=9143232

Gonna answer your question and leave it in the issue, see here: https://github.com/rainlab/googleanalytics-plugin/issues/101#issuecomment-727970834
I rather keep this pr related to just the Google Developers Console and not the GA4 - to keep things tidy and in a single place.

Gonna answer your question and leave it in the open ga4 github issue, see here: https://github.com/rainlab/googleanalytics-plugin/issues/101#issuecomment-727970834
I rather keep this pr related to just the Google Developers Console and not the GA4 - to keep things tidy and in separate places.


bye: fix typo

Capitalize the word have here: https://github.com/the-vision/jarvis-telegram/blob/master/modules.py#L28
Only for first-time contributors in this repo.

Hi, can you grant me access to push to the repository? I have created a branch but I can't push.
thank you.

@dharmykoya you have to just create a PR.


[Draft][FFI] Propagate Python errors across FFI boundaries

Prior to this commit, if a Python script passes a callback to a C++ function, and that callback raises an exception, the original exception cannot be caught in the outer python script.  As a result, interactive debugging, such as done with pdb or ipdb, could only inspect stack frames outside the first Python to C++ FFI call.
This commit updates the FFI API to propagate the Python exception through an FFI boundary.  As a result, all Python frames in the stack trace can be inspected.

Currently marked as a draft to test for breakages.  If possible, it would be good to suppress the packed_func.py stack frames, and to represent any C++ frames within the Python stack trace.

The implementation is now updated to insert empty dummy frames representing the C++ portions of the stack trace.  Variables are only interactive within Python stack frames, but ipdb does provide a snippet of the surrounding C++ source code when navigating up/down through the C++ frame.

This PR seems to cause an issue here https://github.com/apache/tvm/issues/15880

NOTE: there has been multiple reports related to TVMGetLastPythonError not found in windows. Looking at this PR, we should have TVM_DLL marked for all the C API functions that get referenced in the ctypes.
Atm we only marks TVMSetLastPythonError, we will need to mark the rest for the feature to function properly in windows

I have a quick hotfix made here, which can be used for validating the TVM_DLL insertions required.


another list2 bug

If itemData is not passed in, items don't get re-rendered when their props change.

Let's discuss. We might not want this


vite build failed

Describe the bug
❯ pnpm run build

><EMAIL_ADDRESS>build /home/ian/templates/react
> tsc && vite build

vite v3.0.5 building for production...
✓ 19 modules transformed.
Unexpected token (Note that you need plugins to import files that are not JavaScript)
file: /home/ian/templates/react/src/pages/MyPage.tsx:29:11
27:         <p>
28:           import.meta.env:
29:           {JSON.stringify(import.meta.env)}
               ^
30:         </p>
31:       </div>
error during build:
Error: Unexpected token (Note that you need plugins to import files that are not JavaScript)
    at error (file:///home/ian/templates/react/node_modules/.pnpm/rollup@2.77.2/node_modules/rollup/dist/es/shared/rollup.js:1858:30)
    at Module.error (file:///home/ian/templates/react/node_modules/.pnpm/rollup@2.77.2/node_modules/rollup/dist/es/shared/rollup.js:12412:16)
    at Module.tryParse (file:///home/ian/templates/react/node_modules/.pnpm/rollup@2.77.2/node_modules/rollup/dist/es/shared/rollup.js:12789:25)
    at Module.setSource (file:///home/ian/templates/react/node_modules/.pnpm/rollup@2.77.2/node_modules/rollup/dist/es/shared/rollup.js:12694:24)
    at ModuleLoader.addModuleSource (file:///home/ian/templates/react/node_modules/.pnpm/rollup@2.77.2/node_modules/rollup/dist/es/shared/rollup.js:22136:20)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
 ELIFECYCLE  Command failed with exit code 1.

Reproduction
https://github.com/ianzone/react-template
System Info
System:
    OS: Linux 5.10 Ubuntu 20.04.4 LTS (Focal Fossa)
    CPU: (8) x64 Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
    Memory: 11.87 GB / 12.36 GB
    Container: Yes
    Shell: 5.8 - /usr/bin/zsh
  Binaries:
    Node: 18.7.0 - /home/linuxbrew/.linuxbrew/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 8.15.0 - /home/linuxbrew/.linuxbrew/bin/npm
  npmPackages:
    @vitejs/plugin-react: ^2.0.0 => 2.0.0
    vite: ^3.0.5 => 3.0.5

Used Package Manager
pnpm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I realized it caused by import.meta.env text, remove or comment out will works

I realized it caused by import.meta.env text, remove or comment out will works

yes, it works, but it's weird that this string would cause the error.

#8663 Here is an issue about this.

Is there any way to fix it ? i can't configure multiple environment variables in my project due to this bug


PHP Compatibility fix

:tada: This PR is included in version 1.2.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


I have a PR: Export to .csv

Hey! I love this script, I use it all the time. I added a small util for converting the html into structured .csv. I have a PR for it, would I be able to contribute?

Hello! Thank you for your feature request.
The feature you propose (exporting the comments to a CSV instead of generating an HTML structure) is indeed interesting – and I think it would be a good idea to implement them in the tool. I wrote my comments on your pull request.
This idea looks closely related to another issue present on the web version of RedditArchiver ( https://github.com/Ailothaen/RedditArchiver/issues/2 ). Instead of just implementing a --csv option, I could imagine a --format option that would allow us to use a different HTML layout or a different format (such as CSV or JSON). This needs a refactoring of the way RedditArchiver generates the HTML structure, but I will probably get to it at some point (soon™). In the meantime, I suggest to use another tool such as https://github.com/Serene-Arc/bulk-downloader-for-reddit which typically exports to JSON.


clubDocs

TASK TITLE
Make the Documents section
Changes
Made the Documents in views file, updated navView, index.ts.
Deployment

Bullet list of changes to deployment

Checklist

[] Your code builds clean without any errors or warnings
[ ] Code has been formatted (clang-format, cmake-format, black, prettier, rustfmt, etc)
[] Where possible, unit tests have been added
[ ] Code is well-commented & understood

Couple things:

Make sure to run npm run lint before you commit your code. The formating is a little weird in some places and lint will fix that for you
It looks like you have installed a lot of NMP packages, but are not using any of them
I don't at all mid at all the idea of linking the pdfs, rather than trying to display them in our website. The styling is a little wonky, but I can help you with that tomorrow after the meeting if you like
You are using a script to display all of the pdfs, but it might just be easier and make to hard code them in html, and not use the script

Closed in favor of #18


Running plugin outside of integration test

When following the instructions and running mvn verify the wiremock instance if started properly with the params specified in the pom.xml. But when running just: mvn wiremock:run it seems to start a wiremock instance on port 8080, which I assume is the default one, so it seems it is ignoring the params in the pom.xml. How do I start a wiremock instance which is configured in my pom.xml:
<plugin>
	<groupId>uk.co.deliverymind</groupId>
	<artifactId>wiremock-maven-plugin</artifactId>
	<version>2.3.0</version>
	<executions>
		<execution>
			<goals>
				<goal>run</goal>
			</goals>
			<configuration>
				<dir>target/classes</dir>
				<params>--port=9923 --verbose --local-response-templating</params>
			</configuration>
		</execution>
	</executions>
</plugin>

Hi @ShahinKordasti, thanks for your question. You can achieve what you want by moving configuration section to the plugin scope:
<plugin>
	<groupId>uk.co.deliverymind</groupId>
	<artifactId>wiremock-maven-plugin</artifactId>
	<version>2.3.0</version>
	<configuration>
		<dir>target/classes</dir>
		<params>--port=9923 --verbose --local-response-templating</params>
	</configuration>
</plugin>

If you run it with mvn:wiremock:run, I don't think you'll then even need executions section.
Does it solve your problem?

It did but I was expecting the plugin to start wiremock up and keep it running, so you can run your tests in your IDE. But it just starts and then immediately stops which is not very useful. Is this intended behaviour and, if so, it would be useful to give it a flag, like wait, to keep it running.

Hi @ShahinKordasti if you want to run WireMock outside of Maven lifecycle, why wouldn't you use WireMock Standalone JAR?

I guess the same reason as why you have embedded tomcat instead of an external one. That way not  people can run the tests in IDE and not everyone has to install wiremock as it would be handled by Maven.

Hi @ShahinKordasti, requested functionality is available in version 2.5.0 which has just been released and should be available from Maven Central shortly.


.net Core 2.2 -  Generate RouteData from Url path

Hello,
I'm looking for documentation on the new endpoint routing system. I'm upgrading from .net core 2.1 to 2.2. I have a scenario where I need to generate the RouteData object from a url path.
I could not get it to work with IUrlHelper.
Thanks!

I am having the same issue after scaffolding the Identity. The callbackUrl always returns null. Page: Register.cshtml.cs
var callbackUrl = Url.Page(
"/Account/ConfirmEmail",
pageHandler: null,
values: new { userId = user.Id, code = code },
protocol: Request.Scheme);

I also would like to do this. How can we get a collection of routers in the new route system?

Ok. So i dont know about @rynowak but I use conventional route patterns. I know everyone loves attribute routing but I don't see the appeal but I believe this approach could work with that as well. What I am doing now is after registering the routes in the UseMvc extension method like this
 app.UseMvc(routes => {
                routes.MapRoute(
                    name: "Default",
                    template: "{action}",
                    defaults: new { controller = "Home", action = "Index" }
                );

I then loop the routes collection here and add the route templates to an internal static collection in the startup.cs class. Then I can access all the templates anywhere in the code and match them using the matcher. This allows me to get a collection of route values and a match from a path string like "/Home/Index". I cannot help feeling there should be an easier way...
   using Microsoft.AspNetCore.Routing.Template;
     internal static List<RouteTemplate> MvcRoutes = new List<RouteTemplate>();
foreach (var route in routes.Routes) {
if (route is Route r) {
      MvcRoutes.Add(r.ParsedTemplate);
   }
}

Then I can access the registered route templates with Startup.MvcRoutes and subsequently use the pattern matcher to parse the path string.
Im a bit rushed at the moment but can I suggest maybe just reverting to populating RouteData.Routes ?

I've added a new singleton service that can be used to parse a URL path given an endpoint/route name. See #4597 for details. Coming soon to official docs.

That's brilliant thanks! I might be being a bit thick here but could you link to the implementation?

Oops it's https://github.com/aspnet/AspNetCore/pull/9728 - fixed my link, thanks


Presentation and error correction

Our presentation (pdf) and a short correction in our article.

Please move these files into your project directories.  You have conflicts with files in other project folders that I don't want to resolve.

Which files in other project folders?


Failed to initialize the device

Hello,
I got this:
Failed to initialize the device: Error: Networ Error: socket hang up at services.media.getProfiles (node_modules\node-onvif\lib\modules\device.js:464:12)  at promise.then.catch (node_modules\node-onvif\lib\modules\service-media.js:392:4) at<anonymous>
I try to launch example of Create OnvifDevice object:
'const onvif = require('node-onvif');
// Create an OnvifDevice object
let device = new onvif.OnvifDevice({
xaddr: 'http://IP:PORT/onvif/device_service',
user : 'xxxx',
pass : 'xxxx'
});
// Initialize the OnvifDevice object
device.init().then((info) => {
// Show the detailed information of the device.
console.log(JSON.stringify(info, null, '  '));
}).catch((error) => {
console.error(error);
});'
It gives me this error when I try to launch it on Windows Server 2012, but when I launch it on my pc (Win 10), it works fine. I tried to turn off firewall, make in and outbound rules, with no success. The camera has public is behind router and has forwarded ports.
Any help is appreciated.
EDIT So it turned out, that it doesn't work on my local pc either. It was connecting to my LAN IP cam, even though I typed IP address of public IP camera.
EDIT2 It is getting stranger, and stranger.  When I my local IP cam connected to router, the app can connect both to local, and public IP cam (I can tell by Hardware ID), but when I disconnect local IP camera, it suddenly can't connect to public camera. When I try snapshot app and type public IP it gets snapshot...from local IP camera.

I've not find the reason yet. I updated the node-onvif today. Though I'm not sure this issue is solved, try the latest version of the node-onvif.

@futomi I am able to discover the device properly but not able to connect it. It throws below error
Error: Failed to initialize the device: Error: 400 Bad Request - Sender not authorized
    at services.device.getCapabilities (/Users/Mishi/kiwi/repo/camera/node_modules/node-onvif/lib/modules/device.js:392:12)
    at promise.then.catch (/Users/Mishi/kiwi/repo/camera/node_modules/node-onvif/lib/modules/service-device.js:120:4)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

I have verified that username and password is correct. I am able to invoke ONVIF api through SOAP client with same username and password. I am using AXIS camera. Any idea what would be wrong ? Thanks in advance.

@futomi The issue is how your code authenticates to the camera. You should send the authentication in the header. You instead pass the user name and password in the body. It seams that you have this feature in http-auth.js but are using this module only in the .fetchSnapshot() function.
Is there a reason why you do it this way?

@davidgatti Thank you for your advice. I'll try to check the code this weekend.

Error: Failed to initialize the device: Error: 400 Bad Request - Sender not Authorized
at services.device.getDeviceInformation (C:\Users\tutor\Desktop\RTSP-STREAM\node_modules\node-onvif\lib\modules\device.js:453:12)
at promise.then.catch (C:\Users\tutor\Desktop\RTSP-STREAM\node_modules\node-onvif\lib\modules\service-device.js:853:4)
at process._tickCallback (internal/process/next_tick.js:68:7)

I have same problem can any one help me

Error: Failed to initialize the device: Error: 400 Bad Request - Sender not Authorized
at services.device.getDeviceInformation (C:\Users\tutor\Desktop\RTSP-STREAM\node_modules\node-onvif\lib\modules\device.js:453:12)
at promise.then.catch (C:\Users\tutor\Desktop\RTSP-STREAM\node_modules\node-onvif\lib\modules\service-device.js:853:4)
at process._tickCallback (internal/process/next_tick.js:68:7)

Normally this happens when the clock in your client and camera differs more than 5 secs. I've noticed that in my camera, and solved it by either syncing both camera and client to same NTP or disable the function of "replay attack protection" in the axis camera.

its because user not have permission for access

Error: Failed to initialize the device: Error: 400 Bad Request - Sender not authorized     at /Volumes/DATA/Web/Onvif/node_modules/node-onvif/lib/modules/device.js:396:12     at /Volumes/DATA/Web/Onvif/node_modules/node-onvif/lib/modules/service-device.js:120:4     at processTicksAndRejections (node:internal/process/task_queues:96:5)
It has still the same issue.
@futomi


Minimum chunk size

When OpenMP is enabled, the minimum chunk size can be 0. For example, I naively did this as a quick test:
CvtColor.cvt(<< 0,1,2,3,4,5>>, :bgr888, :bgr565)

I was about to send a PR to protect against 0 chunk sizes, but I feel like that's not the right fix. It seems like it should be quite a bit larger since there's overhead for multiple cores. And then I figured that powers of 2 chunk sizes would be preferable as well to avoid having all but the first chunk land on a nice memory boundary.
I figured that you might have an intuition as to what would be good size or perhaps what you'd like in the interim.

Hi, thanks for opening the issue! I didn't consider this condition before.
As a solution, I've added another argument to allow users to explicitly set the minimum chunk size. Because a lot of things can potentially affect the performance, it's really difficult to have an appropriate pre-defined value.
min_chunk_size = 65536
bgr565_data = CvtColor.cvt(binary_data, :bgr888, :bgr565, min_chunk_size)

In this way, users can benchmark the performance on their devices and choose the value that fits their requirements.

Some benchmark results from the GitHub workflows. It seems that min_chunk_size does not affect much on the x86_64 testing machine. I'll try to benchmark it on a Raspberry Pi 4 later.
USE_OPENMP=ON
omp_get_max_threads: 2
min_chunk_size: 65536
convert 7680x4320 for 100 times
convert from RGB888 => RGB666Compact: 54.89ms per convert
convert from RGB888 => RGB666: 30.42ms per convert
convert from RGB888 => RGB565: 36.29ms per convert
USE_OPENMP=ON
omp_get_max_threads: 2
min_chunk_size: 262144
convert 7680x4320 for 100 times
convert from RGB888 => RGB666Compact: 54.78ms per convert
convert from RGB888 => RGB666: 30.29ms per convert
convert from RGB888 => RGB565: 36.08ms per convert
USE_OPENMP=ON
omp_get_max_threads: 2
min_chunk_size: 1048576
convert 7680x4320 for 100 times
convert from RGB888 => RGB666Compact: 55.34ms per convert
convert from RGB888 => RGB666: 30.59ms per convert
convert from RGB888 => RGB565: 36ms per convert
USE_OPENMP=ON
omp_get_max_threads: 1
min_chunk_size: 65535
convert 7680x4320 for 100 times
convert from RGB888 => RGB666Compact: 55.52ms per convert
convert from RGB888 => RGB666: 30.06ms per convert
convert from RGB888 => RGB565: 71.74ms per convert

So I ran some benchmarks and it seems that chunk_size should be somewhere between 65536 and 1048576 (and should be a power of 2, ofc).


NetKAN should provide better diagnostics on license failure

Right now, netkan.exe provides a cryptic message if we index a mod
from KerbalStuff and can't understand the license:
$ netkan.exe Deltaglider.netkan
2979 [1] FATAL CKAN.NetKAN.Program (null) - Exception has been thrown by the target of an invocation.

I believe that this has been masked because on pull requests our test suite explicitly checks to see if there's a license field, or an x_netkan field assuring us that the license will be okay. However when manually working with files, the error can sure be confusing!
Desired behaviour: We provide a better error message when the license (or other fields) provide validation as part of the pipeline.

ooops, wrong repo.


"Rudeni", "Valea Bradului" are listed in the drop-down menu

Description:
When user writes "Rudeni" and "Valea Bradului" the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Rudeni"

Expected results
The location appears in the drop-down menu as "Rudeni, Argeș (Mihăești)"

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Valea Bradului"

Expected results
The location appears in the drop-down menu as "Valea Bradului, Argeș (Mihăești)"


Gh 1939 proxy store optional core handlers alt

DONT MERGE

Codecov Report

Merging #1978 into develop will decrease coverage by 0.01%.
The diff coverage is 75%.

@@              Coverage Diff              @@
##             develop    #1978      +/-   ##
=============================================
- Coverage      66.05%   66.03%   -0.02%
+ Complexity      2200     2196       -4
=============================================
  Files            885      885
  Lines          29030    29038       +8
  Branches        3623     3623
=============================================
  Hits           19175    19175
- Misses          8373     8381       +8
  Partials        1482     1482

Impacted Files
Coverage Δ
Complexity Δ

...java/uk/gov/gchq/gaffer/proxystore/ProxyStore.java
69.23% <75%> (-4.54%)
29 <6> (-4)

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 75373c8...72ecdff. Read the comment docs.


macOS cli binary

First of all, thanks for the very nice project.
Currently, there is no such version for darwin binary (macOS users). Can we please add to the build process?

Do you see any change apart from appending this list here?
https://github.com/c3os-io/c3os/blob/11158a12aa13b5181f9c16a5718db63b89a2f40b/.goreleaser.yaml#L7-L9

That's a good point, thanks for opening this up.
Last time I've checked there where some deps that weren't compatible with Darwin. I've take care of edgevpn, so now compiles on Darwin just fine.
But yup, that should be it to enable Darwin builds

What we could do here is disable screenshots on macOS - at least we could feed it with an image. thoughts @jimmykarily ?

What we could do here is disable screenshots on macOS as that doesn't builds statically - at least we could feed it with an image. thoughts @jimmykarily ?

Disabling screenshots is one approach. The other alternative would be to build a non static binary for macos. After all, that binary is not supposed to run in a container (these are all linux right?) so the dynamic libraries will be in place.

What we could do here is disable screenshots on macOS as that doesn't builds statically - at least we could feed it with an image. thoughts @jimmykarily ?

Disabling screenshots is one approach. The other alternative would be to build a non static binary for macos. After all, that binary is not supposed to run in a container (these are all linux right?) so the dynamic libraries will be in place.

True, however when I've tried that IIRC the screenshot lib requires some x code libs. I'm not a MacOS expert to be able to judge, but guess would take us to some hops

What we could do here is disable screenshots on macOS as that doesn't builds statically - at least we could feed it with an image. thoughts @jimmykarily ?

Disabling screenshots is one approach. The other alternative would be to build a non static binary for macos. After all, that binary is not supposed to run in a container (these are all linux right?) so the dynamic libraries will be in place.

True, however when I've tried that IIRC the screenshot lib requires some x code libs. I'm not a MacOS expert to be able to judge, but guess would take us to some hops

Not an MacOS expert here either. Maybe it's just about documenting the dependencies...

Hi @renanqts , we are steering away to require any CLI with https://github.com/kairos-io/kairos/issues/772 - so I think this issue might be not needed anymore. Do you think it would be enough and satisfy your use-cases?

Hey.
No no, we can close it. Thanks


kcl: 0.9.8 -> 0.10.0

Description of changes
Update kcl, kclvm and kclvm-cli to the latest version (v0.10.0)

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

[x] 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

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 345613 run on aarch64-darwin 1

3 packages failed to build:

kcl
kclvm
kclvm_cli

I received the following error when I built this package.
exporting https://github.com/kcl-lang/rust-protoc-bin-vendored (rev 53c1f87ffc3027642ea6b822025b1dc699a3135b) into /nix/store/vsf9ga9iy9y50dwg9c4yycd7qylxkmjd-rust-protoc-bin-vendored-53c1f87
Initialized empty Git repository in /nix/store/vsf9ga9iy9y50dwg9c4yycd7qylxkmjd-rust-protoc-bin-vendored-53c1f87/.git/
fatal: unable to access 'https://github.com/kcl-lang/rust-protoc-bin-vendored/': OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme
fatal: unable to access 'https://github.com/kcl-lang/rust-protoc-bin-vendored/': OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme
fatal: unable to access 'https://github.com/kcl-lang/rust-protoc-bin-vendored/': OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme
Unable to checkout 53c1f87ffc3027642ea6b822025b1dc699a3135b from https://github.com/kcl-lang/rust-protoc-bin-vendored.

OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme

Sorry, I haven't darwin to test, but your error looks like that and seems not related to kcl itself, more like to ca-bundle?

@momeemt Hey! Did you manage to run kcl on your macos?

@selfuryon @Peefy @momeemt
I could build locally no issue on darwin. I will update the comment in a bit with the outputs.

@selfuryon @Peefy @momeemt I could build locally no issue on darwin. I will update the comment in a bit with the outputs.
aarch64-darwin
sysctl kern.version
kern.version: Darwin Kernel Version 23.6.0: Mon Jul 29 21:14:30 PDT 2024; root:xnu-10063.141.2~1/RELEASE_ARM64_T6030

./result/bin/kcl --version
kcl version v0.10.0

Just a file to test that binary does something kcl related
cat pkgs/by-name/kc/hello.k
hello = "KCL 0.10.0"

./result/bin/kcl pkgs/by-name/kc/hello.k
hello: KCL 0.10.0

compilation
 git log
commit 7c0aa0521d0c350b3900eabbaf8a43cdd9ccf414 (HEAD, selfuryon/chore/kcl-update)
Author: Sergey Yakovlev<EMAIL_ADDRESS>Date:   Tue Oct 1 02:37:16 2024 +0300

    kcl: 0.9.8 -> 0.10.0
...

export NIXPKGS=/Users/xxxxx/Projects/cloned/nixpkgs
nix-build $NIXPKGS -A kcl
...
unpacking source archive /nix/store/2wy1ph0zzsapxf3fsl5s6y3cwp2ci3n7-source
source root is source
Running phase: patchPhase
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
Running phase: buildPhase
Building subPackage ./cmd/kcl
Running phase: checkPhase
?       kcl-lang.io/cli/cmd/kcl [no test files]
Running phase: installPhase
Running phase: fixupPhase
checking for references to /private/tmp/nix-build-kcl-0.10.0.drv-0/ in /nix/store/5z0rvlx639in2asmzyxmv6xr59xd7yn2-kcl-0.10.0...
patching script interpreter paths in /nix/store/5z0rvlx639in2asmzyxmv6xr59xd7yn2-kcl-0.10.0
/nix/store/5z0rvlx639in2asmzyxmv6xr59xd7yn2-kcl-0.10.0

> eza -lha --no-user result/bin
Permissions Size Date Modified Name
.r-xr-xr-x   71M  1 Jan  1970  .kcl-wrapped
.r-xr-xr-x  1.4k  1 Jan  1970  kcl

Thanks!

Result of nixpkgs-review pr 345613 run on aarch64-darwin 1

3 packages built:

kcl
kclvm
kclvm_cli

@NixOS/nixpkgs-merge-bot merge

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/2028


[VL] Add Scala 2.13 support

What changes were proposed in this pull request?
Add Scala 2.13 support
(Fixes: #6316)
How was this patch tested?
Build locally
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

@zhztheplayer Could you please review this PR? Thanks!

Prior to Spark 4.0, Scala 2.13 was not the default Scala version, and I personally do not recommend supporting it for Spark 3.x.

Thanks @LuciferYang, I think Scala 2.13 support is already added for CH backend, plan was to extend to VL backend as well, since the build fails when you enable -Pbackends-velox -Pscala-2.13, that was the plan, does that make sense.
FYI, the support for Scala 2.13 was added here already - #6311
cc: @zhztheplayer

@Preetesh2110 please take a look at failing CI and maybe also add a CI option to build with Scala 2.13

Thanks @LuciferYang, I think Scala 2.13 support is already added for CH backend, plan was to extend to VL backend as well, since the build fails when you enable -Pbackends-velox -Pscala-2.13, that was the plan, does that make sense.
FYI, the support for Scala 2.13 was added here already - #6311
cc: @zhztheplayer

Got

Do we need to have a test for Scala 2.13 (with Spark 3.5 probably) ? https://github.com/apache/incubator-gluten/blob/main/.github/workflows/velox_docker.yml

Thanks for the feedback. I have added a workflow @zhztheplayer.

Run Gluten Clickhouse CI

@Preetesh2110 Please fix the CI failures

@Preetesh2110
Thank you for keeping working on this!
BTW, in case you may wait for CI to be triggered, you can open a PR in your own repo to run CI if you want.

@Preetesh2110
Thank you for keeping working on this!
BTW, in case you may wait for CI to be triggered, you can open a PR in your own repo to run CI if you want.

Hey @zhztheplayer thanks for your message, how can I trigger the CIs, I have created a PR in my own repo Preetesh2110#1.

You can sync gluten's main branch to your own main branch, then open a PR targeting to your own main branch. The CI should be directly runnable.
Anyway you can still update here if it's OK for you to wait for CI to be triggered.
Once you have one PR merged you will not get blocked in your subsequent PRs.

@Preetesh2110 FYI, below mvn command can fix the style issues so this will not stop CI
https://github.com/apache/incubator-gluten/blob/main/docs/developers/NewToGluten.md?plain=1#L111
thanks, -yuan

@zhztheplayer please take a look, thanks!
cc: @weiting-chen


Filter posts containing mute words from search and notifications

Copies out the filtering and page reuse logic from post-feed.ts into these queries and applies post moderation to applicable data. This entirely filters out posts containing muted words from both search and from your notifications.

Let me ask you a question.
Since this change uses @atproto/api's ModerateAPI,
will it filter not only mute words, but also labeling, account mutes and blocks?

This is definitely a welcome change 🙏
Will it be a step towards fixing #3234? Or is that an entirely separate issue? 🤔


mgmt/mcumgr/lib: Fix zcbor_map_decode bulk

Fixed problem with uninitialized conditional variable.
Signed-off-by: Dominik Ermel<EMAIL_ADDRESS>

Discovered by: https://github.com/zephyrproject-rtos/zephyr/pull/44695


Issues downloading jmeter-plugins-manager

Thanks for creating an issue! Please fill out this form so we can be
sure to have all the information we need, and to minimize back and forth.

What are you trying to do?

Download jmeter-plugins-manager using URL https://search.maven.org/remotecontent?filepath=kg/apc/jmeter-plugins-manager/1.3/jmeter-plugins-manager-1.3.jar
curl https://search.maven.org/remotecontent?filepath=kg/apc/jmeter-plugins-manager/1.3/jmeter-plugins-manager-1.3.jar -O

What feature or behavior is this required for?

Sourcing a jar file

How could we solve this issue? (Not knowing is okay!)

Anything else?

The error returned is a 504 gateway timeout

Now returns a 502 Bad Gateway

Issue looks to be resolved now - the jar file is downloadable


Build and run the project with docker-compose

A Dockerfile for each server [ai, main] and docker-compose.yml would make development and deployment easier.
Instead of rebuilding the whole system via docker every development iteration, we would only build the parts that have been modified.

For anyone who is trying to get docker-compose working here, I did the following. Note that I already have an MQTT server I wanted to use on the same server, so I set up a bridge on the existing server I had to pull from the find3server's MQTT server.
 find3server:     image: schollz/find3     restart: unless-stopped     ports:         - "1889:1883"         - "8005:8003"     volumes:         - /home/mattie/Documents/volumes/find3/data:/data     environment:         MQTT_ADMIN: 'ADMIN_REPLACE_ME'         MQTT_PASS: 'PASSWORD_REPLACE_ME'         MQTT_SERVER: '<IP_ADDRESS>:1883'         MQTT_EXTERNAL: 'THE_IP_ADDRESS_THAT_THE_CLIENT_SHOULD_BE_TOLD_ABOUT'         MQTT_PORT: '1883'
This moved the find3server UI to port 8005. I moved the container's MQTT port to 1889 since I had another MQTT server I use for everything and Home Assistant only supports a single one.
Here are the changes I added to the end of mosquito.conf of my other local MQTT server to bridge in the topics from the find3server:
# Bridge another MQTT Broker connection external-bridge address <IP_ADDRESS>:1889 topic # in remote_username ADMIN_REPLACE_ME remote_password PASSWORD_REPLACE_ME


Vulkan acceleration

Now that vulkan gpu acceleration has been merged into llama.cpp is it possible to implement it here? It may give a good performance boost to the local backend.

I would love to implement some form of acceleration because Llama.cpp on android is slow as

Older versions of maid produced output somewhat quickly depending on the model size even on my phone which is kind of old. Something changed in Llama.cpp?

Older versions of maid produced output somewhat quickly depending on the model size even on my phone which is kind of old. Something changed in Llama.cpp?

idek, Obviously the implementation of llama.cpp has changed alot in maid throughout the months ive been developing it. I was able to get the current implementation to run quite fast on mobile for a few of the small param models (tinyllama 2b, calypso 3b, orcamini 3b) but more development is needed to get isolates working correctly so the app doesnt lag for ages when you prompt

Ok as of 98533eaaa94e70605973faabc9428753bde88146 ive enabled Vulkan Acceleration on linux and android (windows is coming too). Ive tested it out on android,it seems noticeably faster but not jaw droppingly.

I've just tested it and using tinyllama it's way faster and totally usable now.

Tried running llama.cpp directly on my android phone by building and running it with termux. It seems much faster than maid without any acceleration. More than 5 mins, still no output. Not sure what is wrong. I tried uninstalling and reinstalling maid, cleared the cache and the storage, yet I get nothing.

Tried running llama.cpp directly on my android phone by building and running it with termux. It seems much faster than maid without any acceleration. More than 5 mins, still no output. Not sure what is wrong. I tried uninstalling and reinstalling maid, cleared the cache and the storage, yet I get nothing.

Its somewhat expected that it will be a little slower in maid compared to termux as maid has to process all the pre-prompt info  (system prompt, previous messages, example messages, etc) prior to actual inference.
Though 5 minutes is far too long. What model are you using

Tried running llama.cpp directly on my android phone by building and running it with termux. It seems much faster than maid without any acceleration. More than 5 mins, still no output. Not sure what is wrong. I tried uninstalling and reinstalling maid, cleared the cache and the storage, yet I get nothing.

Its somewhat expected that it will be a little slower in maid compared to termux as maid has to process all the pre-prompt info (system prompt, previous messages, example messages, etc) prior to actual inference.
Though 5 minutes is far too long. What model are you using

tinyllama-1.1b-chat, tinyllama-1.1b-1t-openorca, tiny-llama-openhermes-1.1b. I also tried stablelm-zephyr-3b but that doesn't even load with llama.cpp so that's not a maid issue.

ahh ok they're small enough they should be pretty fast. Could be that they maybe using an unsupported GGUF version, but if theyre working with the latest llama.cpp that shouldn't be the case

It still use CPU on Android.


Drupal 8 port

I've ported this code for Drupal 8 and cleaned it up a bit. I posted it to https://www.drupal.org/project/doctrine_cache in case anyone else needs to find it.

Fantastic, thanks @davereid. Will have a look at the cleanup and port across what applies.


Extra subsidy for vcow holders

When an account has more than some threshold Vcow balance we want to give them an extra fee subsidy.
The implementation of this would happen in FeeEstimator which can already create arbitrary fees per order. To get the balance we could re-use the balance fetcher that we already use to check that the user really has the required sell tokens for their order.
I'll self assign for now or @fedgiac can take over.

We have an initial implementation in the above PR. This can be adapted once we know exactly how the subsidy should work.


installation-cd-base profile: add mkpasswd to system packages

Motivation for this change
Allows the user to generate password hashes for the installed system easier.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Sounds fine but the correct location for this is probably (the slightly mis-named) nixos/modules/profiles/base.nix

@dezgeg Good suggestion; fixed!


Update Janet from 1.16.1 -> 1.19.2

Janet is pretty outdated in Nixpkgs right now. I tried updating to 1.19.2 but got the below error on my M1 Darwin machine:
Summary of Failures:

11/11 test/suite0009.janet TIMEOUT        30.01s   killed by signal 15 SIGTERM

It passes on the same machine when cloning the repo and running make test and the derivation can be built on my NixOS machine.

nix-build M1: 🔴
nix-build NixOS: 🟢
make test M1: 🟢

I asked for some help on Gitter but I thought I'd open an issue in the meantime so we can combine forces. I know absolutely zero whatsoever about Janet the project and Janet the language, yet.
Janet no longer includes JPM so we'll have to add it separately. Maybe do it in the same PR so there's no period where users of Nixpkgs are left without jpm.
Checklist

[x] Checked the nixpkgs master branch
[x] Checked the nixpkgs pull requests

Project name
nix search name: janet or Janet programming language

current version: 1.16.1
desired version: 1.19.2
Notify maintainers
maintainers: @peterhoeg @andrewchambers
Note for maintainers
Please tag this issue in your PR.

This patch fixes the issue on my M1 machine:
diff --git a/test/suite0009.janet b/test/suite0009.janet
index 6095bc60..25360d60 100644
--- a/test/suite0009.janet
+++ b/test/suite0009.janet
@@ -174,15 +174,6 @@
   (defer (:close stream)
     (check-matching-names stream)))

-# Test localname and peername
-(repeat 20
-  (with [s (net/server "<IP_ADDRESS>" "8000" names-handler)]
-    (defn test-names []
-      (with [conn (net/connect "<IP_ADDRESS>" "8000")]
-        (check-matching-names conn)))
-    (repeat 20 (test-names)))
-  (gccollect))
-
 # Create pipe

 (var pipe-counter 0)

Janet builds now with that patch but I'm struggling with JPM https://gitter.im/janet-language/community?at=61b60756cdb5c1081a5d9f09

Yeah sorry for the large delay, the reason it isn't updated is jpm as you said.

If it helps, here's what I have so far https://github.com/cideM/nixpkgs/commit/098fb7d8fc09256fe6ec2e5acb0e1041db336ac3 https://github.com/cideM/nixpkgs/commit/2578391e2be35eda7d168e9ce622b649231e67c4

Closing in favour of #150618


[Improved] Removed leftover console log

Assume that this console log is not required as it was only outputting a list of dirs sent via options object

Coverage decreased (-0.4%) to 69.014% when pulling bf3cbea804d6bb68f8cf2d039862a133db105bad on nfourtythree:master into 30c23b4e0c4ca17777d8035575917e3337072b1e on pigcan:master.

Thanks man!

No problem 👍 !


MSDKUI-1832: Adapt tests to new ManeuverView design

Signed-off-by: Ants Peetsalu<EMAIL_ADDRESS>

Codecov Report

Merging #77 into master will increase coverage by 0.95%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master     #77      +/-   ##
=========================================
+ Coverage   88.35%   89.3%   +0.95%
=========================================
  Files          88      58      -30
  Lines        5617    3648    -1969
=========================================
- Hits         4963    3258    -1705
+ Misses        654     390     -264

Flag
Coverage Δ

#ios
89.3% <ø> (+0.95%)
:arrow_up:

Impacted Files
Coverage Δ

MSDKUI_Demo/IconButton.swift

MSDKUI_Demo/OptionsViewController.swift

MSDKUI_Demo/ManeuversOverviewViewController.swift

MSDKUI_Demo/GuidanceDashboardViewController.swift

MSDKUI_Demo/ExtensionArray.swift

MSDKUI_Demo/RouteViewController.swift

MSDKUI_Demo/ExtensionUITableViewCell.swift

MSDKUI_Demo/ExtensionBundle.swift

MSDKUI_Demo/ExtensionNMAMapMarker.swift

...UI_Demo/GuidanceDashboardTableViewDataSource.swift

... and 20 more

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 4ec78a5...6dd69b7. Read the comment docs.


Volume Mapping and documentation

I'm having a little bit of trouble understanding the documentation when it comes to media management and the qbittorrent management.
The documentation mentions the following points:

Root folder: /data/media/ and then tv, movies or music depending on service
In qBittorrent, after connecting it to the -arr services, you can indicate it should move torrents in certain categories to certain directories, like torrents in the radarr category to /data/torrents/movies. You should do this.

However, when trying to add the root folders I can't seem to find the respective subfolders {tv,movies,music,books} as well as it doesn't allow me to add the data folder for some reason.
The same applies when configuring the folder on qbitorrent for a given category, for example, radarr gives me an error saying that it can't find /data/torrents/movies.
Am I supposed to change the volumes in the docker-compose.yml? I'm a bit lost here

I'm dumb sorry


VS - 2022

Hey!
In trying to use snyk scanner extension in VS 2022, but when I click Connect Visual Studio to Snyk.io it displays an error: "Invalid Guid: The system cannot find the file specified".

Looks a restart after the extension installation did the trick.

Hi @heldersantovisma,
I'm glad it works for you! 👍 Could you share your log file (or part of log file with error) to investigate this issue?
How to find logs described here -
https://github.com/snyk/snyk-visual-studio-plugin/tree/feat/snykcode-dev#how-to-find-the-log-files
Thank you!
Best regards,
Alex


Emoji[😄😭💢] included, Tweets

Can this system get a tweet containing emoji[😄😭💢]?
very thankful for this system.
Thanks

No, they are stripped from tweets.
If you need them you can improve the code around here: https://github.com/Mottl/GetOldTweets3/blob/dd0924b03991571ab25a66deaba7e89545ea61dc/GetOldTweets3/manager/TweetManager.py#L85

Thanks, response
I challenged, but it did not work...
How do you tell me how to change?

Thanks to you I succeeded.
If you have any questions, listten again.
I look forward to working with you.

@kickasssss Can you share your improvements?

Great
If you want to merge your code to this fork, feel free to make a pull request. In this case please add some parameter to bin/GetOldTweets3, for example --save-emoji.

@kickasssss Can you share your improvements?

I thought you made the improvements. I don't have plans to do that.

thought

Nono I am just wondering if @kickasssss can share his improvements to the code, so I can add them, to my script

Thanks to you I succeeded.
If you have any questions, listten again.
I look forward to working with you.

Great, you can make a pull request and I will merge you code. Consider of adding a new parameter (for example --save-emoji) to bin/GetOldTweets.

Ok.
Please also check the code together.


Dev into master

Everything should be just fixes, unless I've mucked up.
At Levi's suggestion, PHP 7.2.0 is the new minimum version as that is the version supported by Ubuntu LTS.

Looks like something broke 7.2 and 7.3 compatibility, but I personally don't think they should be supported anymore, regardless of if they are part of a LTS distribution. 7.4 is the oldest supported (security fixes only) version of PHP at this time.

Looks like something broke 7.2 and 7.3 compatibility,

Only the benchmark. I've split that off into a separate job.

Considering this repository is not getting too much love lately, does anyone have any concerns at this point in time in making all private methods protected to allow extending it? I have a couple of modifications on my mind that would require that, otherwise it's copy-pasting the entire \Auryn\Injector class.
Things I have in mind are Attribute support (One for sharing and one for delegating object instantiations) and the other one being adding additional debug information. With that said I'm pretty sure this is not something that would see it's way to master branch here considering the pretty conservative approach.
I'm sure there's many people who would come up with some additional ideas that would not get broken on updates of this repository.

With that said I'm pretty sure this is not something that would see it's way to master branch here considering the pretty conservative approach.

Would there be any downside in making the methods be protected by default?
I mean, other than possibly people asking for more changes later.

With the BC break mentioned above and just the sheer size of this change set, maybe it's time to just call it 2.0-beta just to get it merged?  I personally have no issue with changing some methods to protected, especially if it means easily pluggable Attribute support.

With that said I'm pretty sure this is not something that would see it's way to master branch here considering the pretty conservative approach.

Would there be any downside in making the methods be protected by default?
I mean, other than possibly people asking for more changes later.

I would say no.  Considering the change from private to protected is not related to the userland code (as in using Auryn for it's defined functionality in public methods), but rather for extension purposes - to improve the library by additional functionality, I don't see any reason not to.
Just a simple and quite popular example in the issues section is the PSR-11 container interop compatibility, which to my mind is a no-go to be in this library because of the service locator as mentioned multiple times, but let's drop down to earth - this is often a requirements for integrating other packages. Then you end up with 2 of them, which reveals a question of "why 2, when we can have one (not auryn) as the code is already polluted with service location.
But where am I leading is this: https://github.com/elazar/auryn-container-interop - probably most well known and used extension, but looking at the code it's "hacky" because of reusing what is meant to be an array of class strings as keys gets reused for arbitrary strings. As it's a service locator, I bet it should be share-by-default in 99% of the cases as well.
I mean, a much better implementation would be possible.
Agree with what @baohx2000 said, it can be a v2, even with BC breaks. This might even be a better approach as it will be easier to maintain this.

Hello, I'm about to start a new PHP project using auryn. Having seen the amount of changes of this pull request and the possibility that some of them might break compatibility, do you recommend using this version instead of the stable (master) one even if it hasn't been merged yet? Apart from bug fixes and modern php support, are there changes in funcionality? Thank you


CloudFront cache error in Next.js with SSR when navigating via SPA (client-side)

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

App Id
d1k1f08ve7vlp8
AWS Region
us-east-1
Amplify Hosting feature
SSR
Describe the bug
I have identified an issue related to the CloudFront cache managed by Amplify, which occurs when requesting data for a page after navigating via Single-Page Application (SPA) using the Next.js Link component.
The problem arises when CloudFront finds the data in its cache and returns an empty, invalid JSON response.
This response does not correspond to the actual data returned by the getServerSideProps method on the Next.js server.
Expected behavior
After navigating via SPA, requests to the /__next/data/**/*.json endpoints should return the correct and up-to-date data from the server, even when CloudFront is involved.
Reproduction steps

Open https://master.d1k1f08ve7vlp8.amplifyapp.com/sdp/account?site_domain=timgames.appsclub.com.br link.
Click on the login button (next/link component).
Go back to previous page.
Click the login button again.
Observe the requests made by Next.js to the /__next/data/**/*.json endpoints which retrieve data for the page from the server.
And note that when CloudFront encounters cached data (indicated by "Hit from CloudFront" in the response), empty and invalid JSON is returned as the response.

Build Settings
version: 1
frontend:
  phases:
    preBuild:
      commands:
        - yarn install
    build:
      commands:
        - yarn build
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

Log output

Additional information
Using Next.js version 13.2.4 published on Amplify Hosting with the web compute platform.

Hi all,
I'm experiencing the same issue and have been investigating solutions for the past week. Symptoms are nearly identical. Ultimately, "After navigating via SPA, requests to the /__next/data/**/*.json endpoints should return the correct and up-to-date data from the server, even when CloudFront is involved." says it all.
Using Next.js 13.2.4 and a standard`amplify.yml file:
version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm ci
    build:
      commands:
        - npm run build
  artifacts:
    baseDirectory: .next
    files:
      - "**/*"
  cache:
    paths:
      - node_modules/**/*

The root cause seems to be pretty straight-forward, as mentioned by @hloriii in this comment on #3509, which is also an SSR issue. Sort of two issues together:

Documented issue with CloudFront due to lack of support for cache headers Next.js wants to use on SSR'd pages

Since my SSR'd page is generating dynamic content, I really don't want to try to cache hyper aggressively
The root cause is ultimately, if the clients request never makes it to the actual server, then getServerSideProps is never going to run, and a 200 OK response with an empty JSON body ({}) is returned by CloudFront, which will almost certainly cause your page to break as it's missing data to hydrate/render your page.
✅A hard refresh or directly navigating to the SSR'd page always works, because the server is actually running getServerSideProps
❌Unsure how to comprehend the logic CloudFront uses to determine whether or not there is a cache hit or miss, but client-side navigation using the <Link /> component is hit or miss. I can click the link and have it work multiple times in a row, then it fails.

getServerSideProps Using the <Link/> component in production means, by default, when you hover the link, next will try to prefetch the resource

When you request this page on client-side page transitions through next/link or next/router, Next.js sends an API request to the server, which runs getServerSideProps

Some of my requests contain a request header of Purpose: prefetch. This doesn't seem to correlate to whether or not the request works or CF will allow the request to make it to the server or not.
Attempted fixes

Disable prefetch on my <Link/>s
Add a customHeaders.yml, the one defined here.

I can't share more details on my project, but I can share that the issue is definitely specific to what the author mentioned, a CloudFront cache error in Next.js applications that attempt to navigate client-side to a page that uses getServerSideProps. There is guidance in the Amplify-hosting FAQ section, but it doesn't seem to help.
@hloriii is there a better solution for this issue? It's kind of a deal breaker for many Next.js users. Is there a way to opt out of CF until this is fixed?

Hi @dallegrezzaRFK and @marlonconstante 👋🏽 thanks for raising this issue and providing these details on the behavior you're experiencing. We are currently looking into this to find a solution since the suggested workarounds are not helpful in this case.
@dallegrezzaRFK we do not have a way to opt out of CloudFront but we are working on finding a solution for this.

Hi @marlonconstante  and @dallegrezzaRFK 👋🏽  apologies for the delay here. I've tried reproducing your behavior with a test application by following these steps:

navigate to a next/link component and observe the response (this was a miss from CloudFront and contained expected json data)
go back to previous page
navigate to the next/link component again and observe the response (this was a hit from CloudFront and still returned all the appropriate data)

I did not observe any empty json response in my attempts to reproduce this behavior. However, we can clearly see this occurring for your application so we are prioritizing this issue internally to gain a better understanding. We will provide an update shortly.

Hi @dallegrezzaRFK we need some additional details from you to dive deeper on this issue. Could you provide your Amplify app ID?
We also need two request IDs, one for a request that behaves as expected and one that does not. The request ID is stored under the X-Amz-Cf-Id header. Once we have those IDs we can investigate further for your app.

Hi @marlonconstante and @dallegrezzaRFK 👋🏽 apologies for the delay here. I've tried reproducing your behavior with a test application by following these steps:

navigate to a next/link component and observe the response (this was a miss from CloudFront and contained expected json data)
go back to previous page
navigate to the next/link component again and observe the response (this was a hit from CloudFront and still returned all the appropriate data)

I did not observe any empty json response in my attempts to reproduce this behavior. However, we can clearly see this occurring for your application so we are prioritizing this issue internally to gain a better understanding. We will provide an update shortly.

I will try to recreate a small Next.js repo for your team to review. The important part is that you have to be navigating to a page that uses getServerSideProps(), thus requiring that this function get called in order to fetch data necessary to hydrate the client page.

Hi @dallegrezzaRFK we need some additional details from you to dive deeper on this issue. Could you provide your Amplify app ID?
We also need two request IDs, one for a request that behaves as expected and one that does not. The request ID is stored under the X-Amz-Cf-Id header. Once we have those IDs we can investigate further for your app.

Hi @hloriii,
This is still impacting me.
App ID: d1d6fy0dnzrfp6

"Bad" request: M7-DK6gqHopICpeMVbWxkVMk7-D_HUhbyiGZXKZTksaVgC5hqgewoA==
Working request: fQlrkG4LwsbewKZaugxSKAZOl1xrzyP7HdIcgWd-EMc59YhKoFmupg==

Thank you

Hi everyone 👋 , we are tracking this as a bug here: https://github.com/aws-amplify/amplify-hosting/issues/3704. I'll recommend subscribing to it for any updates. Closing as duplicate.


Register commands after loading addons on server

Currently on a server, commands are registered before addons are loaded. This causes addon commands on servers to not be registered.

Fixed for 2.0.0


Object.extname is deprecated.

Argument to path.extname must be a string
Object.extname (/Applications/Atom.app/Contents/Resources/app.asar/src/electron-shims.js:20:10)
Object.toggle (/Users/joaosaro/.atom/packages/jade-autocompile/lib/jade-autocompile.js:208:28)
<unknown> (/Users/joaosaro/.atom/packages/jade-autocompile/lib/jade-autocompile.js:75:15)
Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/pane-container.js:348:27)

Had the same warning. I updated all packages on Atom and the warning went away. Have you guys tried updating all packages on Atom? Could it be an issue with another packaged installed?

I'm getting the same deprecation warning.

Hi guys, thanks you for the warning. I'm a little bit busy right now, but i think that i will resolve it for the end of this week.

Should be fixed in the version 0.8.5


Move tests to Circle-CI

Travis-CI has recently experiencing longer and longer job queues. Since we already build images in Circle-CI let's move tests there too.

What tests are running in Travis?

What tests are running in Travis?

Our tests are in GitHub Actions now as of #250 and #251.


Default redis configuration isn't working

Name and Version
fmjstudios/paperless-ngx 0.2.2
What architecture are you using?
amd64
What steps will reproduce the bug?
Attempt to deploy helm chart without any pre-existing redis secrets, fresh namespace, etc., and pod fails to start
Are you using any custom parameters or values?
Not for Redis
What is the expected behavior?
Default redis values should work out of the box
What do you see instead?
2024-08-12T09:49:05.953671543-04:00 Waiting for Redis...
2024-08-12T09:49:05.993141773-04:00 Redis ping #0 failed.
2024-08-12T09:49:05.993167998-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:05.993176121-04:00 Waiting 5s
2024-08-12T09:49:11.025079826-04:00 Redis ping #1 failed.
2024-08-12T09:49:11.025108067-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:11.025116717-04:00 Waiting 5s
2024-08-12T09:49:16.043172219-04:00 Redis ping #2 failed.
2024-08-12T09:49:16.043199040-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:16.043205415-04:00 Waiting 5s
2024-08-12T09:49:21.062439880-04:00 Redis ping #3 failed.
2024-08-12T09:49:21.062478095-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:21.062485701-04:00 Waiting 5s
2024-08-12T09:49:26.082569282-04:00 Redis ping #4 failed.
2024-08-12T09:49:26.082615162-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:26.082623103-04:00 Waiting 5s
2024-08-12T09:49:31.082749996-04:00 Failed to connect to redis using environment variable PAPERLESS_REDIS.

Additional information
Looks like there was a recent change to Redis secret handling?

Tried an earlier release (0.2.0) w/out success. Here's my values.yaml

affinity: {}
configMap:
  annotations: {}
  labels: {}
fullnameOverride: ''
gotenberg:
  enabled: true
  gotenberg:
    chromium:
      allowList: file:///tmp/.*
      disableJavaScript: true
    logging:
      level: warn
image:
  digest: ''
  pullPolicy: IfNotPresent
  pullSecrets: []
  registry: ghcr.io
  repository: paperless-ngx/paperless-ngx
  tag: 2.10.1
ingress:
  annotations: {}
  className: ''
  enabled: false
  extraHosts: []
  tls: []
  whitelist: ''
initContainers: []
livenessProbe:
  enabled: true
  failureThreshold: 10
  initialDelaySeconds: 120
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 1
nameOverride: ''
nodeSelector: {}
paperless:
  address: <IP_ADDRESS>
  appLogo: ''
  appTitle: ''
  apps: ''
  auth:
    adminMail: REDACTED
    adminPassword: REDACTED
    adminUser: REDACTED
    allowSignups: ''
    autoLoginUsername: ''
    defaultHTTPProtocol: https
    disableRegularLogin: false
    emailVerification: optional
    existingSecret: ''
    sessionRemember: None
    social:
      accountProviders: ''
      allowSignups: false
      autoSignup: false
      existingSecret: ''
  binaries:
    convert: ''
    gs: ''
  consume:
    barcodeScanner: PYZBAR
    barcodes:
      ASNBarcodePrefix: ASN
      dpi: 300
      enableASNBarcode: ''
      enableTagBarcode: false
      enabled: false
      string: PATCHT
      tagBarcodeMapping: ''
      tiffSupport: false
      upscale: '0.0'
    collate:
      doubleSidedSubdirName: ''
      doubleSidedTiffSupport: false
      enableDoubleSided: false
    dateOrder: ''
    deleteDuplicates: false
    filenameDateOrder: ''
    iNotify:
      delay: '0.5'
    ignoreDates: ''
    ignorePatterns: ''
    numberOfSuggestedDates: 3
    polling:
      delay: 5
      enabled: 0
      retryCount: 5
    postConsumeScript: ''
    preConsumeScript: ''
    recursive: false
    subdirsAsTags: false
    thumbnailFontName: ''
  conversion:
    memoryLimit: ''
    tmpDir: ''
  cron:
    emailTask: '*/10 * * * *'
    emptyTrashTask: 30 0 * *
    indexTask: 0 0 * * *
    sanityTask: 30 0 * *
    trainTask: 5 */1 * * *
  data:
    paths:
      consumptionDir: ''
      dataDir: ''
      emailCertificateLocation: ''
      emptyTrashDir: ''
      filenameFormat: ''
      filenameFormatRemoveNone: false
      loggingDir: ''
      mediaRoot: ''
      modelFile: ''
      nltkDir: ''
      staticDir: ''
      supervisordWorkingDir: ''
      trashDir: ''
    pvc:
      existingClaim: ''
      reclaimPolicy: Retain
      size: 500Gi
      storageClass: longhorn
  domain: ''
  emptyTrashDelay: ''
  enableAuditLog: true
  enableCompression: '1'
  enableFlower: false
  enableNLTK: ''
  gid: 1000
  gotenberg:
    endpoint: ''
  hosting:
    HTTPRemoteUserHeaderName: ''
    allowedHosts: ''
    cookiePrefix: ''
    corsAllowedHosts: ''
    enableHTTPRemoteUser: false
    enableHTTPRemoteUserAPI: false
    forceScriptName: ''
    logoutRedirectURL: ''
    proxySSLHeader: ''
    staticURL: ''
    trustedOrigins: ''
    trustedProxies: ''
    useXForwardHost: false
    useXForwardPort: false
  logging:
    logrotateMaxBackups: ''
    logrotateMaxSize: ''
  maxImagePixels: ''
  ocr:
    additionalLanguages: ''
    clean: clean
    colorConversionStrategy: ''
    deskew: true
    imageDPI: ''
    language: eng
    maxImagePixels: ''
    mode: skip
    outputType: pdfa
    pages: ''
    rotatePages: true
    rotatePagesThreshold: 12
    skipArchiveFile: never
    userArgs: ''
  port: 8000
  postgresql:
    certs:
      cert: ''
      key: ''
      rootCert: ''
    existingSecret: ''
    host: paperless-postgresql
    name: paperless
    password: paperless
    port: 5432
    sslMode: prefer
    timeout: ''
    user: paperless
  redis:
    existingSecret: ''
    host: paperless-redis-master
    password: paperless
    port: 6379
    prefix: ''
    username: ''
  secretKey:
    existingSecret:
      key: ''
      name: ''
    value: ''
  smtp:
    existingSecret: ''
    from: ''
    host: ''
    password: ''
    port: ''
    useSSL: false
    useTLS: false
    user: ''
  taskWorkers: ''
  threadsPerWorker: ''
  tika:
    enabled: true
    endpoint: ''
  timeZone: UTC
  uid: 1000
  webserverWorkers: 1
  workerTimeout: ''
podAnnotations: {}
podDisruptionBudget:
  enabled: false
  minAvailable: 1
podLabels: {}
podSecurityContext: {}
postgresql:
  auth:
    database: paperless
    enablePostgresUser: true
    password: paperless
    postgresPassword: postgres
    usePasswordFiles: false
    username: paperless
  enabled: true
  primary:
    name: primary
    persistence:
      accessModes:
        - ReadWriteOnce
      enabled: true
      existingClaim: ''
      size: 25Gi
      storageClass: longhorn
priorityClassName: ''
rbac:
  create: true
  rules: []
readinessProbe:
  enabled: true
  failureThreshold: 3
  initialDelaySeconds: 120
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 1
redis:
  architecture: standalone
  auth:
    password: paperless
  enabled: true
  persistance:
    accessMode: ReadWriteOnce
    enabled: true
    size: 8Gi
    storageClass: longhorn
resources: {}
secret:
  annotations: {}
  labels: {}
securityContext: {}
service:
  annotations: {}
  clusterIP: ''
  externalIPs: []
  externalTrafficPolicy: Cluster
  extraPorts: []
  internalTrafficPolicy: Cluster
  ipFamilyPolicy: ''
  labels: {}
  loadBalancerClass: ''
  loadBalancerIP: <IP_ADDRESS>
  loadBalancerSourceRanges: []
  nodePort: 30080
  port: 8000
  sessionAffinity: None
  sessionAffinityConfig: {}
  type: LoadBalancer
serviceAccount:
  annotations: {}
  automount: false
  create: true
  name: ''
  secrets: []
startupProbe:
  enabled: true
  failureThreshold: 10
  initialDelaySeconds: 90
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 1
strategy: {}
tika:
  enabled: true
tolerations: []
volumeMounts: []
volumes: []

Was able to fix this by changing the helm deployment name from "paperless-ngx" to "paperless". Leaving this open as that really should be mapped specifically to the helm deployment name, if that's being assumed to be the hostname, somehow?

Hey @mike12806, thank you for bringing this to my attention. I've already found the issue. I was testing the previous 0.2.2 installation with the Makefile command make install CHART=charts/paperless-ngx VALUES=ci/test-values.yaml RELEASE_NAME=paperless which of course locked the release name to paperless...
I am hoping to mitigate issues like this in the future when I get an actual testing toolkit set up. Helm's testing tooling isn't really up to par with how much testing I want to do, but I found a solution just the other day so this will be fixed for all charts in future versions.
I have just published 0.2.3 of the Chart containing fixes for your issue. As far as your case of installation with default values is concerned, I was able to install the new version using the default values with pretty much any release name (I tried mypaper,paperfull-xgn and a few others).
I am going to close this since it seems to be fixed. Feel free to reopen or create another one if the issue persists for you 🙌🏼

Hey @mike12806, thank you for bringing this to my attention. I've already found the issue. I was testing the previous 0.2.2 installation with the Makefile command make install CHART=charts/paperless-ngx VALUES=ci/test-values.yaml RELEASE_NAME=paperless which of course locked the release name to paperless...
I am hoping to mitigate issues like this in the future when I get an actual testing toolkit set up. Helm's testing tooling isn't really up to par with how much testing I want to do, but I found a solution just the other day so this will be fixed for all charts in future versions.
I have just published 0.2.3 of the Chart containing fixes for your issue. As far as your case of installation with default values is concerned, I was able to install the new version using the default values with pretty much any release name (I tried mypaper,paperfull-xgn and a few others).
I am going to close this since it seems to be fixed. Feel free to reopen or create another one if the issue persists for you 🙌🏼

Thank you for your thorough response!


Add support for Maven BOMs

@oehme Thanks for the review! I addressed your comments.

Hi, thanks for the contribution. Since lots have changed internally, I've been working on BOM support in the latest state. I'll close this for now, and again, thank you and sorry for letting this slip through.


migrate docs to Asciidocsy

This ticket would replace #31. Entails migrating from Hugo to Jekyll's Asciidocsy theme, which has built-in support for the Asciidoc markup language & Liquid template language, using asciidoctor-extended:asciidocsy docker image to support

asciidoctor-diagram: for PlantUML rendering
asciidoctor-pdf: for PDF generation
asciidoctor-revealjs: for slideshow presentations using revealjs

closing, as issue is to be replaced by #47


Cross-region VNET gateway

The documentation seems to be a bit confusing on this paragraph:
VNet data gateways are created in your tenant's home region by default and there's currently no option to change the VNet data gateway region. Based on this limitation, VNet data gateways can only be used in Power platform environments in the home region of your tenant.
in particular: VNet data gateways can only be used in Power platform environments in the home region of your tenant
A chat with the product group confirmed that a PBI in one region can communicate with a VNET in a different region; the statement above is unclear, but sounds like it is saying the opposite.
Can you please clarify this section specifying what it means and clarifying if cross-region communication is possible?
Thank you.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: d47e61c8-a5b8-0a8b-06dd-c242a0acd06c
Version Independent ID: e80385c1-b254-525d-b5ec-2b653e7763d8
Content: What is a virtual network (VNet) data gateway (Preview)
Content Source: data-integration/vnet/overview.md
Service: virtual-network-data-gateway
GitHub Login: @nikkiwaghani
Microsoft Alias: nikkiwaghani

the vnet can be in a different region, but the vnet registration (metadata) will be in the same region as the home region.

Thanks @UnoSD for your question. I see @miquelladeboer was able to answer, so I will go ahead and close this issue out now. #please-close


Tasks appear scheduled by the filename rather than by schedule text

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
If I create a new task in my Daily Note, but I put an explicit scheduled date in it that is different from today's date, the tasks query that uses scheduled will retrieve this task as being scheduled today, not tomorrow.
My use case is shown in the attached image; I have a dashboard with a tasks query which displays all tasks that were scheduled today. Tomorrow, I would like to see the tasks which have been scheduled tomorrow; I would expect explicitly scheduled dates to overwrite the policy of using the Daily Note filename as the scheduled date.
Current behaviour

A task which has tomorrow's date shows up as scheduled today.
Steps to reproduce

Create a task in a Daily Note (2023-02-16)
Create a query containing  scheduled today
Enable the Settings option for Use filename as Scheduled date for undated tasks
Set the scheduled date of the task from (1) to be tomorrow
The task appears in the query for today's tasks

Which Operating Systems are you using?

[ ] Android
[ ] iPhone/iPad
[ ] Linux
[X] macOS
[ ] Windows

Obsidian Version
1.1.9
Tasks Plugin Version
1.25.0
Checks

[ ] I have tried it with all other plugins disabled and the error still occurs

Possible solution
Handle an edge case in the scheduled query logic which resolves conflicts between scheduled date and the Daily Note date "override"?

Hi, in order for this to be investigated both efficiently and accurately, we would need the actual text you are using, as there is likely maybe different in them from what you are describing.
Please attach:

minimal test markdown file(s) with the tasks in, and with their original file name(s)
A file with the query in

Then change the reproduction steps to say ‘open file x’ etc…
Thanks.

Oh and @jshph, what date did you create the screenshot on? (Whoever investigates this know what timezone you were in when you took it...)

based on the screenshot I can take a guess that the issue is that the formatting of the Tasks in the source file where you have written them is wrong.
the scheduled date emoji + date are appearing on the left end of the render. the code never renders this way which suggests that you have not placed the scheduled date for the task at the far right end,
i.e. you maybe haven't written them like so,
buy some shampoo ⏳2023-02-17

and have likely written
⏳2023-02-17 buy some shampoo

resulting in the scheduled date being part of the task description and not getting properly "registered".
and since you have used the setting of "filename is the scheduled date", the actual scheduled date of these tasks is 2023-02-16, hence why they are showing in the query ...
??
as @claremacrae requested, further details are diagnose the issue

Oh wow, good spot @BluBloos. Thank you.
I also wondered whether there was a misunderstanding about how today works in queries that are inside daily notes - like, an assumption that it picks up the date in the filename for queries, when in fact daily notes with tasks blocks in need to use a templating system to specify the filter dates explicitly.

@BluBloos That's exactly it! I'm new to Tasks and wasn't familiar with this convention. I do appreciate the auto-scheduling but I like the flexibility to schedule tasks for future dates from time to time!
I believe this resolves my request unless someone thinks this could be documented?

The order of keywords is described in:
https://obsidian-tasks-group.github.io/obsidian-tasks/getting-started/auto-suggest/#what-do-i-need-to-know-about-the-order-of-items-in-a-task
And the following section:
https://obsidian-tasks-group.github.io/obsidian-tasks/getting-started/auto-suggest/#how-can-i-check-that-my-task-is-formatted-correctly
I do feel that this could be made more discoverable, when we rework the docs, but for now, as the question has been resolved I'll close this.


Level 7 how to get next Lazy value

Hi all,
For Lv7 I'm stuck on getting the next rest time from the supplier.
No matter what i do i keep getting 0.0 which i assume is the first rest time.
How did your manage to move to the next value?
I have tried constructing the Server with Lazy.

Hello,
I believe that the server's rest time is different after every Done event (eg. cld be 0.0 or some random value generated by the Main java file) so I don't think Lazy is needed.

I did not use Lazy to cache for rest times. I think you are constantly getting 0.0 since the rest time is being cached.
Maybe you can just directly call get() from the supplier.

You can call get() from Supplier only when it is a Done Event, that'll take care of it.

each time u call the .get(), a different rest time is returned so you just have to call .get() at the right time to get the correct rest time

call get() in DONE and they will produce the random value


Quasi quotes

This PR was created from https://github.com/wasp-lang/strong-path/pull/17, which I am taking over to do final polishing.

Note that this code will be valid which is not good for type safety:
 Λ [absdir|/|] :: Path System Rel' File'
AbsDir "/"

This can probably be fixed by using a custom Lift instance for Path by adding Typable superclass constraints on the phantom type variables (cf. hasufell/hpath#39 and here), but it seems to be very tedious as there are so many constructors.

Thanks @amesgen ! You are right, the fact that phantom type information is lost is not good, we can't use current solution.
I looked at the solutions you linked, and I took the one from path and tried adapting it to our use case (I pushed the commit to this PR). In our case situation is additionally complicated by Path type having user defined types in it though! I tried to adapt to that but I ended up having a compile error in absdir = qq parseAbsDir and similar lines (12 errors in total, one for each line at the bottom of StrongPath.hs file) that I just don't know how to work around. It says no instance for (Typeable d9) arising from a use of 'qq'. Could it be that this is related to these custom user types that I mentioned? It can't know if that type is Typeable, smth like that?
I am still somewhat new in TH so I am lost - help would mean a lot!

Additional question: what about reification? Could it be possible to use that instead of Typeable?

Hm I also wonder now if I should have derived Data also? I don't yet understand the difference between Typeable and Data, I should probably learn that.

I think I found a solution: https://github.com/amesgen/strong-path/commit/0071a211076a935f7c940dd19f74dac8362e8e47
This also does not require that user-defined arguments to Rel/File/Dir are Typeable.

@amesgen oh that is amazing!! Really elegant, and although I don't understand every small detail, I think I get the idea. So instead of returning just a StrongPath value expression, we return expression that also has a type, which ensures phantom types are correctly set.
Awesome! I will further polish this but this is it then :). Thanks so much.