Difficulty loading the resulting Arrow file

Hi Dominik, I found this very aptly named package when I googled "CSV to Arrow". 😄
I'm not yet sure what the issue is (or whether it has anything to do with your package!), but I'm having difficulty loading a particular arrow file resulting from your program and was wondering if this is a problem you've seen before. I haven't worked extensively with arrow files so maybe I've just done something obviously incorrect.
I made an Observable notebook here to illustrate the problem: https://observablehq.com/d/b428f10fec94e4b9

Arrow.js does not support compression so maybe that's the issue? I would try with a smaller file to see whether you can reproduce the issue. I would also try arrow 8 instead of whatever arrow version observable provides.

Pardon my ignorance, but I tried to follow your advice and am not sure I succeeded. The notebook above chronicles my adventures – I tried loading a smaller file in several ways using arrow 8, but none succeeded in returning a non-empty table.
It seems the documentation is oriented towards Node use cases so it's possible I've misinterpreted the right way to load a table using apache-arrow.
I still think it's entirely possible that your library is functioning correctly here, though I also tried to the smaller table with the Julia programming language's Arrow library and that also did not succeed.

Arrow.js does not support compression so maybe that's the issue?

FWIW, the file size of the Arrow file is larger than the source CSV for both the large and small files.

Maybe try a different CSV file.

The same difficulty persists with a minimal CSV:
% echo "a,b,c\n1,2,3" > test.csv
% cat test.csv
a,b,c
1,2,3
% csv2arrow test.csv test.arrow

See the bottom of the notebook: https://observablehq.com/d/b428f10fec94e4b9

It looks like the schema is not being parsed correctly in this example (at least on my machine). Do you see the same issue?
$ csv2arrow test.csv test.arrow -n
Schema:

{
  "fields": [
    {
      "name": "a",
      "nullable": false,
      "type": {
        "name": "utf8"
      },
      "children": []
    },
    {
      "name": "b",
      "nullable": false,
      "type": {
        "name": "utf8"
      },
      "children": []
    },
    {
      "name": "c\\n1",
      "nullable": false,
      "type": {
        "name": "utf8"
      },
      "children": []
    },
    {
      "name": "2",
      "nullable": false,
      "type": {
        "name": "utf8"
      },
      "children": []
    },
    {
      "name": "3",
      "nullable": false,
      "type": {
        "name": "utf8"
      },
      "children": []
    }
  ],
  "metadata": {}
}

Interesting, mine is different:
Schema:

{
  "fields": [
    {
      "name": "a",
      "nullable": false,
      "type": {
        "name": "int",
        "bitWidth": 64,
        "isSigned": true
      },
      "children": []
    },
    {
      "name": "b",
      "nullable": false,
      "type": {
        "name": "int",
        "bitWidth": 64,
        "isSigned": true
      },
      "children": []
    },
    {
      "name": "c",
      "nullable": false,
      "type": {
        "name": "int",
        "bitWidth": 64,
        "isSigned": true
      },
      "children": []
    }
  ],
  "metadata": {}
}

The test.csv file contents are
1,2,3

Huh, strange. I can't get it to work either. It doesn't look like we broke anything, though. Here is where I payed with it https://observablehq.com/d/dec13dcbe279c5ec. This need sot be investigated more.

This might be the solution to the issue #85

Fixed in https://github.com/domoritz/csv2arrow/pull/85


Compiler for Windows ARM64

Hi, first of all thanks for this great work which reduces a lot the burden of cross-compilation with CGO :)
The list of supported platforms in the README.md include Windows on ARM64, but it seems that MinGW's clang is not present (/llvm-mingw/llvm-mingw/bin/aarch64-w64-mingw32-gcc) in the published container image.
Am I missing something?
Thank you

should be about there. bear in mind /llvm-mingw/llvm-mingw/bin/ is not included in the path.
root@c20e1fcd1089:/# /llvm-mingw/llvm-mingw/bin/aarch64-w64-mingw32-gcc
clang-15: error: no input files

Thanks @troian. Maybe I'm pointing to the wrong needed container image, but for the currently latest v1.19, I'm getting this:
docker run  --entrypoint ls goreleaser/goreleaser-cross:v1.19 /llvm-mingw/
ls: cannot access '/llvm-mingw/': No such file or directory

thats weird, thanks for reporting.
you can use v1.19.2 for now, it is for sure there

should be all fixed in retagged v1.19.5. Path is /llvm-mingw/bin

Thank you @troian!


Implement Serverless CR condition for missing Istio dependency

Description
If I enable serverless module with internal Docker Registry and Istio is not installed I would see an error in Serverless CR and a condition related to the missing virtualservices CRD problem.
Reason
Ensure good user experience in case serverless is not installed as desired

Blocked until reconciliation loop in serverless manager is ready


[Maestro version,1.11.0]

Bug - Unrecognized field "runScript" (class maestro.orchestra.yaml.YamlFluentCommand), not marked as ignorable (22 known properties: "tapOn", "openLink", "assertNotVisible", "longPressOn", "assertVisible", "inputRandomPersonName", "launchApp", "inputRandomEmail", "extendedWaitUntil", "eraseText", "action", "inputText", "runFlow", "inputRandomText", "repeat", "pressKey", "stopApp", "clearState", "takeScreenshot", "inputRandomNumber", "swipe", "setLocation"])
below yml is working on emulator but not in real device.
`appId: com.a.b
#- runFlow: ../Login/enterPin.yaml
runFlow: ../login/loginFlow.yaml

waitForAnimationToEnd:
timeout: 3000

tapOn:
text: "Crypto"
index: 1

scrollUntilVisible:
element: "Popular Crypto"
direction: "DOWN"

speed: 100
visibilityPercentage: 100
tapOn: "AssetCard Bitcoin"

tapOn: "Buy"

tapOn: "SIP"

tapOn: " 0"

inputText: "113"

hideKeyboard

tapOn: "Edit Date"

assertVisible: "SIP Instalment Date"

#- tapOn: "3"
back

tapOn: "Next"

assertVisible: ".*SIP"

assertVisible: ".1st Instalment."

tapOn: "Trade Preview Button"

waitForAnimationToEnd:
timeout: 3000

runFlow:
when:
visible:
text: "Submit"
commands:
- tapOn: "8"
- tapOn: "Submit"

assertVisible: "Woohoo!"

assertVisible: "Manage SIP"

tapOn:
delay : 300
text : "Manage SIP"

assertVisible: "Orders & History"

assertVisible:
text: "Open"
index: 1

assertVisible:
text: "History"
index: 1

assertVisible: "SIP"

assertVisible: "Active"

tapOn:
text: "SIP BTC"
index: 0

#- assertVisible: "Amount"
#- assertVisible: "Frequency"
#- assertVisible: "Next Instalment"
tapOn: "Pause SIP"

assertVisible: "Are you sure you want to Pause SIP?"

tapOn: "Yes, Pause"

assertVisible: "SIP has been paused successfully"

assertVisible: "Paused"

tapOn: "Paused"

assertVisible: "Activate SIP"

tapOn: "Activate SIP"

tapOn: "Yes, Activate"

assertVisible: "SIP has been resumed successfully"

assertVisible:
text: "Active"
index: 0
`

getting below issue , please help me on this

You're using an old version of maestro. Update to the most recent one https://maestro.mobile.dev/getting-started/installing-maestro#upgrading-the-cli

Thanks felipevolpone. its working fine.


deis config and releases are inconsistent

Runing 1.8 now, upgraded from 1.7.3. Today I've encountered two similar problems.

deis releases reports different releases on each run. For example, two consequent runs on single application:

v88     43 minutes ago               anatolii deployed 0f52435
v87     Ср 29 июл 2015 10:55:26 MSK Ineu changed REDIS_URL
v86     Пн 27 июл 2015 11:52:29 MSK oleg deployed 0a2d010
v85     Пн 27 июл 2015 10:55:43 MSK anatolii deployed 1642877
v84     Пт 24 июл 2015 17:20:31 MSK anatolii deployed 9cd01b0
v83     Чт 23 июл 2015 12:52:09 MSK oleg deployed b1b33cf
v82     Ср 22 июл 2015 16:22:42 MSK oleg deployed 28ff9de
v81     Ср 22 июл 2015 16:06:23 MSK anatolii deployed 9c47ae8
v80     Ср 22 июл 2015 12:55:48 MSK anatolii deployed e105673

v93     7 minutes ago                Ineu changed nothing
v92     9 minutes ago                Ineu changed nothing
v91     Чт 30 июл 2015 19:20:25 MSK anatolii changed API_TOKEN
v90     Чт 30 июл 2015 17:25:46 MSK anatolii deployed 5c541b0
v89     Чт 30 июл 2015 12:15:39 MSK anatolii deployed 2c8e349
v88     Ср 29 июл 2015 15:57:01 MSK anatolii deployed bce473c
v87     Ср 29 июл 2015 11:08:30 MSK Ineu changed REDIS_URL
v86     Пн 27 июл 2015 11:52:29 MSK oleg deployed 0a2d010
v85     Пн 27 июл 2015 10:55:43 MSK anatolii deployed 1642877

As you can see, not only the number of releases differ, but even releases with the same number is completely different. Looks like it comes from absolutely different applications.

deis config output is also not consistent. For the same key (REDIS_URL in my case) it sometimes reports one value and another time another value:

> $ while true; do deiss config -a app | grep '/1'; done
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL<EMAIL_ADDRESS>REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL<EMAIL_ADDRESS>REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1
REDIS_URL                        redis://user:password@example.com:6380/1

Where do these entries without port come from? I don't have any application on this cluster with REDIS_URL not using port.
There are three machines in the cluster, ceph -s reports OK, fleetcl list-machines is fine.

Note: I've discovered containers with the app name underscored (i.e. my_app) while it should have been my-app. Is it possible that there's some logic in Deis that converts dashes to underscores (or vice versa) and thus returns config and releases from two different applications? I don't have my_app application now but it's quite possible that it was there before.

@ineu the controller logs show what endpoints you're hitting with each call. That way we can determine if your client is hitting the same app or there's something else going on.

According to deis-controller logs, all http requests were to my-app (with dash)

if you try a raw cURL using the reference docs as a guide, do you see similar output to the logs above? That way we may be able to rule out if it's a client issue or an API issue. My thoughts are that there may be some API pagination going on which the client may not be handling properly, or perhaps the controller is acting a little wonky with the rendered responses.

Also there's a weird thing in controller logs: I see endless "Booting worker" followed by "Worker exiting". According to monitoring system, deis-controller containers were not being killed by OOM, so they were restarting for some other reason (SIGHUP?):
Aug 03 13:00:21 staging-coreos-1 sh[20520]: [2015-08-03 13:00:21 +0000] [136] [INFO] Handling signal: hup
Aug 03 13:00:21 staging-coreos-1 sh[20520]: [2015-08-03 13:00:21 +0000] [136] [INFO] Hang up: Master
Aug 03 13:00:21 staging-coreos-1 sh[20520]: [2015-08-03 13:00:21 +0000] [19675] [INFO] Booting worker with pid: 19675
<skipped>
Aug 03 13:00:22 staging-coreos-1 sh[20520]: [2015-08-03 13:00:22 +0000] [19607] [INFO] Worker exiting (pid: 19607)
<skipped>
Aug 03 13:00:26 staging-coreos-1 sh[20520]: [2015-08-03 13:00:26 +0000] [136] [INFO] Handling signal: hup
Aug 03 13:00:26 staging-coreos-1 sh[20520]: [2015-08-03 13:00:26 +0000] [136] [INFO] Hang up: Master
Aug 03 13:00:26 staging-coreos-1 sh[20520]: [2015-08-03 13:00:26 +0000] [19711] [INFO] Booting worker with pid: 19711

and so on

if you try a raw cURL using the reference docs as a guide, do you see similar output to the logs above?

Unfortunately this cluster is in use, so I cannot keep it down for a long time.

I meant like a curl -H 'Authorization: token <mytoken>' -H 'Content-Type: application/json' http://deis.domain.com/v1/apps/myapp/releases, essentially mimicking the call which the client would be making.

@bacongobbler This really looks like some kind of synchronization issue between machines. Unfortunately I can no longer reproduce it after reboot. Closing this one.

Just encountered the same problem, reopening issue. After servers were heavily loaded, services were killed (probably because of OOM) and restarted. Now I see deis releases reporting latest versions 77, and fleetctl list-units says containers of version 82 are running.
I'll dig into deis-database contents a bit later

deis-database logs on restart:
Aug 10 15:01:53 staging-coreos-2 sh[4229]: 2015-08-10T15:01:53Z 562835eda2d7 confd[123]: ERROR template: WALE_S3_ENDPOINT:1:53: executing "WALE_S3_ENDPOINT" at <getv "/deis/store/ga...>: err
Aug 10 15:01:53 staging-coreos-2 sh[4229]: 2015-08-10T15:01:53Z 562835eda2d7 confd[123]: ERROR template: create_bucket:10:12: executing "create_bucket" at <getv "/deis/store/ga...>: error ca
Aug 10 15:01:53 staging-coreos-2 sh[4229]: database: waiting for confd to write initial templates...
Aug 10 15:02:05 staging-coreos-2 sh[4229]: database: expecting initialization id: none
Aug 10 15:02:05 staging-coreos-2 sh[4229]: database: no existing database found or it is outdated.
Aug 10 15:02:06 staging-coreos-2 sh[4229]: database: no backups found. Initializing a new database...
Aug 10 15:02:06 staging-coreos-2 sh[4229]: 2015-08-10 15:02:06 UTC LOG:  could not open usermap file "/etc/postgresql/main/pg_ident.conf": No such file or directory
Aug 10 15:02:06 staging-coreos-2 sh[4229]: 2015-08-10 15:02:06 UTC LOG:  database system was interrupted; last known up at 2015-08-03 13:44:06 UTC
Aug 10 15:02:07 staging-coreos-2 sh[4229]: 2015-08-10 15:02:07 UTC LOG:  database system was not properly shut down; automatic recovery in progress
Aug 10 15:02:07 staging-coreos-2 sh[4229]: 2015-08-10 15:02:07 UTC LOG:  redo starts at A9/D3000090
Aug 10 15:02:07 staging-coreos-2 sh[4229]: 2015-08-10 15:02:07 UTC LOG:  unexpected pageaddr A9/CB000000 in log segment 000000B0000000A9000000D4, offset 0
Aug 10 15:02:07 staging-coreos-2 sh[4229]: 2015-08-10 15:02:07 UTC LOG:  redo done at A9/D3000090
Aug 10 15:02:07 staging-coreos-2 sh[4229]: 2015-08-10 15:02:07 UTC LOG:  database system is ready to accept connections
Aug 10 15:02:07 staging-coreos-2 sh[4229]: 2015-08-10 15:02:07 UTC LOG:  autovacuum launcher started

Looking into the database itself I see that latest release has created field set to 2015-08-03. Looks like all my releases created after this date (last start?) was lost.

Looking at my log I see that unexpected pageaddr caused recovery to finish immediately, without any actions. Looks like somehow wal segment become corrupted.

do you have logs from the database before the last reboot? Perhaps it was failing to back up the database to ceph, which would cause this issue.

There are timeouts pushing WAL to gateway, but they are usually followed by successful push. nse deis-database gives me access to this WAL segment, it is of proper size (16MB) but is probably corrupted for some reason.

Yesterday even without restarting deis-database I've seen issue with storing release info: push was succesful, deis reported new release, but looking at deis releases the latest release I see was from 2015-08-03. Though next push (with another commit to trigger post-receive hook) created new release. Very weird.
I'm thinking about possible artefacts from previous releases, as I was upgrading Deis to every new release, from 1.5 to 1.8. WIll try to backup things and completely recreated the cluster.


Remove the nixpkgs.overlays from the nixosModule

The overlay set through the nixos module is tainting nixpkgs and causing derivations to build with different hashes, messing up substituters. I determined this when I was messing around with a pkgs.linkFarmFromDrvs that I could use for my cachix:
# flake.nix
outputs = { nixpkgs, nixos-cosmic, ... }: {
  cachixJobs.LAPTOP-3DT4F02 =
  let
    pkgs = import nixpkgs { system = self.nixosConfigurations.LAPTOP-3DT4F02.config.nixpkgs.hostPlatform.system; };
    lib = pkgs.lib;
  in pkgs.linkFarmFromDrvs "cachix-LAPTOP-3DT4F02" (lib.attrValues nixos-cosmic.packages.${pkgs.system});
};

nix build ".#cachixJobs.LAPTOP-3DT4F02" --no-link --print-out-paths | cachix push frontear

Upon performing a nixos-rebuild, I saw that my cache had no effect and Nix was rebuilding everything cosmic. I ruled out my cachix being the issue since it's always worked, and took a peek at the drvs with repl:
nix-repl> inputs.nixos-cosmic.packages.x86_64-linux.cosmic-osd
«derivation /nix/store/as3yiny5vbk57gw5gpn2pq2p37k2ba8i-cosmic-osd-1.0.0-alpha.1-unstable-2024-07-15.drv»

nix-repl> nixosConfigurations.LAPTOP-3DT4F02.pkgs.cosmic-osd
«derivation /nix/store/iikjf7qb8rn72dasiigg879k4ihmh2w9-cosmic-osd-1.0.0-alpha.1-unstable-2024-07-15.drv»

This is expected given the overlay but an unfortunate surprise for people who expect the packages to be consistent. Ideal solution here would be to remove the overlay, and reference the packages for the module directly through self.packages

Closing because despite some attempts at a fix I'm still getting weird substitution behaviour. It's entirely possible it's my system. I'll re-open if I can sufficiently prove it's this flake causing issues.


Question / feature request: missing some recurrence options

I like this lib very much!
...but, I also would like to set recurring events for:

Last day of the month (payday!)
2nd monday in may (spring fair in our little village)
Easter monday (or Pentecost, Ascension day, other special days...)
offsets, like: 2 days before the last day of the month (could do Pentecost this way: 6 weeks after Easter)

or maybe some of these can be done already but I haven't found out how ?

This repository seems to be defunct but this plugin is very useful.  Since @c-trimm has not touched it in 6 months I have made some updates and moved it to: https://github.com/bramski/moment-recur-js
Please revisit your issue there, thanks!

Right now moment-recur only support simple rules for matching dates, but I'll see what I can do about adding in more advanced functionality for these types of dates. Thank you for your interest.


WIP - Blog banner image and blog post image does not appear in the "Media" section in Umbraco back-office.

Hi @Shazwazza ,
As mentioned here, here is my WIP PR.
Poornima

Hey @Shazwazza ,
Did you get a chance to have a look at this ?
Poornima

Closing this since in Articulate 5 the media picker for all images uses the new image picker where media is stored in the media lib with crops stored on the content item.


Add tabs, refactor per Ratatui Demo2

Add tab layout
Add settings
Add theming
Refactor to make tabs render independently

@jackwilliamson @spencer-dale next i'm gonna try to add the settings menu and make a pr to actually add some tests and docs


Add WinRT csharp samples to print.md

Add WinRT c# samples to the printing doc.
AB#43410793

@monica-ch -

You can probably remove @m-the-hoff from Assignees list.  I entered a dummy Comment to add myself as a reviewer.
You can probably remove Nishitha from the Assignees list and add to Reviewers list instead.
To make this PR mergeable, at bottom of main page, click the Ready for Review button.


v2: Support model creating from dict

we should allow user to create document class dynamically https://docs.pydantic.dev/usage/models/#model-creation-from-namedtuple-or-typeddict

Hey @samsja  would like to work on this as well.


Fixed Joints Support

Hi,
I am trying to load a urdf model to Pinocchio. Looking at robotModel->bodyNames() I can see that there not all bodies specified in the URDF file are listed.
I have specified some fixed joints in the chain from the root link to the feet. Those seem to be missing. Is it not possible to have fixed joints inside a kinematic chain?
thanks,
Kevin

Hello Kevin,
In Pinocchio, fixed joints are handled this way :
We don't add a Joint of type "Fixed" in the Model but we add a Frame at the center of the fixed joint ( so that we keep track of the information ) and we merge the inertial information of the child link with the parent of the fixed joint.
If you have Joint1 -> link1 -> fixed Joint -> link2, it will be parsed as Joint1 -> link1 + link2 ( expressing the inertial informations in the good frame).
It is then normal that you can't see it in bodyNames(), you can however find it in robotModel-> fix_bodyNames

Thanks for your answer.
I have something like joint1 -> link1 -> fixed joint -> link2 -> fixed joint -> link3 and want to compute kinematics and dynamics for link3. How can I access this link? existBodyName("link3") and getBodyId("link3") lead to an error.

Sorry for the delay.
It depends on which version of Pinocchio you are running:
Release/Master Branch
It can be tricky as the link3 as an object disappear during the parsing. Hence you have to work with the "fixed joint". But Pinocchio doesn't have fixed joints. As stated, what it does is it creates a Frame whose name will be the name of the fixed joint, attach it to the parent joint of the fixed frame with a relative placement. In your case you will have a frame instead of the fixed joint 2 ( = fixed joint supporting link2)  and a frame instead of the fixed joint3.

Bodies attached to regular joints just "disappear" because we consider the entry point ( = the frame attached to the body) of the body to be the same as the center of the supporting joint

So to acces the link you will have to do : getBodyId( getFrameParent( "FixedJoint3" ) )

Devel Branch ( coming in next pull request)
Bodies/Joints/Frames are currently being reworked.

Each body will have a Frame (such as said for bodies attached to fixed joints). There will be redundant informations ( for bodies attached to regular joints, you may access it from an operational_frame or from the joint supporting the body)

To acces the link, you will have to do: getFrame ("link3") and ensure the Frame is of type "BODY"

You can find in algorithms/operational-frames.hpp the algorithms currently available working with Frames. You can compute the forwardKinematics

Thanks for your help. The problem is that, in my case, the two fixed bodies at the end of my kinematic chain have a rotational and spacial offset to the last actuated joint. So using the FrameParent seems not to work.

