PANIC: called Option::unwrap() on a None value in query-engine/core/src/interpreter/query_interpreters/nested_read.rs:231:50

Bug description
Hi, I'm suddenly getting this on our Prisma server:
Thrown with args: {}
Resolver info : { prev: undefined, key: 'me', typename: 'Query' }
Model : User
Error : PrismaClientRustPanicError2 [PrismaClientRustPanicError]:
Invalid `prisma.user.findUnique()` invocation:
  PANIC: called `Option::unwrap()` on a `None` value in query-engine/core/src/interpreter/query_interpreters/nested_read.rs:231:50
This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic.

How to reproduce

Launch your prisma project
Leave it running for ~20 hours
See the above error

Expected behavior
As Douglas Adams wrote, "Dont panic!"
Prisma information
Using paljs and nexus
query { me { id } }

Environment & setup

OS: Linux using Docker node:16-buster
Database:

generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["selectRelationCount", "filterJson", "referentialActions", "nApi"]
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

Node.js version: 16

Prisma Version
"@prisma/client": "2.28.0",
"prisma": "2.28.0",

Correction: The docker container was executing the prisma generate with 2.29.0 - pinning this to 2.28.0 to align with my package.json and re-running CI. Will keep you updated.

Update: Tried pure 2.28 and ~24 hours later it crashed again.
Will now try 2.29 and report back in a few days.

Can you shared (or reconstruct) the Prisma Client query this would send, with the relevant model in your datamodel?

Hi Janpio, I will get that information asap.
It seems to be affecting just one of many(5) PrismaClient instances we are storing in an array, the one that has a connection_limit=500 - maybe too high?
In the meantime, I found a bit of extra info I should paste:
Hi Prisma Team! My Prisma Client just crashed. This is the report:
Versions

Name
Version

Node
v16.6.1

OS
debian-openssl-1.1.x

Prisma Client
2.28.0

Query Engine
0.1.0

Database
mysql

Query
{"X":{}}

Logs
y starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true
prisma:client:libraryEngine graphQLToJSError
prisma:client:fetcher Error: called `Option::unwrap()` on a `None` value
    at LibraryEngine.prismaGraphQLToJSError (/usr/app/node_modules/@prisma/client/runtime/index.js:23770:14)
    at LibraryEngine.request (/usr/app/node_modules/@prisma/client/runtime/index.js:23785:24)
    at async cb (/usr/app/node_modules/@prisma/client/runtime/index.js:34770:26)
    at async middleware (/usr/app/node_modules/graphql-shield/dist/generator.js:30:24)
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library already starting, this.libraryStarted: true

The connection limit should not really be a problem.
You are using the nApi preview feature right now. Does the problem also occur with that once disabled? (Also should make no difference, but who knows... it definitely is very present in the logs you posted)

The error indicates that your schema and your database may be drifting. Can you:
a) Post your datamodel.
b) Look at your MySQL tables and, if possible, post the structure here as well?

I wrote this healthcheck which correctly identifies when it has crashed:
if [ "$(curl -s http://localhost:4000/graphql -X POST -H 'content-type: application/json' --data-raw $'{"variables":{"username":"x", "password":""},"query":"mutation login($username: String!, $password: String!) { login(username:$username, password:$password) }"}' | jq -r '.errors[0].message')" == "Incorrect email or password" ]; then (echo PASS && exit 0); else (echo FAIL && exit 1); fi

