[FEAT] Cart item errors should reference the cart item

:bulb: Feature request
Feature Name

Cart item errors should reference the cart item
The Desired Behavior

When a cart item error occurs, I want the error to reference the cart item that caused it
Your Use Case

I want to associate errors with a specific cart item.
Prior Work

See DaffCartItemExceedsMaxQtyError and DaffProductOutOfStockError

@damienwebdev Should we:

Allow extensions to DaffStateError in error state so that apps can transform to

{
  code
  message
  itemId
}

Have special handling in Daffodil state that associates cart item action failure errors with the specific cart item

Force the app to implement that error state themselves

I think there a few situations we have to cover with this feature which point out failures in the current error model of the cart (and potentially more generally erroring concepts within the Daffodil State model as a whole).
Specifically, if we consider the CRUD model of a typical service for a collection of items (and their associated errors, and success states):

Create

We fail to create an item - Individual DaffState

Read

We fail to retrieve a list of items - Composite DaffState (we model this today in daffCart.cart.errors
We fail to retrieve an item individually - Individual DaffState

Update

We fail to update an item- Individual DaffState

Delete

We fail to delete an item - Individual DaffState

By "Individual DaffState" you mean storing the errors on the cart item entity?
interface DaffStatefulCartItem extends DaffCartItem {
  ...
  errors: DaffStateError[];
}

Or just having another piece of state for storing individual cart item errors?
type DaffCartItemErrors = Record<DaffStatefulCartItem['id'], DaffStateError[]>

@griest024 I don't have great insight into that answer at the moment, because there's at least one "funny" situations:
Specifically, consider the
Create
 - We fail to create an item - Individual DaffState

Is this error contextual? Does it matter WHERE in the UI the issue occurred? Should this kind of error show up everywhere that such an action can take place?
For example, consider "Adding an item to the cart". This is the equivalent of a "create". There may be multiple places that one can "add" the same item to the cart, should adding the item to the cart in one place show an error in the other? This has two conditions built-in:

What is the definition of "the same item" since there's no existing cart item entity to map to it.
Assuming that "the same item" is well-defined, should we show the error everywhere that same item could be added to the cart?

cc: @xelaint for  UX feedback.

I would argue creating an entity is not an individual error for the exact reason you stated, the "individual entity" is not well-defined. collection.add(new Entity()) feels like more of an operation on the collection.

What do we do if there are multiple items on the page that can be added to the cart? I don't think it's reasonable to show the same message in all of these places if any one of them fails to add an item to the cart, that would look absurd.
There may be some concept of individualized errors of a collection perhaps? Some kind of:
export interface CollectionCreateErrors extends Dict<string, string>;

Where the key of the Dict is the hash representing the data that was attempted to be added to the cart?

Hm, good point. This is a complex problem in general.
At least to progress with tracking cart item update errors, I'll just put the list of errors in the entity for now.

This is related to https://github.com/graycoreio/daffodil/pull/2318

superseded by #2661


how to set 8192 points for each human body?

Hello, Dr. Zheng. Thank you very much for your excellent work. I want to know how to set 8192 points for each human body? Where can this part of the code be found in the HMR project? Thank you very much for your reply.

Thanks for your attention on our project.
8192 is defined in the smpl body model. It is a morphable body model.
You can find the npy file at https://github.com/layumi/hmr/tree/master/src/tf_smpl.

OK. Thank you, Dr. Zhang.


Apple Ios10.2 - Security Error (Dom Exception 18): The operation is insecure.

Hello,
We just upgraded apple ipad to 10.2 version and started getting following error.

How you get it?
I haven't see it. I do use safari 10.
On Sep 26, 2016 8:31 PM, "dabhijit2005"<EMAIL_ADDRESS>wrote:

Hello,
We just upgrade apple ipad to 10.2 version and started getting following
error.
[image: application security error]
https://cloud.githubusercontent.com/assets/22448134/18834386/9144ec2c-83c3-11e6-802d-4163c1866682.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/yathit/ydn-db/issues/110, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACCfTPT6eycHQeHHrp35eMX1-UVflUjdks5qt7srgaJpZM4KGd4p
.

I cleared the application cache multiple times and started getting this error. Am not sure if that is related to reproduce the issue.

Found some related links for this issue.
https://forums.developer.apple.com/thread/51004
https://trac.webkit.org/changeset/203695


[now-build-utils][now-node] Throw new NowBuildError()

This PR does the following

Add and export class, NowBuildError, that can be thrown to stop the build and print an error but it will not print a stack trace.
Improve logic for discontinued node versions and add more tests
Remove hack (#3425) for undefined TERM, fixed by updating dependencies
Rename silent variable to isAuto which means the node version was automatically selected, not defined in package.json

Codecov Report

Merging #3496 into master will decrease coverage by 0.81%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3496      +/-   ##
==========================================
- Coverage   15.26%   14.45%   -0.82%
==========================================
  Files         267      267
  Lines       10840    10742      -98
  Branches     1520     1482      -38
==========================================
- Hits         1655     1553     -102
- Misses       9014     9020       +6
+ Partials      171      169       -2

Impacted Files
Coverage Δ

src/util/dev/builder-cache.ts
77.5% <0%> (-8.22%)
:arrow_down:

src/util/dev/server.ts
58.96% <0%> (-0.71%)
:arrow_down:

src/util/get-dist-tag.ts
66.66% <0%> (ø)
:arrow_up:

src/util/dev/router.ts
73.23% <0%> (+3.9%)
: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 d6f71c8...07a99cb. Read the comment docs.


ISO 8601 time interval parsed wrong

From the wiki we get the following different formats to devine a time interval
There are four ways to express a time interval:

Start and end, such as "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
Start and duration, such as "2007-03-01T13:00:00Z/P1Y2M10DT2H30M"
Duration and end, such as "P1Y2M10DT2H30M/2008-05-11T15:30:00Z"
Duration only, such as "P1Y2M10DT2H30M", with additional context

I tried to parse this formats with moment.range(...) but only the first interval is parsed correctly.
These are my testcyases
'2007-03-01T13:00:00Z/2008-05-11T15:30:00Z',
moment.range('2007-03-01T13:00:00Z/2008-05-11T15:30:00Z').contains(moment("2007-03-02")), // true
moment.range('2007-03-01T13:00:00Z/2008-05-11T15:30:00Z').contains(moment("2007-03-01")), // false
moment.range('2007-03-01T13:00:00Z/2008-05-11T15:30:00Z').contains(moment("2008-05-12")), // false
"2007-03-01T13:00:00Z/P1Y2M10DT2H30M",
moment.range('2007-03-01T13:00:00Z/P1Y2M10DT2H30M').contains(moment("2007-03-02")), // false --> should be TURE!
moment.range('2007-03-01T13:00:00Z/P1Y2M10DT2H30M').contains(moment("2007-03-01")), // false
moment.range('2007-03-01T13:00:00Z/P1Y2M10DT2H30M').contains(moment("2008-05-12")),
"P1Y2M10DT2H30M/2008-05-11T15:30:00Z",
moment.range('P1Y2M10DT2H30M/2008-05-11T15:30:00Z').contains(moment("2007-03-02")), // false --> should be TURE!
moment.range('P1Y2M10DT2H30M/2008-05-11T15:30:00Z').contains(moment("2007-03-01")), // false
moment.range('P1Y2M10DT2H30M/2008-05-11T15:30:00Z').contains(moment("2008-05-12")), // false
"P1Y2M10DT2H30M",
moment.range('P1Y2M10DT2H30M').contains(moment("2007-03-02")), // false --> should be TURE!
moment.range('P1Y2M10DT2H30M').contains(moment("2007-03-01")), // false
moment.range('P1Y2M10DT2H30M').contains(moment("2008-05-12")), // false

Demo: https://stackblitz.com/edit/moment-js-ttpb3c?file=src%2Fapp%2Fapp.component.ts
This means that only the first case is supported, but other cases, which are in the standard, are not supported.

I got this problem too.
And i found PR 259 had been merged.
https://github.com/rotaready/moment-range/pull/259
Before release a new version you can implement it in your project.
It is easy to implement base on moment.duration (moment version large then v2.3?)

This is still an issue in version 4.0.2


METRON-984 Stellar functions to decode encoded fields or strings

This functionality involves ( as a start ) encodings based on the Apache Commons Codec library ( binary )
Support exists for the following encodings:

Base32
Base32 as hex
Base 64
Binary
Hex

The Stellar functions added:

LIST_SUPPORTED_ENCODINGS : List the supported encodings
IS_ENCODING : is this string encoded this way?
DECODE : decode a string with a given encoding, optionally verify it is in fact encoded that way
ENCODE: encodes a string with a given encoding

Contributor Comments
[Please place any comments here.  A description of the problem/enhancement, how to reproduce the issue, your testing methodology, etc.]
Testing

Build and tests should run
run the stellar shell

cd metron/metron-stellar/stellar-common
mvn -DskipTests package && mvn exec:java -Dexec.mainClass="org.apache.metron.stellar.common.shell.StellarShell"

[Stellar]>>> Functions loaded, you may refer to functions now...

[Stellar]>>> baseString:="METRON is a top level project!"
[Stellar]>>> encoded:=ENCODE(baseString,'BASE64')
[Stellar]>>> encoded
TUVUUk9OIGlzIGEgdG9wIGxldmVsIHByb2plY3Qh
[Stellar]>>> decoded:=DECODE(encoded,'BASE64')
[Stellar]>>> decoded
METRON is a top level project!
[Stellar]>>> IS_ENCODING(encoded,'BASE64')
true

For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[na] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[x] Have you included steps or a guide to how the change may be verified and tested manually?

[x] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && build_utils/verify_licenses.sh

[x] Have you written or updated unit tests and or integration tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[ ] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

Ok, I dig this a lot.  +1 by inspection.  The only thing I ask is that since you're adding a new dependency, would you ensure a smoketest in full-dev and maybe pass through a couple of records with the stellar fucntions exercised?  I do this only because new dependencies may introduce classpath issues that don't rear their heads until runtime.

Will do

@cestella, I don't see my functions listed in the config ui, but they are in the shell.  That doesn't seem right?

And they do get returned from the rest api stellar controller

Ok @cestella , I used the Stellar management functions :
[Stellar]>>> bro_parser_config:= CONFIG_GET('PARSER','bro')
[Stellar]>>> PARSER_STELLAR_TRANSFORM_PRINT( bro_parser_config )
╔═══════╤════════════════╗
║ Field │ Transformation ║
╠═══════╧════════════════╣
║ (empty)                ║
╚════════════════════════╝
[Stellar]>>> original_string:='foo'
[Stellar]>>> encoded_original:=ENCODE(original_string,'BASE64')
[Stellar]>>> SHELL_LIST_VARS(40)
╔═══════════════════╤═══════════════════════════════════════════════════════════════════╤══════════════════════════════════╗
║ VARIABLE          │ VALUE                                                             │ EXPRESSION                       ║
╠═══════════════════╪═══════════════════════════════════════════════════════════════════╪══════════════════════════════════╣
║ encoded_original  │ Zm9v                                                              │ ENCODE(original_string,'BASE64') ║
╟───────────────────┼───────────────────────────────────────────────────────────────────┼──────────────────────────────────╢
║ original_string   │ foo                                                               │ 'foo'                            ║
╟───────────────────┼───────────────────────────────────────────────────────────────────┼──────────────────────────────────╢
║ bro_parser_config │ {                                                                 │ CONFIG_GET('PARSER','bro')       ║
║                   │                                                                   │                                  ║
║                   │ "parserClassName":"org.apache.metron.parsers.bro.BasicBroParser", │                                  ║
║                   │                                                                   │                                  ║
║                   │ "sensorTopic":"bro",                                              │                                  ║
║                   │   "parserConfig":                                                 │                                  ║
║                   │ {}                                                                │                                  ║
║                   │ }                                                                 │                                  ║
╚═══════════════════╧═══════════════════════════════════════════════════════════════════╧══════════════════════════════════╝
[Stellar]>>> bro_parser_config_new:= PARSER_STELLAR_TRANSFORM_ADD( bro_parser_config , SHELL_VARS2MAP( 'encoded_original' ) )
[Stellar]>>> PARSER_STELLAR_TRANSFORM_PRINT( bro_parser_config_new )
╔══════════════════╤══════════════════════════════════╗
║ Field            │ Transformation                   ║
╠══════════════════╪══════════════════════════════════╣
║ encoded_original │ ENCODE(original_string,'BASE64') ║
╚══════════════════╧══════════════════════════════════╝

[Stellar]>>> CONFIG_PUT('PARSER', bro_parser_config_new , 'bro' )
[Stellar]>>> PARSER_STELLAR_TRANSFORM_PRINT( CONFIG_GET('PARSER', 'bro' ))
╔══════════════════╤══════════════════════════════════╗
║ Field            │ Transformation                   ║
╠══════════════════╪══════════════════════════════════╣
║ encoded_original │ ENCODE(original_string,'BASE64') ║
╚══════════════════╧══════════════════════════════════╝

[Stellar]>>>

and in kibana observed :

@cestella  are we still OK with this?  I'd like to get it in


[ASR Widget] “Browse for file” is unresponsive

For automatic speech recognition models like Whisper, the “Browse for file” button is not responsive. When clicking it, the file navigator opens; however, when selecting an audio file, nothing happens. On the other hand, “Record from browser” works just fine. Also, drag and drop works.
How to reproduce

Go to Whisper page (or any ASR model)
Click “Browse for file”
Browse for an audio file

Result
I cannot see an error; it seems that the page reloads when the “Browse for file” is clicked. When we select an audio file, its name does not appear on the screen. When we click “Compute”, an error says “You must select or record an audio file” because there is no audio file uploaded.

Fix works: https://huggingface.co/openai/whisper-large-v3


Increment floats

Fixes #868 and #1990.
For a query such as:
knex('accounts').where('id', 1).increment('balance', 0.1);

the expected sql is
update "accounts" set "balance" = "balance" + 0.1 where "id" = 1

however, the actual sql is
update "accounts" set "balance" = "balance" + 0 where "id" = 1

The problem is that parseInt is being used instead of parseFloat in the builder code.
I tried my best to write lots of tests, and I had to add a float column to the existing integration test account schema to properly test this. This is my first time contributing to this repo, so apologies if I missed anything in the process.

Looks good 👍

thanks a lot!


Added support for PHP 8.0.

Updated dependencies.
Updated implementation of symfony/cache.

I will look into the failed test and update PR :)

Updated minimum PHP version from 7.1 to 7.3. Now supports only 7.3 and 8.0.
Updated phpunit to 9.5 and updated phpunit.xml.dist accordingly.
Updated symfony/cache and the implementation.

Hi @KristianI
thanks for your help.
Please note, the changes will be merged into a new major release (2.1.0) as I've updated the terminology of the CLI interface a while back.


[BUG] Class excel does not exist

Package version, Laravel version
Laravel-Excel v2.1.17
Laravel v5.4.17
Expected behaviour
Work
Actual behaviour
Not working
Exception stack trace
ReflectionException in Container.php line 719:
Class excel does not exist
in Container.php line 719
at ReflectionClass->__construct('excel') in Container.php line 719
at Container->build('excel') in Container.php line 598
at Container->resolve('excel') in Container.php line 567
at Container->make('excel') in Application.php line 708
at Application->make('excel') in Facade.php line 221
at Facade::__callStatic('make', array('excel')) in AdminFeedbackController.php line 89
at AdminFeedbackController->excel()
at call_user_func_array(array(object(AdminFeedbackController), 'excel'), array()) in Controller.php line 55
at Controller->callAction('excel', array()) in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(AdminFeedbackController), 'excel') in Route.php line 203
at Route->runController() in Route.php line 160
at Route->run() in Router.php line 559
at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AuthenticateWithBasicAuth.php line 38
at AuthenticateWithBasicAuth->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 65
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
at Pipeline->then(object(Closure)) in Router.php line 561
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 520
at Router->dispatchToRoute(object(Request)) in Router.php line 498
at Router->dispatch(object(Request)) in Kernel.php line 174
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30
at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30
at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ValidatePostSize.php line 27
at ValidatePostSize->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 53
at require_once('/home/web/PhpstormProjects/nda/public/index.php') in server.php line 21