So the paragraph Devel Branch of my previous answer is what you need (We can add an offset (i.e a framePlacement ) with respect to the parent joint for any Frame ) .
We may do the change soon
As a temporary solution, If you have only a few bodies like that, you can add Frames by hand using Model::addFrame
 ///
/// \brief Create and add a frame to the kinematic tree.
///
/// \param[in] name Name of the frame.
/// \param[in] parent Index of the supporting joint.
/// \param[in] placement Placement of the frame regarding to the joint frame.
///
/// \return Return true if the frame has been successfully added.
///
bool addFrame(const std::string & name, const JointIndex parent, const SE3 & placement);


[BUG] Cursor not going to newline on pressing Enter.

I'm submitting a

[x] Regression (a behavior that used to work and stopped working in a new release)

[ ] Bug report

[ ] Enhancement

[ ] Feature request

[ ] Documentation issue or request

Description
A bug: Description of the issue you encountered
A feature: Description of the feature. Cause and its Motivation
Version Information
ngx-editor: x.x.x
angular: x.x.x

Browser

[x] Chrome - x.x.x
[x] Mozilla Firefox - x.x.x
[ ] Opera - x.x.x
[ ] Microsoft Edge - x.x.x

NOTE: Replace x.x.x with your version information

I am trying to develop an angular application where I want to insert a rich text editor that stores data in string format rather than HTML format. Your editor used to store the data written in it as a string, so I decided to use it, but I found that the cursor is not shifting to new line on pressing enter. Also in firefox the cursor is not shifting to new line when it reaches the border of the text feild. Please look issue and inform me as to how to resolve it.

Note: In the previous versions this was not the issue.

You need add plugins for that to work.
For example see https://stackblitz.com/edit/ngx-editor?file=src%2Fapp%2Fplugins%2Findex.ts
 const plugins = [
    keymap(baseKeymap), // required for this issue
  ];

Please reopen the issue if it doesn't solve the problem.


Add integration tests for analysis.py

I propose that it is outside the scope of pytests to run tests on example scripts such as analysis.py
Tests should be written if/when these steps are integrated into the element itself.


Compiler error with -std=c++17 on clang

error.cpp:
#define SIMDPP_ARCH_X86_SSE2
#include "simdpp/simd.h"

Compiling with
$ clang++ -std=c++17 -c -I libsimdpp error.cpp

produces the following error:
In file included from error.cpp:3:
In file included from libsimdpp/simdpp/simd.h:19:
In file included from libsimdpp/simdpp/core/align.h:15:
In file included from libsimdpp/simdpp/types.h:44:
libsimdpp/simdpp/types/empty_expr.h:220:52: error: no viable conversion from returned value
      of type 'const mask_int32<4U>' to function return type 'uint32<4U>'
    SIMDPP_INL operator uint32<N>() const { return e; }
                                                   ^
libsimdpp/simdpp/detail/insn/cmp_neq.h:195:21: note: in instantiation of member function
      'simdpp::arch_sse2::mask_int32<4, simdpp::arch_sse2::expr_empty>::operator uint32'
      requested here
    r32 = (uint32x4)cmp_eq(uint32x4(a), uint32x4(b));
                    ^
libsimdpp/simdpp/types/int32x4.h:123:16: note: candidate constructor not viable: no known
      conversion from 'const mask_int32<4U>' to 'const uint32<4> &' for 1st argument
    SIMDPP_INL uint32<4>(const uint32<4> &) = default;
               ^
libsimdpp/simdpp/types/int32x4.h:138:16: note: candidate constructor not viable: no known
      conversion from 'const mask_int32<4U>' to 'const simdpp::arch_sse2::uint32<4,
      void>::native_type &' (aka 'const __m128i &') for 1st argument
    SIMDPP_INL uint32<4>(const native_type& d) : d_(d) {}
               ^
libsimdpp/simdpp/types/int32x4.h:126:34: note: candidate template ignored: could not match
      'uint32' against 'mask_int32'
    template<class E> SIMDPP_INL uint32<4>(const uint32<4,E>& d) { *this = d.eval(); }
                                 ^
libsimdpp/simdpp/types/int32x4.h:127:34: note: candidate template ignored: could not match
      'int32' against 'mask_int32'
    template<class E> SIMDPP_INL uint32<4>(const int32<4,E>& d) { *this = d.eval(); }
                                 ^
libsimdpp/simdpp/types/int32x4.h:148:34: note: candidate template ignored: could not match
      'expr_vec_construct' against 'mask_int32'
    template<class E> SIMDPP_INL uint32<4>(const expr_vec_construct<E>& e)
                                 ^
libsimdpp/simdpp/types/int32x4.h:221:16: note: candidate function
    SIMDPP_INL operator native_type() const SIMDPP_IMPLICIT_CONVERSION_DEPRECATION_MSG
               ^
1 error generated.

The compiler version is Apple LLVM version 10.0.1 (clang-1<IP_ADDRESS>)
Compiling with c++11 or c++14 work ok.

same issue here (same version of clang). this will block us from moving to C++17 until this is resolved.

same issue here (same version of clang). this will block us from moving to C++17 until this is resolved.


ERROR  Invariant Violation: requireNativeComponent: "BVLinearGradient" was not found in the UIManager.

Screenshots
If applicable, add screenshots to help explain your problem.

Device: ipad 9th (generation ios 15.54)

OS: Mac
"expo": "~49.0.15",
"expo-status-bar": "~1.6.0",
"patch-package": "^8.0.0",
"react": "18.2.0",
"react-native": "0.72.6",
"react-native-gifted-charts": "^1.3.11",
"react-native-linear-gradient": "^2.8.3",
"react-native-reanimated": "~3.3.0",
"react-native-svg": "^13.14.0"

Hi @CHANDRAMOHANnegi 👋
Can you please share your code here?

Hello,
If you use expo project with native package, you need to install react-native-svg, react-native-linear-gradient and react-native-gifted-charts in native package.json
I had the same problem :)

Hi @CHANDRAMOHANnegi
Can you try the above solution and comment here if the issue still persists.

Fixed by changing
-import LinearGradient from 'react-native-linear-gradient';
+import { LinearGradient } from "expo-linear-gradient"
diff --git a/node_modules/react-native-gifted-charts/src/BarChart/RenderBars.tsx b/node_modules/react-native-gifted-charts/src/BarChart/RenderBars.tsx
index 91afd34..4d610cf 100644
--- a/node_modules/react-native-gifted-charts/src/BarChart/RenderBars.tsx
+++ b/node_modules/react-native-gifted-charts/src/BarChart/RenderBars.tsx
@@ -2,7 +2,7 @@ import React, {Component} from 'react';
 import {View, TouchableOpacity, Animated, Text, ColorValue} from 'react-native';
 import ThreeDBar from '../Components/ThreeDBar';
 import AnimatedBar from '../Components/AnimatedBar';
-import LinearGradient from 'react-native-linear-gradient';
+import { LinearGradient } from "expo-linear-gradient"
 import Animated2DWithGradient from './Animated2DWithGradient';
 import Cap from '../Components/BarSpecificComponents/cap';
 import BarBackgroundPattern from '../Components/BarSpecificComponents/barBackgroundPattern';
