Vercel deployment files with version 2.20.1 because of the size of query-engine-rhel-openssl-1.0.x has increased

Deploying to vercel with prisma 2.20.1 may result in the following error:
Error: The Serverless Function "" is XX.Xmb which exceeds the maximum size limit of 50mb. Learn More: https://vercel.link/serverless-function-size

To solve it for now you can use prisma 2.19.0 in which the size of query-engine-rhel-openssl-1.0.x is about 25MB whereas the same engine has a size of about 45MB in version 2.20.1.
There is already an issue for this aimed at serverless framework. But others working with Vercel might overlook that one, therefore this separate issue.

Thanks @rubenkaiser, that is indeed true that the binary size increased - but usually this does not pose an actual problem. There are usually solutions to decrease the archive size - but we are not doing a good job at documenting those. We need to get better here. I think your project might be a good example to go through these, as you are having a concrete problem, and figure out what we should put into our documentation (and if possible even into the code so it happens automatically).
Can you tell us a bit more about your project?
How are you packaging your application that the packaged size in total is >50MB?
What do your dependencies (and dev dependencies) look like?

We are using nextjs, not nexus or nexus-plugin-prisma.
As for the "better output". We're not seeing this. I checked the thread and @styxlab is indeed getting more output from Vercel than me. No idea why he's getting more details.
I'm seeing:
2021-05-12T07:05:38.640Z  Traced Next.js server files in: 31.092s
2021-05-12T07:06:04.620Z  Created all serverless functions in: 25.979s

As to his output is more clarifying:
2021-05-11T13:36:45.278Z  Traced Next.js server files in: 2.640s
2021-05-11T13:37:29.021Z  Warning: Max serverless function size of 50 MB compressed or 250 MB uncompressed hit
2021-05-11T13:37:29.022Z  Serverless Function's page: api/core/v1/graphql.js
2021-05-11T13:37:29.026Z  Large Dependencies                  Uncompressed size  Compressed size
2021-05-11T13:37:29.027Z  node_modules/@prisma/engines                   113 MB          39.6 MB
2021-05-11T13:37:29.027Z  node_modules/.prisma/client                   45.4 MB          16.1 MB
2021-05-11T13:37:29.027Z  node_modules/prisma/build                      5.3 MB          1.09 MB
2021-05-11T13:37:29.027Z  node_modules/@prisma/client                   3.93 MB           823 kB
2021-05-11T13:37:29.027Z  node_modules/busboy/deps                       618 kB           196 kB
2021-05-11T13:37:29.027Z  node_modules/micro/node_modules                360 kB           190 kB
2021-05-11T13:37:29.027Z  node_modules/encoding/node_modules             328 kB           179 kB
2021-05-11T13:37:29.027Z  node_modules/lodash/lodash.js                  544 kB          96.4 kB
2021-05-11T13:37:29.027Z
2021-05-11T13:37:29.027Z  All dependencies                               173 MB          59.1 MB
2021-05-11T13:37:29.028Z  Max serverless function size was exceeded for 1 function
2021-05-11T13:37:29.202Z  Created all serverless functions in: 43.924s

In theory that should mean that it could successfully be uploaded and deployed - but of course you also posted the error message above, so this is weird.
Try setting NEXT_DEBUG_FUNCTION_SIZE=1 in your Vercel app. Brand new feature from Vercel to get the same output even on successful deploys - maybe that also unlocks the table for you.

@janpio your suggestion for debugging allowed me to get all the output. I did not find that in the docs. I have contacted the Vercel team a couple of weeks ago about this issue and they only pointed to the function dashboard in Vercel on which you can see the total size (on a succesfull deployment). If they had only sent me NEXT_DEBUG_FUNCTION_SIZE...
I have a monorepo with several workspaces. One of the workspaces contains the Prisma stuff, which is used in the other workspaces. With the debugging enabled you can see that the root contains a node_modules/.prisma folder as well as the individual workspaces.
09:24:43.497 | node_modules/.prisma/client                   45.6 MB          16.1 MB
09:24:43.497 | admin/node_modules/.prisma                    45.2 MB          16.1 MB

Don't know why the workspace itself also contains node_modules when deploying. But adding a simple rm -rf ./node_modules/.prisma did the trick (Think I can also remove the whole folder).
10:01:47.951 | All dependencies                              57.7 MB          19.1 MB

If they had only sent me NEXT_DEBUG_FUNCTION_SIZE...

We paired with Vercel on that only yesterday night - it did not exist before :D Now that you confirm it works for actual users, we can document this in an upcoming "Prisma and Vercel" help thing I will be working on next week.

One of the workspaces contains the Prisma stuff, which is used in the other workspaces. With the debugging enabled you can see that the root contains a node_modules/.prisma folder as well as the individual workspaces.
Don't know why the workspace itself also contains node_modules when deploying.

That is weird, but make sense. Can you maybe quickly create a simple reproduction repository with the minimal setup similar to your project, so we (and Vercel) can reproduce this? Monorepos do funny things sometimes, and as there are so many possible variations we also usually have trouble reproducing and fixing, so this would be a huge help.

But adding a simple rm -rf ./node_modules/.prisma did the trick (Think I can also remove the whole folder).

Just for others reading here, how and where did you add this?

@janpio in that case I spoke to soon.. Still liking prisma and Vercel 😛
In my solution I already had a simple .sh script in which I was adding logging to see what was happening (My version of NEXT_DEBUG_FUNCTION_SIZE).
I adjusted it and added a clean script to my package json (in the deploying app workspace)
"clean": "./prisma-clean.sh",

In the prisma-clean.sh file I only remove some stuff from the deployment that I don't need and that has significant file size.
echo Removing unnecessary prisma files

rm -rf ../node_modules/@prisma/engines
rm -rf ../node_modules/typescript

# remove the local prisma folder
rm -rf ./node_modules/.prisma

(be sure the chmod the file chmod +x prisma-clean.sh)
In the Vercel project settings we override the build command to first generate the prisma stuff in the prisma workspace, and then build the app, after which the cleanup in the app workspace is performed.
npm run generate && npm run build && npm run clean

To be clear the first generate command that builds our prisma in another workspace is performed by going up into the root folder (so we have to enable "Include source files outside of the Root Directory in the Build Step." and have the root directory setup to be the directory/workspace in which the app lives)
"generate": "yarn --cwd ../ prisma:generate"

And in the root folder the package.json has the following script to generate prisma in its own workspace by specifying the schema.
"prisma:generate": "npx prisma generate --schema [prisma-workspace-name]/schema.prisma",

I've just verified the solution in another project of mine. Doing the exact same there also enables me to use the latest prisma version without the size errors. In this project (also workspaces) again two .prisma folders were generated. Removing the one in the deploying workspace makes the size go down enough to deploy.
11:55:18.249 | node_modules/.prisma/client              49.9 MB          16.2 MB
11:55:18.249 | [workspace_name]/node_modules/.prisma      45.2 MB          16.1 MB

I will try to find some time this week to create an example project.

There is still something weird going on here. I have two projects that both have the same setup. The first project was updated with the remove scripts I mentioned and started deploying again.
I wanted to update the second project but forgot the remove script and it instantly deployed without any issues. (also with "prisma": "2.22.1",)
Because of that I decided to checkout the first projects output again and it seems like the lambda limit does not resemble the logs.
Log output:
09:24:43.497 | Large Dependencies                  Uncompressed size  Compressed size
09:24:43.497 | node_modules/.prisma/client                   45.6 MB          16.1 MB
09:24:43.497 | [workspace_name]/node_modules/.prisma                    45.2 MB          16.1 MB
09:24:43.497 | node_modules/highlight.js/lib                 1.41 MB           458 kB
09:24:43.497 | node_modules/@prisma/client                   1.17 MB           243 kB
09:24:43.497 | node_modules/typeorm/driver                    1.6 MB           214 kB
09:24:43.497 | node_modules/encoding/node_modules             328 kB           179 kB
09:24:43.497 | All dependencies                              98.9 MB          34.1 MB

Error:
09:25:13.180 | Error: The Serverless Function "api/auth/[...nextauth]" is 68.01mb which exceeds the maximum size limit of 50mb. Learn More: https://vercel.link/serverless-function-size

How is the 68.01 MB calculated?
My second project, that deploys out of the box now, has a much larger size:
11:55:18.250 | All dependencies                                          140 MB          41.8 MB

I am also confused with that. I got 50.11mb (tiny bit over limit) but the lgos also show a much larget number for All dependencies and 45mb for prisma binary.
Is there a way to delete part of the binary to get it smaller?

Seems like the 60.01mb (in the case for @rubenkaiser) is the compressed size's total
What ended up fixing it for me was enabling napi