Screenshot of Excel file
No
Steps to reproduce the behaviour
I've installed it with composer, then I put provider and alias strings where they belong.
I've tried both App::make('excel'); and Excel::create('Something'); options, each time I'm getting that Class excel does not exist error. Composer updates and autoload dumps doesn't help either.

Are you sure you include the service provider? It sounds like it isn't loaded.
Can you paste the relevant parts op config/app.php

Same exact issue: Laravel 5.4 on 5.3 works fine
use Maatwebsite\Excel\Facades\Excel;
app.php:
Maatwebsite\Excel\ExcelServiceProvider::class,
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
$this->uploadedFile = Excel::load('storage/app/' . $this->uploadedFile, function ($reader) {
})->get();
ReflectionException in Container.php line 719: Class excel does not exist

Perhaps your config is cached?

yes that seems to fix that thanks

To clean cache config, on laravel 5.4 excecute:
php artisan cache:clear
php artisan config:cache

This solved the same problem... Thanks patrickbrouwers!

I tried but
Not yet fixed

[2018-05-15 04:59:08] lumen.ERROR: ReflectionException: Class excel does not exist in /var/www/html/server/vendor/illuminate/container/Container.php:752
Stack trace:
#0 /var/www/html/server/vendor/illuminate/container/Container.php(752): ReflectionClass->__construct('excel')
#1 /var/www/html/server/vendor/illuminate/container/Container.php(631): Illuminate\Container\Container->build('excel')
#2 /var/www/html/server/vendor/illuminate/container/Container.php(586): Illuminate\Container\Container->resolve('excel', Array)
#3 /var/www/html/server/vendor/laravel/lumen-framework/src/Application.php(230): Illuminate\Container\Container->make('excel', Array)
#4 /var/www/html/server/vendor/illuminate/container/Container.php(1195): Laravel\Lumen\Application->make('excel')
#5 /var/www/html/server/vendor/illuminate/support/Facades/Facade.php(159): Illuminate\Container\Container->offsetGet('excel')
#6 /var/www/html/server/vendor/illuminate/support/Facades/Facade.php(128): Illuminate\Support\Facades\Facade::resolveFacadeInstance('excel')
#7 /var/www/html/server/vendor/illuminate/support/Facades/Facade.php(215): Illuminate\Support\Facades\Facade::getFacadeRoot()
#8 /var/www/html/server/app/Http/Controllers/ItemController.php(28): Illuminate\Support\Facades\Facade::__callStatic('load', Array)
#9 [internal function]: App\Http\Controllers\ItemController->import(Object(Illuminate\Http\Request))
#10 /var/www/html/server/vendor/illuminate/container/BoundMethod.php(29): call_user_func_array(Array, Array)
#11 /var/www/html/server/vendor/illuminate/container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container{closure}()
#12 /var/www/html/server/vendor/illuminate/container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Laravel\Lumen\Application), Array, Object(Closure))
#13 /var/www/html/server/vendor/illuminate/container/Container.php(549): Illuminate\Container\BoundMethod::call(Object(Laravel\Lumen\Application), Array, Array, NULL)
#14 /var/www/html/server/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(373): Illuminate\Container\Container->call(Array, Array)
#15 /var/www/html/server/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(339): Laravel\Lumen\Application->callControllerCallable(Array, Array)
#16 /var/www/html/server/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(313): Laravel\Lumen\Application->callLumenController(Object(App\Http\Controllers\ItemController), 'import', Array)
#17 /var/www/html/server/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(275): Laravel\Lumen\Application->callControllerAction(Array)
#18 /var/www/html/server/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(260): Laravel\Lumen\Application->callActionOnArrayBasedRoute(Array)
#19 /var/www/html/server/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(160): Laravel\Lumen\Application->handleFoundRoute(Array)
#20 [internal function]: Laravel\Lumen\Application->Laravel\Lumen\Concerns{closure}(Object(Illuminate\Http\Request))
#21 /var/www/html/server/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#22 /var/www/html/server/app/Http/Middleware/CorsMiddleware.php(30): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing{closure}(Object(Illuminate\Http\Request))
#23 /var/www/html/server/vendor/illuminate/pipeline/Pipeline.php(149): App\Http\Middleware\CorsMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#24 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#25 /var/www/html/server/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#26 /var/www/html/server/vendor/illuminate/pipeline/Pipeline.php(102): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing{closure}(Object(Illuminate\Http\Request))
#27 /var/www/html/server/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(410): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#28 /var/www/html/server/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(166): Laravel\Lumen\Application->sendThroughPipeline(Array, Object(Closure))
#29 /var/www/html/server/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(107): Laravel\Lumen\Application->dispatch(NULL)
#30 /var/www/html/server/public/index.php(28): Laravel\Lumen\Application->run()
#31 {main}

Same issue i have...laravel 5.4 and mattweb version 2.1.0

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

It worked!,thanks.

Is this problem resolved?

@pipat1995 this bug still happening, somehow the service provider does not get registered during tests... you can manually add Maatwebsite\Excel\ExcelServiceProvider::class, in your config/app.php

@milewski it solves my problem, thank you.

@milewski it solves my problem, thank you.

Class Maatwebsite\Excel\Cache\CacheManager does not exist
Can Anyone help me why i keep getting this error. It works fine on my local machine but pop up error message when live on the server. I have installed and followed all the steps required for maatwebsite Excel package. I am using laravel 5.5 version.

The order of operations is important here. Add the service provider and the class alias to app/config.php:
# app/config.php:
'providers' => [
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
'Excel' => Maatwebsite\Excel\Facades\Excel::class
]
THEN run the artisan cache and config commands on the production server.
php artisan cache:clear
php artisan config:cache


data.all permission table has incorrect permissions after install

Describe the bug
After we installed data.all 2.3 we noticed that we cannot view any team permissions in Admin console and were getting a JS error. This is because the graphql endpoint was returning this:
{
  "data": {
    "listTenantPermissions": [
      {
        "name": "MANAGE_GROUPS",
        "description": "Manage teams",
        "__typename": "Permission"
      },
      {
        "name": "MANAGE_ENVIRONMENTS",
        "description": "Manage environments",
        "__typename": "Permission"
      },
      {
        "name": "MANAGE_ORGANIZATIONS",
        "description": "Manage organizations",
        "__typename": "Permission"
      },
      null,
      null,
      null
    ]
  }
}

Notice the nulls.
After we looked at the permission table it looked like this:

Notice the last 3 permissions. In our case they shouldn't be there. Once I deleted one of the permissions:
delete from DBNAME.permission WHERE "type"='TENANT' and "name" = 'MANAGE_SGMSTUDIO_USERS';
and reloaded the UI I was then able to list team permissions and the table now looks like this:

It seems there's a bug in L121 of dataall/backend/dataall/core/permissions/db/permission_repositories.py which doesn't correctly detect that permissions should be updated because it's based on count.
However I think the problem is even earlier and the db migrations should set the table into correct state on install and we shouldn't need to fix permissions during graphql api calls but I don't know why it was done this way.. I just can say it's unusual and it would make more sense if the db migrations would set the db into correct state on install.
How to Reproduce
*P.S. Please do not attach files as it's considered a security risk. Add code snippets directly in the message body as much as possible.*

Expected behavior
On fresh install of data.all 2.3 permission table should have correct state for tenant permissions.
Your project
No response
Screenshots
No response
OS
N/A
Python version
N/A
AWS data.all version
2.3
Additional context
No response

Hi @zsaltys - thank you for raising this issue. The above error of saving the initial set of Tenant Permissions is one that would only arise when doing an initial deploy of data.all with a particular subset of modules disabled in config.json.
Nonetheless, I do agree there are a number of improvements that we can do to better save permissions to the DB tables

Firstly, we do initialize the permissions in the table in both the DB Migration script (we have migration scripts that call init_permissions()) as well as in api_handler.py (here more as a safeguard - i.e. if DA Admin enabled 4 new modules need to init module-specific permissions somewhere)

Maybe we can always call init_permissions() as part of the DB Migration CodeBuild (separate from pre-existing migration scripts) and remove entirely from api_handler.py (agreed that it feels out of place a bit here)

We need to change the ways we compare if the required permissions are already present in the table

Instead of doing count checks on permissions - query to see if permission exists and if not insert it into the permissions table (this would be rewriting the init_permission() function a bit)

(Going Further) We currently only add permissions to the table if they do not exist but we do not delete permissions/ clean up (e.g. if we disabled Notebooks module we do not remove MANAGE_NOTEBOOK permission)

Currently, this does not pose as an issue for data.all as the permissions table is infrequently written to and we have other backend and frontend conditional logic to prevent users interacting with module-specific code if module is in a disabled
Just calling out here to see if others can think of any need we may want to implement some clean up logic to permissions table

Others things to consider is the foreign key relationship between permission table and other permission_policy tables and groups --> meaning it is not as simple as a delete operation on the permission table to clean up and may have larger implications

I think this is solved by #1145 right @petrkalos?

Indeed, that should be solved by #1145, I am closing the issue, please reopen if it's not solved.


Have a bot implement a virtual fs

This bot accomplishes a few goals:

I want to have a bot with some state so that we can start fleshing out an API for upcoming things like RSVPBot.