diff --git a/node_modules/react-native-gifted-charts/src/LineChart/index.tsx b/node_modules/react-native-gifted-charts/src/LineChart/index.tsx
index 2cdfb51..fab4d67 100644
--- a/node_modules/react-native-gifted-charts/src/LineChart/index.tsx
+++ b/node_modules/react-native-gifted-charts/src/LineChart/index.tsx
@@ -2094,6 +2094,18 @@ export const LineChart = (props: LineChartPropsType) => {
   ) => {
     return (
       <Svg>
+        {/* {  For line gradient } */}
+
+        {props.lineGradient && (
+          <LinearGradient id="lineGradient">
+            {props.lineGradient.map((color,i)=><Stop
+              key={i}
+              offset={`${i/props.lineGradient?.length}`}
+              stopColor={color}
+            />)}
+          </LinearGradient>
+        )}
+
         {strokeDashArray &&
         strokeDashArray.length === 2 &&
         typeof strokeDashArray[0] === 'number' &&
@@ -2109,7 +2121,8 @@ export const LineChart = (props: LineChartPropsType) => {
           <Path
             d={points}
             fill="none"
-            stroke={color}
+            // stroke={color}
+            stroke={!props.lineGradient?color:"url(#lineGradient)"}
             strokeWidth={currentLineThickness || thickness}
           />
         )}
diff --git a/node_modules/react-native-gifted-charts/src/LineChart/types.ts b/node_modules/react-native-gifted-charts/src/LineChart/types.ts
index dcd28c7..299711a 100644
--- a/node_modules/react-native-gifted-charts/src/LineChart/types.ts
+++ b/node_modules/react-native-gifted-charts/src/LineChart/types.ts
@@ -232,7 +232,7 @@ export type LineChartPropsType = {
   startOpacity5?: number;
   endOpacity5?: number;
   gradientDirection?: string;
-
+  lineGradient?: Array<string>;
   textFontSize?: number;
   textColor?: string;
   textFontSize1?: number;

Hello,
If you use expo project with native package, you need to install react-native-svg, react-native-linear-gradient and react-native-gifted-charts in native package.json
I had the same problem :)

Hi, Thanks for solution, but this was not working

Can you reopen this one? The problem happens if we pass showGradient=true, probably because react-native-gifted-charts are trying to import LinearGradient from react-native-linear-gradient instead of expo-linear-gradient.

I've changed the internal RenderBars.tsx method and it worked. But we should fix it in the library.


Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:
https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/Schnup89/ioBroker.eq3-thermostat

[x] [E506] Word "lab_eq3Controller_path_long" is not translated to russian in admin/words.js. You can use https://translator.iobroker.in/ for translations
[x] [E506] Word "text_devices" is not translated to russian in admin/words.js. You can use https://translator.iobroker.in/ for translations

I have also found warnings that may be fixed if possible.

[x] [W400] Cannot find "eq3-thermostat" in latest repository

Thanks,
your automatic adapter checker.
P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Close


feature/BE-30: Exhibitions

This PR is directly related to #343. Additionally, it involves minor fixes/updates on other parts:

Date time format is updated. Older version was something like this: 2022-11-18T13:51:56.342042Z. New version will be something like this: 08-12-2022 00:38:25.
Time zone is updated. (It was UTC-0, now it's Istanbul/Europe).
Minor fixes on the documentation of art item related APIs.
Major change: Implementation of exhibition related APIs:

Created four new models: AbstractExhibition, VirtualExhibition, OfflineExhibition, ExhibitionArtItem. AbstractExhibition is an abstract model that doesn't have a correspondence in the database directly. Offline and online exhibitions are derived from it.
Implemented all the API endpoints listed in #343. Documented them with Swagger.
Implemented unit tests to test helper function I've implemented for the APIs.

IMPORTANT:

Now, we have APIs for both online and offline exhibitions. Offline exhibitions only require a single image (poster) from the user - it also requests some information about the location such as longitude and latitude. Frontend should provide this information using a library or a geolocation API.
For online exhibitions, we don't take any location information. During the creation of an online exhibition, user can add images to it by two means: either via uploading from scratch or from his gallery (previously uploaded images). Previously uploaded images should be provided as a list of IDs in the field artitems_gallery. New images should be provided as list of base64 encodings in the field artitems_upload. During our meetings, we didn't give a final decision at this point, therefore I wanted to provide both of the opportunities to users. (Please keep in mind that uploading more than one image to S3 will take some time - so you may want to add some 'loading' effect or something)
Lastly, for now adding collaborators to the exhibition doesn't really mean anything for the online scenario. Because the only time one can upload images to an exhibition is during its creation. I can work on version 2 of exhibition related PRs if we take such requests from frontend and mobile in the future. But, to be realistic, I believe this implementation is more than enough for a majority of the exhibition related requirements we have and it's overkilling to try to implement all those additional features now while we have lots of other works to do in our schedule.)

How to test:

Code may seem a little bit overwhelming - so you don't really need to analyze it in detail. Best you can do is to test the APIs from your Postman. I have a small Postman collection for exhibition related APIs which can be found here:

You can have a very brief look at the Swagger documentation to see If I'm missing something. Sometimes I make simple mistakes while writing those docs.
I tried to cover edge cases as much as possible. Try APIs with different inputs. If it's working properly and docs seems fine - then please approve. Thanks!

I have been looking into your pull request. Firstly, thanks for all of the detailed explanations and the postman collection.
I went through what has changed in terms of commits. There were a few things I felt uneasy about (not necessarily problems).

I couldn't see why we would want to create a separate class for exhibition art items, instead of just pulling existing ones using ids.
We have separate API end points for get and delete functionality, I recall you mentioning that we should try to avoid relating APIs with actions but rather classes (or objects themselves). Could they be on the same endpoint?

I started testing with Postman, using the collection you provided and swagger. I am not done with all of the endpoints, but here are a few remarks;

When I tried testing POST APIs with erroneous input (such as end date being earlier than start, which was the case with the collection ones), the API returned an error message. But when I checked art items through the admin site, I realized that even though the API returned an error the art items were created in the database. This sounds like a situation we would't want, so we could either check before creating art items or find a way of reverting in case of an error.
I also realized that we were creating and storing posters in art item form. I again don't see the point as a poster doesn't have any art item quality other than the image.
And I am truly sorry for all of you who have had to deal with base64 images, didn't know they were this long. I tested POST API for online exhibition with sending existing art item ids, but with creating new art items at online exhibition creation, I get an art item without a name (using encryption provided in collections). A quick demo or a link about base64 would be appreciated.

And lastly I feel like collaboration on exhibitions might be one of those pain points, that the professor was talking about. With all of the models and infrastructure in place hopefully it won't be too hard to create an UPDATE API that collaborators can use for adding their art items.
I can continue reviewing tomorrow, let me know your preference about possible updates (this PR or another).

Thank you for the detailed examination. Let me list my updates:

I created a separate class because I wanted ArtItemExhibition class to have a foreign key to an exhibition. Since not all art items are displayed in exhibitions, I thought that would be better to create a new class. However, I didn't know the fact that foreign keys can be set to null = True and blank = True (meaning that it's not compulsory for an art item to have an associated exhibition although it has such a foreign key field) I realized this feature while dealing with the annotations yesterday. Now, updated ArtItem model accordingly and got rid of ArtItemExhibition model. Btw we can't simply pull existing ones using ids because we also want users to upload art items only for exhibitions. (We could have enforce frontend to first call POST artitem APIs and then POST exhibition API but I wanted them to do everything in one call)
I combined GET online exhibition by id and DELETE online exhibition by id together. Did the same for offline exhibitions as well. Update the routes a little bit, I'll be providing a new Postman Collection button below.
Nice catch! When I returned an IntegrityError due to the dates, I was not deleting the already saved poster from the database. Now it should be working correctly.
Updated the online exhibition creation so that now frontend should also provide title, description and so on for each art item (same as creating an art item). Now, you shouldn't be seeing empty names. Updated the Swagger documentation for the input. If you want to use different base64 images, simply download a one from internet and go to https://www.base64-image.de/, encode it and put it into the input JSON.
Added PUT request for online exhibitions. A collaborator can edit title, description, add images via upload, add images via IDs (from gallery), or delete any image in the exhibition.
Updated GET requests by user id so that it returns the exhibitions in which the currently logged in user is a collaborator (not an organizer).
Still, in order to be able to delete an exhibition, you must be the organizer. A collaborator cannot delete an exhibition.

Now, PR is again open to review. Thank you for your time.

Was receiving ImproperlyConfigured: Field name "type" is not valid for model "ArtItem". error, fixed by changing "type" to "category" in class SimpleArtItemSerializer.
About VirtualExhibition field of ArtItem model; an art item can be included in multiple exhibitions but this is not a manytomany field. As I understand you are planning on using this to immediately delete art items created for a specific exhibition once that exhibition is deleted. This is not really the case for real life exhibitions as people don't really burn away their paintings even if they were initially created for an exhibition. This was one of the reasons why I was weary about creating art items specifically for exhibitions in the first place. But regardless, users always have the option to manually create an art item and add it to an exhibition (which won't go away). In the spirit of not prolonging the PR, I think this version is ok.
When I tried creating an online exhibition I got the following error:

{ "category": [     "\"poster\" is not a valid choice." ] }
I tried with both the collection input body and the one I copied and edited from swagger. Might be giving the parameters wrong.

Hence didn't test any of the online exhibition APIs. (including PUT)
delete url was wrong in the collection, copied from swagger.
Tested all APIs other than online exhibition ones, they all seem to be functioning relly good. Thanks for your efforts.

There were some errors due to our update in #358. Now it should be ok.

About VirtualExhibition field of ArtItem model; an art item can be included in multiple exhibitions but this is not a manytomany field. As I understand you are planning on using this to immediately delete art items created for a specific exhibition once that exhibition is deleted. This is not really the case for real life exhibitions as people don't really burn away their paintings even if they were initially created for an exhibition. This was one of the reasons why I was weary about creating art items specifically for exhibitions in the first place. But regardless, users always have the option to manually create an art item and add it to an exhibition (which won't go away). In the spirit of not prolonging the PR, I think this version is ok.

Yep, this was exactly what I aimed to achieve :D. Frontend can leave a small warning to somewhere stating that artitems that are specifically uploaded for an exhibition will be gone if the exhibition is deleted. Actually, when someone wants to delete an exhibition, this warning can pop up in a very attention drawing manner. Not really important though. As you suggested, a user always can upload an art item to his gallery and then display it in an exhibition. It won't go away when the exhibition is deleted. I don't really think people will want to delete their exhibitions anyways. Why would they

In #354 we added number_of_views to artitems. Added that field to the Swagger doc. Now it's ready for review again.

When I tried updating an Exhibition that didn't exist I got the following error. Perhaps we could catch this.

IndexError at /api/v1/exhibitions/online/3list index out of range

Request Method:
PUT

When I tried updating partially via following input:

{ "title": "Updated Art Online" }
I got this error:
{"detail":"Unsupported media type \"text/plain\" in request."}

When I tried again with including parameters but with an empty string such as;

{ "title": "Updated Art Online", "description": "Updated A collection of beautiful paintings.", "add_via_gallery": [ 9 ], "add_via_upload": [ ], "remove": [ ] }
I got the same error
{"detail":"Unsupported media type \"text/plain\" in request."}

I tested all the APIs. They all worked except PUT.

Fixed the list index out of range error. I'm not able to reproduce the other errors you mentioned. They work fine for me. Could you try them with the latest version please @BElifb ?

