Unable To Customise Route Resource Parameter Name for URLs with Slug case

Laravel Version: 9.4.1
PHP Version: 8.1.3
Database Driver & Version: N/A

Description:
When defining an apiResource route, we have the ability to overwrite the parameter name used for example in route model binding.
For example:
Route::apiResource('my-action', MyActionController::class)->parameter('my_action', 'userAction');
should allow us to access the parameter bound to the given model in our controller like so:
    public function update(Model $userAction, Request $request)
    {
        return $userAction;
    }

However, hitting this endpoint will return a response with an empty JSON object.
Steps To Reproduce:
Create a resource or apiResource route, the URL path should be in slug-case, eg:
Route::resource('my-action', MyActionController::class))->parameter('my_action', 'userAction');
Next run php artisan route:list and notice the the parameter name for the declared route is my_action, instead of the expected userAction
Next, define another route with the URL not being in slug-case:
Route::resource('anotherAction', MyActionController::class))->parameter('action', 'userAction');
Run php artisan route:list and notice the the parameter name has been changed from anotherAction to userAction - which is the expected behaviour

Shouldn't it be Route::resource('my-action', MyActionController::class))->parameter('my-action', 'userAction'); instead? The minus is only converted to an underscore later to generate a valid php variable name

Shouldn't it be Route::resource('my-action', MyActionController::class))->parameter('my-action', 'userAction'); instead? The minus is only converted to an underscore later to generate a valid php variable name

My bad. Your are very correct!


PDUTransport is_ready() usage

Hello,
(sorry for the absence, I was busy finishing some other stuff but now I'm back on CFDP)
What is the intent behind the PDUTransport is_ready method ?
It does not seem to be used anywhere.

Welcome back!
It's been on my mind, should just be removed. I think it was a carry over when I was using the python version for inspiration.


Not a valid json?

Keep getting this error:
/node_modules/jsonq/jsonQ.js:17
            throw msg;
                  ^
Not a valid json

Could be just something setup improperly in my workspace - but is there another reason this may happen? Is this just user error?

This possibly be coming because you are passing a json string like jsonQ('{"name":"somthing"}'), and library is expecting a object like jsonQ({"name":"somthing"});
For now you can try parsing json string before you pass it to jsonQ, like
jsonQ(JSON.parse('{"name":"somthing"}'));
I feel library should allow passing json string. I will add that support soon.

Fixed.


Icon widget wrapped inside a Hero widget does not interpolate size or color(only position works)

The container which wraps the Icon widget works as expected but not the Icon. When I swap the Icon widget with a FlutterLogo widget, everything works. (tested on iOS emulator)
first.dart
import 'package:flutter/material.dart';
import 'package:transitiontest/second.dart';

class FirstPage extends StatefulWidget {
  @override
  _FirstPageState createState() => _FirstPageState();
}

class _FirstPageState extends State<FirstPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("First Page"),
      ),
      body: Center(
          child: ListView.builder(
        itemCount: 100,
        //itemExtent: 100.0,
        itemBuilder: (context, index) {
          return _StoryTile(index: index);
        },
      )),
    );
  }
}

class _StoryTile extends StatelessWidget {
  final int index;

  const _StoryTile({Key key, @required this.index}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return InkWell(
      onTap: () {
        Navigator.of(context).push(
          MaterialPageRoute(builder: (context) {
            return SecondPage(index: index);
          }),
        );
      },
      child: Card(
        margin: EdgeInsets.fromLTRB(16, 8, 16, 8),
        color: Colors.purple,
        elevation: 6.0,
        shape:
            RoundedRectangleBorder(borderRadius: BorderRadius.circular(16.0)),
        child: Row(
          mainAxisAlignment: MainAxisAlignment.start,
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisSize: MainAxisSize.max,
          children: <Widget>[
            Padding(
              padding: const EdgeInsets.all(10.0),
              child: Hero(
                transitionOnUserGestures: true,
                tag: index,
                child: Container(
                  //constraints: BoxConstraints.tightForFinite(),
                  color: Colors.blue,
                  child: Icon(
                    Icons.account_circle,
                    //key: Key("$index"),
                    color: Colors.white,
                    size: 40.0,
                  ),
                ),
              ),
            ),
            Text(
              "Element: $index",
              style: TextStyle(color: Colors.white, fontSize: 20.0),
            )
          ],
        ),
      ),
    );
  }
}

second.dart
import 'package:flutter/material.dart';

class SecondPage extends StatefulWidget {
  final int index;

  const SecondPage({Key key, @required this.index}) : super(key: key);

  @override
  _SecondPageState createState() => _SecondPageState();
}

class _SecondPageState extends State<SecondPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        constraints: BoxConstraints.expand(),
        color: Colors.grey,
        child: SafeArea(
          child: Center(
            child: Container(
                //constraints: BoxConstraints.tight(Size(200.0, 100.0)),
                //width: 200.0,
                //height: 100.0,
                child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              mainAxisSize: MainAxisSize.max,
              children: <Widget>[
                Text(
                  "Element ${widget.index} detail",
                  style: TextStyle(fontSize: 20.0, color: Colors.white),
                ),
                SizedBox(height: 50.0),
                Hero(
                  transitionOnUserGestures: true,
                  tag: 0,
                  child: Container(
                    //constraints: BoxConstraints.tightForFinite(),
                    color: Colors.blue,
                    child: Icon(Icons.account_circle,
                        size: 85.0, color: Colors.white),
                  ),
                ),
                SizedBox(height: 50.0),
                Hero(
                  transitionOnUserGestures: true,
                  tag: 1,
                  child: Icon(Icons.cloud_circle,
                      size: 85.0, color: Colors.purple),
                ),
                SizedBox(height: 50.0),
                Hero(
                  transitionOnUserGestures: false,
                  tag: 2,
                  child:
                      Icon(Icons.cloud_circle, size: 85.0, color: Colors.pink),
                ),
              ],
            )),
          ),
        ),
      ),
      floatingActionButton: SafeArea(
        child: FloatingActionButton(
          onPressed: () {
            Navigator.of(context).pop();
          },
          child: Icon(Icons.chevron_left),
        ),
      ),
    );
  }
}