It might be kind of useful to have a way to store little things on Zulip under a fs-like namespace.

This application is general-purpose in some sense, as a reference bot.

Automated message from Dropbox CLA bot
@showell, it looks like you've already signed the Dropbox CLA. Thanks!

Just to make sure I understand, this is a simple bot that basically interacts as a virtual in-memory filesystem?

Correct
Sent from my iPhone

On Oct 10, 2016, at 4:48 PM, Tim Abbott<EMAIL_ADDRESS>wrote:
Just to make sure I understand, this is a simple bot that basically interacts as a virtual in-memory filesystem?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Merged, thanks @showell!


Add v1 code back

PR Summary

This PR adds back the v1 code and tests to the Archive_v1 folder. It updates the required PowerShell version for the v2.0.1 module to PowerShell v7.3.0
PR Context

See above.

/azp run PowerShell.Microsoft.PowerShell.Archive

@ayousuf23 Thanks for getting to this promptly!
Can you please add the build scripts and ymal files related to v1 to the Archive_v1 folder as well?

@daxian-dbw Sure, I'll add those as well

@daxian-dbw I added the build scripts and yaml files. I'm waiting for the tests to run and then it can be merged.

@daxian-dbw The tests passed. You can merge it now

I don't have permission to merge.

I don't have permission to merge.

Me neither 😄. @SteveL-MSFT can you please merge?

Why not preserve a clean history and create new repository PowerShell/Microsoft.PowerShell.Archive.V2?

Talked this over with everyone and we're gonna go with creating a branch off the old code in case it's needed for servicing.

FYI https://github.com/PowerShell/Microsoft.PowerShell.Archive/tree/servicing


Set prometheus in agent mode and upgrade kube-prometheus-stack to 30.0.0

Upgrade kube-prometheus-stack to 30.0.0, this to get the latest prometheus-operator version so we can use
prometheus in agent mode.
Also run prometheus in agent mode, this to lower resource usage and a smarter way of handling WAL.

When upgrading the helm chart I got the following error:
│ Error: cannot patch "prometheus-kube-state-metrics" with kind Deployment: Deployment.apps "prometheus-kube-state-metrics" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/instance":"prometheus", "app.kubernetes.io/name":"kube-state-metrics"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
│
│   with module.aks1_core.module.prometheus["prometheus"].helm_release.prometheus,
│   on .terraform/modules/aks1_core/modules/kubernetes/prometheus/main.tf line 38, in resource "helm_release" "prometheus":
│   38: resource "helm_release" "prometheus" {

I solved it by deleting the deployment:
k delete deployment prometheus-kube-state-metric -n prometheus

It's possible to run in agent mode but it's currently not a first class citizen: https://github.com/prometheus-operator/prometheus-operator/issues/3989
But I will try to apply the workaround described here: https://github.com/prometheus-operator/kube-prometheus/blob/main/docs/customizations/prometheus-agent.md

As a part of upgrading to this version you will need to delete the old prometheus PVC.
Ether delete the prometheus xks
kubectl delete prometheus xks -n prometheus
or you can also set the replicas to 0
kubectl edit prometheus xks -n prometheus
Then delete the PVC
kubectl delete pvc prometheus-xks-db-prometheus-xks-0 prometheus-xks-db-prometheus-xks-1 -n prometheus


rdkit-stubs/Chem/rdchem.pyi: Mol.GetAtoms and Mol.GetBonds are wrong

Describe the bug
lib/python3.12/site-packages/rdkit-stubs/Chem/rdchem.pyi:
class Mol(Boost.Python.instance):
    # omitted
    @staticmethod
    def GetAtoms(m):
        ...
    @staticmethod
    def GetBonds(m):
        ...

Here the signatures of Mol.GetAtoms and GetBonds are wrong.
To Reproduce
python3 -m venv venv
. ./venv/bin/activate
pip install rdkit==2023.9.6

Expected behavior
    # not a staticmethod
    def GetAtoms(self) -> rdkit.Chem._GetAtomsIterator:
        ...
    def GetBonds(self) -> rdkit.Chem._GetBondsIterator:
        ...

Screenshots
If applicable, add screenshots to help explain your problem.
Configuration (please complete the following information):

RDKit version: 2023.9.6
OS: EndeavourOS
Python version (if relevant):
Are you using conda? no
If you are using conda, which channel did you install the rdkit from?
If you are not using conda: how did you install the RDKit? pip

Additional context
Add any other context about the problem here.

Describe the bug:
I am seeing the same bug and wanted to provide additional context in case it is helpful.  In my case, I am using Python 3.11, and performing type checking with mypy (Version 1.10.1) picks up on these unexpected signatures.
Current version of lib/python3.11/site-packages/rdkit-stubs/Chem/rdchem.pyi:
class Mol(Boost.Python.instance):
    # omitted
    @staticmethod
    def GetAtoms(m):
        ...
    @staticmethod
    def GetBonds(m):
        ...

Minimal example of __init__.py:
from pydantic import validate_call, ConfigDict

config = ConfigDict(strict=True)

@validate_call(config=config)
def myfunc(smiles: str):
    mol = Chem.MolFromSmiles(smiles)
    for atom in mol.GetAtoms():
        ...

Results of type checking the __init__.py file above using the existing lib/python3.11/site-packages/rdkit-stubs/Chem/rdchem.pyi file:
❯ mypy . --check-untyped-defs
... error: Missing positional argument "m" in call to "GetAtoms" of "Mol" [call-arg]

I updated the rdchem.pyi file locally, analogously to e-kwsm, by removing the @staticmethod decorators and adding self as an argument:
class Mol(Boost.Python.instance):
    # omitted
    def GetAtoms(self) -> rdkit.Chem._GetAtomsIterator:
        ...
    def GetBonds(self) -> rdkit.Chem._GetBondsIterator:
        ...

With that change made, the mypy type checks pass.
❯ mypy . --check-untyped-defs
Success: no issues found in 2 source files

I stopped shy of submitting a PR because I was unsure of potential downstream consequences.  Anyway, I hope some of the information above is helpful.
Configuration (please complete the following information):
RDKit version: 2023.9.6
OS: Mac OS
Python version (if relevant): python3.11
Are you using conda? No
If you are using conda, which channel did you install the rdkit from? N/A
If you are not using conda: how did you install the RDKit? pip


refactor(transformer): move implementation of ArrowFunction to common/ArrowFunctionConverter

Part of #7074
In order can reuse the ability of the ArrowFunction plugin, we moved out the implementation to common, then we can use use in other plugins

#7107  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Dunqing and the rest of your teammates on  Graphite

Merge activity

Nov 4, 10:07 AM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.

 @Dunqing merge conflicts with your other PR.


Internal Error: Unsupported security scheme 'openIdConnect'

Internal Error: Unsupported security scheme 'openIdConnect'
https://swagger.io/docs/specification/authentication/openid-connect-discovery/
Apparently this isn't supported?

Hi,
The main issue with OpenIDConnect and OAuth2 is that it adds a lot of complexity if you want to support all the different flows to retrieve the accessToken.
For OAuth2, I added a simple support to use the retrieved accessToken and I guess it should be the same system for OpenIDConnect.
A workaround for now would be to change the security scheme type to OAuth2 which should work the same.
I'll add support for OIDC

This should now be resolved in the latest version (4.1.0)


Fix Lavalink URLs

This fixes references to my old username. Someone else currently has control over my old username.

Thanks for the head's up and PR, merging it ~


InternVL2 Error

Generating with V2.0
A: torch.Size([7175, 3200]), B: torch.Size([9600, 3200]), C: (7175, 9600); (lda, ldb, ldc): (c_int(229600), c_int(307200), c_int(229600)); (m, n, k): (c_int(7175), c_int(9600), c_int(3200))
cuBLAS API failed with status 15
error detected

Command -
python3  run.py --data MMBench_DEV_EN MME SEEDBench_IMG MMMU_DEV_VAL --model InternVL2-40B  --verbose

I am able to run InternVL series 1 but for InternVL2 I am getting this error.Though I am able to run the 26B InternVL2
I have build the VLMEvalKit from its latest master branch.
Also the config does not have the InternVL2-76B listed which has been integrated in the code

InternVL2 uses transformers == 4.37.0. Please check your package version.
InternVL2-76B is under testing. We will officially support and update it later in the config.py file.

@junming-yang , yes I have the correct transformers version. InternVL2-26B runs but InternVL2-4)b gives the type mismatch error

I tried to reproduce this bug using the latest code and ran the same command. It appears to be working normally.