Okay here's where I'm at after testing the PUT api.
I kept getting {"detail":"Unsupported media type \"text/plain\" in request."} error. I played around with other APIs, when I tried login API received the same error. So this was most likely a local issue. It went away when I opened a different window in Postman (still don't understand why, headers and parameters were the same 😕 )
When I tried the update API through postman the JSON response returned the updated version but the admin site showed no changes. When I investigated the code realized you forgot to save object after changes, fixed it.
Just as a reminder, the try-catch block was too big and I received "Not Found": "There is no virtual exhibition with the given id such that the current user is a collaborator" error when the actual problem was with saving the object. (I accidentally tried saving the serializer initially).
"add_via_gallery" didn't work. 😿
Haven't tried "add_via_upload"
Can confirm "remove" and the other update fields worked.

Tested "add_via_upload"
It seems to be working, art item is created and the exhibitions/online/<id> returns the newly created item.
But I it is not visible through the exhibition in the admin site. I though maybe you forgot to add the field to serializer but when I looked into it I realized the VirtualExhibition model doesn't have artitems_upload field at all. Now I'm confused altogether as to how you store newly created art item.

I kept getting {"detail":"Unsupported media type "text/plain" in request."} error. I played around with other APIs, when I tried login API received the same error. So this was most likely a local issue. It went away when I opened a different window in Postman (still don't understand why, headers and parameters were the same 😕 )

I guess you were trying to send the data as Text rather than JSON. Idk, maybe that was the reason.

When I tried the update API through postman the JSON response returned the updated version but the admin site showed no changes. When I investigated the code realized you forgot to save object after changes, fixed it.

Much appreciated!

But I it is not visible through the exhibition in the admin site. I though maybe you forgot to add the field to serializer but when I looked into it I realized the VirtualExhibition model doesn't have artitems_upload field at all. Now I'm confused altogether as to how you store newly created art item.

It is stored as an ArtItem. You can find it among the artitems and you'll see that it has a VirtualExhibition associated with it.

Just as a reminder, the try-catch block was too big and I received "Not Found": "There is no virtual exhibition with the given id such that the current user is a collaborator" error when the actual problem was with saving the object. (I accidentally tried saving the serializer initially).

Updated it, now it gives that error only when such an exhibition cannot be found. I did it intentionally to cover all cases easily but was not a good choice.

"add_via_gallery" didn't work. 😿

Could you please share your input and the expected output? I tried it again and it seems to be working.

I gave as input: { "title": "Updated Art Online", "description": "Updated A collection of beautiful paintings.", "add_via_gallery": [     9 ], "add_via_upload": [ ], "remove": [ ] }
And the output was : {   "id": 6,   "owner": {       "id": 3,       "username": "string2",       "name": "st2",       "surname": "ring2",       "profile_path": "avatar/default.png"   },   "title": "Updated Art Online",   "description": "Updated A collection of beautiful paintings.",   "poster": {       "id": 17,       "owner": 3,       "title": "Art Online",       "description": "A collection of beautiful paintings.",       "category": "PT",       "tags": [],       "artitem_path": "artitem/artitem-14.png",       "created_at": "18-12-2022 18:42:10"   },   "collaborators": [       {           "id": 2,           "username": "string",           "name": "st",           "surname": "ring",           "profile_path": "avatar/default.png"       }   ],   "artitems_gallery": [       {           "id": 7,           "owner": 3,           "title": "ArtOfflineexpired",           "description": "A collection of beautiful paintings.",           "category": "PT",           "tags": [],           "artitem_path": "artitem/artitem-7.png",           "created_at": "18-12-2022 13:04:07"       }   ],   "start_date": "08-12-2022 16:00:00",   "end_date": "20-12-2022 16:00:00",   "created_at": "18-12-2022 18:42:10",   "updated_at": "19-12-2022 12:33:25",   "status": "Ongoing",   "artitems_upload": [       {           "id": 18,           "title": "Portrait of Joel Miller",           "tags": [],           "description": "Joel Miller from TLOU universe.",           "category": "OT",           "artitem_path": "artitem/artitem-18.png",           "likes": 0,           "created_at": "19-12-2022 00:52:51"       }   ] }
Going to try updated version now.

Ok updated version works, confirmed through admin site as well.
I think we're finally ready.


"Your Steam account is already associated with another member."

People can no longer sign-in with steam after I updated to the application instead of the plugin. I followed all the steps and deleted the files it said to but nobody can use steam to login as it tries to make another account.

How recently did you upgrade?

Within the last hour, I have run all background tasks as well.

INSERT INTO core_login_links ( token_login_method, token_member, token_identifier, token_linked ) VALUES ( 10, 2, '76561198122638261', 1 ), ( 10, 5, '76561198103239748', 1 ), ( 10, 6, '76561198197612587', 1 ), ( 10, 12, '76561198009784986', 1 ), ( 10, 13, '76561198065124435', 1 ), ( 10, 14, '76561198124059936', 1 ), ( 10, 15, '76561198240230526', 1 ), ( 10, 16, '76561198152183314', 1 ), ( 10, 17, '76561198257766619', 1 ), ( 10, 18, '76561198061457818', 1 ), ( 10, 19, '76561198351086435', 1 ), ( 10, 20, '76561198075782246', 1 ), ( 10, 21, '76561198084970276', 1 ), ( 10, 22, '76561198177113481', 1 ), ( 10, 23, '76561198096910438', 1 ), ( 10, 24, '76561198223321852', 1 ), ( 10, 25, '76561197978016370', 1 ), ( 10, 26, '76561198149824470', 1 ), ( 10, 27, '76561198082089914', 1 ), ( 10, 29, '76561198081843133', 1 ), ( 10, 30, '76561198065533803', 1 ), ( 10, 31, '76561198118907758', 1 ), ( 10, 32, '76561198078129677', 1 ), ( 10, 33, '76561198105346755', 1 ), ( 10, 34, '76561198114955662', 1 ), ( 10, 35, '76561198321276885', 1 ), ( 10, 36, '76561198044478761', 1 ), ( 10, 37, '76561198182494662', 1 ), ( 10, 38, '76561198101264026', 1 ), ( 10, 39, '76561198069510590', 1 ), ( 10, 40, '76561198208453412', 1 ), ( 10, 41, '76561198073164415', 1 ), ( 10, 42, '76561198033617523', 1 ), ( 10, 43, '76561198183228931', 1 ), ( 10, 44, '76561198060040901', 1 ), ( 10, 45, '76561198149839711', 1 ), ( 10, 46, '76561198280882566', 1 ), ( 10, 47, '76561198063604290', 1 ), ( 10, 48, '76561198043173794', 1 ), ( 10, 49, '76561198065473696', 1 ), ( 10, 50, '76561198122334082', 1 ), ( 10, 52, '76561198050124085', 1 ), ( 10, 53, '76561198031488159', 1 ), ( 10, 54, '76561198147112715', 1 ), ( 10, 55, '76561198117059598', 1 ), ( 10, 56, '76561198115211245', 1 ), ( 10, 57, '76561198207447961', 1 ), ( 10, 58, '76561198134677610', 1 ), ( 10, 59, '76561198347730430', 1 ), ( 10, 60, '76561198159450349', 1 ), ( 10, 61, '76561198145662177', 1 ), ( 10, 62, '76561198065057039', 1 ), ( 10, 63, '76561198124921345', 1 ), ( 10, 64, '76561198306872428', 1 ), ( 10, 65, '76561198190260459', 1 ), ( 10, 66, '76561198285474303', 1 ), ( 10, 67, '76561198011859093', 1 ), ( 10, 68, '76561198069748201', 1 ), ( 10, 69, '76561198286285671', 1 ), ( 10, 70, '76561198314897600', 1 ), ( 10, 71, '76561198177288286', 1 ), ( 10, 72, '76561198068049243', 1 ), ( 10, 73, '76561198107300329', 1 ), ( 10, 74, '76561198130671512', 1 ), ( 10, 75, '76561198023962184', 1 ), ( 10, 76, '76561198134708872', 1 ), ( 10, 77, '76561198122200594', 1 ), ( 10, 78, '76561198198530769', 1 ), ( 10, 79, '76561198058562944', 1 ), ( 10, 80, '76561198106054757', 1 ), ( 10, 81, '76561198188701723', 1 ), ( 10, 82, '76561198358292264', 1 ), ( 10, 83, '76561198185642305', 1 ), ( 10, 84, '76561197979652941', 1 ), ( 10, 85, '76561198097816871', 1 ), ( 10, 86, '76561198105163497', 1 ), ( 10, 87, '76561198095248164', 1 ), ( 10, 88, '76561198006377714', 1 ), ( 10, 89, '76561198040529843', 1 ), ( 10, 90, '76561198357810426', 1 ), ( 10, 91, '76561198100983448', 1 ), ( 10, 92, '76561198121440755', 1 ), ( 10, 93, '76561198125431595', 1 ), ( 10, 94, '76561198156634273', 1 ), ( 10, 95, '76561198119900268', 1 ), ( 10, 96, '76561198100699427', 1 ), ( 10, 97, '76561198053219309', 1 ), ( 10, 98, '76561198074997032', 1 ), ( 10, 99, '76561198091651775', 1 ), ( 10, 100, '76561198084717237', 1 ), ( 10, 101, '76561198359976692', 1 ), ( 10, 102, '76561198372092334', 1 ), ( 10, 103, '76561198144812537', 1 ), ( 10, 104, '76561198088962641', 1 ), ( 10, 105, '76561198110583228', 1 ), ( 10, 106, '76561198139510546', 1 ), ( 10, 107, '76561198133195115', 1 ), ( 10, 108, '76561198076149901', 1 ), ( 10, 110, '76561197994609880', 1 ), ( 10, 111, '76561198082953811', 1 )
Duplicate entry '10-2' for key 'PRIMARY'

Getting the same issue as you, I changed the token_login_method because or else if someone was already connected with steam then when they log in it would create a new account that was bugged. I also have the exact same issue in my admincp "Migrating Steam User Login Data" Anyone find a fix for this?

Yeah, I never got a response either. Guess I have to disable steam login now.

with this being a dedicated application now instead of a plugin, have any of you guys removed the old plugin and accompanying files?

during migration it should have picked up on duplicates.... right? @Lavoaster ?

Once the plugins list the steam with plugin has disappeared, I assumed it deleted it by itself. I cannot find any trace of the plugin anywhere. I even deleted the files was supposed to delete like it said in the readme.md

On the plugins list the steam auth plugin has disappeared

Apologies as I typed this msg on my iPhone in the middle of the night.

Still no solution.

@madman32395 Yes, it is supposed to be picked up now. I don't have the time to create and test query for this but it should be possible to run something like
SELECT count(*) total, steamid FROM core_members GROUP BY steamid HAVING total > 1

and clear out any with duplicates.
Follow it up by clearing out the core_login_links (this might not be the right name) table where the login method id matches the steam one and then do something like INSERT INTO core_login_links SELECT <columns required for query> FROM core_members WHERE steamid > 0
I don't know when I'll be able to get to writing and fully testing it these queries, but hopefully that should provide enough guidance for someone proficient with SQL to write one. Since the plugin works fine, just the migration of data seems to be a bit wonky for a few.

Is there any way of completely removing everything created by steam auth. I would just rather restart than trying to migrate the data. Too many people have created duplicate accounts and such I would rather just let people re-link their accounts if possible @Lavoaster.

The manual SQL statements work
Before clearing out core_login_links, take note of the existing token_login_method number for steam


[PTRun] ThemeResource of buttons are changed.

Summary of the Pull Request
ThemeResource changed from SubtleFillColorTertiaryBrush to ControlStrokeColorTertiaryBrush

PR Checklist

[ ] Closes: #32409
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments
I followed the steps below when solving this issue.

I tried all themes from https://wpfui.lepo.co/api/Wpf.Ui.Markup.ThemeResource.html
Some of them is good at Dark them but not in Light theme (Ex. KeyboardFocusBorderColorBrush )
"ControlStrokeColorTertiaryBrush" looks good to me. Contrast in Dark 8.6:1 and Light 5.7:1
I found colors from https://amwx.github.io/FluentAvaloniaDocs/pages/Resources
I gave Chatgpt the colors of the themes from here and asked it to choose a button background for me with the "ControlAltFillColorQuarternaryBrush" background(selected ListViewItem) and the "TextFillColorPrimaryBrush" button text. Chatgpt chose "ControlStrokeColorTertiaryBrush" too.

Validation Steps Performed

@gokcekantarci Not sure if this PR is needed.
https://github.com/microsoft/PowerToys/issues/32409 was created for the old UI, and was not tested on the current UI. So I think we could close that issue and revisit once the new UI gets checked on a11y?

Also now the inner stroke is not accessible against the new fill color. :/

I say the brush used for the "focus" state - ControlAltFillColorQuarternaryBrush - is not the default color and it is too dark. Better to remove that first.
1st = hover, 3rd = focus:

In general: let's stick with the basics/defaults.

I would be happy to take up in a larger scope! 🙂

@gokcekantarci Not sure if this PR is needed.
#32409 was created for the old UI, and was not tested on the current UI. So I think we could close that issue and revisit once the new UI gets checked on a11y?

@niels9001 , This issues was created on .79, right? Did we do any change on .80 that could've changed it?

@gokcekantarci Not sure if this PR is needed.
#32409 was created for the old UI, and was not tested on the current UI. So I think we could close that issue and revisit once the new UI gets checked on a11y?

@niels9001 , This issues was created on .79, right? Did we do any change on .80 that could've changed it?

Looking at the screenshot in the issue, this was not tested on the version that uses the WPFUI/modern design. So I think we should ping that threat and ask for clarification.

@gokcekantarci Not sure if this PR is needed.
#32409 was created for the old UI, and was not tested on the current UI. So I think we could close that issue and revisit once the new UI gets checked on a11y?

@niels9001 , This issues was created on .79, right? Did we do any change on .80 that could've changed it?

Looking at the screenshot in the issue, this was not tested on the version that uses the WPFUI/modern design. So I think we should ping that threat and ask for clarification.

Just did, thank you!
https://github.com/microsoft/PowerToys/issues/32409#issuecomment-2100294146
Will close this for now.


'php' project type uses nginx config derived from Drupal nginx config, should be more generic

Describe the bug
Nginx inside the webserver is adding the requested relative URL as q query parameter to the request which is then passed to PHP (fcgi).
This parameter appears in the global $_GET PHP array.
Since I am using Laravel with DDEV this pollutes Laravel's signature verification. The signature verification functions collects all query params from the current request and verifies it against the previously calculated signature. However this current request includes the q query param, while the precalculated signature doesn't include it.
To Reproduce
Steps to reproduce the behavior:

Create an empy ddev project with the PHP configration.
Create a index.php in the public folder and add a debug breakpoint.
Open the project in your browser and append an arbitraty path (e.g. myproject.ddev.site/some/path/).
See that the global $_GET array contains q=some/path/.

Expected behavior
There are no additional query params in the $_GET or $_REQUEST array other than the user-provided ones.
Version and configuration information (please complete the following information):

ddev version information: v1.12.1

Screenshot

Additional context
As mentioned before, this confuses Laravel's signature validation middleware which is used for email verification: https://github.com/laravel/framework/issues/30594#issuecomment-585235650.

This is likely a result of the default nginx configuration being derived from a default Drupal configuration.
Probably:

You should use a custom nginx configuration (https://ddev.readthedocs.io/en/stable/users/extend/customization-extendibility/#providing-custom-nginx-configuration) - you may want to replace the whole thing, referred to as "legacy"
ddev should probably use a more generic configuration for "php" projects. If you get yours working, we'll consider doing that.

Unfortunately it is not possible to override the location directive to remove the additional query parameter.
I'd have to replace the whole site configuration which is deprecated, as you said.
I'm trying to create a generic nginx configuration for PHP projects in general and move the current customizations to the Drupal configs?

Deprecated is way too strong. That approach is the only way to do many relevant things with nginx config, so recommended.
Yes, you're trying to make a generic PHP config, one that's most likely to succeed. @cweagans this is what you wanted to do, right?
Each supported CMS type has its own default nginx config, so Drupal6/7/8 already have theirs; there's no need for "moving" anything, just getting you a config that's sane for your purposes (and maybe for others).

Sort of. I just wanted ddev to not try to mess with my settings.php, so I was using the php project type as a workaround for that.

Right @cweagans but you offered this PR, https://github.com/drud/ddev/pull/1894, for something you were working on. I'd think we'd probably want a default 'php' nginx-config that was even simpler than just that change though.

Oh, right. I forgot about that. Yeah, a super simple PHP config is probably the right thing. Just enough to run hello world + rewrite /foo/bar to index.php/foo/bar for nice URLs. That'd probably cover the majority of applications.

But would a config that simple break you on Laravel @jdoubleu ?

Another path I'd love to pursue is explicit support for Laravel.  I don't think this would take all that much more than a community-approved nginx config.

I should mention too that the recipe in https://github.com/drud/ddev-contrib/tree/master/recipes/laravel has seemed to work for people in general.
The problem you have only shows up with email verification? Is that why we haven't heard about it before?

But would a config that simple break you on Laravel @jdoubleu ?

No, I think a simple config like that would be enough for most PHP projects. As long as all other FastCGI params (e.g. script name, path info, request info, etc.) are set, every PHP script should be able to determine the current requested path through $_SERVER variable.

Another path I'd love to pursue is explicit support for Laravel. I don't think this would take all that much more than a community-approved nginx config.
I agree. Additionally to the basic PHP configuration, Laravel in DDEV could benefit from additional  rules e.g. for the public storage and media and some caching.

However, Laravel's minimal webserver configuration documentation doesn't add any special rules.
Besides that, DDEV would be competing against Laravel Homestead, a custom local development environment using Vagrant, made for Laravel. It provides way more services than DDEV does out of the box. I know it's still possible to add custom services to DDEV, however with Homestead it is as easy as running a simple command. The most important services I can think of are Redis and Elasticsearch along with MySQL and Mailhog which are already available in DDEV.

The problem you have only shows up with email verification? Is that why we haven't heard about it before?

The root cause for the stated issue lives in the ValidateSignature middleware in the HTTP request pipeline. This middleware will verify the current request against a signature (of the supposed request), embedded in the current request. Since DDEV added the q parameter to the request, the signature check fails.
This middleware can be added to any route in Laravel. The most common route it's used for is the email verification endpoint. That's why I noticed this issue.

Anyway @jdoubleu , if you can use a custom .ddev/nginx-site.conf that gets you where you want to go, please do post it here. Thanks!

[..] please do post it here.

Sorry for the delay! You can find my .ddev/nginx-site.conf below. It currently fits my case. However, it is missing some features (e.g. static file caching and compression), that I consider required by some larger Laravel applications. Unfortunately I couldn't find any other resources but the mentioned Laravel Setup Guide. Furthermore I am not sure which rules to keep, I just left the whole config as it was and only added the Laravel specific part. The Vagrant fix, for example, might be removed.
# taken from https://github.com/drud/ddev/blob/master/containers/ddev-webserver/files/etc/nginx/nginx-site-default.conf
# according to https://ddev.readthedocs.io/en/stable/users/extend/customization-extendibility/#providing-custom-nginx-configuration
# see https://github.com/drud/ddev/issues/2084

# ddev default config

# You can override ddev's configuration by placing an edited copy
# of this config (or one of the other ones) in .ddev/nginx-site.conf
# See https://ddev.readthedocs.io/en/stable/users/extend/customization-extendibility/#providing-custom-nginx-configuration

# Set https to 'on' if x-forwarded-proto is https
map $http_x_forwarded_proto $fcgi_https {
    default off;
    https on;
}

server {
    listen 80;
    listen [::]:80 default ipv6only=on;

    # The WEBSERVER_DOCROOT variable is substituted with
    # its value when the container is started.
    root $WEBSERVER_DOCROOT;

    include /etc/nginx/monitoring.conf;

    # the following is taken from https://github.com/drud/ddev/blob/master/containers/ddev-webserver/files/etc/nginx/nginx_default.conf
    index index.php index.htm index.html;

    # Make site accessible from http://localhost/
    server_name _;

    # Disable sendfile as per https://docs.vagrantup.com/v2/synced-folders/virtualbox.html
    sendfile off;
    error_log /dev/stdout info;
    access_log /var/log/nginx/access.log;

    # see https://laravel.com/docs/6.x#pretty-urls
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # pass the PHP scripts to FastCGI server listening on socket
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php-fpm.sock;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_intercept_errors off;
        # fastcgi_read_timeout should match max_execution_time in php.ini
        fastcgi_read_timeout 10m;
        fastcgi_param SERVER_NAME $host;
        fastcgi_param HTTPS $fcgi_https;
    }
}

server {
    listen 443 ssl;
    listen [::]:443 default ipv6only=on;

    # The WEBSERVER_DOCROOT variable is substituted with
    # its value when the container is started.
    root $WEBSERVER_DOCROOT;

    ssl_certificate /etc/ssl/certs/master.crt;
    ssl_certificate_key /etc/ssl/certs/master.key;

    include /etc/nginx/monitoring.conf;

    # the following is taken from https://github.com/drud/ddev/blob/master/containers/ddev-webserver/files/etc/nginx/nginx_default.conf
    index index.php index.htm index.html;

    # Make site accessible from http://localhost/
    server_name _;

    # Disable sendfile as per https://docs.vagrantup.com/v2/synced-folders/virtualbox.html
    sendfile off;
    error_log /dev/stdout info;
    access_log /var/log/nginx/access.log;

    # see https://laravel.com/docs/6.x#pretty-urls
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # pass the PHP scripts to FastCGI server listening on socket
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php-fpm.sock;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_intercept_errors off;
        # fastcgi_read_timeout should match max_execution_time in php.ini
        fastcgi_read_timeout 10m;
        fastcgi_param SERVER_NAME $host;
        fastcgi_param HTTPS $fcgi_https;
    }
}

Thanks so much!

Just a note that #2263 uses a somewhat simplified nginx configuration for the "php" or default project type.
Also, Laravel also is a first-class project type with its own dedicated nginx configuration. I hope that everybody interested in this issue will try out the alphas for v1.15.  Laravel support is already in v1.15-alpha4. When #2263 is pulled I'll do another alpha, and that would be a fantastic testing opportunity, since the nginx configs all got mucked around a bit with the change there.


Razor uses a custom load context on CoreCLR and regular Assembly.Load on .NET Framework

@davidfowl @Eilon

This is an MVC bug, moved here

https://github.com/aspnet/mvc/issues/3365


Missing/Duplicate issue when sorting by nearest due date

Gitea version (or commit ref): 1.12.5
Git version: 2.25.1
Operating system: Ubuntu Server 20.04
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Haven't tried

Log gist: N/A

Description
When sorting by nearest due date, some issues are duplicated and some cannot be found when going through pages. In my case the first page contains issue 108 and 118, and the second page still contains them but in a different order mixed with other issues. The overall issue count remains the same, but since some are duplicated some can't be found. This can be reproduced both at the per user issues page and the repository issues page.
One thing to note is that they all have the same due date and are all past due by less than a day.
Screenshots
Page 1:

Page 2:

Reproduced after upgrading to 1.13.0.

Reproduced after upgrading to 1.14.3, seems that it doesn't matter to be past due by a day. This sample is past due by a long while but still on the same day.

Probably need to add ID as second sort parameter

Just encountered a duplicate issue that is not past due. So it seems that the only requirement is that they must be due on the same day, so my best guess is temporally inconsistent sorting across pages.


monodevelop: use makeLibraryPath in wrapper (fixes #16844)

Motivation for this change
See issue #16844.
Things done

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

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Pushed to master (a4adca78efc44b9084a3eafb5f8534448919a07e). Thanks!


Data access

Dear authors,
Thanks for the contribution. I am wondering where can I access the data files, e.g.,

data/graphs13/balanced_tree/branching=10-log_num_nodes=13-transitive_closure={.npz,.tsv}
/data/box-mlc-iclr-2022-data/expr_FUN/

Thank you very much.
Cheers,
Susie

Update: I managed to find the data described in the ICLR paper, https://github.com/iesl/box-mlc-iclr-2022/blob/main/download_data.sh


Add exposure (Android) and ISO+shootingTime (Ios)

What

Changes
/**

Add exposure -100 .. 100 range (It will be cast to posible range)

https://developer.android.com/reference/kotlin/androidx/camera/core/CameraControl#setexposurecompensationindex
*/
exposure?: number;

/**

Only IOS

Release param ISO. Out of range casting IOS to value = 400
https://developer.apple.com/documentation/avfoundation/avcapturedevice/1624646-setexposuremodecustom
*/
iso?: number;

/**

Only IOS

Release param shooting time.
https://developer.apple.com/documentation/avfoundation/avcapturedevice/1624646-setexposuremodecustom
*/
shootingTime?: number;

Tested on

Related issues

Hi, thanks for your PR! Is the prop required or not? In your code you provide a default value of 0, what happens if the user doesn't pass one? Is the exposure fixed to 0 then?

Hi, thanks for your PR! Is the prop required or not? In your code you provide a default value of 0, what happens if the user doesn't pass one? Is the exposure fixed to 0 then?

Hi. All new props is not required. For Android 0 exposure will set middle exposure, I thought it is default value but no=). I will add exposureState?.getExposureCompensationStep() for empty exposure with other changes ASAP. Thanks for theme updating =)