Able to reproduce this on latest master channel.

 flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-10.0.pre.138, on Mac OS X 10.15.6 19G2021,
    locale en)
    • Flutter version 1.21.0-10.0.pre.138 at
      /Users/pedromassango/dev/SDKs/flutter_master
    • Framework revision 3562b3c0de (2 hours ago), 2020-08-18 01:46:02 -0400
    • Engine revision 02de4eb7ce
    • Dart version 2.10.0 (build 2.10.0-37.0.dev)
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/pedromassango/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor
      --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Community Edition (version 2020.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 48.0.4
    • Dart plugin version 202.6397.47

[!] VS Code (version 1.48.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • macOS (desktop)  • macos      • darwin-x64     • Mac OS X 10.15.6 19G2021
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome
      84.0.4147.125

! Doctor found issues in 3 categories.

Hi @aytunch, I verified it on the latest stable and the master channel and it seems to work fine.
https://user-images.githubusercontent.com/31410839/203414489-6a69585b-6fcc-4f04-b174-18abc54c90d9.mov
Can you please verify if the issue persists and if it does can you be more specific and clarify the bug?

flutter doctor -v (mac)
[✓] Flutter (Channel master, 3.6.0-6.0.pre.33, on macOS 12.6 21G115 darwin-arm64,
    locale en-IN)
    • Flutter version 3.6.0-6.0.pre.33 on channel master at
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a9858ec524 (72 minutes ago), 2022-11-21 10:58:11 -0500
    • Engine revision 46a6b54295
    • Dart version 2.19.0 (build 2.19.0-406.0.dev)
    • DevTools version 2.19.0
    • If those were intentional, you can disregard the above warnings; however it is
      recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.70.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.53.20221101

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64
      • macOS 12.6 21G115 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript
      • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel stable, 3.3.8, on macOS 12.6 21G115 darwin-arm, locale en-IN)
    • Flutter version 3.3.8 on channel stable at /Users/mahesh/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 52b3dc25f6 (13 days ago), 2022-11-09 12:09:26 +0800
    • Engine revision 857bd6b74c
    • Dart version 2.18.4
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.70.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.53.20221101

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS
      12.6 21G115 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google
      Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

@maheshmnj Please look at the screenshot I took from you supplied video. As you can see, even during the first frame of the Hero animation, the icon jumps from the initial size to all the way to the final size all at once without any size interpolation. When the animation is very fast or when the size difference is not too much, it is not too noticeable. However especially on higher fps screens the hero animations looks really bad with this bug. And they can cause other UI artifacts.

Thanks for the clarification @aytunch


add build

When running an install, npm/yarn calls npm run build. If the user doesn't have ruby, the compass step fails and they are presented with a blank preferences window. (related to https://github.com/tkambler/electron-preferences/issues/63)

This is why I changed the build command to build:grunt and removed the build folder from the .gitignore. Once #63 is closed we can add it back.
This is also a slight refactor of some code in the main component, there isn't any reason to be providing browserWindowOverrides and webPreferences since we can nest web preferences and deep copy.
I kept the legacy functionality.

Important changes start here: https://github.com/tkambler/electron-preferences/pull/68/files#diff-dfebc61221e8e614426333cb032ec9dd4df6be2cdaf797db16363097040747ee

Thanks @lacymorrow.
I'll try to go over the PR later today.

I don't have a lot of time outside of work but will take another look this weekend

No problem.
FYI: If I have some free time this weekend, I might already create a new release as we now support electron 12.

I think I need to have #57, #58, and #66 completed before I can adopt electron-preferences in my app, so those will be my focus :)

Deleting as unnecessary since https://github.com/tkambler/electron-preferences/pull/72, thanks @pvrobays!


Deprecation warnings in the CI

Issue Description

We should fix these by updating actions versions before the CI no longer works 😬

Could set up dependabot to handle this


support testsetup

I saw in the README that support for testsetup is planned but didn't see an issue to track it, so thought I'd create one and register interest to boot.
Is there a workaround you would recommend in the meantime?
Thanks for maintaining pytest-sphinx!

No there is unfortunately no workaround. In the coming days I'll clean up the existing implementation first and then I'll implement support for testsetup. Since you are also interested in support for more flags, maybe you can try to contibute and add support for pyversion and skipif. That would be great.

(see https://github.com/pytest-dev/pytest/issues/4274#issuecomment-435615371)

I was wondering if there were any updates.
Maybe I need much less (I'm not so familiar with sphinx+doctest): My issue is that I have a function that is defined in the guide *.rst file, and I'd like to use it. Right now I am including a module with such function in the code base, including such module in the conf.py doctest_global_setup feature and then importing it in a testsetup block that I'd like to provide it for the subsequent blocks in the same .rst file. Is there some easy fix I am not looking? make doctest passes, but pytest --doctest-glob fail, and these are set in the CI on Github workflow (similar to Travis CI). Do you have any suggestion?

Is there some easy fix I am not looking?

No currently not. I'll have a look at the testsetup code again, once I'm done with the support for ":skipif:" option.

@thisch thank you. Sorry, just to understand:
I am using testcode + testoutput and I get some errors with pytest --doctest-glob='*.rst' (with the pytest-sphinx plugin installed) but not with make doctest. The issue seems to be that I am defining some functions in a testcode block, and using them in a subsequent testcode block, in the same *.rst file. Is this an intended behavior, a bug, or I am not setting it up correctly?

Your described behavior is definitely a bug. I don't yet have an idea how to implement/fix it, because it requires that we share data between pytest test-items.

@nathanshammah Please take a look at #23. You can move the code block from conf.py to conftest.py and adapt it s.t. uses the doctest_namespace fixture. See https://docs.pytest.org/en/latest/doctest.html#doctest-namespace-fixture
Does this solve some of you issues?

The doctest_namespace workaround works in some cases, but not all. For example, if you try to reference an injected variable from a :skipif:, you get a NameError.
# conftest.py
@pytest.fixture(autouse=True)
def add_doctest_globals(doctest_namespace):
    doctest_namespace['foo'] = False

# test.rst

.. testcode::
    :skipif: not foo

    42

$ pytest --doctest-glob='*.rst'
...
ERROR test.rst - NameError: name 'foo' is not defined

Hey @thisch! We're considering using pytest-sphinx for https://github.com/ray-project/ray. Do you know if support for testsetup is still planned?

Hi! That's great news! Currently support for testsetup is still wanted, but it is not planned to be implemented anytime soon. I've just seen that https://github.com/astropy/pytest-doctestplus has "support" for testsetup, but it just works by accident by using the >>> in the testsetup block,  s.t. the code is run by the doctest plugin that is part of pytest. (https://github.com/astropy/pytest-doctestplus/issues/164)


occasional error when patching status

My controller logs occasionally show errors like this:
ERROR   controller-runtime.manager.controller.servicedirectory  Reconciler error        {"reconciler group": "connectivity.tanzu.vmware.com", "reconciler kind": "ServiceDirectory", "name": "foo", "namespace": "some-service-provider", "error": "servicedirectories.connectivity.tanzu.vmware.com \"foo\" not found"}
github.com/go-logr/zapr.(*zapLogger).Error
        /home/kokoni/.asdf/installs/golang/1.16.3/packages/pkg/mod/github.com/go-logr/zapr@v0.2.0/zapr.go:132
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /home/kokoni/.asdf/installs/golang/1.16.3/packages/pkg/mod/sigs.k8s.io/controller-runtime@v0.8.3/pkg/internal/controller/controller.go:302
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /home/kokoni/.asdf/installs/golang/1.16.3/packages/pkg/mod/sigs.k8s.io/controller-runtime@v0.8.3/pkg/internal/controller/controller.go:253
...

When I add various fmt.Errorf() wrapping inside this library, then I see a bit more of where it's coming from:
ERROR   controller-runtime.manager.controller.servicedirectory  Reconciler error        {"reconciler group": "connectivity.tanzu.vmware.com", "reconciler kind": "ServiceDirectory", "name": "foo", "namespace": "some-service-provider", "error": "controllers-af persist: persistObjects patch: status patch: servicedirectories.connectivity.tanzu.vmware.com \"foo\" not found"}

This seems to happen the first time the library tries to patch the status for a resource, but then it retriggers and gets past it.
I haven't had a chance to dig into this too much now, but in case there's an easy/obvious fix, I wanted to report it early.
Thanks!

Thank you very much @rosenhouse! I'll dig into it. At first sight, seems that it happens because c-af tries to patch a not (yet) existing status object. Looks like a legit bug, even if it's transient.

Fixed in https://github.com/imikushin/controllers-af/commit/fb9eb3e86998a8dc410d420b626469db546309b7 on main


Set custom user agent

Similar to https://github.com/pulumi/pulumi-google-native/issues/73, we should set the user agent of this provider to a Pulumi-specific string to help Pulumi and AWS measure updates that are made by Pulumi. We should allow users to opt out of this user agent if they choose.
This helps both companies understand which features and options are most commonly used by Pulumi and helps us prioritize where to invest in improvements, examples, etc.

Instructions:
The unique UA should use the syntax listed below:
APN/1.0/1.0/([0-9]+.[0-9]+)
For example, if your company name is Cloud Corp and you have a product called My Solution that has a current version of 5.0 you can use the UA below:
APN/1.0 cloudcorp/1.0 mysolution/5.0
 - This should be the name of your company. Please be consistent with the name you use across all products, including case.
 - This can include letters and numbers, avoid spaces and do not use any special characters. - The product/solution name.
 - This can include letters and numbers, avoid spaces and do not use any special characters. For AWS Marketplace solutions add a space and “MP” after the solution name.
Documentation:
AmazonS3-PartnerTrackingv1.2 (1).pdf
AmazonEC2-PartnerTrackingv1.1 (1).pdf
Code Sample:


Updates to polyfills

yp_strnstr was never being replaced by a system function, so splitting it out into its own util file to be more clear.
Moving yp_strncasecmp into its own file, but putting its redefinition into defines.h to make it first.
Adding yp_snprintf as a polyfill for snprintf on systems that don't have it, putting its redefinition into defines.h.

snprintf was previously the only warning generated when compiling with clang so that's gone now.

If yp_snprintf just ignores the size, why not define a variadic macro?
# define yp_snprintf(dest, size, ...) sprintf((dest), __VA_ARGS__)


Tag with version in docker publish

Dear Excalidraw team,
Thanks for your software delivered in permissive license
While I'm currently writing an helm chart to deploy to self-hosted kubernetes cluster (ref #2703), I'm seeing that docker hub contains only "latest" tag, and no other tag seems to be added since ~1 year.
Is it possible to tag with version ?
Anticipated issue :

I'm deploying hightly available deployment with 3 replicas
Node hosting replica 1 is down
Kubernetes is reallocating to another node, without docker image in cache

-> 2 replica have the version of step 1, the new replica download the latest, with version of the step 3, and users observe version inconsistency.

More reasons
  Using a versioned Docker tag rather than just the "latest" tag in a Kubernetes deployment context provides several benefits that improve overall deployment stability, predictability, and manageability. Here are some key reasons:

Reproducibility: Using versioned tags ensures that the exact same image is deployed every time, which guarantees reproducibility. "Latest" is a mutable tag that could point to different images over time, and this can introduce inconsistencies in deployments, making it difficult to identify issues caused by version changes.
Rollback and roll-forward: In case of a failed deployment or detected issues, using versioned tags allows you to easily roll back to a known, stable version or roll forward to a new version. With the "latest" tag, you cannot guarantee which version you are rolling back or forward to, which can lead to unexpected results.
Explicitness: Versioned tags make it clear which version of an image is being deployed. This enhances the understanding of what is running in the environment and reduces confusion among team members.
Dependency management: In a Kubernetes deployment, different components of your application may depend on specific versions of other components. Versioned tags ensure that the right version of each component is deployed and helps to avoid breaking changes introduced by updating to incompatible versions.

Why not using excalidraw.com ?
We're in France, and excalidraw.com break GDPR using Google services without any opt-in.

Source: CNIL
GDPR Article 44
Matomo blog
Noyb article

Hey @Nainterceptor, thanks for the detailed & helpful feedback! Will look into this with the team and get back to you soon.


HW07 ready for grading

Hi Alexander,
Your work is well done, and shows a comfort in working with Rscripts. Your files are clean, efficient and show a comfort with managing data. I particularly liked the idea of the sanity check to ensure the data is in the format you expect it to be in—if you want to display an error message when running from shell, I played around with it and found that one can use stop(“Error message here”) in your Rscript. You mention in your README that you don't think you have the clean part of make down, but I can't see any way in which your clean is lacking.
I think there are two areas where you have room for improvement:

I found your repo a little disorganized due to the number of files in it. I think this can be improved by using your Makefile to move or remove files as needed, or by giving your files matching names so that GitHub’s alphabetical order will organize them for you (e.g. naming your output files output_FileNameHere).

Your tables would be more readable if they were kabled (I know you only print the head() of each table, but it still helps.)

All-in-all not too shabby for an ungodly week of work!
Best,
Alistair

Hi Alexander,
Nice job on your assignment. You clearly seem to understand the mechanics and concepts behind automating workflows using make. You tackled each task (downloading/reading, exploratory analysis, statistical analysis, and generating figures) appropriately. The only areas of improvement that I can identify are the same areas that the previous reviewer highlighted. Employing a better system to organize outputs and utilizing kable would make your submission more aesthetically pleasing and easier to navigate.
Overall, you did a really great job!
Keep it up,
Peter


ISAAC 15 prep

USL plans, tested in sim
fixes to command_astrobee
allowing for exposure and map changes, tested map changes in granite

[x] waiting for submodule to be updated with save command
[x] full granite test with map and exposure changes

this was tested in the lab on 05/08/2024


Throw err;

Hello, I have been trying to find a working script for this cve so I stumbled to find yours. Here is my enviroment. I have MacOSX Mojave, running iterm2. I then did npm install after that i did git clone https://github.com/SamDecrock/node-cve-2018-4407.git onto my desktop. Once done I then started to read the code and do what you instructed to do. I typed node attack.js xxxxxxxxxx. I replaced x with my ipv4 address of course, and then i get this error.
module.js:550     throw err;     ^ Error: Cannot find module 'raw-socket'     at Function.Module._resolveFilename (module.js:548:15)     at Function.Module._load (module.js:475:25)     at Module.require (module.js:597:17)     at require (internal/module.js:11:18)     at Object.<anonymous> (/Users/xxxxxxxxx/Desktop/node-cve-2018-4407/attack.js:1:73)     at Module._compile (module.js:653:30)     at Object.Module._extensions..js (module.js:664:10)     at Module.load (module.js:566:32)     at tryModuleLoad (module.js:506:12)     at Function.Module._load (module.js:498:3)
is there any way you can help me at this.

Are you sure you did npm install from whithin the node-cve-2018-4407 folder?


Updates pjax to 1.9.5

Thank you!

 Question about RubyGems: last time i checked there it was outdated.

@MarcosMenegazzo I'm going to push new version right now

Oh looks like I don't have permissions. @rafaelfranca I've sent you an email, can you give me permissions on rubygems?

Hi @route, did you get the permissions? Rubygems still outdated

@MarcosMenegazzo sorry for the delay I'll update it soon, pretty busy with my current tasks


Phantom devices

I have around 30 Z-Wave devices using an Aeotec ZW090 stick.
I have this setup sine several years, using Domoticz and currently transitioning to Home Assistant.
The issue is that for many nodes , I get several 'phantom' devices being discovered.
These will then generate useless devices in Domoticz or HomeAssistant.

I have tried many times to delete these devices in Zwave-JS-UI by selecting the device, pressing DELETE than STORE.
I have also cleared the MQTT messages with RETAIN flag, and also tried clearing the full MQTT database.
However each time I restart Zwave-js-ui, these phantom devices come back.
I also noticed that each time I restart, the 'phantom' devices are always the same.
I have multiple nodes of the same type (for example Fibaro FGWPE/F-101), but they don't have the same 'phantom' devices, some have less, some have more.
Why is this happening?
Is there a place within Zwave-JS-UI or it's file structure that I need to clear or delete ?
How can I avoid this?
Thanks!

How do I disable the discovery for just these values?
I have the option to disable discovery for the whole node, but then I will be missing the 'good' values as well.

Sorry I have checked code to be sure and there is actually no support for ignoring the discovery of some specific values

You should set "ignoreDiscovery": true in the discovery configuration of the devices you don't want to discover


cuelang.org: inline code blocks are permitted to line wrap

What page were you looking at?
https://cuelang.org/docs/howto/embed-files-in-cue-evaluation/
What version of the site were you looking at?
https://github.com/cue-lang/cuelang.org/commit/0425ac00c4d863343bbcbf59f6d137abaf6bd5e0
What did you do?
Published a page that included
`type=<filetype>`

What did you expect?
That any text inside an inline code block wouldn't wrap across lines, and would either be forced to fit on the first line, or would spill over entirely onto the next line.
What did you see instead?
The type=<filetype> is split across two lines:

I'm aware I could manually avoid this with a trailing backslash /before/ the type=<filetype> atom, and a newline in the Markdown source. However, @myitcv has pointed out that white-space: nowrap in CSS might be able to prevent this problem from happening thereby avoiding manual formatting needing to be placed in the source.

@jpluscplusm - please can you add details of your browser user-agent in this report? Because as discussed earlier, I could not reproduce this on Mozilla/5.0 (X11; Linux aarch64; rv:109.0) Gecko/20100101 Firefox/115.0


french config

hi buddy, is config.json fr up to date with the latest versions?

I don't mean, it's up to date.
You can update it if you want. :-)

Hey, the French configuration is a contribution by users of the bot so it gets updated when new contributions happen. The current version is about 3 months old and given how often I update the bot and add new config options it's quite outdated yes but it can at least be used as a starting point and then you can add the new config options and translate them as you see fit.
Good luck!


Unable to resolve module from moment

After trying to test this calendar module I replaced the index.ios.js with the example, I get and error in the simulator "Unable to resolve module moment from ... Unable to find this module in its module map or any of the node_modules directories under ... and its parent directories. "
It gave a suggestion to fix but I tried and still get this issue. Any clue what the issue might be?

You added react-native-calendar to your package?

I'm having same issue with 0.6.3. Looks like there's no CalendarIOS.js under node_modules. 0.6.2 works fine.

It's showing dependency error, please use below command to resolve-
rm -rf node_modules && npm install

what mean bn "-rf". I couldn't run with -rf.

what mean by "-rf". I couldn't run with -rf.

try
rimraf node_modules && npm install
If you don't have rimraf, just install by below command
npm install rimraf -g


Register region-aggregation for Enertile and FLEX

Permissions added for FLEX and ENERTILE modelers to submit scenarios to the ECEMF-internal Scenario Explorer


Repeated string equate causes an infinite loop when referenced

string equs "anything"
string equs "anything"
string

rgbasm will accept the following without complaint if string is not referenced:
string equs "anything"
string equs "anything"

If the equates don't match, rgbasm will raise Buffer safety margin exceeded:
string equs "anything"
string equs "anything else"

Oops, this is not really a bug (except for the circular reference causing an infinite).

It took me a while to understand the problem.
string equs "anything"
string equs "anything"

That is converted to:
string equs "anything"
anything equs "anything"

If string is used, it will be replaced by anything, which will be replaced by anything again, and so on. That's why the bug only happens when you actually use string. The third case is the same thing, I guess that the line yyunputstr(s = sym_GetStringValue(dest)) is executed in an infinite loop causing the buffer to be filled (and that's why that error message is showing).

Maybe a warning? Something like "Self reference in an EQUS, it may cause an infinite loop." the is only shown once per execution of rbgasm.

Hmm... I'm struggling to think of any reasons why someone would deliberately use EQUS recursively. As a result, I'd say we should show an error and stop straightaway, to avoid a (most likely undesired) infinite loop.
As for detecting it, we could keep track of all the EQUSes we've used in the current evaluation (e.g. with a stack), and stop if we encounter an EQUS we've already seen. This could be a faff, but it'd solve the issue (unless if I've overlooked something).