Hi, @amitbcp , InternVL2-76B is already supported now. For the type mismatch error, please provide more context.

Thanks @kennymckormick ! yup was able to run InternVL2
thought the leaderboard is not updated with the same.
I have the benchmark results for InternVL2-76B let me know how can I share ?


Remove startingCSV from subscription.yaml

Remove the startingCSV line from the subscription.yaml as it's not necessary and requires installation and updates in OLM to start at an older release rather than just installing the latest. This can have issues if the catalog source (index image) does not have the appropriate starting CSV release. (Additionally this blocked installation of observability-operator.v0.0.11 since v0.0.10 wasn't available in the index image, and resulted in an out of sync condition with the latest release.)

Thank you for the contribution ❤
Could you please just update the commit message to be compliant with the convention we require

Thank you for the contribution heart
Could you please just update the commit message to be compliant with the convention we require

Done

:wave: the commit message would need an update
https://github.com/rhobs/observability-operator/runs/7109437423?check_suite_focus=true

Thanks for fixing it, I've enabled auto-merge for when the tests pass ❤


Spelling: "datasource" should be IGListAdapterDataSource in Core Data guide

⚠ Open Source Workshop ⚠
The line

The main difference will be in the setup of the model in the datasource.

Should be

The main difference will be in the setup of the model used in the IGListAdapterDataSource.

I'll take this.

Thanks @manvsmachine! Still planning on this?


Cookie file /rabbitmq/data/.erlang.cookie must be accessible by owner only

The viya4-deployment project creates site-config/vdm/transformers/sas-storageclass.yaml from a template. That yaml modifies all statefulsets to use whatever the user set for V4_CFG_STORAGECLASS which, in some cases, is sas-azurefile if customer follows the doc. RabbitMQ is controlled by a statefulset, so as a result, Rabbit is using their sas-azurefile storage (which supports RWX with permissions 777). Rabbit only needs RWO. We think the easiest way to resolve this is for the viya4-deployment project to modify the last line of roles/vdm/templates/transformers/sas-storageclass.yaml to exclude Rabbit. ie:
   annotationSelector: sas.com/component-name notin (sas-risk-cirrus-search,sas-workload-orchestrator,sas-rabbitmq-server)

Note: Internal reference number is<PHONE_NUMBER>

We don't officially support AzureFile.
The 2 currently supported items are NFS - for the standard storage and an enterprise storage - for HA storage. Both are setup to use the 'sas' storage class.
If a user/customer has modified the V4_CFG_STORAGECLASS to use another storage class, that's on them.
The selector can be altered in the running cluster as well by the cluster to adjust the above recommendation.

@bullcity42 can you provide more information here? Looking to see what storage class the sas-rabbitmq-server typically use. Do you use the default storage class, create your own for use, these are the questions we need answered. You can't base your coding on a specific providers component as you've stated above Aurefile as this is not supported in all providers. When we have an answer we'll revisit. If needed reach-out internally and we can chat.

We still don't officially support AzureFile.
Due to inactive in this ticket, marking as stale. If there are further questions/concerns please response back or open a new GitHub issue.


Client: Document getJWT & verifyJWT

Need docs for https://github.com/feathersjs/feathers-authentication/pull/314

Issue moved to feathersjs/feathers-authentication-client #1 via ZenHub


Xen or ACRN support?

Are there plans to support additional hypervisors like Xen or ACRN? The docs here say

Kata Containers is designed to support multiple hypervisors. For the 1.0 release, Kata Containers uses just QEMU/KVM to create virtual machines where containers will run

And the firecracker work indicates that it is pluggable. Granted, Xen and ACRN assume a level of kernel support (actually, booting, since they are type 1 hypervisors), but assuming those are in place, is it possible to get them worked in, and are there plans (or at least "guide to adding a hypervisor")?

Hi @deitch. That doc is correct but needs a refresh (https://github.com/kata-containers/documentation/issues/567 raised) since newer releases support additional hypervisors: QEMU, NEMU, ACRN and Firecracker. See:

https://github.com/kata-containers/runtime/tree/master/cli/config
https://github.com/kata-containers/runtime/releases

Regarding Xen, it might be possible to add support if there is interest (would you be interested in contributing?)
Finally, there is documentation on how to add support for a new hypervisor in the form of the virtcontainers API documentation:

https://github.com/kata-containers/runtime/blob/master/virtcontainers/README.md

That is great!
I might be. I am doing some work with the fine folks at lf-edge eve. The current base is running pure VMs (i.e. real OSes), not OCI containers, but are experimenting with getting proper OCI containers running while fully isolated by a VM (sound familiar? :-) ). The current hypervisor is Xen, although ACRN support was just merged in courtesy of one of your Intel folks.
So... I think there very well might be interest. I would be happy to do it, but need to see where the priorities are first; IMO I think it is coming fast. They did a quick rkt proof-of-concept, largely because rkt-xen support was there and ready, but obviously rkt is archived and OCI compatibility is the way to go.
I am going to circle back and see timelines and how we can get some love in this direction.