@cyrus-za: Using the n-api preview feature is just a workaround and can lead to a lot of unrelated problems - so please make sure you are fine running preview code in your project and environment.
If you open a new issue about your specific project and problem, I am happy to debug it together with you to figure out why Vercel is including file and packages it should not really include. (Note: If you are using nexus-plugin-prisma, then this behavior will only be fixed with the 2.23.0 release which will happen later today. Upgrading your Prisma dependencies to that should make it work again automatically)

Is this still a problem?

@janpio I have exactly the same problem when I'm trying to deploy my next.js application on Vercel. All of my functions exceed size. I have @prisma/clinet in dependencies and prisma in devDependencies and I use correct import in every places
import { TypeModel } from '@prisma/client'

@janpio okay I will do it, thanks!

@janpio Of course it turned out to be my bad :D It was related to binaryTargets. We had a lot of binaryTargets because some of our developers work on M1 and our prisma config looks in this way
binaryTargets = ["native", "debian-openssl-1.1.x", "linux-arm64-openssl-1.1.x"]
Probably the best solution is to set it via the environment variable. Anyway, this was the reason for the package size.

I think we can close this due to inactivity from original author and further followups from others have been solved. Please comment if you still facing this or preferably open a new issue.


disable all scroll and fix width with device width(match_parent)

hi
thanks for this lib
i have two request from you
1-how to disable srcoll? i want all cell in  one screen but cant change cell and header width.
2-Width of header is not equal (cell too) https://pasteboard.co/Hi9vjh8.jpg

Hi @VAHID-ZAHEDI
I don't get what you mean that "Width of the header is not equal (cell too)". In the picture, Column Header width values look like same with the width value of related cell items.

how to disable scroll? I want all cell on one screen but cant change cell and header width.

TableView has no any function to disable it. However, these days, I work on setting column width programmatically. So, you can wait for the next release or find out a way to disable scroll on a RecyclerView.

Hi @VAHID-ZAHEDI
I don't get what you mean that "Width of the header is not equal (cell too)". In the picture, Column Header width values look like same with the width value of related cell items.

how to disable scroll? I want all cell on one screen but cant change cell and header width.

TableView has no any function to disable it. However, these days, I work on setting column width programmatically. So, you can wait for the next release or find out a way to disable scroll on a RecyclerView.

Hey,could you please tell me how to set width dynamically?

Hi use NestedScrollView. Maybe the code below can help you
While i using to table with four header it was not covering the page.I solved this problem following methods.
Optional(I hide the all row items in the table) -
binding.myTableView.setAdapter(mTableAdapter);
binding.myTableView.setRowHeaderWidth(0);
in MyTableViewAdapter:

public MyTableViewAdapter(Context context, int size) { // size :: for dynamic header items
    mContext = context;
    screenWidth = utils.getScreenWidth();
    headerWidth = (int) (screenWidth / size);
}

later i sent header width to Header

public ColumnHeaderViewHolder(TableviewColumnHeaderLayoutBinding binding) {
            super(binding.getRoot());
            this.binding = binding;
        }
        public void setColumnHeaderModel(ColumnHeaderModel key, int pColumnPosition) {
            // Set text data
            binding.columnHeaderTextView.setText(key.getData());
            //   binding.columnHeaderContainer.getLayoutParams().width = LinearLayout.LayoutParams.WRAP_CONTENT;
              i changed this code to this-->
            binding.columnHeaderContainer.getLayoutParams().width = headerWidth;
            binding.columnHeaderTextView.requestLayout();
        }

OK , nice works :)


add readme

Description of changes
Please provide a short description of the change or if the change is sufficiently described in the GitHub issue, provide a link to the issue.
How has this been tested?
Please describe the test strategy you followed. If not tested, please explain why.

[ ] automated unit test
[ ] automated integration test
[ ] manual, exploratory test

In case of manual test, please document the test well including a set of user instructions and prerequisites. Each including an action, it's result, and where appropriate a screenshot.
Checklist before requesting a review

[X] My code is easy to understand
[x] My code follows the coding guidelines of this project
[ ] My code fulfills all acceptance criteria
[ ] The test coverage (line and branch) is reasonably high, especially on Service classes and other classes with complex logic
[x] I have made corresponding changes to the documentation or
the wiki/adr
[ ] I made no breaking changes in the database schema or if so, I will perform a database migration

Checklist for reviewer

The code is easy to understand
The code follows
the coding guidelines of
this project
The code is tested or if not, the reason is documented or discussed
The added and existing tests reasonably cover the code change
The code has no breaking changes in the database schema or if so, the assignee is aware of it and
will perform a database migration

@Keyshal-211 I didn't know that this service already had a description. Honestly, I think the old one is more accurate. I think you should rather update the old description and remove the sentence that it invoked keycloak, because that is outdated


Redshift Spectrum Query

Hi
I am using DBeaver CE verison 7.10 running on Windows
This version DBeaver seems to freeze up while running queries against table in the Redshift Spectrum Schema and llooks like nothing is happening T
I have an older version (6.3.4) of Dbeaver where it works just fine and the results are back in seconds
Not sure what the issue is
Thansk
--Geogie Varughese

System information:

Operating system (distribution) and version
DBeaver version
Additional extensions

Connection specification:

Database name and version
Driver name
Do you use tunnels or proxies (SSH, SOCKS, etc)?

Describe the problem you're observing:
Steps to reproduce, if exist:
Include any warning/errors/backtraces from the logs

Issue closed - no updates for a long time.
If it is still actual - feel free to reopen the ticket


Issue in inferring types in Switch Case for object methods having union mapped types.

Bug Report

🔎 Search Terms
Issue in inferring types in Switch Case for object methods having union mapped types.

🕗 Version & Regression Information
Version - All versions upto v5.0.0-dev.20221116

This is the behavior in every version I tried, and I reviewed the FAQ for entries about mapped types, union types and switch cases.

⏯ Playground Link

Playground link with relevant code
💻 Code

enum Actions{
ACTIONA,
ACTIONB
};

type ActionA = {
  type : Actions.ACTIONA,
  payload: {
    body: string;
    message: object;
  }
}

type ActionB = {
  type : Actions.ACTIONB,
  payload: {
    message: object;
  }
}

type ActionType = ActionA | ActionB;

const actionHandlers: {
  [key in  Actions.ACTIONA | Actions.ACTIONB]: (payload: Extract<ActionType, { type: key }>['payload']) => void
} = {
  [Actions.ACTIONA]: ({body, message}) => console.log(body, message),
  [Actions.ACTIONB]: ({message}) => console.log( message),
}

const performAction = (action: ActionType): void => {
  switch(action.type){
    case Actions.ACTIONA:
    case Actions.ACTIONB:
      return actionHandlers[action.type](action.payload);  //Error here
  }
}

🙁 Actual behavior

Getting this error -
Argument of type '{ body: string; message: object; } | { message: object; }' is not assignable to parameter of type '{ body: string; message: object; }'.
  Property 'body' is missing in type '{ message: object; }' but required in type '{ body: string; message: object; }'.

🙂 Expected behavior

TypeScript compiler should have been able to infer that action.type and action.payload are connected. It looks like it is treating them as independent variables.

Duplicate of #30581, but see https://github.com/microsoft/TypeScript/issues/30581#issuecomment-1205946813


cli_quick_test failing on windows (stack overflow) after sqlparser 0.47.0 upgrade

Describe the bug
After https://github.com/apache/datafusion/pull/10392 the windows CI check fails like this: https://github.com/apache/datafusion/actions/runs/9332719422/job/25688898390?pr=10392
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running tests\cli_integration.rs (target\debug\deps\cli_integration-a8d172188bfbd823.exe)

running 4 tests
test cli_quick_test::case_3_exec_from_files ... ok
test cli_quick_test::case_1_exec_from_commands ... ok
test cli_quick_test::case_2_exec_multiple_statements ... ok
test cli_quick_test::case_4_set_batch_size ... FAILED

failures:

---- cli_quick_test::case_4_set_batch_size stdout ----
thread 'cli_quick_test::case_4_set_batch_size' panicked at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6\library\core\src\ops\function.rs:250:5:
Unexpected stdout, failed var == "[{\"name\":\"datafusion.execution.batch_size\",\"value\":\"1\"}]\n"
├── var: ""
└── var as str:

command=`"D:\\a\\datafusion\\datafusion\\datafusion-cli\\target\\debug\\datafusion-cli.exe" "--command" "show datafusion.execution.batch_size" "--format" "json" "-q" "-b" "1"`
code=-1073741571
stdout=""
stderr=```

thread \'main\' has overflowed its stack

stack backtrace:
0: std::panicking::begin_panic_handler
at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library\std\src\panicking.rs:645
1: core::panicking::panic_fmt
at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library\core\src\panicking.rs:72
2: core::panicking::panic_display<assert_cmd::assert::AssertError>
at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6\library\core\src\panicking.rs:197
3: assert_cmd::assert::impl$35::panic::panic_cold_display<assert_cmd::assert::AssertError>
at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6\library\core\src\panic.rs:99
4: assert_cmd::assert::AssertError::panic<assert_cmd::assert::Assert>
at C:\Users\runneradmin.cargo\registry\src\index.crates.io-6f17d22bba15001f\assert_cmd-2.0.14\src\assert.rs:1033
5: core::ops::function::FnOnce::call_once<assert_cmd::assert::Assert ()(assert_cmd::assert::AssertError),tuple$<assert_cmd::assert::AssertError> >
at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6\library\core\src\ops\function.rs:250
6: core::result::Result::unwrap_or_else<assert_cmd::assert::Assert,assert_cmd::assert::AssertError,assert_cmd::assert::Assert ()(assert_cmd::assert::AssertError)>
at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6\library\core\src\result.rs:1431
7: assert_cmd::assert::Assert::stdout<predicates::ord::EqPredicate<ref$<str$> >,assert_cmd::assert::StrOutputPredicate<predicates::ord::EqPredicate<ref$<str$> > > >
at C:\Users\runneradmin.cargo\registry\src\index.crates.io-6f17d22bba15001f\assert_cmd-2.0.14\src\assert.rs:364
8: cli_integration::cli_quick_test<array$<ref$<str$>,7> >
at .\tests\cli_integration.rs:55
9: cli_integration::cli_quick_test::case_4_set_batch_size
at .\tests\cli_integration.rs:31
10: cli_integration::cli_quick_test::case_4_set_batch_size::closure$0
at .\tests\cli_integration.rs:31
11: core::ops::function::FnOnce::call_once<cli_integration::cli_quick_test::case_4_set_batch_size::closure_env$0,tuple$<> >
at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6\library\core\src\ops\function.rs:250
12: core::ops::function::FnOnce::call_once
at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library\core\src\ops\function.rs:250
note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.

### To Reproduce

_No response_

### Expected behavior

The test should pass

### Additional context

Neither @tisonkun  nor I have a windows machine to debug this on, so I disabled the test in https://github.com/apache/datafusion/pull/10392 and am hoping someone with windows can help us debug the issue

I have a windows machine but was unable to reproduce this issue.

Terminial output

PS C:\project\datafusion\datafusion-cli> cargo test cli_intgration::cli_quick_test
warning: unexpected `cfg` condition value: `force_hash_collisions`
--> C:\Files\project\active-project\datafusion\datafusion\common\src\hash_utils.rs:306:7
    |
306 | #[cfg(feature = "force_hash_collisions")]
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: expected values for `feature` are: `apache-avro`, `avro`, `backtrace`, `object_store`, `parquet`, `pyarrow`, and `pyo3`
    = help: consider adding `force_hash_collisions` as a feature in `Cargo.toml`
    = note: see  for more information about checking conditional configuration
    = note: `#[warn(unexpected_cfgs)]` on by default
...
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 38 filtered out; finished in 0.00s
Running unittests src/main.rs (target\debug\deps\datafusion_cli-483c98fe9c3d1fe6.exe)

running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
Running tests\cli_integration.rs (target\debug\deps\cli_integration-9f8847f04ba787bb.exe)

running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s

Thanks @Eason0729  -- let's close it and refile if there is any problem


[beta] Update email API error message do not reach the toaster logic