I'd just add if (exposure != null) to the if so the exposure will not be set if it's null, no?

Hmm actually what happens if the user passes an exposure value and then passes null again? Will it be updated to default or will it remain to the last one ...

I'd just add if (exposure != null) to the if so the exposure will not be set if it's null, no?

yeah, will do

Hmm actually what happens if the user passes an exposure value and then passes null again? Will it be updated to default or will it remain to the last one ...

Im not sure what it works with dynamically props =(

Hey, are there any plans to finish development of this feature, and is there anything that could be done to contribute?


Tokenize Marlowe contract roles

Use custom tokens to represent Marlowe contract participants.
Implement standard strategies for distributing payments according to token distribution.
Implement "M of N" strategy for providing inputs.

Implemented and merged: https://github.com/input-output-hk/plutus/pull/1798


"Forecasting" demo is a 404

The "Forecasting" example link is leading to 404 error

Demos were moved to a dedicated repo: https://github.com/BrainJS/brain.js-examples


render "foo" tries to render the Rails "foo" view instead of a string

In an effort for Phlex to be more compatible with Rails, a call to render "foo" will try to find the view foo instead of rendering the string "foo".
This causes a few problems:

When a third party component is brought into Rails, it may fail if there's render String calls.
When writing Phlex code in Rails, the content that's about to be rendered has to be checked if its a String and then rendered via plain.

Here's the call site of the code in question: https://github.com//phlex-ruby/phlex-rails/blob/76efa50ebfaa70e828e4c396722b7c1da47cf0d8/lib/phlex/rails/sgml/overrides.rb#L26
A few proposals:
Require the partial: parameter for render
Behavior for rendering templates in Rails 2.2 and before looked like:
render partial: "products/form"

Source: https://guides.rubyonrails.org/layouts_and_rendering.html#rendering-an-action-s-template-from-another-controller
This would break compatibility with the current version of Phlex and likely require a deprecation message in the 1.x series and necessitate a 2.0 release.
The render("foo") call would then behave with the base Phlex behavior.
Require an explicit call to Rails view_context
There's a few ways to do this, but either way its requiring the developer to make an explicit call to the renderer like this:
view_context.render "foo" # Renders a Rails "foo" view"

If the helpers proxy is going to be kept around, Rails renderer could be moved behind there:
helpers.render "foo" # Renders a Rails "foo" view"

Or rails:
rails.render "foo" # Renders a Rails "foo" view"

This would free up the base render method to behavior with Phlex's renderer:
render "foo" # Renders via Phlex

This would also break compatibility with 1.x and require a 2.x release.

I'd like to keep this issue open to collect a few more ideas for navigating this bug fix while minimizing impact to 1.x. Once something is decided I can open a PR.

Thanks for opening this @bradgessler. I do think the ability to render strings is important enough for this to be worth figuring out. Of course you can always render strings with plain, but being able to render an object without checking if it's a string or a block or a renderable is really powerful.

being able to render an object without checking if it's a string or a block or a renderable is really powerful

I'd say it's a necessity based on the work arounds I had to do to get this working in Rails. In my case I had a layout with def title in it that would return a string or Phlex markup.
def title = "My Page"

Running the title string through plain works, but then that blows up when I need to do something to my title like make it a link:
def title
  a(href: "#title") { "My Page" }
end

Some (sloppy) notes from Discord relevant to the implementation of the PR for this issue:

Add String to this line:

https://github.com/phlex-ruby/phlex-rails/blob/e886ad82b0003576abcf3e0b17c90371b43fc5d3/lib/phlex/rails/sgml/overrides.rb#L15-L31
https://github.com/phlex-ruby/phlex-rails/blob/e886ad82b0003576abcf3e0b17c90371b43fc5d3/lib/phlex/rails/sgml/overrides.rb#L19

:partial, :template, etc at

https://github.com/phlex-ruby/phlex-rails/blob/e886ad82b0003576abcf3e0b17c90371b43fc5d3/lib/phlex/rails/sgml/overrides.rb#L27

We should also remove this check here IMO

https://github.com/phlex-ruby/phlex-rails/blob/e886ad82b0003576abcf3e0b17c90371b43fc5d3/lib/phlex/rails/sgml/overrides.rb#L24

Remove this check

https://github.com/phlex-ruby/phlex-rails/blob/e886ad82b0003576abcf3e0b17c90371b43fc5d3/lib/phlex/rails/sgml/overrides.rb

I’d try something like this

def render(*args, **kwargs, &block)
  renderable = args[0]

  case renderable
  when Phlex::SGML, Proc, String, Enumerable, Class
    return super
  else
    if block
         @_context.target << @_view_context.render(*args, **kwargs) { capture(&block) }
    else
      @_context.target << @_view_context.render(*args, **kwargs)
    end
  end

  nil
end

I think you can do something like this for 1.x

def render(*args, **kwargs, &block)
  renderable = args[0]

  case renderable
  when Phlex::SGML, Proc
    return super
  when Class
    return super if renderable < Phlex::SGML
  when Enumerable
    if renderable.is_a?)(ActiveRecord::Relation)
      warn "Some warning here"
    else
      return super
    end
  else
    if renderable.is_a?(String)
      warn "Some other warning"
    end

    captured_block = -> { capture(&block) } if block
    @_context.target << @_view_context.render(*args, **kwargs, &captured_block)
  end

  nil