Hi @deitch - this sounds great! :smile:
Please do let us know how this progresses (either here, or mailing list, etc - see https://github.com/kata-containers/community#join-us).

Will do. I sent you an email to your work address as well.

I've been watching this issue silently.  Has it been closed because Xen/ACRN support is now added, or is the work abandoned or obsoleted?


[FEATURE] Possible algorithm output formats

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Hi, can the algorithm output be a PDF file (let's say if my algorithm makes an API call to an external app which then returns a PDF file)? if yes, how should I structure output schema? The list of algorithm output types seems to be limited to 'number, integer, null, array, object, boolean, string) or an array of strings specifying a subset of those types.'
Will the widget be able to take in a PDF (from the algorithm output) and insert it into AIVerify's report?
Current Behavior
No response
Expected Behavior
No response
Steps To Reproduce
No response
Environment
- Operating System and Version:
- AI Verify Version:
- Any other relevant information (e.g. version of related package dependencies installed):

Did you build using source code or from docker file? If from source code, please provide the below information:
- Python Version:
- Node Version:
- Redis Version:
- Mongo Version:
- Screen Resolution:

Screenshots/ Code snippets
No response
Additional Context
No response
Possible Solution (Optional)
No response

Hi! I was wondering if there are any updates to this?


[mesheryctl] Added version validation in channel command

Signed-off-by: sayantan1413<EMAIL_ADDRESS>Description
Added the version validation in the channel command
This PR fixes #4443
Notes for Reviewers
Command used : mesheryctl system channel set stable-v1.0.0
Output :

Signed commits

[x] Yes, I signed my commits.

Codecov Report

Merging #4453 (9f9525e) into master (1eaca27) will decrease coverage by 7.06%.
The diff coverage is 0.00%.

:exclamation: Current head 9f9525e differs from pull request most recent head fec9f26. Consider uploading reports for the commit fec9f26 to get more accurate results

@@            Coverage Diff             @@
##           master    #4453      +/-   ##
==========================================
- Coverage   31.87%   24.81%   -7.07%
==========================================
  Files          59       59
  Lines        5067     5074       +7
==========================================
- Hits         1615     1259     -356
- Misses       2990     3475     +485
+ Partials      462      340     -122

Flag
Coverage Δ

gointegrationtests
?

unittests
24.81% <0.00%> (+0.63%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

mesheryctl/internal/cli/root/system/channel.go
16.98% <0.00%> (-1.02%)
:arrow_down:

mesheryctl/internal/cli/root/system/status.go
0.00% <0.00%> (-62.83%)
:arrow_down:

mesheryctl/internal/cli/root/system/start.go
1.11% <0.00%> (-53.86%)
:arrow_down:

mesheryctl/internal/cli/root/system/restart.go
2.50% <0.00%> (-47.50%)
:arrow_down:

mesheryctl/internal/cli/root/system/stop.go
0.86% <0.00%> (-36.75%)
:arrow_down:

mesheryctl/internal/cli/root/system/update.go
1.05% <0.00%> (-34.74%)
:arrow_down:

mesheryctl/internal/cli/root/system/check.go
1.39% <0.00%> (-22.38%)
:arrow_down:

mesheryctl/internal/cli/root/system/logs.go
3.29% <0.00%> (-20.88%)
:arrow_down:

mesheryctl/pkg/utils/helpers.go
64.70% <0.00%> (+3.71%)
: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 acedda9...fec9f26. Read the comment docs.


Toggle hidden files

Please add the possibility to toggle hidden files. Maybe with the keys that Vifm uses:

za toggle visibility of dot files.
zo show dot files.
zm hide dot files.

Thank you

Thanks for your interest in vimiv!
Unfortunately binding key sequences (i.e. multiple regular keys after one another) is not possible in this deprecated gtk port. However, this works just fine in the newer qt port and adding bindings for this would be a matter of minutes. Would it be possible for you to migrate?
I have opened an issue there for further discussion in case you are interested :blush: I will go ahead and close this one as any further work would only happen in the qt port, sorry if this is a major nuissance!


update: expensify-common

Details
PR in expensify-common.
Fixed Issues
$ https://github.com/Expensify/App/issues/24281
PROPOSAL: https://github.com/Expensify/App/issues/24281#issuecomment-1748514268
Tests

Open any report
Paste ~```Code```~
Observe the code block text doesn't gets strike through line and code block creates line break before start and after end

[x] Verify that no errors appear in the JS console

Offline tests

Open any report
Paste ~```Code```~
Observe the code block text doesn't gets strike through line and code block creates line break before start and after end

QA Steps

Open any report
Paste ~```Code```~
Observe the code block text doesn't gets strike through line and code block creates line break before start and after end

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/85894871/83839df9-a56e-4a12-a50d-d9261f3aba58

Android: mWeb Chrome
https://github.com/Expensify/App/assets/85894871/2b217ed5-b219-4bfd-b7f2-f8172c3171b4

iOS: Native
https://github.com/Expensify/App/assets/85894871/dc6183e8-dea0-434f-8640-61f5681f7bfe

iOS: mWeb Safari
https://github.com/Expensify/App/assets/85894871/ef38b7a7-87f2-4308-9c01-687c4b1ef89b

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/85894871/26fdf28a-417d-4395-8a59-d8b46f15562a

MacOS: Desktop
https://github.com/Expensify/App/assets/85894871/0e0738f1-ea66-4c37-91ae-ca8030505187

Tests well, there are only two left

Change the second step of tests to "Paste ~```Test```~"

You should also commit the updated package-lock.json file

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/arosiclair in version: 1.3.85-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.85-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/arosiclair in version: 1.3.86-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.86-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


reinforcement plays parp1

About the PR
no more among sound ok, note was bad so it better now
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog
no cl no fun

linter not caused by parp


Multiple usages of a widget?

Hi, I do think this theme is really cool! Deeply thanks for your work!
Is it possible to use a widget multiple times? For example, is it possible to use "publication" widget with the two titles of "publications 1" and "publications 2", referring "content/publication1" and "content/publication2", respectively? It would be really nice if one could have multiple instances of a widget.

Glad you like the theme :smiley:
I'm not sure if I understand why you want to use multiple publication widgets. The publication widget just lists the most recent publications. I don't think it would be useful to repeat it because the second publication widget would be exactly the same?
Perhaps you want to use the custom widget for your purpose. You can use the custom widget to link to any publications you like, by adding the following content to a custom widget (like the example teaching widget):
My custom publication list:

- [My publication 1]({{< ref "publication/person-re-identification.md" >}})

Oops, sorry for taking "publication" as an example.
Let's say, posts. The posts widget seems to always display stuff in content/post/.
I was curious if I can have several sections of posts like foods, and cars, referring `content/post_food', and 'content/post_cars' (possibly as below?) Would this still too much? :)
# E.g., in content/home/food_posts
# Recent Posts widget.
title = "Thoughts on Foods"
widget = "posts"
target = "content/post_food"    # <- something like this?

# E.g., in content/home/cars_posts
# Recent Posts widget.
title = "Thoughts on Cars"
widget = "posts"
target = "content/post_car"

Thanks for clarifying your suggestion. I understand that it is mainly in relation to the posts widget, rather than publications.
I guess ideally you would want to use Hugo's tag or category feature for posts (i.e. tags = ["Personal"]) and then set a specific category/tag(s) in your content/home/posts.md widget which would adapt the Hugo range query to limit results to posts within the given category/tag(s). Secondly, a few minor tweaks may be required to enable multiple publications widgets to work nicely.
I suppose this may benefit other users too, so I'll consider to implement it.

Update b51cc00 adds functionality to limit the post list to posts containing specified tags. You can specify any amount of tags in the content/home/posts.md widget, for example tags = ["hugo"] or tags = ["hugo", "jekyll"].
It appears to work with multiple posts widgets, although this can be further improved, especially in relation to how multiple widgets are linked.

Thanks you so much. I updated, and it worked well! I hope content/home/projects.md also have such functionality, but I am not pushing you. This academic theme is still awesome now. :)

Glad to hear you got the updated posts widget working!
I have been planning an update to the projects widget which I hope to finish sometime soon. It will remain as one widget but with a horizontal list of tags that can be clicked on to dynamically filter the projects that are displayed. Thus, it should function similarly to how many other popular websites display projects. I'll leave this issue open to get your feedback once I've finished it.

@ywpkwon does the new project filtering feature (demo at https://gcushen.github.io/hugo-academic-demo/#projects ) provide the functionality that you want? Or do you prefer to also have a tags option similar to the posts widget so that you can use multiple instances of the projects widget for different tags?
Note that the projects widget also now lets you choose between list view or cards view.

@gcushen Hi, both the filtering feature and the card view are more than awesome! Thanks for mentioning them! I upgraded the theme right away, and set mine with the card view :)

@ywpkwon great! I would be interested to hear if you think a cards option would be good for posts and/or publications too? Or do you prefer the normal layout for posts and publications on the homepage?

@gcushen Actually, instead of posts, I am usually using only publications and projects. I would prefer the cards option for projects, and the normal list layout for publication. Since I am not blogging yet, I am not so sure about posts, but I guess I would also choose the normal list for posts.
If I can add my opinion, I think it would be useful if I could have "the normal list layout + right side thumbnail image" option (instead of a full width banner). Maybe the right side alignment for thumbnail would be good, since all titles will be still left aligned, regardless of the thumbnail existence. If "list+thumbnail" option is there, I feel like I would use that for all publications, projects, and posts.
(This reminds me a homepage of a professor like below)

@gcushen thank you for the wonderful theme! I was able to use the posts widget multiple times, but it would be awesome to be able to use the project widget more than once too.
I am looking to build an organization website and want to include a page that introduces the team with their pictures as thumbnails.  Team here goes in a separate navigation link on the top. The only way I see that now is to use a second posts widget and then have a separate tag that filters away anything with "team" in the tags list.  This is good for now, but would love to have the ability to use projects and publications widgets in multiple capacities.
One other related questions - I understand that for posts, there can be a default image option that can be specified in the frontmatter of the markdown page. This image has to be in "static/img/". What is the relative position for an inline image in a post? And does it follow the regular syntax of markdown such as ![potrait](potrait.jpg). I could make it work as a url link to the image but not as a path in a static image.
Thank you for the excellent resource!

Update 8277658 significantly improves support for multiple widgets. Now homepage widget identifiers are set to their respective filenames. For example: content/home/about.md widget is now linked from the
menu bar by setting the relevant URL as "#about" in config.toml.
This means that if you have multiple posts/projects widgets, each widget will be assigned a unique ID based on the filename that you set. You can then use that ID for linking, like in the above example.
@ywpkwon I will consider to implement your layout idea :smiley:
@vjd This new update 8277658 should help a lot with your issue. Do you mean that you would also like projects widget to have a tags filter like the posts widget has? So then you can filter projects to a specific tag without displaying any filter buttons to the visitor?

Thanks a lot for this update that resolves my initial question! :)

Hi, George. The same question came to me as well, and I think the tags filter works very well in a flexible way. I am wondering how I can exclude some tags in a post widget. For example, I have tens of tags in total and I want to display two post widgets on the home page. The first post widget displays those posts with the tag 'news'. The second displays those posts without the tag 'news'. Could I simply specify in the second post widget in the way such as tags = [-'news'] or tags = [{exclude}'news'] or something like that? Thank you again for this amazing theme and your kind help.

Hi, gcushen.
I also wish to employ "publication" widget with multiple usages, as requested in the first comment of this issue. The main reason is that I really like the filtering system of publications (by year and category). I am thinking to have two different instances of this widget: one for the actual publications, and another one for the teaching courses. Hence, data would be stored in "content/publication" and "content/courses", respectively.
I need the filtering system because it is very common to repeat a course year over year, but with different contents (i.e., same category, different year).
I see that I may use the "post" widget with tags, arranging html content in a meaningful way. However, in this way I will lost the filtering system, that is indeed very useful for students looking for courses taken in a specific year and related to different subjects. As you suggested, I will employ the post widget in the meanwhile.
By the way, you made a very good work with this theme, thank you for your time!


MySQL Duplicate entry

https://hastebin.com/qiqicafive.sql

Turns out it was caused by modifying the id values. Resolved by exporting & recreating the database.


ValueError: Attention mask should be of size (65, 1, 512, 1024), but is torch.Size([65, 1, 512, 512])

I was trying to quantize CodeLLAMA-7B using the following code
model_path = "codellama/CodeLlama-7b-hf"
quant_path = 'Yi-6B-awq'
quant_config = { "zero_point": True,
                "q_group_size": 128,
                "w_bit": 8,
                "version": "FP16" }

tokenizer = AutoTokenizer.from_pretrained(model_path,
                                          use_fast=False,
                                          trust_remote_code=True)

model = AutoAWQForCausalLM.from_pretrained(model_path,
                                           trust_remote_code=True,
                                           cache_dir="cache/",
                                           device_map = "cuda:0")

# Quantize
model.quantize(tokenizer, quant_config=quant_config)

This error is occurring even for other models and even for the example given in the repo.

If you are using 0.1.7 of AutoAWQ, please install transformers 4.35.2. Otherwise, you can install the main branch of AutoAWQ and it should work with the latest transformers

@casper-hansen changing transformers version to 4.35.2 is working for GEMM and GEMV, but on using FP16 in the quantization config getting the following error.


Azure Cognitive Search vector DB store performs slow embedding as it does not utilize the batch embedding functionality

System Info

Langchain Version: 0.0.306
Python Version: 3.10.11
Azure Cognitive Seach (any sku)
Embedding that has batch functionality

Who can help?
No response
Information

[X] The official example notebooks/scripts
[X] My own modified scripts

Related Components

[ ] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[X] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
Steps to reproduce:

Get a document (or set of documents) that will produce a few hundred chunks
Run the sample code provided by Langchain to index those documents into the Azure Search vector store (sample code below)
Run steps 1 and 2 on another vector store that supports batch embedding (milvus implementation supports batch embeddings)
Analyze the delta between the two vectorization speeds (Azure Search should be noticeably slower)

Sample code:
import openai
import os
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores.azuresearch import AzureSearch

vector_store_address: str = "YOUR_AZURE_SEARCH_ENDPOINT"
vector_store_password: str = "YOUR_AZURE_SEARCH_ADMIN_KEY"

embeddings: OpenAIEmbeddings = OpenAIEmbeddings(deployment=model, chunk_size=1)
index_name: str = "langchain-vector-demo"
vector_store: AzureSearch = AzureSearch(
    azure_search_endpoint=vector_store_address,
    azure_search_key=vector_store_password,
    index_name=index_name,
    embedding_function=embeddings.embed_query,
)

from langchain.document_loaders import TextLoader
from langchain.text_splitter import CharacterTextSplitter

loader = TextLoader("../../../state_of_the_union.txt", encoding="utf-8")

documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)

vector_store.add_documents(documents=docs)

Expected behavior
The expected behavior for the Azure search implementation to also support batch embedding if the implementation of the embedding class supports batch embedding. This should result in significant speed improvements when comparing the single embedding approach vs the batch embedding approach.

It seems like I cannot assign this, but I am going to work on this issue.

I'm facing the same issue. I had my hopes up that the async version of add_documents() would accelerate things but it didn't work the way I hoped.
Currently adding documents will request an embedding for each doc sequentially until it has 1000 embeddings. Then it will upload them to the vector store and continue with the next 1000.
Two possible improvements:

Allow to send documents to the embedding function in batches. I believe Azure OpenAI currently allows batches up 16 but they will hopefully increase this number soon.
Send the the requests for embeddings asynchronously, where multiple requests are send out before responses get back. There is aadd_documents() but it seems to send out everything in a sequential fashion for some reason.

Hi, here we have the same issue. When we split a document in 180 chunks it takes one minute to upload to azure.

Nothing has happened here, so let me post my dirty workaround to be used as an alternative to vector_store.add_documents(docs):
for i in tqdm(range(0, len(docs), 1000)):
    embeddings_batch = embedder.embed_documents([x.page_content for x in docs[i:i+1000]])
    docs_batch = []
    for j, doc in enumerate(docs[i:i+1000]):
        key = str(uuid.uuid4())
        doc_id = base64.urlsafe_b64encode(bytes(key, "utf-8")).decode("ascii")
        doc_dict = {
            "id": doc_id,
            "content": doc.page_content,
            "content_vector": embeddings_batch[j],
            "metadata": json.dumps(doc.metadata)
        }
        docs_batch.append(doc_dict)
    vector_store.client.upload_documents(docs_batch)


Error while trying to add a suggestion with a quotation mark (or any special character)

Context

OS: Intel Mac OS X 10_14_6
Browser : Mozilla/5.0, Chrome/86.0.4240.198
Etherpad version: 1.8.6
ep_comments_page version: 0.1.44

Behavior
When adding a quote in a suggestion (" or ') an error occurs saying Unexpected token in JSON at position.
Seems like others special characters are having troubles too. (Tested : https://www.computerhope.com/jargon/s/specchar.htm )
Steps to reproduce
Add a comment with a suggestion that contains quote mark

Failure Logs
When opening developer tools, console displays this error. It says that a token near 'F' is invalid.
VM361:1 Uncaught SyntaxError: Unexpected token F in JSON at position 50
    at JSON.parse (<anonymous>)
    at Object.html10n.translateNode (html10n.js?v=54405fc9:1)
    at Object.html10n.translateElement (html10n.js?v=54405fc9:1)
    at Object.localize (eval at j (require-kernel.js?v=54405fc9:10), <anonymous>:5:41)
    at EpComments.insertComment (eval at j (require-kernel.js?v=54405fc9:10), <anonymous>:5:12443)
    at HTMLSpanElement.eval (eval at j (require-kernel.js?v=54405fc9:10), <anonymous>:5:9526)
    at Function.each (ace2_common.js?callback=require.define&v=54405fc9:27)
    at m.fn.init.each (ace2_common.js?callback=require.define&v=54405fc9:27)
    at EpComments.collectComments (eval at j (require-kernel.js?v=54405fc9:10), <anonymous>:5:9249)
    at r.eval (eval at j (require-kernel.js?v=54405fc9:10), <anonymous>:5:18760)

Further investigation : No problems when adding a simple comment with a quote.
Failure image

Then comment is broken and can't be displayed.

Special note
Thank you for all you work on this project 😄

Confirmed.  I'm concerned this could be an XSS too.  The changeTo variable is written into the element really weirdly..  I think it mostly needs a Security.escapeHTML but then also why is i10n being passed over it?  Too weird..  Needs more than the 5 minutes I had to look at it today.

That's really weird, I was wondering the same for the i10n. Why are you not using the same logic between basic comments and suggestion inputs ?
That's a real problem for me because I'm currently using etherpad for production and it is breaking my pads.
Does your temporary patch fix future inserted special characters and previous broken pads ?
Thank you very much for your time 😄

I don't have time to go into depth on this.  It will work in production and it fixes historical issues

It's already great to have put a temporary fix. Thanks for your time and all your contribution to etherpad that's amazing !

I see that the correction is effective only in private browsing. It's just a problem with the cache since when I empty my cache everything works fine but I don't want to force users to have to go through this step (some are not comfortable with a computer). My cache is at MAX_AGE = 0 but I have the feeling that the old javascript files are still loaded.
Do you have any advice for me or do you know how to do it?
I encounter this problem with all the fixes.
Thank you for your help !


The dataset "the_pile", subset "enron_emails" , load_dataset() failure

Describe the bug
When run
"datasets.load_dataset("the_pile","enron_emails")" failure

Steps to reproduce the bug
Run below code in python cli:

import datasets
datasets.load_dataset("the_pile","enron_emails")

Expected behavior
Load dataset "the_pile", "enron_emails" successfully.
Environment info
Copy-and-paste the text below in your GitHub issue.

datasets version: 2.7.1
Platform: Linux-5.15.0-53-generic-x86_64-with-glibc2.35
Python version: 3.10.6
PyArrow version: 10.0.0
Pandas version: 1.4.3

Thanks for reporting @shaoyuta. We are investigating it.
We are transferring the issue to "the_pile" Community tab on the Hub: https://huggingface.co/datasets/the_pile/discussions/4


feat(protocol)!: re-implement multi-hop bridging with optional caching

This is the best mutli-hop bridging optimization I can achieve. Documentation will be updated later.
@KorbinianK @cyberhorsey @xiaodino please note that the getSyncedSnippet now does not take any paramter and only returns the latest synced data. Please verify if this is going to work for Bridge relayer/dapp.
@Brechtpd @adaki2004 Please review SignalService. It manages all cross-chain multi-hop bridging functions without relying another contract.
TODO

[ ] Daniel: I'll update the multi-hop document to show how the multi-hop proofs are verified. With some diagram this new design be much easier to review.

I actually use getSyncedSnippet by passing in a blockNum for multi-hop bridging:
if p.hops != nil {
		var hopEthClient ethClient = p.srcEthClient

		for _, hop := range p.hops {
			hop.blockNum = blockNum

			_, err := p.waitHeaderSynced(ctx, hop.headerSyncer, hopEthClient, blockNum)

			if err != nil {
				return errors.Wrap(err, "p.waitHeaderSynced")
			}

			snippet, err := hop.headerSyncer.GetSyncedSnippet(&bind.CallOpts{
				Context: ctx,
			},
				hop.blockNum,
			)

			slog.Info("hop synced snippet",
				"syncedInBlock", snippet.SyncedInBlock,
				"blockNum", hop.blockNum,
				"blockHash", common.Bytes2Hex(snippet.BlockHash[:]),
			)

			if err != nil {
				return errors.Wrap(err, "hop.headerSyncer.GetSyncedSnippet")
			}

			blockNum = snippet.SyncedInBlock

			hopEthClient = hop.ethClient
		}

		blockNum, err = p.waitHeaderSynced(ctx, p.destHeaderSyncer, hopEthClient, blockNum)
		if err != nil {
			return errors.Wrap(err, "p.waitHeaderSynced")
		}

In this way, you can see that I use it as a way to find out which block num on the hop chain the previous blockHash was synced in, and then wait for that header to be synced on the next hop chain. In this way, I dont need to wait for the "latest" header to be synced - I can just check if the block number the hop the blockHash was synced in.
I could check events, and just poll the database for the events instead, but we may want to try and "freeze" as much relayer code as possible.

@cyberhorsey could you take another look at the PR. I reverted some changes.

Ok, after going through the code i have a question, with an example:
No multi-hop, just simple L1-> L2.

Alice sends ether at blockheight 100.
Bob sends ether at blockheight 100.

Carol (relayer) is an EOA who processes the messages on the destination chain and it obviously waits till L2 anchor syncs the L1 state root for (at least) l1 blockHeight 100 -> Then Carol is about to process indeed those messages with the appropriate proofs.
Carol has the right to NOT cache any data when first processes Alice's sending. But in such case, next time he also has to pay (again) for the full merkle proof (account + storage) data on-chain plus the calculation of the storage root in LibTrieProof.sol
So instead Carol (and other relayers for the same blockheight - which is now already proven tho not cached) pays X + Y amount of fees (where X> Y), Carol now pays X + X.
Why not making caching default and not optional ? 🤔  In such case, Carol (and every other relayer) would save money if they are submitting proofs for same blockheight.
I understand that there is an extra storage write during caching, which adds up to 4.8% of the original X cost (current ether bridge costs 430K for the relayer/EOA to process that message), so i guess that is the reason, right ?
Maybe with this flexible option EOAs/relayers can configure if they want to, because maybe they are only processing 1-2 messages per 5-10 minutes so does not worth that extra 4.8% cost and dont want to pay tht so that others could bridge cheaper ?
In any case, maybe official taiko relayers could/should be 'smart relayers' and indeed use caching when load/demand is high?

Ok, after going through the code i have a question, with an example:
No multi-hop, just simple L1-> L2.

Alice sends ether at blockheight 100.
Bob sends ether at blockheight 100.

Carol (relayer) is an EOA who processes the messages on the destination chain and it obviously waits till L2 anchor syncs the L1 state root for (at least) l1 blockHeight 100 -> Then Carol is about to process indeed those messages with the appropriate proofs.
Carol has the right to NOT cache any data when first processes Alice's sending. But in such case, next time he also has to pay (again) for the full merkle proof (account + storage) data on-chain plus the calculation of the storage root in LibTrieProof.sol
So instead Carol (and other relayers for the same blockheight - which is now already proven tho not cached) pays X + Y amount of fees (where X> Y), Carol now pays X + X.
Why not making caching default and not optional ? 🤔 In such case, Carol (and every other relayer) would save money if they are submitting proofs for same blockheight.
I understand that there is an extra storage write during caching, which adds up to 4.8% of the original X cost (current ether bridge costs 430K for the relayer/EOA to process that message), so i guess that is the reason, right ? Maybe with this flexible option EOAs/relayers can configure if they want to, because maybe they are only processing 1-2 messages per 5-10 minutes so does not worth that extra 4.8% cost and dont want to pay tht so that others could bridge cheaper ?
In any case, maybe official taiko relayers could/should be 'smart relayers' and indeed use caching when load/demand is high?

Dani, I think you've got it right. "Smart relayers" will certainly try to figure out what to cache on the destination chain to save gas, but this requires some extra logics in the relayer code and even our own relayer is not ready now due to other priorities.

Dani, I think you've got it right. "Smart relayers" will certainly try to figure out what to cache on the destination chain to save gas, but this requires some extra logics in the relayer code and even our own relayer is not ready now due to other priorities.

I guess some potential use case for optional caching that could make things more efficient is to not cache certain intermediate hops because only certain chains have more signals that need to be proven. Indeed caching is not that significant of a cost, but as long as the code difference between caching and not caching is small like it currently is, it could be worth it for smart relayers so they can take advantage of these types of smart optimizations that do squeeze some extra gas savings out of this option.
I guess one benefit of the approach in Dani's PR is that the smart contract automatically skipped proving the account proof if the signal root was already cached. So even with "dumb" relayers, we were able to save the account proof from being verified onchain. But of course, that was still less than ideal because the relayer would still put the account proof onchain and pay the gas cost for that, so the relayer should really just be made smarter to really make things more efficient in the best way.

I actually gave some thought to the idea of auto-optimizing the onchain verification logics even if the proof is redudant, but later I told myself: lets not do it in the smart contract. If the relayer can be optimized to do it, it should be done offchain.


chore: bdd-spring-1574863449 to 0.0.1

chore: Promote bdd-spring-1574863449 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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


The Forest error when starting the game

When starting the game, this error occurs. I tried launching in a window and in a lower resolution, but nothing worked. Any ideas on how to solve this?

Hi there.
Please fill out the issue template with information such as GPU, driver, OS and or Wine version, logs. If on Windows the dxvk logs usually appear next to the exe.

Is this the file in question?
TheForest_d3d11.log

There should be two. Are you using both the d3d11 and dxgi dlls with the game?

No, I only uploaded d3d11 to the game folder.

You need both

Thanks, it works. In games where I need to upload older versions than d3d11 also need dxgi?

You can find what dlls any specific API needs when using dxvk here https://github.com/doitsujin/dxvk#dll-dependencies


[Meta] Add Mjolnir Cog

Type

[ ] Bugfix
[ ] Enhancement
[x] New feature
[x] Documentation

Description of the changes
Add Mjolnir :D

Made the requested changes!

Perfect, just gotta write the docs and then we're to go. 🎉

All set now. I've got the documentation in the docs/ directory which will be merged along with this PR. This PR also won't be merged until I have finished and approved #82 and #83.


linux-firmware-rpidistro: Create brcmfmac43430-sdio.raspberrypi,model…

…-zero-w.bin symlink
This fixes a boot time message on rpi0w
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.bin failed with error -2

Thanks for this. Would you be able to change the git commit in accordance with https://meta-raspberrypi.readthedocs.io/en/latest/contributing.html? Also, git history on that specific recipe should give you good examples.

Actually I checked that page before and the history and then adapted the commit message of commit a5c2bef10eb22acd8a1e3c2647c7df41e0931f4d which added the same link for model 4b.
Now I added also a similar link for 3B which probably faces the same issue and adapted the commit message.
Another idea about this recipe would be to create the symlinks only for the target MACHINE, resp. all in the set raspberrypi-armv7 or raspberrypi-armv8. For me the current change is sufficient though.
Do I have to trigger the approval workflow somehow or is it done by maintainers only?

@fscr Some NITS for net times ( and it will help in other projects too)

keep line length reasonable including subject
subject doesn't end in full stop

Thanks for this.


Make sure that Scalacp does proper name escaping

Similarly to https://github.com/scalameta/scalameta/issues/1428, Scalacp.sowner relies on platform-specific fully-qualified names, which may be incompatible with the SemanticDB symbol format.

Superseded by https://github.com/scalameta/scalameta/issues/1550.