And the model for this is:
export const Authentication = extendType({
  type: 'Mutation',
  definition(t) {
    t.field('login', {
      type: 'String',
      args: {
        username: nonNull(stringArg()),
        password: nonNull(stringArg()),
      },
      async resolve(_root, args: LoginInputDto, ctx: Context) {
        return <implementation details>
      },
    })

The "" basically calls this:
await prisma.user.findMany({
      where: {
        username: {
          equals: username,
        },
      },
      select: {
        id: true,
        username: true,
        password: true,
        password_algor: true,
        salt: true,
        hash: true,
        admin: true,
        locale: true,
        Company: {
          select: {
            id: true,
            admin: true,

and the model for user is
model User {
  id                           Int                            @id @default(autoincrement())
  username                     String?
  full_name                    String
<snipped, as there is 100s of lines here>
  CompanyOwner                 Company?                       @relation("owner")
  PasswordResetAuth PasswordResetAuth[]
  @@unique([id, company_id], name: "primary")
  @@index([calendar_order], name: "calendar_order")
  @@index([company_id], name: "company")
  @@index([deleted], name: "deleted")
  @@index([email], name: "email")
  @@index([full_name], name: "full_name")
  @@index([hash], name: "hash_index")
  @@index([username], name: "username")
  @@map("users")
}

I could get the mysql schema too, but why would it work for many hours then die. I would expect a schema mis-match to not work straight away, and also be citing MySQL error codes
Our complete schema is propreitary however we are willing to send this as a confidential email to you.
Thank for your help with this. I will disable nApi now and report back in a day.

From what I can tell, 2.29 running without nApi is running solidly so far.

Although we can not reproduce this, we can not imagine how this could be connected to using the nApi preview feature or not. Our current theory is that some data is corrupted once during for some weird reason, which is making the Engine crash internally.
If you get any additional information on how to reliably reproduce this, or can indeed pinpoint this being connected to our Node-API engine exclusively, we are super happy to jump on this again. For now we do not really know how to proceed further here.

Can I DM you on Slack with a private repo?
Some extra weak information I have:

My belief is the problem started after 2.27
We use nexus with the paljs plugin
We use some object and json fields

I also do not know how to proceed. My $0.02 for the Prisma team is: As the error I hit is the same file and line number each time, could you catch that particular error and output to console any extra information you guys need me to paste here? Like a core dump. Maybe only when I have a certain env var set (otherwise this might be adding an extra vector for attackers).

Yes, I am @janpio on our public Slack as well.

Update - just had another PANIC of the exact same signature. So we can now rule out nApi being the cause.

@elie222 opened a separate issue about this as well: https://github.com/prisma/prisma/issues/10049 Their error message is a bit different, so that makes sense.

Update, I have got this crash again on 1 of my servers in a cluster. The rest of the cluster is fine, it's just 1 node that seems to crash with this anytime we call prisma:-
PANIC: called `Option::unwrap()` on a `None` value in query-engine/core/src/interpreter/query_interpreters/nested_read.rs:232:50\n\nThis is a non-recoverable error which probably happens when the Prisma Query Engine has a panic.

Notice how the line number has increased by 1 so I assume it's the same problem here that I've had for a year or so so far.

We are still experiencing this issue with the latest version 3.10.0

I can confirm the PANIC error happens with nested operations. As a short term (and what worked for us), try to unnest your create/update. Either as a $transaction or multiple db updates.

We are seeing this with query{me{id}} as well

My hunches are:

In our express server, we have a global array of PrismaClients. Each customer has their own mysql database. Plus we have one master mysql which has the list of the customers. So in some resolvers, we even call both the master, and the customer PrismaClient.
There is a memory issue where you do a large query that somehow starves or corrupts the arguments for the nested_join.rs function until the node is restarted.

I can reproduce this issue. Please see this repo for a small reproduction. It seems as though this Rust Panic occurs when a relationship is created using a non-unique constraint. Some connectors check for this (SQLite) but others don't and cause a runtime error (MySQL)
Notes:

When using the SQLite connector an error is thrown in the command line tooling, catching this error before it gets to production. MySQL throws no error and then the Rust engine Panics at runtime.

Error: P1012

error: Error validating: The argument `references` must refer to a unique criteria in the related model `A`. But it is referencing the following fields that are not a unique criteria: custom_id
  -->  schema.prisma:21

This reproduction uses v3.11.0. In >v3.12 an opaque error is thrown in the command line tooling that is difficult to debug.

An error occured while running the seed command:
Error: Command was killed with SIGKILL (Forced termination): ts-node prisma/seed.ts

I can reproduce the "called Option::unwrap() on a None value" problem with the reproduction you provided, also that the SQLite provider has additional validations that somehow got lost for MySQL.
I can not reproduce the Error: Command was killed with SIGKILL (Forced termination): ts-node prisma/seed.ts in newer Node versions.
Considering the long history of this issue, I suggest I create a new one with a minimal reproduction and nothing else.

New issue: https://github.com/prisma/prisma/issues/13340 I slightly simplified the reproduction from you @andrewicarlson. I also already added that this is probably a missing validation in the mysql provider (it also does not validate for postgresql) which makes this a problem of schema validation - and the Query Engine and Prisma Client should never have tried to run a query with this database schema.
Please confirm that this actually covers your cases and let me know if not.

I can not reproduce the Error: Command was killed with SIGKILL (Forced termination): ts-node prisma/seed.ts in newer Node versions.

Just checking, did you mean newer Prisma versions?

Please confirm that this actually covers your cases and let me know if not.

I think handling this via schema validation makes sense and would allow this issue to be caught and resolved pre-runtime more easily.

Just checking, did you mean newer Prisma versions?

Yes indeed, sorry.


lnd fails with apparent segfault! - Emergency

Background
LND runs to the point of syncing the channel graph, then fails with:
2021-03-19 10:45:25.365 [INF] CHDB: Pruned 7 unconnected nodes from the channel graph
unexpected fault address 0x66b1b044
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x1 addr=0x66b1b044 pc=0x331acc]
Your environment
lnd version 0.12.1-beta commit=v0.12.1-beta
Bitcoin Core version v0.21.0
Raspbian, RPi4
Steps to reproduce
Appeared spontaneously overnight. Have tried reinstalling lnd and tor, restarting all services and device.
 Could you try flipping the config option sync-freelist off?

Thanks for the suggestion!  Same output, I'm afraid  : (

Best guess is my rebalancing script failed in some strange way and corrupted some data. Can anyone confirm that this is a bbolt problem? Can I force a database rebuild or something?

Or, is there any way to recover my channels? I'm willing to do a total rebuild if necessary, losing this node would break my heart.

Is the database size larger than about 950 MB? If you are on a 32bit system (which most Raspberry Pis are), that limits the DB size. You might need to run database compaction. Try running chantools compactdb. If that results in the same error, you need to copy the DB to another host (64bit machine) and run the command there, then copy the DB back. This is a bit risky though so feel free to contact me on Slack if you're not sure what to do exactly.

Thanks guggero! It did fail with the same error on the pi, attempting compaction on 64 bit system now.

If you are on a 32bit system (which most Raspberry Pis are), that limits the DB size.

So what is the procedure, then? @wankerstar should just get a new 64-bit device? Otherwise this compaction will have to be regularly repeated?
Should there be a warning not to use LND on 32-bit machines?

The procedure for 32bit systems is: Run compaction regularly (see the new --db.bolt.auto-compact added in v0.12.0-beta) and garbage collect unused data (--gc-canceled-invoices-on-startup, also new in v0.12.0-beta).
Long term a migration to a 64bit OS is recommended. I know RaspiBlitz is working on that.

Got it. Thanks for the instructions. I didn't read it; are these instructions in the README? If not they should probably be in there, as Raspberry Pis are pretty popular. Also someone should probably ping the RaspiBlitz people to get them to add these config options if they aren't doing it already.

 Thank you so much for your prompt assistance.
Moving forward though, I'm worried! The compacted db is still 802mb, dangerously close to the limit. Attempting to launch with auto-compact enabled seems to cause the error to occur again. Should I consider moving architectures immediately? If so, the documentation claims switching architectures with open channels is unsupported - is that still true?

Closing as this has been resolved. If you can migrate to a 64-bit architecture, recommend doing so. Simply copying over the database files likely won't work, so you may need a more manual transplant method.

Thanks. @Roasbeef, can you direct me to any information on how a "more manual" transplant might be accomplished?

You can follow this guide: https://github.com/lightningnetwork/lnd/blob/master/docs/safety.md#migrating-a-node-to-a-new-device
There is still the lingering question whether moving between 32bit and 64bit is actually supported by the underlying bbolt database library. Given the fact that you just successfully compacted on a 64bit system and were able to start it again on the 32bit machine is a good indication that it probably works.
But please bear in mind that migrating between architectures is not officially supported by us and that things could still go wrong. If you are willing to take that risk, then simply moving the whole .lnd folder to a new machine is what you can do. If not, then closing all channels, starting a new node with the same seed on the new machine and then opening the channels again is the alternative option.


Forms: fix title padding

Adds a horizontal padding for the FeatureFormTitle.

@sorenoid fixed it. Also noticed that the title wasn't using material theme typography which is addressed in this PR.


Updating possible values of hostClientType field

The possible value have changed, see https://github.com/OfficeDev/microsoft-teams-library-js/blob/master/src/public/constants.ts.

Docs Build status updates of commit 6abcc53:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/access-teams-context.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/access-teams-context.md
91
17
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/access-teams-context.md
91
17
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 7300536:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/access-teams-context.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Grid footer tutorial: remove footer, grid height doesn't adjust

Refer http://ui-grid.info/docs/#/tutorial/105_footer.  Click the provided toggle buttons, the content disappears but the footer height doesn't recalculate.

Duplicate of #2554

If the footer is adding a viewport adjustment, it might not be de-registering the adjuster when the element is destroyed.


Azure OpenAI

Can you make the script with Azure OpenAI ChatGPT?

Hi @stevenbaert @gmickel  I believe we can help with this issue. I’m the maintainer of LiteLLM https://github.com/BerriAI/litellm
TLDR:
We allow you to use any LLM as a drop in replacement for gpt-3.5-turbo.
If you don't have access to the LLM you can use the LiteLLM proxy to make requests to the LLM
You can use LiteLLM in the following ways:
With your own API KEY:
This calls the provider API directly
from litellm import completion
import os
## set ENV variables
os.environ["OPENAI_API_KEY"] = "your-key" #
os.environ["COHERE_API_KEY"] = "your-key" #

messages = [{ "content": "Hello, how are you?","role": "user"}]

# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)

# cohere call
response = completion(model="command-nightly", messages=messages)

Using the LiteLLM Proxy with a LiteLLM Key
this is great if you don’t have access to claude but want to use the open source LiteLLM proxy to access claude
from litellm import completion
import os

## set ENV variables
os.environ["OPENAI_API_KEY"] = "sk-litellm-5b46387675a944d2" # [OPTIONAL] replace with your openai key
os.environ["COHERE_API_KEY"] = "sk-litellm-5b46387675a944d2" # [OPTIONAL] replace with your cohere key

messages = [{ "content": "Hello, how are you?","role": "user"}]

# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)

# cohere call
response = completion(model="command-nightly", messages=messages)

Hi @stevenbaert
LangChain's OpenAI classes support Azure OpenAI out of the box. You should be able to make the script work with Azure by changing the class instantiation in src/index.ts.


connect repo to discord

so we can see PRs, issues, etc.

it works!
https://support.discord.com/hc/en-us/articles/228383668 was supremely helpful


chore: updated aws example to include llama3

Renamed "meta" model to "llama2" and "llama3"
Added support for llama3 in aws-bedrock-app

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


Web interface "Forbidden" massage

I am getting this a lot on web interface. About one or twice in an hour. Rebooting will fix this and gain access again. Is there any way to prevent this?
Forbidden
You don't have permission to access this resource.
Apache/2.4.38 (Raspbian) Server at <IP_ADDRESS> Port 80

I don't think this is directly related to the server side; I have never had this in many years of operation on multiple cameras.
I suspect it is browser related in some way. What browser are you using?
The best way to get further information on what is going on is to turn on developers tools in the browser and you should then get detailed information on what has triggered that error.


arguments detection for jsdoc / javascript has a false positive

Typescript infers that if you touch the arguments value inside a function that it has extra arguments as ...args: any[]
However if you call a method with an object and one of the fields is called arguments: [] then it thinks you are using the arguments variable inside of the function, then it adds ...args: any[]

https://www.typescriptlang.org/play?filetype=js#code/LAKAxg9gdgzgLgAhgT3gUwLYILwIN5JpQAmAFBAJT4C+C1ooAZhBAEYCGATqQOTRo8KAbgYgA9ACoJoBBIQABAA5d2WPPE4BLKAHNa-GRLFMArlDBxN0BMzZcE5KGip4ZSVHEwA6GETKuQBCCEdkVNAC4EHlsOTh4AGjcgrh0TDCI4GEiAbR4ACzQAG0KIHgBdN2oKUGogA
const system = { send(o) {} }

foobar('one');

/**
 * @param {string} one
 */
function foobar (one) {
  system.send({
    api: 'foobar',
    arguments: ['hello']
  })
}

I have a similar problem
but i'm actually using arguments.length to just simply validating/asserting the number of arguments. This only occur in .js (not in .ts)
javascript:
typescript:
I think the better option would be to not add ...args[]: any at all if you use arguments...
the new normal is that you instead use spread when you actually mean to support any number of arguments
class Math {
  /** @param {number} args */
  min (...args) {
  }
}

Thanks @a-tarasyuk!

if i want to use arguments but do not want to have ...args[]: any then what can I do?


Populate DisplayAttribute for DataGrid content

🙋 Feature Request
The Documentation says:

The DataGrid can generate column headers by using the System.ComponentModel.DataAnnotations.DisplayAttribute on properties shown in the grid.

Would be nice to have same behavior with column content. Yes, It may affect sorting.
🤔 Expected Behavior
Here's an example of some enum:
public enum Positions
{
    [Display(Name = "Employee")]
    Employee,
    [Display(Name = "HR Manager")]
    HrManager,
    [Display(Name = "Project Manager")]
    ProjectManager,
    [Display(Name = "Administrator")]
    Administrator
}

And example of an Employee model:
public class Employee
{
    [Display(Name = "Id")]
    public int Id { get; set; }
    [Required, Display(Name = "Full Name")]
    public Names FullName { get; set; }
    [Required, Display(Name = "Subdivision")]
    public Subdivision Subdivision { get; set; }
    [Required, Display(Name = "Position")]
    public Positions Position { get; set; }
    [Required, Display(Name = "Status")]
    public Status Status { get; set; }
    /// <summary>
    /// Navigation property
    /// </summary>
    [Required, ForeignKey("PeoplePartner"), Display(Name = "People Partner")]
    public Employee? Partner { get; set; }
    [Required, Display(Name = "Out-of-Office Balance")]
    public ushort? Balance { get; set; }
}

By adding DisplayAttribute to every enum value, I'm expecting same behavior as headers, but it doesn't.
😯 Current Behavior
Here's how it shows now:

🔦 Context
I have a model, which properties are described by set of enum's, in current version I have to do additional steps to render my enums values as expected, instead of using same logic, as implemented for column headers.

I'm afraid this is currently not possible.
Internally a  Func<TGridItem, string?>? is defined to get the actual cell text (value)  as a string. This is created from the expression put in in the PropertyColumn which is then converted to a string. I don't see a way to intercept/interrupt that step to do some additional work.

Temo che al momento questo non sia possibile.
Internamente a  Func<TGridItem, string?>?viene definito per ottenere il testo effettivo della cella (valore) come stringa. Questo viene creato dall'espressione inserita nella PropertyColumnche viene poi convertita in una stringa. Non vedo un modo per intercettare/interrompere quel passaggio per svolgere del lavoro aggiuntivo.

in this line
Check type is enum and get valur form attribute

in this line  Check type is enum and get value from attribute

How?

in this line  Check type is enum and get value from attribute

How?

var value = compiledPropertyExpression!(item);
var valueTxt ="";

if(typeof(TProp).IsEnum())
{
....
//get value from attribute like https://github.com/microsoft/fluentui-blazor/blob/3cf069c03d9046c61703432a03aae62c14daf42a/src/Core/Extensions/EnumExtensions.cs#L15
//use reflection
// value to enumvalue
// enumvalue.GetDescription()
...
}
else
{
valueTxt= value?.ToString();
}

But that piece of original code does not return the value. It returns the function to invoke to get the value
@franklupo Are you on Discord? We can have more direct chat there...

But that piece of original code does not return the value. It returns the function to invoke to get the value
@franklupo Are you on Discord? We can have more direct chat there...

which link?

Find us at to https://discord.gg/M5cBTfp6J2


[Event Request] Add OnInsertTempItemTrkgEntryOnBeforeInsert to codeunit 6620 Copy Document Mgt.

Hello, please consider adding the following event to codeunit 6620 "Copy Document Mgt."
    [IntegrationEvent(false, false)]
    local procedure OnInsertTempItemTrkgEntryOnBeforeInsert(var TempItemTrkgEntry: Record "Reservation Entry"; ItemLedgEntry: Record "Item Ledger Entry")
    begin
    end;

and raise it as follows
    local procedure InsertTempItemTrkgEntry(ItemLedgEntry: Record "Item Ledger Entry"; var TempItemTrkgEntry: Record "Reservation Entry"; QtyBase: Decimal; DocLineNo: Integer; var NextEntryNo: Integer; FillExactCostRevLink: Boolean)
    begin
        if QtyBase = 0 then
            exit;

        with ItemLedgEntry do begin
            TempItemTrkgEntry.Init();
            TempItemTrkgEntry."Entry No." := NextEntryNo;
            NextEntryNo := NextEntryNo + 1;
            if not FillExactCostRevLink then
                TempItemTrkgEntry."Reservation Status" := TempItemTrkgEntry."Reservation Status"::Prospect;
            TempItemTrkgEntry."Source ID" := "Document No.";
            TempItemTrkgEntry."Source Ref. No." := DocLineNo;
            TempItemTrkgEntry."Item Ledger Entry No." := "Entry No.";
            TempItemTrkgEntry."Quantity (Base)" := QtyBase;
            OnInsertTempItemTrkgEntryOnBeforeInsert(TempItemTrkgEntry, ItemLedgEntry); <--------------------------
            TempItemTrkgEntry.Insert();
        end;
    end;

Thanks!

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 46009.


[SECURESIGN-568] Sharding of the Rekor Log

Extend operator functionality to enable sharding Rekor's log
https://docs.sigstore.dev/logging/sharding/

@osmman with this work would we want it to be the default configuration or an option?

This is use case for second day operation when you have to split into multiple Merkle trees. We will need extend api to configure sharding configuration. I expect that for default configuration it will work same way as current deployment (clean install use only single tree).
It can look like this:
kind: Rekor
spec:
  sharding:
    - treeID: $OLD_TREE_ID
       treeLength: $OLD_SHARD_LENGTH
    - treeID: $CURRENT_TREE_ID
       treeLength: $CURRENT_SHARD_LENGTH
  treeID: $NEW_TREE_ID

More interesting part will be if we want to automate that whole process from documentation in Operator or users will have to do that manually.

Migrated to Jira


DR2-1884 Change handler not sending update message

The problem is with the logic in the change handler and the order we get sent the messages.
Because the custodial-copy process picks up the ingested files before the step function sets ingested_PS to true, we get two updates in this order
ingested_PS=false, ingested_CC=true
ingested_PS=true,ingested_CC= true`

The logic was:
if asset.ingestedPreservica && asset.ingestedCustodialCopy then
  //send IngestComplete
else if asset.ingestedPreservica && asset.skipIngest then
  //Send IngestUpdate with some other logic around assets with the same Id
else if asset.ingestedPreservica then
 // Send ingest update message
So it was never hitting the last else if because ingestedPreservica was never true on its own.

The solution is to split them:
if asset.ingestedPreservica then
  //send IngestComplete
else if asset.ingestedPreservica && asset.skipIngest then
  //Send IngestUpdate with some other logic around assets with the same Id

if asset.ingestedPreservica && asset.ingestedCustodialCopy then
 // Send ingest update message

This means that we’ll get an IngestUpdate message and an IngestComplete message.
If we do sometimes get
ingested_PS=true, ingested_CC=false
ingested_PS=true,ingested_CC= true

Then we’ll get two IngestUpdate messages and one IngestComplete message. We can live with this, both because it’s unlikely and because anything downstream should be idempotent. It’s the IngestComplete message that other teams will react to and we’ll only get one of those.

The solution is to split them:
if asset.ingestedPreservica then
  //send IngestComplete
else if asset.ingestedPreservica && asset.skipIngest then
  //Send IngestUpdate with some other logic around assets with the same Id

if asset.ingestedPreservica && asset.ingestedCustodialCopy then
 // Send ingest update message

What the // comments state, above, is different to what is in the code; the code makes sense so I'm guessing what you added here was just a copy and paste error.

This means that we’ll get an IngestUpdate message and an IngestComplete message.

Just out of curiosity, could this be avoided by adding !asset.ingestedCustodialCopy, like
if asset.ingestedPreservica && !asset.skipIngest && !asset.ingestedCustodialCopy then sendOutputMessage(asset, IngestUpdate)

else if asset.ingestedPreservica && asset.skipIngest && !asset.ingestedCustodialCopy then
```?


Let SophiApp remember dialog size and position beyond exit

Your Idea
SophiApp does NOT remember its window size and position on desktop screen.
So users have always to do this manually after start.
This is unnecessary and annoying.
Can you make SophiApp remember size+pos beyond exit
SophiApp Version
<IP_ADDRESS>
Windows Version
Win10
Comments
No response

We will take this suggetion into considiration of course, but only for 2.0 release. No way to implement such feature for the current branch. 2.0 will be awesome. :)


Filesystem reliability in power-off scenarios (IDFGH-6550)

Is your feature request related to a problem? Please describe.
FAT and SPIFFS filesystems provided in ESP-IDF may become corrupted if the chip is powered off or reset during a filesystem operation. This is a tracking issue for improvements to filesystem reliability.
Describe the solution you'd like

Add an optional journalling layer between fatfs and wear_levelling
Document filesystem reliability considerations in the Programming Guide.

Describe alternatives you've considered

Consider adding an officially supported port of littlefs, while deprecating the usage of spiffs and fatfs. (Fatfs in external storage would still be supported.)

Additional context

https://github.com/espressif/esp-idf/issues/2730
https://github.com/espressif/esp-idf/issues/3311
https://github.com/espressif/esp-idf/issues/3355
https://github.com/espressif/esp-idf/issues/6405
https://github.com/espressif/esp-idf/issues/8193
https://github.com/espressif/esp-idf/issues/8858
https://github.com/espressif/esp-idf/issues/10223

Hi, did this problem was fixed already?
We use fatfs and wear leaveling but the problem happen when the partition is saving and the power failure happen, so, it's a caos as it's corrupt all partition so all files became useless.
Is there any patch avaliable?

Hi @filzek,
I don't think the issue is been still resolved. you can use other libraries if you are using fatfs which are mentioned here

With IDF 4.4 and later you can install this third party component into your project using IDF Component Manager: https://components.espressif.com/component/joltwallet/littlefs.
For older versions of ESP-IDF, clone the repository into the components directory of your project (or add it as a submodule): https://github.com/joltwallet/esp_littlefs.

Can a fatfs partition be mounted on littlefs?
For devices in field what should be the options to adjust it without
loosing data?
Em seg., 7 de mar. de 2022 07:20, MaazSk @.***>
escreveu:

Hi @filzek https://github.com/filzek,
I don't think the issue is been still resolved. you can use other
libraries if you are using fatfs which are mentioned here
https://github.com/espressif/esp-idf/issues/8193#issuecomment-1005510803
With IDF 4.4 and later you can install this third party component into
your project using IDF Component Manager:
https://components.espressif.com/component/joltwallet/littlefs.
For older versions of ESP-IDF, clone the repository into the components
directory of your project (or add it as a submodule):
https://github.com/joltwallet/esp_littlefs.
—
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/8197#issuecomment-1060443176,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG7JIU7EJFLPIZO4U5U4NKDU6XKATANCNFSM5LJRXPJQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @filzek,
Sorry for the delay in response. I don't know whether we can achieve it or not as I am not using littlefs now and I have not tried it also.

@igrr to update devices using FAT partition in field, as   data, Fat, encrypted, could we run it using LittleFS on it?

Hi @igrr
How is the status of this topic?
Any improvement for FAT/SPIFFS in power-off scenarios?
I recently has a device using littlefs that hit below error.
E (70265) esp_littlefs: /IDF-dev/myproj/managed_components/joltwallet__littlefs/src/littlefs/lfs.c:1346:error: Corrupted dir pair at {0x1, 0x0}
E (70270) esp_littlefs: mount failed, (-84)
I'm not sure if it's related to power-off scenarios or not,
but I'm wondering if littlefs is stable enough to replace spiffs ?

Yes, there is a journalling layer in development now. It will sit between wear_levelling and fatfs and provide "transaction-like" behavior to file operations. This will be available as a standalone component usable along with FAT FS.
We haven't looked into improvements to SPIFFS or LittleFS, though. For LittleFS, I would recommend raising the issue upstream, I think the maintainers address the issues quite actively there.

Yes, there is a journalling layer in development now. It will sit between wear_levelling and fatfs and provide "transaction-like" behavior to file operations. This will be available as a standalone component usable along with FAT FS.

Is this available now?

Right now we are working in the SDK 5.2.1  and we are creating a converse transition on the fly to the change the partition table and be able to save in realtime all files that are in the partition to littlefs, next week this part will be ready and I will get back with the feedback.
Currently in 5,2,1 when concurrence happen in ISR, GPTIMER, Console or UART exchange information and File Read/Write the partition get full corrupted, we will also open a ticket for it.

Yes, there is a journalling layer in development now. It will sit between wear_levelling and fatfs and provide "transaction-like" behavior to file operations. This will be available as a standalone component usable along with FAT FS.

Is this available now?

The component is under internal testing now and shall be published soon

Yes, there is a journalling layer in development now. It will sit between wear_levelling and fatfs and provide "transaction-like" behavior to file operations. This will be available as a standalone component usable along with FAT FS.

Is this available now?

The component is under internal testing now and shall be published soon

when gptimer, isr dispatch are simultaneous act the fatfs corrupt in sdk v5, so, its quite important to test in this scenario, if you want us to previous test, we can have full usage scenario to give you a real feedback.

Yes, there is a journalling layer in development now. It will sit between wear_levelling and fatfs and provide "transaction-like" behavior to file operations. This will be available as a standalone component usable along with FAT FS.

Is this available now?

The component is under internal testing now and shall be published soon

@pacucha42 But I still cannot find it in esp-idf?

Yes, there is a journalling layer in development now. It will sit between wear_levelling and fatfs and provide "transaction-like" behavior to file operations. This will be available as a standalone component usable along with FAT FS.

Is this available now?

The component is under internal testing now and shall be published soon

@pacucha42 But I still cannot find it in esp-idf?

Hi @AxelLin,
the esp_fs_journal component is in internal testing phase, as its role in the file-system component stack is quite critical and we need to be sure there are no hidden issues possibly jeopardizing user data.
The development got prolonged, sorry - I just hope we haven't caused to much of trouble to you.
If everything goes well, the first public version should be available in few weeks time. Please, keep watching this tracker for the updates.
By the way, the journaling is implemented as a stand-alone component, not bound to a specific IDF version (only minimum version is defined).
More news coming soon, thanks for the patience.

If everything goes well, the first public version should be available in few weeks time. Please, keep watching this tracker for the updates.

@pacucha42 It has been several months, how is the status now?

Sdk 5.3.1 has some improvement on failures, but still happen and also has another bug that we will open a ticket tomorrow, in some very heavy cpu use the power failure can cause a new kind of problem that corrupts the boot partition data making the fw to be switched to the previous one. This is very bad and we had about 8 cases from 800 devices in the last week, so 1% doing this odd behavior.
The corruption in fatfs that is currently being writed and cause a failure on its data, but is not all the time it occurs.

Hi @AxelLin - sorry, I have forgotten to update this tracker! So, the first version of esp_jrnl component had been released few months ago, but it had couple of bugs and was not good enough for public use. Known bugs were fixed, the tests were extended and I'm currently preparing another update. I'm letting you know during next week (you are in my calendar now to avoid forgetting again :-) )
@filzek - sorry to hear about your troubles. Please, open the ticket and share the details of your test case, we shall try to find a solution for you.
Regarding FatFS corruption: it mostly happens on power failures during f_sync() calls, as that's where the file system usually gets updated. esp_jrnl significantly mitigates the problem but it cannot guarantee it never happen s again (specifically during unstable powering conditions, which can cause corruption at physical layer of the flash memory. Like reading flipped bits that are actually stored correctly etc)

We create a recovery service upon files or partition crashes, so, we have made a workaround for each file and partition.
Also we have create a routine to update on the fly partition table reallocation and fixes, so we can change partition type and alignment to fix the problems with olders sdk.

Hi. Here goes the update mentioned previously:

the component works fine (based on test.apps results)
currently I'm working on the documentation and examples, the last steps needed before publishing
I'll post you here when the whole package is ready, which shouldn't take long

Hi again. Public version of FatFS journaling component available at https://components.espressif.com/components/espressif/esp_jrnl/versions/1.0.1, including example and all the standard links (repo, issues, dependencies).
Any sort of testing, comments or reviews are very appreciated.
Happy New Year 2025


copr: tikv panic when executes aggr func

Bug Report

What version of TiKV are you using?

[2020-08-21T04:00:34.961Z] [2020/08/21 11:55:03.077 +08:00] [INFO] [lib.rs:95] ["Git Commit Hash:   56961321cac9202ea2ba42da825e99ed56b82a57"]
[2020-08-21T04:00:34.961Z] [2020/08/21 11:55:03.077 +08:00] [INFO] [lib.rs:95] ["Git Commit Branch: master"]
[2020-08-21T04:00:34.961Z] [2020/08/21 11:55:03.077 +08:00] [INFO] [lib.rs:95] ["UTC Build Time:    2020-08-20 02:13:02"]

What operating system and CPU are you using?

Steps to reproduce

when run  lightning integration test, tikv panic in executing query SELECT count(i), sum(i) FROM cpch_tsr.tbl;
What did you expect?
What did happened?
tikv panic with:
[2020-08-21T04:00:35.067Z] [2020/08/21 11:59:47.714 +08:00] [FATAL] [lib.rs:483] ["construct identical logical_rows larger than batch size"] [backtrace="stack backtrace:
   0: tikv_util::set_panic_hook::{{closure}}
             at components/tikv_util/src/lib.rs:482
   1: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:524
   2: std::panicking::begin_panic
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libstd/panicking.rs:450
   3: <tidb_query_vec_executors::simple_aggr_executor::SimpleAggregationImpl as tidb_query_vec_executors::util::aggr_executor::AggregationExecutorImpl<Src>>::process_batch_input
             at components/tidb_query_datatype/src/codec/data_type/logical_rows.rs:52
      tidb_query_vec_executors::util::aggr_executor::AggregationExecutor<Src,I>::handle_next_batch
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/components/tidb_query_vec_executors/src/util/aggr_executor.rs:205
      <tidb_query_vec_executors::util::aggr_executor::AggregationExecutor<Src,I> as tidb_query_vec_executors::interface::BatchExecutor>::next_batch
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/components/tidb_query_vec_executors/src/util/aggr_executor.rs:282
      <tidb_query_vec_executors::simple_aggr_executor::BatchSimpleAggregationExecutor<Src> as tidb_query_vec_executors::interface::BatchExecutor>::next_batch
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/components/tidb_query_vec_executors/src/simple_aggr_executor.rs:35
      <tidb_query_common::execute_stats::WithSummaryCollector<C,T> as tidb_query_vec_executors::interface::BatchExecutor>::next_batch
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/components/tidb_query_vec_executors/src/interface.rs:108\n   4: <alloc::boxed::Box<T> as tidb_query_vec_executors::interface::BatchExecutor>::next_batch
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/components/tidb_query_vec_executors/src/interface.rs:77\n      tidb_query_vec_executors::runner::BatchExecutorsRunner<SS>::internal_handle_request
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/components/tidb_query_vec_executors/src/runner.rs:497
   5: tidb_query_vec_executors::runner::BatchExecutorsRunner<SS>::handle_request::{{closure}}
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/components/tidb_query_vec_executors/src/runner.rs:382\n      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libcore/future/mod.rs:74
      <tikv::coprocessor::dag::BatchDAGHandler as tikv::coprocessor::RequestHandler>::handle_request::__handle_request::{{closure}}
             at src/coprocessor/dag/mod.rs:152
      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libcore/future/mod.rs:74
      <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libcore/future/future.rs:119
      <minitrace::future::TraceWrapped<T> as core::future::future::Future>::poll
             at /rust/git/checkouts/minitrace-rust-4a91d55623f07cfc/de69110/src/future.rs:107
   6: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libcore/future/future.rs:119
      <minitrace::future::TraceWrapped<T> as core::future::future::Future>::poll
             at /rust/git/checkouts/minitrace-rust-4a91d55623f07cfc/de69110/src/future.rs:107
      <tikv::coprocessor::interceptors::tracker::Tracker<F> as core::future::future::Future>::poll
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/src/coprocessor/interceptors/tracker.rs:45
   7: <tikv::coprocessor::interceptors::concurrency_limiter::ConcurrencyLimiter<PF,F> as core::future::future::Future>::poll
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/src/coprocessor/interceptors/concurrency_limiter.rs:101
      tikv::coprocessor::endpoint::Endpoint<E>::handle_unary_request_impl::{{closure}}
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/src/coprocessor/endpoint.rs:402
      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libcore/future/mod.rs:74
      <minitrace::future::TraceSpawned<T> as core::future::future::Future>::poll
             at /rust/git/checkouts/minitrace-rust-4a91d55623f07cfc/de69110/src/future.rs:77
      tikv::read_pool::ReadPoolHandle::spawn_handle::{{closure}}
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/src/read_pool.rs:139
      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libcore/future/mod.rs:74
   8: tikv::read_pool::ReadPoolHandle::spawn::{{closure}}
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/src/read_pool.rs:115
      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libcore/future/mod.rs:74
   9: <yatp::task::future::Runner as yatp::pool::runner::Runner>::handle
             at /rust/git/checkouts/yatp-e704b73c3ee279b6/3894a86/src/task/future.rs:254
  10: <tikv::read_pool::ReadPoolRunner<E,R> as yatp::pool::runner::Runner>::handle
             at /home/jenkins/agent/workspace/build_tikv_multi_branch_master/tikv/src/read_pool.rs:169
      <yatp::queue::multilevel::MultilevelRunner<R> as yatp::pool::runner::Runner>::handle
             at /rust/git/checkouts/yatp-e704b73c3ee279b6/3894a86/src/queue/multilevel.rs:245
      yatp::pool::worker::WorkerThread<T,R>::run
             at /rust/git/checkouts/yatp-e704b73c3ee279b6/3894a86/src/pool/worker.rs:48
      yatp::pool::builder::LazyBuilder<T>::build::{{closure}}
             at /rust/git/checkouts/yatp-e704b73c3ee279b6/3894a86/src/pool/builder.rs:91
      std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libstd/sys_common/backtrace.rs:130
  11: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libstd/thread/mod.rs:475
      <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libstd/panic.rs:318
      std::panicking::try::do_call
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libstd/panicking.rs:342
      std::panicking::try
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libstd/panicking.rs:319
      std::panic::catch_unwind
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libstd/panic.rs:394
      std::thread::Builder::spawn_unchecked::{{closure}}
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libstd/thread/mod.rs:474
      core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/libcore/ops/function.rs:233
  12: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/liballoc/boxed.rs:1078
      <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
             at /rustc/16957bd4d3a5377263f76ed74c572aad8e4b7e59/src/liballoc/boxed.rs:1078
      std::sys::unix::thread::Thread::new::thread_start
             at src/libstd/sys/unix/thread.rs:87\n  13: start_thread
  14: __clone\n"] [location=components/tidb_query_datatype/src/codec/data_type/logical_rows.rs:52] [thread_name=unified-read-pool-4]

I think the related pr is #8397
See the detail logs at:  https://internal.pingcap.net/idc-jenkins/blue/organizations/jenkins/lightning_ghpr_test/detail/lightning_ghpr_test/1368/pipeline

@skyzh  @breeswish  PTAL

When I was making that PR, I wondered how TiKV ensures identical logical_rows could be less than BATCH_SIZE. After I added that check, I observed some failure in integration test. It seems that I didn't fix all points that may cause this issue.
I suggest reverting that PR and investigate further into this issue before adding this check.

Anyway, the root cause seems to be logical_rows could exceed IDENTICAL_LOGICAL_ROWS: [usize; BATCH_MAX_SIZE], and this issue exists before I made that PR where I explicitly checked this condition.

I've temporarily removed fast-path LogicalRows in #8482. Would you please have a try? If it stills panics, then this issue should have existed long ago.

I've temporarily removed fast-path LogicalRows in #8482. Would you please have a try? If it still panics, then this issue should have existed long ago. (And we could revert that PR to make it work as before)

Yes, after this change, the tests can run successfully, thank you.


Issue genarating fake data for employee table

As I have set the configuration of the Jupyter Notebook to take the schema definition YAML file to generate only the person fake data table, then the CSV file is successfully created.

person_2023-12-14_13-17-54-039878.csv
However, once I include in the YAML file the definition schema to generate both tables  person  and  employee, I get the following error:
AttributeError: 'Generator' object has no attribute 'school_name'
Find attached screenshots:

Hi, thank you for trying Table Faker.
This is an expected case. school_name is in another custom faker provider; you should add it like below.
With this example, I want to show how you can also use custom faker providers.
You can delete the school column and try again if you want.
You can use a custom faker provider
from faker_education import SchoolProvider
tablefaker.to_csv("test_table.yaml", "./target_folder", fake_provider=SchoolProvider)
multiple custom provider in list also works

I should fail for level column as well because it uses a function called get_level.
you should provide this function as well like below.
from tablefaker import tablefaker
from faker import Faker

fake = Faker()
def get_level():
    return f"level {fake.random_int(1, 5)}"

tablefaker.to_csv("test_table.yaml", "./target_folder", custom_function=get_level)

Great Necati, thanks for your quick response. I am gonna give a second try by adding those parameters, and also test another feature. It would be great to add those test cases to the documentation.
Keep in touch!


feedback to add more examples in the doc

Missing example how to configure the proxy on azure arc machines
Add in this doc the module installation  Install-Module -Name Az.ConnectedMachine

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

ID: bd3dca2f-629d-36e9-f0f0-8c7e64cc04ab
Version Independent ID: f40ee991-6cb8-1eee-9a35-ebc5833d7c7f
Content: Azure Monitor agent overview - Azure Monitor
Content Source: articles/azure-monitor/agents/azure-monitor-agent-overview.md
Service: azure-monitor
Sub-service: agents
GitHub Login: @bwren
Microsoft Alias: bwren

@asilvanyfiap Thank you for your feedback , assigned the issue to our document author to further review your feedback and see how we can enhance the document.

Creating a work item to add this.
#please-close


Feature labels and annotation values

Extensions for features:

Generate features from annotation values
Custom labels for static user features and generated features from annotations

After the discussion in the Workplace group I will amend this PR with the discussed TaintConfigTemplate approach. Thus not yet ready for review.

The TaintConfigTemplate approach is implemented and the PR is ready for review again.

Thanks for all the useful feedback, will look into this asap!


HIL Issues

A few days ago HIL workflow for ESP32 and ESP32S2 started failing:

ESP32 fails with:
Error: espflash::connection_failed

  × Error while connecting to device
  ╰─▶ Serial port not found
  help: Ensure that the device is connected and your host recognizes the
        serial adapter

ESP32-S2 job doesn't even start and the job times out. I can successfully SSH into it without any trouble.

ESP32 issues resolved after reloading the USBs of the VM. As for ESP32S2, I tried rebooting the VM but doesn't seem to resolve the issue.


No good way to subclass the Django form fields used in wagtail Panels.

Hi, I wrote support thread for this on the google group but haven't gotten a reply there yet and rooting around in the code isn't providing me with a tidy way of doing this.
The actual task is quite simple, I want to override the ModelChoiceField that is used in the form for an InlinePanel on my page. The issue is that exposing the form and modifying it appears to be convoluted at best unless I'm missing an easier way to do it. Are there any plans to allow for easier (or indeed, possible) modification of the forms generated automatically for panels?

Have just had a dig into this, and I can't see a good way to do it either. We hit the dead end at form_for_model https://github.com/torchbox/wagtail/blob/4065bece78c68292b99bf50b2471405f5c2a527c/wagtail/wagtailadmin/edit_handlers.py#L94, which doesn't allow overriding field classes, only widgets. Django 1.9 added a field_classes parameter to modelform_factory (which is what form_for_model is based on) presumably for this reason - we could do the same for our version (assuming we can't find a more developer-friendly solution, that is).
As a workaround, I guess you could override the widget class to make the call to obj.get_full_name itself when generating the label text, rather than going through the field's label_from_instance...

Reviewed today – this might now be possible. Could someone review and report back? Assigning to @gasman

The way we'd like this to work would be to define a custom form class with the appropriate form fields defined on it, and set that as the base_form_class on the model. This doesn't currently work for InlinePanels, but the discussion on #3175 suggests that it is possible with some fiddly subclassing of InlinePanel. As such, I'll close this as a duplicate of #3175.


can we set Number of users returned per page?

I used followed get my following users , default got 50 users per page.
handler.users.followed(byUser: .me,
with: .init(startingAt: nextMaxId, maxPagesToLoad:  1),
can we set Number of users returned per page?
such as  return  100 or  200 users per page!

Hey @tomtao88888,
No you cannot, unfortunately.
The endpoint doesn't seem to allow for a "page length" parameter so you cannot find it here either.

Hey @tomtao88888,
No you cannot, unfortunately.
The endpoint doesn't seem to allow for a "page length" parameter so you cannot find it here either.


Installing dependencies fails

oracle-java7-installer no longer works, this is causing many of the dependency installs to fail.

Can you update this with:
which install instructions did you follow?
which ubuntu version do you use (14.04, 15.04, 16.04)?
which autoware version (e.g. master/develop branch)?
which ROS version?
I've got ubuntu 14.04, master branch and ROS indigo and don't even have oracle-java7-installer deb.

I followed the install instructions from your manual.
14.04
master
Jade

thx @keenan-burnett. we need to start releasing autoware on http://wiki.ros.org/build.ros.org to avoid regressions like this. I will talk to @yk-fujii about this in the next days.

Obsolete? Please try one of the following procedure.
https://github.com/CPFL/Autoware/wiki/Docker
https://github.com/CPFL/Autoware/wiki/Source-Build


Mentioned service path isn't the same as Orion's

Proposed changes
Mentioned service path isn't the same as Orion's. Fixed #758.
Also, updated Orion's link for multi-tenancy and fiware-correlator.
Types of changes
What types of changes does your code introduce to the project?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Maintenance (update of libraries or other dependences)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have run all the existing tests locally (not just those related to my feature) and there are no errors
[x] After the last push to the PR branch, I have run the lint script locally and there are no changes to the code base
[x] I have updated the RELEASE NOTES
[x] I have added necessary documentation (if appropriate)
[x] Any dependent changes have been merged and published in downstream modules

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

@pooja1pathak that's great, thanks so much!


Fix/knex signing keys length

Hey, I just made a Pull Request!
Since now developers of backstage can customize the signing algorithm for the IdentityClient and the TokenFactory, there can be cases in which the key field of the signing_keys table does not fit the size of the generated key.
This PR sets the key field size to 512 so that it can fit all the algorithms supported by the jose library.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

No clue why github pipeline is failing this time.
Error is:
Error: Internal Server Error occurred while resolving "actions/checkout@v3". Internal Server Error occurred while resolving "actions/github-script@v6"

@manuelscurti Not to be a rompiballe too much - do you think it would make sense to ensure that the well known route returns the chosen algorithm as the supported one? Technically that endpoint could have an external entity expect the token to be signed with one of the reported algorithms - and currently it's statically defined as RS256. What do you think?

@fabbazon Yep I think that totally needs a fix! Separate PR though


Multiple async loading issue

Options are not loaded if multiple select, $select.selected becomes
rewritten to null

Closing due to age - if this is still an issue, feel free to open a new PR against current master.


Pregame Settings Only Works on first use and can only be reaccessed when the program is ran again.

#303


Script opens but only to a blank line number.

I installed the  VSCode addon for unity into a project that I already was working on. That ended up being a disaster. After 10 days and using a blank text project . I figured out that in unity's preferences vscode tab where you have to put in the bath to vscode you put in the path to code.cmd rather then the exe. Anyway.
I can finally see a a script's text in the inspector now.( that was not happening before) but when I click the open button for the script VSCode come up with a two panes. One list the project's name the other list the script's name but only have a line #1 and no script code. I can see the code in the inspector panel though. Can someone tell me what is going wrong>

Hello. Can you please provide some screenshots? Did you tried the latest version of the plugin?

i downloaded the zip directly from here at github 3 weeks ago.
Here are some screen shots: They are
#1 a screen shot of the vscode plugin in the unity editor
#2 a script that I got off the unity forum just to test out editing with vscode and the plugin. NOT something I am actually going to run or use in a project right now. Shown in the unity inspector..
#3 The unity editor perferences.
#4 the VSCode plugin 'tab' of the unity editor preferences
#5  What pops up when I click the open button in the inspector on that script. As you can see it opens two window on with the name of the project and one with the name of the script but with no code in it.
#6 A VScode window that comes up AFTER I shut unity down and double click the vscode icon on my desktop and go to the folder and open that same script within vscode. Now all the code in the script  shows up and i can edit it if I want.

These screen shots are displayed in the wrong order but this sites software. Not the order I dragged and dropped them in. Sorry.

No prob.
I guess you're on Windows (the "C:..." path in the Preferences tab and the CRLF for line endings in VSCode). A fix to path issues was merged recently, a bug which replaced spaces with "\ " on a non-unix environment, but on your first screenshot I see "[...]Blender\ Files/[...]" so this screenshot is from before this patch. Escaping spaces on a Windows machine may cause the correct folder not being found and vscode displaying a empty new file, so that could be your problem. Could you please try it with the latest plugin?

I just download the zip from this site. The site says the plugin was updated 10 days ago so that would be June 2nd 2106. I have copied and pasted the plugins folder over top of the present one in that same project. I will get back to you in about 10 minutes to see if this solves the problem.

So, any results so far?

As I said I re dowloaded it from the get hub page and installed it and get the same resurl

That's weird. Based on the #1 screenshot, looks like the problem I said. Could you please try using it on a brand new project (the project's path should not have spaces)? It will take no longer than 2 minutes. Thanks in advance.

Ok spaces in the path seem to be the issue. I just made the exact same type of project but instead put in on my desktop rather in the C:\Users\DD\Desktop\Blender Files\Unity Sites\vscodetest\  directory.. Same exact type of test project is not in C:\Users\DD\Desktop\vscodetest\ directory and that script opens in vsccode with no problems.  Thanks. But this might be something you want to look into. Obviouly the plugin is having problems with spaces in a pathname at least on windows.

No problem, man, I thought this bug was fixed but seems not. Anyway, I'll see what's wrong, good luck with your project. See 'ya

I fixed this issue at least for osx and vscode 1.2.1 #109

Looking on the source code, there's no call for EscapePathSpaces on Windows, so it couldn't happen, which is kinda weird. Since this specific problem was fixed on #105 , this issue can be closed, @reapazor .

mseqs  said: 'Looking on the source code, there's no call for EscapePathSpaces on Windows, so it couldn't happen, which is kinda weird. Since this specific problem was fixed on #105 , this issue can be closed, @reapazor "
Sorry to show my ignorance But i did not understand what you said there mseqs . For right now i just moved the Unity Sites folder to my desktop and renamed it to UnitySites so there is no spaces in the path name. That seems to solved my problem for now. I just do not like it when things do not work as they are supposed to. Even though I found a workaround is this problem still being worked on so that when windows people that download the plugin directly from here on gethub rather then using a cvs program do not run into it?

EscapePathSpaces changes " " to "\ ", which is your problem in the first screenshot (see the path), but there is no call to this function if it's on Windows (actually, this function is not needed anywhere). Your problem was only solved when you changed the project to a path with no spaces, even the plugin not escaping the spaces (in theory), which is weird.
I made a pull request which removed this function for all platforms, but it was not merged yet (don't know why, no problems/errors appeared with the changes). If this problem persists, we need to find where the bug is, but I don't have a Windows machine for further testing.
The plugin (as far as I know) have a auto-update feature, so you can update it without the need to download it from github. The plugin is available and is updated from github, so downloading it from here (or updating it from unity's editor) makes no difference at all.


/indexes/movies/tasks and /indexes/movies/tasks/:uid endpoints result in a 404

Describe the bug
The global /tasks endpoint gives results properly.
curl \
  -X GET 'http://localhost:7700/tasks'

{"results":[{"uid":0,"indexUid":"movies","status":"succeeded","type":"documentAdditionOrUpdate","details":{"r
eceivedDocuments":19547,"indexedDocuments":19547},"duration":"PT205.813694S","enqueuedAt":"2022-06-03T10:08:56.2076732Z","startedAt":"2022-06-03T10:08:56.
2175593Z","finishedAt":"2022-06-03T10:12:22.0312533Z"}],"limit":20,"from":2,"next":null}

But /idexes/movies/tasks/:uid and /indexes/movies/tasks give 404
curl \
  -X GET 'http://localhost:7700/indexes/movies/tasks'
curl \
  -X GET 'http://localhost:7700/indexes/movies/tasks/0'

[2022-06-03T11:16:10Z INFO  actix_web::middleware::logger] <IP_ADDRESS> "GET /indexes/movies/tasks HTTP/1.1" 404 0 "-" "curl/7.79.1" 0.000116
[2022-06-03T11:19:59Z INFO  actix_web::middleware::logger] <IP_ADDRESS> "GET /indexes/movies/tasks/0 HTTP/1.1" 404 0 "-" "curl/7.79.1" 0.000103

I do have movies in indexes.
Here is the /indexes result
{"results":[{"uid":"movies","createdAt":"2022-06-03T10:08:56.2728929Z","updatedAt":"2022-06-03T11:02:20.2181589Z","primaryKey":"id"}],"offset":0,"limit":20,"total":1}

Expected behavior
They should not be 404 or the documentation needs to be updated if they are moved to somewhere else.
https://docs.meilisearch.com/reference/api/tasks.html#get-all-tasks-by-index
Meilisearch version:
on latest commit on main branch
Database path:          "./data.ms"
Server listening on:    "http://<IP_ADDRESS>:7700"
Environment:            "development"
Commit SHA:             "b83455f345cc42d0fac579daebb25e4783945344"
Commit date:            "2022-06-02T15:01:43Z"
Package version:        "0.27.1"

Additional context

I am on the main branch, not pinned to any version
Not using any master key

Windows 10
Edition	Windows 10 Home Single Language
Version	21H1
Installed on	07-08-2020
OS build	19043.1706
Experience	Windows Feature Experience Pack 120.2212.4170.0

Processor	Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz   1.99 GHz
Installed RAM	8.00 GB (7.84 GB usable)
System type	64-bit operating system, x64-based processor

Hey @phanirithvij,
Indeed, if you are on the main branch of the repository, we changed the API to get the tasks, all the tasks are now accessible from one single route, the /tasks one.
You can filter by indexUid, status, and type. This route also support seek-based pagination.

So the documentation is yet to be updated? got it.

Hello @phanirithvij
The current state of the main branch has not been officially released, so the documentation is not yet up to date.
These changes will be documented when version v0.28.0 is released.
In the meantime, you can look at the specifications for the endpoint tasks to find the changes there:
https://github.com/meilisearch/specifications/pull/115
https://github.com/meilisearch/specifications/pull/116

Hello @phanirithvij
I close this issue since it is related to v0.28.0 which has not been released yet.
I recommend following the documentation (Source tab) that indicates to choose a specific tag when compiling from the source.
Indeed, main is our development branch and should not be used for production, only for the maintainers.
Have a nice day! 👋


ECIES with AES CBC not possible to decrypt without giving public known nonce

Hi there,
my team and I have a problem with the upgrade from BC V.1.54 to 1.61. We used the ECIES/AES CBC algorithm to encrypt messages. Unfortunately, we figured out that from V. 1.56 on, an additional public parameter has to be specified. During the encryption, this parameter is apparently generated automatically, but then this value is apparently needed for decryption as well.
We are not really sureif it is correct to handle a second public element for decrypting an ECIES/AES CBC encrypted message. Are we right in the assumption that we now have to send this random parameter as well?
Was it really your wish to have a second public parameter that has to be carried for decryption?
We would like to get a better description of the implementation idea with a concrete application example.
According to the current state I am forced to create this vector parameter on my own, to encrypt my object with it, to encrypt this parameter for security reasons maybe even additionally, than to send it to Instance B, so that the decryption can be done there correctly.
From my point of view, the necessary transfer of a public parameter, and this is the main reason why I open this ticket, does not give me a greater security factor, nor is it more user-friendly to perform encryption and decryption. Previously it was used as well, and it was possible to decrypt the message without having to specify this parameter for decryption.
To sum it all up.

We would be happy to get a better use case as an example than the tests I can see.
Maybe with the reason and an statement, why it is only possible to use the algorithm with this additional parameter.
If it is really wanted to force the user to carry another public parameter beside the key for each encryption process.

In addition, we have written a small console program which has a Maven dependency of Bouncy Castle V 1.55 and 1.56. In both cases, I would have expected encryption and decryption to work like expected without any errors occurring.
Test-Projekt-BC-Version155.zip
Test-Projekt-BC-Version156.zip

The no-nonce version was removed as it was found to be vulnerable to a padding oracle attack. This is mentioned in the releasenotes for 1.56. Please do not call Spi classes directly for production applications,  they're internal.
Yes, you need to send the nonce to the decrypting party. No, it does not need to be encrypted, but yes it should be random.

Thank you very much for the quick answer. I thought that would be the answer. However, I always find questions better than assumptions. Thanks for the information regarding the spi, I wrote it this way to make it more precise.


Ignore null value and empty collection

This PR adds two configuration variables to the ItemNormalizer to ignore null value and empty collection.
The default behavior is unchanged as these configurations are set to false by default.

Wouldn't be more flexible to pass such parameters in the $context parameter? As a side bonus, the behavior become configurable on a per-resource basis.

Btw, what's the use case of doing so?

What do you mean by ignoring? Completely exclude the property from the JSON? If so maybe it's a little bit too specific, having an API for which the properties of a resource differs from one to another seems very... unsettling. It's definitely more troublesome to handle on the client side and the only advantage I see would be to have less properties in the response, but I don't think it will have a big impact in terms of performance.

For what it is worth: JMSSerializer and FOSRestBundle expose a configuration option to choose if properties containing null values should be serialized, and is also part of the serialization context...
But I agree that the use case is certainly very specific.


Pre-launch Stability Issue

here are some bugs (issues) I found whenever I upload my app for release

Landroid/util/LongArray;->get(I)J
Landroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J
Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray;
Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J

my flutter doctor -v looks like this:
[√] Flutter (Channel stable, 2.2.1, on Microsoft Windows [Version 10.0.17763.864], locale en-US)
• Flutter version 2.2.1 at C:\project\flutter
• Framework revision 02c026b03c (4 weeks ago), 2021-05-27 12:24:44 -0700
• Engine revision 0fdb562ac8
• Dart version 2.13.1
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at C:\Users\HP\AppData\Local\Android\sdk
• Platform android-30, build-tools 29.0.2
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] IntelliJ IDEA Community Edition (version 2019.3)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.4
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
[√] VS Code (version 1.57.1)
• VS Code at C:\Users\HP\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.23.0
[√] Connected device (2 available)
• Infinix X625B (mobile) • 043122594G109121 • android-arm    • Android 9 (API 28)
• Chrome (web)           • chrome           • web-javascript • Google Chrome 91.0.4472.114
• No issues found!
and i have been advised not to publish to production unless these issues are resolved

@exampaqs
Check this similar issue and corresponding issue comments indicating this isn't a flutter specific issue.
https://github.com/flutter/flutter/issues/36915#issuecomment-525668810
Closing this based on this issue comment, https://github.com/flutter/flutter/issues/36915#issuecomment-642369537


Error : could not find or load main class org.synogen.ftlautosave.app

Hello, I also had this problem. It is caused by the newer versions of Java not having the JavaFX libraries installed by default. You can manually install JavaFX using the following tutorial https://openjfx.io/openjfx-docs/#install-javafx. After you follow those steps, make sure you run the jar file using the --add-modules javafx.controls,javafx.fxml and --module-path flags they show on the final code section in the tutorial. Hopefully this is helpful in case anyone else also has this problem.


mac ,The following build commands failed:

hujiachun:PALifeApp hujiachun684$ infer -- xcodebuild -target PALifeApp -configuration Debug -sdk iphonesimulator
Build settings from command line:
CC = /usr/local/Cellar/infer/0.8.0/libexec/infer/lib/python/inferlib/../../../lib/xcode_wrappers/clang
CPLUSPLUS = /usr/local/Cellar/infer/0.8.0/libexec/infer/lib/python/inferlib/../../../lib/xcode_wrappers/clang++
GCC_PRECOMPILE_PREFIX_HEADER = NO
SDKROOT = iphonesimulator9.3
=== BUILD TARGET PALifeApp OF PROJECT PALifeApp WITH CONFIGURATION Debug ===
Check dependencies
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=i386, VALID_ARCHS=armv7 armv7s arm64).
Warning: Multiple build commands for output file /Users/hujiachun684/Downloads/infer-osx-v0.8.1/examples/PALifeAppIos/PALifeApp/build/Debug-iphonesimulator/PALifeApp.app/201保单列表_03<EMAIL_ADDRESS>** BUILD FAILED **
The following build commands failed:
Check dependencies
(1 failure)
Traceback (most recent call last):
File "/usr/local/bin/infer", line 178, in
main()
File "/usr/local/bin/infer", line 142, in main
capture_exitcode = imported_module.gen_instance(args, cmd).capture()
File "/usr/local/Cellar/infer/0.8.0/libexec/infer/lib/python/inferlib/capture/xcodebuild.py", line 78, in capture
utils.stdout(exc.output)
File "/usr/local/Cellar/infer/0.8.0/libexec/infer/lib/python/inferlib/utils.py", line 298, in stdout
print(encode(s, errors=errors))
File "/usr/local/Cellar/infer/0.8.0/libexec/infer/lib/python/inferlib/utils.py", line 294, in encode
return u.encode(encoding=config.LOCALE, errors=errors)
AttributeError: 'NoneType' object has no attribute 'encode'

Hi @hujiachun, sorry for the delay in replying. This should be fixed in the latest version, can you please give it a try? Please re-open if there is still an issue.


Add elasticsearch-rest-client native support

Noticed basic auth and multisearch seems uncovered. Not sure it's worth adding native test coverge for this in anoher pr.

That's the 3.22.x documentation for elasticsearch-rest. elasticsearch-rest-client is slightly different. There is no multisearch option.
All of the routes under test use authentication, so that part is covered.

Noticed basic auth and multisearch seems uncovered. Not sure it's worth adding native test coverge for this in anoher pr.

That's the 3.22.x documentation for elasticsearch-rest. elasticsearch-rest-client is slightly different. There is no multisearch option.
All of the routes under test use authentication, so that part is covered.

Ok, it's probably the low level rest client. And so the coverage is good. Thanks for explanation @jamesnetherton .


Add GitHub actions for scrcpy server

This PR adds a GitHub action which:

Builds the latest version of the scrcpy server, using a Circle CI container
Publishes that as a build artifact

This can be useful as CI (making sure the server compiles) and for folks that want to build the scrcpy server using CI infrastructure.

The action won't run because it's defined in a PR, but you can see it in action here: https://github.com/qmfrederik/scrcpy/actions/runs/4097118741

I think there should also be a task to run unit tests.
Maybe cache ~/.gradle to speed up subsequent runs. Found gradle has an official GitHub action for that: https://github.com/gradle/gradle-build-action#caching

Implemented by #5306 (without docker).


Hangs when connection lost

It seems that if the internet part of the connection is broken while playing back, that the device no longer appears as a connect device and is stuck hanging. The audio device is also stuck in an in-use state while there is no audio actually being played back.
`raspotify.service - Raspotify
Loaded: loaded (/lib/systemd/system/raspotify.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-01-31 09:57:53 EST; 1 months 7 days ago
Process: 632 ExecStartPre=/bin/mkdir -m 0755 -p /var/cache/raspotify (code=exited, status=0/SUCCESS)
Process: 633 ExecStartPre=/bin/chown raspotify:raspotify /var/cache/raspotify (code=exited, status=0/SUCCESS)
Main PID: 634 (librespot)
Tasks: 3 (limit: 3839)
CGroup: /system.slice/raspotify.service
└─634 /usr/bin/librespot --name CASPER --device-type speaker --backend alsa --bitrate 320 --disable-audio-cache --volume-ctrl=linear --initial-volume=65 --mixer=alsa --mixer-linear-volume --
Mar 09 14:42:12 GHOSTM3U librespot[634]: [2021-03-09T19:42:12Z INFO  librespot_playback::player] Loading  with Spotify URI spotify:track:1FUPzWVtZDyrHEDHZH6OaZ
Mar 09 14:42:12 GHOSTM3U librespot[634]: [2021-03-09T19:42:12Z INFO  librespot_playback::player]  (271586 ms) loaded
Mar 09 14:46:43 GHOSTM3U librespot[634]: [2021-03-09T19:46:43Z INFO  librespot_playback::player] Loading  with Spotify URI spotify:track:2P7QCrj7UvspZA78ySXB2f
Mar 09 14:46:43 GHOSTM3U librespot[634]: [2021-03-09T19:46:43Z INFO  librespot_playback::player]  (332933 ms) loaded
Mar 09 14:52:16 GHOSTM3U librespot[634]: [2021-03-09T19:52:16Z INFO  librespot_playback::player] Loading  with Spotify URI spotify:track:5ecg3Tj9W0fXyEoAbGHfgZ
Mar 09 14:52:16 GHOSTM3U librespot[634]: [2021-03-09T19:52:16Z INFO  librespot_playback::player]  (249066 ms) loaded
Mar 09 14:56:30 GHOSTM3U librespot[634]: [2021-03-09T19:56:30Z INFO  librespot_playback::player] Loading <Luna Nueva (Only a Dream)> with Spotify URI spotify:track:3umZAedKUa42pU1c8ee85N
Mar 09 14:58:51 GHOSTM3U librespot[634]: [2021-03-09T19:58:51Z INFO  librespot_playback::player] <Luna Nueva (Only a Dream)> (270706 ms) loaded
Mar 09 15:15:39 GHOSTM3U librespot[634]: [2021-03-09T20:15:39Z ERROR librespot_core::session] Os { code: 110, kind: TimedOut, message: "Connection timed out" }
Mar 09 15:15:39 GHOSTM3U librespot[634]: [2021-03-09T20:15:39Z WARN  librespot] Spirc shut down unexpectedly
`

The new release is live. Please update and see if that solves your issue.

This is an upstream issue. If after updating to the latest version of Raspotify the issue persists please file a bug with librespot.


Remove links to manage.iis.net

manage.iis.net has been deprecated removing links to it

Docs Build status updates of commit f4a09f4:
:warning: Validation status: warnings

File
Status
Preview URL
Details

IIS-Administration/configuration/appsettings.json.md
:warning:Warning
View
Details

IIS-Administration/getting-started.md
:warning:Warning
View
Details

IIS-Administration/index.md
:warning:Warning
View
Details

IIS-Administration/configuration/appsettings.json.md

Line 2, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

IIS-Administration/getting-started.md

Line 21, Column 86: [Warning: insecure-link - See documentation] Link 'http://go.microsoft.com/fwlink/?LinkId=829373' is insecure. Links to Microsoft sites must use 'https' instead of 'http'.

IIS-Administration/index.md

Line 2, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 531f2a9:
:warning: Validation status: warnings

File
Status
Preview URL
Details

IIS-Administration/configuration/appsettings.json.md
:warning:Warning
View
Details

IIS-Administration/getting-started.md
:warning:Warning
View
Details

IIS-Administration/index.md
:warning:Warning
View
Details

IIS-Administration/configuration/appsettings.json.md

Line 2, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

IIS-Administration/getting-started.md

Line 21, Column 86: [Warning: insecure-link - See documentation] Link 'http://go.microsoft.com/fwlink/?LinkId=829373' is insecure. Links to Microsoft sites must use 'https' instead of 'http'.

IIS-Administration/index.md

Line 2, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 0f0bd62:
:warning: Validation status: warnings

File
Status
Preview URL
Details

IIS-Administration/configuration/appsettings.json.md
:warning:Warning
View
Details

IIS-Administration/getting-started.md
:warning:Warning
View
Details

IIS-Administration/index.md
:warning:Warning
View
Details

IIS-Administration/configuration/appsettings.json.md

Line 2, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

IIS-Administration/getting-started.md

Line 21, Column 86: [Warning: insecure-link - See documentation] Link 'http://go.microsoft.com/fwlink/?LinkId=829373' is insecure. Links to Microsoft sites must use 'https' instead of 'http'.

IIS-Administration/index.md

Line 2, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit b6d45d0:
:warning: Validation status: warnings

File
Status
Preview URL
Details

IIS-Administration/configuration/appsettings.json.md
:warning:Warning
View
Details

IIS-Administration/index.md
:warning:Warning
View
Details

IIS-Administration/getting-started.md
:white_check_mark:Succeeded
View

IIS-Administration/configuration/appsettings.json.md

Line 2, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

IIS-Administration/index.md

Line 2, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Iqiyi has changed URL

Source information
Iqiyi 1.4.2
Source language
Chinese
Source new URL
https://manhua.iqiyi.com/
Other details
No response
Acknowledgements

[X] I have updated all installed extensions.
[X] I have opened WebView and checked that the source URL has not changed yet.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] I will fill out all of the requested information in this form.

the url  https://www.iqiyi.com/manhua  still work normally

the url https://www.iqiyi.com/manhua still work normally

but extension can't normal work

https://www.iqiyi.com/manhua works fine for me. Please make sure you are using a desktop user agent, not a mobile one.

https://www.iqiyi.com/manhua works fine for me. Please make sure you are using a desktop user agent, not a mobile one.

Does using desktop user agent affect the use of other extensions? Also what desktop user agent do I need to set up? Any recommendations? Thanks!


Fix for #15

This should fix the problem with the values of getMousePos returning negative values for extended displays. Ignore the reverts.
If required see the change in robotjs.cc -> getMousePos Nan function.
Sorry for the messup. New to Git.

No worries! My only complaint is your editor is removing spaces from the end of lines, causing a bunch of unnecessary edits.
Is there anyway you could fix this? You could revert these commits with:
git reset HEAD~1

This will undo the latest commit and keep the changes on disk. Then do a git push --force to rewrite the history.

Also you might want to merge this into the master branch, I'm about to merge windows-2.


TypeError: can't concat str to bytes when amount is 0

Suppose we have output which includes amount 0 eg:
outputs = [('bchtest:qp6lpagexzll90d9cpuk8ukyuxzughsr4upvy465vq', 1000), ('bchtest:qzy7t6pxfqfnad50cxm76dun60qzz5eua57xkqlj07', 0)]

If dest is string there will be a TypeError on the following line:
https://github.com/sporestack/bitcash/blob/master/bitcash/transaction.py#L195
TypeError: can't concat str to bytes.
Please make sure that dest is always bytes eg. by:
dest.encode().
Thank you!

@cyborg0922 @lannocc, with your changes are there any conditons where you can have an unspent output with 0 satoshis?
For regular spending this would be not necessary, is that correct? I think this is more for OP_RETURN type stuff.
Thanks for reporting this. Lots of recent changes I still need to catch up on.

I think I only changed the handling of message (try str.encode() first then just assume it's already bytes) and the size of MESSAGE_LIMIT, but I've done some other hacking on it locally too so I don't quite remember everything I touched. I'll look into it this weekend since I also need to pull down the latest merge.

I'm at work so can't read code but I think what may be going on here is that if you directly create a txn without using sanitize_tx()... then you skip the part that iannoc added and then construct_output_block () throws this error in the op_return section because it's trying to append dest to op_return bytes. Bitcash was designed to only flow through sanitize_tx (). But I think it's an easy fix by just adding a similar encode() step.
I've had this error code before when plugging in messages as strings (by doing all the sanitize tx stuff manually and plugging in outputs as above).

@cyborg0922 yes, I call create_p2pkh_transaction function directly and maybe that's the point. If library is designed in a way that calling sanitize_tx_data is a necessary step then this issue can be closed. Thank you for your help!

@czelusniakdawid I kinda agree that it'd be good if create_p2pkh_transaction worked without error codes aswell. All I meant is that the original creator of "bit" seemingly intended for us to use the Wallet.py functions under the PrivateKey class and PrivateKeyTest class.

e.g. my_key.Create_transaction always runs a sanitize_tx() before it returns create_p2pkh_transaction() as the last step.

Doesn't mean we can't change it or make it better! :)

So if we added an encode step in there; What I am not sure on is what the default behavior should be for when someone places a 0 amount output into construct_output_block() (as in the OP)...
option 1) do we assume that they mean for it to be interpreted as a utf-8 encoded "message" (i.e. with the automatic pushdata op code at the start?) - Probably I would say.
Or instead, would it imply some more "advanced stuff" in which case you'd want it to default to the "custom_pushdata == True" case... lets user specify op_push codes and everything... (but if this were the case, I think they'd already have it packaged as bytes).
These decisions are not up to me though. Just spit-balling.