macOS support for NixOS tests

Closes #193336
Closes #261694
Related to #108984
This pull request is a composite of the changes from #193336 and also #261694, with some changes of my own that I made.
The goal here was to get the following flake to build and run on aarch64-darwin:
{ inputs.nixpkgs.url = "github:Gabriella439/nixpkgs/gabriella/macOS_NixOS_test";

  outputs = { nixpkgs, ... }: {
    checks.aarch64-darwin.default =
      nixpkgs.legacyPackages.aarch64-darwin.nixosTest {
        name = "test";

        nodes.machine = { };

        testScript = ''
          print(machine.succeed('echo hello'));
        '';
      };
  };
}

… and after this change it does.  There's no longer a need for the user to set nodes.*.nixpkgs.pkgs or
nodes.*.virtualisation.host.pkgs as the correct values are inferred from the host system.
This change is spiritually much closer to the approach in #261694 than the approach in #193336.  However, I still made a few changes compared to #261694:

I didn't include the change to increase ulimit
I think this change was questionable because I feel like a script provided by Nixpkgs shouldn't be tinkering with the user's ambient ulimit settings.

I named the required system feature hvf instead of apple-virt
I preferred the hvf system feature name chosen by #193336.

I didn't use the node.pkgs setting to set nodes.*.nixpkgs.pkgs
That does not work, based on my testing, but setting the same thing in nixos/lib/testing/nodes.nix does work.

I created a pkgsLocal helper
This is based on the feedback from @roberth here:
https://github.com/NixOS/nixpkgs/pull/261694/files#r1365443955
… and is similar in spirit to pkgsCross.

Description of changes

Things done

Built on platform(s)

[x] aarch64-darwin

[ ] Tested, as applicable:

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

[x] Fits CONTRIBUTING.md.

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

@ofborg eval

I named the required system feature hvf instead of apple-virt

I don't see this in the code.
apple-virt is autodetected by Nix 2.19 and should have been backported to 2.18, but that hasn't been released yet.
I've chosen this name because the detection appears to be avf/hvf agnostic.

See https://github.com/NixOS/nix/pull/9187#issue-1952484105

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/getting-nixos-to-work-macos-m1-2-3-aarch64-darwin/39510/1

Yeah, I'm planning on getting to fixing the nixpkgs.pkgs = guestPkgs;.  I was just puzzling through the best way to do it.

@roberth: Alright, I think I finally understood what you were proposing and implemented that.  The main caveat is that I had to get rid of the nixpkgs.pkgs = lib.mkDefault pkgs; in the nixosTest entry point because that breaks this (and some other stuff, too) since defining nixpkgs.pkgs (even just as a default) causes all other nixpkgs.* options to be ignored.  I don't know if making that change to the nixosTest entry point will break other stuff, though.