end

I decided I'm going to have a 1.x and 2.x module in the same branch, with a setting to switch these out. This means in 1.x people can make the upgrade and verify it's working.
When we're happy with that a 2.x will go out, which removes the 1.x code and would break everything in a project that hasn't upgraded.

Turns out render "foo" and render partial: "foo" behavior differently in Rails 🤦.
Given this Erb template:
Hi

<%= render "foo" do %>
The middle
<% end %>

<%= render partial: "foo" do %>
The middle
<% end %>

The first one will work, but the latter will throw this error:
'nil' is not an ActiveModel-compatible object. It must implement :to_partial_path.


Front page and landing page rebrand to Validated Patterns

This is the first step in rebranding the site to Validated Patterns.
We'll need to go through the rest of the site content to make sure it matches the new branding.

/lgtm

/lgtm


"Cannot convert undefined or null to object" on expect.extend

I've followed the steps in chapter 1, and the code fails when it tries to execute the third line in the registerMatchers.js file.
The specified error is:

FAIL  src/index.test.js [ src/index.test.js ]
TypeError: Cannot convert undefined or null to object
❯ src/vitest/registerMatchers.js:3:8
1| import matchers from '@testing-library/jest-dom/matchers';
2| import { expect } from 'vitest';
3| expect.extend(matchers);

Here's a list of my dev dependencies:

>  "@playwright/test": "^1.28.1",
	"@sveltejs/adapter-auto": "^2.0.0",
	"@sveltejs/kit": "^1.27.4",
	"@testing-library/jest-dom": "^6.1.5",
	"@testing-library/svelte": "^4.0.5",
	"@testing-library/user-event": "^14.5.1",
	"eslint": "^8.28.0",
	"eslint-config-prettier": "^9.0.0",
	"eslint-plugin-svelte": "^2.30.0",
	"jsdom": "^23.0.1",
	"prettier": "^3.0.0",
	"prettier-plugin-svelte": "^3.0.0",
	"svelte": "^4.2.7",
	"vite": "^4.4.2",
	"vitest": "^0.32.2"