Well, an EQUS can be assigned a multiline string. You can do something like:
STORE_ARGS EQUS "IF _NARG > 1\n DB \\1\n SHIFT\n STORE_ARGS\nENDC"

And you could use it to store an arbitrary number of macro arguments. You can't do that with a macro inside a macro.

On the other hand, it is true that some of the most hacky constructs in C are done using #define, so prohibiting recursive EQUS could make sense. I'm not sure about this.

By the way, the same problem exists with macros:
HELLO : MACRO
    HELLO
ENDM

    HELLO

I think that the only thing that can realistically be done is to warn about this problem.
I don't think there's a good way of solving this. Both EQUS and macros can have this problem, and it can be hidden very easily if the coder wants to (by having a chain of 2 or 3 definitions, for example).
It cannot be detected by the parser either because when it finds a symbol that has to be replaced by an EQUS it simply sends the string to the lexer for it to handle. It cannot even be detected by preventing the replacement of the same EQUS in the same line twice, you could be trying to use it in two different places and that's not a problem.
Also, it can only be detected when it is actually used: An EQUS may change if you redefine it.
Macros are even worse. If you hide the recursive usage of the macro inside an IF, how can you even know if the problem is going to happen or not? You could even do crazy things like getting the assembler into a loop that only ends when a specific time is reached! xD