Just tested it. Works great on my aarch64 Macbook!
Tried to reproduce the mentioned problems on the Intel Macbook, but the macOS there is so old that Nix regularly breaks there (i guess that's because Nix reflects modern macOS), so i would abandon testing it there.

@roberth: I think this is finally ready for a second look.  I believe I did this as closely as possible as to what you originally envisioned.  See the commit message in ab45d3118634ad3cd0c319e5bdb42e31524ecb0d which explains the balance that I had to strike to get this to work while breaking existing expectations/workflows as little as possible.
I can also clean up the commit history if desired (although I'm guessing this change is small enough to just squash merge it), but I'm leaving the commit history as-is for now so that the original thought process is preserved.

@roberth: Thanks!  Your changes look good to me

Works great!

I can go ahead and merge this once CI passes if nobody objects since I think all of @roberth and @tfc and I are satisfied

Is it normal for ofborg-eval to take this long?  I'm not sure how I can monitor its progress

@ofborg eval

Thanks to everybody for y'all's help!

Hi @Gabriella439 ,
Thanks for working on this.
I've put your flake from the PR description into an empty git repo, and run nix flake check, making sure I'm on nix 2.19.2.
Doing so gives me:
$ nix flake check
warning: Git tree '/Users/owen/src/nixos-test-darwin' is dirty
warning: Ignoring setting 'auto-allocate-uids' because experimental feature 'auto-allocate-uids' is not enabled
warning: Ignoring setting 'impure-env' because experimental feature 'configurable-impure-env' is not enabled
error: a 'aarch64-linux' with features {} is required to build '/nix/store/nv3ziyvxfnyl4z0ayg9j25kvgp27ziyr-append-initrd-secrets.drv', but I am a 'aarch64-darwin' with features {apple-virt, benchmark, big-parallel, nixos-test}

I'm not sure how to go about debugging this. I can list the referrers, but it just tells me that there's a nixos-system-machine-test that needs it.
Is there a step I've missed? I got the impression that I don't need to specify pkgs in the machine configuration anymore? Is it something to do with hvf/apple-virt?

@414owen you need a linux builder, see https://nixcademy.com/2024/02/12/macos-linux-builder/

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/macos-support-for-running-nixos-tests/40801/1

Doc update, please review:

https://github.com/NixOS/nixpkgs/pull/293573

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nixostest-vs-runtest/26419/4


A0 2399 update polkadot js dependency

Update polkadot{.js} dependecies. Update polkadot-networks patch

Not sure about the patch refactor, but a quick run proved the extension to be working, so on that basis lgtm.
Btw there are more polkadot packages that have higher versions:
which is ofc not relevant if we're only upgrading the packages explicitly listed by Kudelskis. The only worry I have is that they might not work well with each other if their versions differ significantly (as in if partitytech develops them in sync between each other).


vz: unsupported build target macOS version for 13.0

Description
macOS version: 13.0.1
Template: default vz.yml
I'm trying out VZ support and my ha.stderr.log log looks like this:
{"level":"debug","msg":"Creating iso file /Users/me/.lima/example-com/cidata.iso","time":"2022-11-19T15:13:35-05:00"}
{"level":"debug","msg":"Using /var/folders/s8/0tthc8jj04zd_4xzr8hwl1y40000gn/T/diskfs_iso734331136 as workspace","time":"2022-11-19T15:13:35-05:00"}
{"level":"debug","msg":"OpenSSH version 9.0.1 detected","time":"2022-11-19T15:13:35-05:00"}
{"level":"debug","msg":"AES accelerator seems available, prioritizing<EMAIL_ADDRESS>and aes256-gcm@openssh.com","time":"2022-11-19T15:13:35-05:00"}
{"level":"info","msg":"Starting VZ (hint: to watch the boot progress, see \"/Users/me/.lima/example-com/serial.log\")","time":"2022-11-19T15:13:35-05:00"}
{"level":"debug","msg":"Start udp server listening on: <IP_ADDRESS>:57460","time":"2022-11-19T15:13:35-05:00"}
{"level":"debug","msg":"Start tcp server listening on: <IP_ADDRESS>:58956","time":"2022-11-19T15:13:35-05:00"}
{"level":"fatal","msg":"unsupported build target macOS version for 13.0","time":"2022-11-19T15:13:35-05:00"}

Looks like vz is returning that error here:
https://github.com/Code-Hex/vz/blob/9de1c1041d5e560f46f9f94fc499a1cc72fd92e5/osversion.go#L108
Lima only handles the other kind of OS error:
https://github.com/lima-vm/lima/blob/cd504a41491faa3e05ae82fc9bade406c0e3684e/pkg/vz/vz_driver_darwin.go#L52
Which means the error from vz is being logged directly without any additional context. I'm assuming there's some API that's not supported/available but I have no idea which (or why).

I had the same issue and my theory is that the virtualization entitlement isn't taking effect because of code signing. Building from source worked for me, persumably because it gets ad-hoc signing. This might be specific to Apple Silicon.

The binaries are built on macOS 12, that might be the reason https://github.com/lima-vm/lima/blob/cd504a41491faa3e05ae82fc9bade406c0e3684e/.github/workflows/release.yml#L15

Confirmed that building it from source fixed it.

@AkihiroSuda
Should we compile from macOS13 ?
Github action doesn't support macOS 13 as of now. It might take some time for sure.
If needed, we could look into cirrus-ci to build release artifacts for macOS

@balajiv113
I assume most users use Homebrew, so I guess we do not need to upload macOS 13 binaries by ourselves

Solved in v0.14.0-beta.1

https://github.com/lima-vm/lima/releases/tag/v0.14.0-beta.1


(fix) OrderForm: prevent handling key presses when any modal is open

ticket - https://app.asana.com/0/1125859137800433/1201399801047165
...also, replaced some modals state to redux

closing in favour of PR https://github.com/bitfinexcom/bfx-hf-ui-core/pull/183


Feature Request: Controlling zoom by JavaScript

Is there a way to control Zoom/Camera/Orbit by program?
No "set" function in [Staging & Cameras][Methods]!
I will have to disable zoom because users zoom the model each time they want to scroll the web page with mouse wheel.
I know I'm not the only one with this trouble.
My idea is to be able to create a slider on side of model to keep the ability to zoom...

I would recommend https://modelviewer.dev/docs/#entrydocs-stagingandcameras-attributes-disable-zoom and https://modelviewer.dev/docs/#entrydocs-stagingandcameras-methods-zoom and https://modelviewer.dev/docs/#entrydocs-stagingandcameras-attributes-cameraOrbit
All attributes are "set" methods: just like normal HTML, any hyphenated-attribute can be set in JS via camelCase: mv.cameraOrbit = "auto auto auto";.


Undo breaking change in Features

Followup to #2740
This changes Features.PowerFxV1 from property to field - which is binary breaking change.
Undo the break  - but still keep as singleton.
Add test.

✅ No public API change.


[red-knot] Resolve function annotations before adding function symbol

This PR has the SemanticIndexBuilder visit function definition annotations before adding the function symbol/name to the builder.
For example, the following snippet no longer causes a panic:
def bool(x) -> bool:
    Return True

Note: This fix changes the ordering of the global symbol table.
Closes #13069

I also changed the order that the TypeInferenceBuilder resolves function definitions in the same way, but I'm not sure if that was relevant.

I believe this means that we'd understand the return annotation as referring to builtins.bool rather than referring to the first-party function bool. That mimics the evaluation order at runtime:
>>> def bool() -> bool:
...   ...
...
>>> bool.__annotations__
{'return': <class 'bool'>}
>>> bool.__annotations__['return'] is bool
False

And it also seems to be what pyright does: https://pyright-play.net/?code=CYUwZgBARg9jA2AKAlBAtAPmneAuAUBEQHSn74BOIAbiAIbwD6ALgJ4AOIisCylN9Jm07ccKPvgAeEALwQAKhQCuIKbOwIU-WgxYcuk5EA
But interestingly, mypy just understands the return annotation as being a forward reference to the function that the return annotation is part of: https://mypy-play.net/?mypy=latest&python=3.12&gist=6dd88ac3463dc662ab1a50ed0456685c

I believe this means that we'd understand the return annotation as referring to builtins.bool rather than referring to the first-party function bool. That mimics the evaluation order at runtime

That feels right to me - it was the same experiment as yours that motivated the reordering.
P.S. Not sure what the deal is with CodSpeed? I don't think I touched anything linter-related... I hope!

Nah, codspeed has been very unreliable recently :(
Best not to worry about it — sorry for the bother!

Wow nice, thank you. Could we add a test where the function and the return type name aren't a built in (e.g x as in the linked issue). Just to make sure the fix doesn't rely on any built in behavior

Wow nice, thank you. Could we add a test where the function and the return type name aren't a built in (e.g x as in the linked issue). Just to make sure the fix doesn't rely on any built in behavior

Done!

Awesome work, thank you!!


Handling I/O

Hey, I'm wondering is it possible to run programs with I/O (like reading user input)
file (check.idr)
module Main
import QB.FFI

main : IO ()
main = do line <- getLine
          putStr $ line

when running idris check.idr -p quick-backend I get an error
Type checking ./check.idr
check.idr:6:19-25:
  |
6 | main = do line <- getLine
  |                   ~~~~~~~
When checking right hand side of main with expected type
        IO ()

When checking an application of function Prelude.Monad.>>=:
        Type mismatch between
                IO String (Type of getLine)
        and
                IO' (MkFFI QuickTypes ForeignName String) a (Expected type)

        Specifically:
                Type mismatch between
                        C_Types
                and
                        QuickTypes

As I understand QuickTypes/some underlying implementation just does not provide currently any kind of input handling, so how much effort is to add that? Any hints / general overview of the implementation process for this feature is appreciated.

Hi, Idris-dev they implemented backend polymorphic standard libraries:
putStr and getLine is for C backend, but putStr' and getLine' are backend polymorphic.
module Main
import QB.FFI

main : IO ()
main = do line <- getLine'
          putStr' line

remember to add these methods to rts.py:
    def op_read_str(f):
        return input()

    def op_str_eq(a, b):
        return a == b

    def op_str_rev(a):
        return a[::-1]

    def op_str_head(a):
        return a[0]

    def op_str_cons(a, b):
        return a + b

    def op_str_tail(a):
        if not a:
            raise IndexError
        return a[1:]

and things work well:
> python examples\io_.py
aaa
aaa

Further, QuickBackend is actually designed for easier FFI, and we can just use a foreign function ffi
module Main
import QB.FFI

main : IO ()
main = do line <- callff0 "py_get_line"
          callff1 "py_print" line

which requires implementing RTS.py_get_line() and RTS.py_print(line).

You can also make C backend functions work, by removing import QB.FFI.
module Main

main : IO ()
main = do line <- getLine
          putStr $ line


proper technique for exposing unprotected and protected pages

There is a new aws blog entry with a good technique for doing this.
https://aws.amazon.com/blogs/networking-and-content-delivery/authorizationedge-how-to-use-lambdaedge-and-json-web-tokens-to-enhance-web-application-security/
This technique uses a JWT token returned from Cognito. Need to figure out how to get access to that token with amplify.

First problem I see with this technique is that it is using a token from User Pool, not Identity Pool. And that's going to be a mess with federated identities which the blog post skipped.

For user pools, you can use something like
async getAccessToken() {
    return (await Auth.currentSession()).getAccessToken().getJwtToken();
}

This is probably the more normal case you need.


feat(config): add support for philio pat02-a flood sensor

Closes #1343. Manual: https://www.manualslib.com/manual/1554659/Philio-Pat02-A.html?page=6#manual
Credit to @NoellvanH for the first attempt.

@AlCalzone lint is failing because there is only one bitset defined for param 6, but that is all the manual defines. What should I do here?

@AlCalzone lint is failing because there is only one bitset defined for param 6, but that is all the manual defines. What should I do here?

Hmm I think I'll remove the check. Makes sense actually.

Hmm I think I'll remove the check. Makes sense actually.

@NoellvanH thanks, my comments are correct then.

@NoellvanH thanks, my comments are correct then.

re-triggering checks

re-triggering checks


WebDav support on Windows

There's no need for complicated (at least for normal users). This handy Windows registry hack (WebDav_Hack.txt, please note that you'll need to change .txt to .reg before importing it, because of GitHub complaining not supporting .reg files) can enable native WebDav support.
I may create a pull request with this.

 Maybe I should've read the site fully and downloaded that configuration script.


Laravel 5.4 support?

I'm getting the following error, which I guess is due to the dependencies' versions.
[InvalidArgumentException]
  Could not find package nikolajlovenhardt/laravel-google-ads at any version
  for your minimum-stability (stable). Check the package spelling or your min
  imum-stability

Any plans on supporting 5.4 in the sort term?

Installed adding this to composer.json
{
  "minimum-stability": "dev",
}

Duplicate of https://github.com/nikolajlovenhardt/laravel-google-ads/issues/12


perf: TypeAdapter instantiated once

Simple test example:
from datetime import date, datetime
from timeit import timeit

from pydantic import TypeAdapter

def parse_obj(annot, value):
    ta = TypeAdapter(annot)

    result1 = timeit(lambda: ta.validate_python(value), number=10000)
    result2 = timeit(lambda: TypeAdapter(annot).validate_python(value), number=10000)

    print(f'{annot.__name__:<8} {result2 / result1:.2f}')

if __name__ == '__main__':
    for t, v in (
        (int, "0"),
        (float, '0.5'),
        (str, b"123"),
        (bool, 'true'),
        (date, '2024-01-01'),
        (datetime, '2024-01-01T00:00:00'),
    ):
        parse_obj(t, v)

output:
int      131.77
float    107.20
str      109.12
bool     128.88
date     283.73
datetime 272.90

Refer to: https://docs.pydantic.dev/latest/concepts/performance/#typeadapter-instantiated-once

Sorry I'm late. Ci should be working now.
Reference about lru_cache and pyright:
https://github.com/pydantic/pydantic/discussions/5766
https://github.com/microsoft/pyright/discussions/5123


Preview Tool: Font Preview Panel

We may have a bunch of preview tools. Let us start with a font preview panel. It is for creating show/set rules interactively about text elements with more preview feature.
The font preview panel may not be useful for experienced typst users, but may be intuitive and greatly help those users who don't know font things in typst at all.
I have made an interface design in typst:

It has copy buttons. Or it is also possible to insert into editor directly (need editor support).

The copy content is:

It can show effect of font settings with some typst script:

It can set font size in hao unit (字号). Some other size system is reasonable, such as font size used by material design.
PS: I think it is less useful that font preview, and we can have another set of show rules about font sizes individually.

It has a font filter, which could filter fonts by features.
languages
Notably, we can have Math Language for typst's technique writing. Some good default dummy preview text is also available
Good math font for typst example:

Bad math font for typst example:

#box(width: 100%, fill: luma(240), inset: 5pt, {
  (
    src-button[copy as | show rule],
    src-button[set rule],
    src-button[font args],
    src-button[size args],
  ).join(h(0.5em))
  v(-0.5em)
  ```typ
  #show math.equation: set text(font: ("Linux Libertine"))
  ```
})

#rect(width: 100%, inset: 1em, radius: 2pt)[
  #show math.equation: set text(font: ("Linux Libertine"))
  $ "Test goodness of that font:" lr((integral x dif x)) $
]

styles
filter it by styles, such as whether it is a monospace font or has a decorative stroke with sans-serif.

It can select multiple fonts at the same time. Also show list of font by names and in corresponding font.
Notably, it can also pick up more font paths for previewing by dialog box.

Source code of interface design:
#let src-button(content) = box(fill: blue.lighten(80%), inset: (top: 4pt, bottom: 4pt, rest: 5pt), radius: 5pt, content)
#let dropdown(content, drop-icon: [\u{2228}], width: auto) = stack(dir: ltr,
  rect(content, height: 1.5em, stroke: 0.5pt, width: width), rect(height: 1.5em, fill: yellow.lighten(95%), stroke: 0.5pt, drop-icon))

#box(width: 100%, fill: luma(240), inset: 5pt, {
  (
    src-button[copy as | show rule],
    src-button[set rule],
    src-button[font args],
    src-button[size args],
  ).join(h(0.5em))
  v(-0.5em)
  ```typ
  #let rule_textN(content) = {
    set text(
      font: ("Linux Libertine", "Source Sans Pro"),
      size: 10.5pt /* 五号字体 */,
    )
    content
  }
  ```
})

#rect(width: 100%, inset: 1em, radius: 2pt, stroke: none)[
  #let rule_textN(content) = {
    set text(
      font: ("Linux Libertine", "Source Sans Pro"),
      size: 10.5pt /* 五号字体 */,
    )
    content
  }
  #show: rule_textN
  #set text(font: ("Linux Libertine", "Source Sans Pro"))
  #align(center)[测试 中文 和 English 混排]
]