I have added a minor change to the update email logic in the passwordless implementation (#9660), to ensure delivery for success case.
But the error cases still need to be investigated.

The issue should be around this catch operator https://github.com/freeCodeCamp/freeCodeCamp/blob/staging/common/app/routes/settings/redux/update-user-saga.js#L41

Closing in favor of more relevant issue linked.

@raisedadead Can we reopen this issue? I created a PR for #15876 but due to the front changes in staging we will need another PR for this branch.
I am already working on this fix for staging branch btw.


Bug:  [QueryBuilder] join() with BETWEEN causes TypeError preg_quote(): Argument #1 ($str) must be of type string, false given

PHP Version
8.3
CodeIgniter4 Version
4.5.1
CodeIgniter4 Installation Method
Composer (using codeigniter4/appstarter)
Which operating systems have you tested for this bug?
Windows, Linux
Which server did you use?
apache
Database
MariaDB 11.2.3
What happened?
After upgrading to 4.5.0 and then 4.5.1, I am now getting TypeError preg_quote(): Argument #1 ($str) must be of type string, false given at SYSTEMPATH/Database/BaseBuilder.php at line 680 with some of my SQL queries.  These queries all use the BETWEEN Operator to compare dates.
These queries worked perfectly fine going all the way back to CI 4.0.x up through 4.4.8.
Below is a screenshot of the error:

Steps to Reproduce
Execute an SQL query created using the Query Builder Class utilizing the BETWEEN operator.
Expected Output
A view with the results of the SQL query.
Anything else?
No response

How do we reproduce?
It seems Query Builder does not support BETWEEN.
https://codeigniter4.github.io/CodeIgniter4/database/query_builder.html

I probably did not phase the bug report correctly.  I have two SQL queries that have worked perfectly from CI version 4.0.x all the way through 4.4.8.  Both of these queries are constructed using the Query Builder Class.   Here are the lines from each Query Builder that appear to be throwing the type error:
->join('leases', 'units.unit_id = leases.unit_id AND CURDATE() BETWEEN lease_start_date AND lease_exp_date', 'left')
->join('leases', 'units.unit_id = leases.unit_id AND workorder_start BETWEEN lease_start_date AND lease_exp_date', 'left')
The only common thread seems to be the use of the BETWEEN SQL operator.  I'm not sure that has anything to do with it.
It could simply be a strict typing issue like some of the other 4.5.0 bugs, but I will do some further troubleshooting.

Thank you for the feedback.
There is no sample code with BETWEEN in join().
https://codeigniter4.github.io/CodeIgniter4/database/query_builder.html#join
and there is no test case:
https://github.com/codeigniter4/CodeIgniter4/blob/develop/tests/system/Database/Builder/JoinTest.php
We need further investigation.

It seems join() does not support BETWEEN, but it worked by accident in previous versions.
When there is a conditon 'units.unit_id = leases.unit_id AND CURDATE() BETWEEN lease_start_date AND lease_exp_date', it is parsed in $conditions as
array (
  0 => 'units.unit_id = leases.unit_id',
  1 => 'CURDATE() BETWEEN lease_start_date',
  2 => 'lease_exp_date',
)

but it is of course wrong.
Fixing this behavior is difficult, so I sent ad hoc fix PR #8792

Ahh, I understand now.
I replaced the BETWEEN operators in my JOIN clauses with a combination of >= and <= operators to workaround this limitation with Query Builder.
This project also has many WHERE clauses constructed by Query Builder utilizing the BETWEEN operator that are still working as expected in 4.5.1.  Does where() officially support BETWEEN or is is this also working by accident?

There is one test case.
https://github.com/codeigniter4/CodeIgniter4/blob/d425bdf6df7d3103b4aeed06d9b71e88fbbaf1fe/tests/system/Database/Builder/WhereTest.php#L198-L210
But note that uses false in the third parameter $escape:
https://github.com/codeigniter4/CodeIgniter4/blob/d425bdf6df7d3103b4aeed06d9b71e88fbbaf1fe/tests/system/Database/Builder/WhereTest.php#L203
If $escape is set to false, the value as is becomes a part of the SQL statement, so you can freely create SQL statements.

@oakhurstmgmt If you agree to merge #8792, approve the PR.


Not able to login with LDAPS

After the latest install I am not able to login with LDAP(S) anymore.
The error message I get is this:
PHP Notice:  Undefined variable: authorizedGroups in /var/www/iPSK-Manager/adminportal/login.php on line 135, referer:
To reproduce:
From login page: Type username and password and choose the configured LDAPS server as source.
Click Sign In.
LDAPS connection is working. When clicking Test on the Connection name (under LDAP servers) it reports success.

This is an existing one I overwrite with git pull.

When is the last time you did a pull?  The login.php page you mentioned above hasn't been modified since commit d2abed2 which was a week ago.  Are you sure you have your groups configured correctly and are a member of one allowed for admin portal management?

I'll try to do some more testing. The strange thing is that logging intoSponsor Portals are working fine with LDAPS. It's only the Admin Portal that is not working anymore.

Did some testing. When using the Login.php from the version "php8 and other fixes" is working.
When I try to use the login.php from "SAML Admin Portal Support" I get the error.
Not sure if that is helpful.
Is there any more logging I can turn on to narrow it down?

https://x.x.x.x/index.php?error=3

Oh, and  forgot, there is a logging table as well, can you dump out any logs from the time period.  Don't think it will be much help for me, but just incase.

Well the problem is that the Platform Configuration is also broken after the update. That probably is another error.
Only get a blank page when clicking on it
The admin-error log says:
[Thu May 02 15:30:34.873628 2024] [php7:error] [pid 5305] [client x.x.x.x:21729] PHP Parse error:  syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /var/www/iPSK-Manager/supportfiles/adminportals/modules/sysconfig/general.inc.php on line 97, referer: https://x.x.x.x/adminportal.php
Can you share the sql command to get the neccessary info from the db?

Did you copy your config.php someplace else before you did the git pull and put it back?  It almost seems like you are missing files or some files didn't get updated right from a pull.
As for MySQL
Once on the DB CLI after logging in.
use ;
select * from settings;

What version of PHP are you running on your setup?

seems to be PHP 7.2.34

Any way you can bump that up to 8.0?  I am wondering if this is the issue at hand as that above error on the general.inc.php points to a line where I see comments about whats done there not working with PHP 7.2 and wonder if maybe something else with login is PHP version related as well since I'm using PHP 8.0.  May have to change what is mentioned as possible PHP versions if that is the case.

Looks like for sure the general.inc.php error is related to PHP version as this comment is what that line is doing where it says PHP less then 7.3 will cause a error.   This I can correct but now really have be wondering if the LDAP issue is also related to PHP version.

Thanks. I will try to upgrade it to 8 tomorrow. Will let you know the outcome.

I have upgraded to php8 but still get an error. But a new error line:
[Fri May 03 12:33:48.507569 2024] [php:warn] [pid 1960] [client <IP_ADDRESS>:33859] PHP Warning:  Trying to access array offset on value of type bool in /var/www/iPSK-Manager/adminportal/login.php on line 64, referer: https://x.x.x.x/index.php?error=3
[Fri May 03 12:33:48.520884 2024] [php:warn] [pid 1960] [client x.x.x.x:33859] PHP Warning:  Undefined variable $authorizedGroups in /var/www/iPSK-Manager/adminportal/login.php on line 135, referer: https://x.x.x.x/index.php?error=3
Heres the screenshot of the Platform Configuration (probably working again after upgrade to php8)

Can you send me a photo of the groups page as well?

And I assume the user you are logging in with is a member of that 2nd group or the last group and your selecting the ldap directory those groups are in when you login, correct? They are the only ones that would allow login to the admin portal as configured.
If the above is true can you go back to the portal configuration page and check the option for enable nested groups and then press update settings. Uncheck the box and then do update settings again. Logout and try and login again.
If you still have an issue do the same thing above but this time check use ldap for admin portal authorization in the SAML area as the item you check and uncheck.
Doing those steps will put some settings in that database table you sent the image of yesterday. Those settings are referenced in the login.php code for all portals.
Everything with the login should work without them and I verified in my setup it did yesterday, I'm curious though if this is what is causing the issue for you.

Did what you suggested but still no success:
My database got some extra columns added:

Ok, good in a way as I expected it to not be hung up on that.
That line 135 error is time matched to when you try and login via ldap? You're sure of that? Can you tail your error log to make sure it does appear at the time of ldap login failure?
You'd only get to that line if doing a local login, not ldap. The similar line you'd get to from a ldap login is further down in the code.
That entire code block runs when the submitted login form has a value of 0 for the chosen user source in the drop down on the login page.
A error of 3 means unable to authenticate, bad user name or password.
Are you able to post the source html you see on your login screen?

The 135 does occur when I try to logon. I have verified that.
I have verified that I get to that code both when I try to unsuccessful try to logon local and also when I try to logon through LDAPS
Is this the html you're wanting?
<!doctype html>

	<title>iPSK Manager for Cisco ISE</title>

	<link href="styles/bootstrap.min.css" rel="stylesheet">

	<link href="styles/signin.css" rel="stylesheet">

iPSK Manager for Cisco ISE

Please Login

Authentication Failed

						<form action="login.php" method="post" class="form-signin">
				Username
				<input type="text" name="inputUsername" id="inputUsername" class="form-control mt-2 mb-3 shadow" placeholder="Username" required autofocus>
				Password
				<input type="password" name="inputPassword" id="inputPassword" class="form-control mt-2 mb-3 shadow" placeholder="Password" required>
		Please select an Authentication Source:<select name="authDirectory" class="form-select mt-2 mb-3 shadow"><option value="0">Internal</option><option value="5" selected>LDAPS</option><option value="6">LDAPS#2</option></select>					<button class="btn btn-primary btn-block mt-2 mb-3 shadow" id="loginbtn" type="submit">Sign in</button>
			</form>

			Copyright © 2024 Cisco and/or its affiliates.

If you go to the ui-refresh-sponsor-portal branch and pull the login.php from that branch I think it should work.  You can also pull the entire branch if you want.

Thanks. Now it's working perfectly again. Thanks for the great help on this.

Glad to hear, wish I wasn't as blind at the beginning :)

@Jumb0Fr4m3 You may want to do a new pull.  I noticed in one of your images above a alignment issue but didn't know if it was just your browser window size.  I experienced the issue myself and realized there was a alignment issue under certain conditions.  I fixed it so if you pull again your admin screens will line up right :)


Add VirtualMachineClusterFlavor resource

Short description:
Flavors are now split into ClusterFlavor and namespaced Flavor
More details:

Changed VirtualMachineFlavor into NamespacedResource
Added VirtualMachineClusterFlavor as Resource

!verified


[MISC] Maintainers - Purview responsibility

This pull request is seeking to enhance our current definition of a Maintainer. Our current definition is derived from our governance document and implemented in our decision-making document.
We intend to add a Domain expert Purview (edit 5/12) identification to a Maintainer. This Domain expert Purview (edit 5/12) enhancement enables a Maintainer to specify what part of BIDS they intend to be responsible for maintaining. This addition will provide more clarity on how potential maintainers can specifically contribute to the Maintainers team by slowly taking on responsibilities in their domain of expertise. This will provide a clearer pathway into the Maintainers Group.
The purpose of this is to build more resilience and sustainability into our community by reducing the barrier to entry through identifying more specific (and diverse) contribution opportunities

Amended this PR to replace Domain expert with Purview

sounds good to me
+1 for purview, I think purview is less constraining than scope

@sappelhoff

Reads nicely now and I also like "purview" ... perhaps because the German translation is "Zuständigkeitsbereich" and that's a very German thing to say 🙈

This one got me too… never encountered this word before and the translation just seemed a little odd. Still – wondering if using such a word is a good idea in terms of accessibility? Shouldn't we me stick to ~Simple English in general? But maybe that's a different discussion :)