I've pushed this: https://github.com/rednex/rgbds/commit/4228e3e8900af0d42e5e2384af90deeef8882008
I really don't know if it makes sense to spend time trying to detect this considering that any possible test is going to be incomplete and, in the end, everything comes down to the programmer doing things right..

I would say to not expand macros nor equs when used as a macro or equ name

I don't think I understand what you mean, could you show what you mean with an example?

When defining an EQU, the part on the left of it should not be fed into the macro expanding part.  Same goes for macros - you probably won't need any macros or similar in the name part.

That doesn't help solve the problem. You can still do this:
AAA EQUS "BBB"
BBB EQUS "AAA"

AAA ; Infinite loop

A possible solution would be to enforce a recursion depth limit. This limit could be passed as a command-line argument, too, so a recursion-heavy program could be still made working.

Fixed in e0e8170fe6bbbb786e407a9a95f5848ab10a1f26


Detour LUA traces

Does what it says. It targets util.TraceLine, I may add overrides for TraceHull or TraceEntity in the future but that would be significantly more difficult. The main benefit of this is that many addons or even internal modules use util.TraceLine, chiefly, for a LOT of logic. You can now, for instance, look at yourself through a portal and see your name and health show up on your crosshair as if you were another player. This is because the module that controls that behavior uses util.TraceLine.
Another fun application of this would be allowing you to shoot portals through other portals with the portal gun. All that would need to be done is to remove the filter for seamless portals (well, it's 3 lines more complicated than that). I've tried it myself and it was really cool, however that is the kind of design decision that the creator should have discretion over.
I've added a 4-layer recursion limit, there's no real reason for this other than that 4 is the default portal depth in Portal.

Watch a demo here

I dropped this file in my autorun folder but it breaks being able to walk through to the other side of the portal.

I dropped this file in my autorun folder but it breaks being able to walk through to the other side of the portal.

I'm not one to be presumptuous but I think you've probably done something wrong. It works fine for me, I suggest re-downloading the whole thing from my fork and replacing the plugin, in your plugins folder.
In general you don't want to be putting plugin files in the garrysmod directory. If you meant the autorun folder inside of the addon directory, then that's fine I suppose and I'm not sure what went wrong. Any errors in console?

If none of that works, then give steps to reproduce/any console errors and I'll get to work on fixing it. I'm not sure how this would affect the portal functionality, as it is a completely new, isolated file I've added in this PR. Maybe you replaced an existing one?

https://user-images.githubusercontent.com/3190007/156670945-41a3411a-fe4c-4b97-8558-58b4a8036f3b.mp4
No errors in the console.

Okay, working on fixing it now

It's "fixed". If this PR is merged, it will be necessary to either set noDetour to true in the Trace arguments or to add relevant portals to the filter in order to bypass the detour code in the future.

probably will accept this pr, but will do heavy modifications if thats fine with you

No, I don't mind modifications at all. This will for sure cause some visual strangeness, like for "line from start pos to trace hit pos" operations (going to go in some strange direction) but I think it's an overall improvement. It plays well with my mountain of addons which is the best stress test that I can personally devise


Add Lake Shrine's logic

Lake Shrine is in a weird spot in terms of logic, since you pretty much already have everything when going there
Adding it to logic might be interesting (especially when we don't put skipLastDungeon flag) but could also be a sink of non-progression items (Life Vessels, Magic Seeds...)
Add the full Lake Shrine logic, taking into account the various ways distant switches can be triggered
Test the well teleporter once there

Added in ebc3930


Oto doesn't work on some Windows machines (44100hz)

I'm still trying to collect more info, but I got some bug reports from the players that claim that the game doesn't run on Windows.
I wasn't able to reproduce it, but one of the players shared this info:
https://steamcommunity.com/app/2416030/eventcomments/3820795764942715398/?tscn=1693875357#c3820796140090974511
panic: oto: initialization failed: WASAPI: oto: the specified format is not supported (there is the closest format instead), WinMM: oto: device not found

Windows version is Microsoft Windows [Version 10.0.19045.3324]
Oto version used is github.com/hajimehoshi/oto/v2 v2.4.0
I'm not sure if this issue is fixed in the later oto release, since I can't reproduce this crash. :)
I requested the sound hardware info details from the user.
The closest thing I've found is this issue:
https://github.com/ebitengine/oto/issues/215
But it was about 48000hz; could it be related to the 44100hz as well?

Yeah, I think this is already fixed in the main branch at #215. So, would it be possible to test the main branch of Oto and Ebitengine? If this works, I'll consider to backport the fix.

Yes, it should be possible to test.
I'll create an open "beta" game branch in Steam to ask the player to test whether it's any different.
I'll report back when any new info is available.

go: upgraded github.com/hajimehoshi/oto/v2 v2.4.0 => v2.4.1

v2.4.1 doesn't include the fix unfortunately. You'd need to test Ebitengine v2.6.0-alpha.6 or something.

Ah, I see.
I'll do this then:
$ go get github.com/hajimehoshi/ebiten/v2@main
go: upgraded github.com/ebitengine/purego v0.3.2 => v0.5.0-alpha.1
go: upgraded github.com/hajimehoshi/bitmapfont/v3 v3.0.0-alpha => v3.0.0
go: upgraded github.com/hajimehoshi/ebiten/v2 v2.5.0-alpha.12.0.20230228174701-7c0fbce0cfd8 => v2.6.0-alpha.6.0.20230903172145-20ddfba98368
go: upgraded golang.org/x/image v0.8.0 => v0.11.0
go: upgraded golang.org/x/mobile v0.0.0-20230531173138-3c911d8e3eda => v0.0.0-20230818142238-7088062f872d
go: upgraded golang.org/x/sys v0.9.0 => v0.11.0
go: upgraded golang.org/x/text v0.10.0 => v0.12.0

$ go mod tidy
go: downloading github.com/ebitengine/oto/v3 v3.1.0-alpha.2

So, it's Ebitengine v2.6.0-alpha.6.0.20230903172145-20ddfba98368 and Oto v3.1.0-alpha.2

Yeah, this should include the fix. Thanks!

I think this was resolved.


[BEAM-3182] [Nexmark][SQL] Implement Query 7

This implements Nexmark query 7 in SQL.
Java version of the same query

Follow this checklist to help us incorporate your contribution quickly and easily:

[X] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[X] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[X] Write a pull request description that is detailed enough to understand:
[X] Each commit in the pull request should have a meaningful subject line and body.
[X] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.

R: @kennknowles

@akedin

run java gradle precommit

LGTM

run java gradle precommit

Build is green.

LGTM


Illegal instruction (core dumped)

Hi, I get this error, but 10 days ago, with the same command I download data, without errors:
I use on Ubuntu 22.04 Python version 3.10.12
Executing command: overturemaps download --bbox=34.71971838,31.98269322,34.86513722,32.15459484 -f geojson --type=place -o 'tmp__overturemaps.geojson' Command failed with return code 132 Error output: Illegal instruction (core dumped)

I wasn't able to reproduce this on macOS 14.5 with a local poetry install or direct pip install, I'll try an Ubuntu machine later. Can you provide the output of  pip list | grep overturemaps to verify the version?
Repro attempt:
❯ python3 --version
Python 3.10.12
❯ python3 -m venv python3_10_12_install
❯ source ./python3_10_12_install/bin/activate
❯ pip3 install overturemaps
Collecting overturemaps
  Downloading overturemaps-0.8.0-py3-none-any.whl (9.6 kB)
Collecting click>=8.1.7
  Downloading click-8.1.7-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.9/97.9 kB 3.2 MB/s eta 0:00:00
Collecting numpy>=1.26.4
  Downloading numpy-2.0.1-cp310-cp310-macosx_14_0_arm64.whl (5.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.3/5.3 MB 42.4 MB/s eta 0:00:00
Collecting shapely>=2.0.3
  Downloading shapely-2.0.5-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 47.0 MB/s eta 0:00:00
Collecting pyarrow>=15.0.2
  Downloading pyarrow-17.0.0-cp310-cp310-macosx_11_0_arm64.whl (27.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 27.2/27.2 MB 22.9 MB/s eta 0:00:00
Installing collected packages: numpy, click, shapely, pyarrow, overturemaps
Successfully installed click-8.1.7 numpy-2.0.1 overturemaps-0.8.0 pyarrow-17.0.0 shapely-2.0.5

[notice] A new release of pip is available: 23.0.1 -> 24.1.2
[notice] To update, run: pip install --upgrade pip
❯ overturemaps download --bbox=34.71971838,31.98269322,34.86513722,32.15459484 -f geojson --type=place -o 'tmp__overturemaps.geojson'
❯ head -2 tmp__overturemaps.geojson
{"type": "FeatureCollection", "features": [
{"type":"Feature","geometry":{"type":"Point","coordinates":[34.73546,31.99126]},"properties":{"id":"08f2db0cd69913b6030f5e818f62b1f2","version":0,"sources":[{"property":"","dataset":"meta","record_id":"212418172459330","update_time":"2024-07-11T00:00:00.000Z","confidence":null}],"names":{"primary":"\u05d2\u05df \u05d9\u05dc\u05d3\u05d9\u05dd \u05de\u05d0\u05dc\u05e3 \u05d5\u05e2\u05d3 \u05d8\u05e3 - \u05de\u05d5\u05d1\u05d9\u05dc\u05d9\u05dd \u05d7\u05d3\u05e9\u05e0\u05d5\u05ea \u05d1\u05d7\u05d9\u05e0\u05d5\u05da","common":null,"rules":null},"categories":{"primary":"preschool","alternate":["school"]},"confidence":0.6721518987341772,"socials":["https://www.facebook.com/212418172459330"],"phones":["+972506887710"],"addresses":[{"freeform":"\u05d4\u05de\u05d2\u05d9\u05dc\u05d4 36 ","locality":"Rishon Le Zion","postcode":null,"region":null,"country":"IL"}]}},

~$ pip list | grep overturemaps overturemaps              0.8.0

I tried this on Pop!_OS 22.04 LTS and it works fine.
What's the spec like of your machine? Try running cat /proc/cpuinfo

@piergiorgio-roveda Are you still seeing this issue? I can't reproduce it.


Some question about lexemes for new langage definition (Netlogo)

Ok, i try by myself to create an highlight file for netlogo langage :)
I'm not a specialist about regex, and i have one or two question, perhaps highlight community can answer me ?
I create a regex group to capture keyword only when they'are not linked/mixed/concatened to special characters.
random -> is a keyword
#random  -> is not a keyword, but an authorized variable
?ra3ndom -> is not a keyword, but an authorized variable
random? -> is not a keyword, but an authorized variable
ran?dom -> is not a keyword, but an authorized variable
ra3nd#om -> is not a keyword, but an authorized variable
rand5om# -> is not a keyword, but an authorized variable

With this group regex rule (^|\s)(\w+)(?=\s|$), i found how to capture correct string, which need to be tested again keyword list in a second time.
You can see interactive result here
I try to inject this rule in lexemes option without success :
function(hljs) {
  return {
    aliases: ['netlogo'],
    case_insensitive: true,
    lexemes: '(^|\s)(\w+)(?=\s|$)',
    keywords: {
      keyword:
      'ask ask-concurrent random random`
    },
};
}

I suppose this is not the correct way to do : / ?
Another question, if i need to highlight some specific variable keyword like this bottom exemple, where can be anything.
<breeds>-here
create-<breeds>

example of highlight in netlogo :
duck-here
create-duck

I need to create a new MODE i suppose ?
Thanks,

I make some progress, and the first part of the lexeme used for keyword detection work :  '(\w+)(?=\s|$)'
Now, i need the complete lexeme, so how can i indicate to highlight.js parser that i want to capture only the second group here (\\w+) in this regex  : (^|\\s)(\\w+)(?=\\s|$)  ?

If I understand your question correctly, the keywords can be handled like this:
{
lexemes: /[#?\w]+/,
keywords: 'ask ask-concurrent random ... '
}
They way it's going to work is the parser will first catch all the tokens that might be either keywords or variables and then will only highlight those that are exactly matched by what you list in keywords.

I didn't understand the question about ducks :-) Looks like you included some HTML in your comment and GitHub didn't display it? Could you reformulate that?

i understand that \s need to be writed \\s for hightlight.js

If you use strings, yes. But you can use literal regexps like /\s/


start.sh initiates infinite error loop

I'm not able to get cloxp running on either OS X or Docker.
I can reproduce this bug  at will, consistently on both OS X 10.10.4 and the cloxp docker container by follwing the Cloxp installation instructions.
On final step: $ ./start.sh results in the following, repeating pattern of messages, which include multiple errors. By repeating, I mean that the Forever script keeps restarting the process, requiring ^C to interrupt.
I tried to extend the --minUptime setting to 100s by editing the option directly on line 267 of cli.js but this failed to correct the issue, which I'm still unable to ascertain the cause of.  My best guess so far is that has something to do with the error:[2015-08-07 13:07:47.803] [ERROR] console - composeAsync:  'Error: Trying to get unknown option lively.Config.userAuthEnabled\n but would appreciate your input. Thanks! (Also, thank you for Cloxp. Looks really cool!)
/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel /Volumes/PRODATA/DATA/www/edu/clojure/cloxp
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
Checking if PartsBin exists...
...yes
[2015-08-07 13:07:47.713] [INFO] console - Lively server started with cross origin resource sharing (CORS) enabled.
Fri, 07 Aug 2015 17:07:47 GMT connect deprecated multipart: use parser (multiparty, busboy, formidable) npm module instead at node_modules/life_star/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:56:20
Fri, 07 Aug 2015 17:07:47 GMT connect deprecated limit: Restrict request size at location of read at node_modules/life_star/node_modules/express/node_modules/connect/lib/middleware/multipart.js:86:15
[2015-08-07 13:07:47.803] [ERROR] console - composeAsync:  'Error: Trying to get unknown option lively.Config.userAuthEnabled\n    at Object.Global.Config.get (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/core/lively/defaultconfig.js:205:54)\n    at setupAuthHandler (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/life_star/life_star.js:266:42)\n    at /Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:430:16\n    at next (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:426:25)\n    at setupSSLCertHandler (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/life_star/life_star.js:259:5)\n    at /Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:430:16\n    at next (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:426:25)\n    at setupHTTPLogger (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/life_star/life_star.js:249:5)\n    at /Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:430:16\n    at next (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:426:25)'
[2015-08-07 13:07:47.805] [ERROR] console - Error starting life_star: Error: Trying to get unknown option lively.Config.userAuthEnabled
[2015-08-07 13:07:47.805] [INFO] console - Server with pid 19853 is now running at http://localhost:9001
[2015-08-07 13:07:47.805] [INFO] console - Serving files from /Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel
[2015-08-07 13:07:47.814] [INFO] console - Lively server starting...
error: Forever detected script exited with code: 0
error: Script restart attempt #1
Checking if PartsBin exists...
...yes
[2015-08-07 13:07:48.975] [INFO] console - Lively server started with cross origin resource sharing (CORS) enabled.
Fri, 07 Aug 2015 17:07:49 GMT connect deprecated multipart: use parser (multiparty, busboy, formidable) npm module instead at node_modules/life_star/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:56:20
Fri, 07 Aug 2015 17:07:49 GMT connect deprecated limit: Restrict request size at location of read at node_modules/life_star/node_modules/express/node_modules/connect/lib/middleware/multipart.js:86:15
[2015-08-07 13:07:49.059] [ERROR] console - composeAsync:  'Error: Trying to get unknown option lively.Config.userAuthEnabled\n    at Object.Global.Config.get (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/core/lively/defaultconfig.js:205:54)\n    at setupAuthHandler (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/life_star/life_star.js:266:42)\n    at /Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:430:16\n    at next (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:426:25)\n    at setupSSLCertHandler (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/life_star/life_star.js:259:5)\n    at /Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:430:16\n    at next (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:426:25)\n    at setupHTTPLogger (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/life_star/life_star.js:249:5)\n    at /Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:430:16\n    at next (/Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel/node_modules/lively.lang/lib/function.js:426:25)'
[2015-08-07 13:07:49.060] [ERROR] console - Error starting life_star: Error: Trying to get unknown option lively.Config.userAuthEnabled
[2015-08-07 13:07:49.060] [INFO] console - Server with pid 19858 is now running at http://localhost:9001
[2015-08-07 13:07:49.060] [INFO] console - Serving files from /Volumes/PRODATA/DATA/www/edu/clojure/cloxp/LivelyKernel
[2015-08-07 13:07:49.062] [INFO] console - Lively server starting...
error: Forever detected script exited with code: 0
error: Script restart attempt #2
Checking if PartsBin exists...
...yes```

Hi,
thanks for the bug report!
I updated the version of Lively used in cloxp-pre-0.0.8 to include the path for this issue (https://github.com/cloxp/LivelyKernel/commit/b99b2c19d2fae5e9d096a0c8e0fa0ef184a67f17).  The installation and start should now work as advertised.
Please let me know if you see other issues or want to give feedback.  I had to postpone development for cloxp for a while but getting back into it now.
Thanks,
Robert

Thanks Robert! It's working.
Just a little feedback that might help newcomers have an easier time getting started:
Upon completion of running start.sh the final console message for me was:
LivelyFsHandler registerWith done
This was followed, unceremoniously, by a flashing cursor. I was expecting a message with instructions on which port to open my browser to.
Opening my browser to localhost:9001 returned a webdav listing of files.
Clicking on cloxp.html got me into a working system. Please let me know if there's a better way. Should we include these extra steps in the cloxp-install readme?

Thanks, this stuff really isn't too clear.  I make emphasize it in the readme and will add an auto-browser launch inside start.sh.  Still dreaming of a hosted cloxp, though :)


expose http GET only

Is there currently a way to expose the GET resource separately from the other GETs & POSTs?
ie:
I would like to (publicly) provide access to
GET http://server1.example.com:8080/3,238ceaa9a7

but not to
POST http://server1.example.com:8080/3,238ceaa9a7

nor
GET http://server1.example.com:8080/status (etc...)

Right now my alternatives seem to be:

iptable string matching (which doesn't seem very fun)
proxy server (extra hop + defeats the purpose of fully concurrent reads)

I think a reasonable solution would be to provide some alternative ip:port binding for just the resource GETs.

Here are some design thoughts. https://groups.google.com/forum/#!topic/weed-file-system/MHumA5d-Zw0
Please add your ideas.

Simplifying the design by adding a "-port.public" option (in v0.69beta as of now). If set, the public port will only serve GET or HEAD requests. The JWT feature can be done later.


"Barrows equipment"

Because the wiki guide says "Barrows body" and "Barrows legs" but in the plugin it says "Barrows equipment" it shows a Ahrims top as recommended for Body and legs.
https://oldschool.runescape.wiki/w/Vardorvis/Strategies#Equipment
It should only find tank body/legs, and only legs for legs and body for body

To be clear, the wiki indeed links to Barrows equipment


[[Bug]] Some cloze cards are failing to import?

When I run ankify roam, I'm getting the error message bellow.
From going through and looking at the individual blocks...

All of them are from the same page.
They are all cloze deletions.
Other blocks on that page are being imported just fine.

Any thoughts / suggestions?
2021-12-06 08:49:35,565 - INFO - Setting up Ankifier
2021-12-06 08:49:38,663 - INFO - Loading Roam Graph
2021-12-06 08:50:00,624 - INFO - Fetching blocks to ankify
2021-12-06 08:50:00,940 - INFO - Ankifying 520 blocks
2021-12-06 08:51:58,571 - ERROR - Failed ankifying <Block(uid='Cd9cwEhyr', string='sin(θ) is ...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:51:58,669 - ERROR - Failed ankifying <Block(uid='nNKkUDUUP', string='sin(θ) is ...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:52:39,619 - ERROR - Failed ankifying <Block(uid='ftOpDJaz7', string='If a funct...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:52:40,206 - ERROR - Failed ankifying <Block(uid='EmR0zLCeV', string='If a funct...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:52:44,669 - ERROR - Failed ankifying <Block(uid='WCfXhdjRj', string='If a funct...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:52:51,807 - ERROR - Failed ankifying <Block(uid='xI_w3JKSC', string='If a funct...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:52:53,426 - ERROR - Failed ankifying <Block(uid='OBg1F2jof', string='If a funct...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:52:54,009 - ERROR - Failed ankifying <Block(uid='FFMKiKxfX', string='If a funct...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:53:01,810 - ERROR - Failed ankifying <Block(uid='nOwj0CbLQ', string='The first ...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:53:02,876 - ERROR - Failed ankifying <Block(uid='OlmEvvMLL', string='The second...')> during upload to anki
Traceback (most recent call last):
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/ankifiers.py", line 83, in ankify
    anki.add_note(anki_note)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 52, in add_note
    return _invoke("addNote", note=anki_dict)
  File "/Users/elityre/Library/Python/3.8/lib/python/site-packages/ankify_roam/anki.py", line 37, in _invoke
    raise GenericResponseError(response['error'])
ankify_roam.anki.GenericResponseError: cannot create note for unknown reason
2021-12-06 08:55:28,934 - INFO - Added 17 new notes and updated 493 existing notes

@Etyre Could you export the page as json and send it to me? Or create a new page with a couple blocks on it which produce the error and export that

Sure. I can't attach a JSON file to a issue-message in GitHub, so I just emailed you.
Let me know if you figure anything out!

An update: I think that all of these blocks include a cloze deletion and most (but not all of them) include a greek letter, either θ, α, or π.

Update on this: I as near as I can tell, cloze deletions blocks, in general, have stopped importing for me.
Looking at my decks and which blocks cause the errors, I don't think that any of my cloze deletion cards have been imported almost a year. (The last ones that I can definitely pinpoint are from July 2021).
Do you have any idea what's up with that? Or a suggestion about what I should do to troubleshoot here?

Very strange! I haven't had any issues with cloze deletions on my end. I remember trying to replicate this shortly after you'd reported the issue and wasn't able to. I'll try again later this week with the export you provided already on the latest version and see if I have any luck

Any updates on this?
I have a growing pile of cloze deletion cards that fail to import every time I run ankify_roam, and I don't have any guesses about what might be going wrong.

I think I found the problem. I was able to replicate using the "Calculus for the Forgetful.json" you'd sent me previously and fix on my end. Looks like the "Roam Cloze" note type created using ankify_roam init-models had an issue.
If you can confirm the fix works before I deploy to master, that'd be great. If I don't hear back in a few days I'll go ahead deploy. Here are the steps to check the fix:

In Anki, delete the "Roam Cloze" note type (go to Tools > Manage Note Types, select "Roam Cloze", click delete). If the problem you're having is what I think, you shouldn't have any cards of that type in Anki right now.
Install the branch with the fix.

pip uninstall ankify_roam
pip install git+https://github.com/taylormitchell/ankify_roam.git@fix-cloze-import

Re-create "Roam Cloze" then import.

ankify_roam init-models
ankify_roam add ~/Downloads/Calculus\ for\ the\ Forgetful.json

Let me know if it works!

Sorry for the delay. I must have missed this my email. (I'll keep and eye out going forward).
When I go look at "Roam Cloze" in "Note Types", it looks like there are 155 notes of that category. (Which makes sense to me. I made a lot of cloze cards before that stopped working.)
I'm hesitant to delete the note type for fear of deleting those cards.
I could still follow these other steps though, if that seems likely to help.

Follow up on this?

Hey sorry, this fell off my radar.
Here's a modified version of the steps above which will keep the existing cloze notes you have:

In Anki, rename the "Roam Cloze" note type to "Roam Cloze broken" (go to Tools > Manage Note Types, select "Roam Cloze", click Rename)
Install the branch with the fix.

pip uninstall ankify_roam
pip install git+https://github.com/taylormitchell/ankify_roam.git@fix-cloze-import

Re-create "Roam Cloze" note type

ankify_roam init-models

Change your "Roam Cloze broken" notes to the "Roam Cloze" type you just created (Go to Browse, search "note:Roam Cloze broken", select all notes and right click, Notes > Change Note Type... > Roam Cloze)
Delete the "Roam Cloze broken" note type
Now re-try the import

ankify_roam add ~/Downloads/Calculus\ for\ the\ Forgetful.json

If this doesn't work, or you're still worried about breaking something, let me know and let's hop on a call to do it together.

I'm wanting to try this on a different computer than my main one, so that if I mess it up I don't delete a bunch of my cards. Waiting until I have access to another machine.

Hm. When I run ankify_roam init-models, I get the following error message.
(base) atlasfellowship@Claires-MBP-4 ~ % ankify_roam init-models
Traceback (most recent call last):
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/urllib/request.py", line 1346, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/http/client.py", line 1285, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/http/client.py", line 1331, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/http/client.py", line 1280, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/http/client.py", line 1040, in _send_output
    self.send(msg)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/http/client.py", line 980, in send
    self.connect()
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/http/client.py", line 946, in connect
    self.sock = self._create_connection(
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/socket.py", line 844, in create_connection
    raise err
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/socket.py", line 832, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/atlasfellowship/opt/anaconda3/bin/ankify_roam", line 8, in <module>
    sys.exit(main())
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/site-packages/ankify_roam/cli.py", line 141, in main
    func(**args)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/site-packages/ankify_roam/cli.py", line 28, in init_models
    models = add_default_models(overwrite=overwrite)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/site-packages/ankify_roam/default_models.py", line 274, in add_default_models
    modelNames = anki.get_model_names()
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/site-packages/ankify_roam/anki.py", line 122, in get_model_names
    return _invoke("modelNames")
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/site-packages/ankify_roam/anki.py", line 24, in _invoke
    response = json.load(urllib.request.urlopen(request))
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/urllib/request.py", line 1375, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/Users/atlasfellowship/opt/anaconda3/lib/python3.9/urllib/request.py", line 1349, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 61] Connection refused>
(base) atlasfellowship@Claires-MBP-4 ~ %

Ah. That was because I needed to install Anki connect, though.

Ok. As near as I can tell, that worked. All 79 close cards that have been piling up, failing to import are now in my deck.
Woo!
Thank you so much for your help. I'm looking forward to going back to relying heavily on cloze cards.
The updated version of Ankify_roam did cause a new problem, of a sort, but that's unrelated, so I'll make a new thread for it.

Awesome and no problem! Sorry it took so long, but I'm glad it's finally working for you :D


Limitation of 255 key length

In real world KV applications keys are often less that 255 bytes, but some could run 512bytes to 1K range, for example, if it's the concatenation of several business keys.
What would it take to move the limit to 1K? And would it make sense to compress and/or provide the key as a bit string before calling insert/find?

EliasFano compression for example is one of the options I've seen in this general area.

Or is 255 structurally determined by the HOT algorithm for other reasons?

uint8 is used to store offsets of descriminative bits, this leads to the hard limit of 255 key length. If you change it to a large type, you may store longer keys.
key compression is not available, because trie splits key and store prefixes top down through the tree structure. Compression will break the lookup logic.


Replace client wait with wait query parmeters

Signed-off-by: feihujiang<EMAIL_ADDRESS>Use the wait query parameter  of POST /batches endpoint to replace client wait process.

This PR removes functionality. If merged, the XO Client will be unable to --wait for times longer than 300s.
After ~300s to REST API will timeout on it's own, regardless of how long you asked it to wait. This is configurable, but sooner or later you will hit limits with how long you can keep an HTTP request open (usually around 300s). The solution implemented here is to make a new request on every timeout, until the --wait time is expired, or the Batch is no longer PENDING.
Some tweaks to the REST API could be made to better support >300s wait times, but for now at least, this is the recommended way to implement an indefinite wait.

@vaporos @delventhalz Thanks for your detailed explanation. I got it, I closed this PR.


Monitor list of Jobs via Jobs GUI

Is this an off-the-shelf UI?
Be able to filter and sort on metadata
Filters include (combinations allowed):

list jobs with filter: Workflow name
list jobs with filter: label
list jobs with filter: submitter
list jobs with filter: an updates within timerange (Start/stop)
list jobs by parent job ID

For 23.2:

build directly on WPS-T
basic table of jobs with columns for metadata
sort by column
filter within each column by type-in search
start with everything on the client-side and move over to sort/filter on server over time

You should be able to see the full metadata of an item by selecting it (e.g in a bottom panel or right-hand panel)

@anilnatha FYI some design stories in this issue

follow up on errors : https://github.com/unity-sds/unity-jobs-ui/issues/3

jobs db: https://github.com/unity-sds/unity-project-management/issues/38

a lot of the required columns aren't in WPS-T.
jobs DB is being deprecated.
push this into Airflow and evaluate vs. requirements

evaluation is in https://github.com/unity-sds/unity-jobs-ui/issues/32
closing this one


Thread keeps running for a while after service is stoped

Hi all
Im using Topshelf to implement a self hosted MVC application. Generally things work find. However I have one question. When I stop the service either in the MMC or command line Windows gives back that the service is stopped. However when I check in task manager I see that the exe is still running for another 5-10 seconds. This results in two problems:

When I hit restart, I see two threads running and sometimes I see in the log, that the first one is still shutting down, while the second one is starting. This is not really a good situation. At a given time only one service should be running.
Deployment is not stright forwards. I first have to stop the service and then wait for a moment (check task manager) until I run the install command, because certain files are still locked by the stopping service. Unfortunatly Windows reports the service to be stoped even so the thread is still running.

Is there any way to tell Topshelf to wait telling Windows the service is stopped until the service is really terminated?
Thanks
Philipp

I don't think I've see this problem with hitting restart in the services panels. What version of Windows are you running on?
For upgrades, I believe this is an issue with the SCM, I don't have a great work around. When scripting upgrades I've just worked a few second sleep in after shutting a service down to make sure it's really done.

I can observe this on Windows 2008 R2 and also Windows 2012 R2. I needed to tell my admins that restarting the service is: a) stop the service, b) look at task manager until exe is stoped, c) restart the service (not intuitive and not as it should be). If they do not do this I may have two instances of the service running. For upgrades I also added some wait time, but it takes up to 10 seconds until the exe really terminates.

have you tried Thread IsBackground property?
see my last comment  on Update:
Topshlef <IP_ADDRESS> Service not starting only on windows server 2012 https://github.com/Topshelf/Topshelf/issues/183


Inserting ISSN in RefBox

CLARIN.SI now obtained ISSN 2820-4042 for its entries. It would be good - and is in fact required by the rules of NUK, once one has an ISSN - to add the ISSN to the citation info for each entry, i.e. to modify refbox, in particular its displayed info + bibtex + maybe CMDI, if it supports this.

(Oops, I see that last week I edited your comment instead of adding my own. Fixing now.)

CLARIN.SI now obtained ISSN 2820-4042 for its entries. It would be good - and is in fact required by the rules of NUK, once one has an ISSN - to add the ISSN to the citation info for each entry, i.e. to modify refbox, in particular its displayed info + bibtex + maybe CMDI, if it supports this.

Where and how should this be included in the refbox info?
For bibtex, I see that there is an issn field, but is not supported in most styles (https://www.bibtex.com/f/issn-field/).
For cmdi, at first glance I don't see explicit support for this, but I can look further.
And do we only care about the formats included in the refbox, or do we need to worry about oai formats in general? I ask because the relevant files for bibtex and cmdi seem to be in dspace/config/crosswalks/oai/metadataFormats/, and that directory contains quite a lot of other files (np, elg.xsl).
Note that I can't easily test this on beta, since refbox doesn't work there.

Where and how should this be included in the refbox info?

I wouldn't compicate too much here. Something like this:
Ljubešić, Nikola; et al., 2022, ASR training dataset for Croatian ParlaSpeech-HR v1.0, Slovenian language resource repository CLARIN.SI, ISSN 2820-4042. http://hdl.handle.net/11356/1494.

For bibtex, I see that there is an issn field, but is not supported in most styles

Well, that is not our worry. I would just add the issn field.

For cmdi, at first glance I don't see explicit support for this, but I can look further.

No, I would just ignore cmdi, as well as oai.

Note that I can't easily test this on beta, since refbox doesn't work there.

Drat. Well, live practice it will be then!

Now tested live. :)

Looks goo to me, thanks @cyplas !
So, closing.


Bug 2069795: core: reload go routine after CR is edited

Previously, the struct maintaining the list of cluster was still
initialized with a cluster item. Then the monitoring check will see that
the cluster is part of the struct already and thus won't run the
monitoring go routine again.
Now each time we cancel the context, we also remove the cluster item
from the map so that when the controller runs again, the monitoring
struct is re-populated and the go routine runs and statuses are updated.
Closes: https://github.com/rook/rook/issues/9911
Signed-off-by: Sébastien Han<EMAIL_ADDRESS>(cherry picked from commit 05506e7a6836ab27d75552cc14174e6cea274cc8)
(cherry picked from commit fc9278c0402a72ece60d26eefef9b4583f4b0888)

Description of your changes:
Which issue is resolved by this Pull Request:
Resolves #
Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
[ ] Skip Tests for Docs: Add the flag for skipping the build if this is only a documentation change. See here for the flag.
[ ] Skip Unrelated Tests: Add a flag to run tests for a specific storage provider. See test options.
[ ] Reviewed the developer guide on Submitting a Pull Request
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.
[ ] Pending release notes updated with breaking and/or notable changes, if necessary.
[ ] Upgrade from previous release is tested and upgrade user guide is updated, if necessary.
[ ] Code generation (make codegen) has been run to update object specifications, if necessary.

/lgtm


In a graph with two load_collection, the second load_collection is not called so process gets raw load_collection arguments.

I was writing an example where we load two bands of different resolution and then resample one of them and finally concat them into one cube.

When i stop in the resample_cube_spatial process, i get the arguments to load_collection instead of the loaded collection itself. I would guess the problem lies in the conversion from tree to callable graph rather than the resample process.
I execute the graph as:
parsed_graph = OpenEOProcessGraph.from_json(pg_text)
callable_graph = parsed_graph.to_callable(process_registry)
res = callable_graph()

The notebook code to reproduce the potential error is here:
import openeo
import xarray as xr
import matplotlib.pyplot as plt

# Connect to OpenEO
#conn = openeo.connect(eo_service_url)
conn = openeo.connect("http://host.docker.internal:8000")

# Authenticate (replace with your credentials or use OAuth if available)
conn.authenticate_basic(username=user, password=passwd)

# Define the collection and bands to load
collection = s2.s2_msi_l2a
band_10m = "b04"  # Red band, 10m resolution
band_20m = "b11"  # SWIR band, 20m resolution

# Define a bounding box for the area of interest
bbox = {"west": 16.0, "south": 59.0, "east": 17.0, "north": 60.0}

# Load the data for both bands
datacube_10m = conn.load_collection(collection, bands=[band_10m], spatial_extent=bbox)
datacube_20m = conn.load_collection(collection, bands=[band_20m], spatial_extent=bbox)

# Resample the 20m datacube to 10m resolution
resampled_20m = datacube_20m.resample_cube_spatial(target=datacube_10m, method="bilinear")

# Merge the datacubes into a single multi-band cube
multi_band_cube = datacube_10m.merge_cubes(resampled_20m)

result = multi_band_cube.execute()

And in the back:end it ends up like this

Is there something I forgot to do when parsing the tree or is there something that needs to be addressed in this library?
All the best
/Daniel

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Thanks for pointing this out! The issue is not related to the two load calls, but to the fact that both of them have set temoral_extent to n/a, which the pg parser did not allow. I now updated it to also allow None values in the process graph. Please update your pg-parser to version 2024.10.0, then it should resolve as expected!


Added link to event-driven architecture guidance

Simple change to the text to add the link.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Is it possible to Load Facebook Comments in AMP sites

I tried to load Facebook Comments in AMP sites.
This is my Workflow:

Write a Site with a simple Javascript to enter the right URL into the Facebook SDK:

Load in PHP this file into a amp-iframe:
<amp-iframe width="500"  sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-top-navigation"    height="281"    layout="responsive"    allowfullscreen    frameborder="0"  id="fb_comments"    src="https://frame.example.de/fb_comments.html#https://example.de/post"> </amp-iframe>

but the problem in this solution is this error:

Uncaught DOMException: Failed to set the 'domain' property on 'Document': Assignment is forbidden for sandboxed iframes.(…) VM47911 fTmIQU3LxvB.js?version=42:1 Uncaught DOMException: Failed to set the 'domain' property on 'Document': Assignment is forbidden for sandboxed iframes.(…)

It's currently not supported. Best thing is to chime in on this issue at ampproject/amphtml.


[Authorize] About the website (timeago.org) code

I open a project which is detached  from my work.
The website is here. code saved from http://timeago.yarp.com/, and I add the code source here.
The website caused controversy, so open the issue for authorize, if not, I will remove it.

Thanks for chiming in here. My project is MIT licensed. Officially, you can copy it for your own use however you want; however, the way you went about it is likely the reason you had so much controversy.
I also just commented on the Reddit post that blew up a bit:
https://www.reddit.com/r/javascript/comments/51lgh3/timeagojs_a_tiny2kb_library_used_to_format_date/d7f4bzb

Copying the name exactly is very much disingenuous.
Not linking back to the original (my) project in both your documentation and the README and giving credit where credit was due is also disingenuous.
Copying the theme of the documentation pages exactly only adds confusion.

However, with all that said, you were well within your rights according to the MIT license. Most people just see this behavior as likely smarmy, which is why you received so much backlash.
Things that would help here:

I would really appreciate it if you changed the name of your project to something other than "Timeago."
I would appreciate it if you changed the general theme of your documentation site.
I would appreciate it if you did not copy my logo for jquery-Timeago. Please create your own logo.
I would really appreciate it if you might consider selling the domain timeago.org to me.

Thanks for your reply.

The project name is timeago.js, and the all people want to name there project with appropriate meaning, so named with timeago.js is OK.
I will change the website theme later.
The logo will be chanded, very sorry.
README will be updated
How much ? ^_^

Very thanks

The project name is timeago.js, and the all people want to name there project with appropriate meaning, so named with timeago.js is OK.

No. It's really not ok. At a minimum, it's NOT cool. This is likely the main and most important point of contention. Had you implemented timeago in another language, that'd be a different story, but because you chose the same name for the same underlying language, this is probably the main reason why you received so much backlash.
Suggestions for other names you could switch to:

fuzzy time
timestamp
time machine
time cache
point in time
one time
time to time
time before time
... I could go on and on with appropriate names.

How much [for] the domain ? ^_^

Please email me (email address on my GitHub profile) if you're serious about selling it, but please don’t expect much profit from this. I'm only willing to compensate you for your time and hassle.

@hustcc Upon browsing your GitHub profile, I came across your aTool-org organization and associated avatar/logo. It looks like you blatantly copied tumblr's logo.

Your behavior follows a pattern that will likely continue to get you in trouble. Copy-cats can be flattering but are usually less respected.

I wrote timeago firstly, a Python lib. then timeago.js, and later wrote timeago-react, base on timeago.js for react.
I will not write the 4th one, because:

in front-end, timeago.js is enough,
in back-end, I only care the lib performace rather than the size(I am sorry to rerwite timeago for javascript because the size of jQuery).

About the atool-logo, I'am very sorry, It was copied tumblr's logo(I will remove it).
I am Sincerely, but you are Full of banter, and collect my mistake, are there timeago.js so much influence for you ?
Though I am a front-end starter, but never bow to a insincere great.

I am Sincerely, but you are Full of banter

banter:  "I Do Not Think It Means What You Think It Means" ... Well, maybe now it does.

and collect my mistake,

Plagiarism is usually frowned upon.

are there timeago.js so much influence for you ?

I'm not the one who opened this issue, nor am I the one who complained that you created a competing project (a subreddit did), with the exact same name, and the exact same theme for a website. I think most people feel it's hard to believe you did all this sincerely.
You asked how you could make things right. I answered. If you're unwilling to make things right, that's your perogative, but I don't think you retain the right to question why a JS library named "timeago" would bother the community when the behavior mimics an existing library with the exact same name so closely.

Though I am a front-end starter, but never bow to a insincere great.

I presume you meant "threat?" There have been zero threats that I've seen. I've merely offered you free advice. Again, your actions got you here. I'm just trying to help you dig out of the hole you dug for yourself. If you don't want to heed my advice, I'll stop wasting my time, but please don't expect to thrive in this industry with that kind of attitude.

You win. KO~
I continue update my project, because I need it.

I am sorry, after translated your post, I found I am too impulsive…
I want to close it.

You win. KO~
I continue update my project, because I need it.
我英文太差，说英文好累~

Chiense: 我认为你最好要把网站改了，特别是logo，和排版风格，这太容易混淆了。
English: I think you should redesign your website, and do not use the logo which copied from this project, and the flavor of the website, this is confuse.


MPI_Abort fix

Close #115

Can you confirm this to fix the main issue?

@sbryngelson I intentionally introduced an error in an input file and ran it with 4 processes and the error was printed before s_mpi_abort was called.

I agree this is probably the way to go on this issue. In the worst case, a few print statements will be issued and flushed to stdout, but is guaranteed that at least one of them will go through. It also doesn't introduce MPI barriers that could block the program from exiting if a call to abort is not made on all ranks. The caller is still free to have an MPI barrier prior to calling abort.


"Incorrect syntax near the keyword 'Open'" - Error when clicking "start training"

ML.Net Model Builder version: <IP_ADDRESS>6001 - Visual Studio 2019 - .Net 5.0
Using Model Builder Wizard, Connect to SQL Server is Tested succesfully and Table data loaded correctly into Preview.
When I then continue to the next screen and click Start Training, I get the following error:
Incorrect syntax near the keyword 'Open'

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)    at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)    at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()    at System.Data.SqlClient.SqlDataReader.get_MetaData()    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at Microsoft.ML.Data.DatabaseLoader.Cursor.get_DataReader()
at Microsoft.ML.Data.DatabaseLoader.Cursor.MoveNextCore()
at Microsoft.ML.Data.RootCursorBase.MoveNext()
at Microsoft.ML.AutoML.DatasetDimensionsUtil.CountRows(IDataView data, UInt64 maxRows)
at Microsoft.ML.AutoML.ExperimentBase2.Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator1 preFeaturizer, IProgress1 progressHandler)    at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.AutoMLExperiment3.<>c__DisplayClass21_0.b__5() in //src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/AutoMLExperiment.cs:line 80
at System.Threading.Tasks.Task1.InnerInvoke()    at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.AutoMLExperiment3.d__21.MoveNext() in //src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/AutoMLExperiment.cs:line 107
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.AutoMLEngine.d__26.MoveNext() in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/AutoMLEngineService/AutoMLEngine.cs:line 150

OK, I have solved the problem. I am using trading market data which includes a column for price called 'Open' and another for 'Close'. ML.Net did not like these column names. As soon as I have renamed them to OpenPrice and ClosePrice, the training is running fine :)


Remove arm64 from test CI

GitHub Actions don't have docker containers for ARM architectures. Remove arm64 from test targets (but still build since we can cross-compile).

Can't run arm64 on linux


Is it possible to start a container and specify a hostname ?

I want to setup a test where I need to launch a container, but I also need to specify a hostname for the running container.
Like you would do:
docker run --hostname <myhostname>  <containerimage>

Is that something that is already possible ?  If so, how can it be achieved ?

I'm using Dotnet.Testcontainers 1.4.0 and I see in the readme that there exists a WithHostname method, but it doesn't seem to be available in my project.

Use the latest snapshot release 1.5.0-beta.20210318.4.

master → 1.4.0.
develop → 1.5.0-beta.20210318.4.

Great, thanks!

Any idea when 1.5 will be out of beta stage @HofmeisterAn  ?

I haven’t a specific date yet. I would like to add the resource reaper (Ryuk) first. I think it’s a very important feature that I would like to ship within the next version.

@fgheysels FYI 1.5.0 is released.


Select: Fix (#13025)

readonly 添加 edge 浏览器判断
Please make sure these boxes are checked before submitting your PR, thank you!

[x] Make sure you follow Element's contributing guide (中文 | English | Español).
[x] Make sure you are merging your commits to dev branch.
[x] Add some descriptions and refer relative issues for you PR.

@GaliMU 那这么说，Cascader 也可能有问题。
https://github.com/ElemeFE/element/blob/b182a671740ed66d3ec4830a53cd877d3db2b328/packages/cascader/src/main.vue#L225-L228
如果 Cascader 存在相似的问题，一并改了吧。


How to add an option to an existing one initialized by the slider?

I want to add "autoplay" and "autoplaySpeed" under certain conditions
if(slider.isOnScreen()) {
slider.slick({
//add option
})
}

Maybe you need slickSetOption
something like  $('.carousel').slick('slickSetOption', 'fade', true, true);
Check the issue: https://github.com/kenwheeler/slick/issues/2511


How to write a merged cell?

Hi
I'm using rubyXL gem.
When i write data to a merged cell(using a xlsx template),
workbook[0][11][5].change_contents("Value string")
i'm getting the following error.
NoMethodError: undefined method `[]' for nil:NilClass
Is this possible to write data to a merged cell?
How to solve this problem?

Oh i'm sorry, It was just my fault. It was no problem write data to merged cell. Never mind.