#rect(width: 100%, radius: 2pt)[
  #set text(black.lighten(50%), font: "Inconsolata")
  Preview text: type something......
]
#v(-0.5em)
#rect(width: 100%, radius: 2pt)[
  #stack(dir: ltr, spacing: 0.5em,
    align(horizon)[Font scale:],
    box(stroke: 0.5pt, inset: 5pt, height: 1.5em)[10.5#text(fill: black.lighten(65%))[pt]],
    dropdown[五号],
    align(horizon)[select as:],
    dropdown[号],
    align(horizon)[into unit:],
    dropdown[pt],
  )
  #v(-0.5em)
  #stack(dir: ltr, spacing: 0.5em,
    align(horizon)[or set as variable:],
    dropdown[none],
  )
  PS: Some people like `#import "font-size.typ": font-size.五号`
]
#v(-0.5em)
#rect(width: 100%, radius: 2pt)[
  == Font Filter (will affect Font selection)
  #stack(dir: ltr, spacing: 0.5em,
    align(horizon)[Language:],
    dropdown[Chinese (Simplified)],
  )
  #v(-0.5em)
  #stack(dir: ltr, spacing: 0.5em,
    align(horizon)[Style:],
    dropdown[Monospace],
    dropdown[Sans serif],
  )
]
#v(-0.5em)
#rect(width: 100%, radius: 2pt, {
  [== Font selection]
  v(0.2em)
  let dropdown = dropdown.with(width: 100% - 1em - 3pt)
  (
    dropdown[font1 #text(font: ("Source Sans Pro"), "思源黑体")],
    dropdown[font2 #text(font: ("Linux Libertine"), "Linux Libertine")],
    dropdown(drop-icon: [\+])[more fonts],
  ).join(v(-0.5em))
  place(right + top, (
    src-button[Configure path to fonts],
    src-button[Font Preview],
  ).join(h(0.5em)))
})

Can we see this demo somewhere?

No, it is painted in typst an this issue is for attracting people for discussion. Also I will be happy if there is a new contributor here to implement a font preview panel, since it is not quite hart to implement a frontend for font previewing.

We may not have to preview something. For example, font scale doesn't quite need for preview, since typst has powerful scripting and packages. Some package may provide a hao function to help specify font size in hao, let font-size = hao("小初" or "一号" or "五号").

Instead, we may need:

some typst tips in panel: so that we may help users that aren't familiar with font things at all.
Pros: observed that most people asked questions about font configuring, and font preview panel is for them. It is a so-called interactive guidance.
text for previewing: since we may want to test whether some math font works well in typst
Pros: font preview may provides some good dummy text for math font previewing
font filter: to quick locate the fonts meeting condition, e.g. Chinese fonts or math fonts.
Pros: may be useful for looking for some fonts quickly
font previewing: to take a glance at all of rendered result in that fonts.
Pros: it shows result of all fonts, so that you don't have to try fonts one by one.

These features are useful so that users may bring more access to the font preview panel, so that we don't ask "why do we need it?".


[k-NN] Fix typo

update to knn_score instead of knn_store
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@aetter can you review this?


Add facter 3.11 facts for Debian 9 and Ubuntu 18.04

Adds the facter 3.11 facts for Debian and Ubuntu 18.04
and fixes the README.md file by adding the 3.10 and 3.11
facter versions to the table.

bump

Could we release a new version of facterdb? @mcanevet


iOS Versioning issue in Swift

You can fix it with one more line on line 14.
@available(iOS 13.0.0, *)

Would you like to open a PR?

I'd like to try it, but how do I do it?

Thanks!


Add hosts data source

We have a host data source, but as described in https://github.com/terra-farm/terraform-provider-xenorchestra/issues/109#issuecomment-773835812 I believe we can power more advanced use cases by adding the ability to filter and sort hosts.

Hello,
Filtering by tag / pool is possible by adding it to the filter parameter within the jsonrpc call.
But is there any possibility to sort results from xo.getAllObjects?
I wasn't able to find anything about sorting online. Maybe you can help me out?
XOA only defines 3 parameters for getAllObjects.
So my best approach for this would be fetching unsorted and sorting within the provider. Are you okay with that?

Yea I don't think we have another option. This could be a feature request made to Xen Orchestra but for now we will need to sort in the provider.

This fix will be released in v0.19.0 of the provider. Thanks for all your help @gohumble!


white color in background of day/night - Foundry v12.357

This is not screenshot of this module.


Remove question mark in file name

Remove the question mark in the file name.
The file causes issues when merging because in windows a file name cannot contain any of the following characters: \ / : * ? " < > |"
For reference: check here

