Notebook: input is lost when switching editors

Refs: https://github.com/microsoft/vscode/issues/96279
Type something into a cell, wait for auto save to run. Click on another editor and back, notice how the input in the cells is lost. At least I do not see it anymore.

I pushed a fix which temporarily solve the data loss problem. A better fix will come after endgame: NotebookCellTextModel is responsible for creating PieceTreeTextBuffer, which can be used for Find/Replace, Editing when the cell is invisible, etc. and then when we render a code cell, we will use the PieceTreeTextBuffer to create a Monaco Editor text model. With this approach, the data is always stored in the NotebookCellTextModel no matter if it's attached to a Monaco Editor or not.

@rebornix I can still reproduce this

open a notebook
type in a cell (don't save, auto-save off)
switch to another text-file
switch back to notebook
:bug: change is lost

I pushed another change in the code cell land (@roblourens for an extra pair of eyes). My repo steps from above now work correctly but we should revisit this during debt week

Leaving this for April for review/double checking but, apart from the debt, I believe that the bug is fixed

Moving this to May for debt. I will push a major refactoring of textbuffer/textmodel to master once it's open for business, the idea is CellTextModel will use ITextBuffer as its data storage, and when a ITextModel is created, it will use the text buffer from CellTextModel as its backing storage. Thus any change happening in the UI will be saved to the text buffer automatically and we don't need to think about saving the dirty content anymore, as long as the text model is not disposed.

Already adopted the text buffer refactoring and hooked up with working copy on the text model level.


pdm 2.10.0 nixpkgs-unstable: permission denied error on pdm init

Describe the bug
When running pdm init from pdm 2.10.0 for creating a new package, the following permission denied error occurs. This does not happen with pdm 2.6.1 currently in nixpkgs-23.05.

Steps To Reproduce
Steps to reproduce the behavior:

Use the following flake to get current unstable branch of pdm 2.10.0 with python311

{
	inputs = {
		nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
		flake-utils.url = "github:numtide/flake-utils";
	};

	outputs = {nixpkgs, flake-utils, ...} :
		flake-utils.lib.eachSystem [ "x86_64-linux" "aarch64-darwin" ] (system:
			let
				pkgs = import nixpkgs { config.allowUnfree = true; inherit system; };
			in {
			devShells.default = pkgs.mkShell {
				inherit system;
				buildInputs = with pkgs; [ python311 pdm ];
			};
		});
}

Run nix develop to create the shell
Run pdm init and use defaults - other than specifying that the library is installable.

Expected behavior
Process should complete without error.
Notify maintainers
@cpcloud @natsukium
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.57, NixOS, 23.05 (Stoat), 23.05.4335.898cb2064b6e`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.5`
 - channels(root): `"nixos-23.05"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Thanks for your report. I think it is fixed, could you please check the PR?

Thanks for your report. I think it is fixed, could you please check the PR?

All good!


Datepicker bug

Live demo.ghost.io production site shows "1432" as the current year when opening datepicker

@JohnONolan I believe this is because the current post published_at is set to that date (demo.ghost.io has historic posts) .
What should the behaviour be for the "schedule it now" option when the post has an existing publish date? Should it default to "now" if the date is in the past?

default to "now" if the date is in the past?

Definitely

We already default to "now + 5mins" as soon as the "schedule it later" option is selected.
Looking into it a bit further the issue is that the popup calendar month view does not jump immediately even though the date has been changed. I think this is a bug in the calendar component because as soon as you click the >> button it jumps to "now + 1 month" because the selection in the calendar is correct, it's just that it's displaying the wrong month.

There are two things that can be done here:

Fix the bug in power-datepicker so that the correct month view is shown when the selected date is updated
Update gh-publishmenu-draft so that the date/time picker always defaults to now+5mins


Docker builds failing due to recent PR

          @30350n unfortunately merging this has broken our docker builds

2023-10-31T12:26:03.6320807Z ======================================================================
2023-10-31T12:26:03.6321472Z ERROR: test_ref_field (order.test_migrations.TestRefIntMigrations)
2023-10-31T12:26:03.6322398Z Test that the 'reference_int' field has been created and is filled out correctly.
2023-10-31T12:26:03.6323197Z ----------------------------------------------------------------------
2023-10-31T12:26:03.6323713Z Traceback (most recent call last):
2023-10-31T12:26:03.6324913Z   File "/home/***/data/env/lib/python3.10/site-packages/django_test_migrations/contrib/unittest_case.py", line 54, in tearDown
2023-10-31T12:26:03.6325843Z     self._migrator.reset()
2023-10-31T12:26:03.6326845Z   File "/home/***/data/env/lib/python3.10/site-packages/django_test_migrations/migrator.py", line 76, in reset
2023-10-31T12:26:03.6327879Z     call_command('migrate', verbosity=0, database=self._database)
2023-10-31T12:26:03.6329005Z   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 181, in call_command
2023-10-31T12:26:03.6329928Z     return command.execute(*args, **defaults)
2023-10-31T12:26:03.6330878Z   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 398, in execute
2023-10-31T12:26:03.6331720Z     output = self.handle(*args, **options)
2023-10-31T12:26:03.6332763Z   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 89, in wrapped
2023-10-31T12:26:03.6333581Z     res = handle_func(*args, **kwargs)
2023-10-31T12:26:03.6334623Z   File "/usr/local/lib/python3.10/site-packages/django/core/management/commands/migrate.py", line 244, in handle
2023-10-31T12:26:03.6335540Z     post_migrate_state = executor.migrate(
2023-10-31T12:26:03.6338837Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/executor.py", line 117, in migrate
2023-10-31T12:26:03.6340225Z     state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
2023-10-31T12:26:03.6341782Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
2023-10-31T12:26:03.6343351Z     state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
2023-10-31T12:26:03.6344881Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/executor.py", line 227, in apply_migration
2023-10-31T12:26:03.6346136Z     state = migration.apply(state, schema_editor)
2023-10-31T12:26:03.6347321Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/migration.py", line 126, in apply
2023-10-31T12:26:03.6348653Z     operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
2023-10-31T12:26:03.6350341Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/operations/special.py", line 190, in database_forwards
2023-10-31T12:26:03.6351357Z     self.code(from_state.apps, schema_editor)
2023-10-31T12:26:03.6352521Z   File "/home/***/InvenTree/order/migrations/0079_auto_20230304_0904.py", line 50, in update_purchase_order_price
2023-10-31T12:26:03.6353540Z     order.total_price = total_price
2023-10-31T12:26:03.6354491Z   File "/usr/local/lib/python3.10/site-packages/djmoney/models/fields.py", line 111, in __set__
2023-10-31T12:26:03.6355454Z     and self.field._currency_field.null
2023-10-31T12:26:03.6356474Z AttributeError: 'InvenTreeModelMoneyField' object has no attribute '_currency_field'

and
2023-10-31T12:26:03.6213495Z ======================================================================
2023-10-31T12:26:03.6214442Z ERROR: test_po_migration (order.test_migrations.TestAdditionalLineMigration)
2023-10-31T12:26:03.6218592Z Test that the the PO lines where converted correctly.
2023-10-31T12:26:03.6219539Z ----------------------------------------------------------------------
2023-10-31T12:26:03.6230801Z Traceback (most recent call last):
2023-10-31T12:26:03.6232400Z   File "/home/***/data/env/lib/python3.10/site-packages/django_test_migrations/contrib/unittest_case.py", line 54, in tearDown
2023-10-31T12:26:03.6233453Z     self._migrator.reset()
2023-10-31T12:26:03.6234576Z   File "/home/***/data/env/lib/python3.10/site-packages/django_test_migrations/migrator.py", line 76, in reset
2023-10-31T12:26:03.6235724Z     call_command('migrate', verbosity=0, database=self._database)
2023-10-31T12:26:03.6237039Z   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 181, in call_command
2023-10-31T12:26:03.6238038Z     return command.execute(*args, **defaults)
2023-10-31T12:26:03.6239094Z   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 398, in execute
2023-10-31T12:26:03.6240025Z     output = self.handle(*args, **options)
2023-10-31T12:26:03.6241046Z   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 89, in wrapped
2023-10-31T12:26:03.6241952Z     res = handle_func(*args, **kwargs)
2023-10-31T12:26:03.6243037Z   File "/usr/local/lib/python3.10/site-packages/django/core/management/commands/migrate.py", line 244, in handle
2023-10-31T12:26:03.6244024Z     post_migrate_state = executor.migrate(
2023-10-31T12:26:03.6245073Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/executor.py", line 117, in migrate
2023-10-31T12:26:03.6246307Z     state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
2023-10-31T12:26:03.6247749Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
2023-10-31T12:26:03.6249947Z     state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
2023-10-31T12:26:03.6251232Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/executor.py", line 227, in apply_migration
2023-10-31T12:26:03.6252179Z     state = migration.apply(state, schema_editor)
2023-10-31T12:26:03.6253385Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/migration.py", line 126, in apply
2023-10-31T12:26:03.6254496Z     operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
2023-10-31T12:26:03.6255893Z   File "/usr/local/lib/python3.10/site-packages/django/db/migrations/operations/special.py", line 190, in database_forwards
2023-10-31T12:26:03.6257036Z     self.code(from_state.apps, schema_editor)
2023-10-31T12:26:03.6258039Z   File "/home/***/InvenTree/order/migrations/0079_auto_20230304_0904.py", line 50, in update_purchase_order_price
2023-10-31T12:26:03.6258883Z     order.total_price = total_price
2023-10-31T12:26:03.6260130Z   File "/usr/local/lib/python3.10/site-packages/djmoney/models/fields.py", line 111, in __set__
2023-10-31T12:26:03.6261078Z     and self.field._currency_field.null
2023-10-31T12:26:03.6261878Z AttributeError: 'InvenTreeModelMoneyField' object has no attribute '_currency_field'

Originally posted by @SchrodingersGat in https://github.com/inventree/InvenTree/issues/5778#issuecomment-1787140954

Urgh, that's not good, sorry. I'll take a look at it! Any reason why this wouldn't have shown up in earlier pipeline runs?

Actually, not just the docker build which is failing:

This link  may be very useful:
https://stackoverflow.com/questions/77199135/moneyfield-object-has-no-attribute-currency-field-in-django-money-when-runn

A new update pushed only yesterday may be the cause here?
https://pypi.org/project/django-money/3.4.0/

Oh, that'd make sense I guess. Maybe we should just "freeze" the version to 3.3 then?

Althought actually ... well it should be set to 3.3 as that's whats defined in requirements.txt, right? Or does docker rebuild that from the requirements.in?

Ah, I guess it's this: https://github.com/django-money/django-money/issues/731

Seems to be unrelated to the latest release and just a 3.3 issue. I guess I'll make another PR and change the version to 3.2 and possibly rollback the migrations?


SRV-439 - performance optimizations for string handling in xml formatting

A number of small perf optimizations:

use 'translate' to translate all xml characters at once instead of doing multiple string translation passes.
construct strings inline using writelines instead of doing it through a function, in order to save function call cost.
Also, includes SL-19700 - limit of 200 on depth for formatting and parsing (all types)

I haven't been following closely, but make sure you get the

Performance optimizations are merged.


add a script to consolidate utxos when onchain fees is low

"UTXO optimization at scale" https://vimeo.com/703263255 good insights for this problem


Support ccache in cmake build.

Use ccache to speed up the compiling time.

@terryheo could you review this PR?


Convert message export request to a GET

Currently it's a POST request, which means the Nginx X-Accel redirect remains a POST. The message store exporter expects a GET.
A GET more accurately reflects what this request does though (i.e. retrieve messages).

Ready for review.

:+1:


Create facility list items table interactions

Overview
This PR accomplishes a few things:

updates the API to handle confirming or rejecting potential facility matches
adds tests for API confirm/reject logic
updates the UI to add several interactions to the facility list items list table, including:

showing toggleable detail rows for list items in the matched or error states, along with additional details
showing a confirm/reject match UI along with a confirmation dialog to use for confirming or rejecting matches

adds links to a user's facilities on the main list page and also in the navigation bar dropdown
update the match functionality to create some random matches if the list item id % 4 === 0. This is done because the previous naive matching function was setting everything with 100% confidence

Connects #192
Demo

Testing

get this branch
resetdb
serve the app, then register for and log in with a new account
upload a list from the set of lists committed to the repo (pick one of the larger ones to ensure lots of matches)
in the VM, run the following commands to process the list:

./scripts/manage batch_process --action parse --list-id 15
./scripts/manage batch_process --action geocode --list-id 15
./scripts/manage batch_process --action match --list-id 15

visit your lists page in the UI, then click on the list to go to the details page

try the following interactions:

clicking on an ERROR or MATCH or CONFIRMED_MATCH row should expand that row to display details, and close all other non-CONFIRM details rows
clicking on an expanded non-CONFIRM detail row should cause it to collapse back to a normal table row
confirming a match through the UI should update that table row to display it as a CONFIRMED_MATCH with a link to the facility that has matched
rejecting one of several matches should keep the confirm row open, but show the rejected match as rejected
rejecting the last potential match for a list item should create a new facility then update the details row to show it in CONFIRMED_MATCH state

run ./scripts/test to verify that they pass

Just so I'll have it ready at hand, here's the command for parsing the first list uploaded after the initial fixture data is in:
./scripts/manage batch_process --action parse --list-id 15

Looking at this now

squashed in a fixup to replace the hs prefix with hr, then tested everything out again. Everything's still working so will merge once the tests pass.
Thanks for your help with this!


Server Side CacheManager Configuration

Implement the server side cache manager configuration types.  Depending upon the decisions made around the compatibility rules under #858 there may be up to four types coming out of this task:

Full server resident representation
Full client resident representation
Messaging representation (likely not distinct, but possible)
Partial client resident representation

Since concurrency strategy support is not expected to be user configurable, the addition of issue #1138 covers the work remaining for this issue.  This issue is being retired.


Make sure team knows how to create sample-level manifest for v4 release

Notes from Google Doc:
Need to learn how to do this from Laurent - Kat might give us project level info, but we will need to handle any discrepancies to make the actual sample level info in the matrix table, very specific to samples. Laurent has some code in v3 to map things and show us what to look out for.

This is now handled by PMs and gnomAD Ops lead


fix: 判断提前

Checklist

[x] npm test passes
[x] tests and/or benchmarks are included
[x] commit message follows commit guidelines

Description of change

判断提前，解决 meta-[Field]-type: time 时出现  null.filed。

Pull Request Test Coverage Report for Build 530228173

0 of 0   changed or added relevant lines in 0 files are covered.
7 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.07%) to 93.501%

Files with Coverage Reduction
New Missed Lines
%

src/chart/controller/gesture.ts
7
82.14%

Totals

Change from base Build 529314416:
-0.07%

Covered Lines:
10824

Relevant Lines:
11230

💛  - Coveralls

PR 标题和描述没有说明解决的问题。


Unexpected behavior with resids and predict post feols

Python Version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GCC 11.2.0]
Operating System: Linux-4.18.0-553.8.1.el8_10.x86_64-x86_64-with-glibc2.28
pyfixest Version: 0.24.0
Expected behavior:
model.resid() should give an array of floats that represent the residuals
model.predict() should give an array of floats that represent the predicted values
Actual behavior:
in a regression with only absorbed fixed effects (all I care about is the residual, so this is a plausible model), the residuals seem to be transposed with the predicted values and vice versa. Furthermore, the residuals are an array of arrays, as opposed to an array of floats.
Recreated:
import pandas as pd
import pyfixest as pf

data = pf.get_data()

yv = 'Y'
fe_v = ['f1', ]

dfr = data[[yv]+fe_v].dropna()

####### THIS PRODUCES WRONG RESULT
t_equation = f'{yv} ~ 1 | {" + ".join(fe_v)}'
# Running a fixed effects regression
model = pf.feols(t_equation, data=dfr,
)

print('this is an array, instead of a float')
print(type(model.resid()[0]))
resids = [i[0] for i in model.resid()]
dfr['yv_hat'] = model.predict()
dfr['resid'] = resids

print('residuals are clearly the predicted values, and predicted values are the residuals')
print(dfr[yv].mean())
print(dfr['yv_hat'].mean())
print(dfr['resid'].mean())

####### THIS PRODUCES CORRECT RESULT
###moves fixed effect from absorbed part of equation to righ-hand-side variable
t_equation = f'{yv} ~ C({") + C(".join(fe_v)}) '
# Running a fixed effects regression
model = pf.feols(t_equation, data=dfr,
)

print('this is a float')
print(type(model.resid()[0]))
resids = model.resid()
dfr['yv_hat'] = model.predict()
dfr['resid'] = resids

print('correct predicted value and residuals')
print(dfr[yv].mean())
print(dfr['yv_hat'].mean())
print(dfr['resid'].mean())

Hi @daltonm-bls , thanks for reporting this! Can confirm:
%load_ext autoreload
%autoreload 2

import pandas as pd
import pyfixest as pf

data = pf.get_data()
dfr = data[["Y", "f1"]].dropna()
fml_1 = "Y ~ 1 | f1"
fml_2 = "Y ~ C(f1)"

model_1 = pf.feols(fml = fml_1, data=dfr)
model_2 = pf.feols(fml = fml_2, data = dfr)

model_1.resid().flatten()[0:5]
# array([-1.38608153,  2.05742899,  0.10149807,  1.31744198, -2.12153977])
model_2.resid().flatten()[0:5]
# array([-0.07256172,  1.26208442,  0.03292194, -1.59579222,  0.60175012])
model_1.predict().flatten()[0:5]
# array([-0.07256172,  1.26208442,  0.03292194, -1.59579222,  0.60175012])
model_2.predict().flatten()[0:5]
# array([-1.38608153,  2.05742899,  0.10149807,  1.31744198, -2.12153977])

Will tackle this tomorrow!

This is the problematic line: https://github.com/py-econometrics/pyfixest/blob/70e2b0c41bc9fc7c79cf2ec06539a4c436edd2fb/pyfixest/estimation/FixestMulti_.py#L331

@all-contributors please add @daltonm-bls for bug

Fixed in version 0.24.2, now available via PyPi. Thanks for reporting @daltonm-bls!
import pyfixest as pf

data = pf.get_data()
fit = pf.feols("Y ~1 |f1", data=data)
fitC = pf.feols("Y ~ C(f1)", data=data)

print(fit.resid()[0:5])
# [-0.07256172  1.26208442  0.03292194 -1.59579222  0.60175012]
print(fitC.resid()[0:5])
#[-0.07256172  1.26208442  0.03292194 -1.59579222  0.60175012]

print(fit.predict()[0:5])
# [-1.38608153  2.05742899  0.10149807  1.31744198 -2.12153977]
print(fitC.predict()[0:5])
# [-1.38608153  2.05742899  0.10149807  1.31744198 -2.12153977]


Change to public

https://github.com/mcneel/Rhino.Testing/blob/bb2c62f05a3add15b5ea647abe3233246ea23620/src/Grasshopper/GH1Runner.cs#L55
I would love to change this method to public so i can make my own checks in the GH document. This will add an extra layer of testing than locking me to outputting true into Bake Context components.

Implemented in 8.0.23-beta
See https://github.com/mcneel/Rhino.Testing?tab=readme-ov-file#testing-grasshopper-files


Job Log Model

Fixes: #992
Fixes: #864
Fixes: #650 - mostly

This adds a new model called JobLogEntry to store log messages from jobs. For #650 it removes the conditional rendering, but does not change the JS.  I might be able to fix that before the review is complete though.
Here are some screenshots of the changes:

Can you please do some testing with this changeset and the nautobot-ssot plugin just to verify that the plugin continues to operate as expected?

Of course!

Almost there! This is a complicated set of page templates, appreciate you putting in the effort here! I think there's room for some refinement in how the extras/jobresult.html and extras/inc/jobresult.html pages intersect, happy to spend some time pairing on this tomorrow if you'd like.

I would appreciate the time.  It is a big change.

Bother, this should have been retargeted into develop for 1.2.0 rather than next for 1.3.0; I missed that detail. Looking into sorting that out...


Error evaluating manually constructed physical expression: <column> = left(<literal>, 1)

Describe the bug
When passed to create_physical_expr, the following expression works as expected on DataFusion 32.0.0 but fails on the master branch:
col("column").eq(left("value".lit(), 1i64.lit()))

The following error appears:
Error: ArrowError(InvalidArgumentError("Cannot compare arrays of different lengths, got 4 vs 1"))

To Reproduce
Compile the following piece of Rust code against the current master branch of DataFusion:
use std::sync::Arc;

use arrow::{array::StringArray, record_batch::RecordBatch};
use arrow_schema::{DataType, Field, Schema};
use datafusion::physical_expr::{create_physical_expr, execution_props::ExecutionProps};
use datafusion_common::{DFSchema, Result};
use datafusion_expr::{col, left, Literal};

#[tokio::main]
async fn main() -> Result<()> {
    let expr = col("letter").eq(left("AAPL".lit(), 1i64.lit()));
    println!("{expr}");

    let schema = Schema::new(vec![Field::new("letter", DataType::Utf8, false)]);
    let df_schema = DFSchema::try_from_qualified_schema("data", &schema)?;
    let p = create_physical_expr(&expr, &df_schema, &schema, &ExecutionProps::new())?;
    println!("{p}");

    let batch = RecordBatch::try_new(
        Arc::new(schema),
        vec![Arc::new(StringArray::from_iter_values(vec![
            "A", "B", "C", "D",
        ]))],
    )?;
    let z = p.evaluate(&batch)?;
    println!("{z:?}");

    Ok(())
}

// letter = left(Utf8("AAPL"), Int64(1))
// letter@0 = left(AAPL, 1)
// Error: ArrowError(InvalidArgumentError("Cannot compare arrays of different lengths, got 4 vs 1"))

Expected behavior
create_physical_expr should produce a valid physical expression from the provided logical expression
Additional context
No response

Thank you @suremarc for the report and the reproducer. It happens for me as well
I did some initial investigation and it seems like left('APPL', 1) gets evaluated into a single element array (rather than a ColumnarValue) which is what is causing the error
The function dispatch code is a bit complicated and it seems like it could be simplified. Maybe someone else has some thoughts on how to do so

Not only did @viirya  have thoughts on how to fix this issue, he made a PR to do so  https://github.com/apache/arrow-datafusion/pull/7967 ❤


Support for DeepSeek-VL vision models

https://github.com/deepseek-ai/DeepSeek-VL

https://github.com/ggerganov/llama.cpp/issues/6130
If you bump this, perhaps the llama.cpp team sees it

I'm excited about the prospects of using DeepSeek-VL.

Leave a comment on the llama.cpp issue so that they can see it

any update on this? would love to see it supported

As of commit 23d23409a02430a700d5e76ac92f97554ec6d9e7, shouldn’t these vision models be supported?

Hi Guys,
I tried this model from huggingface and it's far better compared to LLAVA 1.6 34b!
Do you think it's possible to have on Ollama or there are some techincal problems?
Thanks so much for great work!

@dimitribellini Hi, for ollama support, it needs to be supported in llama.cpp. I linked an issue regarding that but it was closed. Could you also be so kind and open another one there? Perhaps then the chance is greater

Hi @SinanAkkoyun absoultely true! I did it few seconds ago  (https://github.com/ggerganov/llama.cpp/issues/6130) :-)
Thanks so much and I hope to see it soon
Bye


Added Numerical alpha Mask character

Thanks for the PR!
Can you rename the numericalAlphaMaskCharacter var to alphanumericMaskCharacter?
Also, currently this would allow characters other than letters and numbers (like /, ,, : etc). Is that the intention or do you want to restrict it to only letters and numbers?

Thanks for the PR!
Can you rename the numericalAlphaMaskCharacter var to alphanumericMaskCharacter?
Also, currently this would allow characters other than letters and numbers (like /, ,, : etc). Is that the intention or do you want to restrict it to only letters and numbers?

Yes, the intention is to allow characters like /, *, :. Ex.: card numbers that was masked by the server 4111 **** **** 1111

Yes, the intention is to allow characters like /, *, :. E.g.  Looks good, merging.


fhir-persistence-schema GRANT must consider resource #1169

Signed-off-by: Paul Bastide<EMAIL_ADDRESS>

Robin helped me confirm that the GRANT_GROUP is never actually persisted, so I think that resolves my one concern


[Feature Request] Restarting multiple instances

If we have a lot of failed instances, e.g. due to backend system failures, we currently have to restart the instances individually.
In our environment, restarting several instances for a certain filter setting would make our work much easier
A Button to reprocess all current selected instances would be nice
Version 6.4.
Backend MSSQL

This is a necessary feature. I work on a project that has millions of instances. Sometimes, thousands of instances fail for some reason. The failure could happen for any cause (for example transient error retries exhaused).
Having to click on each failed instances thousands of times to restart them is not practical. For that reason, I had to create a seperate re-usable package that exposes a bulk restart HTTP trigger along with an Orchestration that handles restarting instances. You can restart everything, or you can pass a specific error (for example, any transient errors that should be resolved upon a retry).
So basically, I'm using Durable Functions to asynchronously restart Durable Functions. Having that capability built into Durable Functions Monitor, along with a new form that allows for a custom error message to be passed, would be extremely helpful (as suggested by mike268). For small projects, this may not be needed, but when you are working with millions of records with potentialy thousands of instances fail, automating bulk restarts is crucial.

@russor45 , I agree, it would be a very useful feature.

along with a new form that allows for a custom error message to be passed

Can you please clarify this? What kind of custom error message you would like to have and where should it be passed?

@scale-tone,
The custom error message could be a text box that would allow filtering and restarting instances based on the search text provided. It would search any failed instance that containes the search text. Additionally, it could be helpful to have options to filter failed instances based on other criteria, such as the start time or last updated time, to further refine the scope of the bulk restart operation. The default filter could be to restart all failed instances (for those that don't need to filter and just want all instances restarted).
For example, if you want to restart all instances that failed due to a specific transient error (e.g., 'Connection Timeout' or error code 'ABC123'), you could enter that error message or code in the custom error message field, and the bulk restart operation would target only those failed instances output text that match the specified criteria. This would save a significant amount of time and effort compared to manually identifying and restarting each failed instance individually, especially when dealing with thousands of failed instances.
While a synchronous bulk restart approach may not perform well, one solution could be to have a built-in orchestrator that fans out the bulk restart operation asynchronously. Currently, I've implemented a custom bulk restart orchestrator, but having this functionality natively integrated into the Durable Functions Monitor tool, along with a UI for configuring the error criteria, would be a valuable addition. That way others don't have to re-invent the wheel and have to write their own bulk restart fan out feature as I did.

@russor45  that would be perfect for my use case

The suggested way of implementing it would be:

Reuse the main screen for making a filtered list of instances the batch operation to be applied to. Filtering options there should be more than enough for that.
(Since the list on the main screen uses infinite scrolling) add buttons to the main screen for fetching the next page and all remaining pages.
Add the "Batch operations..." command to the burger button's menu (top-left corner in standalone/injected) and to the Task Hub's drop-down menu (in vscode). That command should bring a modal dialog with a single-select dropdown of supported operations, a textbox for extra parameters and a "Start" button. Once triggered, the dialog should apply the chosen operation to all instances currently shown on the main list. Successes/failures should be properly visualized.

Any objections to this approach?

No objections. Sounds good :thumbsup:

Done in v6.5


Extend comparison methods to accept different datetime types. (#129)

Signed-off-by: Yury-Fridlyand<EMAIL_ADDRESS>Description
Functions affected: =, !=, >, <, <= >=.
Signatures added:
TIME, DATE               -> BOOLEAN
TIME, DATETIME           -> BOOLEAN
TIME, TIMESTAMP          -> BOOLEAN
DATE, TIME               -> BOOLEAN
DATE, DATETIME           -> BOOLEAN
DATE, TIMESTAMP          -> BOOLEAN
DATETIME, TIME           -> BOOLEAN
DATETIME, DATE           -> BOOLEAN
DATETIME, TIMESTAMP      -> BOOLEAN
TIMESTAMP, TIME          -> BOOLEAN
TIMESTAMP, DATE          -> BOOLEAN
TIMESTAMP, DATETIME      -> BOOLEAN

See team review and discussion in https://github.com/Bit-Quill/opensearch-project-sql/pull/129.
Test data
mysql> show fields from calcs where field IN ('date0', 'time0', 'time1', 'datetime0');
+-----------+-----------+------+-----+---------+-------+
| Field     | Type      | Null | Key | Default | Extra |
+-----------+-----------+------+-----+---------+-------+
| date0     | date      | YES  |     | NULL    |       |
| time0     | datetime  | YES  |     | NULL    |       |
| time1     | time      | YES  |     | NULL    |       |
| datetime0 | timestamp | YES  |     | NULL    |       |
+-----------+-----------+------+-----+---------+-------+
mysql> select `key`, date0, time0, time1, datetime0 from calcs limit 7;
+-------+------------+---------------------+----------+---------------------+
| key   | date0      | time0               | time1    | datetime0           |
+-------+------------+---------------------+----------+---------------------+
| key00 | 2004-04-15 | 1899-12-30 21:07:32 | 19:36:22 | 2004-07-09 10:17:35 |
| key01 | 1972-07-04 | 1900-01-01 13:48:48 | 02:05:25 | 2004-07-26 12:30:34 |
| key02 | 1975-11-12 | 1900-01-01 18:21:08 | 09:33:31 | 2004-08-02 07:59:23 |
| key03 | 2004-06-04 | 1900-01-01 18:51:48 | 22:50:16 | 2004-07-05 13:14:20 |
| key04 | 2004-06-19 | 1900-01-01 15:01:19 | NULL     | 2004-07-28 23:30:22 |
| key05 | NULL       | 1900-01-01 08:59:39 | 19:57:33 | 2004-07-22 00:30:23 |
| key06 | NULL       | 1900-01-01 07:37:48 | NULL     | 2004-07-28 06:54:50 |
+-------+------------+---------------------+----------+---------------------+

Test queries
MySQL
select `key`, date0, time0, time1, datetime0, date0 < now(), time0 < now(), time1 < now(), datetime0 < now() from calcs limit 6;
select `key`, date0, time0, time1, datetime0, date0 <= now(), time0 <= now(), time1 <= now(), datetime0 <= now() from calcs limit 6;

OpenSearch
SELECT CAST(date0 AS date)                  AS `date`,       CAST(date0 AS date)             < now() AS `date < datetime`,
       datetime(CAST(time0 AS STRING))      AS `datetime`,   datetime(CAST(time0 AS STRING)) < now() AS `datetime < datetime`,
       CAST(time1 AS time)                  AS `time`,       CAST(time1 AS time)             < now() AS `time < datetime`,
       CAST(datetime0 AS timestamp)         AS `timestamp`,  CAST(datetime0 AS timestamp)    < now() AS `timestamp < datetime`
FROM calcs LIMIT 6;

SELECT CAST(date0 AS date)                  AS `date`,       CAST(date0 AS date)             <= now() AS `date <= datetime`,
       datetime(CAST(time0 AS STRING))      AS `datetime`,   datetime(CAST(time0 AS STRING)) <= now() AS `datetime <= datetime`,
       CAST(time1 AS time)                  AS `time`,       CAST(time1 AS time)             <= now() AS `time <= datetime`,
       CAST(datetime0 AS timestamp)         AS `timestamp`,  CAST(datetime0 AS timestamp)    <= now() AS `timestamp <= datetime`
FROM calcs LIMIT 6;

Issues Resolved
Fix comparison between different datetime data types. #294
Check List

[x] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1196 (2f26532) into main (64a3794) will decrease coverage by 35.53%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main    #1196       +/-   ##
=============================================
- Coverage     98.30%   62.76%   -35.54%
=============================================
  Files           340       10      -330
  Lines          8652      658     -7994
  Branches        550      119      -431
=============================================
- Hits           8505      413     -8092
- Misses          142      192       +50
- Partials          5       53       +48

Flag
Coverage Δ

query-workbench
62.76% <ø> (?)

sql-engine
?

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

Impacted Files
Coverage Δ

...g/opensearch/sql/data/model/AbstractExprValue.java

...a/org/opensearch/sql/data/model/ExprDateValue.java

...g/opensearch/sql/data/model/ExprDatetimeValue.java

...a/org/opensearch/sql/data/model/ExprTimeValue.java

.../opensearch/sql/data/model/ExprTimestampValue.java

.../java/org/opensearch/sql/data/model/ExprValue.java

.../org/opensearch/sql/data/model/ExprValueUtils.java

...c/main/java/org/opensearch/sql/expression/DSL.java

...pensearch/sql/expression/function/FunctionDSL.java

...on/operator/predicate/BinaryPredicateOperator.java

... and 340 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@dai-chen, thank you for detailed feedback!
I'll try to rework it according to you notes.
So far I see those things:

TypeCastOperator should be extended to support TIME -> TIMESTAMP cast which requires FunctionProperties
Same casts should be added for X -> DATETIME (optional, because X -> TIMESTAMP -> DATETIME is possible)
LuceneQuery should be updated to reflect changes in TypeCastOperator
ExprCoreType should be like this:

  DATE(STRING),
  TIME(STRING),
  DATETIME(STRING, DATE, TIME),
  TIMESTAMP(STRING, DATE, TIME),
  INTERVAL(UNDEFINED),

@dai-chen,
I tried to apply your proposal and did a performance measurements. It has a bit worse performance, unfortunately.
Also it is impossible to update castMap in LuceneQuery - TIME -> X cast requires FunctionProperties, but castMap isn't compatible with it.
Please, see info about performance testing below:
First performance measurement point
diff --git a/opensearch/src/main/java/org/opensearch/sql/opensearch/executor/OpenSearchQueryManager.java b/opensearch/src/main/java/org/opensearch/sql/opensearch/executor/OpenSearc>
index 9c6fcdb82..0b2629562 100644
--- a/opensearch/src/main/java/org/opensearch/sql/opensearch/executor/OpenSearchQueryManager.java
+++ b/opensearch/src/main/java/org/opensearch/sql/opensearch/executor/OpenSearchQueryManager.java
@@ -30,7 +30,12 @@ public class OpenSearchQueryManager implements QueryManager {

   @Override
   public QueryId submit(AbstractPlan queryPlan) {
-    schedule(nodeClient, () -> queryPlan.execute());
+    schedule(nodeClient, () -> {
+      long timeBefore = System.currentTimeMillis();
+      queryPlan.execute();
+      long elapsed = System.currentTimeMillis() - timeBefore;
+      System.out.println(String.format("\u001B[31m===== %d =====\u001B[0m", elapsed));
+    });

     return queryPlan.getQueryId();
   }

Second:
   diff --git a/opensearch/src/main/java/org/opensearch/sql/opensearch/executor/OpenSearchExecutionEngine.java b/opensearch/src/main/java/org/opensearch/sql/opensearch/executor/OpenSe>
index 9a136a3be..98bffb85c 100644
--- a/opensearch/src/main/java/org/opensearch/sql/opensearch/executor/OpenSearchExecutionEngine.java
+++ b/opensearch/src/main/java/org/opensearch/sql/opensearch/executor/OpenSearchExecutionEngine.java
@@ -41,7 +41,7 @@ public class OpenSearchExecutionEngine implements ExecutionEngine {
         () -> {
           try {
             List<ExprValue> result = new ArrayList<>();
-
+            long timeBefore = System.currentTimeMillis();
             context.getSplit().ifPresent(plan::add);
             plan.open();

@@ -50,6 +50,8 @@ public class OpenSearchExecutionEngine implements ExecutionEngine {
             }

             QueryResponse response = new QueryResponse(physicalPlan.schema(), result);
+            long elapsed = System.currentTimeMillis() - timeBefore;
+            System.out.println(String.format("\u001B[31m===== %d =====\u001B[0m", elapsed));
             listener.onResponse(response);
           } catch (Exception e) {
             listener.onFailure(e);

Changes I applied:
diff --git a/core/src/main/java/org/opensearch/sql/data/type/ExprCoreType.java b/core/src/main/java/org/opensearch/sql/data/type/ExprCoreType.java
index ad2e42596..fc964d205 100644
--- a/core/src/main/java/org/opensearch/sql/data/type/ExprCoreType.java
+++ b/core/src/main/java/org/opensearch/sql/data/type/ExprCoreType.java
@@ -55,10 +55,16 @@ public enum ExprCoreType implements ExprType {
    * Date.
    * Todo. compatible relationship.
    */
-  TIMESTAMP(STRING),
   DATE(STRING),
   TIME(STRING),
+/*
   DATETIME(STRING),
+  TIMESTAMP(STRING),
+//*/
+//*
+  DATETIME(STRING, DATE, TIME),
+  TIMESTAMP(STRING, DATE, TIME, DATETIME),
+//*/
   INTERVAL(UNDEFINED),

   /**
diff --git a/core/src/main/java/org/opensearch/sql/expression/operator/convert/TypeCastOperator.java b/core/src/main/java/org/opensearch/sql/expression/operator/convert/TypeCastOpe>
index 8f904bfbf..46e178aed 100644
--- a/core/src/main/java/org/opensearch/sql/expression/operator/convert/TypeCastOperator.java
+++ b/core/src/main/java/org/opensearch/sql/expression/operator/convert/TypeCastOperator.java
@@ -19,7 +19,9 @@ import static org.opensearch.sql.data.type.ExprCoreType.STRING;
 import static org.opensearch.sql.data.type.ExprCoreType.TIME;
 import static org.opensearch.sql.data.type.ExprCoreType.TIMESTAMP;
 import static org.opensearch.sql.expression.function.FunctionDSL.impl;
+import static org.opensearch.sql.expression.function.FunctionDSL.implWithProperties;
 import static org.opensearch.sql.expression.function.FunctionDSL.nullMissingHandling;
+import static org.opensearch.sql.expression.function.FunctionDSL.nullMissingHandlingWithProperties;

 import java.util.Arrays;
  import java.util.stream.Collectors;
@@ -182,6 +184,12 @@ public class TypeCastOperator {
             (v) -> new ExprTimestampValue(v.stringValue())), TIMESTAMP, STRING),
         impl(nullMissingHandling(
             (v) -> new ExprTimestampValue(v.timestampValue())), TIMESTAMP, DATETIME),
+//*
+        impl(nullMissingHandling(
+            (v) -> new ExprTimestampValue(v.timestampValue())), TIMESTAMP, DATE),
+        implWithProperties(nullMissingHandlingWithProperties(
+            (fp, v) -> new ExprTimestampValue(((ExprTimeValue)v).timestampValue(fp))), TIMESTAMP, TIME),
+//*/
         impl(nullMissingHandling((v) -> v), TIMESTAMP, TIMESTAMP)
     );
   }
@@ -192,6 +200,11 @@ public class TypeCastOperator {
             (v) -> new ExprDatetimeValue(v.stringValue())), DATETIME, STRING),
         impl(nullMissingHandling(
             (v) -> new ExprDatetimeValue(v.datetimeValue())), DATETIME, TIMESTAMP),
+//*
+        implWithProperties(nullMissingHandlingWithProperties(
+            (fp, v) -> new ExprDatetimeValue(((ExprTimeValue)v).datetimeValue(fp))), DATETIME, TIME),
+        impl(nullMissingHandling((v) -> v), DATETIME, DATETIME),
+//*/
         impl(nullMissingHandling(
             (v) -> new ExprDatetimeValue(v.datetimeValue())), DATETIME, DATE)
     );
diff --git a/core/src/main/java/org/opensearch/sql/expression/operator/predicate/BinaryPredicateOperator.java b/core/src/main/java/org/opensearch/sql/expression/operator/predicate/>
index 23547e8d4..5baaa357b 100644
--- a/core/src/main/java/org/opensearch/sql/expression/operator/predicate/BinaryPredicateOperator.java
+++ b/core/src/main/java/org/opensearch/sql/expression/operator/predicate/BinaryPredicateOperator.java
@@ -202,6 +202,13 @@ public class BinaryPredicateOperator {
   private static DefaultFunctionResolver compareImpl(
       FunctionName function, SerializableBiFunction<Comparable, Comparable, Boolean> comparator) {
     return FunctionDSL.define(function,
+//*
+            ExprCoreType.coreTypes().stream()
+                .map(type -> impl(nullMissingHandling(
+                    (v1, v2) -> ExprBooleanValue.of(comparator.apply(v1, v2))),
+                        BOOLEAN, type, type))
+//*/
+/*
         Stream.concat(
             ExprCoreType.coreTypes().stream()
                 .map(type -> impl(nullMissingHandling(
@@ -212,6 +219,7 @@ public class BinaryPredicateOperator {
                     (fp, v1, v2) -> ExprBooleanValue.of(comparator.apply(
                             extractDateTime(v1, fp), extractDateTime(v2, fp)))),
                         BOOLEAN, pair.getLeft(), pair.getRight())))
+//*/
         .collect(Collectors.toList()));
   }

To test I swapped comments by switching //* to /* and run different queries. Each time I restart the cluster before making a test.
SELECT CAST(date0 AS date)                  AS `date`,       CAST(date0 AS date)             < now() AS `date < datetime`,
       datetime(CAST(time0 AS STRING))      AS `datetime`,   datetime(CAST(time0 AS STRING)) < now() AS `datetime < datetime`,
       CAST(time1 AS time)                  AS `time`,       CAST(time1 AS time)             < now() AS `time < datetime`,
       CAST(datetime0 AS timestamp)         AS `timestamp`,  CAST(datetime0 AS timestamp)    < now() AS `timestamp < datetime`
FROM calcs LIMIT 6;

(there is only one time measurement point)
chen: 435, 17, 14, 13, 14
yury: 532, 16, 15, 14, 14

select count(*), timestamp > '2018-01-21 05:32:25' from flights group by 2;

yury: 362, 88, 52, 82, 41
      765, 96, 57, 87, 45
chen: 342, 97, 65, 92, 47
      743, 103, 70, 97, 51

select count(*), timestamp > TIME '05:32:25' from flights group by 2;

yury: 288, 68, 38, 27, 28
      728, 75, 43, 32, 33
chen: 294, 47, 47, 35, 30
      831, 55, 52, 40, 34

select count(*), timestamp > DATE '2018-01-21' from flights group by 2;

yury: 268, 41, 37, 23, 23
      656, 48, 41, 28, 27
chen: 259, 58, 28, 30, 26
      658, 6
5, 32, 34, 30

select count(*), datetime0 > '2004-07-14 08:16:44' from calcs group by 2;

yury: 175, 15, 9, 10, 7
      576, 21, 14, 14, 11
chen: 152, 12, 9, 9, 8
      541, 19, 15, 13, 12

select count(*), datetime0 > TIME '08:16:44' from calcs group by 2;

yury: 187, 11, 8, 7, 6
      585, 19, 13, 12, 9
chen: 139, 12, 8, 7, 7
      470, 18, 12, 11, 11

select count(*), datetime0 > DATE '2004-07-14' from calcs group by 2;

yury: 149, 12, 7, 7, 8
      511, 19, 11, 10, 11
chen: 170, 18, 7, 7, 8
      642, 25, 12, 12, 12

@Yury-Fridlyand Thanks for sharing the test result! I'm not sure if the dominant factor is nested lambda evaluation on argument or resolving cast function per query. Because for now I think we don't have performance requirement and the existing mechanism can simplify our code significantly, we may be able to add cache mechanism in function repository or other optimization as needed. I'm looking into the code from my side and will update if any finding. Thanks!

@Yury-Fridlyand I just did some test by JMH which can microbenchmark on fine-grain class level. Here is my branch and test result: https://github.com/dai-chen/sql-1/tree/test-mircro-benchmark. I think the result is acceptable and it would be very close if we ignore time spent on function compile. I did test quick and not sure if I miss anything. We can double check and let me know if any question. Thanks!
Approach 1: Existing Implicit Cast

Benchmark                                                               (dateTimeValue)  (dateValue)  Mode  Cnt   Score    Error  Units
TypeCastOperatorBenchmark.testDateEqualsDateTimeCompileAndEvaluate  2022-01-01 00:00:00   2022-01-01  avgt    3   0.006 ±  0.003  ms/op
TypeCastOperatorBenchmark.testDateEqualsDateTimeEvaluate            2022-01-01 00:00:00   2022-01-01  avgt    3  ≈ 10⁻⁵           ms/op

Approach 2: Current PR Approach

Benchmark                                                               (dateTimeValue)  (dateValue)  Mode  Cnt   Score    Error  Units
TypeCastOperatorBenchmark.testDateEqualsDateTimeCompileAndEvaluate  2022-01-01 00:00:00   2022-01-01  avgt    3   0.004 ±  0.002  ms/op
TypeCastOperatorBenchmark.testDateEqualsDateTimeEvaluate            2022-01-01 00:00:00   2022-01-01  avgt    3  ≈ 10⁻⁵           ms/op

Great job @dai-chen! Thank you for sharing your test results.
I'll proceed with your proposed approach.

Since we enhanced CAST operator in this PR, can https://github.com/opensearch-project/sql/issues/853 be linked and closed as well?

Since we enhanced CAST operator in this PR, can #853 be linked and closed as well?

No,
#853 is about unsupported DATETIME in cast in V2. It is supported in V1, so #853 is a part of legacy deprecation.
opensearchsql> select cast('1961-04-12 09:07:00' as DATETIME);
{'reason': 'Invalid SQL query', 'details': '', 'type': 'NullPointerException'}

Since we enhanced CAST operator in this PR, can #853 be linked and closed as well?

No, #853 is about unsupported DATETIME in cast in V2. It is supported in V1, so #853 is a part of legacy deprecation.
opensearchsql> select cast('1961-04-12 09:07:00' as DATETIME);
{'reason': 'Invalid SQL query', 'details': '', 'type': 'NullPointerException'}

You mean with your changes in this PR below, CAST(string as datetime) still not work in v2?
  private static DefaultFunctionResolver castToDatetime() {
    return FunctionDSL.define(BuiltinFunctionName.CAST_TO_DATETIME.getName(),
        impl(nullMissingHandling(
            (v) -> new ExprDatetimeValue(v.stringValue())), DATETIME, STRING),
        impl(nullMissingHandling(
            (v) -> new ExprDatetimeValue(v.datetimeValue())), DATETIME, TIMESTAMP),
        impl(nullMissingHandling(
            (v) -> new ExprDatetimeValue(v.datetimeValue())), DATETIME, DATE),
        implWithProperties(nullMissingHandlingWithProperties(
            (fp, v) -> new ExprDatetimeValue(((ExprTimeValue)v).datetimeValue(fp))),
            DATETIME, TIME),
        impl(nullMissingHandling((v) -> v), DATETIME, DATETIME)
    );

Is it because grammar changes still missing?

Exactly, grammar fix is required

Is it because grammar changes still missing?

Exactly, grammar fix is required

I see. Thanks!


chore: test against MongoDB 5.0 in CI/CD

This PR adds MongoDB 5.0 to the CircleCI test matrix and removes MongoDB 4.2 (but leaves 4.4).

Codecov Report

Merging #86 (e73c324) into master (9f01b31) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #86   +/-   ##
=======================================
  Coverage   74.20%   74.20%
=======================================
  Files          34       34
  Lines        1314     1314
  Branches      307      307
=======================================
  Hits          975      975
  Misses        230      230
  Partials      109      109

Flag
Coverage Δ

core
78.82% <ø> (ø)

graphql
72.29% <ø> (ø)

mongoose
64.89% <ø> (ø)

reflector
76.00% <ø> (ø)

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


Getting 'Unexpected identifier' when function has await

Unable to load the .yml when a function has await keyword.
function: !!js/function >
            async function() {
              let b = new Promise(function(resolve, reject) {
                resolve('a');
              })
              await b;
          }

SyntaxError: Unexpected identifier     at new Function (<anonymous>)     at Type.constructJavascriptFunction [as construct] (/Users/admin/node_modules/js-yaml/lib/js-yaml/type/js/function.js:69:10)
Are AsyncFunctions supported?

You have wrong location of last comma. Correct will be this
Anyway, async/await seems not supported. PR welcome.

Close as rejeced: https://github.com/nodeca/js-yaml/pull/496 after talk in PR - please do that via custom schema. No wish to fill core with js-specific progamming things.


RAG With images

What would you like to see?
Would be good to have RAG with images, workspace chat right now has only text, its good to have images and texts from documents

Tracking on https://github.com/Mintplex-Labs/anything-llm/issues/558

I suppose individuals may interpret "RAG with images" in various ways. One interpretation is that LLM can reference the image from the document in its response. Another interpretation is that LLM can consider both the image and text as prompts and attempt to comprehend the image.


Update microsoft365-maturity-model--intro.md

Please use this template to ensure easier processing of your pull request
Category

[x] Content fix
[ ] New article

Contents of the Pull Request
Changed titles and added headers

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

File
Status
Preview URL
Details

Community/microsoft365-maturity-model--intro.md
:white_check_mark:Succeeded
View

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


[BUG] Class names not showing in UI function list

After updating to most recent -dev release recently, I no longer see the class names in the function list. I am seeing functions listed as "::SomeFunction" (without the class) as opposed to "SomeClass::SomeFunction".
I verified this is not an issue with the .pdb by opening a new binary in binja, having it download the associated PDB from Microsoft symbol server, observing the issue, then opening the same binary in IDA and manually selecting the same PDB file to load. The symbols were displayed properly there.
Also the issue seems to be isolated to the UI as I can access the full class+method name via the Python console.
I'm on v. 1.1.1357-dev on macOS.

Fixed as of v1.1.1365


update github actions to get rid of deprecation warnings

update versions to get rid of:
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/setup-python@v4, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

also includes actions/setup-node@v3 and borales/actions-yarn@v3
with actions/cache@v3 on windows image there would be an error, but the step wouldn't fail:
[Windows](https://github.com/mgor/locust/actions/runs/9692188762/job/26745040620#step:6:14)
Input required and not supplied: path

when updating to actions/cache@v4 the step would also fail. to fix this the shell for the steps that redirects output to $GITHUB_{OUTPUT,ENV} was set to bash. since the default shell for windows runners is powershell, and echo ... >> ... isn't crossplatform compatible, and bash is available on the windows images.

not sure why py39 fails in print stats tests... saw that once in my other PR as well, but re-running it and it passed. doesn't seems like i have permission to re-run jobs though.

I re-ran it now. Is it always 3.9? I was already eager to drop 3.9 support to use nice language features that were introduced in 3.10 :P
But I might not want to merge this right now - https://github.com/locustio/locust/pull/2725 is quite a big change and I'd rather not make two changes in the build in the same release. For this reason I'm putting it in draft for now. Or is it urgent for you?

the two times i've seen it fail it was py39, doesn't really have any good statistics for it :)
no, not urgent at all, it's just that i hate warning/errors and wanted it fixed ;) so that's fine

I'd love to do this update now! Want to update your PR?

I made a separate PR myself, but thanks for poking me with this :)

Ops, sorry I missed your comment from two weeks ago.


Remove deploy-docs.sh for s3 deploy

Coverage remained the same at 94.402% when pulling 95bf46e76402ee7f6a5f58054b61bdba9eefc103 on cody-remove-s3-docs-script into 5e3dedc7bf84712dfbd2fd86eb211042f821888d on main.


Appveyor fails on Powershell 6 matrix

It seems like the tests are failing for the PowerShell 6 matrix.
This same issue seems to be happening on most buckets as well.
https://ci.appveyor.com/project/lukesampson/scoop

+1

Similar issue happening in PowerShell 7.

@TonyZYT2000 Yes, For some reason, the Powershell 6 matrix option is running PowerShell 7. See https://ci.appveyor.com/project/lukesampson/scoop/build/job/7vk1ymh3bgp6thvy#L10


example code error

// v0.2.x
var greetAsync = function() {
    var deferred = m.deferred()
    setTimeout(function() {
        deferred.resolve("hello")
    }, 1000)
    return deferred.promise
}

greetAsync()
    .then(function(value) {return value + " world"})
    .then(function(value) {console.log(value)}) //logs "hello world" after 1 second

v1.x
var greetAsync = new Promise(function(resolve){
    setTimeout(function() {
        resolve("hello")
    }, 1000)
})

greetAsync()
    .then(function(value) {return value + " world"})
    .then(function(value) {console.log(value)}) //logs "hello world" after 1 second

Report error:
Uncaught TypeError: greetAsync is not a function

What page in particular? Also, GitHub understands Markdown, so feel free to take advantage of that to make bug reports on this site much more readable. I've edited your report accordingly, but I just thought I'd let you know.


[QUESTION] new release

You say you add new blocks. What does it means? Those are different then in CDS or same?

They are exactly like in codesys: https://hardella.com/docs/ide/editor/#Создание-функциональных-блоков


added support for Bazel syntax

This pr is ready to be merged from my side.

added True and False

Updated to the latest version as well

Ok, I have updated this pr in a very specific way, now all conflicts have been fixed from my side.


Worker not deployed

Master was successfully span up, but not Workers, it stuck at Brand New status somehow. See:

Is it due to #17? Can have more information regarding your OS version / the terminal screen when the workers are being deployed?

Hi, It still happens after https://github.com/kahkhang/kube-linode/issues/17 fix.
My Info:
ProductName:	Mac OS X
ProductVersion:	10.12.5

Terminal screen:

No error was reported.

Can I see the disks/boot configuration of your worker linode? What happens if you delete those 2 worker nodes and run kube-linode again?

I set 10GB for coreos partition.
Same thing happen if I delete & recreate 2 workers.

Could you click on one the worker nodes in your first screenshot, then screenshot the details of the Linode (i.e. list of disks, list of configurations, jobs)? Thanks!

See:

Hmm this is strange since the initial portion of the script for the worker node is the same as the master one, and it seems like it is not getting any jobs after the initial configuration, which means some portion of the commands failed silently. Could I ask if you are using the default bash version or some other shell (e.g. zsh)? I'll probably need to add a verbose mode for the script so problems like this can be more easily diagnosed. Thanks for reporting the issue!

I use fish shell. As your suggestion, I currently try to run again on zsh. Will keep updating.

Ah ok thanks! I'm not sure of the behavior of fish since I've only used this in bash / zsh currently. I highly suspect it might be failing here: https://github.com/kahkhang/kube-linode/blob/master/utilities.sh#L317. Will investigate more, thanks for the information!

same issue with zsh. I guess it's not shell-specific issue. It would be great if you can add --verbose option. In the mean time I'll dig further into the source code when I've time. Thanks for the fast response :)

Thanks for raising the issue @tuannvm! I think I've found a bug which has been fixed. Please reopen again if the problem is still not solved, or update if it has been solved :)


Add generate sign function

Hi.
This is the sign generation function as described in https://developer.vonage.com/concepts/guides/signing-messages.
Tests are based on the Node SDK tests.
Please feel free to propose improvements to this function.

Hi @moficodes
Did you get a chance to check this?


More documentation updates

A few spelling and grammar changes in the docs.

Coverage remained the same at 97.852% when pulling 337acfdd50e517fa15812558e3aea76ab72dff52 on spatical:stevenh-starter-kit-docs into cc65191910e078ebe01732aa7bd27d83e34713f1 on mediarain:master.

Coverage remained the same at 97.852% when pulling 7319d4899cb75df59a643fb444aa4e39b8c9e154 on spatical:stevenh-starter-kit-docs into cc65191910e078ebe01732aa7bd27d83e34713f1 on mediarain:master.


Support for CocoaPods

As an alternative to Swift Package Manager.

commit 2ade432859fee052ed5571642320cb7e2fbba5b2 (HEAD -> master, tag: v0.2.0, origin/master, origin/develop, origin/HEAD, develop)
Author: David Pitfield<EMAIL_ADDRESS>Date:   Wed May 1 09:21:27 2019 -0700
CocoaPods support.


upload:env task not executing

current version: Deployer v6.6.0
I have this task defined in my deploy.php file:
task('upload:env', function () {
    upload('.env.staging', '{{deploy_path}}/shared/.env');
})->desc('Environment setup')->onStage('staging');

I have also set this:
set('default_stage', 'staging');

and added a host like this:
host('staging.domain.com')
    ->user('username')
    ->stage('staging')
    ->set('branch', 'master')
    ->set('deploy_path', '/var/www/staging.domain.com');

But the upload:env command cannot be executed:
$ dep upload:env

[Deployer\Exception\Exception]
No task will be executed, because the selected hosts do not meet the conditions of the tasks

Even running dep upload:env staging does not work
What's wrong?

Okay, figured this out myself:
To clarify: I have 2 upload:env tasks. One for staging and one for production.
task('upload:env', function () {
    upload('.env.staging', '{{deploy_path}}/shared/.env');
})->desc('Environment setup')->onStage('staging');

task('upload:env', function () {
    upload('.env.production', '{{deploy_path}}/shared/.env');
})->desc('Environment setup')->onStage('production');

The problem is that one overwrote the other. So I renamed them to upload:env-staging and upload:env-production and added both to the list of tasks.


Can't specify timestream query endpoint

I'm attempting to use this library send queries to timestream. Timestream has a bit of a quirk in that queries against it must be executed on a seperate endpoint that is looked up via a describe API:
https://docs.aws.amazon.com/timestream/latest/developerguide/Using-API.endpoint-discovery.describe-endpoints.implementation.html
Now, the AWS.TimestreamQuery.describe_endpoints method does exist and I can pull the right info from there, but I can't quite figure out how to insert that back into the client for use in the actual query request. The crux of the issue seems to be AWS.Request.build_host which performs one of two functions:

If the region is "local" take whatever endpoint is set in the client.
If the region is anything else combine a prefix taken from some generated metadata with the endpoint specified in the client.

Neither of these work for me. The metadata generated by AWS.TimestreamQuery doesn't refer to the discovered endpoint (which I need to provide) but rather to a fixed point in AWS.
Is there a good way around this? Or, alternatively, a good path forward that I can go implement? Perhaps something that could be added to the supplied options to give me an out to specify an alternative endpoint?

Hi @jonathanhood :wave:
I think an option to override the host is desirable, but I haven't thought about the entire endpoint. I think this can be made by defining a pattern to tell the AWS.Request to "keep" the given endpoint or host.
I think in something like this:
client = %{client | endpoint: {:keep, "mycustomendpoint.amazon.com"}}

It could also be a function at AWS.Client. Maybe AWS.Client.set_custom_endpoint(client, "endpoint").
And at the AWS.Request we would pattern match into the endpoint value and keep it if the client is configured this way. WDYT?

@jonathanhood I implemented a slightly different way to fix this issue. Can you try this with the master branch?
client = AWS.Client.put_endpoint(client, "your-custom-endpoint.com")

And make the request with this client.
This function also accepts a function to build the endpoint manually. You can check the options it accepts in the PR #91 .

I'm closing this. Feel free to re-open if it doesn't work for you. I should publish the package soon.


command rustic-cargo-popup does not exist

In rustic-compilation-mode-map, the key p is mapped to the non-existent command rustic-cargo-popup. Pressing p in a rustic compilation buffer results in the following error:
command-execute: Wrong type argument: commandp, rustic-cargo-popup
Did you actually mean to map the key to rustic-popup?

Did you actually mean to map the key to rustic-popup?

Yes, rustic once used the magit popup. It seems that I decided to change the name of the command when I dropped the magit popup. And I forgot to update the name in rustic-compilation-mode-map. Thanks for the bug report.


Intermittent Incomplete Chunked Encoding Errors on various clients

Can reproduce with clj-http pretty consistently. It seems to fail probabilistically.

Which version?

0.4.1-beta2, I am investigating what commits introduced this behavior now.

It looks like this should be reproducible in 0.4.1-beta1 as well, because beta2 does not introduce any new relevant behavior. Specifically, the code in send-streaming-body in src/aleph/http/core.clj, which closes the body before enqueuing the last message might introduce a race condition.

Your fix seems fine, but what data structure were you using for your streaming body?

I've been seeing it with almost any type of response. But generally a (deferred) ring response.

(So a persistent hash map, before the middleware transform it into a JSON string)

A chunked response should only be used for a streaming body.  A string shouldn't be streamed, unless it's been turned into an InputStream.

Okay, actually, having looked at this a little closer, this doesn't make sense to me.  The call to .execute you're reverting is intended to get rid of a race condition.  If you want to move the call to .close into that function, that's fine, but I'm still a bit confused as to what you're returning, since that function should only be executed when it's an InputStream or something similar.

We're using Compojure to manage our routes. The Renderable protocol has been extended to accept Deferred responses and return them to Aleph for asynchronous processing. An InputStream is being created for the response body internally by Compojure.

Additionally, with the change we encounter no stochastic chunking exceptions. By enqueuing that write-and-flush, it races to the final chunk. It's a very insidious problem - you can see it in 1 out of 100 requests if you're unlucky, but it will happen.

Not that it should ultimately matter what middleware we're using in our application for formatting the response, but I found the LOC where the transformation takes place: https://github.com/ngrunwald/ring-middleware-format/blob/master/src/ring/middleware/format_response.clj#L200

Can you provide a minimal reproducing case for this?  It's certainly possible that my fix caused other issues, but it definitely fixed another class of bug that resembles what you're describing, so I'd like to have something that I can play around with a bit.

That makes sense, I will put together a minimally reproducible test case ASAP for you. Thanks for your help! We use Aleph in production at Vital Labs btw - I think you've met the CEO, Ian Eslick. So big fans here. :)

Thank you for the report, it's definitely something I want to fix before pushing 0.4.1 out the door.

I made a repository you can clone and load locally: https://github.com/VitalLabs/aleph-191.git
I included most of the relevant formatting middleware we use for your perusal, if that is helpful in diagnosing the issue.
The issue is insidious - you shoot off many one off GET requests without issue, it only stochastically fails when you lose the race somewhere. I commented out a piece of code you can run which in my experience will trigger the exception when you eval it.

I'll look into this tonight, thank you.


Contribution request from Business Administration students

Dear contributors of Travel-Mate,
Together with a group of 3 students we are working on a project for our studies. We would like to contribute to Travel-Mate in a way that fits your needs, that does not involve coding.
We can do one of the following contributions:

Test the app and give feedback from our point of view (or i.e. 65+)
Make a small survey about the app and distribute it amongst our peers at the university.
Anything else that fits your needs.

We would like to interview some of your contributors for some background information on the project.
If some of you could help us out we would really appreciate this. We would like a quick response since we have to move on with our project.
Thank you in advance,
Seda and team mates.

@Swati4star user feedback would be a great opportunity to improve the application?

@SedaCTN you can contribute to the project any way you feel comfortable. If you want to discuss a non-technical contribution please email us at<EMAIL_ADDRESS>For technical contributions please feel free to open an issue explaining the exact issue and possibly a Pull Request for the same. Additionally you can pick something from existing list of issues on each repository.
Closing this and hoping for an active contribution 😄


Remove docs build products that were accidentally committed

Hi Leo.  Those aren't accidentally committed; they are intentionally left in the repo so that people have the docs when they download.  Do they really cause a problem, or are you just trimming as much as possible?

The js files generate some debian packaging warnings, though nothing significant. A better solution would be to nuke those files but enable Read The Docs and add a link to your README.

Moved to readthedocs, and nuked these files in bae8a27dcba4059361b41677778c2585b95f88db .

Wow that was fast! That's all I had for today. Thanks!

No problem.  Thanks for curating the Debian package and the v0.2 release.


Login and signature with metamask

Thank you very much for the author's effort!!!
I have a question, how can I ask the dapp to call metamask to get the wallet address and signature. I found the metamask information in the walletconnect registry and put it in the wallet.json file in the project directory, deeplink is metamask:///wc, but nothing happens when I click the Get Wallet Address button to jump to metamask. Am I missing any configuration?

@johnqh


es6 and es files should be read as javascript

neat tool, I noticed currently jscpd ignores es6 files passed in.
es6 and es are sometimes used with tools like babel js.

thank you, will fix

fixed and published to npm


IndexedDB vs WebSQL

**Inspect ** on Chrome to open developer tool, click Resources Tab, you will see WebSQL and IndexedDB

[x] do research about IndexedDB to find out what is IndexedDB
[x] do research about WebSQL to find out what is WebSQL
[x] compare IndexedDB to WebSQL, think about which one is good to store some data.
[x] compare IndexedDB to WebSQL, think about which one is easy to implement.

I just started my research and that's what I've found:
Safari, Chrome 4, and Opera support[7] an alternative mechanism for client-side database storage called Web SQL Database.[8] On November 18, 2010, the W3C announced that the Web SQL database specification has reached an impasse and is no longer being actively worked on.[9] Firefox developers have publicly stated that the lack of WebSQL Database support in Firefox is on purpose, as they believe it is a problematic standard which requires an alternative (hence IndexedDB).[10]
taken from here: https://en.wikipedia.org/wiki/Indexed_Database_API
also here, WebSQL is no longer relevant: https://en.wikipedia.org/wiki/Web_SQL_Database
Thus, I guess, using Web SQL may be not entirely suitable.
Moreover, here is list of browsers supporting WebSQL: http://caniuse.com/#feat=indexeddb
Browsers supporting IndexedDB: http://caniuse.com/#feat=indexeddb
My suggestion is to think and learn more about pouchDB ( https://pouchdb.com/learn.html - works with AngularJS and cordova!). PouchDB supports all modern browsers, using IndexedDB under the hood and falling back to WebSQL where IndexedDB isn't supported.
There is also Couchbase: http://developer.couchbase.com/mobile//
CouchDB: http://docs.couchdb.org/en/1.6.1/intro/why.html
PouchDB, Couchbase, CouchDB, IndexedDB are NoSQL, while our old deprecated WebSQL is. As far as I can assume, we are looking for a NoSQL database as it will be easier to work with JSON?
As for modern embedded relational databases, we have SQLite and MS SQL Server Compact, IMHO, that's not our case.
And what is more to read:
list of NoSQL databases: http://nosql-database.org/
about CouchDB and PouchDB: https://blog.engineyard.com/2014/an-introduction-to-pouchdb
That's all what I've got for today, need to learn and research more myself. Guess my next attempt will happen on Friday as tomorrow I'm busy at work all day long.

Let's rename this issue to: PouchDB vs CouchDB vs Couchbase ^^

well done @raira-mioma !! Make sense!! We can close this one and create a new one called PouchDB vs CouchDB vs Couchbase. I will post this to knowledge channel. Thanks~

Thank you, Clyde)


Add InputObject property to RSJob class

The InputObject property will assist in identifying which job is
processing which piped object.

Looks good. I'll go ahead and merge this.


OggDude Weapon Import dosn't work (since last update?)

My Friends an I have the Problem we can't import Weapons from OggDude. We have tried it multiple times. We also have downloaded the Charcater Generator new to make sure every file is fine but it keep to skip the weapon part (both Personal and Vehicle)

There is a workaround right now but this has been fixed in the dev branch. Comment out the section below fixes the issue.
You can find the file in the system folder under modules/importer/oggdude/importers/weapons.js


SIGSEGV in set_client_ciphersuite

openssl-1.1.1l
When old clients connect it cores in
Program received signal SIGSEGV, Segmentation fault.
#0  0x000000000052b1c8 in OBJ_bsearch_ex_ ()
#1  0x000000000056c165 in OPENSSL_sk_find ()
#2  0x000000000049dbea in set_client_ciphersuite ()
#3  0x000000000049fca6 in tls_process_server_hello ()
#4  0x00000000004a2ab5 in ossl_statem_client_process_message ()
#5  0x000000000049c3dd in state_machine ()
#6  0x0000000000488818 in SSL_do_handshake ()
#7  0x000000000046adbc in tls_cont_clauth (node=0x19175d0) at tls.c:705

705             status = SSL_connect(node->ctx);

Calling           SSL_CTX_set_cipher_list(tls_ctx, "ALL:!SSLv3").   If I just go with ANY it still crashes, just in a slightly different area, still inside set_client_ciphersuite().
Is there a work around to avoid core dumps?

The stack trace indicates that it is the client that is crashing, not the server.
But you say both that OpenSSL 1.1.1l is used and that "old clients connect", so I don't know if the clients that are crashing are the 1.1.1l ones or other ones.
This code should not core dump (hopefully that goes without saying), and so I think we need to know a bit more about the environment you're running in to be able to speculate as to fixes or workarounds.
Is this by any chance a multithreaded application, with other threads using the tls_ctx at the same time?
I suppose one potential workaround would be to use SSL_set_cipher_list() instead of SSL_CTX_set_cipher_list(), to allocate a structure that is local to the SSL object, and avoid this access to the SSL_CTX.  But that would not be expected to eliminate all problems, if there are multiple threads involved, as there are other paths that might access the shared SSL_CTX in a different location of the code.
Note that once an SSL object has been created that refers to a given SSL_CTX, that SSL_CTX must not subsequently have its configuration modified.

This is a FTP daemon so initial connection is FTP client->FTP server, but sometimes the SSL connection is in the "other direction" with FTPD (SSL_connect) to Client (old SSL) - depending on PORT or PASV direction.
I just compiled OpenSSL with "./config -static -d" to enable debug to help with the report, but it has not yet decided to crash, which is somewhat inconvenient. I'll report back if I can get a better stack.

The sources are rather old, so I can believe my code is doing something wrong, anyway, enough disclaimers;
Program received signal SIGSEGV, Segmentation fault.
0x000000000054cda8 in OBJ_bsearch_ex_ (key=0x7fffffffe0f0, base_=0x637365202076742e,
    num=773861664, size=8, cmp=0x6365442032332020, flags=2)
    at crypto/objects/obj_dat.c:604
604             c = (*cmp) (key, p);

Which seems a bit odd, weird looking cmp function ptr. Walking up:
(gdb) up
#1  0x0000000000596176 in internal_find (st=0xb35f60, data=0x999df0, ret_val_options=2)
    at crypto/stack/stack.c:310
310         r = OBJ_bsearch_ex_(&data, st->data, st->num, sizeof(void *), st->comp,
(gdb) p st->comp
$2 = (OPENSSL_sk_compfunc) 0x6365442032332020

Maybe I forgot to call init on something there? Apologies for the size of the structs here:
1034            return tls_process_server_hello(s, pkt);
(gdb) p s
$3 = (SSL *) 0xb00af0
(gdb) p *s
$4 = {version = 771, method = 0x6b89c0, rbio = 0xb2a150, wbio = 0xb15f90,
  bbio = 0xb15f90, rwstate = 1, handshake_func = 0x4a70bf <ossl_statem_connect>,
  server = 0, new_session = 0, quiet_shutdown = 0, shutdown = 0, statem = {
    state = MSG_FLOW_READING, write_state = WRITE_STATE_TRANSITION,
    write_state_work = WORK_FINISHED_CONTINUE, read_state = READ_STATE_BODY,
    read_state_work = WORK_ERROR, hand_state = TLS_ST_CR_SRVR_HELLO,
    request_state = TLS_ST_BEFORE, in_init = 1, read_state_first_init = 0,
    in_handshake = 1, cleanuphand = 0, no_cert_verify = 0, use_timer = 0,
    enc_write_state = ENC_WRITE_STATE_VALID, enc_read_state = ENC_READ_STATE_VALID},
  early_data_state = SSL_EARLY_DATA_NONE, init_buf = 0xb2a1d0, init_msg = 0xb62414,
  init_num = 57, init_off = 0, s3 = 0xae8840, d1 = 0x0, msg_callback = 0,
  msg_callback_arg = 0x0, hit = 0, param = 0xb18b20, dane = {dctx = 0x0, trecs = 0x0,
    certs = 0x0, mtlsa = 0x0, mcert = 0x0, umask = 0, mdpth = -1, pdpth = -1,
    flags = 0}, peer_ciphers = 0x0, cipher_list = 0xb50c10,
  cipher_list_by_id = 0xb35f60, tls13_ciphersuites = 0xb19b20, mac_flags = 0,
  early_secret = '\000' <repeats 63 times>,
  handshake_secret = '\000' <repeats 63 times>,
  master_secret = '\000' <repeats 63 times>,
  resumption_master_secret = '\000' <repeats 63 times>,
  client_finished_secret = '\000' <repeats 63 times>,
  server_finished_secret = '\000' <repeats 63 times>,
  server_finished_hash = '\000' <repeats 63 times>,
  handshake_traffic_hash = '\000' <repeats 63 times>,
  client_app_traffic_secret = '\000' <repeats 63 times>,
  server_app_traffic_secret = '\000' <repeats 63 times>,
  exporter_master_secret = '\000' <repeats 63 times>,
  early_exporter_master_secret = '\000' <repeats 63 times>, enc_read_ctx = 0x0,
  read_iv = '\000' <repeats 15 times>, read_hash = 0x0, compress = 0x0, expand = 0x0,
  enc_write_ctx = 0x0, write_iv = '\000' <repeats 15 times>, write_hash = 0x0,
  cert = 0xb18900, cert_verify_hash = '\000' <repeats 63 times>,
  cert_verify_hash_len = 0, hello_retry_request = SSL_HRR_NONE, sid_ctx_length = 1,
  sid_ctx = "1", '\000' <repeats 30 times>, session = 0xb50790, psksession = 0x0,
  psksession_id = 0x0, psksession_id_len = 0, generate_session_id = 0,
  tmp_session_id = "\332+\naV\335\373T\211\037\033\276\261\276\331q\\l\347\312\343c\002.s\315\065\310\343\343AP", tmp_session_id_len = 32, verify_mode = 0,
  verify_callback = 0, info_callback = 0, error = 0, error_code = 0,
  psk_client_callback = 0, psk_server_callback = 0, psk_find_session_cb = 0,
  psk_use_session_cb = 0, ctx = 0xa055f0, verified_chain = 0x0, verify_result = 0,
  ex_data = {sk = 0x0}, ca_names = 0x0, client_ca_names = 0x0, references = 1,
---Type <return> to continue, or q <return> to quit---
  options = 34736132, mode = 4, min_proto_version = 0, max_proto_version = 0,
  max_cert_list = 102400, first_packet = 0, client_version = 771,
  split_send_fragment = 16384, max_send_fragment = 16384, max_pipelines = 0, ext = {
    extflags = "\000\000\000\000\002\002\002\000\000\000\000\002\000\002\000\000\002\002\002\002\000\000\000\000\000", debug_cb = 0, debug_arg = 0x0, hostname = 0x0,
    status_type = -1, scts = 0x0, scts_len = 0, status_expected = 0, ocsp = {
      ids = 0x0, exts = 0x0, resp = 0x0, resp_len = 0}, ticket_expected = 0,
    ecpointformats_len = 0, ecpointformats = 0x0, peer_ecpointformats_len = 0,
    peer_ecpointformats = 0x0, supportedgroups_len = 0, supportedgroups = 0x0,
    peer_supportedgroups_len = 0, peer_supportedgroups = 0x0, session_ticket = 0x0,
    session_ticket_cb = 0, session_ticket_cb_arg = 0x0, session_secret_cb = 0,
    session_secret_cb_arg = 0x0, alpn = 0x0, alpn_len = 0, npn = 0x0, npn_len = 0,
    psk_kex_mode = 2, use_etm = 0, early_data = 0, early_data_ok = 0,
    tls13_cookie = 0x0, tls13_cookie_len = 0, cookieok = 0,
    max_fragment_len_mode = 0 '\000', tick_identity = 0}, clienthello = 0x0,
  servername_done = 0, ct_validation_callback = 0, ct_validation_callback_arg = 0x0,
  scts = 0x0, scts_parsed = 0, session_ctx = 0xa055f0, srtp_profiles = 0x0,
  srtp_profile = 0x0, renegotiate = 0, key_update = -1,
  post_handshake_auth = SSL_PHA_NONE, pha_enabled = 0, pha_context = 0x0,
  pha_context_len = 0, certreqs_sent = 0, pha_dgst = 0x0, srp_ctx = {SRP_cb_arg = 0x0,
    TLS_ext_srp_username_callback = 0, SRP_verify_param_callback = 0,
    SRP_give_srp_client_pwd_callback = 0, login = 0x0, N = 0x0, g = 0x0, s = 0x0,
    B = 0x0, A = 0x0, a = 0x0, b = 0x0, v = 0x0, info = 0x0, strength = 1024,
    srp_Mask = 0}, not_resumable_session_cb = 0, rlayer = {s = 0xb00af0,
    read_ahead = 0, rstate = 240, numrpipes = 1, numwpipes = 1, rbuf = {
      buf = 0xb67970 "", default_len = 0, len = 16712, offset = 69, left = 0}, wbuf = {
      {buf = 0xb6bac0 "", default_len = 0, len = 16476, offset = 360, left = 0}, {
        buf = 0x0, default_len = 0, len = 0, offset = 0,
        left = 0} <repeats 31 times>}, rrec = {{rec_version = 771, type = 22,
        length = 0, orig_len = 61, off = 0, data = 0xb67978 "\002",
        input = 0xb67978 "\002", comp = 0x0, read = 1, epoch = 0,
        seq_num = "\000\000\000\000\000\000\000"}, {rec_version = 0, type = 0,
        length = 0, orig_len = 0, off = 0, data = 0x0, input = 0x0, comp = 0x0,
        read = 0, epoch = 0,
        seq_num = "\000\000\000\000\000\000\000"} <repeats 31 times>},
    packet = 0xb67973 "\026\003\003", packet_length = 0, wnum = 0,
    handshake_fragment = "\000\000\000", handshake_fragment_len = 0,
    empty_record_count = 0, wpend_tot = 352, wpend_type = 22, wpend_ret = 352,
    wpend_buf = 0xb62410 "\002", read_sequence = "\000\000\000\000\000\000\000",
---Type <return> to continue, or q <return> to quit---
    write_sequence = "\000\000\000\000\000\000\000", is_first_record = 0,
    alert_count = 0, d = 0x0}, default_passwd_callback = 0,
  default_passwd_callback_userdata = 0x0, job = 0x0, waitctx = 0x0, asyncrw = 0,
  max_early_data = 0, recv_max_early_data = 16384, early_data_count = 0,
  record_padding_cb = 0, record_padding_arg = 0x0, block_padding = 0, lock = 0xb19b00,
  num_tickets = 2, sent_tickets = 0, next_ticket_nonce = 0, allow_early_data_cb = 0,
  allow_early_data_cb_data = 0x0, shared_sigalgs = 0x0, shared_sigalgslen = 0}

(gdb) p *pkt
$5 = {curr = 0xb6244d "", remaining = 0}

Tried openssl-3.0.0 and have had no crashes, so we have at least a work around, and early adoption of 3.

Program received signal SIGSEGV, Segmentation fault.
0x000000000054cda8 in OBJ_bsearch_ex_ (key=0x7fffffffe0f0, base_=0x637365202076742e,
num=773861664, size=8, cmp=0x6365442032332020, flags=2)
at crypto/objects/obj_dat.c:604
604             c = (*cmp) (key, p);

That `key=0x7fffffffe0f0` looks pretty suspicious; I bet you can't dereference it.

Confirming what `s->ctx->cipher_list` looks like might still be worthwhile, but that's a bunch of `p sk_SSL_CIPHER_num(s->ctx->cipher_list)` and `p *sk_SSL_CIPHER_value(s->ctx->cipher_list, 0)`, `p *sk_SSL_CIPHER_value(s->ctx->cipher_list, 1)`, ... to run through by hand.


Refactor physical addresses, Fixes #483

I also added validation that super/inverse properties have to be the same type as the source property (i.e. ObjectProperty can't have a DatatypeProperty as a super-property). I did not, however, mandate that the parent or inverse are defined, in case we are referencing a property defined elsewhere. Let me know if this is something we want to enforce - it would prevent referencing an unresolved URI due to a typo. Might want to also add referential integrity checks for classes at some point (e.g. subClassOf or disjointWith).

@sa-bpelakh Can you please resolve the conflicts with the release notes before I review the PR? Thanks.

@rjyounes @uscholdm All merge conflicts have been resolved, and the PR is now ready for review.

In general we do not encourage defining inverses, so I don't see any reason to define ones we don't already have just for the sake of symmetry with the ones we already have.

I agree. No inverse properties unless there is a specific reason to have them. I was telling this to the Dupont folk at ontology training today!

At gist issue review meeting, we agreed that removing "pseudo-address" from the scope note and specifying "fixed physical address" in the definition and scope note addresses the problems.

How about
	skos:definition "An address which can be found at a fixed location in the physical world."^^xsd:string ;
	skos:scopeNote "Unlike the superclass, this does not include postal address which are not associated with a fixed location, such as PO Box or FPO code."^^xsd:string ;

Note that an address is a reference, not a place. Proposed
DECISION:

Annotations for class StreetAddress:

skos:definition "An address which references a fixed location in the physical world."
skos:scopeNote "This excludes addresses not associated with a fixed location, such as a PO box or FPO code."

Remove hasPhysicalAddress. This will just be implied by the object of hasAddress. Note that hasCommunicationAddress should be defined independently, since it applies to a person or organization, not just physical places.

@sa-bpelakh I found a couple of good examples of non-building  street addresses in related issue #301: cemeteries and campgrounds. You might include these in the skos:example of StreetAddress.

I did not, however, mandate that the parent or inverse are defined, in case we are referencing a property defined elsewhere. Let me know if this is something we want to enforce - it would prevent referencing an unresolved URI due to a typo.

It might be worth keeping as a warning, not an error, since much or most of the time it would not be intended.

I closed the PR accidentally, then reopened immediately.


Freeze all python requirements versions

Previously, we pinned only the versions of the most critical packages, but we've often had breakages because a package silently updated to an incompatible version. This PR pins all the requirements to specific versions.
Currently failing tests

Merging since the service is probably 502ing because of this.


Prod build not loading (minification errors) in a clean project

It seems like ng build -prod doesn't minify things correctly. I first had some issues with prod builds trying to load individual files in my app (and getting 404s), so in order to check if it's something I did or not I tried creating an empty project with a single route and building that, and promptly encountered an error preventing me from testing further.

OS?
El Capitan

Versions
angular-cli: 0.0.39
node: 4.1.2
os: darwin x64

Repro steps
ng new testapp
cd testapp
ng g route someroute
ng build -prod
Serve dist folder in whatever way (ng serve -prod, nginx, python server etc)

The log given by the failure
main.js:11 ORIGINAL EXCEPTION: No provider for a!b.logError @ main.js:11a.call @ main.js:21(anonymous function) @ main.js:18ZoneDelegate.invoke @ zone.js:323onInvoke @ main.js:17ZoneDelegate.invoke @ zone.js:322Zone.run @ zone.js:216(anonymous function) @ zone.js:571ZoneDelegate.invokeTask @ zone.js:356onInvokeTask @ main.js:17ZoneDelegate.invokeTask @ zone.js:355Zone.runTask @ zone.js:256drainMicroTaskQueue @ zone.js:474ZoneTask.invoke @ zone.js:426
main.js:11 ORIGINAL STACKTRACE:b.logError @ main.js:11a.call @ main.js:21(anonymous function) @ main.js:18ZoneDelegate.invoke @ zone.js:323onInvoke @ main.js:17ZoneDelegate.invoke @ zone.js:322Zone.run @ zone.js:216(anonymous function) @ zone.js:571ZoneDelegate.invokeTask @ zone.js:356onInvokeTask @ main.js:17ZoneDelegate.invokeTask @ zone.js:355Zone.runTask @ zone.js:256drainMicroTaskQueue @ zone.js:474ZoneTask.invoke @ zone.js:426
main.js:11 Error: DI Exception
at b [as constructor] (main.js:21)
at b [as constructor] (main.js:20)
at new b (main.js:20)
at a._throwOrNull (main.js:19)
at a._getByKeyDefault (main.js:19)
at a._getByKey (main.js:19)
at a.get (main.js:19)
at b.get (main.js:18)
at b._View_a0.createInternal (a.template.js:24)
at b.a.create (main.js:18)

That's with the version I just got from npm, I'll try updating to the beta and see if that solves the issue.

Can't use ng g route in the newest version, so I can't to the exact same test, but without that it works with beta 8.


Typo AVERAGE to AVG as support aggregated function

#label:"aq-pr-triaged"

Typo AVERAGE to AVG as support aggregated function

@vishwajeetdusane : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks a lot @normesta


Replace Travis with GitHub Actions in ciManagement

Coverage remained the same at 100.0% when pulling b47db3f03f0acea2e51f49e892f3f96ecaa7a3f9 on jeffgbutler:master into 3d7b9211c6f29da48ae948ef13743fe837f79c3a on mybatis:master.


When can we see the code of PolarBEV?

No description provided.
Thanks for your interest at our work. The code will be released at Sep.

Thank you for your reply

I'm very interested in this paper, and after I read this paper I have some questions.
First, how can we iterate  to update query embedding q(mentioned in 3.3)?
Second, after we get the image features, how can we use it? concatenate with previous one?
I would appreciate it if you could draw a simple network framework, I think it will help me understand this paper better.

I'm very interested in this paper, and after I read this paper I have some questions. First, how can we iterate to update query embedding q(mentioned in 3.3)? Second, after we get the image features, how can we use it? concatenate with previous one? I would appreciate it if you could draw a simple network framework, I think it will help me understand this paper better.

Sorry for the late reply. The query embedding $q$ are updated by sampling the 2D image features with the 2D-to-3D Feature Transformation.

HI, I also interested in your work. According to your description, I draw a simple network framework. Can you help me check if it is correct?

HI, I also interested in your work. According to your description, I draw a simple network framework. Can you help me check if it is correct?

Yes, it is almost right except for missing the Ring Convolution after the transformation and iterating the whole process several times.

I get it, thank you for your reply!


Is is possible to insert a space between the icons and the text?

I was wondering if it is possible to insert a space between the icon and the text. I ask this because it seems kind of crammed

Is there a way of configuring this without changing the font?

Should be available in the next release as a config option. https://github.com/Peltoche/lsd/pull/469


Tree Shaking localization in Chinese has a grammar issue

Feature to document
tree shaking: https://webpack.docschina.org/guides/tree-shaking/
multiple '代码' provided
It should be <这样会允许去掉这
'+段'
'-代码'
代码，但仍然会有一些导入的问题需要被包括/评估，因为它们包含了副作用。>
Additional information

[Y] I am willing to work on this issue and submit a pull request.

Please open an issue on https://github.com/docschina/webpack.js.org/issues, it can't be fixed in this repository.

Got it and I had open a new issue in the mentioned repo


Allow removing a keybind

This is done by introducing a new Command::None, which does nothing and also doesn't appear in the help menu.
To remove a default or any previously defined keybind, simply set its command like this:
[[keymaps]]
command = "None"
key_sequence = "q"

Just fixed the formatting error causing the pipeline to fail.

Oof, sorry about that. Fixed.


Add Pluralsight 👩💻

Pluralsight is mostly a paid platform.

Pluralsight is mostly a paid platform.


Can't watch anime

Steps to reproduce

I don't know how to fix this.
Expected behavior
Fixed.
Actual behavior
It suddenly happens, it wont play any anime
Crash logs
No response
Aniyomi version
<IP_ADDRESS>
Android version
Android 8
Device
Vivo y18i
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have tried the troubleshooting guide.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

This is not an issue with the app, the domain dood.ws is being blocked by your ISP. Try using a vpn service or a different DNS server.


gulp-sequence

Hi.
Sorry is this is a silly question, but what's the advantage for using gulp-sequence over run-sequence?
Thanks!

I'm not sure. I think I've used both and landed on gulp-sequence for reasons I can't recall.


Make vec_slice not copy a vec

The vec_slice function is currently pretty expensive to use because it creates copies of the range of the vec being sliced.
This is surprising, since most of the time slicing native vec/array-like collection types results in a reference to the point in another vec.
We could make vec_slice behave like this.
Note that this also might allow us to improve the vec iterator by being able to revert https://github.com/stellar/rs-soroban-sdk/pull/999 and returning it to simply doing a slice, although it might not be more performance for that specific use case, so we shouldn't change vec_slice only for the vec iter.
Related to https://github.com/stellar/rs-soroban-env/issues/696

Discussed this with @leighmcculloch and this is high priority issue that should be done in V1.

Since the iterator is no longer slicing this is less of an issue, and I think the cost and complexity of doing this on the host exceeds the potential win. Note that most PLs that have had default-refcounted slices have either abandoned it entirely as a bad trade, or abandoned it for small-vector cases, and all of our vectors will be small. In the rare case users want this sort of thing they can bake it themselves in the SDK with a type that augments a vector reference with a pos,offset pair.


Added shell-option on processor.js

I wanted to record 4 IP-streams with 4 instances of ffmpeg. Only 3 instances could be spawned successfully.
When I added the option to add 'run' in the shell (because that's what this option does), the bug was fixed and I can record 4 IP-streams.

Hi, and thanks for the PR.
I won't merge it, though, because it doesn't fix a fluent-ffmpeg bug or add a new feature. The behaviour you're having is most likely due to system limitations, and the problem should be visible in the error messages you get when trying to spawn 4 instances.
Please open an issue instead, including all error messages you get and example code, so we can help you track down the actual problem.


allow_dash fails to allow dash due to readable check

When passing in '-' as a parameter to a click.Path type (allowed in click 6.0), the convert method will fail on a check for whether the file is readable as it simply asks whether os.access('-', os.R_OK) is True. This PR corrects this and adds some tests for allow_dash.

Sorry about that. My local Python 3 was failing. Should have fixed that before pushing a PR.

Can you squash merge the pull request and remove the .cache change?

Done.

Just wanted to bump this. More than happy to make any other changes if you like.
Thanks for your time.
Kevin

Please open a new PR if this is still an issue.


ci: fix typescript for master

:tada: This PR is included in version 1.8.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Tree connection bug?

Path of the savant is not connected to the ES wheel.
Not sure if this is intended one way or another.

Fixed this


why the method got deprecated?

Why the method got deprecated?
With this alternative approach it's so inefficient to get stake activation. Several rpc calls are performed under the hood..

The concept is that it's possible to calculate stake activation on the client side with a few accounts, so the RPC can avoid the extra work and instead push the work to the client.
Although it does require more round trips to the RPC to calculate the stake activation for 1 account, the cost gets amortized if you do many accounts and reuse the sysvars.

Closing, feel free to reopen if you have any other questions


Problem with resizing the filesystem

I just bought a new Sandisk Ultra 16GB MicroSDHC card with an SD adaptor and installed Raspbian onto it. For the first time, it booted fine. Then I resized the filesystem with this tool, and rebooted. It didn't boot anymore, it only gave hundreds of "error -110 transferring data" errors. So, I formatted the card, reinstalled the OS and tried again. The same thing happened. I reinstalled the OS again, and performed a manual resize of the filesystem (with fdisk and resize2fs). It worked.
It seems like that in some cases, the tool doesn't work properly. Could someone investigate this?

@gyeben is this still an issue? If not, please close this issue. Thanks.


How can i save a figure with Scatter?

Hello! I was trying to save a figure in this manner, but actually I get this error:
Scatter' object has no attribute 'savefig
plot = Scatter()
plot.add(res.F, color="red")
plot.savefig(fig_path+ "\"+ "Obj_function.png",bbox_inches='tight')
plot.show()
Any idea of other way to save the figure I see the documentation:
https://pymoo.org/visualization/scatter.html
But there is any parameter to this functionality.
Thanks for pymoo!

Ok i find that you can use the command save
plot = Scatter()
plot.add(res.F, color="red")
plot.save(fig_path+ ""+ "Obj_function.png",bbox_inches='tight')
plot.show()


Remove rules around "template.jsonnet"

Is it really needed? The extension should make it clear which file is the template.

Answer: remove. Simplifies code, and the practice creates ambiguity about naming conventions.

Fixed with #27


Add script to extract locale strings

@bpostlethwaite ready for a look
cc @alexcjohnson

yeah, I can remove the translations, I believe @alexcjohnson committed them in the plotly.js repo, but it's true, it's not really necessary

ok, made the changes @bpostlethwaite @alexcjohnson mergeable?

💃

nice work! :dancer: