[String!]! is translating to typescript type Array<Scalars['String']> | Scalars['String']

Issue workflow progress
Progress of the issue based on the Contributor Workflow

[x] 1. The issue provides a reproduction available on GitHub, Stackblitz or CodeSandbox

Link to codesandbox: https://codesandbox.io/s/hardcore-tdd-q7uyd1?file=/types.ts

[ ] 2. A failing test has been provided
[ ] 3. A local solution has been provided
[ ] 4. A pull request is pending review

Describe the bug

The graphql type [String!]!, i.e., a non-nullable array of non-nullable strings, is converted to Array<Scalars['String']> | Scalars['String'] rather than only Array<Scalars['String']>.
To Reproduce
Steps to reproduce the behavior:

My GraphQL schema:

type ProjectCreateMutation {
    response: String!
    message: String!
}

type Mutation {
    createProject(
        description: String!
        name: String!
        subtitle: String!
        tags: [String]!
    ): ProjectCreateMutation
}

type Query {
    getMessage: String
}

My GraphQL operations:

mutation createNewProject(
  $description: String!
  $name: String!
  $subtitle: String!
  $tags: [String!]!
  ) {
  createProject(
      description: $description
      name: $name
      subtitle: $subtitle
      tags: $tags
  ) {
      response
      message
  }
}

My codegen.yml config file:

overwrite: true
schema: schema.graphql
documents: document.ts
generates:
  types.ts:
    plugins:
      - typescript
      - typescript-operations

Expected behavior

[String!]! should be converted to Array<Scalars['String']>
Environment:

OS: Linux (PopOS)
@graphql-codegen/...:

{
  "dependencies": {
      "@graphql-codegen/cli": "2.6.2",
      "@graphql-codegen/typescript": "2.4.11",
      "@graphql-codegen/typescript-graphql-files-modules": "2.1.1",
      "@graphql-codegen/typescript-operations": "2.4.0",
      "graphql-request": "^4.3.0",
      "graphql": "^16.5.0"
  }
}

NodeJS: v16.14.2

Additional context

I believe this is expected, because of input coercion for lists: https://spec.graphql.org/June2018/#sec-Type-System.List

I believe this is expected, because of input coercion for lists: https://spec.graphql.org/June2018/#sec-Type-System.List

If I understood correctly spec October 2021 states that expecting type [Int] you can never get Int(1) if you provide 1, instead you should get [Int(1)], which makes sense as you're expecting an array, not an integer.
Therefore [String!]! should generate Array<Scalars['String']>, and not Array<Scalars['String']> | Scalars['String'] since we're expecting a non-nullable array of non-nullable strings. It can be coerced from a string input to an array with a single string item, but it's always an array in the end.
Please, correct me if I'm wrong.

As a consumer, per spec you can give array or a single value, right? And "operations" plugin generates types for consumers. So this makes the types valid or am I missing something?

As a consumer, per spec you can give array or a single value, right? And "operations" plugin generates types for consumers. So this makes the types valid or am I missing something?

Now I see what you mean. Taking coercion into account, as a consumer, you can send both array and single value so the current behaviour is correct ☑.

I think we can close this issue then :)

Although it's spec compliant, is there a way to override this behavior? It makes working with the generated types difficult always guarding for a string when we know it will be an array. I would rather not rely on coercion and enforce to callers that they need Array<Scalars['String']>.

It's documented, just not in the GQL-Code-Gen docs, but in the plugins docs:
https://the-guild.dev/graphql/codegen/plugins
Search for "typescript-operations", there you can find all the configuration.


prev/next buttons should be enabled for looping carousels

Currently, that is to say in beta 3, the prev/next controls get disabled when the number of items in the carousel is equal to the number of items visible. That should not be the case if it loops as well. In that case, the carousel can always be navigated back and forth no matter how few items there are.
In my case specifically, I'm setting the number of visible items to 3, but I've styled the carousel so that item 2 is visible, while 1 and 3 are half-visible, hinting to the visitor that there's more to see (yes, carousels are hardly ever actually used by visitors...)
So in this usecase, it's absolutely vital that the prev/next buttons are there.
In any case, getting more technical:
if I pass nav: true in the options, I want the navigation button to be displayed, not because of this and that, but simply because I asked for it. Frankly, I expect no arbitrary intelligence to redo this decision this for me. So if you want to keep this intelligence, fine, but then put it behind nav: "auto" or something, while nav: true displays them at all times.

This is a great point. It'd be great if this was implemented so that there was auto and true options, where auto maintains the old behavior.

Same problem for me. I set nav: true and controls only appears if there is an other content outside the viewport.

I have nav set to true and the elements appear in the DOM, albeit with a class of "disabled". So as a quick fix while waiting for this issue to be sorted out, I added this to my stylesheet.
.owl-nav.disabled {
  display: block
}

From there you can style the previous and next buttons as you desire.


Fix Hermes binary path

Summary
Hermes command targets a wrong binary path

This fix was not fixed in the latest version, at least in Windows 10：

This fix was not fixed in the latest version, at least in Windows 10：
A problem occurred starting process 'command '....\node_modules\hermesvm\win64-bin\hermes''

im still encountring this issue, did you find any workaround or should i just give up on hermes on windows

This fix was not fixed in the latest version, at least in Windows 10：
A problem occurred starting process 'command '....\node_modules\hermesvm\win64-bin\hermes''

I am also facing same problem did you find any suitable solution.


[Bug Report] Unable to play CarRacing-V2 due to assertion failure with keyset

Describe the bug
Unable to play CarRacing-V2 due to assertion failure with keyset
Code example
import gymnasium as gym
from gymnasium.utils.play import play
play(gym.make("CarRacing-v2", render_mode="rgb_array"), keys_to_action={
                                               "w": np.array([0, 0.7, 0]),
                                               "a": np.array([-1, 0, 0]),
                                               "s": np.array([0, 0, 1]),
                                               "d": np.array([1, 0, 0]),
                                               "wa": np.array([-1, 0.7, 0]),
                                               "dw": np.array([1, 0.7, 0]),
                                               "ds": np.array([1, 0, 1]),
                                               "as": np.array([-1, 0, 1]),
                                              }, noop=np.array([0,0,0]))

System info
MacOS Sonoma 14.5
Gymnasium 0.29.0, 0.29.1, 1.0.0a2
Additional context
When trying to execute the play example for CarRacing-V2 (link) in the documentation, it fails because of "assert action in env.action_space" exception. I have found that commenting out line 266 allows me to execute CarRacing-V2, but I do not believe that is a desired solution. If this truly an issue, I would be interested in fixing it but might need some direction.
Traceback (most recent call last):
  File ".../PycharmProjects/Gymnasium/run.py", line 6, in <module>
    play(gym.make("CarRacing-v2", render_mode="rgb_array"), keys_to_action={
  File ".../PycharmProjects/Gymnasium/gymnasium/utils/play.py", line 266, in play
    assert action in env.action_space
AssertionError

Checklist

[X] I have checked that there is no similar issue in the repo

Thanks for reporting the issue, it is probably related to NumPy 2.0
You should just need to
import gymnasium as gym
import numpy as np

from gymnasium.utils.play import play

play(
    gym.make("CarRacing-v2", render_mode="rgb_array"),
    keys_to_action={
        "w": np.array([0, 0.7, 0], dtype=np.float32),
        "a": np.array([-1, 0, 0], dtype=np.float32),
        "s": np.array([0, 0, 1], dtype=np.float32),
        "d": np.array([1, 0, 0], dtype=np.float32),
        "wa": np.array([-1, 0.7, 0], dtype=np.float32),
        "dw": np.array([1, 0.7, 0], dtype=np.float32),
        "ds": np.array([1, 0, 1], dtype=np.float32),
        "as": np.array([-1, 0, 1], dtype=np.float32),
    },
    noop=np.array([0, 0, 0])
)

@pseudo-rnd-thoughts Awesome! That fixed it for me. I will create a pull request to update the documentation to reflect your code.


Results on KITTI 00 dataset

Hello,
When I run your code this is the result I get from KITTI dataset sequence 00.

Your results seem to be better. Did you use the same calibration file when you recorded the demo video? Do you guys also get the same result  or am I doing something wrong?
Note: I am using grayscale dataset

Hi kdr,
The calibration didn't change. However, the result in the readme was obtained using the code several versions ago, so it is possible that the result is slightly different from the current version's. The reason for changing was due to some stability concerns and running speed.
You can take a look at the code history or play with the parameters such as bucket size, num of feature per bucket, total feature number, the feature extraction method, etc..
Good luck!

Hello,
Thank you very much for your quick response. I tried the version at 26 Nov. 2018, and I got the same results.


Fix performance issue with np.power when second argument is an integer

Using static dispatch to exponentiation by squaring solves the issue.

Mostly fixes #961, fortran is still a bit faster because gfortran chooses to unroll.


Please help to understand

Hi, I'm from this issue https://github.com/enkimute/ganja.js/issues/150
Trying to understand this library and geometric algebra in general
I'm trying to make an example that I can understand and I'm trying to rewrite this simple https://enkimute.github.io/ganja.js/examples/coffeeshop.html#pga2d_distances_and_angles example with this ts-geometric-algebra library
https://stackblitz.com/edit/typescript-pj7657?file=index.ts
And I still don't understand how to use it and what methods and functions to use where.
For example, in this stackblitz example, I cannot even calculate the distance between two points. I don't even know how to create a point in this library

Don't use new PGA2D the internal representation used by this library is a mess. Use PGA2D.fromGanja instead.
I actually don't know how to use this library to do real GA at the moment. As it stands, this library is just my learning tool to understand what computations go into the geometric product and related operations. All I know is that the unit tests that check for Ganja compatibility pass.
I'll write some examples/tutorials when I understand how these computations are supposed to be applied.

> I don't even know how to create a point in this library
My best guess is PGA2D.fromVector.

> I don't even know how to create a point in this library My best guess is PGA2D.fromVector.
I tried using PGA2D.fromVector, but other operations with it didn't work either.

I tried using PGA2D.fromVector, but other operations with it didn't work either.

I have no idea what points and lines are in PGA yet. Sorry about that. To talk to non-newbies follow the discord link at https://bivector.net/
I highly recommend using ganja.js before this library hits a v1.0.0 release.

I think the coffeeshop example is using a pre 2.0 version of A Guided Tour to the Plane-Based
Geometric Algebra PGA so the signs are different from the PGA4CS.pdf file you can download from  https://bivector.net/doc.html , but I think I at least fixed your code for that one example you asked about:
// Import stylesheets
import Algebra, { AlgebraElement } from 'ts-geometric-algebra';
import './style.css';

const PGA2D = Algebra(2, 0, 1);

// > var point = (x,y)=>!(1e0 + x*1e1 + y*1e2)
const point = (x: number, y: number) => PGA2D.fromVector([1, x, y]).dual();

// > var line  = (a,b,c)=>a*1e1 + b*1e2 + c*1e0;
const line = (a: number, b: number, c: number) => PGA2D.fromVector([c, a, b]);

// > var dist = (x,y)=>(x & y).Length;
const dist = (x: AlgebraElement, y: AlgebraElement) => x.vee(y).norm();

const a = point(-1, -0.5);
const b = point(-1, 1);
const c = point(1, 1);

// const ab = b.vee(a).normalize();
// const bc = c.vee(b).normalize();
const ca = c.vee(a).normalize();

const a_to_b = dist(a, b);
const b_to_ca = dist(b, ca);

console.log('distance from a to b =', a_to_b);

console.log('distance from b to ca =', b_to_ca);


[FX-512] Add ForageSDK.swift unit tests

What

Add unit tests for ForageSDK.swift
Remove ForageSDK.shared.service = nil statements FX-416

Why

helps ensure the rest of the changes in this PR stack work and reduce the risk of regressions
helps ensure logger is initialized, which is not covered by our E2E tests.

Test Plan

✅ iOS QA Tests passed locally
✅ Unit Tests passed locally

How

Can be released as-is, with the rest of the PRs in this stack.

Current dependencies on/for this PR:

main

PR #60

PR #75

PR #86

PR #87

PR #88   👈

PR #62

This comment was auto-generated by Graphite.

BTW, what was  ForageSDK.shared.service = nil doing in all of those test files in the first place?

I think it was a guard to prevent the use of "live requests" in unit tests 🤷🏻


Optimal memory allocation for users experiencing memory problem in Windows?

I'm working on an FAQ for the memory problem in Windows, and I'm wondering if anyone has any advice on what the optimal memory allocation would be to suggest to users?

Dear @neuro-sevas,
Thank you - this will be super helpful :)
The memory requirements depend on the data and tools the users want to use. To help with this I added a little memory monitor in the application bar and this will tell users how much memory they have and how much they consumed. If you have a look at neurodesktop:20220208 this should already be there and documenting this feature would be great.
It would also be helpful to document for windows users that don't use WSL2 how to check how much memory they provide to the docker container in the docker settings :)
Thank you for your help!
Cheers
Steffen

Hi @stebo85
Thanks so much for your reply :)
Thank you for adding that function! Given that different processing tools and data will require different amounts of memory, I might suggest that users check how much is being used, and adjust accordingly until they find the right amount.
Happy to document this feature - where would it be most helpful for this to be? In this FAQ or in a separate spot?
I'll add a section in this FAQ for users who don't use WSL2 too.
Always happy to help where I can!
Cheers,
Steff

Great work @neuro-sevas
For MRtrix's FBA analysis, 32GB RAM is often necessary (see point 21):
https://mrtrix.readthedocs.io/en/3.0.3/fixel_based_analysis/mt_fibre_density_cross-section.html?highlight=ram
So if people do not really have a limit (they run on a machine with a lot of memory), you can specify that 32GB can be ideal.

Thanks @civier!
I'll suggest 32GB to start with and suggest users adjust this based on their needs.

Dear @neuro-sevas ,
Adding it here would be good I think: https://neurodesk.github.io/docs/neurodesktop/troubleshooting/ - what do you think?
Cheers
Steffen

completed. Thank you for contributions :)


Added permission for cloudcoreo-deploytime

Description

Adding permissions for CloudCoreo DeployTime plugin, a plugin that enables infrastructure security inspection of cloud objects at deploy time using the CloudCoreo platform. Request for hosting has already been approved.
Submitter checklist for changing permissions

Always

[x] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[x] Add link to resolved HOSTING issue in description above

For a new permissions file only

[x] Make sure the file is created in permissions/ directory
[x] artifactId (pom.xml) is used for name (permissions YAML file).
[x] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[x] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] All newly added users have logged in to Artifactory at least once

@daniel-beck I've removed those users and updated paths.

Still no login for pauldallen.

@daniel-beck I followed up about that and I think that should be cleared now.


Broken link

suggested change of working link which may be useful

@1hw7  - If you can change the link as I described above, we'll go ahead and merge the fix.

Sorry @tamram , i often forget to check my github notifications! thanks!


lack of support for the backup catalog

While primary catalog support was added to address issue #2, the backup catalog isn't supported. The command line argument is available, but only reports "unsupported." The main reason for this lack of support is because there's some difference in how it's encrypted and stored vs the primary catalog.
The main impact is that if the primary catalog is corrupt, complete recovery of files stored in the appropriate directories isn't possible. The files themselves can still be restored in the default qb_dump directory.

@keithgh1
The folder structure will be restored, see ZIP file.
Amiga.zip
But without content.
Then I get this file in the root “decryptedcat.bin”
“python amigaqb_extract.py 02.adf” then no longer works.