I agree that would be ideal but likely very subjective depending on who is reviewing. Having guidance on global accessibility would be good (AFAIK there isn't)
Perhaps may you have a suggestion for this case?

"scope" covers most of the meaning. If that's simpler for non-English speakers, I'm fine with that.

I actually just got in touch with a close friend of mine who is a native English speaker, a British and American citizen,  and has lived in both countries for a considerable amount of time (And she's even a professional non-academic writer, haha). Well – turns out she had to look up that word in a dictionary too. Now ok this is N=1, but I'm getting the strong feeling we should actually not use purview, and pick scope instead :) my 2ct!

I am fine with scope as well, I think it's better than what we had before (specialty, and domain-expert), and it's a valid argument to use words that 80% of the people will only have to look up 20% of the time :wink:

@sappelhoff Yes let's Pareto-optimize our writing here 🤣

sounds good - applied change to scope

Thanks @franklin-feingold


Refactoring AZ regex to accomodate multiple new local-zones

Overview
This PR refactors the regex to identify an AZ by referencing a generated file.
With the addition of multiple new Local Zones and the announcement of new ones[1], getting ahead of this is important to maintain codeowner sanity.
Ideally this would be run via a pre-commit hook when travis is not invoked, but I haven't figured out how to conditionally execute a commit hook.
Ref

[1] https://aws.amazon.com/about-aws/global-infrastructure/localzones/locations/

Note: I need to reference ZoneID and not Zone Name, prior to this PR being merged.

See #718


⚠ Bofrost.de has degraded performance

In e2704a7, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 783 ms

Resolved: Bofrost.de performance has improved in 9ed8c99 after 9 minutes.


Error in call to target 'sam_pt.point_tracker.pips.tracker.PipsPointTracker'

Hi! I'm trying to replicate the demo, and I'm running into an issue. I have CUDA 11.8 installed. TensorRT is also installed and can be loaded into python, so I'm not sure what the issue is there.
I tried fresh installs of the environment, CUDA, Tensorflow, Pythorch and TensorRT.
This is the relevant log:

Loading PIPS model from /mnt/sam-pt/models/pips_ckpts/reference_model

reading ckpt from /mnt/sam-pt/models/pips_ckpts/reference_model

Error executing job with overrides: ['frames_path=${hydra:runtime.cwd}/data/demo_data/bees/', 'query_points_path=null', 'longest_side_length=1024', 'frame_stride=1', 'max_frames=-1']

Error in call to target 'sam_pt.point_tracker.pips.tracker.PipsPointTracker':

AssertionError()

full_key: model.point_tracker

Hi, thanks for your reply.
Turns out this was an issue on my server. Pip was installing packages for a different python than the one that the virtual environment was using. This issue can be closed


Extract and add length attribute to uploaded media

The Issue
Related to https://github.com/lbryio/lbry-app/issues/597
I'm sure we will have more of these types of requests to add content metadata once we get a functional search working.  This particular one is to add a length attribute which is automatically determined from content metadata. This would apply to both video and audio content.
We would need to find a consistent way to extract this data from uploaded files and store it as part of the claim metadata.  Not sure if we would want this manually populated in the Publish section.
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

How does one work on these issues?
What do I do if I want to help?

@KamilPiekutowski just fork this repo or work directly from it by editing files and submitting Pull Requests to the repo

I did that. And I cloned the repo. I followed instructions and successfully built the app. I am a little confused what length attribute is missing.

i think they are referring to video length as user want to see the videos length before downloading and storing this in claim metadata would allow seeing it before downloading

Ok I will look into that tomorrow.

So the goal would be to extract the video length while it is processed during upload and store in a metadata field (there's a separate ticket for this in the lbryschema repo)

This is a lbryschema issue only, AFAIK
On Thu, Sep 28, 2017 at 8:22 AM, Thomas Zarebczan<EMAIL_ADDRESS>wrote:

So the goal would be to extract the video length while it is processed
during upload and store in a metadata field (there's a separate ticket for
this in the lbryschema repo)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lbryio/lbry/issues/918#issuecomment-332819522, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAgZVr0WMWMA3pkajx4l1avVw4wfE-nyks5sm4-TgaJpZM4PhMzj
.

--
Jeremy Kauffman, Founder, LBRY http://lbry.io/
(267) 210-4292
Build LBRY: get https://lbry.io/get, follow https://twitter.com/lbryio,
like https://facebook.com/lbryio


Handle GII failed cases in Snapshot isolation.

Changes proposed in this pull request
If GII fails for some reason with a particualr member, initiating member will send a message to unlock the bucket.
Patch testing
precheckin
ReleaseNotes changes
NA
Other PRs
NA

Please test this by simulating a failure in dunit.

@kneeraj Please check the Dunit test changes. I have added a test hook to simulate the issue.

An alternative discussed with Rishi for releasing the write lock. In the handling of profile exchange message after region initialization ( read after gii ) the write lock cleanup can be done.

LGTM. Precheckin results awaited from Rishi.


Enable secure PoA node (+ spinning multiple PoA nodes)

We have now merged the feature to spin a PoA (clique) node to serve as L1.
It would be good to:

Ensure that this node can be exposed to the internet (either by default, or after asking the user in case there is a tradeoff) so that it can be used for a public devnet.

Enable spinning multiple PoA nodes (multiple clique signers) to support this network. This only makes sense once the nodes can be exposed to the internet! And will also make more sense later down the lifetime of the project where we can deploy to the cloud and separate the provisioning and deployment steps more cleaning (which is why I'm including this in this issue instead of creating a separate one at this point).

If we do this, we should add an option to add --rpc.allow-unprotected-txs to the parameters, so that legacy tx are allowed on the RPC node. We need these transactions for deterministic cross-chain deployments (e.g. deploying the CREATE3 contract at the same address on every chain).


release binary

using GoReleaser
https://goreleaser.com/

Add GitHub Action to release this module using GoReleaser https://goreleaser.com/ to GitHub Release of this repository.

release action failed.
https://github.com/shionit/kabuka/actions/runs/6982367732

release action failed.
https://github.com/shionit/kabuka/actions/runs/6982728138

Successfully released.
https://github.com/shionit/kabuka/actions/runs/6982812891


update Java JDK to openjdk11(LTS)

Java JDK LTS is now at version 11,
The code successfully compiles, travis CI build status .
Executed in local Ubuntu 18.04 with openjdk-11 and started server without error
Steps followed

sudo apt install maven
sudo apt install openjdk-11-jdk
mvn clean install
./ora.sh create-empty-db
./ora.sh start-from-git
access server from localhost:1999

Codecov Report

Merging #773 into develop will decrease coverage by 0.00%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop     #773      +/-   ##
=============================================
- Coverage      41.31%   41.31%   -0.01%
  Complexity      3699     3699
=============================================
  Files            634      634
  Lines          28233    28233
  Branches        2469     2472       +3
=============================================
- Hits           11665    11664       -1
- Misses         15758    15759       +1
  Partials         810      810

Impacted Files
Coverage Δ
Complexity Δ

...rvices/all/controller/ClientProgramController.java
25.24% <0.00%> (-0.25%)
13.00% <0.00%> (ø%)

.../java/de/fhg/iais/roberta/main/MailManagement.java
0.00% <0.00%> (ø)
0.00% <0.00%> (ø%)

...va/de/fhg/iais/roberta/persistence/bo/Program.java
58.82% <0.00%> (ø)
15.00% <0.00%> (ø%)

...fhg/iais/roberta/persistence/bo/Configuration.java
45.16% <0.00%> (ø)
5.00% <0.00%> (ø%)

.../iais/roberta/syntax/action/light/LightAction.java
0.00% <0.00%> (ø)
0.00% <0.00%> (ø%)

...Server/restServices/all/controller/ClientInit.java
0.00% <0.00%> (ø)
0.00% <0.00%> (ø%)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8127f5c...f323bd4. Read the comment docs.


Crazy high CPU usage on Mac when bundled in Zap

See https://github.com/LN-Zap/zap-desktop/issues/344 for details

This relates to 0.3.0. We’ll want to see about reproing with lnd 0.4.0.

I'd open this issue on the zap repo itself, I'm not sure how they bundle lnd .

Hmm, stuck in a loop :)

Not a loop, @pors! We just need to repro with more specificity so that the report can be informative to LND. To start, we need to repro with the current version of LND, because the cpu issue may already be solved. Let's continue in LN-Zap/zap-desktop#344.


Issue with filtering order list by status

This piece of code:
            $matchingOrders = $db->query("SELECT oID FROM CommunityStoreOrderStatusHistories t1
                                            WHERE oshStatus = ? and
                                                t1.oshDate = (SELECT MAX(t2.oshDate)
                                                             FROM CommunityStoreOrderStatusHistories t2
                                                             WHERE t2.oID = t1.oID)", [$this->status]);

from
https://github.com/concrete5-community-store/community_store/blob/master/src/CommunityStore/Order/OrderList.php
has an issue with filtering by status when the timestamp of the status entries is from the same second, e.g.:
MariaDB [bbpizza]> select * from CommunityStoreOrderStatusHistories where oID='1778';
+-------+------------+---------------------+------+------+
| oshID | oshStatus  | oshDate             | uID  | oID  |
+-------+------------+---------------------+------+------+
|  3580 | incomplete | 2021-08-09 23:14:03 | NULL | 1778 |
|  3581 | processing | 2021-08-09 23:14:03 | NULL | 1778 |
|  3582 | processing | 2021-08-09 23:14:03 | NULL | 1778 |
|  3583 | processing | 2021-08-09 23:14:03 | NULL | 1778 |
|  3584 | processing | 2021-08-09 23:14:03 | NULL | 1778 |
+-------+------------+---------------------+------+------+
5 rows in set (0.00 sec)
With the code above, filtering by 'processing' and 'incomplete' statuses will return the same order.
Wouldn't it make sense to change the
t1.oshDate = (SELECT MAX(t2.oshDate)
line to
t1.oshID = (SELECT MAX(t2.oshID)
in order to always filter by the last status?

Yes, pretty sure you're right here.
Out of interest, why are you ending up with CommunityStoreOrderStatusHistories entries for the same order with exactly the same timestamp?

Out of interest, why are you ending up with CommunityStoreOrderStatusHistories entries for the same order with exactly the same timestamp?

Integration transferred the order the same second the user submitted it. It's one-out-of-thousands case, but it happens.


crash in firebase's crashed system no report ，crash in Apple's crashed system report

Description
I have a crash no report in firebase forever, but in apple is top1 crash
2024-08-14_22-56-25.2469_-0400-0d8c03c7d7dd4c160de27983b8c4b61570855167.crash.zip
Reproducing the issue
No response
Firebase SDK Version
10.29.0
Xcode Version
15.4
Installation Method
CocoaPods
Firebase Product(s)
Crashlytics
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

Hi @TttGggVv, this crash looks unrelated to Firebase. The Termination Reason: FRONTBOARD 0xbaadca11 indicates it was done by the system. Take a look at https://developer.apple.com/documentation/xcode/sigkill:

0xbaadca11<PHONE_NUMBER>) — pronounced “bad call”
The operating system terminated the app for failing to report a CallKit call in response to a PushKit notification.

If it is a system-triggered crash, might Firebase Crashlytics not be able to collect it? I want to know what kinds of crashes Firebase does not collect?

Based on the trace, it looks like the system crashed the app before Crashlytics had time to start up.


UI Enhancement : Add Padding to Left and Right of the search box

There is no padding on the left and right of the search bar on the mobile view but it is there in the desktop view.

Adding some inline padding should help with this.

As I see, there is padding on the left side, but if you write long enough search query, close button will overflow it.

I would be happy to do a pull request that fixes search-input's padding


Questions About Test Data Generation code and 150-Degree Results

Hello,
I have a few questions regarding the test data provided:
Test Data Generation: Could you please provide the code for generating the test data, specifically the FBP and RLS images? Having access to this code would be extremely helpful for my analysis.
150-Degree Data: I noticed that data for the 150-degree is provided, so I ran the model with this data. It seems like the window level might have changed compared to other result of 60-degree, 90-degree, 120-degree as it seems little bit darker. Additionally, the performance for the 150-degree setup is similar to or slightly worse than the 120-degree configuration. Could you provide any insights or reasons why this might be happening? Any suggestions for improving performance with not only 150-degree data but also less (ex 45-degree or 30-degree) degree would also be appreciated.
Thank you for your work! I really learned a lot from your paper.

The code to generate the test data used FBP and RLS functions in Livermore Tomography Tools (LTT) which requires a license. We released a python software package called LEAP as an open source, which provides forward projection, FBP, RLS, etc. You can find some examples of FBP and RLS using LEAP: GitHub.com/LLNL/LEAP.

Regarding the second question, there is no simple answer about the performance difference between 120 and 150 degrees, as it depends on the object configuration and the object shape/orientation with missing projection angles due to the limited angle setup. One potential limitation of the experiments is the fixed angular range, meaning the starting angle is always 0 degrees, resulting in an angular range of 0-150 degrees. Additionally, extreme LA settings are still a challenging issue, and we expect new conditional training of DPMs and sampling algorithms to help. We are working towards this direction.


sparse multiply

Moving pull request from stan-dev/stan
https://github.com/stan-dev/stan/pull/1405

closing: turns out I created the pull request in reverse.


Cannot read property 'defaultProps' of undefined

The Constructor is null hence it fails.
function getRealProps(_ref2) {
var descriptor = _ref2.descriptor;
var Constructor = _ref2.Constructor;
var realProps = _lodash2['default'].defaults(descriptor.props || {}, Constructor.defaultProps || {}); //FAILING LINE
if (descriptor.children && descriptor.children.length > 0) {
realProps.children = _lodash2['default'].flattenDeep(descriptor.children);
}
return realProps;
}

The issue with this is that you are setting an invalid Phrase Element as parser.grammar, or you are returning an invalid Phrase Element from describe() call.
Are you reporting the misleading error message, or are you having trouble with a grammar? I do want to add better error reporting across the board, especially this one.

Fixed with https://github.com/lacona/lacona/commit/e223f7368788eebf4ab531465bb8a64211040815


Feat: Add Deref Coercion

Closes #890

This change is

Lots of CI errors due to no_listing_09_deref_coercion_example, please check

so actually DerefMut is not like Rust's - its usage is only for cases where you want deref to work only for a mut variable


Search bug: pubspec_parser vs pubspec_parse

When I'm searching for pubspec_parser, I don't find the package: pubspec_parse.

This might have been fixed with #1330, but it hadn't been deployed yet.


[FLINK-27696] Add bin-pack strategy to split the whole bucket data files into several small splits

We don't have to assign each task with a whole bucket data files. Instead, we can use some algorithm ( such as bin-packing) to split the whole bucket data files into multiple fragments to improve the job parallelism.
For merge tree table:
Suppose now there are files: [1, 2] [3, 4] [5, 180] [5, 190] [200, 600] [210, 700]
Files without intersection are not related, we do not need to put all files into one split, we can slice into multiple splits, multiple parallelism execution is faster. Nor can we slice too fine, we should make each split as large as possible with 128 MB, so use BinPack to slice, the final result will be:

split1: [1, 2] [3, 4]
split2: [5, 180] [5, 190]
split3: [200, 600] [210, 700]

Thanks for the update and it looks good to me once the conflicts are resolved.

@LadyForest Thanks for you review, merged.


Issue/params

improved handling of parameters: refactored checking functions

@capitanbatata still waiting on your review...


Introduce OpenAMP/RPMsg-Lite on LPC54114

Introduces support for Open Asymmetric Multiprocessing (OpenAMP) using RPMsg-Lite, which is a lightweight implementation of the protocol targeting small memory footprint devices. Support for eRPC is not yet included due to build system issues with c++, as well as to limit the scope of changes in a single PR.

Adds support for the slave core (Cortex M0+) on LPC54114
Adds an IPM shim driver using the mcux mailbox driver
Imports RPMsg-Lite into ext/
Adds IPM and RPMsg-Lite samples

There is an outstanding issue when building the master application, such that the slave core binary cannot be found by the assembly files (incbin.S). This issue occurs only with Zephyr SDK toolchain, but not ARM gcc.
Therefore an extra manual step required between running cmake and make of the master application:
$ cmake -DBOARD=lpcxpresso54114 ..
$ cp ../../remote/build/zephyr/core1_image.bin .
$ make

Fixes #3065

Codecov Report

Merging #5960 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5960      +/-   ##
==========================================
- Coverage   43.77%   43.76%   -0.01%
==========================================
  Files         485      485
  Lines       54660    54660
  Branches    10690    10690
==========================================
- Hits        23926    23924       -2
- Misses      30594    30596       +2
  Partials      140      140

Impacted Files
Coverage Δ

tests/kernel/obj_tracing/src/philosopher.c
72.22% <0%> (-16.67%)
:arrow_down:

drivers/console/native_posix_console.c
42.1% <0%> (+1.31%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 461511e...4ce9bbc. Read the comment docs.

@skordal, @ioannisg FYI

I think the external library should be in ext/lib/ipc/rpmsg_lite. @MaureenHelm, @nashif thoughts?

@pizi-nordic FYI

I think the external library should be in ext/lib/ipc/rpmsg_lite. @MaureenHelm, @nashif thoughts?

yeah, or at least ext/lib/multicore/...

nitpick, this commit: lpc: Add code to include slave core binary for lpc54114 from mcux 2.2.1
Should probably be prefixed with ext instead of lpc

Ok.

I think the external library should be in ext/lib/ipc/rpmsg_lite. @MaureenHelm, @nashif thoughts?

Fine with me

The commit that imports the startup code for AMP doesn’t exactly match the SDK...
AMP startup is freely based on parts of SDK code, I have updated the commit message.

Thanks for the comments. I have made some updates internally, @MaureenHelm will update this PR, then you could review again.

@MaureenHelm will update this PR, then you could review again.

Done

This PR is superseded by #7161, which contains the same content except for RPMsg-Lite, which hasn't been chosen as Zephyr's preferred AMP solution.
So this PR can be cancelled and you can continue reviewing #7161 instead.


Layer 2 Rogue DHCP server detection

This detection works in conjunction with the Cisco Networks Add-on for Splunk and if used in conjunction with Cisco network devices configured with DHCP Snooping, will create a Notable Event when a Rogue DHCP server is handing out DHCP leases

@inspired this is wonderful thank you so much!


[SPARK-12231][SQL]create a combineFilters' projection when we call buildPartitionedTableScan

Hello Michael & All:
We have some issues to submit the new codes in the other PR(#10299), so we closed that PR and open this one with the fix.
The reason for the previous failure is that the projection for the scan when there is a filter that is not pushed down (the "left-over" filter) could be different, in elements or ordering, from the original projection.
With this new codes, the approach to solve this problem is:
Insert a new Project if the "left-over" filter is nonempty and (the original projection is not empty and the projection for the scan has more than one elements which could otherwise cause different ordering in projection).
We create 3 test cases to cover the otherwise failure cases.

Can one of the admins verify this patch?

@marmbrus : Can you help take a look at this PR? Thanks for your review.

ok to test

Test build #48127 has started for PR 10388 at commit 305739f.

Test build #48127 has finished for PR 10388 at commit 305739f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/48127/
Test PASSed.

Test build #48315 has started for PR 10388 at commit 1e82c45.

Test build #48315 has finished for PR 10388 at commit 1e82c45.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/48315/
Test FAILed.

I delete the test cases from DataFrameNaFunctionsSuite.scala. I checked the previous failure, not sure why it is failed. I worked when I run the local test on my laptop.
$ build/sbt "test-only org.apache.spark.sql.thriftserver"
..
[success] Total time: 296 s, completed Dec 24, 2015 6:11:20 PM
then I re-run the sql test buckets, seems fine.
$ build/sbt sql/test-only
[info] Passed: Total 1522, Failed 0, Errors 0, Passed 1522, Ignored 10
[success] Total time: 146 s, completed Dec 24, 2015 6:26:23 PM

Test build #48319 has started for PR 10388 at commit 7f4a085.

Test build #48319 has finished for PR 10388 at commit 7f4a085.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/48319/
Test PASSed.

Thanks, merging to master.

Cherry-picked to branch-1.6.


Wikigeeks: Wikigeeks stuck in infinite loop, timer keeps reseting itself when reaching 15 second mark

Not sure how this happened. I did start the session after waiting in the lobby with three players for a significantly long time to see if I could get kicked out. My ihpone6s went to sleep, and upon waking, was still on the "waiting for players" screen. When I started the game, all seemed normal except all sorts of issues started happening, including this looping
I am assuming the game was somehow readinging as disconnected, but still let me move forward since we were "still in it"

qa team please try and reproduce

unable to reproduce


Change this line to point at the Varnish cache

https://github.com/ua-snap/arctic-eds/blob/8c6e9e468b8289582b4b186c89ba205fb39c90b4/nuxt.config.js#L53
Change this to https://maps.earthmaps.io/geoserver/wms

I'm not sure why I wrote this back in March. We do not cache Geoserver as it has its own WMS cache sitting in front of it, and I must have been thinking of the Rasdaman production instance which is cached for its WMS responses through maps.earthmaps.io.


Add item to grid master detail

How to add item to memory in master detail grid?
Thanks.

see source code of grideditorbase


Is it possible to wrap a DLL belonging to commercial software?

I'd like to "wrap" a 32bit DLL that was written for use with another program (not written by me.)
I know I can include a wrapped DLL to my own VS code, but that's not what I need.
TIA

Hello @Mugsy323 , to use the LegacyWrapper, you must edit the source code of the application.


Update backup example to use proper variable

Corresponding Issue(s):
Summary of change(s):

updated  all_options example  use_lifecycle (removed variable) vs lifecycle_enable (replacement variable)

Reason for Change(s):

example was wrong

Will the change trigger resource destruction or replacement? If yes, please provide justification:
No
Does this update/change involve issues with other external modules? If so, please describe the scenario.
n/a
If input variables or output variables have changed or has been added, have you updated the README?
n/a
Do examples need to be updated based on changes?
yes

Thanks for the contribution @ckeivin


Revert "AWS Fixes"

Reverts supergiant/supergiant#804

Coverage decreased (-0.3%) to 61.313% when pulling 0d70296a375294addd8f192aab1d30e350587183 on revert-804-aws_fixes into c023d01e9abc7f91bd7da756056da4046f55207c on master.


Add restart handling

Description
The state contains a boolean field restart which is currently ignored. The restart handling should be implemented.
Goals

Define if  a simple boolean flag is sufficient or if we need a something like always, neverand on failure
When restart is set the the agent shall restart a workload when it was stopped for any reason like failure or system restart

Tasks
tbd.

Decisions after discussion:

the restart bool flag will be removed and supplemented with a restart policy enum with the fields mentioned above
default value for the restart flag is never
the difference between always and failure is the exit code of the workload
all workloads will be started again when the agent is started (unless they are already running), because a newly started agent is treated as a restart of the node. Already running workloads will not be restarted in this case. This is independent from the restart policy of the workload.

After discussions and because of the bug ticket #158: most important here is that the restart of Ankaios starts the workloads again .

I have done some research again, just to check how the restart flags vary between all the known software orchestrators.
Kubernetes supports Never, Always, OnFailure (https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/). K3s and docker-compose supports the same values. But docker-compose (https://docs.docker.com/config/containers/start-containers-automatically/) supports one more interesting field called unless-stopped. The unless-stopped restart policy restarts a workload in the same way like always does besides the user has actively stopped the workload. For transferring into automotive use cases maybe someone wants to configure that a workload shall be restarted when it is failed or what else, but if an integrator stops the workload the orchestrator shall not restart it (because it is unnecessary since the user's decision was actively to see the workload not running anymore).

I was also thinking about a max retries value for the on-failure case. We need to think if we would go with a value for the enum or a separate attribute. As for the unless-stopped, for Ankaios this would be the normal case as we either delete or assign to the "" agent which cannot restart anything.

Proposal for an Ankaios manifest containing the restart policy enum flags:
apiVersion: v0.1
workloads:
  restarted_always:
    runtime: podman
    agent: agent_A
    restart: ALWAYS
    runtimeConfig: |
      image: alpine:latest
      commandOptions: [ "--entrypoint", "/bin/sh" ]
      commandArgs: [ "-c", "echo 'Always restarted.'; sleep 10"]
  restarted_never:
    runtime: podman
    agent: agent_A
    restart: NEVER
    runtimeConfig: |
      image: alpine:latest
      commandArgs: [ "echo", "Explicitly never restarted."]
  default_restarted_never: # default restart value = NEVER
    runtime: podman
    agent: agent_A
    runtimeConfig: |
      image: alpine:latest
      commandArgs: [ "echo", "Implicitly never restarted."]
  restarted_on_failure:
    runtime: podman
    agent: agent_A
    restart: ON_FAILURE
    runtimeConfig: |
      image: alpine:latest
      commandOptions: [ "--entrypoint", "/bin/sh" ]
      commandArgs: [ "-c", "echo 'Restarted on failure.'; sleep 7; exit 1"]

The default value is "never" and used when the user does not specify the restart flag.
Three different restart policies:

never: Ankaios does never restart the workload. If the Ankaios agent is restarted, the workload is resumed by the agent.
always: Ankaios restarts the workload if the runtime reports that the workload has finished regardless of the exit code. If the Ankaios agent is restarted, the workload is restarted if it is not running.
on_failure: Ankaios restarts the workload if the runtime reports that the workload has exited with exit code != 0. If the Ankaios agent is restarted and the agent detects that the workload has failed, the workload is restarted.

What does it mean for NEVER

If the Ankaios agent is restarted, it resumes the workload.
Does 'resume' mean, that the workload is kept in its current state?

@windsource, exactly. The internal 'resume' handling just leaves the workload in the state it currently is. If the workload was running (and shall be running), it would be left in running.

Swdd design ideas:
In general, a restart can be represented in Ankaios as an normal update with the same configuration of the workload (update = delete + create). For an update the WorkloadSpec is necessary. The WorkloadControlLoop stores the current WorkloadSpec and does anyway workload related tasks (delete, update, create, retry). Storing the WorkloadSpec in the WorkloadObject itself to retrieve it for the restart, would lead to inconsistencies in such cases. This is why the ControlLoop maintains the WorkloadSpec which was implemented in the past accordingly. The WorkloadControlLoop can handle the restart itself, meaning the Workload itself handles its own restart behavior according to the configured restart policy.
There a few implementation possibilities how the WorkloadControlLoop can be triggered:

Currently, the AgentManager receives all workload states (from other agents + from the workloads it manages itself). When the AgentManager receives a new workload state of the workloads it manages, the AgentManager triggers the RuntimeManager which has the map of workloads. The RuntimeManager or a separate Restart component called by the RuntimeManager decides when to restart the workload according to the restart policy and the current workload state or the WorkloadControlLoop decides it. The extra component would send an "restart" (which is an update) to the ControlLoop or if the ControlLoop itself handles the restart decision it just triggers the update.

The WorkloadControlLoop shall receive the workload states itself and forwards it to the AgentManager which then forwards the workload state to the Ankaios server at the end. The WorkloadControlLoop handles the independently of other components the restart decisions and updates the workload if it must be restarted.

The first approach which does function calls top down from the AgentManager, over the RuntimeManager to the WorkloadObject, which sends then an Update command to the WorkloadControlLoop, would do unnecessary method calls if the workload must not be restarted (in the end in such cases, the WorkloadControlLoop ignores the call). This is a little bit confusing in my opinion, because the call is triggered high level and flows over a lot of components to be ignored at the low level implementation (and in addition is abstracted away at the end via a message channel from the WorkloadObject to the WorkloadControlLoop).
The second approach is better, because a minimum of component knows about the restart handling, which is easier for maintaining. Only the WorkloadControlLoop knows the restart logic and does the restarts independently when its necessary.  The only disadvantage is the extra communication of workload states through another channel which needs to be introduced.

I have introduced a fix for the restart handling in a special scenario. When the agent receives an update of the workload and the state checker reports the execution state Failed(ExecFailed) for the old workload during the update code path is traversed, then the restart is wrongly executed after the update, because the workload state was inside the workload state channel. Receiving all workload state is desired and fine, because every workload state must be forwarded to the AgentManager for inter-workload dependency handling and forwarding to the Ankaios server.
I have introduced a fix, that the workload control loop compares the WorkloadInstanceName of the received workload state with the instance name that is currently valid inside the workload control loop. In case of different instance names, the restart is skipped otherwise it is executed. The received workload state is forwarded in both cases to the AgentManager.

@krucod3: The restart handling does not consider the inter-workload dependencies, currently. If someone needs this feature he or she can develop a workload using the control interface to handle this case. If the feature extension is needed in the future, we can still develop it. But for now we keep it simple.

@inf17101 As discussed option 1 shall be implemented.

The changes for the general restart handling is merged into main. The changes for resuming workloads with considering dependencies after device restarts are done in a separate issue #261 (PR #265 ).


1962: Reload keyblock from key file on every config reload

This patch is for letting the ticket keyblock get updated each time config reload is called. The config 'proxy.config.ssl.server.ticket_key.filename' is attached to sslcertupdate,  but the callback function for this update is different to avoid reloading of stack of ssl certificates unnecessarily. Hence if there is a change in the content of ticket key file only, then a call to config reload should load the ticket keyblock only not the entire certificate stack from ssl_multicert.config

this needs to be backported to 7.1.x

[approve ci]

I'll have to make a longer comment on the update function issue. I think the use of std::function could avoid most of the need for the UpdateClass template parameter and simplify other code.

Talked with Alan and Susan. Moving the keyblock out from SSLConfigParams and making itself a scoped_config param seems like a better idea. I will update this PR accordingly

new commit please review again @SolidWallOfCode @zwoop

[approve ci autest]

[approve ci autest]

[approve ci docs]

[approve ci autest]

[approve ci autest]

@persiaAziz Did you address the latest cosmetic feedback? It's nitpick, but still semi important (particularly the whitespaces).

@persiaAziz This doesn't cherry-pick cleanly to 7.1.x. It's an easy fix, but to play by the book, can you please make a new PR for the 7.1.x branch which I can merge?


fix(*): acquire permit for work after receive msg

Signed-off-by: Brooks Townsend<EMAIL_ADDRESS>Feature or Problem
The problem with the current implementation is that consumers acquire permits before knowing that work needs to be done. This PR is a simple refactor that ensures that all consumers are awaiting their next message on the stream, and then once they receive the next message they attempt to acquire the permit.
This PR also updates the control interface to 0.28.1, which includes a small bug fix for querying claims when a version field may be null.
Related Issues
N/A
Release Information
v0.5.0-alpha.2
Consumer Impact
This simply makes wadm operate as intended.
Testing

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin
[ ] x86_64-windows

Tested on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin
[ ] x86_64-windows

Unit Test(s)

Acceptance or Integration

Manual Verification
I made sure this works with the default values with more than 256 consumers.

Pushed up one more commit, which comes from @thomastaylor312 and I discussing a bit on a call. Essentially, this solution is complicated to really do correctly, which just comes down to this:

Wait for a message to come in that needs work
Pull message off the stream only if a permit is available, otherwise wait for a permit
Do work

Doing this without polling the future on the stream and thus beginning the jetstream consumer ack timer is difficult, and while we discussed a few possible ways to work around this it would introduce more trouble than it's worth at this time. So, I'm proposing that we make the max_jobs argument optional and set the max number to the Semaphore::MAX_JOBS limit, effectively making it infinite. Then, we can work on optimizing that number as we test in high-throughput scenarios.


Chain abstraction hacker kit

Background
In preparation for Connext hackathons, we need to organize streamlined developer resources. Ideally, this is a 1-pager with links to relevant chain abstraction docs, SDK methods and examples, and the reference UI (or some forkable equivalent).
Linked Issues & Documentation

List of linked issues, external links, etc

Definition Of Done
Describes in 1-2 sentences what the output of the Task is, so that it can be verified by another team member easily. “Feature X is implemented as described and can be verified by using it”
Tasks

[ ] Public 1-pager

not just under guides
add use cases sectoin


Rule: inconsistent bold/italic style

Use **bold** and *italic* or __bold__ and _italic_, but don't mix them.
Also add rules to require a specific style.
See: http://www.cirosantilli.com/markdown-styleguide/#emphasis

This might be a bit of a pain to do without modifying the parser, consider the line:
This is some **text** that is __random__

This parses as a paragraph containing a text element, a strong element, a text element, and another strong element, and you're only given the line number for each one, making it difficult to identify the style unless kramdown is modified to store the style as it's parsed.


tiktok embed videos expire

TikTok embed videos are expiring from time to time, unkown actually.
As thumbnails urls expire too, but these have a unix timestamp in it's url, "expires=1594886400..." but the embed videos doesnt have one...
Is there any way to know the expire time for the embed videos? "$video->video->playAddr;"
Thank you in advance ;)

Resolution:
Seems like the embed url of the videos have a hexdecimal timestamp in it lol
https://v19.tiktokcdn.com/f71ee876ac65cfb993da8cd25f07551d/5f10bbec/video/tos/useast2a/tos-useast2a-ve-0068c001/aea73c290289451eb0d9bf2317a4e735/?a=1233&br=3372&bt=1686&cr=0&cs=0&dr=0&ds=3&er=&l=2020071614430701018903608136098C3B&lr=tiktok_m&mime_type=video_mp4&qs=0&rc=amtrb2pncmg8djMzOTczM0ApZ2Q6PGVnaDs5NzM0aDVkNGdzLm1gaDNxcjNfLS1jMTZzc2A2LV5jYF4xMTA0NV9hYTQ6Yw%3D%3D&vl=&vr=
The seconde parameter of the URL, '5f10bbec', is a hexdecimal timestamp, all I have to do is convert it to unix timestamp, save it and compare it with the "now" timestamp and update it :)

Glad you figured this out.
If you feel there is a need for this in the package at all, feel free to provide a PR of some sort and we can get it merged in.

It all really depends on what you wanna do with it on your application, and your DB structure etc.
When I get like, 10 videos from a user, all those videos come with an updated embed video url as well as an updated thumbnail url. The thing is, embed video urls expire in 6 hours and thumbnails urls expire in 2 days...
I just have to save the expire timestamp (video_url_expire_date or thumbnail_url_expire_date) alongside with the video information, and than I run a command every now and then to scan all those expire_dates, if its outdated, I scrap that specific video and update the video_url, thumbnail_url and the new_expire_date...
As you can see, I dont think it can be a "feature" in the package, because when you scrap for videos, specific or through a user, you always get those with updated urls ;)

Totally, I guess I meant more of if you need a method to easily get the decoded expiration date.


Enable dragging & selecting multiple items on dynamic desktop

If the dynamic desktop is to be used frequently, dragging and dropping, and selecting multiple items should be allowed. Also in my opinion, there should be a keyboard shortcut to the previous directory, simply pressing the button is sometimes... Not very convenient. Thanks, you've done a great job! I love this desktop.
Another little suggestion: when you select something on the dynamic desktop, its background becomes blue - or some other colors. I'd like it to be a little bit more responsive. And this feels more comfortable!

Notes:

In current builds the desktop now spans all screens, we just offset the icons to only show on the primary display
To allow free movement of icons, we need to implement a layout manager that considers the following:

Snap to grid
Screen visible workspace
Handle display changes
Handle new icons placement
How to handle overlapping icons
Location persistence

To allow multiple select, we need to consider the following:

Control-click
Control-arrow, space to select
Shift-click, shift-arrow
Lasso
Checkboxes
Heuristic to determine which icon gets selected with arrow keys