Hmm I hadn't thought of this. We don't do any development on Windows (it's a pain to get the dev tools set up), so instead we run Linux on Windows.
@gp201 do you think it's worth supporting documentation-writing on Windows even though we don't support code development there?

It is true that on Windows under WSL we can have files with question marks.

@gp201 do you think it's worth supporting documentation-writing on Windows even though we don't support code development there?

@U8NWXD I don't think we have to support development via windows since all of the contributors use WSL for windows. However, I think it will be good practice to avoid special characters in file names.

Opened https://github.com/oppia/oppia-web-developer-docs/pull/78 to fix this


Uncaught SyntaxError: Unexpected token 'export' (at vision_bundle.js:1:880347) when importing Handlandmarker task using JSdeliver

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
Yes
OS Platform and Distribution
Windows (wsl default)
MediaPipe Tasks SDK version
No response
Task name (e.g. Image classification, Gesture recognition etc.)
HandLandmarker
Programming Language and version (e.g. C++, Python, Java)
Javascript
Describe the actual behavior
Opening the html using the chrome as it is with the JSDelivery tag throws the following error: Uncaught SyntaxError: Unexpected token 'export' (at vision_bundle.js:1:880347)

Describe the expected behaviour
It should import the vision bundle that will be use to create the handlandmarker

Standalone code/steps you may have used to try to get what you need
Placing the the following element in the html then opening it in chrome will cause the issue

<head>
  <script<EMAIL_ADDRESS>    crossorigin="anonymous"></script>
</head>

### Other info / Complete Logs

_No response_

You can import using
<head>
  <script<EMAIL_ADDRESS>    crossorigin="anonymous" type="module"></script>
</head>

or
<head>
  <script<EMAIL_ADDRESS>    crossorigin="anonymous"></script>
</head>

@schmidt-sebastian if I use the second option the error Refused to execute<EMAIL_ADDRESS>as script because "X-Content-Type-Options: nosniff" was given and its Content-Type is not a script MIME type. is thrown on MacOS Safari

same issue here.


Doc_ids needs extra string quotes in _replicate POST request

Hello,
I'm using phonegap plugin/android env.
I try to replicate a remote db to my local db with a specific document id but all the remote db is replicated.
POST _replicate
{"source":"http://<IP_ADDRESS>:5984/crm_demo_companies","target":"crm_companies","doc_ids":["12295ce12a5fd2a3e2867efdac00bdce"]}
My param doc_ids is ignored.
The same test with 2 couchdb db is working.
A workaround could be used by using a filter and query_params but i prefer avoid it.
TY
Laurent

@laurent-g are you still seeing a bug?  I will close out the ticket, but if you need me to re-open it let me know.
@snej

Look at the handling of _docIDs in -[CBLChangeTracker changesFeedPath] — that's the code that adds the extra parameters to the _changes call.

AFAIK that's implemented and working.  Here's a test case that has assertions related to the extra parameters to the _changes call.

Hey,
I just go deeper into this problem.I succeed making this working with couchbase lite.
My working post request to _replicate is :
{
"source":"http://<IP_ADDRESS>/protocrm/db/crm_reporting",
"target":"crm_reporting",
"filter" : "_doc_ids",
"query_params" : {
"doc_ids": "["lge"]"
}
}
adb logcat
V/ChangeTracker(14273): com.couchbase.lite.replicator.ChangeTracker@425f28c0: Making request to http://<IP_ADDRESS>/protocrm/db/crm_reporting/_changes?feed=normal&heartbeat=300000&style=all_docs&filter=_doc_ids&doc_ids=["lge"]
With CouchDB, I can make this working in a different way :
{
"source":"http://<IP_ADDRESS>/protocrm/db/crm_reporting",
"target":"crm_reporting",
"doc_ids": ["lge"]
}
So there is a different behavior with _replicate POST call.
It's not a big deal because i have now a workaround, but this is not the same parameters for couchbase lite and couchdb.
doc_ids should not be included in query_params and should not be a stringified array.
I think this issue can be fixed starting from Router.java/do_POST_replicate.

@tleyden So can you reopen this issue ?

@laurent-g yup -- reopened and changed the title.
@andreibaranouski can you check cblite-tests to see if this is covered?  See https://github.com/couchbase/couchbase-lite-android/issues/476#issuecomment-71058452

It should be better if couchbase lite can make a POST instead of a GET request to _changes because of the limited size of URL. With a GET request it should not be possible to set a large list of ID.
See http://docs.couchdb.org/en/latest/api/database/changes.html

It should be better if couchbase lite can make a POST instead of a GET request to _changes because of the limited size of URL.

Couchbase Lite should do that by default when replicating against Sync Gateway.  If it's not, please file a separate ticket for that.

It already does on iOS.
According to the API docs, CouchDB also supports POSTs to _changes. IIRC it didn't use to, but the docs don't say what version it was added in.

With latest master (v1.2.1 plus fixes), I can not reproduce the issue anymore. I just submit Unit Test. And I will close this ticket.


Benchmarks vs C++ libraries

I was wondering whether there were any benchmarks of nalgebra versus C++ libraries like armadillo or BLAS/LAPACK. I see that there's a Rust native implementation of some LAPACK functions.
I'd be especially interested in such a benchmark since Rust isn't too far off from C++ in execution time.
Thanks

@sebcrozet has done some benchmarks against Rust implementations and bindings.

These are pretty cool. Would it be possible to extend those to armadillo, since this library is faster than BLAS on large matrices?

I guess extending those to armadillo and Eigen would be possible. For example we could create bindings for the few matrix decompositions (specialized for dynamically-sized matrix with the double scalar type) we want to benchmark and call them from rust inside of the benchmark functions with the same inputs generated for the rust benchs. (I don't have the time to work on this right now though.)
Note that all the benchmarks are on the bench folder of the rust_linalg_bench repository and are run with cargo bench.


Deploy from master

Talked with @sleepylemur; ensure @baldur is okay with this plan.

:+1: so long there is a way to verify that branches coming in aren't broken in some way

I’m thinking of two things:

Asking people to preview with Precog for now.
Test automatically with something like Browserstack at some point in the future.


Upgrading Exchange 2019 does not work

Problem description
Upgrading Exchange does not work for the simple reason that the Exchange setup is killing and disabling the winmgmt (Windows Management Instrumentation) service. By killing the winmgmt service it is also killing the LCM.
One can easily see this form the event log:
$start = (Get-Date).AddMinutes(-20)
$events = Get-EventLog -LogName system -After $start -InstanceId<PHONE_NUMBER> | Where-Object { $_.ReplacementStrings[2] -eq 'disabled' }
$events | Format-Table -Property @{ Label = 'Service Name'; Exp = { $_.ReplacementStrings[0] } }, @{ Label = 'Old State'; Exp = { $_.ReplacementStrings[1] } }, @{ Label = 'Old State'; Exp = { $_.ReplacementStrings[2] } }

Service Name                                                  Old State    Old State
------------                                                  ---------    ---------
Microsoft Exchange Server Extension for Windows Server Backup demand start disabled
Windows Management Instrumentation                            auto start   disabled
World Wide Web Publishing Service                             auto start   disabled
Tracing Service for Search in Exchange                        auto start   disabled
Remote Registry                                               auto start   disabled
Performance Logs & Alerts                                     auto start   disabled
Microsoft Exchange Transport Log Search                       auto start   disabled
Microsoft Exchange Transport                                  auto start   disabled
Microsoft Exchange Throttling                                 auto start   disabled
Microsoft Exchange Mailbox Transport Submission               auto start   disabled
Microsoft Exchange Service Host                               auto start   disabled
Microsoft Exchange RPC Client Access                          auto start   disabled
Microsoft Exchange Replication                                auto start   disabled
Microsoft Exchange POP3 Backend                               demand start disabled
Microsoft Exchange POP3                                       demand start disabled
Microsoft Exchange Mailbox Replication                        auto start   disabled
Microsoft Exchange Mailbox Assistants                         auto start   disabled
Microsoft Exchange Information Store                          auto start   disabled
Microsoft Exchange IMAP4 Backend                              demand start disabled
Microsoft Exchange IMAP4                                      demand start disabled
Microsoft Exchange Health Manager Recovery                    auto start   disabled
Microsoft Exchange Health Manager                             auto start   disabled
Microsoft Exchange Frontend Transport                         auto start   disabled
Microsoft Exchange Search                                     auto start   disabled
Microsoft Exchange EdgeSync                                   auto start   disabled
Microsoft Exchange Diagnostics                                auto start   disabled
Microsoft Exchange Mailbox Transport Delivery                 auto start   disabled
Microsoft Exchange DAG Management                             auto start   disabled
Microsoft Exchange Anti-spam Update                           auto start   disabled
Microsoft Exchange Active Directory Topology                  auto start   disabled
IIS Admin Service                                             auto start   disabled
Microsoft Exchange Search Host Controller                     auto start   disabled
Microsoft Filtering Management Service                        auto start   disabled
Performance Logs & Alerts                                     demand start disabled

In this case, the LCM throws this error:
The WS-Management service cannot process the request. The WMI service or the WMI provider returned an unknown error: HRESULT 0x80041033
    + CategoryInfo          : ResourceUnavailable: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : HRESULT 0x80041033
    + PSComputerName        : localhost

Exchange enables and starts the winmgmt service later but when starting the LCM again using Start-DscConfiguration -UseExisting -Wait -Force -Wait, things did not finish as expected. In some cases I no longer had an Exchange service on the machine and DSC could no longer start because it could no longer find an installed Exchange. All this does not look very reliable.
It looks to me like upgrading Exchange with this DSC resource module never worked because the code did not compare the installed version and the desired version until recently: #410.
When removing write access to the winmgmt service, the Exchange setup complains:
Error:
The following error was generated when "$error.Clear();
          if (Get-Service WinMgmt* | ?{$_.Name -eq 'WinMgmt'})
          {
            Set-Service WinMgmt -StartupType Automatic
            Start-SetupService -ServiceName WinMgmt
          }
        " was run: "Microsoft.PowerShell.Commands.ServiceCommandException: Service 'Windows Management Instrumentation (WinMgmt)' cannot be configured due to the following error: Access is denied ---> System.ComponentModel.Win32Exception: Access is denied
   --- End of inner exception stack trace ---".

Verbose logs
NA

DSC configuration
Configuration Test1
{
    Import-DscResource -ModuleName xExchange, ComputerManagementDsc, StorageDsc

    Node E1Ex1
    {
        xExchMaintenanceMode PutExchServersInMM
        {
            Enabled = $true
            Credential = $ConfigurationData.Credential
        }

        MountImage ExchangeIso
        {
            ImagePath   = 'd:\ExchangeServer2019-x64-CU12.ISO'
            DriveLetter = 'E'
            DependsOn = '[xExchMaintenanceMode]PutExchServersInMM'
        }

        WaitForVolume WaitForExchangeIso
        {
            DependsOn = '[MountImage]ExchangeIso'
            DriveLetter      = 'E'
            RetryIntervalSec = 5
            RetryCount       = 10
        }

        # Check if a reboot is needed before installing Exchange
        PendingReboot BeforeExchangeInstall
        {
            Name       = 'BeforeExchangeInstall'
            DependsOn  = '[WaitForVolume]WaitForExchangeIso'
        }

        xExchInstall InstallExchange
        {
            Path       = 'E:\Setup.EXE'
            Arguments  = '/mode:Upgrade /IAcceptExchangeServerLicenseTerms_DiagnosticDataON'
            Credential = $ConfigurationData.Credential
            DependsOn  = '[PendingReboot]BeforeExchangeInstall'
        }

        # See if a reboot is required after installing Exchange
        PendingReboot AfterExchangeInstall
        {
            Name      = 'AfterExchangeInstall'
            DependsOn = '[xExchInstall]InstallExchange'
        }

        Script SetReboot {
            DependsOn = '[xExchMaintenanceMode]PutExchServersInMM'
            TestScript = {
                return (Test-Path HKLM:\SOFTWARE\MyMainKey\RebootKey)
            }
            SetScript  = {
                New-Item -Path HKLM:\SOFTWARE\MyMainKey\RebootKey -Force
                $global:DSCMachineStatus = 1
            }
            GetScript  = {
                return @{
                    result = 'result'
                }
            }
        }

        PendingReboot AfterExchangeInstallation
        {
            DependsOn = '[Script]SetReboot'
            Name      = 'AfterExchangeInstallation'
        }

        xExchMaintenanceMode TakeExchangeServerOutOfMM
        {
            #DependsOn = '[PendingReboot]AfterExchangeInstall'
            Enabled = $false
            Credential = $ConfigurationData.Credential
        }

    }
}

$configData = @{
    AllNodes   = @(
        @{
            NodeName                    = 'E1Ex1'
            PSDscAllowPlainTextPassword = $true
            PSDscAllowDomainUser        = $true
        }
    )

    Credential = New-Object pscredential('contoso\administrator', ('Somepass1' | ConvertTo-SecureString -AsPlainText -Force))
}

<#
Remove-DscConfigurationDocument -Stage Current, Pending, Previous
#>

Set-Item -Path WSMan:\localhost\MaxEnvelopeSizekb -Value 8192

Test1 -OutputPath C:\DSC -ConfigurationData $configData

Start-DscConfiguration -Path C:\DSC -Wait -Verbose -Force

Suggested solution
This needs more investigation.
Operating system the target node is running
Windows Server 2022

Exchange Server edition and version the target node is running
Exchange 2019 CU10 trying to upgrade to CU12

PowerShell version and build the target node is running
Windows PowerShell 5.1

xExchange version
1.34.0

@johlju, this is not a bug in the resource module. As mentioned above it is "the Exchange setup is killing and disabling the winmgmt (Windows Management Instrumentation) service. By killing the winmgmt service it is also killing the LCM".
When installing or upgrading Exchange, the setup files are created in / copied to C:\Windows\Temp. The code to stop and disable Windows services temporarily is in C:\Windows\Temp\ExchangeSetup\ServiceControl.ps1. This is nothing we can fix in the module IMHO. This issue is rather for making people aware of that and gathering ideas or workarounds.

I labeled it external for that case - maybe it is not a bug doing interactive or upgrade from command line but it is a bug doing it trough LCM. Unless there is a way to tell Exchange to wait for the restart to later (so that we can control it) the we can’t fix anything here, agree.
Guessing we closing this issue until something changes that can make this work in LCM.

I use Chef to install Exchange and also do the CU every time they are out. The CU process has to be done through a PowerShell resource such as this one instead of using the one that is provided to install it:
powershell_script 'upgrade_exchange' do
  code '.\setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /Mode:Upgrade'
  guard_interpreter :default
  elevated elevate
  cwd base_dir
  sensitive false
  timeout 10800
  user username
  password userpswd
end

Not sure if this helps but that is our workaround.

I think that any other automation product except DSC will do. We know that the Exchange installation stops the Winmgmt service and therefore LCM. Chef will not be affected by this. Actually quite sad that a Microsoft product makes its own automation engine useless.


[C++][Parquet] ode coverage has been broken since June 23

PR #357 is the smoking gun, but we'll need to investigate
Reporter: Wes McKinney / @wesm
Assignee: Antoine Pitrou](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=apitrou) / @pitrou
PRs and other links:

GitHub Pull Request #415

Note: This issue was originally created as PARQUET-1148. Please see the migration documentation for further details.

Wes McKinney / @wesm:
Fixed as result of the monorepo merge


systematic check of incoming markers

Using rviz Markers for debugging is often very useful, but sometimes the developer makes mistakes when filling in the fields of the marker.
In some cases the resulting markers are not visible or not displayed as intended.
In a few cases this lead to long debugging sessions when the actual problem was the visualization...
Until now there was little and unorganized debug output from rviz to assist the developer in some of these cases.
I have implemented a systematic check of all marker types as well as marker arrays
as described here and implemented in the Display.
During testing I found some other bugs as well:

TEXT_VIEW_FACING Markers with an empty text cause rviz to segfault.
TEXT_VIEW_FACING Markers with text that consists exclusively of whitespace trigger a vertex buffer overflow.

These two bugs are resolved in commit d30cda4

Markers with an undefined type cause rviz to crash

This is resolved in commit 9c15d9a
Apart from the bugfixes, this pull-request does not change the rendering behavior of rviz.
It simply provides additional warning output to the console and to the display status.
We would like to see this merged in kinetic&upwards, so the request intentionally targets kinetic-devel.
@v4hn

@wjwwood any chances to see this merged in any (ROS1) branch? Any changes required?
Is there any other maintainer by now that one could ping?
This is very helpful when working with students when they don't know what they are doing really.

I'm sorry, but I don't have time to merge any features right now, or release them. I will say that if this changes API or ABI, I'll only take it for melodic or later, but I haven't checked this pr at all yet.

@jgueldenstein is currently finalizing his thesis (due in two weeks).
He promised me to take care of this afterwards.

do you think that the warnings should only be printed once as it was before?

ROS_*_ONCE is not an option here because the notification can be triggered by any error type.
To properly reduce warnings in a stream of repeating messages, the display would have to maintain a memory of which namespace / error combination was observed before.
The user (or at least I) would expect at least one notification per "type" of marker, not just one per display.
I believe the required overhead outweighs the benefits here.

for some messages ROS_INFO would be enough. The others should be ROS_WARN when following the definition here. I do not see a need for ROS_ERROR. What is your opinion on this?

Firstly, this is not only about ROS_*, rviz also defines their own status family to display in the GUI (in the line right above), which is similar though.
Secondly, if a vital part of the marker message is filled in incorrectly and the marker cannot be displayed due to that,
this constitutes an actual error, not just a warning.
I have a hard time coming up with a message that could constitute an Info-style notification, but it might exist.

Thank you very much for your patience, time and your review, I checked your commits and I think they do some nice cleanup and consistency.
f7dea2b is a nice feature to have to immediately see all errors in a marker array. Thanks for that.
I do not quite understand when an undefined owner would occur but I think checking for that is good.

Thank you for all the time you spent on this @rhaschke !


Add --engine to allow overriding engine from command line

Make description of tool more consistent readme, man page and
help information.
Better explain environment variables

I notice this from the failed build output:
ramalama/cli.py
245:        raise IndexError("no container manager (Podman, Docker) found")
440:        raise IndexError("no container manager (Podman, Docker) found")

should it be "Podman" and "Docker"
or
"podman" and "docker"


Support for arbitrary resources (fixes issue #375)

Fixes: https://github.com/mesosphere/marathon/issues/375
This is my first time working with Scala so please suggest anything that I can improve with this request. Also this is kind of a pre-emptive pull request in the sense that I want to confirm that the changes I'm making are the preferred way to do things. Any requests for additional tests are welcome.
Example api request:
{
  "id": "arbitrary-resource-example",
  "cmd": "./run.sh",
  "cpus": 2.0,
  "mem": 2048.0,
  "urls": ["http://files.my.org/program.tar.gz"],
  "customResources": {
    "foo": {
      "scalar": {
        "value": 100.0
      }
    },
    "bar": {
      "set": {
        "value": ["a", "b", "c"],
        "numberRequired": 1
      }
    },
    "baz": {
      "ranges": {
        "value": [
          {
            "begin": 100,
            "end": 200,
            "numberRequired": 2
          },
          {
            "numberRequired": 1
          }
        ]
      }
    }
  }
}

Thanks for this PR. We will try to look into this.

Hi @syogesh , thank you very much for your PR. Unfortunately, we are not ready quite yet. See the discussion in https://github.com/mesosphere/marathon/issues/375. After agreeing on an API format, I would like to move ahead with a PR focussing on scalar custom resources only.


Feature-request: allow by-plugin definition of template folder

Currently, the template folder can be set by app hook. Already a very smart move to allow to have different blog templates and news templates.
Is it possible to override the template folder by plugin instance? My use case would be to have different ways of showing, e.g., the same post list, e.g., as using a plain list style, in columns, as a table, using a masonry style or you name it.
I would volunteer to contribute but I am a amateur coder. To my understanding this would need extension of the plugin models and the plugin classes render methods in cms_plugin.py.

Nice idea indeed. You can define a get_render_template method on the plugin class (i.e. the classes in cms_plugin.py) (see http://django-cms.readthedocs.io/en/release-3.3.x/reference/plugins.html#cms.plugin_base.CMSPluginBase.get_render_template for reference) which will build the template path in same way of https://github.com/nephila/djangocms-blog/blob/develop/djangocms_blog/views.py#L51, except you will need to check instance.app_config  instead of self.config

Would a good extension to this idea be allowing a plugin to define multiple templates along side the app config directory?

I'll give it a shot.

@fsbraun awesome!

Sorry, for being so high-maintenance ...
I cloned the origin/develop branch, added the feature/by-plugin-templates . Do I need privileges to push that branch back to the server? So far I seem to fail.
Next step, in my understanding, is creating a pull request from that branch.
Thanks for helping out.

@fsbraun no problem in asking more info about the process.
You need to for this project to your own account, clone your own fork and push the branch with the fix to the fork. From there, you can open a pull request
As you already cloned the project, the best approach is to fork this, change the remote on your local copy (something like to git remote origin set-url git@github.com:fsbraun/djangocms-blog.git)


nixos/networkd: reimplement useDHCP in a sensible way

Description of changes
cc people I've talked about this with: @fpletz @ma27 @globin @WilliButz
This seems like a decent default, with the caveat that the wait-for-online service will not succeed. This can be fixed by setting useDHCP on a specific interface, and doing so is still recommended for this reason.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I think it still makes sense to generate config for known interfaces in order to reduce the impact of the wait-online issue.

I haven't used scripted networking in quite a while, but doesn't that hang if an interface from networking.interfaces is not available? THis is e.g. an issue if I have plugged in a smartphone for USB tethering, run nixos-generate-config, the tethering-eth iface is part of hardware-configuration.nix. When I plug it off and reboot, it potentially hangs, correct? See for instance https://github.com/NixOS/nixpkgs/issues/107908.
If we already go down that route, networking.useDHCP = true; in nixos-generate-config is IMHO the more sensible default. If somebody knows their network well-enough they can still apply some customizations.

The problem with networking.useDHCP = true in the general case is that a device with multiple matching interfaces (e.g. a laptop with WiFi and Ethernet, which is fairly common) will never reach an "online" state if only one of the interfaces is used (which is also fairly common), even though it's perfectly usable and "online" from a user's perspective. I'd say that useDHCP should indeed default to true, but we should also generate per-interface config and comment that.

I'd say that useDHCP should indeed default to true, but we should also generate per-interface config and comment that.

Would be OK with that. Also, my concerns only apply to the use of scripted networking, how nixos-generate-config should behave with networkd being the default can be discussed when it's time :)

I'd like to see this in 22.05 as this is an important step towards networkd adoption.

I think we need to have another look at the test, because in spite of some glaring issues (as you've pointed out), it was passing!?

FYI, I see:
dhcpcd[38576]: read_config: /etc/dhcpcd.conf: No such file or directory

I think the only relevant option I have is auto-generated:
  networking.useDHCP = lib.mkDefault true;

(in particular, no networkd)

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/plans-for-the-networkd-infrastructure/23086/3

with the caveat that the wait-for-online service will not succeed

What service is this referring to? Is it systemd-networkd-wait-online.service?


Setup environments after reset of Integration Env. to get ready for the 24.05. E2E tests.

As product
I want to re-setup the int environment after reset of portal and bpdm
so that we are able to join the e2e testing phase
Links

related to https://github.com/eclipse-tractusx/traceability-foss/issues/855

Acceptance Criteria

[ ] Setup companies IRS
[ ] Register connectors
[ ] Conduct Smoke tests for e2e tests

Out of Scope

...

Hints / Details
please note that we started to reset the Integration Env. to get ready for the 24.05. E2E tests.
As a result, access to the portal and connected applications will be extremely limited until the E2E tests begin.
I understand that this may have a significant impact on many of you. To mitigate the inconvenience, we enabled a special support function. If you still need/want to perform actions such as EDC communications (version < 0.7 RC1), test runs, etc. using previously used users (both technical and functional), you can proceed by switching your connector and/or app instances to the following Keycloak token URL:
Please note that this IDP instance is our previous INT Keycloak instance, which is now available under a new endpoint path. All user accounts and service accounts are still accessible with your existing credentials.
Outcome

Created company "doubleSlash Net Business GmbH" as former Trace-X A with BPNL

Created company "BMW" as former IRS Customer with BPNL

Created company "Trace-X" as former Trace-X B with BPNL

BLOCKED: DIM, DID Service must be available. Portal Accounts must be available.

Blocked because registration of company in portal is not possible right now.

@jzbmw ready to review


Implement tool similar to bwa sampe to use with bwa-sw

The tool should have the following characteristics:

Input paired unmapped reads (separated or interleaved)
Input paired mapped reads (separated or interleaved)
Inputs are expected to be sorted by queryname, in the same order for all of them. In the case of FASTQ, we will require #84 to match the HTSJDK sort order (this could cause issues, see #88 for more details)
Output should be a BAM/SAM/CRAM file with only one pair of reads per name, taking the best alignment.
Optional argument for adding SA tag with suppl. alignments.
Optional argument for adding missing tags from the un¡mapped reads (just missing, not to override)
Optional argument to sort on the fly not only by queryname

Requires an iterator returning a list of reads with the same read name together from a queryname sorted file; it should be able to wrap any iterator over GATKRead.


feat: upgrade deps to use the package in ts4 project

In TypeScript v4 project, transformAndValidate cannot transform nested objects.
API changes of TypeScript compiler cause it, I guess.

This change does not solve the problem, sorry. I close this PR.


Common-Lisp: Use interactive-eval-region

Disclaimer: I have absolutely no idea what I'm doing. I captured some logs from emacs' SLY with wireshark and noticed that SLY uses interactive-eval-region for its buffer evaluation while we're using eval-and-grab-output. I have no idea why, but it seems to fix the ConjureEvalBuf only loading the first expression seen in #555.
The swank source is totally opaque to me, but someone else may find it useful: https://github.com/slime/slime/blob/master/swank.lisp.
Prefer interactive-eval-region over eval-and-grab-output, as the latter requires list output parsing.

Seems to work. Thanks!

Closing this pull request until I can find a way to get both the stdout and the evaluation output.


Fixing CI build

Thanks for your contribution! Let's see how it'll play out on the master

Seems like no build happened. Also the little build widget goes to 404. Doesn't seem like an issue related to the PR. Thoughts?

I think this was related to the fact that I exhausted all the free credit for my TravisCI, built. I have requested a new batch, so we will be able to build againg

Seems to be working now! Thank you!!!

My pleasure 🫡  Slava Ukraini 🇺🇦

Heroiam slava!

💪


retry refactor

hmmm, commits up to 94449f8 are in the other PR

@odinuv the only changes of interest are in the Extractor class and the new RetryProxy.  The other changes are branched off of PR #44


UNRAID app

Describe the enhancement you'd like
A clear and concise description of what you want to happen.
Any plans on making this available on Unraid CA repository?
Describe why this will benefit the LibrePhotos
A clear and concise explanation on why this will make LibrePhotos better.
This will make it more popular and adopted easily.
Additional context
Add any other context or screenshots about the enhancement request here.
Thank You

Agree! Having this on Unraid's Community Apps page would be very helpful.

I have an unraid system, I will read the following and try to provide the needed xml.

I think I did it correctly, but please let me know if changes are needed, its an easy process to get the XML.
<?xml version="1.0"?> <Container version="2">   <Name>LibrePhotos</Name>   <Repository>reallibrephotos/librephotos:latest</Repository>   <Registry>https://hub.docker.com/r/reallibrephotos/librephotos</Registry>   <Network>bridge</Network>   <MyIP/>   <Shell>sh</Shell>   <Privileged>false</Privileged>   <Support>https://github.com/LibrePhotos/librephotos/issues</Support>   <Project>https://github.com/LibrePhotos</Project>   <Overview>Features

     Support for all types of photos including raw photos
     Support for videos
     Timeline view
     Scans pictures on the file system
     Multiuser support
     Generate albums based on events like "Thursday in Berlin"
     Face recognition / Face classification
     Reverse geocoding
     Object / Scene detection
     Semantic image search
     Search by metadata

 What does it use?

     Image Conversion: ImageMagick
     Video Conversion: FFmpeg
     Exif Support: ExifTool
     Face detection: face_recognition
     Face classification/clusterization: scikit-learn and hdbscan
     Image captioning: im2txt,
     Scene classification places365
     Reverse geocoding: Mapbox: You need to have an API key. First 50,000 geocode lookups are free every month.
 </Overview>   <Category>MediaApp:Photos MediaServer:Photos Status:Beta</Category>   <WebUI/>   <TemplateURL/>   <Icon/>   <ExtraParams/>   <PostArgs/>   <CPUset/>   <DateInstalled>1659896565</DateInstalled>   <DonateText/>   <DonateLink/>   <Description>Features

     Support for all types of photos including raw photos
     Support for videos
     Timeline view
     Scans pictures on the file system
     Multiuser support
     Generate albums based on events like "Thursday in Berlin"
     Face recognition / Face classification
     Reverse geocoding
     Object / Scene detection
     Semantic image search
     Search by metadata

 What does it use?

     Image Conversion: ImageMagick
     Video Conversion: FFmpeg
     Exif Support: ExifTool
     Face detection: face_recognition
     Face classification/clusterization: scikit-learn and hdbscan
     Image captioning: im2txt,
     Scene classification places365
     Reverse geocoding: Mapbox: You need to have an API key. First 50,000 geocode lookups are free every month.
 </Description>   <Networking>     <Mode>bridge</Mode>     <Publish/>   </Networking>   <Data/>   <Environment/>   <Labels/> </Container>
/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name='LibrePhotos' --net='bridge' -e TZ="America/Los_Angeles" -e HOST_OS="Unraid" 'reallibrephotos/librephotos:latest'

Thank you very much for this contribution!
I think it should be based on this image here: https://hub.docker.com/r/reallibrephotos/singleton
The singleton image wraps all the different containers into one container, which is more in line with other Unraid Apps.
Here is the documentation on what you can supply to it: https://docs.librephotos.com/1/standard_install/#docker

Perfect, I will compile a new XML using the data provided and post it back here shortly.

Here is updated XML

<?xml version="1.0"?>
<Container version="2">
  <Name>Librephotos</Name>
  <Repository>reallibrephotos/singleton</Repository>
  <Registry>https://hub.docker.com/r/reallibrephotos/singleton</Registry>
  <Network>bridge</Network>
  <MyIP/>
  <Shell>sh</Shell>
  <Privileged>false</Privileged>
  <Support>https://github.com/LibrePhotos/librephotos/issues</Support>
  <Project>https://github.com/LibrePhotos/librephotos</Project>
  <Overview>Features

    Support for all types of photos including raw photos
    Support for videos
    Timeline view
    Scans pictures on the file system
    Multiuser support
    Generate albums based on events like "Thursday in Berlin"
    Face recognition / Face classification
    Reverse geocoding
    Object / Scene detection
    Semantic image search
    Search by metadata

What does it use?

    Image Conversion: ImageMagick
    Video Conversion: FFmpeg
    Exif Support: ExifTool
    Face detection: face_recognition
    Face classification/clusterization: scikit-learn and hdbscan
    Image captioning: im2txt,
    Scene classification places365
    Reverse geocoding: Mapbox: You need to have an API key. First 50,000 geocode lookups are free every month.
</Overview>
  <Category>Cloud: MediaApp:Photos MediaServer:Photos Status:Beta</Category>
  <WebUI>localhost:3000</WebUI>
  <TemplateURL/>
  <Icon>https://github.com/LibrePhotos/librephotos/blob/89beca99d57f4987a68af61099ecc46396ffdcda/screenshots/site-logo.png</Icon>
  <ExtraParams/>
  <PostArgs/>
  <CPUset/>
  <DateInstalled>1659901858</DateInstalled>
  <DonateText/>
  <DonateLink/>
  <Description>Features

    Support for all types of photos including raw photos
    Support for videos
    Timeline view
    Scans pictures on the file system
    Multiuser support
    Generate albums based on events like "Thursday in Berlin"
    Face recognition / Face classification
    Reverse geocoding
    Object / Scene detection
    Semantic image search
    Search by metadata

What does it use?

    Image Conversion: ImageMagick
    Video Conversion: FFmpeg
    Exif Support: ExifTool
    Face detection: face_recognition
    Face classification/clusterization: scikit-learn and hdbscan
    Image captioning: im2txt,
    Scene classification places365
    Reverse geocoding: Mapbox: You need to have an API key. First 50,000 geocode lookups are free every month.
</Description>
  <Networking>
    <Mode>bridge</Mode>
    <Publish>
      <Port>
        <HostPort>3000</HostPort>
        <ContainerPort>80</ContainerPort>
        <Protocol>tcp</Protocol>
      </Port>
    </Publish>
  </Networking>
  <Data>
    <Volume>
      <HostDir>/mnt/user/appdata/librephotos/photos</HostDir>
      <ContainerDir>/var/lib/librephotos/photos/</ContainerDir>
      <Mode>rw</Mode>
    </Volume>
    <Volume>
      <HostDir>/mnt/user/appdata/librephotos/thumbnails</HostDir>
      <ContainerDir>/var/lib/librephotos/data/protected_media/</ContainerDir>
      <Mode>rw</Mode>
    </Volume>
    <Volume>
      <HostDir>/mnt/user/appdata/librephotos/logs</HostDir>
      <ContainerDir>/var/log/librephotos/</ContainerDir>
      <Mode>rw</Mode>
    </Volume>
    <Volume>
      <HostDir>/mnt/user/appdata/librephotos/bd</HostDir>
      <ContainerDir>/var/lib/postgresql/data/</ContainerDir>
      <Mode>rw</Mode>
    </Volume>
  </Data>
  <Environment/>
  <Labels/>
  <Config Name="Photos" Target="/var/lib/librephotos/photos/" Default="" Mode="rw" Description="Container Path: /var/lib/librephotos/photos/" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/librephotos/photos</Config>
  <Config Name="thumbnails" Target="/var/lib/librephotos/data/protected_media/" Default="" Mode="rw" Description="Container Path: /var/lib/librephotos/data/protected_media/" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/librephotos/thumbnails</Config>
  <Config Name="logs" Target="/var/log/librephotos/" Default="" Mode="rw" Description="Container Path: /var/log/librephotos/" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/librephotos/logs</Config>
  <Config Name="database" Target="/var/lib/postgresql/data/" Default="" Mode="rw" Description="Container Path: /var/lib/postgresql/data/" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/librephotos/bd</Config>
  <Config Name="Host Port 1" Target="80" Default="" Mode="tcp" Description="Container Port: 80" Type="Port" Display="always" Required="true" Mask="false">3000</Config>
</Container>

Unraid CMD
/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name='Librephotos' --net='bridge' -e TZ="America/Los_Angeles" -e HOST_OS="Unraid" -p '3000:80/tcp' -v '/mnt/user/appdata/librephotos/photos':'/var/lib/librephotos/photos/':'rw' -v '/mnt/user/appdata/librephotos/thumbnails':'/var/lib/librephotos/data/protected_media/':'rw' -v '/mnt/user/appdata/librephotos/logs':'/var/log/librephotos/':'rw' -v '/mnt/user/appdata/librephotos/bd':'/var/lib/postgresql/data/':'rw' 'reallibrephotos/singleton'

Report back if anything else needs updating from unraid itself, or if you get this up and I will test it out on my box.

Alright, I wrote the admin and opened up a thread: https://forums.unraid.net/topic/126943-support-librephotos/
Lets see if it goes online :)

Unlike commercial service that store your photos in the cloud and scan/index them to train their machine learning models and collect ad targeting data on you, LibrePhotos keeps all your photos and metadata on your local machine. Your data is never sent to or stored on a 3rd party server. Get the same power as those commercial services without giving up your personal data and privacy.
Just want to say, this is beautiful and why I am into open sourced, self hosted systems. Very well put, I am sure the unraid world will respond well.

Installing the docker to my unraid server now, will report back if it goes well.

Pulling the template, it looks like it used the original XML I posted since it pulled reallibrephotos/librephotos rather then reallibrephotos/singleton, this didn't have any of the containers directories configured by default nor the port mapping I added in the second XML posting.
CMD that was ran,
root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='LibrePhotos' --net='bridge' -e TZ="America/Los_Angeles" -e HOST_OS="Unraid" 'reallibrephotos/librephotos:latest'
This CMD comes from the original posting rather then the second posting.

Alright, do I have to add another file for the CMD command to the repo?
You can also find the file here: https://github.com/LibrePhotos/librephotos-unraid

Oh I copied the wrong one 🤦

Haha I figured it was just the wrong XML, I am not sure about the CMD, that may have nothing to do with the repo and may be something generated when you add the docker to unraid, but when I generated the XML, it provided it and I figured I should add it along with the XML in case you needed it.
I have never added anything to unraid CA app so im not sure on the proccess.

Updated my other post to keep the thread a bit more clean

Do these updates mean a listing for LibrePhotos is pretty close to happening on Unraid's Community Apps?

It was up, but a mixup with the xml happened, so I think it is being updated now, I have been checking to see when it is added to the CA so I can confirm its working as it should.
This was the first time I have attempted a template for unraid, but it was simple and quick, so I imagine it will work just fine once the correct XML code is in place.

Just keep an eye on the recently added section and you should see it pop back up, I was there 5 hours ago but with the wrong xml that uses an incorrect docker-hub image.

I pushed the updated XML yesterday and the doc says, that it should update within a couple of hours. Would be great if you could test it again 👍

Just checked the CA again, no sign of the template, I will keep the page open and check back frequently and will test again once its live again.

I'm still not seeing it in Community Apps either. I checked a few times yesterday as well and nothing.

Just rechecked the CA, still not seeing the template. Will keep checking, for now anyone looking to run with docker could possible use the docker-compse add-on for unraid and write in a compose yml for your unraid environment.

It was an invalid XML and I got some help from a moderator of the forum: https://github.com/LibrePhotos/librephotos-unraid/pull/1
I think it should be online in an hour or two.

Wonderful! I will have a look once I get home from work and if its there, I will run a test. Glad it was an easy fix and you got someone who knows note then we do!

It is live, I am pulling it now, all settings looked perfect when adding it into unraid, so far so good.

I just pulled the image as well. Haven't actually gone into it quite yet.
One thing I want to point out is that it didn't look like it setup the WebUI link correctly. I am not seeing a "WebUI" option in the container's drop down menu.

Yes I noticed that too, Ill push a new XML with the link added, Think I just missed that part.
The system port is 3000 and you should be able to hit it at your unraid box ip port 3000, unless you changed the port of course.

Yep, going to :3000 does bring up the WebUi like normal, but the XML should definitely have that as well.
I'm actually stuck on the login page though. I'm assuming the default login is admin:admin, right? That is what I'm attempting, at least.
I check the logs and this is the error that is shown when clicking the "Login" button:
2022-08-10 16:00:55.066 CDT [952] ERROR:  relation "api_user" does not exist at character 714

OK, I submitted a few pull requests to make a dark logo and add the proper URL schema to the XML.
Dark Logo
WebUI link
New to github, but I think I went about the correctly.

Let me start mine up and see what happens.

Actually I got that issue solved. It was a user error, not container error.
A long while back I did have a Librephotos container setup. I had a left over folder from that instance. After removing that and starting this new container up again I was able to register a new user.
It's now importing my photos successfully it looks like. Great!

My install is also working just fine, after having to delete the old folder from first install. Account was created with no issues and photos scanned in.

To get the link to work in the drop down menu, edit the container and add this to WebUI http://[IP]:[PORT:3000]

Yep! I know how to fix that but the template should have that included, is all I'm saying.

Merged your PRs. If everything is alright, then I would l like to call this done :)

Ill pull it one more time just to verify its all up to date, but it looks good at first glance.

OK, found one more error, In CA we had a warning about WebUI port mapping, Unraid wants the container port mapped to the WebUI in the template in order to automatically map to whatever host port the end user chooses when adding to unriad from the template.
Push Here
More info Here
after that is fixed, everything should be up to the standards that unraid is asking for.

Clean install, nothing in my appdata folder and I get this from my log:
`PostgreSQL init process complete; ready for start up.
2022-08-11 20:27:31.247 CEST [256] LOG: starting PostgreSQL 13.7 (Ubuntu 13.7-0ubuntu<IP_ADDRESS>) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0, 64-bit
2022-08-11 20:27:31.247 CEST [256] LOG: listening on IPv4 address "<IP_ADDRESS>", port 5432
2022-08-11 20:27:31.247 CEST [256] LOG: could not bind IPv6 address "::1": Cannot assign requested address
2022-08-11 20:27:31.247 CEST [256] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2022-08-11 20:27:31.252 CEST [256] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2022-08-11 20:27:31.263 CEST [548] LOG: database system was shut down at 2022-08-11 20:27:31 CEST
2022-08-11 20:27:31.272 CEST [256] LOG: database system is ready to accept connections
2022-08-11 20:27:31.894 CEST [572] FATAL: role "librephotos" does not exist
2022-08-11 20:27:32.656 CEST [652] ERROR: relation "constance_config" does not exist at character 91
2022-08-11 20:27:32.656 CEST [652] STATEMENT: SELECT "constance_config"."id", "constance_config"."key", "constance_config"."value" FROM "constance_config" WHERE "constance_config"."key" = 'ALLOW_UPLOAD' LIMIT 21
2022-08-11 20:27:32.656 CEST [652] ERROR: relation "constance_config" does not exist at character 91
2022-08-11 20:27:32.656 CEST [652] STATEMENT: SELECT "constance_config"."id", "constance_config"."key", "constance_config"."value" FROM "constance_config" WHERE "constance_config"."key" = 'ALLOW_UPLOAD' LIMIT 21
2022-08-11 20:27:34.293 CEST [810] ERROR: relation "constance_config" does not exist at character 91
2022-08-11 20:27:34.293 CEST [810] STATEMENT: SELECT "constance_config"."id", "constance_config"."key", "constance_config"."value" FROM "constance_config" WHERE "constance_config"."key" IN ('ALLOW_REGISTRATION', 'ALLOW_UPLOAD', 'SKIP_PATTERNS', 'HEAVYWEIGHT_PROCESS', 'MAP_API_KEY', 'IMAGE_DIRS')
2022-08-11 20:27:34.295 CEST [810] ERROR: relation "constance_config" does not exist at character 91
2022-08-11 20:27:34.295 CEST [810] STATEMENT: SELECT "constance_config"."id", "constance_config"."key", "constance_config"."value" FROM "constance_config" WHERE "constance_config"."key" = 'ALLOW_UPLOAD' LIMIT 21
2022-08-11 20:27:34.296 CEST [810] ERROR: relation "constance_config" does not exist at character 91
2022-08-11 20:27:34.296 CEST [810] STATEMENT: SELECT "constance_config"."id", "constance_config"."key", "constance_config"."value" FROM "constance_config" WHERE "constance_config"."key" = 'ALLOW_UPLOAD' LIMIT 21
2022-08-11 20:27:34.346 CEST [813] ERROR: relation "api_user" does not exist at character 714
2022-08-11 20:27:34.346 CEST [813] STATEMENT: SELECT "api_user"."id", "api_user"."password", "api_user"."last_login", "api_user"."is_superuser", "api_user"."username", "api_user"."first_name", "api_user"."last_name", "api_user"."email", "api_user"."is_staff", "api_user"."is_active", "api_user"."date_joined", "api_user"."scan_directory", "api_user"."confidence", "api_user"."image_scale", "api_user"."semantic_search_topk", "api_user"."avatar", "api_user"."transcode_videos", "api_user"."nextcloud_server_address", "api_user"."nextcloud_username", "api_user"."nextcloud_app_password", "api_user"."nextcloud_scan_directory", "api_user"."favorite_min_rating", "api_user"."save_metadata_to_disk", "api_user"."datetime_rules", "api_user"."default_timezone" FROM "api_user"
2022-08-11 20:27:35.166 CEST [940] ERROR: relation "api_user" does not exist at character 714
2022-08-11 20:27:35.166 CEST [940] STATEMENT: SELECT "api_user"."id", "api_user"."password", "api_user"."last_login", "api_user"."is_superuser", "api_user"."username", "api_user"."first_name", "api_user"."last_name", "api_user"."email", "api_user"."is_staff", "api_user"."is_active", "api_user"."date_joined", "api_user"."scan_directory", "api_user"."confidence", "api_user"."image_scale", "api_user"."semantic_search_topk", "api_user"."avatar", "api_user"."transcode_videos", "api_user"."nextcloud_server_address", "api_user"."nextcloud_username", "api_user"."nextcloud_app_password", "api_user"."nextcloud_scan_directory", "api_user"."favorite_min_rating", "api_user"."save_metadata_to_disk", "api_user"."datetime_rules", "api_user"."default_timezone" FROM "api_user"
2022-08-11 20:27:35.195 CEST [943] ERROR: relation "api_user" does not exist at character 714
2022-08-11 20:27:35.195 CEST [943] STATEMENT: SELECT "api_user"."id", "api_user"."password", "api_user"."last_login", "api_user"."is_superuser", "api_user"."username", "api_user"."first_name", "api_user"."last_name", "api_user"."email", "api_user"."is_staff", "api_user"."is_active", "api_user"."date_joined", "api_user"."scan_directory", "api_user"."confidence", "api_user"."image_scale", "api_user"."semantic_search_topk", "api_user"."avatar", "api_user"."transcode_videos", "api_user"."nextcloud_server_address", "api_user"."nextcloud_username", "api_user"."nextcloud_app_password", "api_user"."nextcloud_scan_directory", "api_user"."favorite_min_rating", "api_user"."save_metadata_to_disk", "api_user"."datetime_rules", "api_user"."default_timezone" FROM "api_user"
2022-08-11 20:27:35.166 CEST [940] ERROR: relation "api_user" does not exist at character 714
2022-08-11 20:27:35.166 CEST [940] STATEMENT: SELECT "api_user"."id", "api_user"."password", "api_user"."last_login", "api_user"."is_superuser", "api_user"."username", "api_user"."first_name", "api_user"."last_name", "api_user"."email", "api_user"."is_staff", "api_user"."is_active", "api_user"."date_joined", "api_user"."scan_directory", "api_user"."confidence", "api_user"."image_scale", "api_user"."semantic_search_topk", "api_user"."avatar", "api_user"."transcode_videos", "api_user"."nextcloud_server_address", "api_user"."nextcloud_username", "api_user"."nextcloud_app_password", "api_user"."nextcloud_scan_directory", "api_user"."favorite_min_rating", "api_user"."save_metadata_to_disk", "api_user"."datetime_rules", "api_user"."default_timezone" FROM "api_user"
2022-08-11 20:27:35.195 CEST [943] ERROR: relation "api_user" does not exist at character 714
2022-08-11 20:27:35.195 CEST [943] STATEMENT: SELECT "api_user"."id", "api_user"."password", "api_user"."last_login", "api_user"."is_superuser", "api_user"."username", "api_user"."first_name", "api_user"."last_name", "api_user"."email", "api_user"."is_staff", "api_user"."is_active", "api_user"."date_joined", "api_user"."scan_directory", "api_user"."confidence", "api_user"."image_scale", "api_user"."semantic_search_topk", "api_user"."avatar", "api_user"."transcode_videos", "api_user"."nextcloud_server_address", "api_user"."nextcloud_username", "api_user"."nextcloud_app_password", "api_user"."nextcloud_scan_directory", "api_user"."favorite_min_rating", "api_user"."save_metadata_to_disk", "api_user"."datetime_rules", "api_user"."default_timezone" FROM "api_user"
2022-08-11 20:29:23.677 CEST [946] ERROR: relation "constance_config" does not exist at character 91
2022-08-11 20:29:23.677 CEST [946] STATEMENT: SELECT "constance_config"."id", "constance_config"."key", "constance_config"."value" FROM "constance_config" WHERE "constance_config"."key" = 'ALLOW_UPLOAD' LIMIT 21
2022-08-11 20:29:23.678 CEST [946] ERROR: relation "constance_config" does not exist at character 91
2022-08-11 20:29:23.678 CEST [946] STATEMENT: SELECT "constance_config"."id", "constance_config"."key", "constance_config"."value" FROM "constance_config" WHERE "constance_config"."key" = 'ALLOW_UPLOAD' LIMIT 21
2022-08-11 20:29:23.692 CEST [946] ERROR: relation "api_user" does not exist at character 714
2022-08-11 20:29:23.692 CEST [946] STATEMENT: SELECT "api_user"."id", "api_user"."password", "api_user"."last_login", "api_user"."is_superuser", "api_user"."username", "api_user"."first_name", "api_user"."last_name", "api_user"."email", "api_user"."is_staff", "api_user"."is_active", "api_user"."date_joined", "api_user"."scan_directory", "api_user"."confidence", "api_user"."image_scale", "api_user"."semantic_search_topk", "api_user"."avatar", "api_user"."transcode_videos", "api_user"."nextcloud_server_address", "api_user"."nextcloud_username", "api_user"."nextcloud_app_password", "api_user"."nextcloud_scan_directory", "api_user"."favorite_min_rating", "api_user"."save_metadata_to_disk", "api_user"."datetime_rules", "api_user"."default_timezone" FROM "api_user" WHERE "api_user"."username" = 'admin' LIMIT 21`

I got those errors too, but after letting it run for a minute, it seems to come online, think the errors are going to be another issue.

I have had it running for over an hour now, still get this error every time I try and log in with admin:admin
2022-08-11 21:46:10.287 CEST [1107] ERROR: relation "api_user" does not exist at character 714

2022-08-11 21:46:10.287 CEST [1107] STATEMENT: SELECT "api_user"."id", "api_user"."password", "api_user"."last_login", "api_user"."is_superuser", "api_user"."username", "api_user"."first_name", "api_user"."last_name", "api_user"."email", "api_user"."is_staff", "api_user"."is_active", "api_user"."date_joined", "api_user"."scan_directory", "api_user"."confidence", "api_user"."image_scale", "api_user"."semantic_search_topk", "api_user"."avatar", "api_user"."transcode_videos", "api_user"."nextcloud_server_address", "api_user"."nextcloud_username", "api_user"."nextcloud_app_password", "api_user"."nextcloud_scan_directory", "api_user"."favorite_min_rating", "api_user"."save_metadata_to_disk", "api_user"."datetime_rules", "api_user"."default_timezone" FROM "api_user" WHERE "api_user"."username" = 'admin' LIMIT 21

Are you sure you have nothing in your appdata folder? This sounds like when I tried to reinstall the docker container with existing librephotos folder in my appdata folder.
You should be getting a form to create a new user on the first launch.

I think we are good to call this closed as everything seems to be working on the template side of things.

A restart of the docker was what I needed. I would like to be able to change the amount of workers in the settings maybe?

That would most likely require something to be passed via extra parameters in the template, I can easily add it in if someone can provide what needs to be passed to docker. I do use librephotos on my unraid box, and I have made that change only via docker .env file.

This seems to be the script that is ran by the singleton docker.
Script
You can get an idea of what the container is doing when you add it here
I don't see where the workers would be configured, someone else will need to help to solve that, and I am not sure if its as simple as just passing the config to docker via the template as of right now.

A restart of the docker was what I needed. I would like to be able to change the amount of workers in the settings maybe?

You can change the number of heavyweight workers in the admin settings. These are the workers who process your images. The number of API workers is currently fixed on the singleton version. Feel free to open up an issue in the librephotos-linux repo about it :)

Very cool to have this feature now 👍 Thanks again, @Cobbert


🐞[bug]: Only Home can See Login and signup

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
WE canot go Login or sign up page when we are staying another page
Expected behavior
Add Login and signup button those pages also
Add ScreenShots

What browsers are you seeing the problem on?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24EXTD contributor
[X] I have starred the repository

Please assign this issue


Add support for CocoaPods.

Hi, thanks for creating this library. This PR is about adding support for CocoaPods #2

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

Hi @abdullahselek , thanks for the PR.
I've bumped the version to 0.3.0 so that we can just tag 0.3.0 after the PR is merged.


Extend podtato head to multiple services.

From Guillaume Dupin
Also have an idea to propose to "explode" mister pod-tato-head image into several parts to easily show version updates. For example :
v0.1.0 = all parts separated ("fully-exploded" pod-tato)
v0.1.1 = some parts (arm, leg, nose...) attached
v0.1.2 = all parts attached ("complete" pod-tato)
Let me know what you think, and I'll make a PR if you think it can be fun and useful :wink:

Thank you @AloisReitbauer ! (if you add the graphics with the individual parts into the repo, I will see if I have the time to make the PR)

They are at here images/podtato-head-assests.  We can work on the development branch

I have a first idea how to structure the example

I have a first idea how to structure the example

Here is an idea how to break this into individual services

I believe the first round of this is complete. See #120 for a proposal to further refactor.


The actor is deadlocked in some cases

The actor is deadlocked in some cases

ActorA.Func1 call ActorB.Func2
ActorB.Func2 call ActorA.Func3
does actor support reentry?

Yes you can use reentrancy:
https://github.com/asynkron/protoactor-go/blob/dev/actor/actor_context.go#L266
if you have a Future from a Request, you can pass that future into ReenterAfter, and it will continue in the actor context once the future is completed


styling: add background to language tabs

fixes #426
Using a slightly transparent white seems to work best. Looks like this:

This is great! Thanks a lot @davidjgoss


[Marketplace] Add Experiment tab in user profile page.

Add Experiment tab in user profile page.
Fix tab display error.

Coverage decreased (-0.02%) to 45.8% when pulling 6e6eb8bf997cea3bcb120ae59579067d6306f0b3 on shishaochen:marketplace into 9fd899ba769f4cd650f043f103c2cb139d956f8d on Microsoft:marketplace.

Coverage decreased (-0.02%) to 45.8% when pulling 6e6eb8bf997cea3bcb120ae59579067d6306f0b3 on shishaochen:marketplace into 9fd899ba769f4cd650f043f103c2cb139d956f8d on Microsoft:marketplace.