python amigaqb_extract.py 01.adf
Single disk detected.
We found  76  file markers in the backup file.
Offset        FILENAME  Filesize1 FileType
0    61488       Disk.info        848     FMRK
1    62380      Prefs.info        900     FMRK
2    63324  Programme.info        904     FMRK
3    64272           Shell          0     FMRK
4    64316      Shell.info        722     FMRK
5    65084       SNes.info        900     FMRK
6    66028  Utilities.info        900     FMRK
7    66972          Add21k       1860     FMRK
8    68876      AddBuffers        444     FMRK
9    69364    AddDataTypes       5880     FMRK
10   75288            Ansi       8620     FMRK
11   83952          Ashell       2776     FMRK
12   86772          Assign       3220     FMRK
13   90036           Avail        736     FMRK
14   90816     Binddrivers       1420     FMRK
15   92280      BootLoader      65296     FMRK
16  157620          Border       5600     FMRK
17  163264           Break        432     FMRK
18  163740     BSL-Patcher      45988     FMRK
19  209772          Button         80     FMRK
20  209896      Calculator      20864     FMRK
21  230804   ChangeTaskPri        460     FMRK
22  231308        CheckSMC       1976     FMRK
23  233328             Cls        228     FMRK
24  233600          Colors       8444     FMRK
25  242088         ConClip       2432     FMRK
26  244564            Copy       5580     FMRK
27  250188             CPU       3652     FMRK
28  253884          Crunch       4428     FMRK
29  258356            Date       1092     FMRK
30  259492            Ddir        424     FMRK
31  259960        Degrader       6168     FMRK
32  266172          Delete       1972     FMRK
33  268188             Dir       3440     FMRK
34  271672      DiskChange        312     FMRK
35  272028        DiskSalv     108540     FMRK
36  380612         DOpusRT       5080     FMRK
37  385736              Ed      25044     FMRK
38  410824            Edit      14792     FMRK
39  425660            Eval       2084     FMRK
40  427788              Ex       4736     FMRK
41  432568           ExCom       1680     FMRK
42  434292         Execute       4432     FMRK
43  438768            Exit       4824     FMRK
44  443636    Fastmemfirst       1000     FMRK
45  444680              FD       3368     FMRK
46  448092        Filenote        896     FMRK
47  449032          Format       1888     FMRK
48  450964           Frage        352     FMRK
49  451360            Free       4344     FMRK
50  455748        GPatcher      30456     FMRK
51  486248    Headcleanner       9760     FMRK
52  496052        IconEdit      55176     FMRK
53  551272           IconX       1452     FMRK
54  552768            Info       1980     FMRK
55  554792         Install       1712     FMRK
56  556548       Installer     115144     FMRK
57  671736          IPrefs      13860     FMRK
58  685640            Join       1200     FMRK
59  686884             LHA      53592     FMRK
60  740520            List       5108     FMRK
61  745672    LoadResource       3936     FMRK
62  749652          LoadWB       1136     FMRK
63  750832            Lock        536     FMRK
64  751412         MagTape       1768     FMRK
65  753224         Makedir        464     FMRK
66  753732        MakeLink        700     FMRK
67  754476       MapDevice       5300     FMRK
68  759820            More      11308     FMRK
69  771172           Mount       6840     FMRK
70  778056            Move       1404     FMRK
71  779504        MuchMore      24156     FMRK
72  803704           NInfo       5880     FMRK
73  809628           Patch       5392     FMRK
74  815064          PPAnim       7216     FMRK
75  822324           PPlay     120788     FMRK
Processing the primary catalog at the beginning of the backup file.
Traceback (most recent call last):
File "E:\zzz_Amiga\amigaqb_extract.py", line 825, in
main()
File "E:\zzz_Amiga\amigaqb_extract.py", line 795, in main
dir_fibs = process_dirfibs(dir_fibs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\zzz_Amiga\amigaqb_extract.py", line 280, in process_dirfibs
os.makedirs(dir_path, exist_ok=True)
File "", line 215, in makedirs
File "", line 215, in makedirs
File "", line 215, in makedirs
[Previous line repeated 3 more times]
File "", line 225, in makedirs
OSError: [WinError 123] Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch: 'qb_dump\Fonts\PostBookman\_____3A__3A8TX|E___________Ðq__ÐqæTX|._I('

Probably not the best issue for this.... but it's fine for now.
Ok thanks for this. A few things:

I was outputting the decrypted catalog for debug purposes. I've removed it now. You can ignore that file.
I wasn't sanitizing the path, which means that if you have corrupted characters in the parsed directory name, your OS will throw errors. I've fixed this.
I wasn't catching thrown errors during that OS creation time, but I am now!
You have to do a "--catalog ignore" if you're processing anything but the initial disk in the backup set because they don't contain a catalog to process! Ideally you should combine all your images together..... then it should work great.

Please try 0.4.1.
https://github.com/keithgh1/AmigaQB_extract/commit/75beee64a97536f310360fb0e80aaf399ec3f541

Your catalog @merlin555 is corrupted exactly at the point that error got thrown.... right at Fonts....Bookman. Which is why you were seeing that.... the new version should work better.

Investigating implementing this. It's encrypted (even when encryption is disabled!), and stored close to the end of the backup file. The encryption key is the same as the primary catalog. There's not always a backup catalog stored, however. I'm not sure what threshold (number of disks?) that's required for the original software to write it. For single disk and 2 disk backups, it is not written.
Worst case, I've thought about providing the user an option to specify a file offset for the location of the catalog that you want to parse....but would prefer to make it a bit more automatic than that.

@keithgh1
A storage location for what?
You generate an HDF file or you can control the hard drive directly from the PC in WinUae.
I don't understand.

Sorry @merlin555 for the confusion. This has to do with the location of the backup catalog within the original backup file created. There's one catalog stored at the top, and one at the bottom. I want to eventually add support for the bottom backup catalog, support for the top/primary has already been added.
I'm going to close this ticket because to avoid further confusion. No need to follow or respond unless you're interested, of course.


Romana/locks

Fixes https://github.com/docker/libkv/issues/176
Fixes https://github.com/docker/libkv/issues/177
Allows for an env var to override default etcd endpoint for testing


Add stress test to weekly build

Acceptance

Runs on weekly builds only (not CI)
Runs the following for 12 hours
stress --cpu 20 --io 20 --vm 4 --vm-bytes 16M & iperf3 -c <test-server-ip> -b0 -t0 -i 10 &
Flags a failure if the board crashes /coredumps/becomes unresponsive

I'd be tempted to set this up as a separate soak test system that just runs permanently? Weekly builds could just bump the SW being tested but would be nice to have a continuous stream of dumps/debug being reported.

we can set that up fairly easily once we have this working - but don't want the physical setup to be a blocker for the first test


Tags are missing

Looks like all the version tags are missing from the repo.

I'm not really sure that is a bug. New releases will have tags in this repo.

Not really a big deal, but it's still useful information to have. I was trying to do a bisect earlier to figure out what fixed an issue since the 2.7.7 release and since there were no tags I had to dig through the commits to find 2.7.7.

Tags for releases were pushed.


Upgrade Racket to 6.3

Thank you for the contribution. It was merged directly as fb29c05e2fcb832afdbef9caadcdddd030511ed9 to keep commit history cleaner. Your contribution is still credited to you.


PIXI.Text font family is incorrect on Android

On Android 4.4+ (tested on Nexus 4, Nexus 7, Moto X), the font rendering of PIXI.Text is incorrect, it always fallback to the default one (Arial).
Tested on the official example page.
In my use case, I tried to load the fonts in different ways, including fontfaceonload and via resource-loader. In the example page it uses the WebFont loader but apparently it doesn't change anything. I also tested with a few native fonts without luck!

Weird, is this only on Android that this happens? Does this happen with native canvas draw methods as well or only on pixi?

Good point, I'll try to add a fiddle with that.
I've been witnessing that for a while now but didn't give it much time, but now that the examples are updated I am sure it's not my code only :)

It could be a race condition with font loading. I've seen "flash of unstyled text" using canvas fillText, and if it's cached the first time around (I believe it is in Pixi) your sprite ends up being the unstyled (native) fonts.
Try putting a long timeout before creating text elements to see if that does anything.

The sprites are created already a while after the initial preloading. Thing is, refreshing doesn't fix the issue and the font is properly loaded in the network tab.

I'm curious if this is an Android browser bug, if so you would see this behavior even when using raw canvas commands and not using pixi at all.
If you see it work properly in raw canvas, but not pixi text. Then it is a bug in ours and we can look into it. Just update this thread when you get a chance to check it out.
Thanks!

Demo here. Works on Android.
Also old demo on PIXI. Works on android too.

Poking @englercj since I'm not sure you saw the update ;) Not to pressure on you, just FYI!

Well, seems like it works now on my project, but still not in the demo!

This works for me on my android devices.
If you end up having issues again feel free to open another issue.


How to avoid clash of imports with compareLength in base?

GHC HEAD has recently acquired Data.List.compareLength and Data.List.NonEmpty.compareLength:
Data.List.compareLength :: [a] -> Int -> Ordering
Data.List.NonEmpty.compareLength :: NonEmpty a -> Int -> Ordering

The former identifier will clash with Data.List.Extra.compareLength:
compareLength :: (Ord b, Num b, Foldable f) => f a -> b -> Ordering

What shall we do about it? Note that the existing helper in extra is more polymorphic than what will be provided from base. The simplest solution would be just
import Data.List hiding (compareLength)

so that Data.List.Extra sticks to the polymorphic entity.
Another, more disruptive option is to move the existing Data.List.Extra.compareLength under Data.Foldable.Extra and re-introduce a monomorphic Data.List.Extra.compareLength, which either restricts Data.Foldable.Extra.compareLength to [a] and Int or re-exports Data.List.compareLength if base is sufficiently new. This feels nicer to me, but, strictly speaking, constitutes a breaking change.
@ndmitchell what do you think?

 I think adding compareLength with the Foldable constraint to Foldable makes sense, regardless. The the two options are:

Make Data.List.Extra have a different type to base.
Breaking change.

I don't love 2, but it seems consistency is a fundamental principle of extra, so 1 is worse? Keen to get other opinions though.

Do what the ancients did. Add compareLength to Data.Foldable and re-export that from Data.List.

compareLength can handle infinite lists. Your comparison and comparison' can't.

Now as GHC 9.12 has been pre-released, the issue might be more pressing:
[ 7 of 22] Compiling Data.List.Extra  ( src/Data/List/Extra.hs, dist/build/Data/List/Extra.o, dist/build/Data/List/Extra.dyn_o )
src/Data/List/Extra.hs:23:34: error: [GHC-87543]
    Ambiguous occurrence ‘compareLength’.
    It could refer to
       either ‘Data.List.compareLength’,
              imported from ‘Data.List’ at src/Data/List/Extra.hs:42:1-16,
           or ‘Data.List.Extra.compareLength’,
              defined at src/Data/List/Extra.hs:912:1.
   |
23 |     drop1, dropEnd1, mconcatMap, compareLength, comparingLength,
   |                                  ^^^^^^^^^^^^^

I've just released extra 1.8 which makes compareLength match GHC 9.12, and added compareLength to Foldable and NonEmpty. I switched to Int everywhere, as while there is value in having compareLength work on things like natural numbers, it's better to be like GHC. I don't actually have GHC 9.12, so would appreciate someone confirming that it works as expected.


Document ListView usage with the Column widget

I use flutter framework with following revisions:
Flutter 0.4.4 • channel beta • https://github.com/flutter/flutter.git
Framework • revision f9bb4289e9 (4 weeks ago) • 2018-05-11 21:44:54 -0700
Engine • revision 06afdfe54e
Tools • Dart 2.0.0-dev.54.0.flutter-46ab040e58

I cannot use ListView or ListViewBuilder inside Column widget. No list item is shown until I remove Column wrapper. Is it supposed not to work in that way, or is it a bug?
Here it is my test widget.
new Container(
        child: new Column(
      children: <Widget>[
        new ListView.builder(
            itemCount: 3,
            padding: const EdgeInsets.only(top: 10.0),
            itemBuilder: (context, index) {
              return new Text(" asdasd");
            })
      ],
    ))

The error message should explain why it wouldn't work conceptually. Could you elaborate on your expected outcome?

@xster There is no any error message. Just an empty view.

Can you please provide a running example (main.dart) that allows to reproduce?

Im having this issue too.

@JosephDunivan would you mind providing a minimal example,
error output, expected behavior?

Hmm... where to start. Well ListView really wants to be put in an expanded widget right?
The implementation would be to put a search bar above it and perhaps some buttons below it.
What I expected to be able to do
Column {
 children: <Widget>[
    new TextField(
    decoration: new InputDecoration(
    labelText: "Search something"
    ),
    ListView(),
  ]
}

Instead I think you need to use an expanded widget.
Column {
  children: <Widget>[
    new TextField(
    decoration: new InputDecoration(
    labelText: "Search something"
    ),
    Expanded(
      ListView(),
    ),
  ]
}

@elnurvl  Can you see if wrapping your ListView in and Expanded with a parent of type flex (ie like a column widget) resolves your issue?

Can you please make it a self-contained runnable example,
so that we just can copy it into lib/main.dart of a new project created with flutter create foo and reproduce?

You could just place that code right after body:
import 'package:flutter/material.dart';

void main() {
  runApp(new MyApp());
}

class MyApp extends StatelessWidget {
  @override
    Widget build(BuildContext context) {
         return Scaffold(
          appBar: AppBar(
          title: Text("Title"),
          body:
  );
}

ListView simply wants to be but in an Expanded widget that has a parent of type flex.
I don't necessarily think that's intuitive, but that's how it works.

it's that it needs to know the available height and inside a Column

Placing a list view inside of a column widget or any widget with that takes children is likely to be a common occurrence(list views with search bars above them for example). I think updating the docs for list view with an example of placing it inside a widget with a flex parameter such as Expanded would help, similarly to the basic example at Basic List.

new Container(
height: 44.0,
child: new ListView(
scrollDirection: Axis.horizontal,
children: [
new RaisedButton(
onPressed: null,
child: new Text("Facebook"),
),
new Padding(padding: new EdgeInsets.all(5.00)),
new RaisedButton(
onPressed: null,
child: new Text("Google"),
)
],
),
)
Checkout Here

I'm not sure if anybody has found a solution to this... I try to place listview as a child of Column Widget and it is throwing an error... any help on how to solve this or a work around

Wrap listview in Expanded

I'm not sure if anybody has found a solution to this... I try to place listview as a child of Column Widget and it is throwing an error... any help on how to solve this or a workaround

Wrap listview in Expanded

I'm not sure if anybody has found a solution to this... I try to place listview as a child of Column Widget and it is throwing an error... any help on how to solve this or a workaround

Wrap listview in Expanded

I'm not sure if anybody has found a solution to this... I try to place listview as a child of Column Widget and it is throwing an error... any help on how to solve this or a workaround

Wrap listview in Expanded

Thanks man this worked ✌

Hmm... where to start. Well ListView really wants to be put in an expanded widget right?
The implementation would be to put a search bar above it and perhaps some buttons below it.
What I expected to be able to do
Column (
 children: <Widget>[
    new TextField(
    decoration: new InputDecoration(
    labelText: "Search something"
    ),
    ListView(),
  ]
)

Instead I think you need to use an expanded widget.
Column (
  children: <Widget>[
    new TextField(
    decoration: new InputDecoration(
    labelText: "Search something"
    ),
    Expanded(
      ListView(),
    ),
  ]
)

This worked for me. But I don't know how it worked. Can you please explain to me how it worked?

must be provided height for the parent container

I'm having this issue too.

If you don't know exact height and maybe you want to rely on ListView's shrinkWrap field, then you can use
Column (
  children: <Widget>[
    Container(
      constraints: BoxConstraints(maxHeight: 300),
      child: ListView(
        shrinkWrap: true,
        ...
      ),
    ),
)

I am having the same issue with ListView.builder inside a column .Tried wrapping with Expanded widget but it didnt helped the same error continues.

As per this docs: https://flutter.dev/docs/development/ui/layout/box-constraints
Column provides loose constraints to its child, but ListView provides tight constraints to its children meaning it will try to be as big as possible. So due for that reason, it won't leave any room for the search bar. So we needed to control the ListView constraints via wrapping it inside Expanded. It's my assumption.

Expanded doesn't seem to work in my case, but I used
Column(
    children: <Widget>[
        SearchBox(),
        Container(
            constraints: BoxConstraints(maxHeight: MediaQuery.of(context).size.height),
            child: ListView(

I think the toplevel column still has to have constrained ancestry though

For listview you need to provide height, same applies with if your list tiles are custom and inside a container it needs height:
new Container(
        child: new Column(
      children: <Widget>[
        new ListView.builder(
            height: 50, // give some value here and add this new line
            itemCount: 3,
            padding: const EdgeInsets.only(top: 10.0),
            itemBuilder: (context, index) {
              return new Text(" asdasd");
            })
      ],
    ))

      Column(
           children: <Widget>[
          Expanded(child: Text("Test")),
          Expanded(
            child: ListView.builder(
               itemCount: _newParking.length,
               itemBuilder: _buildItemsForListView,

            ),
          ),
        ],
      ),`

@Sammy-iiitb

height: 50,

ListView.builder doesn't accept a height parameter.

Please set container height when you are using the list view in column

Also, you can try use CustomScrollView
CustomScrollView(
      controller: _scrollController,
      slivers: <Widget>[
        SliverList(
          delegate: SliverChildBuilderDelegate(
            (BuildContext context, int index) {
              final OrderModel order = _orders[index];

              return Container(
                margin: const EdgeInsets.symmetric(
                  vertical: 8,
                ),
                child: _buildOrderCard(order, size, context),
              );
            },
            childCount: _orders.length,
          ),
        ),
        SliverToBoxAdapter(
          child: _buildPreloader(context),
        ),
      ],
    );

Tip: _buildPreloader return CircularProgressIndicator or Text
In my case i want to show under ListView some widgets. Use Column does't work me, because widgets around ListView inside Column showing always "up" on the screen, like "position absolute"
Sorry for my bad english

@zoechi
what could be the possible solution for this issue?

Please set container height when you are using the list view in column

a proper height is needed when using the listview.builder "wrap it with container " inside column----> the list must be bounded because it will go infinite in column .
In listview you don't  have to write any height.
that ll work like a charm, I hope that answer help you.

Expanded doesn't seem to work in my case, but I used
Column(
    mainAxisSize: MainAxisSize.min,
    children: <Widget>[
        SearchBox(),
        Container(
            constraints: BoxConstraints(maxHeight: MediaQuery.of(context).size.height),
            child: ListView(

I think the toplevel Column still has to have constrained ancestry though

Very good, this worked for me!!

You can also set the srinkwrap to true. Instead of setting a perticular height.

Since https://api.flutter.dev/flutter/widgets/ListView-class.html does not contain any docs that explain this behavior of ListView, I'll update the labels


Add registered mssql dbms service

Solve #559 and the first step in #566. Service doc will be updated after other related changes in #566 is done.
The changes in lifecycle test conflict PR https://github.com/Azure/open-service-broker-azure/pull/564 a bit. Will solve it if that one merged first.

LGTM


Small changes to enable running with Python 3.

While maintaining Python 2 compatibility.

Thanks for the pull request!  I've just added python 3 support, so you should check out the newest version.


Phase 3: Popularity recommender

Popularity Recommenders
Objectives:
Create Python script of a song recommender based on popularity
Challenges:

We need to find a way to handle songs with a popularity of 0-2:

Maybe we can add a parameter saying: Try Something Different? Or simply "Reverse Ranking?"
Or we can just disregard these songs since we are recommending them based on popularity

Done


Question regarding rule  <IP_ADDRESS> "Ensure actions as another user are always logged"

Question
It seems that the configuration used by this role does not quite capture what CIS wants to have captured.
CIS wants  that actions as another user are always logged and proposes
-a always,exit -F arch=b64 -C euid!=uid -F auid!=unset -S execve -k user_emulation
-a always,exit -F arch=b32 -C euid!=uid -F auid!=unset -S execve -k user_emulation

This role, however, is "only" interested into actions as root user:
-a always,exit -F arch=b64 -C euid!=uid -F euid=0 -F auid>=1000 -F auid!=4294967295 -S execve -k actions
-a always,exit -F arch=b32 -C euid!=uid -F euid=0 -F auid>=1000 -F auid!=4294967295 -S execve -k actions

Shouldn't we rather use what CIS proposes for this rule?

hi @bgro
This issue was merged to devel a couple of weeks ago.
I will close this Issue, if this does not resolve your issue please reopen.
Many thanks as always
uk-bolly


RSpec 4.1 breaks on Rails 4.2

What Ruby, Rails and RSpec versions are you using?
Ruby version: 2.4.10
Rails version: <IP_ADDRESS>
RSpec version: 4.1.0

Observed behaviour
RSpec 4.1 does not work start on Rails <IP_ADDRESS>, while 4.0 does
     Failure/Error: example.run

     NameError:
       undefined local variable or method `use_transactional_tests' for #<RSpec::ExampleGroups::Welcome::Index:0x00007fcb64cdbf40>
       Did you mean?  use_transactional_fixtures

Tracked down with git bisect down to 073daad07027d7fb53a3f7ac3b06a0dd4af498da
Expected behaviour
Keeps working with Rails 4.1 or gemspec specifies >= 5.0 to prevent update to 4.1
https://github.com/rspec/rspec-rails/blob/main/rspec-rails.gemspec#L36
Can you provide an example app?
Travis CI failure: https://travis-ci.org/github/diowa/ruby2-rails4-bootstrap-heroku/builds/761888443

:wave: RSpec-Rails 4.x maintains a soft support for Rails 4.2, but we don't actively maintain it, if you'd like to tackle this in a PR please do and I'll release it as a bugfix.


RFM - Chrome History View (Nirsoft)

Current Maintainer

[ ] I am the maintainer of the package and wish to pass it to someone else;

I DON'T Want To Become The Maintainer

[x] I have followed the Package Triage Process and I do NOT want to become maintainer of the package;
[x] There is no existing open maintainer request for this package;

Checklist

[x] Issue title starts with 'RFM - '

Existing Package Details
Package URL: https://chocolatey.org/packages/chromehistoryview
Package source URL: https://github.com/dtgm/chocolatey-packages/tree/master/automatic/chromehistoryview/
Date the maintainer was contacted: 6 Sept 2019 via GitHub, 13 May 2020 via Chocolatey.org form
How the maintainer was contacted: Via Github issue and by the contact maintainers form on chocolatey.org

Hello,
I have created the package for this one too, i'll ask to become maintainer too

Package uploaded, waiting for verification
@pauby can ou change the label? Thank you

Can you assign it to me ? to have the notifications.
Thank you

The new version by @tunisiano187 has been approved. Thanks for taking over this package.


Can change caption in title bar of mstsc.exe

when use mstsc.exe to access remote server through xrdp proxy , the caption of mstsc.exe is xrdp proxy‘s ip. A lot of remote servers should be access and manage by me, so I can’t determine which remote server is.
Should someone know how to change the caption of mstsc.exe into the remote server‘s ip?
Can xrdp send a message to mstsc.exe which let it change the caption to real remote server’s ip?

Maybe it can be done but on the client side.  There's nothing we can do on xrdp side.
https://www.experts-exchange.com/questions/21962818/Change-Remote-Desktop-Title.html


Created binary_search.cpp

Added code of binary search using recursion

PR accepted @arjsivam .
Successfully merged to HacktoberFest_22 repo.
🚀🚀👍


⚠ Bofrost.lu has degraded performance

In c2edbed, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1114 ms

Resolved: Bofrost.lu performance has improved in 45b7315.


feat: Added American Express Badge to Payment section

Information

Name
Category

American Express
Payment

Description
Added American Express badge in Payment section.
Preview

Preview
Markdown Code

[![AmericanExpress](https://img.shields.io/badge/American%20Express-000?logo=americanexpress&logoColor=fff)](#)

Thank you!


Timeout Exception after a few searches as in #185

Before submitting a bug report...

[X] This bug wasn't already reported.
(I have checked every bug report on GitHub)

[X] I've cleared the sessions folder.

Branch
master
Commit
Latest
Describe the bug
After a few searches, on both the accounts, the script stops with a TimeoutException. This bug was already reported in #185 and it seemed to be solved in a future commit, but it still happens on my end.
Copy and paste your error
[38;21m2024-11-05 09:32:01,025 [DEBUG] in exit exc_type=<class 'selenium.common.exceptions.TimeoutException'> exc_value=Message:
Stacktrace:
GetHandleVerifier [0x003738B3+24035]
(No symbol) [0x002FBC44]
(No symbol) [0x001DC2D3]
(No symbol) [0x0021DC86]
(No symbol) [0x0021DECB]
(No symbol) [0x0025B9D2]
(No symbol) [0x0023FED4]
(No symbol) [0x0025953F]
(No symbol) [0x0023FC26]
(No symbol) [0x0021218C]
(No symbol) [0x0021310D]
GetHandleVerifier [0x006196D3+2800643]
GetHandleVerifier [0x0067428E+3172286]
GetHandleVerifier [0x0066CEA2+3142610]
GetHandleVerifier [0x00416C60+692624]
(No symbol) [0x00304C5D]
(No symbol) [0x00301968]
(No symbol) [0x00301B00]
(No symbol) [0x002F3FB0]
BaseThreadInitThunk [0x76727BA9+25]
RtlInitializeExceptionChain [0x7779C0CB+107]
RtlClearBits [0x7779C04F+191]
traceback=<traceback object at 0x000001B53E874140>←[0m
←[38;5;196m2024-11-05 09:32:03,464 [ERROR] ←[0m
Traceback (most recent call last):
File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 40, in main
earned_points = executeBot(currentAccount, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 249, in executeBot
searches.bingSearches()
File "C:\Microsoft Rewards\MS-Rewards-Farmer\src\searches.py", line 136, in bingSearches
self.bingSearch()
File "C:\Microsoft Rewards\MS-Rewards-Farmer\src\searches.py", line 171, in bingSearch
searchbar = self.browser.utils.waitUntilClickable(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Microsoft Rewards\MS-Rewards-Farmer\src\utils.py", line 81, in waitUntilClickable
return WebDriverWait(self.webdriver, timeToWait).until(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\aless\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\support\wait.py", line 105, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
GetHandleVerifier [0x003738B3+24035]
(No symbol) [0x002FBC44]
(No symbol) [0x001DC2D3]
(No symbol) [0x0021DC86]
(No symbol) [0x0021DECB]
(No symbol) [0x0025B9D2]
(No symbol) [0x0023FED4]
(No symbol) [0x0025953F]
(No symbol) [0x0023FC26]
(No symbol) [0x0021218C]
(No symbol) [0x0021310D]
GetHandleVerifier [0x006196D3+2800643]
GetHandleVerifier [0x0067428E+3172286]
GetHandleVerifier [0x0066CEA2+3142610]
GetHandleVerifier [0x00416C60+692624]
(No symbol) [0x00304C5D]
(No symbol) [0x00301968]
(No symbol) [0x00301B00]
(No symbol) [0x002F3FB0]
BaseThreadInitThunk [0x76727BA9+25]
RtlInitializeExceptionChain [0x7779C0CB+107]
RtlClearBits [0x7779C04F+191]
←[38;5;226m2024-11-05 09:32:03,468 [WARNING] config-private.yaml doesn't exist←[0m
←[38;21m2024-11-05 09:32:03,468 [DEBUG] No urls found, not sending notification←[0m
←[38;5;39m2024-11-05 09:32:03,469 [INFO] [POINTS] Data saved for the next day.←[0m
Screenshots
N/A
Value of dashboard variable
N/A

Try develop

I'm assuming you mean via logging? You can change logging.level in config.yaml to DEBUG from INFO to get more granular logs. Think the default log level changed which explains the confusion.

Yes, exactly what I meant. Sorry for my lack of clarity. It seems to be running as expected now, thank you. I will update as soon as the script finishes, hopefully to close the issue :)

All good, glad to hear

After running the scheduled task generated with the dedicated python script, this morning i got an assertion error on PCSearch:
Traceback (most recent call last):
File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 39, in main
earned_points = executeBot(currentAccount, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 246, in executeBot
searches.bingSearches()
File "C:\Microsoft Rewards\MS-Rewards-Farmer\src\searches.py", line 110, in bingSearches
desktopAndMobileRemaining = self.browser.getRemainingSearches(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Microsoft Rewards\MS-Rewards-Farmer\src\browser.py", line 283, in getRemainingSearches
pcSearch: dict = counters["PCSearch"][0]
~~~~~~~~^^^^^^^^^^^^
KeyError: 'PCSearch'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 347, in
main()
File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 42, in main
sendNotification(
File "C:\Microsoft Rewards\MS-Rewards-Farmer\src\utils.py", line 273, in sendNotification
assert apprise.notify(title=str(title), body=str(body))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Update: while desktop searches finish without problems, mobile searches are stuck on 20 remaining even though the search terms are changing. Is it a known issue? The script has been running since 2:23 PM GMT+1

Doesn't happen to me

After running the scheduled task generated with the dedicated python script, this morning i got an assertion error on PCSearch: Traceback (most recent call last): File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 39, in main earned_points = executeBot(currentAccount, args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 246, in executeBot searches.bingSearches() File "C:\Microsoft Rewards\MS-Rewards-Farmer\src\searches.py", line 110, in bingSearches desktopAndMobileRemaining = self.browser.getRemainingSearches( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Microsoft Rewards\MS-Rewards-Farmer\src\browser.py", line 283, in getRemainingSearches pcSearch: dict = counters["PCSearch"][0] ~~~~~~~~^^^^^^^^^^^^ KeyError: 'PCSearch'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 347, in main() File "C:\Microsoft Rewards\MS-Rewards-Farmer\main.py", line 42, in main sendNotification( File "C:\Microsoft Rewards\MS-Rewards-Farmer\src\utils.py", line 273, in sendNotification assert apprise.notify(title=str(title), body=str(body)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError

See https://github.com/klept0/MS-Rewards-Farmer/pull/208#issuecomment-2459863370. Don't think the scheduled task contributes to this problem.

So there is nothing i can do to fix the AssertionError?

You mean the KeyError? The AssertionError is occurring because a notification should've been sent, but wasn't able to be sent for some reason.
As far as the KeyError, it's a known-issue. The only workaround I've noticed is that if you just logged-in, it can take a little bit for this call to work correctly.

Yes sorry, i guess the AssertionError comes as a consequence of the KeyError. I get the KeyError as soon as researches start after daily tasks now, i also cleared my sessions folder but the issue persist. Could you explain the workaround a little further? I didn't quite understand your solution, sorry

Basically spam the runs after logging in. It takes a bit for the cookies/auth to be in place so that you can access the remaining searches.
And just to be clear, the AssertionError isn't a consequence of the KeyError. If you've configured your bot to send notifications on failures, it can't do that currently most likely due to your config. Basically it's saying the bot tried to send a notification, but it wasn't successfully sent. Since we expect this to work at this point in the program, the assertion fails and throws an exception.

I did not configure the bot to send any notifications, i didn't find anything in the project readme, but i understand now the two errors are not linked. And is it also default behaviour that when this sequence of errors happens the script stops and i get returned to the command line? Shouldn't it move to the next account/research type?

It should work that way in regards to accounts, see https://github.com/klept0/MS-Rewards-Farmer/blob/50dc6dcfb10ac3afe1fccadb7dd33738bc69fc66/main.py#L37-L47. As far as attempting mobile if desktop fails, I'm pretty confident that if you can't get the remaining searches (or access account info more generally) for one you can't for the other. Try commenting out code or just running mobile searches to see.
In regards to notifications, do you have a config-private.yaml file?

I do have a config-private.yaml file in my directory, though it is configured as follows, so probably serves nothing as i haven't added any additional configurations:
`# config-private.yaml
Copy this file to config-private.yaml to use
apprise:
urls:
- 'discord://WebhookID/WebhookToken'  # Replace with your actual Apprise service URLs
`

Yeah, since you have an entry under urls the bot will try to send a notification. It can't really figure whether the url is legit or not, and obviously this one'll fail because there's no token.
I'd recommend getting rid of config-private.yaml if you don't plan to use it or get rid of the urls entry.

Yes, that did the trick for the AssertionError. I only get stuck on the KeyError now, even though for some reason my output doesn't contain DEBUG level info anymore?

Not happening for me, double check the config and pull the latest from develop

Hi, I have the same issue but when i try the develop branch the output was this -bash: syntax error near unexpected token `('

Not happening for me, double check the config and pull the latest from develop

I deleted the whole repo and cloned it back again, removed the config-private file and edited the config file to use DEBUG level logging, same thing happens where i don't get logging in the output of the script. Any idea what might cause this issue?

I confirm that the DEBUG level logging came back as soon as i restored the config.yaml file even though it still contains the placeholder link but doing so brought back the PCSearch KeyError. So the current situation is the following:

Removing the config.yaml file seems to make searches start and removes both the KeyError and AssertionError, but for some reason it stops the correct functioning of the logging of the script;
Having the config.yaml file seems to break the script by introducing a KeyError.

These things do not seem related to me, do you have any idea of what it might be?

and I get this error now ERROR:root:
Traceback (most recent call last):
File "/home/MS-Rewards-Farmer-develop/MS-Rewards-Farmer-develop/main.py", line 39, in main
earned_points = executeBot(currentAccount, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/MS-Rewards-Farmer-develop/MS-Rewards-Farmer-develop/main.py", line 234, in executeBot
with Browser(mobile=False, account=currentAccount, args=args) as desktopBrowser:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/MS-Rewards-Farmer-develop/MS-Rewards-Farmer-develop/src/browser.py", line 41, in init
self.localeLang, self.localeGeo = self.getLanguageCountry(args.lang, args.geo)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/MS-Rewards-Farmer-develop/MS-Rewards-Farmer-develop/src/browser.py", line 234, in getLanguageCountry
).alpha_2
^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pycountry/db.py", line 16, in getattr
raise AttributeError(key)
AttributeError: alpha_2

I confirm that the DEBUG level logging came back as soon as i restored the config-private.yaml file even though it still contains the placeholder link but doing so brought back the PCSearch KeyError. So the current situation is the following:

Removing the config-private.yaml file seems to make searches start and removes both the KeyError and AssertionError, but for some reason it stops the correct functioning of the logging of the script;
Having the config-private.yaml file seems to break the script by introducing a KeyError.

These things do not seem related to me, do you have any idea of what it might be?

I can confirm this too, If I don't have a config-private.yaml the debug doesn't work.
Starting with a fresh dev branch install I had to rename the private-config template file for the debug logging to work.


Download button on file page is hard to spot

I often spend several seconds looking for the button, because it's disguised as a view mode tab. I think it would be much better to fit it into the icon buttons just to the right of its present location.

Fixed like this


fix wrong port in notes for helm chart + add details for enabling eve…

Signed-off-by: Thomas Labarussias<EMAIL_ADDRESS>What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area helm
What this PR does / why we need it:
Quick fix of wrong NOTES for helm chart.
Which issue(s) this PR fixes:
N/A
Special notes for your reviewer:
N/A
Does this PR introduce a user-facing change?:
No

@Issif: Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign issif
You can assign the PR to them by writing /assign @issif in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: a6fe901cfef5a546ddb2f68d0a8964968561b1cd

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leodido
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leodido]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[VL] umbrella performance issues during Gluten adoption

Description

[ ] task killed by yarn, #6947
[ ] global memory OOM, #7249
[ ] bad spill performance #7159
[ ] bad R2C performance #7223
[ ] bad BHJ performance when broadcast table is large
[ ] UDF
[ ] object hashagg

@z123


[bug] RainbowKitProvider ruins app layout

Is there an existing issue for this?

[X] I have searched the existing issues

RainbowKit Version
0.12.2
wagmi Version
0.12.4
Current Behavior
After wrapping App with RainbowKitProvider it somehow impacts on the front end layout. I tried lots of different ways, as well as taken from original guide. Here is the link to the app's code, so you can reproduce the issue. Once, the RainbowKitProvider is removed everything backs to normal.
Any help would be appreciated.
Expected Behavior
No response
Steps To Reproduce
No response
Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
Anything else?
No response

@artgadliba Looks like display: flex; in your global style is causing this issue. Ensure that styles.css is imported at top wrapper level before other global styles are applied. I'd also recommend that you rearchitect to ensure that WagmiProvider is wrapping the entire application to maintain provider state across routes. Checkout the codebase of our docs site in site/ to see a more realistic RainbowKit implementation for a large project.

DanielSinclair, thank you for comments. You gave us right direction. It might be useful for someone else. That adjustment for global styles solved our problem:
#root > div {
display: flex;
width: 100%;
min-height: 100vh;
}


Issue shows up "SumUp only works when you are online..." when trying to login

Hi,
We currently have an iPad application for a customer who worked in the retail area here in Belgium.
The application was developed approx. 18 months ago, and everything was working fine.
We now have an issue when trying to login with the SumUp form. The message we get from the form is: "SumUp only works when you are online. please check your connection and try again." The issue is occurring by testing on the simulator and of course on a real iPad.
Of course we checked our connection and everything is working fine. We also checked our account detail (login/password) and they are working. We tested our credentials directly through the website https://me.sumup.com/fr-be/login/ and also thanks to your demo code downloaded from Github and they work fine.
We verified that the bundle IDs are matching between our profile in the website and the application. We also tested our API key into your demo scene and it worked.
Of course we also tried to upgrade the code of our app to use the latest SumUpSDK version but then we have another strange issue stating that our credentials are not correct. Same by starting a fresh new project with the latest SumUpSDK version and even by following each steps of the tutorial on Github.
To be clear, we are unable to implement SumUpSDK by ourselves, only the demo code seems to be working but in the end we want it to be implemented into our application of course ;)
Since nothing had changed in our code, there must be something that changed "under the hood" at your side. Do you have an idea of how can we fix this issue ?
Thanks by advance.
Our development setup:
Xcode 11.6
macOS Catalina 10.15.5
SumUpSDK 3.1

Hi @MaxenceSchoonians,
version 3.1 of our SDK is quite old (2 years). Please update to a newer version (preferably the latest), they will work.
Best,
Florian

Hi @MaxenceSchoonians
we just published v4.0.0-beta.1. Check the Migration Guide, integration of the SDK should have become way easier.
Please double check that your app's bundle identifier matches the bundle identifier(s) you have added to your affiliate key.
If the problem persists, feel free to get in touch with<EMAIL_ADDRESS>and ask them to forward to me.
Kind regards,
Lukas


Link refers to the absent page

Hello!
When I click the button "Read docs" on the site, it leads to the page https://keptn.sh/docs/0.7.x/monitoring/ which is missing

Please fix

Thanks for catching it @gecube!

stale


failed to validate output component

Component has been built successfully but failed the invalidation.
This repo https://github.com/sammyne/wasm-component-broken-compose is made to reproduce the problem.
Requirement

Rust 1.80.1 (376290515 2024-07-16)
wasm-tools 1.216.0
wasmtime adapter modules 20.0.0 (9e1084ffa 2024-04-22)

Two components adder and calculator whose wit files go respectively as

adder.wit

package<EMAIL_ADDRESS>
interface api {
    use types.{balance};

    variant wallet {
        btc(balance),
        eth(balance),
    }

    incr: func(self: wallet, value: u64) -> result<wallet, string>;
}

interface types {
    record balance {
        value: u64,
    }
}

world docs-adder {
    export api;
}

calculator.wit

package<EMAIL_ADDRESS>
interface hi {
  use<EMAIL_ADDRESS>
  greet: func(a: wallet);
}

world xml-hello {
  export hi;
}

Reproduction

Setup WIT dependencies
mkdir -p calculator/wit/deps
cp -r adder/wit calculator/wit/deps/adder

Build the WASM modules
cargo build --release -p adder

cargo build --release -p calculator

Componentize

Assume wasmtime adapter modules is at path /opt/wasmtime/adapter-modules/wasi_snapshot_preview1.reactor.wasm.

rm -rf _out && mkdir _out

wasm-tools component new target/wasm32-wasip1/release/adder.wasm -o _out/adder-component.wasm \
  --adapt /opt/wasmtime/adapter-modules/wasi_snapshot_preview1.reactor.wasm

wasm-tools component new target/wasm32-wasip1/release/calculator.wasm -o _out/calculator-component.wasm \
  --adapt /opt/wasmtime/adapter-modules/wasi_snapshot_preview1.reactor.wasm

Compose
wasm-tools compose _out/calculator-component.wasm -d _out/adder-component.wasm -o _out/calculator-composed.wasm

Log outputs as follow
WARNING: `wasm-tools compose` has been deprecated.

Please use `wac` instead. You can find more information about `wac` at https://github.com/bytecodealliance/wac.
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
[2024-09-18T02:46:09Z WARN ] instance<EMAIL_ADDRESS>will be imported because a dependency named<EMAIL_ADDRESS>could not be found
error: failed to validate output component `_out/calculator-composed.wasm`

Caused by:
    0: instance not valid to be used as export (at offset 0x2a8b7)

INDICATING THE COMPOSED COMPONENT IS INVALID.

Thanks for the report! I can confirm this locally as well and I think I know what's going on. The problem here has to do with how the component model validates that types are exported, used, and named in components. The root of the issue here is that wac looks like it'll have to go a bit out of its way to get this to be typed correctly. Both wasm-tools compose and wac don't do this because I don't think anyone realized that this was required until just now!
The outline of the problem is that you have a calculator where the hi interface depends on api, and then that interface depends on types. The adder component implements the api interface, meaning that the final component will import the types interface while exporting the hi interface. The problem here is that the hi interface is using a type that's only defined in the api interface. The api interface isn't output from the final component, meaning that hi is referring to a type that doesn't actually exist anywhere. That's what causes the invalid component.
You can fix this for the time being by moving the wallet type to the types interface. Otherwise wac will need to be updated to synthesize an import of the api interface, but only with type information, in the final component.

Would you be ok reopening this issue on the wac repository? Given the deprecated status of wasm-tools compose it's not going to get fixed, but I can help fill in more information on the wac side of things on that issue to (or mostly just cc myself there)

Would you be ok reopening this issue on the wac repository? Given the deprecated status of wasm-tools compose it's not going to get fixed, but I can help fill in more information on the wac side of things on that issue to (or mostly just cc myself there)

It has been done by estk in https://github.com/bytecodealliance/wac/issues/141. So this one is closed.


Feature: Using dot operator instead of pipe operator

Consider the following example:
let (map, fold_left, filter) = List.(map, fold_left, filter);
let (log) = Js.(log);

let list = [1,2,3,4,5,6,7,8,9,10];
let manipulated = list
  |> filter(i => i < 5)
  |> map(i => i + 1)
  |> fold_left((p,c) => p + c, 0);

manipulated |> log;

Coming from Javascript, this may look very foreign. However, if we would introduce the dot (.) operator, to mean the same as the pipe operator, then this would look like this.
let list = [1,2,3,4,5,6,7,8,9,10];
let manipulated = list
  .filter(i => i < 5)
  .map(i => i + 1)
  .fold_left((p,c) => p + c, 0);

manipulated.log;

This is almost exactly how it looks in javascript. Another adventage is that you only have one character to type.
I'm just learning Reason, so I probably don't really oversee what the consequences would be for introducing this syntax.
One challenge that I see. Say you have a record: let record = {foo: "foo", bar: "bar"} and there is also a function foo available in the same scope, where the type of record is the last parameter.
What happens, if you do record.foo? I guess it makes most sense (and non-breaking) if the properties of the record have higher priority. If you would want to use the function foo act on record, you should cast the function foo to a different name.
One other thing that feels strange to me (as Javascript programmer), is that the pipe operator takes the last argument. I understand that this most natural in the context of auto currying, and defining x |> f, to be f(x) but if I would make my own API of functions acting on some type myType, I would most naturally put, put myType as first parameter.

https://github.com/tc39/proposal-pipeline-operator
It seems different things

@OlegLustenko Yes, they are different things.
But as as the dot has no meaning in the context of Tuples, List and only the meaning of accessing properties in records, I thought, you could maybe extend the meaning of the dot operator.
In some sense, the pipeline operator and methods in a OOP language, are similar. Consider the following javascript class.
class Point {
  constructor(x, y) {
    this.x;
    this.y;
  }

  add(point) {
    return new Point(this.x + x, this.y + y);
  }

  distance() {
    return this.x**2 + this.y**2;
  }
}

I don't need to put the methods add and distance on the Point class. I could define them as pure functions. But I do this in javascript, because I prefer chaining things like this and because of autocompletion:
point1.add(point2).distance()

In reason, I can write the code like this:
type point = {x:int, y:int};

let add = (p1: point, p2: point) => {
  let x = p1.x + p2.x;
  let y = p1.y + p2.y;
  {x,y};
};

let distance = (point: point) => {
  point.x*point.x + point.y*point.y;
};

Similarly, as in javascript, I can chain things, but even more powerfully, with the pipe operator:
point1 |> add(point2) |> distance;

That is why I think the pipe operator, and methods in OOP are similar.

I'm not sure this would make it easier for js devs. The pipe operator is very different from method chaining.

It seems like D, Rust and Nim have something similar:
https://en.wikipedia.org/wiki/Uniform_Function_Call_Syntax

I'm not sure this would make it easier for js devs. The pipe operator is very different from method chaining.

The difference between methods and functions is that the this argument is explicit. In the example above, semantically there is not much difference between point1.add(point2)in javascript and add(point1, poin2) in Reason.
Syntactically, there is a big difference, the main downside of the function syntax is that functions can not be easily chained. The pipeline operator solve this syntax issue. My proposal is to go even further, and make no syntactical difference at all. As D, Rust and Nim also seem to do.

@kasperpeulen are you proposing that we change the record access syntax? What would the new syntax be for "I want the bar attribute of the foo record"? (currently foo.bar). (If you wanted them both to work, it would require significant compiler work, unfortunately, not just a syntax change).
The "pipe dot" proposal, on the other hand, could be implemented without any other fallout.

@jaredly Yes I would say that then foo.bar means look up the attribute bar on foo, if the attribute bar doesnt exist look up the function bar and parse it like foo |> bar
This may indeed give significant compiler work.
I guess you are right about it being a better match for Rust. I think you would need function overloading for this to make real sense. And annotating your function parameters.
Also, from a javascript background, Im used to importing functions. Talking to people on discord, it seems like in Reason people prefer writing:
list |> List.map(...) |> List.filter(...) |> etc.
In that way, my proposal would become messy and less reasable:
list.List.map(...).List.filter(...)
So Im not so sure myself anymore if this proposal would make sense for Reason. But I let you guys to decide.

Thanks for contributing to the discussion, regardless!

I do think of |> almost as OO's .. For example, imagine a . with spaces around it is equivalent to the |> operator. Then, the following:
open List;
myList |> map(fn)

Could be written as:
myList . List.map(fn)

And the parallels between FP and OO become very clear.
In fact, a dot with spaces around it isn't even ambiguous with record field access so we could in theory add such a syntax for |>.
As you pointed out the one thing that would really make this analogy to OO patterns would be the existence of Haskell style "type classes", but even without that - it's still a cool idea.
Unfortunately, we cannot remove the spaces around the ., because the following already means something entirely different today:
myList.List.map(fn)

It means "myList definitely is a record, and it has a field named .map, and let me tell you which module that record field is defined in - it's in List". If we had another convenient syntax to represent "myList has a record field .map and let me tell you which module it's defined in", then we could use the syntax myList.List.map(fn) as an alternative for |> that helps people understand that OO really isn't that different from FP. People often claim "I like OO because I like the form 'object dot verb' ".

I think I might vote for . to be the syntax transform proposed in https://github.com/facebook/reason/issues/1452 (a . b(c) becomes b(a, c), a syntax transform, not a runtime operator) -- clojure's ->, where |> is clojure's ->>.

Yeah, I was thinking the same thing. 😄

We now have |., and we're potentially going to have -> as well :) let's continue the discussion over here: https://github.com/facebook/reason/pull/1999


No prompt is displayed on the Sharing device when Cancel is clicked on the Receiving device during sharing

Describe the bug
When sharing and the Receiving device clicked on Cancel while Exchanging device info... no prompt is displayed on the sharing device that the sharing was cancelled.
To Reproduce
Steps to reproduce the behavior:

Share an ID
Scan the QR code on the requesting device
On the requesting device, wait for the Cancel button to appear below Exchanging device info... (see screenshot)
Click Cancel
See error on the sharing device

Expected behavior
Prompt about cancelled sharing should appear on the sharing device.
Screenshots

Video
https://newlogic.slack.com/archives/C02C22HF541/p1668056918180619?thread_ts=1668056523.294029&cid=C02C22HF541
Smartphone (please complete the following information):
MOSIP server: QA4
Devices:
Samsung Galaxy A20S
iPhone 11
Additional context
Tested on:
Android - QA4_io.mosip.residentapp-0.4.0-rc8-newlogic_20221109_1559.apk
iOS - 0.4.0 (14.2

Verified on:
Device : iPhone 8 & OnePlus Nord 2
OS: 16.0.2
Inji app version: 0.4.1 (7) -> Testflight
MOSIP Version: <IP_ADDRESS>
MOSIP server: qa5.mosip.net
Able to replicate the issue
https://user-images.githubusercontent.com/79500509/209441514-ad310222-75f2-4179-b763-1c0357627ff0.mov

Smartphone :

Device: PIXEL 6
OS: Android 13
MOSIP Version: <IP_ADDRESS>
MOSIP server: qa5.mosip.net
APP link; https://mosip.atlassian.net/browse/DSD-1816

Able to replicate the issue

@kyanthony @pmigueld @Anushree09-N @jannahadlaon
Cancel button on requesting device

this appears when the connection is established but the sharer has not selected a credential to share

Proposed fix

clicking on this should open a new QR code on requesting device
It should send back status to sharing device that the request has been canceled. The same should be displayed as a message to sharer.

Linked tickets
https://github.com/mosip/inji/issues/252
https://github.com/mosip/inji/issues/249

Tested on:
Android: COLLAB_io.mosip.residentapp-0.4.1-rc7-newlogic_20230113_1728.apk
iOS TestFlight -Inji  0.4.1 (11)
WORKS AS EXPECTED for android <-> android, iOS <->iOS, and android -> iOS
but issue is still present when sharing from iOS to android
@pmigueld @kyanthony @santhoshsunder @Anushree09-N
STEPS

. Share an ID
Scan the QR code on the requesting device
On the requesting device, wait for the Cancel button to appear below Exchanging device info...
Click Cancel
Verify that Disconnected popup appears on the sharing device

Devices
Samsung Galaxy A23 - android 12
Samsung Galaxy A20a - android 11
iPhone 11 - iOS 16.1.2
iPhone 6s
Screenshot
https://user-images.githubusercontent.com/102940764/212578539-f95c7246-83e3-410c-bc2b-88939ece92fe.mov
https://user-images.githubusercontent.com/102940764/212578549-7d821457-702a-47cd-a1d9-4e221e419159.mp4

Tested on:
Android: io.mosip.residentapp-0.4.1-rc8-newlogic_20230120_1937_universal.apkiOS TestFlight -Inji  0.4.1 (12)
WORKS AS EXPECTED for android <-> android, iOS <->iOS, and android -> iOS
but issue is still present when sharing from iOS to android
@pmigueld @kyanthony @santhoshsunder @Anushree09-N
STEPS

Share an ID
Scan the QR code on the requesting device
On the requesting device, wait for the Cancel button to appear below Exchanging device info...
Click Cancel
Verify that Disconnected popup appears on the sharing device

Devices
Samsung Galaxy A23 - android 12
Samsung Galaxy A20s - android 11
iPhone 11 - iOS 16.1.2
iPhone SE - iOS 15.4
Screenshot
https://user-images.githubusercontent.com/102940764/213967848-db70fb45-36ef-43d1-927c-72af87c848b5.mp4
https://user-images.githubusercontent.com/102940764/213967856-4b051534-8eb2-461d-a514-7fbdb3716423.mov
https://user-images.githubusercontent.com/102940764/213967860-7bf08a22-590d-4633-9be3-b9593b4a0568.mov
https://user-images.githubusercontent.com/102940764/213967865-cc831452-4f22-40bf-938a-f0b13db7e6c7.mov

This issue has been descoped from the beta release.

verified as fixed in the build with commit id in the below screenshot.
https://drive.google.com/file/d/15uWjasH2tRj0qCau8Ljj8YFEoSXi6mfd/view?usp=drivesdk


How to implement custom user store in rc version?

The user store is your responsibility. You only need to implement IProfileService in IdentityServer to allow us to query claims for the user.

I have implemented the IProfileService for that i have also implement IResourceOwnerPasswordValidator and ICustomGrantValidator.
When i upgrade from beta version to RC - Update 2 it gives an error in password validation CustomGrantValidationResult is not found.
Can you please let me know that what is update for this  CustomGrantValidationResult.

Perhaps the class name changed to GrantValidationResult.

http://docs.identityserver.io/en/dev/topics/extension_grants.html


Easy workflow to reset all data

Problem
There currently doesn't seem to be a way to easily reset a database.
Suggested solution
Provide a way to reset the database (via CLI, SDK, Studio). This should delete the database, re-create it from the schema and finally seed it (if there is a seed).
Alternatives
Additional context
Popular frameworks like Ruby on Rails have integrated tools to manage the lifecycle of a database:

db:create creates the database for the current env
db:create:all creates the databases for all envs
db:drop drops the database for the current env
db:drop:all drops the databases for all envs
db:migrate runs migrations for the current env that have not run yet
db:migrate:up runs one specific migration
db:migrate:down rolls back one specific migration
db:migrate:status shows current migration status
db:rollback rolls back the last migration
db:forward advances the current schema version to the next one
db:seed (only) runs the db/seed.rb file
db:schema:load loads the schema into the current env's database
db:schema:dump dumps the current env's schema (and seems to create the db as well)

Original issue

There currently doesn't seem to be a way to easily reset all data. This should be possible via Studio, CLI and/or SDK.

Clarification: First step here would be to create a spec that defines how this might work and what it might be called.

Internal Note: Move to specs

First step: Implement this functionality in Studio (See issue https://github.com/prisma/studio/issues/237).
After that we'll investigate further whether/how to expose this functionality via other tools (e.g. CLI, SDK, ...)

Internal Note: Dropping, because of Studio only thing.

Internal note: Candidating this because of another duplicate issue that refered to same feature was candidated by @schickling

We use Prisma v1 CLI to prepare the database for e2e and for integration tests. It's really handy to do prisma reset && prisma seed -e .env.[e2e|int].
What would be the equivalent in Prisma 2?

Agreed, we did a custom script to do this but its not ideal (I can share if someone needs). One thing to keep in mind is to also reset the sequences so the ID are stable.

Agreed with @frandiox, the ability to do a reset via the CLI is really handy - especially for testing purpose.
@Sytten I'm interested about your custom script if you're still happy to share it?

import { PrismaClient } from '@prisma/client';

const tableNames = [
  'User',
  'Store'
];

export default async () => {
  const prisma = new PrismaClient();

  try {
    for (const tableName of tableNames) {
      await prisma.raw(`DELETE FROM "${tableName}";`);

      if (!['Store'].includes(tableName)) {
        await prisma.raw(
          `ALTER SEQUENCE "${tableName}_id_seq" RESTART WITH 1;`
        );
      }
    }
  } catch (err) {
    // eslint-disable-next-line no-console
    console.error(err);
  } finally {
    await prisma.disconnect();
  }
};

Hi @schickling .
I've just started trying out Redwood JS. They have a layer of db commands on top of prisma cli, and I've already found myself wishing we were able to run yarn rw db reset and similar commands for local development.
It would be great if this could be made available outside of Prisma Studio.

I found workaround with use reset schema
// prisma/reset.prisma
datasource db {
  provider = "postgres"
  url      = env("DATABASE_URL")
}
generator client {
  provider = "prisma-client-js"
}

model Reset {
  id        Int     @id @default(autoincrement())
}

and execute
$ prisma db push --preview-feature --force --schema=./prisma/reset.prisma; prisma db push --force --preview-feature

so now this is possible with prisma migrate reset --preview-feature right? Is there are also way to programmatically reset the db as part of a testing suite?

@BjoernRave Indeed though this command assumes you are using migration files.
We are thinking about a prisma migrate drop or truncate that could fit any needs.

It is possible with prisma migrate reset, but it's not very performant and would take very long if all you want to do is truncate.

It is possible with prisma migrate reset, but it's not very performant and would take very long if all you want to do is truncate.

It also requires user confirmation, last time I checked

They added a --force flag in 2.15.

Here is a manual truncate example that could help for now for PostgreSQL (example from Keystone):
        // Special fast path to drop data from a postgres database.
        // This is an optimization which is particularly crucial in a unit testing context.
        // This code path takes milliseconds, vs ~7 seconds for a migrate reset + db push
        for (const { tablename } of await this.prisma.$queryRaw(
          `SELECT tablename FROM pg_tables WHERE schemaname='${this.dbSchemaName}'`
        )) {
          await this.prisma.$queryRaw(
            `TRUNCATE TABLE \"${this.dbSchemaName}\".\"${tablename}\" CASCADE;`
          );
        }
        for (const { relname } of await this.prisma.$queryRaw(
          `SELECT c.relname FROM pg_class AS c JOIN pg_namespace AS n ON c.relnamespace = n.oid WHERE c.relkind='S' AND n.nspname='${this.dbSchemaName}';`
        )) {
          await this.prisma.$queryRaw(
            `ALTER SEQUENCE \"${this.dbSchemaName}\".\"${relname}\" RESTART WITH 1;`
          );
        }

We have prisma migrate reset now, which:

drops the database
creates the database
applies migrations
seeds the database.

We are closing this issue.
For those who are interested in truncating tables over dropping and re-creating the database, which is tracked here: https://github.com/prisma/prisma/issues/5596

We have prisma migrate reset now, which:
1. drops the database

2. creates the database

3. applies migrations

4. seeds the database.

We are closing this issue.
For those who are interested in truncating tables over dropping and re-creating the database, which is tracked here: #5596

You folks are amazing!!  🙏

Has it all changed again??????
npx prisma reset

! Unknown command "reset"

I have used this strategy to ensure the database is cleaned up before executing each test.
await this.$queryRaw(
            Prisma.sql`
            do $$DECLARE
            begin
                EXECUTE
                (SELECT 'TRUNCATE TABLE '
                    || string_agg(format('%I.%I', schemaname, tablename), ', ')
                    || ' CASCADE'
                FROM   pg_tables
                WHERE  tableowner = 'postgres'
                AND    schemaname = 'public'
                AND    hastriggers = true
                );
            END$$;`
        );

If you are trying to get this working from inside a .ts file (for instance seed.ts) you can:
import { exec, execSync } from "child_process";
import { promisify } from "util";

export default async function clearDatabase() {
  const execAsync = promisify(exec)
  try {
    const {stdout, stderr} = await execAsync('pnpm prisma db push --force-reset')
    console.log(`stdout: ${stdout}`)
    console.error(`stderr: ${stderr}`)
  } catch (error) {
    console.error(`error: ${error}`)
  }
}

In the invoker (i.e. jest testing script):
  beforeAll(async () => {
    // Reseed the database before running the tests
    await clearDatabase()
    await seed()
  })


Clarify inherited props from View in WebView docs

In an effort to avoid confusion and clarify what exactly is shown on the props from View page, this rephrases the link a little.
The previous text gives the impression that it displays all the WebView props in a dedicated page, when in fact it's the props for View which WebView has inherited.
Worst case one might wonder why the WebView does not have a prop for specifying the URL as the View props list does not have anything related.
Any thoughts? If this makes sense, I'll happily change the other similar links throughout the site.

..woopsie, should have been opened against the upstream project instead.


Connection closed abruptly because of SIGTERM is not handled.

Checklist

[X] I have looked into the README and have not found a suitable solution or answer.
[X] I have looked into the documentation and have not found a suitable solution or answer.
[X] I have searched the issues and have not found a suitable solution or answer.
[X] I have upgraded to the latest version of OpenFGA and the issue still persists.
[X] I have searched the OpenFGA Community and have not found a suitable solution or answer.
[X] I agree to the terms within the OpenFGA Code of Conduct.

Description
When restarting OpenFGA, our server experiencing forced connection close.
When OpenFGA receives SIGTERM signal it continue processing ongoing requests and shutdown only when nothing left.
SIGTERM should also added to handled signals at code
Kubernetes sends SIGTERM on graceful termination period. link

Typically, with this graceful termination of the pod, kubelet makes requests to the container runtime to attempt to stop the containers in the pod by first sending a TERM (aka. SIGTERM) signal, with a grace period timeout, to the main process in each container.

originally from https://github.com/openfga/openfga/issues/1909
OpenFGA version
v1.6.0
How are you running OpenFGA?
In Kubernetes
What datastore are you using?
MySQL
OpenFGA Flags
no
Logs
upstream connect error or disconnect/reset before headers. reset reason: connection termination
dev.openfga.sdk.errors.FgaApiInternalError: check

👍 Good find @flex-seongbok. Can you send a PR? 😄

👍 Good find @flex-seongbok. Can you send a PR? 😄

I would like to do but we are not ready to CCLA for now.
We are preparing CCLA but it will takes some time. sorry.

- ctx, stop := signal.NotifyContext(ctx, os.Interrupt, os.Kill)
+ ctx, stop := signal.NotifyContext(ctx, os.Interrupt, os.Kill, syscall.SIGTERM)

@miparnisari Could you apply this?


mmstd_datatools - FloatTableToParticles crashes

FloatTableToParticles crashes while the colormode is set to Intensity in the project file.
Setting the colormode to another value for starting and switching to Intensity while running, can be used as a workaround.

Archive issue data: issue30.zip


Turbodbc fetching half/partial result sets

I am using turbodbc to connect to Sybase ASE. When using fetchall()  only partial result sets are fetched, for example If i try to fetch 4 records first two records will have values, next two are two empty lists. Same query works well with pyodbc.

Adding to above, if I fetch 100 records , first 50 will have rows/values and other 50 has empty lists. Is there anything to do with cursor skip/count ?

Just a few thoughts:

Do you have use_async enabled? Try disabling it.
Sometimes drivers were built with certain 32-bit fields in mind rather than the 64 bits that turbodbc assumes. Can you try a different ODBC driver?
Which platform are you using?
Can you check the contents of these 50 rows to determine whether you get the first 50 rows or every other row (1, 3, 5, 7, etc.)?
One key difference between turbodbc and pyodbc is that turbodbc uses SQLFetchScroll to retrieve batches (although there is no scrolling in the sense of going forward and backward). If the driver is not correctly implementing this, there may be issues.

Hi, my issue is resolved. I was using 32 bit odbc drivers in Redhat Linux. After changing to 64 bit i am able to process the rows correctly.

Glad to hear your issue is resolved!


Add status change event dispatching to Cloud

I also fixed a few other issues I found, including how some of
the new Cloud properties were not setting the _changed flag.
I did that for consistency with the rest of the code, but I don't
think we need that property anymore, so we could clean that up.
It's only used in one place elsewhere in the code, and that place
could just assume it's always changed.

Not tested yet, but code looks good. Left a one question and one nitpick (not so important)

Not tested yet, but code looks good. Left a one question and one nitpick (not so important)

Thanks for having a look! I updated after your comments.


Outdated templates are returned with a custom theme installed (Caching Issue?)

Description:
We noticed this because we wanted to use an extension to hide some information when the storefront is viewed without being logged in. But the issue is already reproducible without any extensions, just not as noticeable.
When the default theme is set, everything works as expected. As soon as any custom theme is set (plugin or app does not matter, even a theme without any template overrides is enough to trigger this issue) the shop returns outdated (cached) templates after login context changes.
Environment: Production Mode, Shopware 6.4.20, 6.5.0, 6.5.1 (Dockware & Live Installation)
Steps to reproduce:
You need a category page (link in the top navigation) as well as a customer account.

login to the shop with your customer
open the category page
check that the account context dropdown in the header is displayed when clicking the account icon
click logout
go immediately back to that same category page
open the account dropdown again

Expected result:
The account dropdown shows the non-logged-in state
Actual result:
As soon as a custom theme is active, the dropdown still shows the account menu after logout. only repeated page refreshes will fix the issue. This only happens when the same page was shortly opened before, it is then apparently loaded from the cache despite the login context not being valid anymore.
The same can be reproduced the other way around (open page as guest -> login -> open same page -> page still shows guest dropdown)
This is not very noticeable when its just the account dropdown, but as soon as we want to change any display of information (e.g. prices) between logged-in and non-logged-in users this becomes problematic, as even after login a page visited shortly before will NOT show the updated information.
The weirdest part is not the behavior itself but the fact that it only seems to happen when a custom theme is installed. Why should this make any difference in the caching behavior?

[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/NEXT-27287.
[created from NEXT-27287, comment 485598]


Support overriding only part of a recipe

I make a lot of forks of repos (which is something I love about straight!!), but being required to provide the entire recipe seems more verbose then really needed. For example:
(use-package swiper
  :straight
  (:files ("swiper.el" "swiper-pkg.el")
   :type git :host github :repo "abo-abo/swiper"
   :fork (:host github
          :repo "CeleritasCelery/swiper")))

The only info that straight.el did not already have is the forked repo. It seems like we could support syntax like this
(use-package swiper
  :straight
  (:fork (:repo "CeleritasCelery/swiper")))

if other parameters changed, they could be optionally added as well (for example add :host gitlab if you forked to gitlab, or change the original host, etc). Currently you have to know what the original recipe was to even create a fork, which seems unnecessary.
The same could be said for updating the local repo. Currently this is required:
(use-package challenger-deep-theme
    :straight (:host github :repo "challenger-deep-theme/emacs"
               :local-repo "challenger-deep-theme"))

However we could make this simpler because all the rest of the info is already known.
(use-package challenger-deep-theme
    :straight (:local-repo "challenger-deep-theme"))

Yes, indeed. See #116. Thanks for providing the examples; I agree with all of them :)


etcd-tester: retry for ErrTooManyRequests

Fix https://github.com/coreos/etcd/issues/6017.
When applier falls behind, it rejects stresser requests with ErrTooManyRequests, which then exits the stresser routine. We should retry.

/cc @heyitsanthony @xiang90
Thanks.

nvm. after 50 rounds, got another error :0
 injection error: cluster too slow: only commit 8475 requests in 30s


Improve the Epicycloid class docstring

Is your feature request related to a problem? Please describe.
Improve the class docstring for Epicycloid with more information about what an epicycloid is, how it relates to epitrochoids, what this class is doing, etc. for the official documentation
See here to know what line to expand upon
Nothing too dramatic just a paragraph or two with a brief description should suffice

Fixed #86


fm6126a drivers

I modified the fm6126a driver based on esp32 and it seems to work fine
B12a can switch between different brightness:
b12a=0b0111111111111111;
b12a=0b0111100011111111;

Thanks ... merged!

I take it this only works for ESP32?


Return to the current element if scrolling is not enough.

I'm trying to create a TikTok feed page, but when scrolling it always scrolls to the next element.
Is it possible to somehow implement this functionality?

What do you think? @dosu-bot

this is a such big issue and finally found someone who asked the question. However, strange enough nobody has answered.

I'm not quite sure I get it. Can you show me an example for this?

https://github.com/dohooo/react-native-reanimated-carousel/assets/54101046/1b8da7c7-d5ad-4b13-aba6-02c616f9e98a
Here's an example from Youtube Shorts.
If the scrolling is small, then it returns to the current element.
But in the case of a carousel, it always goes either forward or backward, even if the scrolling is minimal.

Did anybody find a solution to this?

I've got a proposed fix in #596 . See the screen recordings in that PR to see what the new behavior is. This seems to work well for my purposes.


Strip SARADC_ prefix in APB_SARADC/CTRL registers

An inconsistency between a register name and a function name, generated after svd2rust in multiple registers was noticed.

Thanks, would you mind regenerating the PACs and committing the changes to the source files please?

Please do not modify the SVDs directly, all changes should be done via patches. README.md describes the process.

Just for log: It came down to a bit of a misunderstanding between me and Jesse, which made me think we wanted to exceptionally commit new SVD changes now.
Except of this, there're no changes to the source files, caused by these patches. The whole PR is about svd2rust clipping some prefixes in registers I've worked with. So it turned out that in a huge commit I repeatedly used names from SVD, when in fact the names of register access functions were clipped (without those prefixes), which was confusing.

he said you to regenerate pacs (rust files). base.svd should stay unchanged

he said you to regenerate pacs (rust files). base.svd should stay unchanged

There was some conversation outside of this PR comments that led to a misunderstanding, the details of which I consider unnecessary to write here