Hi, thanks for posting this. There are a few breaking changes that have happened in packages since the release of the book. (I'll be updating the errata and the code samples when I have a moment).
For this issue in Chapter 1, @testing-library/jest-dom version 6.0.0 changed the mechanism for importing matchers.
The simplest way to fix this is by changing the first line of src/matchers/registerMatchers.js to:
 import * as matchers from '@testing-library/jest-dom/matchers';

If you want TypeScript type support for matchers, you can follow the instructions here:
https://github.com/testing-library/jest-dom/releases/tag/v6.0.0
Let me know if that fixes the issue for you?

@dirv I created both TypeScript and vanilla JavaScript versions of the project. The change that you specified fixes the issue with the JavaScript version of the project.
In terms of the TypeScript version, I had to make additional changes in order to make TypeScript happy. In addition to the modified import in the registerMatches.ts file, I modified in the imports in index.test.ts to the following:
import '@testing-library/jest-dom/vitest';
import { describe, it, expect } from 'vitest';


Using WindowsMediaController as a DLL in Unity

I've been trying to create a DLL to use WindowsMediaController in Unity x64 standalone build without success. I assume this is Unity Mono issue but thought I'd ask anyway.
This was my attempt but Unity throws al sort of issues with the imported support DLLs. Maybe there is a different approach I should be taking?
Here is my minimal attempt:
`using System;
using Windows.Media.Control;
using WindowsMediaController;
using static WindowsMediaController.MediaManager;
namespace MediaTrackInfo
{
public class MediaTrack : IDisposable
{
private MediaManager mediaManager;
private string currentTrackName;
    public MediaTrack()
    {
        mediaManager = new MediaManager();

        mediaManager.OnAnyMediaPropertyChanged += MediaManager_OnAnyMediaPropertyChanged;

        mediaManager.Start();
    }

    private void MediaManager_OnAnyMediaPropertyChanged(MediaSession mediaSession, GlobalSystemMediaTransportControlsSessionMediaProperties mediaProperties)
    {
        currentTrackName = $"{mediaProperties.Artist} - {mediaProperties.Title}";
    }

    public string GetCurrentMediaTrack()
    {
        return currentTrackName;
    }

    public void Dispose()
    {
        mediaManager?.Dispose();
    }
}

}
`

Hi, this does require the lib to access WinRT (not entirely sure how that's handled in Unity), I'll be taking a closer look later this weekend but that may be a helpful lead for ya.

After more research, it seems you'll need to look more into how to allow Unity to access Windows Runtime (WinRT). It seems a bit tricky to get working, however, I'm not familiar with that aspect of the UnityEngine so you'll need to do more digging there.
You may be better off asking questions regarding the imports on unity support forums as my knowledge is very limited here.

Yup, after more research this seems to be a better question for unity-focused support regarding utilizing Windows Runtime.
One other way you get around it is to create a separate executable that the game would launch and be the parent of, then communicate between the two in whatever fashion you'd like. Like STDIN and STDOUT for example.
However, don't think there's much else I could add to this so I'll close this. If you feel differently don't be afraid to re-open.


ignore onRequest return value is not correct

see: https://github.com/cloudwego/netpoll/blob/cf96b810bf76819dc2e78f3218d192fe47f99b64/connection_onevent.go#L161
This line ignore the return error of onRequest.
I think when use return a error of onRequest, the framework should close socket fd.
Thanks.

https://github.com/cloudwego/netpoll/blob/cf96b810bf76819dc2e78f3218d192fe47f99b64/eventloop.go#L93
It should close connection by yourself. currently, netpoll dont use the return error of OnRequest. see the comment.


Design a figma prototype

Create a Figma prototype and finalize

Create a Light theme figma design
Creat a dark theme Figma design

Acceptance criteria:
Finalize the theme with the project admin and start designing the architecture.

https://www.figma.com/design/glBUKjxyRA8iLPMkry1vQK/Animation-Hub?node-id=1-2&t=GZQuUsjYUCveD3yi-1
This is the Figma design for the Animation-Hub
(you can ask for edit access to @Premkolte ,and start contributing.)

Give me access -<EMAIL_ADDRESS>

Done

Give me access -<EMAIL_ADDRESS>
Done

Yeah I can do this in tailwind

yes , you can do it.

we have finalised the UI.


atk:x86-windows-static failed with : BUILD_FAILED

Dear,
I met a problem when I want to install GTK.
The installation failed when it trying to install atk

I did all the recommandations, and try on another PC and same error.
Below the log file:
install-x86-windows-static-dbg-out.log
I have cmake 3.10.2 X86 and git installed
Many thanks for your help

I can repro in a clean tree with x86-windows-static or x64-windows-static or .  Some more information if someone is working on this:

atk_marshal_VOID__STRING_BOOLEAN and others are declared in a generated atkobject.h file before the rest of the build happens.
the utility used to generate atkobject comes from glib, it's called glib-genmarshal
the relevant code in the port's CMakeLists is here.

After investigating further, it looks like static builds are actually broken at a more fundamental level; glib's generator tools don't generate headers when built in static mode! Additionally, they both use DllMain() so they weren't even being built as static libraries anyway.
I've disabled both of these libraries when static linking to account for this; please use the DLL triplets if you'd like to use glib/atk.
Additionall, as @glachancecmaisonneuve

Thanks for your answser,
I tried to install atk in dynamic but I met an error with gettext

Below the log file.
install-x86-windows-dbg-out.log
Many thanks for your help

The problem still exist, i can not build the atk project.

Hi @mathieusr , thanks for reporting this issue!
Please open a new issue if this is still a problem for you.
Thx.


Doesn't sync with device theme on Linux

Describe the bug
Spotify is not syncing light/dark mode on Linux
To Reproduce
Steps to reproduce the behavior:

Open spotify
Spotify will always default to dark mode even if you have light mode enabled on your system

Desktop Setup

Operating System: Fedora Linux 39
Spotify: <IP_ADDRESS>7.g36b715a1 (Flatpak)
Spicetify: 2.29.1
Theme: 4.8

Logs

Side note:
Dev tools seems also to default to dark mode even with the theme set to "system preference" and light mode enabled on my system

Can confirm this also happens in Kubuntu 22.04 LTS + apt Spotify

Can confirm this also happens in Kubuntu 22.04 LTS + apt Spotify

So good to know that it isn't related to Flatpak

I have the same issue on Fedora 39 KDE with the Spotify Flatpak

Nothing I can do, unfortunately

Sorry to bump a closed thread, but auto light/dark mode started working today after Spotify/Spicetify update (Plasma 6, Tuxedo OS). Thanks for the theme, its great.

@IdkWhatToCallMe123 @nozerorma  have a look at #87


/flags has pointers instead of values (v2 beta 0)

What did you do?
Visited /flags on a running prom/prometheus:v2.0.0-beta.0 Docker container
What did you expect to see?
"alertmanager.notification-queue-capacity | 10000"
What did you see instead? Under which circumstances?
"alertmanager.notification-queue-capacity | {0xc4204183e8}"
Environment

System information:
Docker 1.11.1 on linux 4.9.13 (minikube 0.20.0, virtualbox)

Fixed in #2998


Add Pharo support for tests

This PR adds support for running tests in Pharo, based on results of mikro-hacktahon.
For now, tests only run using Gem5, QEMU is not supported due to limitations (bugs) SmallRSP as of now (for example, SmallRSP chokes on g-packet sent by QEMU).
Fixing this is left as future work since there's plan to cleanup SmallRSP anyway.

FYI @shingarov

Doesn't #getEnvironment: better belong in PreSmalltalks?


only allowed organisations should be selectable in proposal

Describe the bug
when creating a proposal user wants to select an organisation.
currently there are n organisations shown and their names are not resolved to plain text.
user cannot know which organisations/campaigns he is allowed to create a proposal for.
To Reproduce
Steps to reproduce the behavior:
votings > create > select organisation / campaign
Expected behavior

resolve hashes to clear names of organisations / campaigns
only show organisations and campaigns, where user belongs to

QA can be done here: https://gamedao-beta-28lf5kpfm-75.vercel.app/


Added multiple spawns but only certain spawn activates on everything even if not selected.

Minecraft version
1.19.2
LibX version
1.18.2-3.3.33
Skyblock Builder version
1.18.2-3.3.33
Forge version
40.2.10
The latest.log file
https://pastebin.pl/view/b3391b0d
Issue description
When setting a spawn in the templates.json5 file it only ever uses my "single" spawn and not "default" or "spawn" when my spawn specifically has the "spawn" spawn set. Basically it keeps making the spawn islands spawn at 4, 9, 4 instead of 8,0,8 or even default.
Steps to reproduce
{
// The template which will be used for spawn only
// Example:
// {
//     "name": "default",
//     "desc": "",
//     "file": "default.nbt",
//     "spawns": "default",
//     "direction": "south"
// }
"spawn": {
"name": "Spawn",
"desc": "",
"file": "spawn.nbt",
"spawns": "spawn",
"direction": "south"
},
"spawns": {
"default": [
[ 6, 3, 5 ]
],
"spawn": [
[ 8, 0, 8 ]
],
"single": [
[ 4, 9, 4 ]
]
},
// The list of templates being available. The first entry is the default template.
"templates": [
{
"name": "Single Tree (DEFAULT)",
"desc": "A single tree on a single dirt. How single!",
"file": "single_tree_default_.nbt",
"spawns": "single",
"direction": "south"
},
{
"name": "OG Island (No Chest)",
"desc": "Miss OG Skyblock? ",
"file": "og_island3.nbt",
"spawns": "default",
"direction": "west"
},
{
"name": "Large Island",
"desc": "Big island! Yeah it got stone ",
"file": "large_island2.nbt",
"spawns": "default",
"direction": "north"
},
{
"name": "Industrial Island",
"desc": "It has water wheel but sea water! ",
"file": "industrial_island4.nbt",
"spawns": "default",
"direction": "south"
},
{
"name": "Project Tree",
"desc": "A single tree on a single dirt... or is it?",
"file": "default_projecte.nbt",
"spawns": "default",
"direction": "south"
}
]
}
EXPORTED SPAWN LIST:
{
"islandSpawns": [
[
4,
9,
4
]
]
}
Other information
No response

A few things:

I cannot reproduce this problem. I don’t know what the problem is.
This is a 1.18.2 bug. If it’s critical, I’d fix it but it seems to be another problem why this happened. This version is out for so long and that was never reported before. Maybe you’re the first :) But I think there’s another problem.
Is it still a problem? Was it fixed suddenly? If yes, you can close this :)


[FR] Ability to define colors as "red", "#ff0000", "rgb/rgba(...)", "var(--some-var)"

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Currently a color for level_color & background_color options is defined as a list:
level_color: [255,0,0]

or
level_color:
  - 255
  - 0
  - 0

We cannot use these variants:
level_color: red
level_color: 'red'
level_color: '#ff0000'
level_color: var(--red-color)
level_color: 'var(--red-color)'
level_color: rgb(242,142,28) # or rgba()
level_color: 'rgb(242,142,28)' # or rgba()

These variants are commonly used in many other cards (mainly custom cards since stock cards do not support defining colors explicitly, only by themes or card-mod).
Possible use-cases with the proposed approach:

User may define a global CSS theme variable to represent a "color of water" & then use it for graphs / progressbar-like cards (like bar-card) and this fluid-level-background-card. Assume this variable is called --water-color, then a code will be:

level_color: var(--water-color)

A similar case with using yaml-anchors:

color: &ref_water_color rgb(xxx,xxx,xxx) # for some another card
...
level_color: *ref_water_color

This proposal could be NOT a BREAKING change if the currently used "list" variant stays supported along with the new proposed ways.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Please see above.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

please check v0.1.6-beta.2

You are brilliant! Thanks, will start testing.

What I noticed while testing:
type: vertical-stack
cards:
  - type: custom:fluid-level-background-card
    card:
      type: glance
      entities:
        - entity: sun.sun
          name: Beer level
    entity: input_number.test_level_1
    fill_entity: input_boolean.test_boolean
    level_color: rgba(255,0,0,0.1)

  - type: custom:fluid-level-background-card
    card:
      type: glance
      entities:
        - entity: sun.sun
          name: Beer level
    entity: input_number.test_level_1
    fill_entity: input_boolean.test_boolean
    level_color: '#ff0000'

  - type: custom:fluid-level-background-card
    card:
      type: glance
      entities:
        - entity: sun.sun
          name: Beer level
    entity: input_number.test_level_1
    fill_entity: input_boolean.test_boolean
    level_color: #ff0000

In rgba case the alpha channel not set.
If hex value is not defined in quotes - then probably it is considered as a comment. After save & reopening I see this:

level_color: null

And color is blue. But in "const.ts" it is still [0, 128, 0]. Is it a bug or by a design?
Imho a blue color is a good choice for a default value - but some users may think that this is a "breaking change" )).

"const.ts" are just defaults to use in case no value is available.

"const.ts" are just defaults to use in case no value is available.

Means - a default value from "const.ts" is used if no level_color option is defined.
Shouldn't this be same as level_color: null?

Also, I would suggest to remove mentioning "rgba()" in Readme.
Or add a support for rgba()...

First off, thank you for this card and all the effort you have put into making/upkeeping it.
Would be is be possible to add the alpha channel? I ask because then instead of just using the traditional bar-card or similar, it would allow for it to be used as an overlay on images of bottles, containers, etc. Granted this should be able to be done by editing the image to make the fluid area a transparent layer, but with the alpha channel you could leave the image as is and maintain the details/design.
If these isn't feasible, then I understand. Either way I love this card and surprised you are the only one to have created something like this.


Improvement on API error message

Q: what is the expression of COL1A1, CD19, TP53 in human hair?
API:     await api.average('h_sapiens','COL1A1,CD19,TP53','gene_expression','hair');
current error message:  { error: 'API call failed: undefined' }
We need a better error message when user ask for an organ that is not available.

re-engineered the error system


powerbi alerts

The suggestion does not work to create powerbi alerts.

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

ID: 64b2fae9-3356-f90c-8b3c-647aa2ad5f75
Version Independent ID: 5ee251f0-8e8b-47eb-937c-356e15c341ba
Content: Set data alerts in the Power BI service - Power BI
Content Source: powerbi-docs/service-set-data-alerts.md
Service: powerbi
Sub-service: powerbi-service
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Hi, @vrod9429 -- are data alerts working for you now? If not, I suggest reading through the article again and make sure the situation meets all the criteria. If that doesn't resolve it, check the Power BI Community, https://community.powerbi.com/, to see if anyone else has experienced anything similar. Barring that, try the Support site, https://powerbi.microsoft.com/en-us/support/.
Good luck!


feat(clipboard-manager): implement ios and android clear functionality

This PR contains iOS and Android clear clipboard functionality that I use in my own project and shared here. Below is a screenshot that contains iOS simulator demonstration (as best as console logs could demonstrate) that it functions in the intended manner, and below that is the Android emulator version.
iOS simulator test:

Android emulator test:

Also, the below when missed the else part. Not that it was causing errors for now, other than the IDE error, but it might in the future. Thinking it might not be worth a separate PR, I included it in this one. If I should open another one for that, I can send it in a separate PR and take it out of this one.
    val clipData = when (args) {
      is WriteOptions.PlainText -> {
        ClipData.newPlainText(args.label, args.text)
      } else -> {
        invoke.reject("Invalid write options provided")
        return
      }

Thank you